webstudio 0.260.2 → 0.261.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
@@ -2644,7 +2644,7 @@ var toValue = (styleValue, transformValue) => {
2644
2644
  case "oklch":
2645
2645
  return `oklch(${c1} ${c2} ${c3} / ${alpha})`;
2646
2646
  // Fall back to color() function for less common color spaces.
2647
- // colorjs uses internal short names that differ from CSS predefined color space identifiers.
2647
+ // Webstudio uses colorjs internal names; map to CSS predefined color space names.
2648
2648
  case "p3":
2649
2649
  return `color(display-p3 ${c1} ${c2} ${c3} / ${alpha})`;
2650
2650
  case "a98rgb":
@@ -4643,7 +4643,7 @@ __export(normalize_css_exports, {
4643
4643
  address: () => address$1,
4644
4644
  article: () => article$1,
4645
4645
  aside: () => aside$1,
4646
- b: () => b$6,
4646
+ b: () => b$5,
4647
4647
  body: () => body$1,
4648
4648
  button: () => button$1,
4649
4649
  checkbox: () => checkbox$1,
@@ -4770,14 +4770,14 @@ var hr$1 = [
4770
4770
  { property: "color", value: { type: "keyword", value: "inherit" } },
4771
4771
  { property: "box-sizing", value: { type: "keyword", value: "border-box" } }
4772
4772
  ];
4773
- var b$6 = [
4773
+ var b$5 = [
4774
4774
  {
4775
4775
  property: "font-weight",
4776
4776
  value: { type: "unit", unit: "number", value: 700 }
4777
4777
  },
4778
4778
  { property: "box-sizing", value: { type: "keyword", value: "border-box" } }
4779
4779
  ];
4780
- var strong = b$6;
4780
+ var strong = b$5;
4781
4781
  var code$1 = [
4782
4782
  {
4783
4783
  property: "font-family",
@@ -7045,7 +7045,7 @@ var hr = [
7045
7045
  { property: "color", value: { type: "keyword", value: "inherit" } },
7046
7046
  { property: "box-sizing", value: { type: "keyword", value: "border-box" } }
7047
7047
  ];
7048
- var b$5 = [
7048
+ var b$4 = [
7049
7049
  {
7050
7050
  property: "font-weight",
7051
7051
  value: { type: "unit", unit: "number", value: 700 }
@@ -7262,7 +7262,7 @@ const n$6 = {
7262
7262
  const t$e = {
7263
7263
  tag: { required: false, control: "text", type: "string" }
7264
7264
  };
7265
- const m$9 = {
7265
+ const m$8 = {
7266
7266
  presetStyle: {
7267
7267
  h1,
7268
7268
  h2,
@@ -7345,7 +7345,7 @@ const e$s = {
7345
7345
  const o$D = {};
7346
7346
  const p$6 = {
7347
7347
  label: "Bold Text",
7348
- presetStyle: { b: b$5 },
7348
+ presetStyle: { b: b$4 },
7349
7349
  initialProps: ["id", "class"],
7350
7350
  props: o$D
7351
7351
  };
@@ -7745,7 +7745,7 @@ const r$a = {
7745
7745
  value: { type: "unit", unit: "em", value: 0.5 }
7746
7746
  }
7747
7747
  ]
7748
- }, m$8 = {
7748
+ }, m$7 = {
7749
7749
  label: "Radio",
7750
7750
  icon: RadioCheckedIcon,
7751
7751
  presetStyle: r$a,
@@ -7768,7 +7768,7 @@ const t$9 = {
7768
7768
  value: { type: "unit", unit: "em", value: 0.5 }
7769
7769
  }
7770
7770
  ]
7771
- }, m$7 = {
7771
+ }, m$6 = {
7772
7772
  icon: CheckboxCheckedIcon,
7773
7773
  presetStyle: t$9,
7774
7774
  initialProps: ["id", "class", "name", "value", "required", "checked"],
@@ -8252,7 +8252,7 @@ const e$f = {
8252
8252
  xmlns: { required: false, control: "text", type: "string" },
8253
8253
  "xmlns:xhtml": { required: false, control: "text", type: "string" }
8254
8254
  };
8255
- const m$6 = {
8255
+ const m$5 = {
8256
8256
  category: "xml",
8257
8257
  order: 6,
8258
8258
  icon: XmlIcon,
@@ -8761,7 +8761,7 @@ const baseComponentMetas = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.
8761
8761
  Bold: p$6,
8762
8762
  Box: g$3,
8763
8763
  Button: e$q,
8764
- Checkbox: m$7,
8764
+ Checkbox: m$6,
8765
8765
  CodeText: c$3,
8766
8766
  Form: c$4,
8767
8767
  Fragment: t$i,
@@ -8769,7 +8769,7 @@ const baseComponentMetas = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.
8769
8769
  HeadMeta: e$c,
8770
8770
  HeadSlot: r$8,
8771
8771
  HeadTitle: r$7,
8772
- Heading: m$9,
8772
+ Heading: m$8,
8773
8773
  HtmlEmbed: a$6,
8774
8774
  Image: i$7,
8775
8775
  Input: l$5,
@@ -8781,7 +8781,7 @@ const baseComponentMetas = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.
8781
8781
  MarkdownEmbed: a$5,
8782
8782
  Option: a$1,
8783
8783
  Paragraph: i$8,
8784
- RadioButton: m$8,
8784
+ RadioButton: m$7,
8785
8785
  RemixForm: p$4,
8786
8786
  RichTextLink: a$3,
8787
8787
  Select: p$2,
@@ -8798,26 +8798,26 @@ const baseComponentMetas = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.
8798
8798
  VimeoPlayButton: c$2,
8799
8799
  VimeoPreviewImage: i$5,
8800
8800
  VimeoSpinner: c$1,
8801
- XmlNode: m$6,
8801
+ XmlNode: m$5,
8802
8802
  XmlTime: a$2,
8803
8803
  YouTube: s$2
8804
8804
  }, Symbol.toStringTag, { value: "Module" }));
8805
8805
  //! SPDX-License-Identifier: LicenseRef-Webstudio,Inc-Proprietary
8806
8806
  const l$1 = (n2) => new Proxy({}, { get(w2, t2) {
8807
8807
  return `${n2}${t2}`;
8808
- } }), i$3 = l$1("@webstudio-is/sdk-components-animation:"), c = { category: "animations", description: "Animation Group component is designed to animate its children.", icon: AnimationGroupIcon, order: 0, label: "Animation Group", contentModel: { category: "instance", children: ["instance", i$3.AnimateText, i$3.StaggerAnimation, i$3.VideoAnimation] }, initialProps: ["action"], props: { action: { required: false, control: "animationAction", type: "animationAction", description: "Animation Action" } } }, d$2 = { className: { required: false, control: "text", type: "string", description: "Classes to which the element belongs" }, easing: { description: "Easing function applied within the sliding window.", required: false, control: "select", type: "string", defaultValue: "linear", options: ["linear", "easeIn", "easeInCubic", "easeInQuart", "easeOut", "easeOutCubic", "easeOutQuart", "ease", "easeInOutCubic", "easeInOutQuart"] }, slidingWindow: { description: `Size of the sliding window for the animation:
8808
+ } }), i$3 = l$1("@webstudio-is/sdk-components-animation:"), c = { category: "animations", description: "Animation Group component is designed to animate its children.", icon: AnimationGroupIcon, order: 0, label: "Animation Group", contentModel: { category: "instance", children: ["instance", i$3.AnimateText, i$3.StaggerAnimation, i$3.VideoAnimation] }, initialProps: ["action"], props: { action: { required: false, control: "animationAction", type: "animationAction", description: "Animation Action" } } }, d$1 = { className: { required: false, control: "text", type: "string", description: "Classes to which the element belongs" }, easing: { description: "Easing function applied within the sliding window.", required: false, control: "select", type: "string", defaultValue: "linear", options: ["linear", "easeIn", "easeInCubic", "easeInQuart", "easeOut", "easeOutCubic", "easeOutQuart", "ease", "easeInOutCubic", "easeInOutQuart"] }, slidingWindow: { description: `Size of the sliding window for the animation:
8809
8809
  - 0: Typewriter effect (no animation).
8810
8810
  - (0..1]: Animates one part of the text at a time.
8811
- - (1..n]: Animates multiple parts of the text within the sliding window.`, required: false, control: "number", type: "number", defaultValue: 5 }, splitBy: { description: "Defines how the text is split for animation (e.g., by character, space, or symbol).", required: false, control: "select", type: "string", defaultValue: "char", options: ["char", "space", 'symbol "#"', 'symbol "~"'] } }, p$1 = { category: "animations", description: "Text animation allows you to split text by char or by word to animate it.", icon: TextAnimationIcon, order: 1, label: "Text Animation", contentModel: { category: "none", children: ["instance"] }, presetStyle: { div }, initialProps: ["slidingWindow", "easing", "splitBy"], props: d$2 }, m$5 = { className: { required: false, control: "text", type: "string", description: "Classes to which the element belongs" }, easing: { description: "Easing function applied within the sliding window.", required: false, control: "select", type: "string", defaultValue: "linear", options: ["linear", "easeIn", "easeInCubic", "easeInQuart", "easeOut", "easeOutCubic", "easeOutQuart", "ease", "easeInOutCubic", "easeInOutQuart"] }, slidingWindow: { description: `Size of the sliding window for the animation:
8811
+ - (1..n]: Animates multiple parts of the text within the sliding window.`, required: false, control: "number", type: "number", defaultValue: 5 }, splitBy: { description: "Defines how the text is split for animation (e.g., by character, space, or symbol).", required: false, control: "select", type: "string", defaultValue: "char", options: ["char", "space", 'symbol "#"', 'symbol "~"'] } }, p$1 = { category: "animations", description: "Text animation allows you to split text by char or by word to animate it.", icon: TextAnimationIcon, order: 1, label: "Text Animation", contentModel: { category: "none", children: ["instance"] }, presetStyle: { div }, initialProps: ["slidingWindow", "easing", "splitBy"], props: d$1 }, m$4 = { className: { required: false, control: "text", type: "string", description: "Classes to which the element belongs" }, easing: { description: "Easing function applied within the sliding window.", required: false, control: "select", type: "string", defaultValue: "linear", options: ["linear", "easeIn", "easeInCubic", "easeInQuart", "easeOut", "easeOutCubic", "easeOutQuart", "ease", "easeInOutCubic", "easeInOutQuart"] }, slidingWindow: { description: `Size of the sliding window for the animation:
8812
8812
  - 0: Typewriter effect (no animation).
8813
8813
  - (0..1]: Animates one child at a time.
8814
- - (1..n]: Animates multiple children within the sliding window.`, required: false, control: "number", type: "number", defaultValue: 1 } }, u$1 = { category: "animations", description: "Stagger animation allows you to animate children elements with a sliding window.", icon: StaggerAnimationIcon, order: 4, label: "Stagger Animation", contentModel: { category: "none", children: ["instance"] }, presetStyle: { div }, initialProps: ["slidingWindow", "easing"], props: m$5 }, g$2 = { timeline: { required: false, control: "boolean", type: "boolean" } }, h$2 = { icon: PlayIcon, label: "Video Animation", contentModel: { category: "none", children: ["instance"] }, presetStyle: { div }, props: g$2, initialProps: ["timeline"] };
8814
+ - (1..n]: Animates multiple children within the sliding window.`, required: false, control: "number", type: "number", defaultValue: 1 } }, u$1 = { category: "animations", description: "Stagger animation allows you to animate children elements with a sliding window.", icon: StaggerAnimationIcon, order: 4, label: "Stagger Animation", contentModel: { category: "none", children: ["instance"] }, presetStyle: { div }, initialProps: ["slidingWindow", "easing"], props: m$4 }, g$2 = { timeline: { required: false, control: "boolean", type: "boolean" } }, h$3 = { icon: PlayIcon, label: "Video Animation", contentModel: { category: "none", children: ["instance"] }, presetStyle: { div }, props: g$2, initialProps: ["timeline"] };
8815
8815
  const animationComponentMetas = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
8816
8816
  __proto__: null,
8817
8817
  AnimateChildren: c,
8818
8818
  AnimateText: p$1,
8819
8819
  StaggerAnimation: u$1,
8820
- VideoAnimation: h$2
8820
+ VideoAnimation: h$3
8821
8821
  }, Symbol.toStringTag, { value: "Module" }));
8822
8822
  const r$6 = (t2) => new Proxy(
8823
8823
  {},
@@ -8843,31 +8843,43 @@ const o$c = {
8843
8843
  description: "Show or hide the content of this component on the canvas. This will not affect the initial state of the component."
8844
8844
  }
8845
8845
  }, e$b = {}, t$7 = {};
8846
- const g$1 = {
8846
+ const C$3 = {
8847
8847
  icon: CollapsibleIcon,
8848
8848
  contentModel: {
8849
8849
  category: "instance",
8850
8850
  children: ["instance"],
8851
8851
  descendants: [n$4.CollapsibleTrigger, n$4.CollapsibleContent]
8852
8852
  },
8853
+ states: [
8854
+ { label: "Open", selector: '[data-state="open"]' },
8855
+ { label: "Closed", selector: '[data-state="closed"]' }
8856
+ ],
8853
8857
  presetStyle: {
8854
8858
  div
8855
8859
  },
8856
8860
  initialProps: ["open"],
8857
8861
  props: o$c
8858
- }, m$4 = {
8862
+ }, b$3 = {
8859
8863
  icon: TriggerIcon,
8860
8864
  contentModel: {
8861
8865
  category: "none",
8862
8866
  children: ["instance", "rich-text"]
8863
8867
  },
8868
+ states: [
8869
+ { label: "Open", selector: '[data-state="open"]' },
8870
+ { label: "Closed", selector: '[data-state="closed"]' }
8871
+ ],
8864
8872
  props: e$b
8865
- }, d$1 = {
8873
+ }, g$1 = {
8866
8874
  icon: ContentIcon,
8867
8875
  contentModel: {
8868
8876
  category: "none",
8869
8877
  children: ["instance", "rich-text"]
8870
8878
  },
8879
+ states: [
8880
+ { label: "Open", selector: '[data-state="open"]' },
8881
+ { label: "Closed", selector: '[data-state="closed"]' }
8882
+ ],
8871
8883
  presetStyle: {
8872
8884
  div
8873
8885
  },
@@ -8897,7 +8909,7 @@ const o$a = (r2, t2, p2) => ({
8897
8909
  }), d = (r2, t2, p2, l2) => ({
8898
8910
  property: r2,
8899
8911
  value: { type: "rgb", alpha: 1, r: t2, g: p2, b: l2 }
8900
- }), b$4 = [
8912
+ }), b$2 = [
8901
8913
  {
8902
8914
  property: "background-color",
8903
8915
  value: { type: "keyword", value: "transparent" }
@@ -8923,23 +8935,31 @@ const o$a = (r2, t2, p2) => ({
8923
8935
  o$a("padding-bottom", 0, "px"),
8924
8936
  o$a("padding-left", 0, "px")
8925
8937
  ];
8926
- const S$1 = {
8938
+ const u = {
8927
8939
  icon: TriggerIcon,
8928
8940
  contentModel: {
8929
8941
  category: "none",
8930
8942
  children: ["instance"]
8931
8943
  },
8944
+ states: [
8945
+ { label: "Open", selector: '[data-state="open"]' },
8946
+ { label: "Closed", selector: '[data-state="closed"]' }
8947
+ ],
8932
8948
  props: t$6
8933
- }, b$3 = {
8949
+ }, v$2 = {
8934
8950
  icon: OverlayIcon,
8935
8951
  contentModel: {
8936
8952
  category: "none",
8937
8953
  children: ["instance"],
8938
8954
  descendants: [n$4.DialogContent]
8939
8955
  },
8956
+ states: [
8957
+ { label: "Open", selector: '[data-state="open"]' },
8958
+ { label: "Closed", selector: '[data-state="closed"]' }
8959
+ ],
8940
8960
  presetStyle: { div },
8941
8961
  props: e$a
8942
- }, O = {
8962
+ }, S$1 = {
8943
8963
  icon: ContentIcon,
8944
8964
  contentModel: {
8945
8965
  category: "none",
@@ -8950,6 +8970,10 @@ const S$1 = {
8950
8970
  n$4.DialogClose
8951
8971
  ]
8952
8972
  },
8973
+ states: [
8974
+ { label: "Open", selector: '[data-state="open"]' },
8975
+ { label: "Closed", selector: '[data-state="closed"]' }
8976
+ ],
8953
8977
  presetStyle: { div },
8954
8978
  props: n$3
8955
8979
  }, B = {
@@ -8976,7 +9000,7 @@ const S$1 = {
8976
9000
  children: ["instance", "rich-text"]
8977
9001
  },
8978
9002
  presetStyle: {
8979
- button: [b$4, button].flat()
9003
+ button: [b$2, button].flat()
8980
9004
  },
8981
9005
  props: s$1
8982
9006
  }, P$1 = {
@@ -9045,26 +9069,34 @@ const e$8 = {
9045
9069
  options: ["always", "optimized"]
9046
9070
  }
9047
9071
  }, r$5 = {};
9048
- const C$3 = {
9072
+ const C$2 = {
9049
9073
  icon: TriggerIcon,
9050
9074
  contentModel: {
9051
9075
  category: "none",
9052
9076
  children: ["instance"]
9053
9077
  },
9078
+ states: [
9079
+ { label: "Open", selector: '[data-state="open"]' },
9080
+ { label: "Closed", selector: '[data-state="closed"]' }
9081
+ ],
9054
9082
  props: o$9
9055
- }, y$1 = {
9083
+ }, b$1 = {
9056
9084
  icon: ContentIcon,
9057
9085
  contentModel: {
9058
9086
  category: "none",
9059
9087
  children: ["instance"],
9060
9088
  descendants: [n$4.PopoverClose]
9061
9089
  },
9090
+ states: [
9091
+ { label: "Open", selector: '[data-state="open"]' },
9092
+ { label: "Closed", selector: '[data-state="closed"]' }
9093
+ ],
9062
9094
  presetStyle: {
9063
9095
  div
9064
9096
  },
9065
9097
  initialProps: ["side", "sideOffset", "align", "alignOffset"],
9066
9098
  props: t$5
9067
- }, h$1 = {
9099
+ }, y$1 = {
9068
9100
  icon: PopoverIcon,
9069
9101
  contentModel: {
9070
9102
  category: "instance",
@@ -9073,7 +9105,7 @@ const C$3 = {
9073
9105
  },
9074
9106
  initialProps: ["open"],
9075
9107
  props: e$8
9076
- }, u = {
9108
+ }, h$2 = {
9077
9109
  icon: ButtonElementIcon,
9078
9110
  label: "Close Button",
9079
9111
  contentModel: {
@@ -9081,7 +9113,7 @@ const C$3 = {
9081
9113
  children: ["instance", "rich-text"]
9082
9114
  },
9083
9115
  presetStyle: {
9084
- button: [b$4, button].flat()
9116
+ button: [b$2, button].flat()
9085
9117
  },
9086
9118
  props: r$5
9087
9119
  };
@@ -9164,6 +9196,11 @@ const g = {
9164
9196
  category: "none",
9165
9197
  children: ["instance"]
9166
9198
  },
9199
+ states: [
9200
+ { label: "Closed", selector: '[data-state="closed"]' },
9201
+ { label: "Delayed open", selector: '[data-state="delayed-open"]' },
9202
+ { label: "Instant open", selector: '[data-state="instant-open"]' }
9203
+ ],
9167
9204
  props: o$8
9168
9205
  }, T = {
9169
9206
  icon: ContentIcon,
@@ -9171,6 +9208,11 @@ const g = {
9171
9208
  category: "none",
9172
9209
  children: ["instance"]
9173
9210
  },
9211
+ states: [
9212
+ { label: "Closed", selector: '[data-state="closed"]' },
9213
+ { label: "Delayed open", selector: '[data-state="delayed-open"]' },
9214
+ { label: "Instant open", selector: '[data-state="instant-open"]' }
9215
+ ],
9174
9216
  presetStyle: { div },
9175
9217
  initialProps: ["side", "sideOffset", "align", "alignOffset"],
9176
9218
  props: t$4
@@ -9243,7 +9285,7 @@ Mainly so arrow navigation is done accordingly (left & right vs. up & down)
9243
9285
  description: "Current value of the element"
9244
9286
  }
9245
9287
  };
9246
- const y = {
9288
+ const h$1 = {
9247
9289
  icon: TabsIcon,
9248
9290
  contentModel: {
9249
9291
  category: "instance",
@@ -9252,7 +9294,7 @@ const y = {
9252
9294
  },
9253
9295
  presetStyle: { div },
9254
9296
  props: e$6
9255
- }, f$2 = {
9297
+ }, y = {
9256
9298
  icon: HeaderIcon,
9257
9299
  contentModel: {
9258
9300
  category: "none",
@@ -9261,7 +9303,7 @@ const y = {
9261
9303
  },
9262
9304
  presetStyle: { div },
9263
9305
  props: t$3
9264
- }, x$1 = {
9306
+ }, f$2 = {
9265
9307
  icon: TriggerIcon,
9266
9308
  label: "Tab Trigger",
9267
9309
  indexWithinAncestor: n$4.Tabs,
@@ -9269,12 +9311,15 @@ const y = {
9269
9311
  category: "none",
9270
9312
  children: ["instance", "rich-text"]
9271
9313
  },
9272
- states: [{ label: "Active", selector: "[data-state=active]" }],
9314
+ states: [
9315
+ { label: "Active", selector: '[data-state="active"]' },
9316
+ { label: "Inactive", selector: '[data-state="inactive"]' }
9317
+ ],
9273
9318
  presetStyle: {
9274
- button: [button, b$4].flat()
9319
+ button: [button, b$2].flat()
9275
9320
  },
9276
9321
  props: o$7
9277
- }, C$2 = {
9322
+ }, x$1 = {
9278
9323
  label: "Tab Content",
9279
9324
  icon: ContentIcon,
9280
9325
  indexWithinAncestor: n$4.Tabs,
@@ -9282,6 +9327,10 @@ const y = {
9282
9327
  category: "none",
9283
9328
  children: ["instance", "rich-text"]
9284
9329
  },
9330
+ states: [
9331
+ { label: "Active", selector: '[data-state="active"]' },
9332
+ { label: "Inactive", selector: '[data-state="inactive"]' }
9333
+ ],
9285
9334
  presetStyle: { div },
9286
9335
  props: r$4
9287
9336
  };
@@ -9349,7 +9398,7 @@ const e$5 = {
9349
9398
  description: "Current value of the element"
9350
9399
  }
9351
9400
  }, t$2 = {}, r$3 = {}, n$2 = {};
9352
- const v$1 = {
9401
+ const C$1 = {
9353
9402
  icon: AccordionIcon,
9354
9403
  contentModel: {
9355
9404
  category: "instance",
@@ -9359,7 +9408,7 @@ const v$1 = {
9359
9408
  presetStyle: { div },
9360
9409
  initialProps: ["value", "collapsible"],
9361
9410
  props: e$5
9362
- }, x = {
9411
+ }, v$1 = {
9363
9412
  label: "Item",
9364
9413
  icon: ItemIcon,
9365
9414
  indexWithinAncestor: n$4.Accordion,
@@ -9368,10 +9417,14 @@ const v$1 = {
9368
9417
  children: ["instance"],
9369
9418
  descendants: [n$4.AccordionHeader, n$4.AccordionContent]
9370
9419
  },
9420
+ states: [
9421
+ { label: "Open", selector: '[data-state="open"]' },
9422
+ { label: "Closed", selector: '[data-state="closed"]' }
9423
+ ],
9371
9424
  presetStyle: { div },
9372
9425
  initialProps: ["value"],
9373
9426
  props: o$5
9374
- }, f$1 = {
9427
+ }, x = {
9375
9428
  label: "Item Header",
9376
9429
  icon: HeaderIcon,
9377
9430
  contentModel: {
@@ -9379,6 +9432,10 @@ const v$1 = {
9379
9432
  children: ["instance"],
9380
9433
  descendants: [n$4.AccordionTrigger]
9381
9434
  },
9435
+ states: [
9436
+ { label: "Open", selector: '[data-state="open"]' },
9437
+ { label: "Closed", selector: '[data-state="closed"]' }
9438
+ ],
9382
9439
  presetStyle: {
9383
9440
  h3: [
9384
9441
  ...h3,
@@ -9393,16 +9450,19 @@ const v$1 = {
9393
9450
  ]
9394
9451
  },
9395
9452
  props: t$2
9396
- }, C$1 = {
9453
+ }, f$1 = {
9397
9454
  label: "Item Trigger",
9398
9455
  icon: TriggerIcon,
9399
9456
  contentModel: {
9400
9457
  category: "none",
9401
9458
  children: ["instance", "rich-text"]
9402
9459
  },
9403
- states: [{ label: "Open", selector: "[data-state=open]" }],
9460
+ states: [
9461
+ { label: "Open", selector: '[data-state="open"]' },
9462
+ { label: "Closed", selector: '[data-state="closed"]' }
9463
+ ],
9404
9464
  presetStyle: {
9405
- button: [button, b$4].flat()
9465
+ button: [button, b$2].flat()
9406
9466
  },
9407
9467
  props: r$3
9408
9468
  }, H = {
@@ -9412,6 +9472,10 @@ const v$1 = {
9412
9472
  category: "none",
9413
9473
  children: ["instance", "rich-text"]
9414
9474
  },
9475
+ states: [
9476
+ { label: "Open", selector: '[data-state="open"]' },
9477
+ { label: "Closed", selector: '[data-state="closed"]' }
9478
+ ],
9415
9479
  presetStyle: {
9416
9480
  div
9417
9481
  },
@@ -9456,7 +9520,7 @@ const e$4 = {
9456
9520
  }, i$1 = {
9457
9521
  active: { required: false, control: "boolean", type: "boolean" }
9458
9522
  }, a = {};
9459
- const L = {
9523
+ const I = {
9460
9524
  icon: NavigationMenuIcon,
9461
9525
  contentModel: {
9462
9526
  category: "instance",
@@ -9467,7 +9531,7 @@ const L = {
9467
9531
  div
9468
9532
  },
9469
9533
  props: e$4
9470
- }, h = {
9534
+ }, L = {
9471
9535
  icon: ListIcon,
9472
9536
  label: "Menu List",
9473
9537
  contentModel: {
@@ -9479,7 +9543,7 @@ const L = {
9479
9543
  div
9480
9544
  },
9481
9545
  props: t$1
9482
- }, b$2 = {
9546
+ }, h = {
9483
9547
  icon: ListItemIcon,
9484
9548
  label: "Menu Item",
9485
9549
  indexWithinAncestor: n$4.NavigationMenu,
@@ -9496,15 +9560,19 @@ const L = {
9496
9560
  div
9497
9561
  },
9498
9562
  props: o$4
9499
- }, k$3 = {
9563
+ }, C = {
9500
9564
  icon: TriggerIcon,
9501
9565
  label: "Menu Trigger",
9502
9566
  contentModel: {
9503
9567
  category: "none",
9504
9568
  children: ["instance"]
9505
9569
  },
9570
+ states: [
9571
+ { label: "Open", selector: '[data-state="open"]' },
9572
+ { label: "Closed", selector: '[data-state="closed"]' }
9573
+ ],
9506
9574
  props: a
9507
- }, w$1 = {
9575
+ }, k$3 = {
9508
9576
  icon: ContentIcon,
9509
9577
  label: "Menu Content",
9510
9578
  contentModel: {
@@ -9512,11 +9580,15 @@ const L = {
9512
9580
  children: ["instance"],
9513
9581
  descendants: [n$4.NavigationMenuLink]
9514
9582
  },
9583
+ states: [
9584
+ { label: "Open", selector: '[data-state="open"]' },
9585
+ { label: "Closed", selector: '[data-state="closed"]' }
9586
+ ],
9515
9587
  presetStyle: {
9516
9588
  div
9517
9589
  },
9518
9590
  props: n$1
9519
- }, C = {
9591
+ }, w$1 = {
9520
9592
  icon: BoxIcon,
9521
9593
  label: "Accessible Link Wrapper",
9522
9594
  contentModel: {
@@ -9531,6 +9603,10 @@ const L = {
9531
9603
  category: "none",
9532
9604
  children: ["instance"]
9533
9605
  },
9606
+ states: [
9607
+ { label: "Open", selector: '[data-state="open"]' },
9608
+ { label: "Closed", selector: '[data-state="closed"]' }
9609
+ ],
9534
9610
  presetStyle: {
9535
9611
  div
9536
9612
  },
@@ -9640,7 +9716,7 @@ const e$3 = {
9640
9716
  description: "Current value of the element"
9641
9717
  }
9642
9718
  }, l = {}, s = {};
9643
- const b$1 = {
9719
+ const V = {
9644
9720
  icon: SelectIcon,
9645
9721
  contentModel: {
9646
9722
  category: "instance",
@@ -9649,16 +9725,20 @@ const b$1 = {
9649
9725
  },
9650
9726
  initialProps: ["name", "value", "open", "required"],
9651
9727
  props: e$3
9652
- }, f = {
9728
+ }, k$2 = {
9653
9729
  icon: TriggerIcon,
9654
9730
  contentModel: {
9655
9731
  category: "none",
9656
9732
  children: ["instance"],
9657
9733
  descendants: [n$4.SelectValue]
9658
9734
  },
9735
+ states: [
9736
+ { label: "Open", selector: '[data-state="open"]' },
9737
+ { label: "Closed", selector: '[data-state="closed"]' }
9738
+ ],
9659
9739
  presetStyle: { button },
9660
9740
  props: t
9661
- }, w = {
9741
+ }, f = {
9662
9742
  label: "Value",
9663
9743
  icon: FormTextFieldIcon,
9664
9744
  contentModel: {
@@ -9668,16 +9748,20 @@ const b$1 = {
9668
9748
  presetStyle: { span },
9669
9749
  initialProps: ["placeholder"],
9670
9750
  props: o$3
9671
- }, v = {
9751
+ }, w = {
9672
9752
  icon: ContentIcon,
9673
9753
  contentModel: {
9674
9754
  category: "none",
9675
9755
  children: ["instance"],
9676
9756
  descendants: [n$4.SelectViewport]
9677
9757
  },
9758
+ states: [
9759
+ { label: "Open", selector: '[data-state="open"]' },
9760
+ { label: "Closed", selector: '[data-state="closed"]' }
9761
+ ],
9678
9762
  presetStyle: { div },
9679
9763
  props: r$1
9680
- }, P = {
9764
+ }, v = {
9681
9765
  icon: ViewportIcon,
9682
9766
  contentModel: {
9683
9767
  category: "none",
@@ -9686,13 +9770,17 @@ const b$1 = {
9686
9770
  },
9687
9771
  presetStyle: { div },
9688
9772
  props: n
9689
- }, k$2 = {
9773
+ }, P = {
9690
9774
  icon: ItemIcon,
9691
9775
  contentModel: {
9692
9776
  category: "none",
9693
9777
  children: ["instance"],
9694
9778
  descendants: [n$4.SelectItemIndicator, n$4.SelectItemText]
9695
9779
  },
9780
+ states: [
9781
+ { label: "Checked", selector: '[data-state="checked"]' },
9782
+ { label: "Unchecked", selector: '[data-state="unchecked"]' }
9783
+ ],
9696
9784
  presetStyle: { div },
9697
9785
  initialProps: ["value"],
9698
9786
  props: i
@@ -9705,7 +9793,7 @@ const b$1 = {
9705
9793
  },
9706
9794
  presetStyle: { span },
9707
9795
  props: l
9708
- }, q = {
9796
+ }, O = {
9709
9797
  label: "Item Text",
9710
9798
  icon: TextIcon,
9711
9799
  contentModel: {
@@ -9737,11 +9825,11 @@ const m$1 = {
9737
9825
  descendants: [n$4.SwitchThumb]
9738
9826
  },
9739
9827
  states: [
9740
- { label: "Checked", selector: "[data-state=checked]" },
9741
- { label: "Unchecked", selector: "[data-state=unchecked]" }
9828
+ { label: "Checked", selector: '[data-state="checked"]' },
9829
+ { label: "Unchecked", selector: '[data-state="unchecked"]' }
9742
9830
  ],
9743
9831
  presetStyle: {
9744
- button: [button, b$4].flat()
9832
+ button: [button, b$2].flat()
9745
9833
  },
9746
9834
  initialProps: ["id", "class", "name", "value", "checked", "required"],
9747
9835
  props: e$2
@@ -9752,8 +9840,8 @@ const m$1 = {
9752
9840
  children: ["instance"]
9753
9841
  },
9754
9842
  states: [
9755
- { label: "Checked", selector: "[data-state=checked]" },
9756
- { label: "Unchecked", selector: "[data-state=unchecked]" }
9843
+ { label: "Checked", selector: '[data-state="checked"]' },
9844
+ { label: "Unchecked", selector: '[data-state="unchecked"]' }
9757
9845
  ],
9758
9846
  presetStyle: {
9759
9847
  span
@@ -9782,11 +9870,12 @@ const m = {
9782
9870
  descendants: [n$4.CheckboxIndicator]
9783
9871
  },
9784
9872
  states: [
9785
- { label: "Checked", selector: "[data-state=checked]" },
9786
- { label: "Unchecked", selector: "[data-state=unchecked]" }
9873
+ { label: "Checked", selector: '[data-state="checked"]' },
9874
+ { label: "Unchecked", selector: '[data-state="unchecked"]' },
9875
+ { label: "Indeterminate", selector: '[data-state="indeterminate"]' }
9787
9876
  ],
9788
9877
  presetStyle: {
9789
- button: [button, b$4].flat()
9878
+ button: [button, b$2].flat()
9790
9879
  },
9791
9880
  initialProps: ["id", "class", "name", "value", "required", "checked"],
9792
9881
  props: e$1
@@ -9796,6 +9885,11 @@ const m = {
9796
9885
  category: "none",
9797
9886
  children: ["instance", "rich-text"]
9798
9887
  },
9888
+ states: [
9889
+ { label: "Checked", selector: '[data-state="checked"]' },
9890
+ { label: "Unchecked", selector: '[data-state="unchecked"]' },
9891
+ { label: "Indeterminate", selector: '[data-state="indeterminate"]' }
9892
+ ],
9799
9893
  presetStyle: {
9800
9894
  span
9801
9895
  },
@@ -9886,11 +9980,11 @@ const R = {
9886
9980
  descendants: [n$4.RadioGroupIndicator]
9887
9981
  },
9888
9982
  states: [
9889
- { label: "Checked", selector: "[data-state=checked]" },
9890
- { label: "Unchecked", selector: "[data-state=unchecked]" }
9983
+ { label: "Checked", selector: '[data-state="checked"]' },
9984
+ { label: "Unchecked", selector: '[data-state="unchecked"]' }
9891
9985
  ],
9892
9986
  presetStyle: {
9893
- button: [button, b$4].flat()
9987
+ button: [button, b$2].flat()
9894
9988
  },
9895
9989
  initialProps: ["value"],
9896
9990
  props: o
@@ -9901,8 +9995,8 @@ const R = {
9901
9995
  children: ["instance"]
9902
9996
  },
9903
9997
  states: [
9904
- { label: "Checked", selector: "[data-state=checked]" },
9905
- { label: "Unchecked", selector: "[data-state=unchecked]" }
9998
+ { label: "Checked", selector: '[data-state="checked"]' },
9999
+ { label: "Unchecked", selector: '[data-state="unchecked"]' }
9906
10000
  ],
9907
10001
  presetStyle: {
9908
10002
  span
@@ -9911,52 +10005,52 @@ const R = {
9911
10005
  };
9912
10006
  const radixComponentMetas = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
9913
10007
  __proto__: null,
9914
- Accordion: v$1,
10008
+ Accordion: C$1,
9915
10009
  AccordionContent: H,
9916
- AccordionHeader: f$1,
9917
- AccordionItem: x,
9918
- AccordionTrigger: C$1,
10010
+ AccordionHeader: x,
10011
+ AccordionItem: v$1,
10012
+ AccordionTrigger: f$1,
9919
10013
  Checkbox: m,
9920
10014
  CheckboxIndicator: k$1,
9921
- Collapsible: g$1,
9922
- CollapsibleContent: d$1,
9923
- CollapsibleTrigger: m$4,
10015
+ Collapsible: C$3,
10016
+ CollapsibleContent: g$1,
10017
+ CollapsibleTrigger: b$3,
9924
10018
  Dialog: P$1,
9925
10019
  DialogClose: H$1,
9926
- DialogContent: O,
10020
+ DialogContent: S$1,
9927
10021
  DialogDescription: E,
9928
- DialogOverlay: b$3,
10022
+ DialogOverlay: v$2,
9929
10023
  DialogTitle: B,
9930
- DialogTrigger: S$1,
10024
+ DialogTrigger: u,
9931
10025
  Label: m$2,
9932
- NavigationMenu: L,
9933
- NavigationMenuContent: w$1,
9934
- NavigationMenuItem: b$2,
9935
- NavigationMenuLink: C,
9936
- NavigationMenuList: h,
9937
- NavigationMenuTrigger: k$3,
10026
+ NavigationMenu: I,
10027
+ NavigationMenuContent: k$3,
10028
+ NavigationMenuItem: h,
10029
+ NavigationMenuLink: w$1,
10030
+ NavigationMenuList: L,
10031
+ NavigationMenuTrigger: C,
9938
10032
  NavigationMenuViewport: S,
9939
- Popover: h$1,
9940
- PopoverClose: u,
9941
- PopoverContent: y$1,
9942
- PopoverTrigger: C$3,
10033
+ Popover: y$1,
10034
+ PopoverClose: h$2,
10035
+ PopoverContent: b$1,
10036
+ PopoverTrigger: C$2,
9943
10037
  RadioGroup: R,
9944
10038
  RadioGroupIndicator: k,
9945
10039
  RadioGroupItem: G,
9946
- Select: b$1,
9947
- SelectContent: v,
9948
- SelectItem: k$2,
10040
+ Select: V,
10041
+ SelectContent: w,
10042
+ SelectItem: P,
9949
10043
  SelectItemIndicator: F,
9950
- SelectItemText: q,
9951
- SelectTrigger: f,
9952
- SelectValue: w,
9953
- SelectViewport: P,
10044
+ SelectItemText: O,
10045
+ SelectTrigger: k$2,
10046
+ SelectValue: f,
10047
+ SelectViewport: v,
9954
10048
  Switch: m$1,
9955
10049
  SwitchThumb: b,
9956
- Tabs: y,
9957
- TabsContent: C$2,
9958
- TabsList: f$2,
9959
- TabsTrigger: x$1,
10050
+ Tabs: h$1,
10051
+ TabsContent: x$1,
10052
+ TabsList: y,
10053
+ TabsTrigger: f$2,
9960
10054
  Tooltip: m$3,
9961
10055
  TooltipContent: T,
9962
10056
  TooltipTrigger: g
@@ -10868,7 +10962,7 @@ const getDeploymentInstructions = (deployTarget) => {
10868
10962
  }
10869
10963
  };
10870
10964
  const name = "webstudio";
10871
- const version = "0.260.2";
10965
+ const version = "0.261.0";
10872
10966
  const description = "Webstudio CLI";
10873
10967
  const author = "Webstudio <github@webstudio.is>";
10874
10968
  const homepage = "https://webstudio.is";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "webstudio",
3
- "version": "0.260.2",
3
+ "version": "0.261.0",
4
4
  "description": "Webstudio CLI",
5
5
  "author": "Webstudio <github@webstudio.is>",
6
6
  "homepage": "https://webstudio.is",
@@ -71,16 +71,16 @@
71
71
  "vite": "^6.3.4",
72
72
  "vitest": "^3.1.2",
73
73
  "wrangler": "^3.63.2",
74
- "@webstudio-is/css-engine": "0.260.2",
75
- "@webstudio-is/http-client": "0.260.2",
76
- "@webstudio-is/image": "0.260.2",
77
- "@webstudio-is/react-sdk": "0.260.2",
78
- "@webstudio-is/sdk-components-animation": "0.260.2",
79
- "@webstudio-is/sdk-components-react": "0.260.2",
80
- "@webstudio-is/sdk": "0.260.2",
81
- "@webstudio-is/sdk-components-react-radix": "0.260.2",
82
- "@webstudio-is/sdk-components-react-remix": "0.260.2",
83
- "@webstudio-is/sdk-components-react-router": "0.260.2",
74
+ "@webstudio-is/react-sdk": "0.261.0",
75
+ "@webstudio-is/sdk": "0.261.0",
76
+ "@webstudio-is/http-client": "0.261.0",
77
+ "@webstudio-is/sdk-components-animation": "0.261.0",
78
+ "@webstudio-is/sdk-components-react": "0.261.0",
79
+ "@webstudio-is/sdk-components-react-remix": "0.261.0",
80
+ "@webstudio-is/sdk-components-react-router": "0.261.0",
81
+ "@webstudio-is/css-engine": "0.261.0",
82
+ "@webstudio-is/image": "0.261.0",
83
+ "@webstudio-is/sdk-components-react-radix": "0.261.0",
84
84
  "@webstudio-is/tsconfig": "1.0.7"
85
85
  },
86
86
  "scripts": {
@@ -11,13 +11,13 @@
11
11
  "@remix-run/node": "2.16.5",
12
12
  "@remix-run/react": "2.16.5",
13
13
  "@remix-run/server-runtime": "2.16.5",
14
- "@webstudio-is/image": "0.260.2",
15
- "@webstudio-is/react-sdk": "0.260.2",
16
- "@webstudio-is/sdk": "0.260.2",
17
- "@webstudio-is/sdk-components-react": "0.260.2",
18
- "@webstudio-is/sdk-components-animation": "0.260.2",
19
- "@webstudio-is/sdk-components-react-radix": "0.260.2",
20
- "@webstudio-is/sdk-components-react-remix": "0.260.2",
14
+ "@webstudio-is/image": "0.261.0",
15
+ "@webstudio-is/react-sdk": "0.261.0",
16
+ "@webstudio-is/sdk": "0.261.0",
17
+ "@webstudio-is/sdk-components-react": "0.261.0",
18
+ "@webstudio-is/sdk-components-animation": "0.261.0",
19
+ "@webstudio-is/sdk-components-react-radix": "0.261.0",
20
+ "@webstudio-is/sdk-components-react-remix": "0.261.0",
21
21
  "isbot": "^5.1.25",
22
22
  "react": "18.3.0-canary-14898b6a9-20240318",
23
23
  "react-dom": "18.3.0-canary-14898b6a9-20240318"
@@ -10,13 +10,13 @@
10
10
  "dependencies": {
11
11
  "@react-router/dev": "^7.5.3",
12
12
  "@react-router/fs-routes": "^7.5.3",
13
- "@webstudio-is/image": "0.260.2",
14
- "@webstudio-is/react-sdk": "0.260.2",
15
- "@webstudio-is/sdk": "0.260.2",
16
- "@webstudio-is/sdk-components-animation": "0.260.2",
17
- "@webstudio-is/sdk-components-react-radix": "0.260.2",
18
- "@webstudio-is/sdk-components-react-router": "0.260.2",
19
- "@webstudio-is/sdk-components-react": "0.260.2",
13
+ "@webstudio-is/image": "0.261.0",
14
+ "@webstudio-is/react-sdk": "0.261.0",
15
+ "@webstudio-is/sdk": "0.261.0",
16
+ "@webstudio-is/sdk-components-animation": "0.261.0",
17
+ "@webstudio-is/sdk-components-react-radix": "0.261.0",
18
+ "@webstudio-is/sdk-components-react-router": "0.261.0",
19
+ "@webstudio-is/sdk-components-react": "0.261.0",
20
20
  "isbot": "^5.1.25",
21
21
  "react": "18.3.0-canary-14898b6a9-20240318",
22
22
  "react-dom": "18.3.0-canary-14898b6a9-20240318",
@@ -8,12 +8,12 @@
8
8
  "typecheck": "tsgo --noEmit"
9
9
  },
10
10
  "dependencies": {
11
- "@webstudio-is/image": "0.260.2",
12
- "@webstudio-is/react-sdk": "0.260.2",
13
- "@webstudio-is/sdk": "0.260.2",
14
- "@webstudio-is/sdk-components-react": "0.260.2",
15
- "@webstudio-is/sdk-components-animation": "0.260.2",
16
- "@webstudio-is/sdk-components-react-radix": "0.260.2",
11
+ "@webstudio-is/image": "0.261.0",
12
+ "@webstudio-is/react-sdk": "0.261.0",
13
+ "@webstudio-is/sdk": "0.261.0",
14
+ "@webstudio-is/sdk-components-react": "0.261.0",
15
+ "@webstudio-is/sdk-components-animation": "0.261.0",
16
+ "@webstudio-is/sdk-components-react-radix": "0.261.0",
17
17
  "react": "18.3.0-canary-14898b6a9-20240318",
18
18
  "react-dom": "18.3.0-canary-14898b6a9-20240318",
19
19
  "vike": "^0.4.229"