webstudio 0.216.0 → 0.218.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
@@ -28,9 +28,8 @@ import { parseExpressionAt } from "acorn";
28
28
  import { simple } from "acorn-walk";
29
29
  import reservedIdentifiers from "reserved-identifiers";
30
30
  import { kebabCase, camelCase } from "change-case";
31
- import "nanoid";
32
31
  import { parseFragment, defaultTreeAdapter } from "parse5";
33
- import { x as x$4 } from "tinyexec";
32
+ import { x as x$3 } from "tinyexec";
34
33
  import makeCLI from "yargs";
35
34
  const GLOBAL_CONFIG_FOLDER = envPaths("webstudio").config;
36
35
  const GLOBAL_CONFIG_FILE_NAME = "webstudio-config.json";
@@ -1670,6 +1669,7 @@ var MinusIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0
1670
1669
  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>`;
1671
1670
  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>`;
1672
1671
  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>`;
1672
+ var PlayIcon = `<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 2 9.333 6L4 14V2Z"/></svg>`;
1673
1673
  var PopoverIcon = `<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 6V4a1.334 1.334 0 0 0-1.333-1.333h-10A1.333 1.333 0 0 0 1.333 4v6.667c0 .733.6 1.333 1.334 1.333h2.666"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M13.333 8.667h-4C8.597 8.667 8 9.264 8 10v2c0 .736.597 1.333 1.333 1.333h4c.737 0 1.334-.597 1.334-1.333v-2c0-.736-.597-1.333-1.334-1.333Z"/></svg>`;
1674
1674
  var RadioCheckedIcon = `<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 14.5a6.5 6.5 0 1 0 0-13 6.5 6.5 0 0 0 0 13Z"/><path fill="currentColor" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M10.5 8a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0Z"/></svg>`;
1675
1675
  var RadioGroupIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" width="100%" height="100%" style="display: block;"><path fill="#000" stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M8.839 8a1.82 1.82 0 1 1-3.64 0 1.82 1.82 0 0 1 3.64 0Z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M7.019 13.027a5.027 5.027 0 1 0 0-10.054 5.027 5.027 0 0 0 0 10.054Z"/><path stroke="#000" stroke-linecap="round" d="M12.629 12.077v0a6.73 6.73 0 0 0-.337-8.565v0"/></svg>`;
@@ -1695,7 +1695,6 @@ var WebhookFormIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewB
1695
1695
  var WindowInfoIcon = `<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 2ZM8 11.516V7.853"/><rect width="1.4" height="1.4" x="7.3" y="4.484" fill="currentColor" rx=".7"/></svg>`;
1696
1696
  var WindowTitleIcon = `<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 4H3.333C2.597 4 2 4.497 2 5.111v7.778C2 13.503 2.597 14 3.333 14h9.334c.736 0 1.333-.498 1.333-1.111V5.11C14 4.497 13.403 4 12.667 4ZM4 2h8"/></svg>`;
1697
1697
  var XmlIcon = `<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.163 9.02v-4L8.83 1.686h-5.5A1.333 1.333 0 0 0 1.997 3.02v6"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M8.164 2.186v1.667a1.333 1.333 0 0 0 1.333 1.333h2.667M1.997 11.314l3 3M4.997 11.314l-3 3M6.997 14.314v-3l1.5 1.523 1.5-1.523v3M12.163 11.314v3h1.84"/></svg>`;
1698
- var Youtube1cIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 16 16" width="100%" height="100%" style="display: block;"><path fill-rule="evenodd" d="M13.47 3.299a1.771 1.771 0 0 1 1.238 1.263C15 5.675 15 8 15 8s0 2.325-.293 3.438a1.771 1.771 0 0 1-1.238 1.263C12.38 13 8 13 8 13s-4.378 0-5.47-.299a1.771 1.771 0 0 1-1.237-1.263C1 10.325 1 8 1 8s0-2.325.293-3.438A1.771 1.771 0 0 1 2.53 3.299C3.622 3 8 3 8 3s4.378 0 5.47.299Zm-3.232 4.7L6.6 10.144V5.857L10.238 8Z" clip-rule="evenodd"/></svg>`;
1699
1698
  var YoutubeIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" viewBox="0 0 16 16" width="100%" height="100%" style="display: block;"><path d="M.892 11.528a18.047 18.047 0 0 1 0-7.482A1.496 1.496 0 0 1 1.94 3a37.082 37.082 0 0 1 12.12 0 1.497 1.497 0 0 1 1.048 1.047 18.046 18.046 0 0 1 0 7.482 1.497 1.497 0 0 1-1.048 1.048 37.077 37.077 0 0 1-12.12 0 1.497 1.497 0 0 1-1.048-1.048Z"/><path d="m6.5 10.3 4-2.4-4-2.4v4.8Z"/></svg>`;
1700
1699
  var AssetId = z.string();
