@webstudio-is/sdk-components-react-radix 0.85.0 → 0.87.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/lib/__generated__/accordion.props.js +2134 -0
  2. package/lib/__generated__/button.props.js +454 -0
  3. package/lib/__generated__/dialog.props.js +0 -7
  4. package/lib/__generated__/input.props.js +451 -0
  5. package/lib/__generated__/label.props.js +421 -0
  6. package/lib/__generated__/popover.props.js +0 -7
  7. package/lib/__generated__/sheet.props.js +0 -7
  8. package/lib/__generated__/textarea.props.js +431 -0
  9. package/lib/__generated__/tooltip.props.js +0 -7
  10. package/lib/accordion.js +51 -0
  11. package/lib/accordion.ws.js +243 -0
  12. package/lib/button.js +8 -0
  13. package/lib/button.ws.js +133 -0
  14. package/lib/cjs/__generated__/accordion.props.js +2154 -0
  15. package/lib/cjs/__generated__/button.props.js +474 -0
  16. package/lib/cjs/__generated__/dialog.props.js +0 -7
  17. package/lib/cjs/__generated__/input.props.js +471 -0
  18. package/lib/cjs/__generated__/label.props.js +441 -0
  19. package/lib/cjs/__generated__/popover.props.js +0 -7
  20. package/lib/cjs/__generated__/sheet.props.js +0 -7
  21. package/lib/cjs/__generated__/textarea.props.js +451 -0
  22. package/lib/cjs/__generated__/tooltip.props.js +0 -7
  23. package/lib/cjs/accordion.js +60 -0
  24. package/lib/cjs/accordion.ws.js +261 -0
  25. package/lib/cjs/button.js +28 -0
  26. package/lib/cjs/button.ws.js +160 -0
  27. package/lib/cjs/collapsible.js +2 -16
  28. package/lib/cjs/collapsible.ws.js +1 -8
  29. package/lib/cjs/components.js +14 -0
  30. package/lib/cjs/dialog.js +38 -6
  31. package/lib/cjs/dialog.ws.js +15 -26
  32. package/lib/cjs/hooks.js +15 -1
  33. package/lib/cjs/input.js +28 -0
  34. package/lib/cjs/input.ws.js +103 -0
  35. package/lib/cjs/label.js +37 -0
  36. package/lib/cjs/label.ws.js +74 -0
  37. package/lib/cjs/metas.js +14 -0
  38. package/lib/cjs/popover.js +37 -5
  39. package/lib/cjs/popover.ws.js +15 -18
  40. package/lib/cjs/props.js +14 -0
  41. package/lib/cjs/sheet.js +34 -1
  42. package/lib/cjs/sheet.ws.js +33 -19
  43. package/lib/cjs/tabs.js +20 -1
  44. package/lib/cjs/tabs.ws.js +3 -25
  45. package/lib/cjs/textarea.js +28 -0
  46. package/lib/cjs/textarea.ws.js +98 -0
  47. package/lib/cjs/theme/tailwind-classes.js +186 -23
  48. package/lib/cjs/theme/tailwind-colors.js +10 -1
  49. package/lib/cjs/tooltip.js +36 -4
  50. package/lib/cjs/tooltip.ws.js +15 -18
  51. package/lib/collapsible.js +2 -16
  52. package/lib/collapsible.ws.js +1 -8
  53. package/lib/components.js +20 -0
  54. package/lib/dialog.js +38 -6
  55. package/lib/dialog.ws.js +15 -26
  56. package/lib/hooks.js +15 -1
  57. package/lib/input.js +8 -0
  58. package/lib/input.ws.js +75 -0
  59. package/lib/label.js +9 -0
  60. package/lib/label.ws.js +46 -0
  61. package/lib/metas.js +20 -0
  62. package/lib/popover.js +37 -5
  63. package/lib/popover.ws.js +15 -18
  64. package/lib/props.js +20 -0
  65. package/lib/sheet.js +34 -1
  66. package/lib/sheet.ws.js +33 -19
  67. package/lib/tabs.js +24 -2
  68. package/lib/tabs.ws.js +3 -25
  69. package/lib/textarea.js +8 -0
  70. package/lib/textarea.ws.js +70 -0
  71. package/lib/theme/tailwind-classes.js +191 -24
  72. package/lib/theme/tailwind-colors.js +10 -1
  73. package/lib/tooltip.js +36 -4
  74. package/lib/tooltip.ws.js +15 -18
  75. package/lib/types/__generated__/accordion.props.d.ts +6 -0
  76. package/lib/types/__generated__/button.props.d.ts +2 -0
  77. package/lib/types/__generated__/input.props.d.ts +2 -0
  78. package/lib/types/__generated__/label.props.d.ts +2 -0
  79. package/lib/types/__generated__/textarea.props.d.ts +2 -0
  80. package/lib/types/accordion.d.ts +12 -0
  81. package/lib/types/accordion.ws.d.ts +11 -0
  82. package/lib/types/button.d.ts +7 -0
  83. package/lib/types/button.stories.d.ts +20 -0
  84. package/lib/types/button.ws.d.ts +7 -0
  85. package/lib/types/components.d.ts +5 -0
  86. package/lib/types/dialog.d.ts +5 -11
  87. package/lib/types/input.d.ts +2 -0
  88. package/lib/types/input.stories.d.ts +20 -0
  89. package/lib/types/input.ws.d.ts +3 -0
  90. package/lib/types/label.d.ts +3 -0
  91. package/lib/types/label.stories.d.ts +9 -0
  92. package/lib/types/label.ws.d.ts +3 -0
  93. package/lib/types/metas.d.ts +5 -0
  94. package/lib/types/popover.d.ts +4 -10
  95. package/lib/types/props.d.ts +5 -0
  96. package/lib/types/sheet.d.ts +4 -4
  97. package/lib/types/tabs.d.ts +2 -0
  98. package/lib/types/textarea.d.ts +2 -0
  99. package/lib/types/textarea.stories.d.ts +14 -0
  100. package/lib/types/textarea.ws.d.ts +3 -0
  101. package/lib/types/theme/tailwind-classes.d.ts +16 -5
  102. package/lib/types/theme/tailwind-colors.d.ts +9 -0
  103. package/lib/types/tooltip.d.ts +3 -9
  104. package/package.json +9 -7
  105. package/src/__generated__/accordion.props.ts +2382 -0
  106. package/src/__generated__/button.props.ts +503 -0
  107. package/src/__generated__/dialog.props.ts +0 -7
  108. package/src/__generated__/input.props.ts +500 -0
  109. package/src/__generated__/label.props.ts +470 -0
  110. package/src/__generated__/popover.props.ts +0 -7
  111. package/src/__generated__/sheet.props.ts +0 -7
  112. package/src/__generated__/textarea.props.ts +480 -0
  113. package/src/__generated__/tooltip.props.ts +0 -7
  114. package/src/accordion.stories.tsx +21 -0
  115. package/src/accordion.tsx +81 -0
  116. package/src/accordion.ws.ts +270 -0
  117. package/src/button.stories.ts +35 -0
  118. package/src/button.tsx +25 -0
  119. package/src/button.ws.ts +155 -0
  120. package/src/collapsible.tsx +2 -16
  121. package/src/collapsible.ws.ts +1 -8
  122. package/src/components.ts +11 -0
  123. package/src/dialog.stories.tsx +21 -0
  124. package/src/dialog.tsx +50 -24
  125. package/src/dialog.ws.tsx +15 -26
  126. package/src/hooks.ts +15 -1
  127. package/src/input.stories.ts +31 -0
  128. package/src/input.tsx +12 -0
  129. package/src/input.ws.ts +78 -0
  130. package/src/label.stories.ts +22 -0
  131. package/src/label.tsx +15 -0
  132. package/src/label.ws.ts +48 -0
  133. package/src/metas.ts +11 -0
  134. package/src/popover.stories.tsx +21 -0
  135. package/src/popover.tsx +49 -23
  136. package/src/popover.ws.tsx +15 -18
  137. package/src/props.ts +11 -0
  138. package/src/sheet.tsx +39 -0
  139. package/src/sheet.ws.tsx +33 -19
  140. package/src/tabs.tsx +32 -1
  141. package/src/tabs.ws.ts +1 -23
  142. package/src/textarea.stories.ts +27 -0
  143. package/src/textarea.tsx +12 -0
  144. package/src/textarea.ws.ts +74 -0
  145. package/src/theme/tailwind-classes.ts +233 -38
  146. package/src/theme/tailwind-colors.ts +9 -16
  147. package/src/tooltip.stories.tsx +21 -0
  148. package/src/tooltip.tsx +46 -20
  149. package/src/tooltip.ws.tsx +15 -18