1701
1700
  var baseAsset = {
@@ -1867,31 +1866,6 @@ var Instance = z.object({
1867
1866
  children: z.array(InstanceChild)
1868
1867
  });
1869
1868
  z.map(InstanceId, Instance);
1870
- var MatcherRelation = z.union([
1871
- z.literal("ancestor"),
1872
- z.literal("parent"),
1873
- z.literal("self"),
1874
- z.literal("child"),
1875
- z.literal("descendant")
1876
- ]);
1877
- var MatcherOperation = z.object({
1878
- $eq: z.string().optional(),
1879
- $neq: z.string().optional(),
1880
- $in: z.array(z.string()).optional(),
1881
- $nin: z.array(z.string()).optional()
1882
- });
1883
- var Matcher = z.object({
1884
- relation: MatcherRelation,
1885
- component: MatcherOperation.optional(),
1886
- tag: MatcherOperation.optional(),
1887
- text: z.literal(false).describe(
1888
- `
1889
- To disallow text editing on a container instance,
1890
- use: { relation: 'child', text: false }
1891
- `
1892
- ).optional()
1893
- });
1894
- var Matchers = z.union([Matcher, z.array(Matcher)]);
1895
1869
  var DataSourceId = z.string();
1896
1870
  var DataSourceVariableValue = z.union([
1897
1871
  z.object({
@@ -2495,91 +2469,6 @@ var PropMeta = z.union([
2495
2469
  TextContent,
2496
2470
  AnimationAction
2497
2471
  ]);
2498
- var EmbedTemplateText = z.object({
2499
- type: z.literal("text"),
2500
- value: z.string(),
2501
- placeholder: z.boolean().optional()
2502
- });
2503
- var EmbedTemplateExpression = z.object({
2504
- type: z.literal("expression"),
2505
- value: z.string()
2506
- });
2507
- var EmbedTemplateVariable = z.object({
2508
- alias: z.optional(z.string()),
2509
- initialValue: z.unknown()
2510
- });
2511
- var EmbedTemplateProp = z.union([
2512
- z.object({
2513
- type: z.literal("number"),
2514
- name: z.string(),
2515
- value: z.number()
2516
- }),
2517
- z.object({
2518
- type: z.literal("string"),
2519
- name: z.string(),
2520
- value: z.string()
2521
- }),
2522
- z.object({
2523
- type: z.literal("boolean"),
2524
- name: z.string(),
2525
- value: z.boolean()
2526
- }),
2527
- z.object({
2528
- type: z.literal("string[]"),
2529
- name: z.string(),
2530
- value: z.array(z.string())
2531
- }),
2532
- z.object({
2533
- type: z.literal("json"),
2534
- name: z.string(),
2535
- value: z.unknown()
2536
- }),
2537
- z.object({
2538
- type: z.literal("expression"),
2539
- name: z.string(),
2540
- code: z.string()
2541
- }),
2542
- z.object({
2543
- type: z.literal("parameter"),
2544
- name: z.string(),
2545
- variableName: z.string(),
2546
- variableAlias: z.optional(z.string())
2547
- }),
2548
- z.object({
2549
- type: z.literal("action"),
2550
- name: z.string(),
2551
- value: z.array(
2552
- z.object({
2553
- type: z.literal("execute"),
2554
- args: z.optional(z.array(z.string())),
2555
- code: z.string()
2556
- })
2557
- )
2558
- })
2559
- ]);
2560
- var EmbedTemplateStyleDeclRaw = z.object({
2561
- // State selector, e.g. :hover
2562
- state: z.optional(z.string()),
2563
- property: z.string(),
2564
- value: StyleValue
2565
- });
2566
- var EmbedTemplateStyleDecl = EmbedTemplateStyleDeclRaw;
2567
- var EmbedTemplateInstance = z.lazy(
2568
- () => z.object({
2569
- type: z.literal("instance"),
2570
- component: z.string(),
2571
- label: z.optional(z.string()),
2572
- variables: z.optional(z.record(z.string(), EmbedTemplateVariable)),
2573
- props: z.optional(z.array(EmbedTemplateProp)),
2574
- styles: z.optional(z.array(EmbedTemplateStyleDecl)),
2575
- children: WsEmbedTemplate
2576
- })
2577
- );
2578
- var WsEmbedTemplate = z.lazy(
2579
- () => z.array(
2580
- z.union([EmbedTemplateInstance, EmbedTemplateText, EmbedTemplateExpression])
2581
- )
2582
- );
2583
2472
  var PresetStyleDecl = z.object({
2584
2473
  // State selector, e.g. :hover
2585
2474
  state: z.optional(z.string()),
@@ -2617,6 +2506,7 @@ var defaultStates = [
2617
2506
  { selector: ":focus-visible", label: "Focus Visible" },
2618
2507
  { selector: ":focus-within", label: "Focus Within" }
2619
2508
  ];
2509
+ var ComponentContent = z.string();
2620
2510
  var ContentModel = z.object({
2621
2511
  /*
2622
2512
  * instance - accepted by any parent with "instance" in children categories
@@ -2624,23 +2514,21 @@ var ContentModel = z.object({
2624
2514
  */
2625
2515
  category: z.union([z.literal("instance"), z.literal("none")]),
2626
2516
  /**
2627
- * transparent - pass through possible children from parent
2628
- * rich-text - can be edited as rich text
2629
- * instance - other instances accepted
2630
- * ComponentName - accept specific components with none category
2517
+ * enforce direct children of category or components
2518
+ */
2519
+ children: z.array(ComponentContent),
2520
+ /**
2521
+ * enforce descendants of category or components
2631
2522
  */
2632
- children: z.array(z.string())
2523
+ descendants: z.array(ComponentContent).optional()
2633
2524
  });
2634
2525
  z.object({
2635
2526
  category: z.enum(componentCategories).optional(),
2636
- // container - can accept other components with dnd or be edited as text ..
2637
- type: z.enum(["container"]).optional(),
2638
2527
  /**
2639
2528
  * a property used as textual placeholder when no content specified while in builder
2640
2529
  * also signals to not insert components inside unless dropped explicitly
2641
2530
  */
2642
2531
  placeholder: z.string().optional(),
2643
- constraints: Matchers.optional(),
2644
2532
  contentModel: ContentModel.optional(),
2645
2533
  // when this field is specified component receives
2646
2534
  // prop with index of same components withiin specified ancestor
@@ -2719,7 +2607,6 @@ var blockMeta = {
2719
2607
  contentModel: {
2720
2608
  category: "instance",
2721
2609
  children: [blockTemplateComponent, "instance"]
2722
- // @todo prevent deleting block template
2723
2610
  }
2724
2611
  };
2725
2612
  var coreMetas = {
@@ -4166,7 +4053,9 @@ var standardAttributesToReactProps = {
4166
4053
  y: "y",
4167
4054
  ychannelselector: "yChannelSelector",
4168
4055
  z: "z",
4169
- zoomandpan: "zoomAndPan"
4056
+ zoomandpan: "zoomAndPan",
4057
+ // added by us
4058
+ dirname: "dirName"
4170
4059
  };
4171
4060
  var generateAction = ({
4172
4061
  scope,
@@ -4678,18 +4567,16 @@ const htmlToJsx = (html2) => {
4678
4567
  }
4679
4568
  return result;
4680
4569
  };
4681
- const e$5 = {
4570
+ const e$3 = {
4682
4571
  category: "general",
4683
- type: "container",
4684
4572
  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.",
4685
4573
  icon: SlotComponentIcon,
4686
4574
  order: 5
4687
4575
  };
4688
- const o$5 = {
4689
- type: "container",
4576
+ const o$2 = {
4690
4577
  icon: ""
4691
4578
  };
4692
- const e$4 = {
4579
+ const e$2 = {
4693
4580
  className: { required: false, control: "text", type: "string" },
4694
4581
  clientOnly: { required: false, control: "boolean", type: "boolean" },
4695
4582
  code: { required: true, control: "text", type: "string" },
@@ -4699,9 +4586,8 @@ const e$4 = {
4699
4586
  type: "boolean"
4700
4587
  }
4701
4588
  };
4702
- const r$8 = {
4589
+ const r$b = {
4703
4590
  category: "general",
4704
- type: "container",
4705
4591
  label: "HTML Embed",
4706
4592
  description: "Used to add HTML code to the page, such as an SVG or script.",
4707
4593
  icon: EmbedIcon,
@@ -4725,13 +4611,13 @@ const r$8 = {
4725
4611
  };
4726
4612
  ({
4727
4613
  props: {
4728
- ...e$4,
4614
+ ...e$2,
4729
4615
  clientOnly: {
4730
- ...e$4.clientOnly,
4616
+ ...e$2.clientOnly,
4731
4617
  description: "Activate it for any scripts that can mutate the DOM or introduce interactivity. This only affects the published site."
4732
4618
  },
4733
4619
  executeScriptOnCanvas: {
4734
- ...e$4.executeScriptOnCanvas,
4620
+ ...e$2.executeScriptOnCanvas,
4735
4621
  label: "Run scripts on canvas",
4736
4622
  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!"
4737
4623
  },
@@ -4745,7 +4631,6 @@ const r$8 = {
4745
4631
  initialProps: ["className", "clientOnly", "executeScriptOnCanvas"]
4746
4632
  });
4747
4633
  const a$a = {
4748
- type: "container",
4749
4634
  icon: MarkdownEmbedIcon,
4750
4635
  contentModel: {
4751
4636
  category: "instance",
@@ -4802,13 +4687,13 @@ var h3 = div;
4802
4687
  var h4 = div;
4803
4688
  var h5 = div;
4804
4689
  var h6 = div;
4805
- var i$3 = div;
4690
+ var i$7 = div;
4806
4691
  var img = div;
4807
4692
  var a$9 = div;
4808
4693
  var li = div;
4809
4694
  var ul = div;
4810
4695
  var ol = div;
4811
- var p$d = div;
4696
+ var p$a = div;
4812
4697
  var span = div;
4813
4698
  var body = [
4814
4699
  { property: "margin-top", value: { type: "unit", unit: "number", value: 0 } },
@@ -4863,7 +4748,7 @@ var hr = [
4863
4748
  value: { type: "unit", unit: "px", value: 1 }
4864
4749
  }
4865
4750
  ];
4866
- var b$8 = [
4751
+ var b$7 = [
4867
4752
  {
4868
4753
  property: "font-weight",
4869
4754
  value: { type: "unit", unit: "number", value: 700 }
@@ -5132,14 +5017,12 @@ const a$8 = {
5132
5017
  }
5133
5018
  ]
5134
5019
  }, n$8 = {
5135
- type: "container",
5136
5020
  icon: BodyIcon,
5137
5021
  states: defaultStates,
5138
5022
  presetStyle: a$8
5139
5023
  };
5140
- const v$2 = {
5024
+ const v$3 = {
5141
5025
  category: "general",
5142
- type: "container",
5143
5026
  description: "A container for content. By default this is a Div, but the tag can be changed in settings.",
5144
5027
  icon: BoxIcon,
5145
5028
  states: defaultStates,
@@ -5157,8 +5040,7 @@ const v$2 = {
5157
5040
  },
5158
5041
  order: 0
5159
5042
  };
5160
- const s$7 = {
5161
- type: "container",
5043
+ const n$7 = {
5162
5044
  icon: TextIcon,
5163
5045
  states: defaultStates,
5164
5046
  presetStyle: {
@@ -5171,8 +5053,7 @@ const s$7 = {
5171
5053
  ]
5172
5054
  }
5173
5055
  };
5174
- const d$5 = {
5175
- type: "container",
5056
+ const d$6 = {
5176
5057
  placeholder: "Heading",
5177
5058
  icon: HeadingIcon,
5178
5059
  states: defaultStates,
@@ -5185,14 +5066,13 @@ const d$5 = {
5185
5066
  h6
5186
5067
  }
5187
5068
  };
5188
- const p$c = {
5189
- p: p$d
5190
- }, n$7 = {
5191
- type: "container",
5069
+ const p$9 = {
5070
+ p: p$a
5071
+ }, c$5 = {
5192
5072
  placeholder: "Paragraph",
5193
5073
  icon: TextAlignLeftIcon,
5194
5074
  states: defaultStates,
5195
- presetStyle: p$c
5075
+ presetStyle: p$9
5196
5076
  };
5197
5077
  const a$7 = {
5198
5078
  a: [
@@ -5203,7 +5083,6 @@ const a$7 = {
5203
5083
  }
5204
5084
  ]
5205
5085
  }, n$6 = {
5206
- type: "container",
5207
5086
  placeholder: "Link",
5208
5087
  icon: LinkIcon,
5209
5088
  presetStyle: a$7,
@@ -5220,74 +5099,65 @@ const a$7 = {
5220
5099
  }
5221
5100
  ]
5222
5101
  };
5223
- const o$4 = {
5224
- ...n$6,
5225
- type: "container"
5226
- };
5227
- const s$6 = {
5102
+ const p$8 = n$6;
5103
+ const e$1 = {
5228
5104
  span
5229
5105
  }, n$5 = {
5230
- type: "container",
5231
5106
  label: "Text",
5232
5107
  icon: PaintBrushIcon,
5233
5108
  states: defaultStates,
5234
- presetStyle: s$6
5109
+ presetStyle: e$1
5235
5110
  };
5236
- const p$b = {
5237
- b: b$8
5238
- }, l$6 = {
5239
- type: "container",
5111
+ const s$5 = {
5112
+ b: b$7
5113
+ }, l$5 = {
5240
5114
  label: "Bold Text",
5241
5115
  icon: BoldIcon,
5242
5116
  states: defaultStates,
5243
- presetStyle: p$b
5117
+ presetStyle: s$5
5244
5118
  };
5245
- const i$2 = {
5119
+ const i$6 = {
5246
5120
  i: [
5247
- ...i$3,
5121
+ ...i$7,
5248
5122
  {
5249
5123
  property: "font-style",
5250
5124
  value: { type: "keyword", value: "italic" }
5251
5125
  }
5252
5126
  ]
5253
- }, c$5 = {
5254
- type: "container",
5127
+ }, m$4 = {
5255
5128
  label: "Italic Text",
5256
5129
  icon: TextItalicIcon,
5257
5130
  states: defaultStates,
5258
- presetStyle: i$2
5131
+ presetStyle: i$6
5259
5132
  };
5260
- const e$3 = {
5133
+ const s$4 = {
5261
5134
  sup
5262
5135
  }, c$4 = {
5263
- type: "container",
5264
5136
  label: "Superscript Text",
5265
5137
  icon: SuperscriptIcon,
5266
5138
  states: defaultStates,
5267
- presetStyle: e$3
5139
+ presetStyle: s$4
5268
5140
  };
5269
- const e$2 = {
5141
+ const p$7 = {
5270
5142
  sub
5271
5143
  }, c$3 = {
5272
- type: "container",
5273
5144
  label: "Subscript Text",
5274
5145
  icon: SubscriptIcon,
5275
5146
  states: defaultStates,
5276
- presetStyle: e$2
5147
+ presetStyle: p$7
5277
5148
  };
5278
- const l$5 = {
5149
+ const l$4 = {
5279
5150
  button
5280
- }, p$a = {
5151
+ }, m$3 = {
5281
5152
  icon: ButtonElementIcon,
5282
- type: "container",
5283
- presetStyle: l$5,
5153
+ presetStyle: l$4,
5284
5154
  states: [
5285
5155
  ...defaultStates,
5286
5156
  { selector: ":disabled", label: "Disabled" },
5287
5157
  { selector: ":enabled", label: "Enabled" }
5288
5158
  ]
5289
5159
  };
5290
- const r$7 = {
5160
+ const r$a = {
5291
5161
  input: [
5292
5162
  ...input,
5293
5163
  {
@@ -5300,7 +5170,7 @@ const r$7 = {
5300
5170
  label: "Text Input",
5301
5171
  description: "A single-line text input for collecting string data from your users.",
5302
5172
  icon: FormTextFieldIcon,
5303
- presetStyle: r$7,
5173
+ presetStyle: r$a,
5304
5174
  order: 3,
5305
5175
  states: [
5306
5176
  ...defaultStates,
@@ -5319,7 +5189,6 @@ const r$7 = {
5319
5189
  const c$1 = {
5320
5190
  label: "Webhook Form",
5321
5191
  icon: WebhookFormIcon,
5322
- type: "container",
5323
5192
  presetStyle: {
5324
5193
  form
5325
5194
  },
@@ -5328,19 +5197,18 @@ const c$1 = {
5328
5197
  { selector: "[data-state=success]", label: "Success" }
5329
5198
  ]
5330
5199
  };
5331
- const s$5 = {
5200
+ const s$3 = {
5332
5201
  form: [
5333
5202
  ...form,
5334
5203
  { property: "min-height", value: { type: "unit", unit: "px", value: 20 } }
5335
5204
  ]
5336
5205
  }, n$4 = {
5337
5206
  category: "forms",
5338
- type: "container",
5339
5207
  label: "Form",
5340
5208
  description: "Create filters, surveys, searches and more.",
5341
5209
  icon: FormIcon,
5342
5210
  states: defaultStates,
5343
- presetStyle: s$5,
5211
+ presetStyle: s$3,
5344
5212
  order: 0
5345
5213
  };
5346
5214
  const a$6 = {
@@ -5365,7 +5233,7 @@ const a$6 = {
5365
5233
  value: { type: "keyword", value: "auto" }
5366
5234
  }
5367
5235
  ]
5368
- }, l$4 = {
5236
+ }, l$3 = {
5369
5237
  category: "media",
5370
5238
  description: "Add an image asset to the page. Webstudio automatically converts images to WebP or AVIF format and makes them responsive for best performance.",
5371
5239
  icon: ImageIcon,
@@ -5373,7 +5241,7 @@ const a$6 = {
5373
5241
  presetStyle: a$6,
5374
5242
  order: 0
5375
5243
  };
5376
- const r$6 = {
5244
+ const r$9 = {
5377
5245
  blockquote: [
5378
5246
  {
5379
5247
  property: "margin-top",
@@ -5420,12 +5288,11 @@ const r$6 = {
5420
5288
  value: { type: "rgb", r: 226, g: 226, b: 226, alpha: 1 }
5421
5289
  }
5422
5290
  ]
5423
- }, i$1 = {
5424
- type: "container",
5291
+ }, i$5 = {
5425
5292
  placeholder: "Blockquote",
5426
5293
  icon: BlockquoteIcon,
5427
5294
  states: defaultStates,
5428
- presetStyle: r$6
5295
+ presetStyle: r$9
5429
5296
  };
5430
5297
  const a$5 = {
5431
5298
  ol: [
@@ -5458,14 +5325,12 @@ const a$5 = {
5458
5325
  value: { type: "keyword", value: "40px" }
5459
5326
  }
5460
5327
  ]
5461
- }, d$4 = {
5462
- type: "container",
5328
+ }, d$5 = {
5463
5329
  icon: ListIcon,
5464
5330
  states: defaultStates,
5465
5331
  presetStyle: a$5
5466
5332
  };
5467
5333
  const a$4 = {
5468
- type: "container",
5469
5334
  placeholder: "List item",
5470
5335
  icon: ListItemIcon,
5471
5336
  states: defaultStates,
@@ -5473,7 +5338,7 @@ const a$4 = {
5473
5338
  li
5474
5339
  }
5475
5340
  };
5476
- const p$9 = {
5341
+ const p$6 = {
5477
5342
  hr: [
5478
5343
  ...hr,
5479
5344
  {
@@ -5506,10 +5371,10 @@ const p$9 = {
5506
5371
  description: "Used to visually divide sections of content, helping to improve readability and organization within a webpage.",
5507
5372
  icon: MinusIcon,
5508
5373
  states: defaultStates,
5509
- presetStyle: p$9,
5374
+ presetStyle: p$6,
5510
5375
  order: 3
5511
5376
  };
5512
- const p$8 = {
5377
+ const p$5 = {
5513
5378
  code: [
5514
5379
  ...code,
5515
5380
  {
@@ -5537,7 +5402,7 @@ const p$8 = {
5537
5402
  value: { type: "rgb", r: 238, g: 238, b: 238, alpha: 1 }
5538
5403
  }
5539
5404
  ]
5540
- }, i = {
5405
+ }, i$4 = {
5541
5406
  category: "general",
5542
5407
  description: "Use this component when you want to display code as text on the page.",
5543
5408
  icon: BracesIcon,
@@ -5546,22 +5411,21 @@ const p$8 = {
5546
5411
  children: []
5547
5412
  },
5548
5413
  states: defaultStates,
5549
- presetStyle: p$8,
5414
+ presetStyle: p$5,
5550
5415
  order: 5
5551
5416
  };
5552
- const a$3 = {
5417
+ const r$8 = {
5553
5418
  label: [
5554
5419
  ...label,
5555
5420
  { property: "display", value: { type: "keyword", value: "block" } }
5556
5421
  ]
5557
- }, m$3 = {
5558
- type: "container",
5422
+ }, i$3 = {
5559
5423
  label: "Input Label",
5560
5424
  icon: LabelIcon,
5561
5425
  states: defaultStates,
5562
- presetStyle: a$3
5426
+ presetStyle: r$8
5563
5427
  };
5564
- const l$3 = {
5428
+ const l$2 = {
5565
5429
  textarea: [
5566
5430
  ...textarea,
5567
5431
  // resize doesn't work well while on canvas
@@ -5576,7 +5440,7 @@ const l$3 = {
5576
5440
  label: "Text Area",
5577
5441
  description: "A multi-line text input for collecting longer string data from your users.",
5578
5442
  icon: FormTextAreaIcon,
5579
- presetStyle: l$3,
5443
+ presetStyle: l$2,
5580
5444
  order: 4,
5581
5445
  contentModel: {
5582
5446
  category: "instance",
@@ -5596,7 +5460,7 @@ const l$3 = {
5596
5460
  //{ selector: ":read-write", label: "Read Write" },
5597
5461
  ]
5598
5462
  };
5599
- const a$2 = {
5463
+ const a$3 = {
5600
5464
  input: [
5601
5465
  ...radio,
5602
5466
  {
@@ -5604,10 +5468,10 @@ const a$2 = {
5604
5468
  value: { type: "unit", unit: "em", value: 0.5 }
5605
5469
  }
5606
5470
  ]
5607
- }, s$4 = {
5471
+ }, s$2 = {
5608
5472
  label: "Radio",
5609
5473
  icon: RadioCheckedIcon,
5610
- presetStyle: a$2,
5474
+ presetStyle: a$3,
5611
5475
  states: [
5612
5476
  ...defaultStates,
5613
5477
  { selector: ":checked", label: "Checked" },
@@ -5620,7 +5484,7 @@ const a$2 = {
5620
5484
  //{ selector: ":read-write", label: "Read Write" },
5621
5485
  ]
5622
5486
  };
5623
- const o$3 = {
5487
+ const o$1 = {
5624
5488
  input: [
5625
5489
  ...checkbox,
5626
5490
  {
@@ -5628,9 +5492,9 @@ const o$3 = {
5628
5492
  value: { type: "unit", unit: "em", value: 0.5 }
5629
5493
  }
5630
5494
  ]
5631
- }, d$3 = {
5495
+ }, d$4 = {
5632
5496
  icon: CheckboxCheckedIcon,
5633
- presetStyle: o$3,
5497
+ presetStyle: o$1,
5634
5498
  states: [
5635
5499
  ...defaultStates,
5636
5500
  { selector: ":checked", label: "Checked" },
@@ -5643,41 +5507,31 @@ const o$3 = {
5643
5507
  ]
5644
5508
  };
5645
5509
  const m$2 = {
5646
- type: "container",
5647
5510
  icon: VimeoIcon,
5648
5511
  states: defaultStates,
5649
5512
  contentModel: {
5650
5513
  category: "instance",
5651
- children: [
5652
- "instance",
5653
- "VimeoSpinner",
5654
- "VimeoPlayButton",
5655
- "VimeoPreviewImage"
5656
- ]
5514
+ children: ["instance"],
5515
+ descendants: ["VimeoSpinner", "VimeoPlayButton", "VimeoPreviewImage"]
5657
5516
  },
5658
5517
  presetStyle: {
5659
5518
  div
5660
5519
  }
5661
5520
  };
5662
- const p$7 = {
5663
- type: "container",
5521
+ const p$4 = {
5664
5522
  icon: YoutubeIcon,
5665
5523
  states: defaultStates,
5666
5524
  contentModel: {
5667
5525
  category: "instance",
5668
- children: [
5669
- "instance",
5670
- "VimeoSpinner",
5671
- "VimeoPlayButton",
5672
- "VimeoPreviewImage"
5673
- ]
5526
+ children: ["instance"],
5527
+ descendants: ["VimeoSpinner", "VimeoPlayButton", "VimeoPreviewImage"]
5674
5528
  },
5675
5529
  presetStyle: {
5676
5530
  div
5677
5531
  }
5678
5532
  };
5679
- const p$6 = {
5680
- ...l$4,
5533
+ const p$3 = {
5534
+ ...l$3,
5681
5535
  category: "hidden",
5682
5536
  label: "Preview Image",
5683
5537
  contentModel: {
@@ -5685,9 +5539,8 @@ const p$6 = {
5685
5539
  children: []
5686
5540
  }
5687
5541
  };
5688
- const s$3 = {
5542
+ const m$1 = {
5689
5543
  category: "hidden",
5690
- type: "container",
5691
5544
  label: "Play Button",
5692
5545
  icon: ButtonElementIcon,
5693
5546
  states: defaultStates,
@@ -5699,8 +5552,7 @@ const s$3 = {
5699
5552
  button
5700
5553
  }
5701
5554
  };
5702
- const s$2 = {
5703
- type: "container",
5555
+ const s$1 = {
5704
5556
  icon: BoxIcon,
5705
5557
  states: defaultStates,
5706
5558
  category: "hidden",
@@ -5713,31 +5565,28 @@ const s$2 = {
5713
5565
  div
5714
5566
  }
5715
5567
  };
5716
- const e$1 = {
5568
+ const i$2 = {
5717
5569
  category: "xml",
5718
5570
  order: 6,
5719
- type: "container",
5720
5571
  icon: XmlIcon,
5721
5572
  description: "XML Node"
5722
5573
  };
5723
- const a$1 = {
5574
+ const a$2 = {
5724
5575
  category: "xml",
5725
- type: "container",
5726
5576
  description: "Converts machine-readable date and time to ISO format.",
5727
5577
  icon: CalendarIcon,
5728
5578
  order: 7
5729
5579
  };
5730
- const r$5 = {
5580
+ const r$7 = {
5731
5581
  time
5732
- }, s$1 = {
5582
+ }, s = {
5733
5583
  category: "localization",
5734
- type: "container",
5735
5584
  description: "Converts machine-readable date and time to a human-readable format.",
5736
5585
  icon: CalendarIcon,
5737
5586
  states: defaultStates,
5738
- presetStyle: r$5
5587
+ presetStyle: r$7
5739
5588
  };
5740
- const r$4 = {
5589
+ const r$6 = {
5741
5590
  select: [
5742
5591
  ...select,
5743
5592
  {
@@ -5746,9 +5595,8 @@ const r$4 = {
5746
5595
  }
5747
5596
  ]
5748
5597
  }, c = {
5749
- type: "container",
5750
5598
  icon: SelectIcon,
5751
- presetStyle: r$4,
5599
+ presetStyle: r$6,
5752
5600
  states: [
5753
5601
  ...defaultStates,
5754
5602
  { selector: "::placeholder", label: "Placeholder" },
@@ -5758,7 +5606,7 @@ const r$4 = {
5758
5606
  { selector: ":optional", label: "Optional" }
5759
5607
  ]
5760
5608
  };
5761
- const l$2 = {
5609
+ const l$1 = {
5762
5610
  option: [
5763
5611
  {
5764
5612
  property: "background-color",
@@ -5772,11 +5620,11 @@ const l$2 = {
5772
5620
  }
5773
5621
  }
5774
5622
  ]
5775
- }, r$3 = {
5623
+ }, r$5 = {
5776
5624
  category: "hidden",
5777
5625
  description: "An item within a drop-down menu that users can select as their chosen value.",
5778
5626
  icon: ItemIcon,
5779
- presetStyle: l$2,
5627
+ presetStyle: l$1,
5780
5628
  states: [
5781
5629
  // Applies when option is being activated (clicked)
5782
5630
  { selector: ":active", label: "Active" },
@@ -5788,38 +5636,36 @@ const l$2 = {
5788
5636
  { selector: ":disabled", label: "Disabled" }
5789
5637
  ]
5790
5638
  };
5791
- const r$2 = {
5639
+ const r$4 = {
5792
5640
  icon: HeaderIcon,
5793
- type: "container",
5794
5641
  description: "Inserts children into the head of the document",
5795
5642
  contentModel: {
5796
5643
  category: "instance",
5797
5644
  children: ["HeadLink", "HeadMeta", "HeadTitle"]
5798
5645
  }
5799
5646
  };
5800
- const p$5 = {
5647
+ const p$2 = {
5801
5648
  icon: ResourceIcon,
5802
5649
  contentModel: {
5803
5650
  category: "none",
5804
5651
  children: []
5805
5652
  }
5806
5653
  };
5807
- const p$4 = {
5654
+ const p$1 = {
5808
5655
  icon: WindowInfoIcon,
5809
5656
  contentModel: {
5810
5657
  category: "none",
5811
5658
  children: []
5812
5659
  }
5813
5660
  };
5814
- const p$3 = {
5661
+ const r$3 = {
5815
5662
  icon: WindowTitleIcon,
5816
- type: "container",
5817
5663
  contentModel: {
5818
5664
  category: "none",
5819
5665
  children: ["text"]
5820
5666
  }
5821
5667
  };
5822
- const p$2 = {
5668
+ const i$1 = {
5823
5669
  icon: VideoIcon,
5824
5670
  contentModel: {
5825
5671
  category: "instance",
@@ -5836,128 +5682,123 @@ const p$2 = {
5836
5682
  };
5837
5683
  const baseComponentMetas = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5838
5684
  __proto__: null,
5839
- Blockquote: i$1,
5685
+ Blockquote: i$5,
5840
5686
  Body: n$8,
5841
- Bold: l$6,
5842
- Box: v$2,
5843
- Button: p$a,
5844
- Checkbox: d$3,
5845
- CodeText: i,
5687
+ Bold: l$5,
5688
+ Box: v$3,
5689
+ Button: m$3,
5690
+ Checkbox: d$4,
5691
+ CodeText: i$4,
5846
5692
  Form: c$1,
5847
- Fragment: o$5,
5848
- HeadLink: p$5,
5849
- HeadMeta: p$4,
5850
- HeadSlot: r$2,
5851
- HeadTitle: p$3,
5852
- Heading: d$5,
5853
- HtmlEmbed: r$8,
5854
- Image: l$4,
5693
+ Fragment: o$2,
5694
+ HeadLink: p$2,
5695
+ HeadMeta: p$1,
5696
+ HeadSlot: r$4,
5697
+ HeadTitle: r$3,
5698
+ Heading: d$6,
5699
+ HtmlEmbed: r$b,
5700
+ Image: l$3,
5855
5701
  Input: c$2,
5856
- Italic: c$5,
5857
- Label: m$3,
5702
+ Italic: m$4,
5703
+ Label: i$3,
5858
5704
  Link: n$6,
5859
- List: d$4,
5705
+ List: d$5,
5860
5706
  ListItem: a$4,
5861
5707
  MarkdownEmbed: a$a,
5862
- Option: r$3,
5863
- Paragraph: n$7,
5864
- RadioButton: s$4,
5708
+ Option: r$5,
5709
+ Paragraph: c$5,
5710
+ RadioButton: s$2,
5865
5711
  RemixForm: n$4,
5866
- RichTextLink: o$4,
5712
+ RichTextLink: p$8,
5867
5713
  Select: c,
5868
5714
  Separator: n$3,
5869
- Slot: e$5,
5715
+ Slot: e$3,
5870
5716
  Span: n$5,
5871
5717
  Subscript: c$3,
5872
5718
  Superscript: c$4,
5873
- Text: s$7,
5719
+ Text: n$7,
5874
5720
  Textarea: n$2,
5875
- Time: s$1,
5876
- Video: p$2,
5721
+ Time: s,
5722
+ Video: i$1,
5877
5723
  Vimeo: m$2,
5878
- VimeoPlayButton: s$3,
5879
- VimeoPreviewImage: p$6,
5880
- VimeoSpinner: s$2,
5881
- XmlNode: e$1,
5882
- XmlTime: a$1,
5883
- YouTube: p$7
5724
+ VimeoPlayButton: m$1,
5725
+ VimeoPreviewImage: p$3,
5726
+ VimeoSpinner: s$1,
5727
+ XmlNode: i$2,
5728
+ XmlTime: a$2,
5729
+ YouTube: p$4
5884
5730
  }, Symbol.toStringTag, { value: "Module" }));
5885
- const o$2 = {
5886
- category: "animations",
5887
- type: "container",
5888
- description: "Animation Group component is designed to animate its children.",
5889
- icon: AnimationGroupIcon,
5890
- order: 5,
5891
- label: "Animation Group",
5892
- constraints: {
5893
- relation: "child",
5894
- text: false
5895
- }
5896
- };
5897
- const n$1 = (t2) => new Proxy(
5731
+ const n$1 = (t) => new Proxy(
5898
5732
  {},
5899
5733
  {
5900
5734
  get(o2, e2) {
5901
- return `${t2}${e2}`;
5735
+ return `${t}${e2}`;
5902
5736
  }
5903
5737
  }
5904
- ), r$1 = n$1(
5738
+ ), r$2 = n$1(
5905
5739
  "@webstudio-is/sdk-components-animation:"
5906
5740
  );
5907
- const p$1 = {
5741
+ const a$1 = {
5742
+ category: "animations",
5743
+ description: "Animation Group component is designed to animate its children.",
5744
+ icon: AnimationGroupIcon,
5745
+ order: 0,
5746
+ label: "Animation Group",
5747
+ contentModel: {
5748
+ category: "instance",
5749
+ children: [
5750
+ "instance",
5751
+ r$2.AnimateText,
5752
+ r$2.StaggerAnimation,
5753
+ r$2.VideoAnimation
5754
+ ]
5755
+ }
5756
+ };
5757
+ const a = {
5908
5758
  category: "animations",
5909
- type: "container",
5910
5759
  description: "Text animation allows you to split text by char or by word to animate it.",
5911
5760
  icon: TextAnimationIcon,
5912
- order: 6,
5761
+ order: 1,
5913
5762
  label: "Text Animation",
5914
- constraints: [
5915
- { relation: "parent", component: { $eq: r$1.AnimateChildren } },
5916
- {
5917
- relation: "child",
5918
- text: false
5919
- }
5920
- ],
5763
+ contentModel: {
5764
+ category: "none",
5765
+ children: ["instance"]
5766
+ },
5921
5767
  presetStyle: {
5922
5768
  div
5923
5769
  }
5924
5770
  };
5925
- const s = {
5771
+ const r$1 = {
5926
5772
  category: "animations",
5927
- type: "container",
5928
5773
  description: "Stagger animation allows you to animate children elements with a sliding window.",
5929
5774
  icon: StaggerAnimationIcon,
5930
- order: 6,
5775
+ order: 4,
5931
5776
  label: "Stagger Animation",
5932
- constraints: [
5933
- { relation: "parent", component: { $eq: r$1.AnimateChildren } },
5934
- {
5935
- relation: "child",
5936
- text: false
5937
- }
5938
- ],
5777
+ contentModel: {
5778
+ category: "none",
5779
+ children: ["instance"]
5780
+ },
5939
5781
  presetStyle: {
5940
5782
  div
5941
5783
  }
5942
5784
  };
5943
- const a = {
5944
- type: "container",
5945
- icon: Youtube1cIcon,
5785
+ const p = {
5786
+ icon: PlayIcon,
5946
5787
  label: "Video Animation",
5947
- constraints: [
5948
- { relation: "parent", component: { $eq: r$1.AnimateChildren } },
5949
- {
5950
- relation: "child",
5951
- text: false
5952
- }
5953
- ]
5788
+ contentModel: {
5789
+ category: "none",
5790
+ children: ["instance"]
5791
+ },
5792
+ presetStyle: {
5793
+ div
5794
+ }
5954
5795
  };
5955
5796
  const animationComponentMetas = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5956
5797
  __proto__: null,
5957
- AnimateChildren: o$2,
5958
- AnimateText: p$1,
5959
- StaggerAnimation: s,
5960
- VideoAnimation: a
5798
+ AnimateChildren: a$1,
5799
+ AnimateText: a,
5800
+ StaggerAnimation: r$1,
5801
+ VideoAnimation: p
5961
5802
  }, Symbol.toStringTag, { value: "Module" }));
5962
5803
  const remixComponentMetas = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5963
5804
  __proto__: null,
@@ -5965,62 +5806,54 @@ const remixComponentMetas = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object
5965
5806
  Form: c$1,
5966
5807
  Link: n$6,
5967
5808
  RemixForm: n$4,
5968
- RichTextLink: o$4
5809
+ RichTextLink: p$8
5969
5810
  }, Symbol.toStringTag, { value: "Module" }));
5970
- const r = (t2) => new Proxy(
5811
+ const r = (t) => new Proxy(
5971
5812
  {},
5972
5813
  {
5973
5814
  get(o2, e2) {
5974
- return `${t2}${e2}`;
5815
+ return `${t}${e2}`;
5975
5816
  }
5976
5817
  }
5977
5818
  ), n = r(
5978
5819
  "@webstudio-is/sdk-components-react-radix:"
5979
5820
  );
5980
- const m$1 = {
5981
- type: "container",
5982
- constraints: [
5983
- {
5984
- relation: "descendant",
5985
- component: { $eq: n.CollapsibleTrigger }
5986
- },
5987
- {
5988
- relation: "descendant",
5989
- component: { $eq: n.CollapsibleContent }
5990
- }
5991
- ],
5821
+ const g$2 = {
5822
+ icon: CollapsibleIcon,
5823
+ contentModel: {
5824
+ category: "instance",
5825
+ children: ["instance"],
5826
+ descendants: [n.CollapsibleTrigger, n.CollapsibleContent]
5827
+ },
5992
5828
  presetStyle: {
5993
5829
  div
5994
- },
5995
- icon: CollapsibleIcon
5996
- }, b$7 = {
5997
- type: "container",
5830
+ }
5831
+ }, b$6 = {
5998
5832
  icon: TriggerIcon,
5999
- constraints: {
6000
- relation: "ancestor",
6001
- component: { $eq: n.Collapsible }
5833
+ contentModel: {
5834
+ category: "none",
5835
+ children: ["instance", "rich-text"]
6002
5836
  }
6003
- }, g$2 = {
6004
- type: "container",
5837
+ }, d$3 = {
5838
+ icon: ContentIcon,
5839
+ contentModel: {
5840
+ category: "none",
5841
+ children: ["instance", "rich-text"]
5842
+ },
6005
5843
  presetStyle: {
6006
5844
  div
6007
- },
6008
- icon: ContentIcon,
6009
- constraints: {
6010
- relation: "ancestor",
6011
- component: { $eq: n.Collapsible }
6012
5845
  }
6013
5846
  };
6014
- const o$1 = (r2, t2, p2) => ({
5847
+ const o = (r2, t, p2) => ({
6015
5848
  property: r2,
6016
- value: { type: "unit", unit: p2, value: t2 }
6017
- }), e = (r2, t2) => ({
5849
+ value: { type: "unit", unit: p2, value: t }
5850
+ }), e = (r2, t) => ({
6018
5851
  property: r2,
6019
- value: { type: "keyword", value: t2 }
6020
- }), d$2 = (r2, t2, p2, l2) => ({
5852
+ value: { type: "keyword", value: t }
5853
+ }), d$2 = (r2, t, p2, l2) => ({
6021
5854
  property: r2,
6022
- value: { type: "rgb", alpha: 1, r: t2, g: p2, b: l2 }
6023
- }), b$6 = [
5855
+ value: { type: "rgb", alpha: 1, r: t, g: p2, b: l2 }
5856
+ }), b$5 = [
6024
5857
  {
6025
5858
  property: "background-color",
6026
5859
  value: { type: "keyword", value: "transparent" }
@@ -6029,10 +5862,10 @@ const o$1 = (r2, t2, p2) => ({
6029
5862
  property: "background-image",
6030
5863
  value: { type: "keyword", value: "none" }
6031
5864
  },
6032
- o$1("border-top-width", 0, "px"),
6033
- o$1("border-right-width", 0, "px"),
6034
- o$1("border-bottom-width", 0, "px"),
6035
- o$1("border-left-width", 0, "px"),
5865
+ o("border-top-width", 0, "px"),
5866
+ o("border-right-width", 0, "px"),
5867
+ o("border-bottom-width", 0, "px"),
5868
+ o("border-left-width", 0, "px"),
6036
5869
  e("border-top-style", "solid"),
6037
5870
  e("border-right-style", "solid"),
6038
5871
  e("border-bottom-style", "solid"),
@@ -6041,213 +5874,152 @@ const o$1 = (r2, t2, p2) => ({
6041
5874
  d$2("border-right-color", 226, 232, 240),
6042
5875
  d$2("border-bottom-color", 226, 232, 240),
6043
5876
  d$2("border-left-color", 226, 232, 240),
6044
- o$1("padding-top", 0, "px"),
6045
- o$1("padding-right", 0, "px"),
6046
- o$1("padding-bottom", 0, "px"),
6047
- o$1("padding-left", 0, "px")
5877
+ o("padding-top", 0, "px"),
5878
+ o("padding-right", 0, "px"),
5879
+ o("padding-bottom", 0, "px"),
5880
+ o("padding-left", 0, "px")
6048
5881
  ];
6049
- const S$1 = {
6050
- type: "container",
5882
+ const O = {
6051
5883
  icon: TriggerIcon,
6052
- constraints: {
6053
- relation: "ancestor",
6054
- component: { $eq: n.Dialog }
5884
+ contentModel: {
5885
+ category: "none",
5886
+ children: ["instance"]
6055
5887
  }
6056
- }, b$5 = {
6057
- type: "container",
5888
+ }, b$4 = {
5889
+ icon: OverlayIcon,
5890
+ contentModel: {
5891
+ category: "none",
5892
+ children: ["instance"],
5893
+ descendants: [n.DialogContent]
5894
+ },
6058
5895
  presetStyle: {
6059
5896
  div
5897
+ }
5898
+ }, B = {
5899
+ icon: ContentIcon,
5900
+ contentModel: {
5901
+ category: "none",
5902
+ children: ["instance"],
5903
+ descendants: [
5904
+ n.DialogTitle,
5905
+ n.DialogDescription,
5906
+ n.DialogClose
5907
+ ]
6060
5908
  },
6061
- icon: OverlayIcon,
6062
- constraints: [
6063
- {
6064
- relation: "ancestor",
6065
- component: { $eq: n.Dialog }
6066
- },
6067
- {
6068
- relation: "descendant",
6069
- component: { $eq: n.DialogContent }
6070
- }
6071
- ]
6072
- }, x$3 = {
6073
- type: "container",
6074
5909
  presetStyle: {
6075
5910
  div
5911
+ }
5912
+ }, E = {
5913
+ icon: HeadingIcon,
5914
+ contentModel: {
5915
+ category: "none",
5916
+ children: ["instance", "rich-text"]
6076
5917
  },
6077
- icon: ContentIcon,
6078
- constraints: [
6079
- {
6080
- relation: "ancestor",
6081
- component: { $eq: n.DialogOverlay }
6082
- },
6083
- // often deleted by users
6084
- // though radix starts throwing warnings in console
6085
- /*
6086
- {
6087
- relation: "descendant",
6088
- component: { $eq: radix.DialogTitle },
6089
- },
6090
- {
6091
- relation: "descendant",
6092
- component: { $eq: radix.DialogDescription },
6093
- },
6094
- */
6095
- {
6096
- relation: "descendant",
6097
- component: { $eq: n.DialogClose }
6098
- }
6099
- ]
6100
- }, B = {
6101
- type: "container",
6102
5918
  presetStyle: {
6103
5919
  h2
6104
- },
6105
- icon: HeadingIcon,
6106
- constraints: {
6107
- relation: "ancestor",
6108
- component: { $eq: n.DialogContent }
6109
5920
  }
6110
- }, h$1 = {
6111
- type: "container",
6112
- presetStyle: {
6113
- p: p$d
6114
- },
5921
+ }, H$1 = {
6115
5922
  icon: TextIcon,
6116
- constraints: {
6117
- relation: "ancestor",
6118
- component: { $eq: n.DialogContent }
6119
- }
6120
- }, E = {
6121
- type: "container",
6122
- presetStyle: {
6123
- button: [b$6, button].flat()
5923
+ contentModel: {
5924
+ category: "none",
5925
+ children: ["instance", "rich-text"]
6124
5926
  },
6125
- states: defaultStates,
5927
+ presetStyle: {
5928
+ p: p$a
5929
+ }
5930
+ }, R = {
6126
5931
  icon: ButtonElementIcon,
6127
5932
  label: "Close Button",
6128
- constraints: {
6129
- relation: "ancestor",
6130
- component: { $eq: n.DialogContent }
5933
+ contentModel: {
5934
+ category: "none",
5935
+ children: ["instance", "rich-text"]
5936
+ },
5937
+ states: defaultStates,
5938
+ presetStyle: {
5939
+ button: [b$5, button].flat()
6131
5940
  }
6132
- }, H$1 = {
6133
- type: "container",
5941
+ }, j = {
6134
5942
  icon: DialogIcon,
6135
- constraints: [
6136
- {
6137
- relation: "descendant",
6138
- component: { $eq: n.DialogTrigger }
6139
- },
6140
- {
6141
- relation: "descendant",
6142
- component: { $eq: n.DialogOverlay }
6143
- }
6144
- ]
5943
+ contentModel: {
5944
+ category: "instance",
5945
+ children: ["instance"],
5946
+ descendants: [n.DialogTrigger, n.DialogOverlay]
5947
+ }
6145
5948
  };
6146
- const v$1 = {
6147
- type: "container",
5949
+ const v$2 = {
6148
5950
  icon: TriggerIcon,
6149
- constraints: {
6150
- relation: "ancestor",
6151
- component: { $eq: n.Popover }
5951
+ contentModel: {
5952
+ category: "none",
5953
+ children: ["instance"]
6152
5954
  }
6153
- }, g$1 = {
6154
- type: "container",
5955
+ }, d$1 = {
5956
+ icon: ContentIcon,
5957
+ contentModel: {
5958
+ category: "none",
5959
+ children: ["instance"]
5960
+ },
6155
5961
  presetStyle: {
6156
5962
  div
6157
- },
6158
- icon: ContentIcon,
6159
- constraints: {
6160
- relation: "ancestor",
6161
- component: { $eq: n.Popover }
6162
5963
  }
6163
- }, l$1 = {
6164
- type: "container",
5964
+ }, l = {
6165
5965
  icon: PopoverIcon,
6166
- constraints: [
6167
- {
6168
- relation: "descendant",
6169
- component: { $eq: n.PopoverTrigger }
6170
- },
6171
- {
6172
- relation: "descendant",
6173
- component: { $eq: n.PopoverContent }
6174
- }
6175
- ]
5966
+ contentModel: {
5967
+ category: "instance",
5968
+ children: ["instance"],
5969
+ descendants: [n.PopoverTrigger, n.PopoverContent]
5970
+ }
6176
5971
  };
6177
- const m = {
6178
- type: "container",
5972
+ const g$1 = {
6179
5973
  icon: TriggerIcon,
6180
- constraints: {
6181
- relation: "ancestor",
6182
- component: { $eq: n.Tooltip }
5974
+ contentModel: {
5975
+ category: "none",
5976
+ children: ["instance"]
6183
5977
  }
6184
- }, g = {
6185
- type: "container",
5978
+ }, d = {
6186
5979
  icon: ContentIcon,
5980
+ contentModel: {
5981
+ category: "none",
5982
+ children: ["instance"]
5983
+ },
6187
5984
  presetStyle: {
6188
5985
  div
6189
- },
6190
- constraints: {
6191
- relation: "ancestor",
6192
- component: { $eq: n.Tooltip }
6193
5986
  }
6194
- }, d$1 = {
6195
- type: "container",
6196
- constraints: [
6197
- {
6198
- relation: "descendant",
6199
- component: { $eq: n.TooltipTrigger }
6200
- },
6201
- {
6202
- relation: "descendant",
6203
- component: { $eq: n.TooltipContent }
6204
- }
6205
- ],
6206
- icon: TooltipIcon
5987
+ }, m = {
5988
+ icon: TooltipIcon,
5989
+ contentModel: {
5990
+ category: "instance",
5991
+ children: ["instance"],
5992
+ descendants: [n.TooltipTrigger, n.TooltipContent]
5993
+ }
6207
5994
  };
6208
- const o = {
6209
- div
6210
- }, C$3 = {
6211
- type: "container",
5995
+ const M = {
6212
5996
  icon: TabsIcon,
6213
- constraints: [
6214
- {
6215
- relation: "descendant",
6216
- component: { $eq: n.TabsTrigger }
6217
- },
6218
- {
6219
- relation: "descendant",
6220
- component: { $eq: n.TabsList }
6221
- },
6222
- {
6223
- relation: "descendant",
6224
- component: { $eq: n.TabsContent }
6225
- }
6226
- ],
6227
- presetStyle: o
6228
- }, L = {
6229
- type: "container",
5997
+ contentModel: {
5998
+ category: "instance",
5999
+ children: ["instance"],
6000
+ descendants: [n.TabsList, n.TabsContent]
6001
+ },
6002
+ presetStyle: {
6003
+ div
6004
+ }
6005
+ }, x$2 = {
6230
6006
  icon: HeaderIcon,
6231
- constraints: {
6232
- relation: "ancestor",
6233
- component: { $eq: n.Tabs }
6007
+ contentModel: {
6008
+ category: "none",
6009
+ children: ["instance"],
6010
+ descendants: [n.TabsTrigger]
6234
6011
  },
6235
- presetStyle: o
6236
- }, u = {
6237
- type: "container",
6012
+ presetStyle: {
6013
+ div
6014
+ }
6015
+ }, C$2 = {
6238
6016
  icon: TriggerIcon,
6239
- constraints: [
6240
- {
6241
- relation: "ancestor",
6242
- component: { $eq: n.TabsList }
6243
- },
6244
- {
6245
- relation: "ancestor",
6246
- component: { $neq: n.TabsTrigger }
6247
- }
6248
- ],
6249
- indexWithinAncestor: n.Tabs,
6250
6017
  label: "Tab Trigger",
6018
+ indexWithinAncestor: n.Tabs,
6019
+ contentModel: {
6020
+ category: "none",
6021
+ children: ["instance", "rich-text"]
6022
+ },
6251
6023
  states: [
6252
6024
  ...defaultStates,
6253
6025
  {
@@ -6257,73 +6029,57 @@ const o = {
6257
6029
  }
6258
6030
  ],
6259
6031
  presetStyle: {
6260
- button: [button, b$6].flat()
6032
+ button: [button, b$5].flat()
6261
6033
  }
6262
- }, x$2 = {
6263
- type: "container",
6034
+ }, S$2 = {
6264
6035
  label: "Tab Content",
6265
6036
  icon: ContentIcon,
6266
- constraints: {
6267
- relation: "ancestor",
6268
- component: { $eq: n.Tabs }
6269
- },
6270
6037
  indexWithinAncestor: n.Tabs,
6271
- presetStyle: o
6038
+ contentModel: {
6039
+ category: "none",
6040
+ children: ["instance", "rich-text"]
6041
+ },
6042
+ presetStyle: {
6043
+ div
6044
+ }
6272
6045
  };
6273
- const p = {
6274
- label
6275
- }, l = {
6276
- type: "container",
6046
+ const i = {
6277
6047
  icon: LabelIcon,
6278
- presetStyle: p,
6279
- states: defaultStates
6048
+ states: defaultStates,
6049
+ presetStyle: {
6050
+ label
6051
+ }
6280
6052
  };
6281
- const t = {
6282
- div
6283
- }, H = {
6284
- type: "container",
6053
+ const v$1 = {
6285
6054
  icon: AccordionIcon,
6286
- presetStyle: t,
6287
- constraints: [
6288
- {
6289
- relation: "descendant",
6290
- component: { $eq: n.AccordionItem }
6291
- }
6292
- ]
6293
- }, C$2 = {
6294
- type: "container",
6055
+ contentModel: {
6056
+ category: "instance",
6057
+ children: ["instance"],
6058
+ descendants: [n.AccordionItem]
6059
+ },
6060
+ presetStyle: {
6061
+ div
6062
+ }
6063
+ }, x$1 = {
6295
6064
  label: "Item",
6296
6065
  icon: ItemIcon,
6297
- constraints: [
6298
- {
6299
- relation: "ancestor",
6300
- component: { $eq: n.Accordion }
6301
- },
6302
- {
6303
- relation: "descendant",
6304
- component: { $eq: n.AccordionHeader }
6305
- },
6306
- {
6307
- relation: "descendant",
6308
- component: { $eq: n.AccordionContent }
6309
- }
6310
- ],
6311
6066
  indexWithinAncestor: n.Accordion,
6312
- presetStyle: t
6313
- }, T = {
6314
- type: "container",
6067
+ contentModel: {
6068
+ category: "none",
6069
+ children: ["instance"],
6070
+ descendants: [n.AccordionHeader, n.AccordionContent]
6071
+ },
6072
+ presetStyle: {
6073
+ div
6074
+ }
6075
+ }, C$1 = {
6315
6076
  label: "Item Header",
6316
6077
  icon: HeaderIcon,
6317
- constraints: [
6318
- {
6319
- relation: "ancestor",
6320
- component: { $eq: n.AccordionItem }
6321
- },
6322
- {
6323
- relation: "descendant",
6324
- component: { $eq: n.AccordionTrigger }
6325
- }
6326
- ],
6078
+ contentModel: {
6079
+ category: "none",
6080
+ children: ["instance"],
6081
+ descendants: [n.AccordionTrigger]
6082
+ },
6327
6083
  presetStyle: {
6328
6084
  h3: [
6329
6085
  ...h3,
@@ -6337,13 +6093,12 @@ const t = {
6337
6093
  }
6338
6094
  ]
6339
6095
  }
6340
- }, x$1 = {
6341
- type: "container",
6096
+ }, H = {
6342
6097
  label: "Item Trigger",
6343
6098
  icon: TriggerIcon,
6344
- constraints: {
6345
- relation: "ancestor",
6346
- component: { $eq: n.AccordionHeader }
6099
+ contentModel: {
6100
+ category: "none",
6101
+ children: ["instance", "rich-text"]
6347
6102
  },
6348
6103
  states: [
6349
6104
  ...defaultStates,
@@ -6354,233 +6109,177 @@ const t = {
6354
6109
  }
6355
6110
  ],
6356
6111
  presetStyle: {
6357
- button: [button, b$6].flat()
6112
+ button: [button, b$5].flat()
6358
6113
  }
6359
- }, M = {
6360
- type: "container",
6114
+ }, S$1 = {
6361
6115
  label: "Item Content",
6362
6116
  icon: ContentIcon,
6363
- constraints: {
6364
- relation: "ancestor",
6365
- component: { $eq: n.AccordionItem }
6117
+ contentModel: {
6118
+ category: "none",
6119
+ children: ["instance", "rich-text"]
6366
6120
  },
6367
- presetStyle: t
6121
+ presetStyle: {
6122
+ div
6123
+ }
6368
6124
  };
6369
- const d = {
6370
- type: "container",
6125
+ const y$1 = {
6371
6126
  icon: NavigationMenuIcon,
6127
+ contentModel: {
6128
+ category: "instance",
6129
+ children: ["instance"],
6130
+ descendants: [n.NavigationMenuList, n.NavigationMenuViewport]
6131
+ },
6372
6132
  presetStyle: {
6373
6133
  div
6374
- },
6375
- constraints: [
6376
- {
6377
- relation: "descendant",
6378
- component: { $eq: n.NavigationMenuList }
6379
- },
6380
- {
6381
- relation: "descendant",
6382
- component: { $eq: n.NavigationMenuViewport }
6383
- }
6384
- ]
6385
- }, $ = {
6386
- type: "container",
6134
+ }
6135
+ }, h$1 = {
6387
6136
  icon: ListIcon,
6388
- constraints: [
6389
- {
6390
- relation: "ancestor",
6391
- component: { $eq: n.NavigationMenu }
6392
- },
6393
- {
6394
- relation: "descendant",
6395
- component: { $eq: n.NavigationMenuItem }
6396
- }
6397
- ],
6137
+ label: "Menu List",
6138
+ contentModel: {
6139
+ category: "none",
6140
+ children: ["instance"],
6141
+ descendants: [n.NavigationMenuItem]
6142
+ },
6398
6143
  presetStyle: {
6399
6144
  div
6400
- },
6401
- label: "Menu List"
6402
- }, q$1 = {
6403
- type: "container",
6145
+ }
6146
+ }, b$3 = {
6404
6147
  icon: ListItemIcon,
6405
- constraints: {
6406
- relation: "ancestor",
6407
- component: { $eq: n.NavigationMenuList }
6148
+ label: "Menu Item",
6149
+ indexWithinAncestor: n.NavigationMenu,
6150
+ contentModel: {
6151
+ category: "none",
6152
+ children: ["instance"],
6153
+ descendants: [
6154
+ n.NavigationMenuTrigger,
6155
+ n.NavigationMenuContent,
6156
+ n.NavigationMenuLink
6157
+ ]
6408
6158
  },
6409
6159
  presetStyle: {
6410
6160
  div
6411
- },
6412
- indexWithinAncestor: n.NavigationMenu,
6413
- label: "Menu Item"
6414
- }, b$4 = {
6415
- type: "container",
6161
+ }
6162
+ }, k$1 = {
6416
6163
  icon: TriggerIcon,
6417
- constraints: {
6418
- relation: "ancestor",
6419
- component: { $eq: n.NavigationMenuItem }
6420
- },
6421
- label: "Menu Trigger"
6164
+ label: "Menu Trigger",
6165
+ contentModel: {
6166
+ category: "none",
6167
+ children: ["instance"]
6168
+ }
6422
6169
  }, w$1 = {
6423
- type: "container",
6424
6170
  icon: ContentIcon,
6425
- constraints: {
6426
- relation: "ancestor",
6427
- component: { $eq: n.NavigationMenuItem }
6171
+ label: "Menu Content",
6172
+ contentModel: {
6173
+ category: "none",
6174
+ children: ["instance"],
6175
+ descendants: [n.NavigationMenuLink]
6428
6176
  },
6429
- indexWithinAncestor: n.NavigationMenu,
6430
6177
  presetStyle: {
6431
6178
  div
6432
- },
6433
- label: "Menu Content"
6434
- }, C$1 = {
6435
- type: "container",
6179
+ }
6180
+ }, C = {
6436
6181
  icon: BoxIcon,
6437
- constraints: [
6438
- {
6439
- relation: "ancestor",
6440
- component: { $eq: n.NavigationMenu }
6441
- },
6442
- {
6443
- relation: "ancestor",
6444
- component: {
6445
- $in: [n.NavigationMenuContent, n.NavigationMenuItem]
6446
- }
6447
- }
6448
- ],
6449
- label: "Accessible Link Wrapper"
6450
- }, V = {
6451
- type: "container",
6182
+ label: "Accessible Link Wrapper",
6183
+ contentModel: {
6184
+ category: "none",
6185
+ children: ["instance"]
6186
+ }
6187
+ }, T = {
6452
6188
  icon: ViewportIcon,
6453
- constraints: {
6454
- relation: "ancestor",
6455
- component: { $eq: n.NavigationMenu }
6189
+ label: "Menu Viewport",
6190
+ contentModel: {
6191
+ category: "none",
6192
+ children: ["instance"]
6456
6193
  },
6457
6194
  presetStyle: {
6458
6195
  div
6459
- },
6460
- label: "Menu Viewport"
6196
+ }
6461
6197
  };
6462
- const C = {
6463
- type: "container",
6198
+ const w = {
6464
6199
  icon: SelectIcon,
6465
- constraints: [
6466
- {
6467
- relation: "descendant",
6468
- component: { $eq: n.SelectTrigger }
6469
- },
6470
- {
6471
- relation: "descendant",
6472
- component: { $eq: n.SelectContent }
6473
- }
6474
- ]
6475
- }, w = {
6476
- type: "container",
6200
+ contentModel: {
6201
+ category: "instance",
6202
+ children: ["instance"],
6203
+ descendants: [n.SelectTrigger, n.SelectContent]
6204
+ }
6205
+ }, b$2 = {
6477
6206
  icon: TriggerIcon,
6207
+ contentModel: {
6208
+ category: "none",
6209
+ children: ["instance"],
6210
+ descendants: [n.SelectValue]
6211
+ },
6478
6212
  presetStyle: {
6479
6213
  button
6480
- },
6481
- constraints: [
6482
- {
6483
- relation: "ancestor",
6484
- component: { $eq: n.Select }
6485
- },
6486
- {
6487
- relation: "descendant",
6488
- component: { $eq: n.SelectValue }
6489
- }
6490
- ]
6491
- }, b$3 = {
6492
- type: "container",
6214
+ }
6215
+ }, f = {
6493
6216
  label: "Value",
6494
6217
  icon: FormTextFieldIcon,
6218
+ contentModel: {
6219
+ category: "none",
6220
+ children: []
6221
+ },
6495
6222
  presetStyle: {
6496
6223
  span
6497
- },
6498
- constraints: {
6499
- relation: "ancestor",
6500
- component: { $eq: n.SelectTrigger }
6501
6224
  }
6502
- }, f = {
6503
- type: "container",
6225
+ }, v = {
6504
6226
  icon: ContentIcon,
6227
+ contentModel: {
6228
+ category: "none",
6229
+ children: ["instance"],
6230
+ descendants: [n.SelectViewport]
6231
+ },
6505
6232
  presetStyle: {
6506
6233
  div
6507
- },
6508
- constraints: [
6509
- {
6510
- relation: "ancestor",
6511
- component: { $eq: n.Select }
6512
- },
6513
- {
6514
- relation: "descendant",
6515
- component: { $eq: n.SelectViewport }
6516
- }
6517
- ]
6518
- }, v = {
6519
- type: "container",
6234
+ }
6235
+ }, P = {
6520
6236
  icon: ViewportIcon,
6237
+ contentModel: {
6238
+ category: "none",
6239
+ children: ["instance"],
6240
+ descendants: [n.SelectItem]
6241
+ },
6521
6242
  presetStyle: {
6522
6243
  div
6523
- },
6524
- constraints: [
6525
- {
6526
- relation: "ancestor",
6527
- component: { $eq: n.SelectContent }
6528
- },
6529
- {
6530
- relation: "descendant",
6531
- component: { $eq: n.SelectItem }
6532
- }
6533
- ]
6534
- }, P = {
6535
- type: "container",
6244
+ }
6245
+ }, k = {
6536
6246
  icon: ItemIcon,
6537
- constraints: [
6538
- {
6539
- relation: "ancestor",
6540
- component: { $eq: n.SelectViewport }
6541
- },
6542
- {
6543
- relation: "descendant",
6544
- component: { $eq: n.SelectItemIndicator }
6545
- },
6546
- {
6547
- relation: "descendant",
6548
- component: { $eq: n.SelectItemText }
6549
- }
6550
- ],
6247
+ contentModel: {
6248
+ category: "none",
6249
+ children: ["instance"],
6250
+ descendants: [n.SelectItemIndicator, n.SelectItemText]
6251
+ },
6551
6252
  presetStyle: {
6552
6253
  div
6553
6254
  }
6554
- }, h = {
6555
- type: "container",
6255
+ }, F = {
6556
6256
  label: "Indicator",
6557
6257
  icon: CheckMarkIcon,
6558
- constraints: {
6559
- relation: "ancestor",
6560
- component: { $eq: n.SelectItem }
6258
+ contentModel: {
6259
+ category: "none",
6260
+ children: ["instance"]
6561
6261
  },
6562
6262
  presetStyle: {
6563
6263
  span
6564
6264
  }
6565
- }, k = {
6566
- type: "container",
6265
+ }, q = {
6567
6266
  label: "Item Text",
6568
6267
  icon: TextIcon,
6569
- constraints: {
6570
- relation: "ancestor",
6571
- component: { $eq: n.SelectItem }
6268
+ contentModel: {
6269
+ category: "none",
6270
+ children: ["instance", "rich-text"]
6572
6271
  },
6573
6272
  presetStyle: {
6574
6273
  span
6575
6274
  }
6576
6275
  };
6577
- const S = {
6578
- type: "container",
6579
- constraints: {
6580
- relation: "descendant",
6581
- component: { $eq: n.SwitchThumb }
6582
- },
6276
+ const b$1 = {
6583
6277
  icon: SwitchIcon,
6278
+ contentModel: {
6279
+ category: "instance",
6280
+ children: ["instance"],
6281
+ descendants: [n.SwitchThumb]
6282
+ },
6584
6283
  states: [
6585
6284
  ...defaultStates,
6586
6285
  {
@@ -6595,15 +6294,14 @@ const S = {
6595
6294
  }
6596
6295
  ],
6597
6296
  presetStyle: {
6598
- button: [button, b$6].flat()
6297
+ button: [button, b$5].flat()
6599
6298
  }
6600
- }, b$2 = {
6601
- type: "container",
6602
- constraints: {
6603
- relation: "ancestor",
6604
- component: { $eq: n.Switch }
6605
- },
6299
+ }, S = {
6606
6300
  icon: TriggerIcon,
6301
+ contentModel: {
6302
+ category: "none",
6303
+ children: ["instance"]
6304
+ },
6607
6305
  states: [
6608
6306
  ...defaultStates,
6609
6307
  {
@@ -6621,13 +6319,13 @@ const S = {
6621
6319
  span
6622
6320
  }
6623
6321
  };
6624
- const b$1 = {
6625
- type: "container",
6626
- constraints: {
6627
- relation: "descendant",
6628
- component: { $eq: n.CheckboxIndicator }
6629
- },
6322
+ const b = {
6630
6323
  icon: CheckboxCheckedIcon,
6324
+ contentModel: {
6325
+ category: "instance",
6326
+ children: ["instance"],
6327
+ descendants: [n.CheckboxIndicator]
6328
+ },
6631
6329
  states: [
6632
6330
  ...defaultStates,
6633
6331
  {
@@ -6642,27 +6340,26 @@ const b$1 = {
6642
6340
  }
6643
6341
  ],
6644
6342
  presetStyle: {
6645
- button: [button, b$6].flat()
6343
+ button: [button, b$5].flat()
6646
6344
  }
6647
6345
  }, x = {
6648
- type: "container",
6649
- constraints: {
6650
- relation: "ancestor",
6651
- component: { $eq: n.Checkbox }
6652
- },
6653
6346
  icon: TriggerIcon,
6347
+ contentModel: {
6348
+ category: "none",
6349
+ children: ["instance", "rich-text"]
6350
+ },
6654
6351
  states: defaultStates,
6655
6352
  presetStyle: {
6656
6353
  span
6657
6354
  }
6658
6355
  };
6659
6356
  const y = {
6660
- type: "container",
6661
- constraints: {
6662
- relation: "descendant",
6663
- component: { $eq: n.RadioGroupItem }
6664
- },
6665
6357
  icon: RadioGroupIcon,
6358
+ contentModel: {
6359
+ category: "instance",
6360
+ children: ["instance"],
6361
+ descendants: [n.RadioGroupItem]
6362
+ },
6666
6363
  states: [
6667
6364
  ...defaultStates,
6668
6365
  {
@@ -6679,29 +6376,22 @@ const y = {
6679
6376
  presetStyle: {
6680
6377
  div
6681
6378
  }
6682
- }, b = {
6683
- type: "container",
6684
- constraints: [
6685
- {
6686
- relation: "ancestor",
6687
- component: { $eq: n.RadioGroup }
6688
- },
6689
- {
6690
- relation: "descendant",
6691
- component: { $eq: n.RadioGroupIndicator }
6692
- }
6693
- ],
6379
+ }, g = {
6694
6380
  icon: ItemIcon,
6381
+ contentModel: {
6382
+ category: "none",
6383
+ children: ["instance"],
6384
+ descendants: [n.RadioGroupIndicator]
6385
+ },
6695
6386
  states: defaultStates,
6696
6387
  presetStyle: {
6697
- button: [button, b$6].flat()
6388
+ button: [button, b$5].flat()
6698
6389
  }
6699
- }, q = {
6700
- type: "container",
6390
+ }, h = {
6701
6391
  icon: TriggerIcon,
6702
- constraints: {
6703
- relation: "ancestor",
6704
- component: { $eq: n.RadioGroupItem }
6392
+ contentModel: {
6393
+ category: "none",
6394
+ children: ["instance"]
6705
6395
  },
6706
6396
  states: defaultStates,
6707
6397
  presetStyle: {
@@ -6710,54 +6400,54 @@ const y = {
6710
6400
  };
6711
6401
  const radixComponentMetas = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
6712
6402
  __proto__: null,
6713
- Accordion: H,
6714
- AccordionContent: M,
6715
- AccordionHeader: T,
6716
- AccordionItem: C$2,
6717
- AccordionTrigger: x$1,
6718
- Checkbox: b$1,
6403
+ Accordion: v$1,
6404
+ AccordionContent: S$1,
6405
+ AccordionHeader: C$1,
6406
+ AccordionItem: x$1,
6407
+ AccordionTrigger: H,
6408
+ Checkbox: b,
6719
6409
  CheckboxIndicator: x,
6720
- Collapsible: m$1,
6721
- CollapsibleContent: g$2,
6722
- CollapsibleTrigger: b$7,
6723
- Dialog: H$1,
6724
- DialogClose: E,
6725
- DialogContent: x$3,
6726
- DialogDescription: h$1,
6727
- DialogOverlay: b$5,
6728
- DialogTitle: B,
6729
- DialogTrigger: S$1,
6730
- Label: l,
6731
- NavigationMenu: d,
6410
+ Collapsible: g$2,
6411
+ CollapsibleContent: d$3,
6412
+ CollapsibleTrigger: b$6,
6413
+ Dialog: j,
6414
+ DialogClose: R,
6415
+ DialogContent: B,
6416
+ DialogDescription: H$1,
6417
+ DialogOverlay: b$4,
6418
+ DialogTitle: E,
6419
+ DialogTrigger: O,
6420
+ Label: i,
6421
+ NavigationMenu: y$1,
6732
6422
  NavigationMenuContent: w$1,
6733
- NavigationMenuItem: q$1,
6734
- NavigationMenuLink: C$1,
6735
- NavigationMenuList: $,
6736
- NavigationMenuTrigger: b$4,
6737
- NavigationMenuViewport: V,
6738
- Popover: l$1,
6739
- PopoverContent: g$1,
6740
- PopoverTrigger: v$1,
6423
+ NavigationMenuItem: b$3,
6424
+ NavigationMenuLink: C,
6425
+ NavigationMenuList: h$1,
6426
+ NavigationMenuTrigger: k$1,
6427
+ NavigationMenuViewport: T,
6428
+ Popover: l,
6429
+ PopoverContent: d$1,
6430
+ PopoverTrigger: v$2,
6741
6431
  RadioGroup: y,
6742
- RadioGroupIndicator: q,
6743
- RadioGroupItem: b,
6744
- Select: C,
6745
- SelectContent: f,
6746
- SelectItem: P,
6747
- SelectItemIndicator: h,
6748
- SelectItemText: k,
6749
- SelectTrigger: w,
6750
- SelectValue: b$3,
6751
- SelectViewport: v,
6752
- Switch: S,
6753
- SwitchThumb: b$2,
6754
- Tabs: C$3,
6755
- TabsContent: x$2,
6756
- TabsList: L,
6757
- TabsTrigger: u,
6758
- Tooltip: d$1,
6759
- TooltipContent: g,
6760
- TooltipTrigger: m
6432
+ RadioGroupIndicator: h,
6433
+ RadioGroupItem: g,
6434
+ Select: w,
6435
+ SelectContent: v,
6436
+ SelectItem: k,
6437
+ SelectItemIndicator: F,
6438
+ SelectItemText: q,
6439
+ SelectTrigger: b$2,
6440
+ SelectValue: f,
6441
+ SelectViewport: P,
6442
+ Switch: b$1,
6443
+ SwitchThumb: S,
6444
+ Tabs: M,
6445
+ TabsContent: S$2,
6446
+ TabsList: x$2,
6447
+ TabsTrigger: C$2,
6448
+ Tooltip: m,
6449
+ TooltipContent: d,
6450
+ TooltipTrigger: g$1
6761
6451
  }, Symbol.toStringTag, { value: "Module" }));
6762
6452
  const createFramework$2 = async () => {
6763
6453
  const routeTemplatesDir = join("app", "route-templates");
@@ -6843,7 +6533,7 @@ const reactRouterComponentMetas = /* @__PURE__ */ Object.freeze(/* @__PURE__ */
6843
6533
  Form: c$1,
6844
6534
  Link: n$6,
6845
6535
  RemixForm: n$4,
6846
- RichTextLink: o$4
6536
+ RichTextLink: p$8
6847
6537
  }, Symbol.toStringTag, { value: "Module" }));
6848
6538
  const createFramework$1 = async () => {
6849
6539
  const routeTemplatesDir = join("app", "route-templates");
@@ -6969,20 +6659,25 @@ const createFramework = async () => {
6969
6659
  metas: radixComponentNamespacedMetas
6970
6660
  }
6971
6661
  ],
6972
- html: ({ pagePath }) => [
6973
- {
6974
- file: join("pages", generateVikeRoute(pagePath), "+Page.tsx"),
6975
- template: htmlPageTemplate
6976
- },
6977
- {
6978
- file: join("pages", generateVikeRoute(pagePath), "+Head.tsx"),
6979
- template: htmlHeadTemplate
6980
- },
6981
- {
6982
- file: join("pages", generateVikeRoute(pagePath), "+data.ts"),
6983
- template: htmlDataTemplate
6662
+ html: ({ pagePath }) => {
6663
+ if (isPathnamePattern(pagePath)) {
6664
+ return [];
6984
6665
  }
6985
- ],
6666
+ return [
6667
+ {
6668
+ file: join("pages", generateVikeRoute(pagePath), "+Page.tsx"),
6669
+ template: htmlPageTemplate
6670
+ },
6671
+ {
6672
+ file: join("pages", generateVikeRoute(pagePath), "+Head.tsx"),
6673
+ template: htmlHeadTemplate
6674
+ },
6675
+ {
6676
+ file: join("pages", generateVikeRoute(pagePath), "+data.ts"),
6677
+ template: htmlDataTemplate
6678
+ }
6679
+ ];
6680
+ },
6986
6681
  xml: () => [],
6987
6682
  redirect: () => [],
6988
6683
  defaultSitemap: () => []
@@ -7634,7 +7329,7 @@ const initFlow = async (options) => {
7634
7329
  if (shouldInstallDeps === true) {
7635
7330
  const install = spinner();
7636
7331
  install.start("Installing dependencies");
7637
- await x$4("npm", ["install"]);
7332
+ await x$3("npm", ["install"]);
7638
7333
  install.stop("Installed dependencies");
7639
7334
  }
7640
7335
  log.message();
@@ -7665,7 +7360,7 @@ const getDeploymentInstructions = (deployTarget) => {
7665
7360
  }
7666
7361
  };
7667
7362
  const name = "webstudio";
7668
- const version = "0.216.0";
7363
+ const version = "0.218.0";
7669
7364
  const description = "Webstudio CLI";
7670
7365
  const author = "Webstudio <github@webstudio.is>";
7671
7366
  const homepage = "https://webstudio.is";
@@ -7703,7 +7398,7 @@ const dependencies = {
7703
7398
  "change-case": "^5.4.4",
7704
7399
  deepmerge: "^4.3.1",
7705
7400
  "env-paths": "^3.0.0",
7706
- nanoid: "^5.0.9",
7401
+ nanoid: "^5.1.5",
7707
7402
  "p-limit": "^6.2.0",
7708
7403
  parse5: "7.2.1",
7709
7404
  picocolors: "^1.1.1",