@@ -48,6 +48,7 @@ var import_svg = require("@webstudio-is/icons/svg");
48
48
  var import_react_sdk = require("@webstudio-is/react-sdk");
49
49
  var tc = __toESM(require("./theme/tailwind-classes"), 1);
50
50
  var import_dialog = require("./__generated__/dialog.props");
51
+ var import_button = require("./button.ws");
51
52
  var import_css_normalize = require("@webstudio-is/react-sdk/css-normalize");
52
53
  const presetStyle = {
53
54
  div: import_css_normalize.div
@@ -63,60 +64,46 @@ const descriptionPresetStyle = {
63
64
  };
64
65
  const metaDialogTrigger = {
65
66
  category: "hidden",
66
- invalidAncestors: [],
67
67
  type: "container",
68
- label: "Dialog Trigger",
69
68
  icon: import_svg.TriggerIcon,
70
69
  stylable: false,
71
70
  detachable: false
72
71
  };
73
72
  const metaDialogContent = {
74
73
  category: "hidden",
75
- invalidAncestors: [],
76
74
  type: "container",
77
- label: "Dialog Content",
78
75
  presetStyle,
79
76
  icon: import_svg.ContentIcon,
80
77
  detachable: false
81
78
  };
82
79
  const metaDialogOverlay = {
83
80
  category: "hidden",
84
- invalidAncestors: [],
85
81
  type: "container",
86
- label: "Dialog Overlay",
87
82
  presetStyle,
88
83
  icon: import_svg.OverlayIcon,
89
84
  detachable: false
90
85
  };
91
86
  const metaDialogTitle = {
92
87
  category: "hidden",
93
- invalidAncestors: [],
94
88
  type: "container",
95
89
  presetStyle: titlePresetStyle,
96
- label: "Dialog Title",
97
90
  icon: import_svg.HeadingIcon
98
91
  };
99
92
  const metaDialogDescription = {
100
93
  category: "hidden",
101
- invalidAncestors: [],
102
94
  type: "container",
103
95
  presetStyle: descriptionPresetStyle,
104
- label: "Dialog Description",
105
96
  icon: import_svg.TextIcon
106
97
  };
107
98
  const metaDialogClose = {
108
99
  category: "hidden",
109
- invalidAncestors: [],
110
100
  type: "container",
111
101
  presetStyle: buttonPresetStyle,
112
- label: "Dialog Close",
113
102
  icon: import_svg.ButtonElementIcon
114
103
  };
115
104
  const metaDialog = {
116
105
  category: "radix",
117
- invalidAncestors: [],
118
106
  type: "container",
119
- label: "Dialog",
120
107
  icon: import_svg.DialogIcon,
121
108
  order: 15,
122
109
  stylable: false,
@@ -125,14 +112,20 @@ const metaDialog = {
125
112
  type: "instance",
126
113
  component: "Dialog",
127
114
  dataSources: {
128
- // We don't have support for boolean or undefined, instead of binding on open we bind on a string
129
- isOpen: { type: "variable", initialValue: "initial" }
115
+ dialogOpen: { type: "variable", initialValue: false }
130
116
  },
131
117
  props: [
132
118
  {
133
119
  type: "dataSource",
134
- name: "isOpen",
135
- dataSourceName: "isOpen"
120
+ name: "open",
121
+ dataSourceName: "dialogOpen"
122
+ },
123
+ {
124
+ name: "onOpenChange",
125
+ type: "action",
126
+ value: [
127
+ { type: "execute", args: ["open"], code: `dialogOpen = open` }
128
+ ]
136
129
  }
137
130
  ],
138
131
  children: [
@@ -140,13 +133,9 @@ const metaDialog = {
140
133
  type: "instance",
141
134
  component: "DialogTrigger",
142
135
  props: [],
143
- children: [
144
- {
145
- type: "instance",
146
- component: "Button",
147
- children: [{ type: "text", value: "Button" }]
148
- }
149
- ]
136
+ children: (0, import_button.template)({
137
+ children: [{ type: "text", value: "Button" }]
138
+ })
150
139
  },
151
140
  {
152
141
  type: "instance",
@@ -284,7 +273,7 @@ const metaDialog = {
284
273
  };
285
274
  const propsMetaDialog = {
286
275
  props: import_dialog.propsDialog,
287
- initialProps: ["isOpen", "modal"]
276
+ initialProps: ["open", "modal"]
288
277
  };
289
278
  const propsMetaDialogTrigger = {
290
279
  props: import_dialog.propsDialogTrigger
package/lib/cjs/hooks.js CHANGED
@@ -22,4 +22,18 @@ __export(hooks_exports, {
22
22
  });
23
23
  module.exports = __toCommonJS(hooks_exports);
24
24
  var import_collapsible = require("./collapsible");
25
- const hooks = [import_collapsible.hooksCollapsible];
25
+ var import_tabs = require("./tabs");
26
+ var import_dialog = require("./dialog");
27
+ var import_popover = require("./popover");
28
+ var import_sheet = require("./sheet");
29
+ var import_tooltip = require("./tooltip");
30
+ var import_accordion = require("./accordion");
31
+ const hooks = [
32
+ import_collapsible.hooksCollapsible,
33
+ import_tabs.hooksTabs,
34
+ import_dialog.hooksDialog,
35
+ import_popover.hooksPopover,
36
+ import_sheet.hooksSheet,
37
+ import_tooltip.hooksTooltip,
38
+ import_accordion.hooksAccordion
39
+ ];
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var input_exports = {};
20
+ __export(input_exports, {
21
+ Input: () => Input
22
+ });
23
+ module.exports = __toCommonJS(input_exports);
24
+ var import_jsx_runtime = require("react/jsx-runtime");
25
+ var import_react = require("react");
26
+ const Input = (0, import_react.forwardRef)(({ children: _children, ...props }, ref) => {
27
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("input", { ref, ...props });
28
+ });
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var input_ws_exports = {};
30
+ __export(input_ws_exports, {
31
+ meta: () => meta,
32
+ propsMeta: () => propsMeta
33
+ });
34
+ module.exports = __toCommonJS(input_ws_exports);
35
+ var import_svg = require("@webstudio-is/icons/svg");
36
+ var import_react_sdk = require("@webstudio-is/react-sdk");
37
+ var import_css_normalize = require("@webstudio-is/react-sdk/css-normalize");
38
+ var import_input = require("./__generated__/input.props");
39
+ var tc = __toESM(require("./theme/tailwind-classes"), 1);
40
+ const presetStyle = {
41
+ input: import_css_normalize.input
42
+ };
43
+ const meta = {
44
+ category: "radix",
45
+ type: "control",
46
+ invalidAncestors: ["Button"],
47
+ icon: import_svg.FormTextFieldIcon,
48
+ presetStyle,
49
+ states: [
50
+ ...import_react_sdk.defaultStates,
51
+ { selector: ":disabled", label: "Disabled" },
52
+ { selector: "::placeholder", label: "Placeholder" },
53
+ { selector: "::file-selector-button", label: "File Selector Button" },
54
+ // @todo share https://github.com/webstudio-is/webstudio-builder/issues/2102
55
+ { selector: ":valid", label: "Valid" },
56
+ { selector: ":invalid", label: "Invalid" },
57
+ { selector: ":required", label: "Required" },
58
+ { selector: ":optional", label: "Optional" },
59
+ { selector: ":enabled", label: "Enabled" },
60
+ { selector: ":read-only", label: "Read Only" },
61
+ { selector: ":read-write", label: "Read Write" }
62
+ ],
63
+ order: 1,
64
+ template: [
65
+ {
66
+ type: "instance",
67
+ component: "Input",
68
+ styles: [
69
+ // flex h-10 w-full rounded-md border border-input bg-background
70
+ // px-3 py-2 text-sm
71
+ // ring-offset-background
72
+ // file:border-0 file:bg-transparent file:text-sm file:font-medium
73
+ // placeholder:text-muted-foreground
74
+ // focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2
75
+ // disabled:cursor-not-allowed disabled:opacity-50"
76
+ tc.flex(),
77
+ tc.h(10),
78
+ tc.w("full"),
79
+ tc.rounded("md"),
80
+ tc.border(),
81
+ tc.border("input"),
82
+ tc.bg("background"),
83
+ tc.px(3),
84
+ tc.py(2),
85
+ tc.text("sm"),
86
+ tc.state(
87
+ [tc.border(0), tc.bg("transparent"), tc.font("medium")].flat(),
88
+ "::file-selector-button"
89
+ ),
90
+ tc.state(tc.text("mutedForeground"), "::placeholder"),
91
+ tc.focusVisible(
92
+ [tc.outline("none"), tc.ring("ring", 2, "background", 2)].flat()
93
+ ),
94
+ tc.disabled([tc.cursor("not-allowed"), tc.opacity(50)].flat())
95
+ ].flat(),
96
+ children: []
97
+ }
98
+ ]
99
+ };
100
+ const propsMeta = {
101
+ props: import_input.props,
102
+ initialProps: ["id", "name", "type", "placeholder", "required", "autoFocus"]
103
+ };
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var label_exports = {};
30
+ __export(label_exports, {
31
+ Label: () => Label
32
+ });
33
+ module.exports = __toCommonJS(label_exports);
34
+ var import_jsx_runtime = require("react/jsx-runtime");
35
+ var import_react = require("react");
36
+ var LabelPrimitive = __toESM(require("@radix-ui/react-label"), 1);
37
+ const Label = (0, import_react.forwardRef)((props, ref) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(LabelPrimitive.Root, { ref, ...props }));
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var label_ws_exports = {};
30
+ __export(label_ws_exports, {
31
+ meta: () => meta,
32
+ propsMeta: () => propsMeta
33
+ });
34
+ module.exports = __toCommonJS(label_ws_exports);
35
+ var import_svg = require("@webstudio-is/icons/svg");
36
+ var import_react_sdk = require("@webstudio-is/react-sdk");
37
+ var import_css_normalize = require("@webstudio-is/react-sdk/css-normalize");
38
+ var import_label = require("./__generated__/label.props");
39
+ var tc = __toESM(require("./theme/tailwind-classes"), 1);
40
+ const presetStyle = {
41
+ label: import_css_normalize.label
42
+ };
43
+ const meta = {
44
+ category: "radix",
45
+ type: "container",
46
+ icon: import_svg.LabelIcon,
47
+ presetStyle,
48
+ states: import_react_sdk.defaultStates,
49
+ order: 1,
50
+ template: [
51
+ {
52
+ type: "instance",
53
+ component: "Label",
54
+ styles: [
55
+ // text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70
56
+ tc.text("sm"),
57
+ tc.font("medium"),
58
+ tc.leading("none")
59
+ // We are not supporting peer like styles yet
60
+ ].flat(),
61
+ children: [{ type: "text", value: "Form Label" }]
62
+ }
63
+ ]
64
+ };
65
+ const propsMeta = {
66
+ props: {
67
+ ...import_label.props,
68
+ htmlFor: {
69
+ ...import_label.props.htmlFor,
70
+ label: "For"
71
+ }
72
+ },
73
+ initialProps: ["id", "htmlFor"]
74
+ };
package/lib/cjs/metas.js CHANGED
@@ -18,6 +18,12 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var metas_exports = {};
20
20
  __export(metas_exports, {
21
+ Accordion: () => import_accordion.metaAccordion,
22
+ AccordionContent: () => import_accordion.metaAccordionContent,
23
+ AccordionHeader: () => import_accordion.metaAccordionHeader,
24
+ AccordionItem: () => import_accordion.metaAccordionItem,
25
+ AccordionTrigger: () => import_accordion.metaAccordionTrigger,
26
+ Button: () => import_button.meta,
21
27
  Collapsible: () => import_collapsible.metaCollapsible,
22
28
  CollapsibleContent: () => import_collapsible.metaCollapsibleContent,
23
29
  CollapsibleTrigger: () => import_collapsible.metaCollapsibleTrigger,
@@ -28,6 +34,8 @@ __export(metas_exports, {
28
34
  DialogOverlay: () => import_dialog.metaDialogOverlay,
29
35
  DialogTitle: () => import_dialog.metaDialogTitle,
30
36
  DialogTrigger: () => import_dialog.metaDialogTrigger,
37
+ Input: () => import_input.meta,
38
+ Label: () => import_label.meta,
31
39
  Popover: () => import_popover.metaPopover,
32
40
  PopoverContent: () => import_popover.metaPopoverContent,
33
41
  PopoverTrigger: () => import_popover.metaPopoverTrigger,
@@ -42,6 +50,7 @@ __export(metas_exports, {
42
50
  TabsContent: () => import_tabs.metaTabsContent,
43
51
  TabsList: () => import_tabs.metaTabsList,
44
52
  TabsTrigger: () => import_tabs.metaTabsTrigger,
53
+ Textarea: () => import_textarea.meta,
45
54
  Tooltip: () => import_tooltip.metaTooltip,
46
55
  TooltipContent: () => import_tooltip.metaTooltipContent,
47
56
  TooltipTrigger: () => import_tooltip.metaTooltipTrigger
@@ -53,3 +62,8 @@ var import_popover = require("./popover.ws");
53
62
  var import_tooltip = require("./tooltip.ws");
54
63
  var import_sheet = require("./sheet.ws");
55
64
  var import_tabs = require("./tabs.ws");
65
+ var import_button = require("./button.ws");
66
+ var import_input = require("./input.ws");
67
+ var import_textarea = require("./textarea.ws");
68
+ var import_label = require("./label.ws");
69
+ var import_accordion = require("./accordion.ws");
@@ -30,15 +30,16 @@ var popover_exports = {};
30
30
  __export(popover_exports, {
31
31
  Popover: () => Popover,
32
32
  PopoverContent: () => PopoverContent,
33
- PopoverTrigger: () => PopoverTrigger
33
+ PopoverTrigger: () => PopoverTrigger,
34
+ hooksPopover: () => hooksPopover
34
35
  });
35
36
  module.exports = __toCommonJS(popover_exports);
36
37
  var import_jsx_runtime = require("react/jsx-runtime");
37
- var PopoverPrimitive = __toESM(require("@radix-ui/react-popover"), 1);
38
38
  var import_react = require("react");
39
- const Popover = (0, import_react.forwardRef)(({ open: openProp, isOpen, ...props }, ref) => {
40
- const open = openProp ?? (isOpen === "open" ? true : isOpen === "closed" ? false : void 0);
41
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PopoverPrimitive.Root, { open, ...props });
39
+ var PopoverPrimitive = __toESM(require("@radix-ui/react-popover"), 1);
40
+ var import_react_sdk = require("@webstudio-is/react-sdk");
41
+ const Popover = (0, import_react.forwardRef)((props, _ref) => {
42
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PopoverPrimitive.Root, { ...props });
42
43
  });
43
44
  const PopoverTrigger = (0, import_react.forwardRef)(({ children, ...props }, ref) => {
44
45
  const firstChild = import_react.Children.toArray(children)[0];
@@ -56,3 +57,34 @@ const PopoverContent = (0, import_react.forwardRef)(
56
57
  }
57
58
  ) })
58
59
  );
60
+ const namespace = "@webstudio-is/sdk-components-react-radix";
61
+ const hooksPopover = {
62
+ onNavigatorUnselect: (context, event) => {
63
+ for (const instance of event.instancePath) {
64
+ if (instance.component === `${namespace}:PopoverContent`) {
65
+ const popover = (0, import_react_sdk.getClosestInstance)(
66
+ event.instancePath,
67
+ instance,
68
+ `${namespace}:Popover`
69
+ );
70
+ if (popover) {
71
+ context.setPropVariable(popover.id, "open", false);
72
+ }
73
+ }
74
+ }
75
+ },
76
+ onNavigatorSelect: (context, event) => {
77
+ for (const instance of event.instancePath) {
78
+ if (instance.component === `${namespace}:PopoverContent`) {
79
+ const popover = (0, import_react_sdk.getClosestInstance)(
80
+ event.instancePath,
81
+ instance,
82
+ `${namespace}:Popover`
83
+ );
84
+ if (popover) {
85
+ context.setPropVariable(popover.id, "open", true);
86
+ }
87
+ }
88
+ }
89
+ }
90
+ };
@@ -41,32 +41,27 @@ var import_react_sdk = require("@webstudio-is/react-sdk");
41
41
  var tc = __toESM(require("./theme/tailwind-classes"), 1);
42
42
  var import_popover = require("./__generated__/popover.props");
43
43
  var import_css_normalize = require("@webstudio-is/react-sdk/css-normalize");
44
+ var import_button = require("./button.ws");
44
45
  const presetStyle = {
45
46
  div: import_css_normalize.div
46
47
  };
47
48
  const metaPopoverTrigger = {
48
49
  category: "hidden",
49
- invalidAncestors: [],
50
50
  type: "container",
51
- label: "Popover Trigger",
52
51
  icon: import_svg.TriggerIcon,
53
52
  stylable: false,
54
53
  detachable: false
55
54
  };
56
55
  const metaPopoverContent = {
57
56
  category: "hidden",
58
- invalidAncestors: [],
59
57
  type: "container",
60
58
  presetStyle,
61
- label: "Popover Content",
62
59
  icon: import_svg.ContentIcon,
63
60
  detachable: false
64
61
  };
65
62
  const metaPopover = {
66
63
  category: "radix",
67
- invalidAncestors: [],
68
64
  type: "container",
69
- label: "Popover",
70
65
  icon: import_svg.PopoverIcon,
71
66
  order: 15,
72
67
  stylable: false,
@@ -75,14 +70,20 @@ const metaPopover = {
75
70
  type: "instance",
76
71
  component: "Popover",
77
72
  dataSources: {
78
- // We don't have support for boolean or undefined, instead of binding on open we bind on a string
79
- isOpen: { type: "variable", initialValue: "initial" }
73
+ popoverOpen: { type: "variable", initialValue: false }
80
74
  },
81
75
  props: [
82
76
  {
83
77
  type: "dataSource",
84
- name: "isOpen",
85
- dataSourceName: "isOpen"
78
+ name: "open",
79
+ dataSourceName: "popoverOpen"
80
+ },
81
+ {
82
+ name: "onOpenChange",
83
+ type: "action",
84
+ value: [
85
+ { type: "execute", args: ["open"], code: `popoverOpen = open` }
86
+ ]
86
87
  }
87
88
  ],
88
89
  children: [
@@ -90,13 +91,9 @@ const metaPopover = {
90
91
  type: "instance",
91
92
  component: "PopoverTrigger",
92
93
  props: [],
93
- children: [
94
- {
95
- type: "instance",
96
- component: "Button",
97
- children: [{ type: "text", value: "Button" }]
98
- }
99
- ]
94
+ children: (0, import_button.template)({
95
+ children: [{ type: "text", value: "Button" }]
96
+ })
100
97
  },
101
98
  {
102
99
  type: "instance",
@@ -130,7 +127,7 @@ const metaPopover = {
130
127
  };
131
128
  const propsMetaPopover = {
132
129
  props: import_popover.propsPopover,
133
- initialProps: ["isOpen", "modal"]
130
+ initialProps: ["open", "modal"]
134
131
  };
135
132
  const propsMetaPopoverTrigger = {
136
133
  props: import_popover.propsPopoverTrigger
package/lib/cjs/props.js CHANGED
@@ -18,6 +18,12 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var props_exports = {};
20
20
  __export(props_exports, {
21
+ Accordion: () => import_accordion.propsMetaAccordion,
22
+ AccordionContent: () => import_accordion.propsMetaAccordionContent,
23
+ AccordionHeader: () => import_accordion.propsMetaAccordionHeader,
24
+ AccordionItem: () => import_accordion.propsMetaAccordionItem,
25
+ AccordionTrigger: () => import_accordion.propsMetaAccordionTrigger,
26
+ Button: () => import_button.propsMeta,
21
27
  Collapsible: () => import_collapsible.propsMetaCollapsible,
22
28
  CollapsibleContent: () => import_collapsible.propsMetaCollapsibleContent,
23
29
  CollapsibleTrigger: () => import_collapsible.propsMetaCollapsibleTrigger,
@@ -28,6 +34,8 @@ __export(props_exports, {
28
34
  DialogOverlay: () => import_dialog.propsMetaDialogOverlay,
29
35
  DialogTitle: () => import_dialog.propsMetaDialogTitle,
30
36
  DialogTrigger: () => import_dialog.propsMetaDialogTrigger,
37
+ Input: () => import_input.propsMeta,
38
+ Label: () => import_label.propsMeta,
31
39
  Popover: () => import_popover.propsMetaPopover,
32
40
  PopoverContent: () => import_popover.propsMetaPopoverContent,
33
41
  PopoverTrigger: () => import_popover.propsMetaPopoverTrigger,
@@ -42,6 +50,7 @@ __export(props_exports, {
42
50
  TabsContent: () => import_tabs.propsMetaTabsContent,
43
51
  TabsList: () => import_tabs.propsMetaTabsList,
44
52
  TabsTrigger: () => import_tabs.propsMetaTabsTrigger,
53
+ Textarea: () => import_textarea.propsMeta,
45
54
  Tooltip: () => import_tooltip.propsMetaTooltip,
46
55
  TooltipContent: () => import_tooltip.propsMetaTooltipContent,
47
56
  TooltipTrigger: () => import_tooltip.propsMetaTooltipTrigger
@@ -53,3 +62,8 @@ var import_popover = require("./popover.ws");
53
62
  var import_tooltip = require("./tooltip.ws");
54
63
  var import_sheet = require("./sheet.ws");
55
64
  var import_tabs = require("./tabs.ws");
65
+ var import_button = require("./button.ws");
66
+ var import_input = require("./input.ws");
67
+ var import_textarea = require("./textarea.ws");
68
+ var import_label = require("./label.ws");
69
+ var import_accordion = require("./accordion.ws");
package/lib/cjs/sheet.js CHANGED
@@ -34,11 +34,13 @@ __export(sheet_exports, {
34
34
  SheetDescription: () => SheetDescription,
35
35
  SheetOverlay: () => SheetOverlay,
36
36
  SheetTitle: () => SheetTitle,
37
- SheetTrigger: () => SheetTrigger
37
+ SheetTrigger: () => SheetTrigger,
38
+ hooksSheet: () => hooksSheet
38
39
  });
39
40
  module.exports = __toCommonJS(sheet_exports);
40
41
  var import_jsx_runtime = require("react/jsx-runtime");
41
42
  var import_react = require("react");
43
+ var import_react_sdk = require("@webstudio-is/react-sdk");
42
44
  var Dialog = __toESM(require("./dialog"), 1);
43
45
  const Sheet = Dialog.Dialog;
44
46
  const SheetTrigger = Dialog.DialogTrigger;
@@ -61,3 +63,34 @@ const SheetContent = (0, import_react.forwardRef)(
61
63
  );
62
64
  }
63
65
  );
66
+ const namespace = "@webstudio-is/sdk-components-react-radix";
67
+ const hooksSheet = {
68
+ onNavigatorUnselect: (context, event) => {
69
+ for (const instance of event.instancePath) {
70
+ if (instance.component === `${namespace}:SheetOverlay`) {
71
+ const sheet = (0, import_react_sdk.getClosestInstance)(
72
+ event.instancePath,
73
+ instance,
74
+ `${namespace}:Sheet`
75
+ );
76
+ if (sheet) {
77
+ context.setPropVariable(sheet.id, "open", false);
78
+ }
79
+ }
80
+ }
81
+ },
82
+ onNavigatorSelect: (context, event) => {
83
+ for (const instance of event.instancePath) {
84
+ if (instance.component === `${namespace}:SheetOverlay`) {
85
+ const sheet = (0, import_react_sdk.getClosestInstance)(
86
+ event.instancePath,
87
+ instance,
88
+ `${namespace}:Sheet`
89
+ );
90
+ if (sheet) {
91
+ context.setPropVariable(sheet.id, "open", true);
92
+ }
93
+ }
94
+ }
95
+ }
96
+ };