@webstudio-is/sdk-components-react-radix 0.83.0 → 0.85.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 (103) hide show
  1. package/lib/__generated__/dialog.props.js +2120 -0
  2. package/lib/__generated__/popover.props.js +468 -0
  3. package/lib/__generated__/sheet.props.js +2159 -0
  4. package/lib/__generated__/tabs.props.js +1286 -0
  5. package/lib/__generated__/tooltip.props.js +478 -0
  6. package/lib/cjs/__generated__/dialog.props.js +2140 -0
  7. package/lib/cjs/__generated__/popover.props.js +488 -0
  8. package/lib/cjs/__generated__/sheet.props.js +2179 -0
  9. package/lib/cjs/__generated__/tabs.props.js +1306 -0
  10. package/lib/cjs/__generated__/tooltip.props.js +498 -0
  11. package/lib/cjs/collapsible.js +34 -4
  12. package/lib/cjs/collapsible.ws.js +14 -9
  13. package/lib/cjs/components.js +30 -1
  14. package/lib/cjs/dialog.js +57 -0
  15. package/lib/cjs/dialog.ws.js +311 -0
  16. package/lib/cjs/hooks.js +25 -0
  17. package/lib/cjs/metas.js +30 -1
  18. package/lib/cjs/popover.js +58 -0
  19. package/lib/cjs/popover.ws.js +141 -0
  20. package/lib/cjs/props.js +30 -1
  21. package/lib/cjs/sheet.js +63 -0
  22. package/lib/cjs/sheet.ws.js +317 -0
  23. package/lib/cjs/tabs.js +41 -0
  24. package/lib/cjs/tabs.ws.js +213 -0
  25. package/lib/cjs/theme/radix-common-types.js +16 -0
  26. package/lib/cjs/theme/tailwind-classes.js +547 -0
  27. package/lib/cjs/theme/tailwind-colors.js +35 -0
  28. package/lib/cjs/theme/tailwind-theme.js +46 -0
  29. package/lib/cjs/tooltip.js +55 -0
  30. package/lib/cjs/tooltip.ws.js +142 -0
  31. package/lib/collapsible.js +35 -7
  32. package/lib/collapsible.ws.js +19 -10
  33. package/lib/components.js +46 -1
  34. package/lib/dialog.js +30 -0
  35. package/lib/dialog.ws.js +298 -0
  36. package/lib/hooks.js +5 -0
  37. package/lib/metas.js +59 -1
  38. package/lib/popover.js +31 -0
  39. package/lib/popover.ws.js +116 -0
  40. package/lib/props.js +59 -1
  41. package/lib/sheet.js +35 -0
  42. package/lib/sheet.ws.js +304 -0
  43. package/lib/tabs.js +24 -0
  44. package/lib/tabs.ws.js +193 -0
  45. package/lib/theme/radix-common-types.js +0 -0
  46. package/lib/theme/tailwind-classes.js +527 -0
  47. package/lib/theme/tailwind-colors.js +15 -0
  48. package/lib/theme/tailwind-theme.js +16 -0
  49. package/lib/tooltip.js +28 -0
  50. package/lib/tooltip.ws.js +117 -0
  51. package/lib/types/__generated__/dialog.props.d.ts +8 -0
  52. package/lib/types/__generated__/popover.props.d.ts +4 -0
  53. package/lib/types/__generated__/sheet.props.d.ts +8 -0
  54. package/lib/types/__generated__/tabs.props.d.ts +5 -0
  55. package/lib/types/__generated__/tooltip.props.d.ts +4 -0
  56. package/lib/types/collapsible.d.ts +4 -3
  57. package/lib/types/components.d.ts +5 -0
  58. package/lib/types/dialog.d.ts +25 -0
  59. package/lib/types/dialog.ws.d.ts +23 -0
  60. package/lib/types/hooks.d.ts +2 -0
  61. package/lib/types/metas.d.ts +5 -0
  62. package/lib/types/popover.d.ts +21 -0
  63. package/lib/types/popover.ws.d.ts +15 -0
  64. package/lib/types/props.d.ts +5 -0
  65. package/lib/types/sheet.d.ts +15 -0
  66. package/lib/types/sheet.ws.d.ts +23 -0
  67. package/lib/types/tabs.d.ts +15 -0
  68. package/lib/types/tabs.ws.d.ts +9 -0
  69. package/lib/types/theme/radix-common-types.d.ts +84 -0
  70. package/lib/types/theme/tailwind-classes.d.ts +83 -0
  71. package/lib/types/theme/tailwind-colors.d.ts +21 -0
  72. package/lib/types/theme/tailwind-theme.d.ts +72 -0
  73. package/lib/types/tooltip.d.ts +21 -0
  74. package/lib/types/tooltip.ws.d.ts +15 -0
  75. package/package.json +23 -6
  76. package/src/__generated__/dialog.props.ts +2363 -0
  77. package/src/__generated__/popover.props.ts +515 -0
  78. package/src/__generated__/sheet.props.ts +2402 -0
  79. package/src/__generated__/tabs.props.ts +1434 -0
  80. package/src/__generated__/tooltip.props.ts +526 -0
  81. package/src/collapsible.stories.tsx +21 -0
  82. package/src/collapsible.tsx +44 -21
  83. package/src/collapsible.ws.ts +21 -10
  84. package/src/components.ts +21 -0
  85. package/src/dialog.tsx +66 -0
  86. package/src/dialog.ws.tsx +315 -0
  87. package/src/hooks.ts +4 -0
  88. package/src/metas.ts +34 -0
  89. package/src/popover.tsx +70 -0
  90. package/src/popover.ws.tsx +127 -0
  91. package/src/props.ts +34 -0
  92. package/src/sheet.stories.tsx +21 -0
  93. package/src/sheet.tsx +40 -0
  94. package/src/sheet.ws.tsx +326 -0
  95. package/src/tabs.stories.tsx +21 -0
  96. package/src/tabs.tsx +46 -0
  97. package/src/tabs.ws.ts +211 -0
  98. package/src/theme/radix-common-types.ts +495 -0
  99. package/src/theme/tailwind-classes.ts +695 -0
  100. package/src/theme/tailwind-colors.ts +45 -0
  101. package/src/theme/tailwind-theme.ts +24 -0
  102. package/src/tooltip.tsx +69 -0
  103. package/src/tooltip.ws.tsx +128 -0
@@ -0,0 +1,63 @@
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 sheet_exports = {};
30
+ __export(sheet_exports, {
31
+ Sheet: () => Sheet,
32
+ SheetClose: () => SheetClose,
33
+ SheetContent: () => SheetContent,
34
+ SheetDescription: () => SheetDescription,
35
+ SheetOverlay: () => SheetOverlay,
36
+ SheetTitle: () => SheetTitle,
37
+ SheetTrigger: () => SheetTrigger
38
+ });
39
+ module.exports = __toCommonJS(sheet_exports);
40
+ var import_jsx_runtime = require("react/jsx-runtime");
41
+ var import_react = require("react");
42
+ var Dialog = __toESM(require("./dialog"), 1);
43
+ const Sheet = Dialog.Dialog;
44
+ const SheetTrigger = Dialog.DialogTrigger;
45
+ const SheetOverlay = Dialog.DialogOverlay;
46
+ const SheetClose = Dialog.DialogClose;
47
+ const SheetTitle = Dialog.DialogTitle;
48
+ const SheetDescription = Dialog.DialogDescription;
49
+ const SheetContent = (0, import_react.forwardRef)(
50
+ ({ tag = "nav", side = "left", role = "navigation", children, ...props }, ref) => {
51
+ const Tag = tag;
52
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
53
+ Dialog.DialogContent,
54
+ {
55
+ asChild: true,
56
+ "data-side": side,
57
+ role,
58
+ ...props,
59
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Tag, { ref, children })
60
+ }
61
+ );
62
+ }
63
+ );
@@ -0,0 +1,317 @@
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 sheet_ws_exports = {};
30
+ __export(sheet_ws_exports, {
31
+ metaSheet: () => metaSheet,
32
+ metaSheetClose: () => metaSheetClose,
33
+ metaSheetContent: () => metaSheetContent,
34
+ metaSheetDescription: () => metaSheetDescription,
35
+ metaSheetOverlay: () => metaSheetOverlay,
36
+ metaSheetTitle: () => metaSheetTitle,
37
+ metaSheetTrigger: () => metaSheetTrigger,
38
+ propsMetaSheet: () => propsMetaSheet,
39
+ propsMetaSheetClose: () => propsMetaSheetClose,
40
+ propsMetaSheetContent: () => propsMetaSheetContent,
41
+ propsMetaSheetDescription: () => propsMetaSheetDescription,
42
+ propsMetaSheetOverlay: () => propsMetaSheetOverlay,
43
+ propsMetaSheetTitle: () => propsMetaSheetTitle,
44
+ propsMetaSheetTrigger: () => propsMetaSheetTrigger
45
+ });
46
+ module.exports = __toCommonJS(sheet_ws_exports);
47
+ var import_svg = require("@webstudio-is/icons/svg");
48
+ var import_react_sdk = require("@webstudio-is/react-sdk");
49
+ var tc = __toESM(require("./theme/tailwind-classes"), 1);
50
+ var import_sheet = require("./__generated__/sheet.props");
51
+ var import_css_normalize = require("@webstudio-is/react-sdk/css-normalize");
52
+ const contentPresetStyle = {
53
+ div: import_css_normalize.div,
54
+ nav: import_css_normalize.nav
55
+ };
56
+ const presetStyle = {
57
+ div: import_css_normalize.div
58
+ };
59
+ const buttonPresetStyle = {
60
+ button: import_css_normalize.button
61
+ };
62
+ const titlePresetStyle = {
63
+ h2: import_css_normalize.h2
64
+ };
65
+ const descriptionPresetStyle = {
66
+ p: import_css_normalize.p
67
+ };
68
+ const metaSheetTrigger = {
69
+ category: "hidden",
70
+ type: "container",
71
+ label: "Sheet Trigger",
72
+ icon: import_svg.TriggerIcon,
73
+ stylable: false,
74
+ detachable: false
75
+ };
76
+ const metaSheetContent = {
77
+ category: "hidden",
78
+ type: "container",
79
+ label: "Sheet Content",
80
+ icon: import_svg.ContentIcon,
81
+ detachable: false,
82
+ presetStyle: contentPresetStyle,
83
+ states: [
84
+ { selector: "[data-side=top]", label: "Top Side" },
85
+ { selector: "[data-side=right]", label: "Right Side" },
86
+ { selector: "[data-side=bottom]", label: "Bottom Side" },
87
+ { selector: "[data-side=left]", label: "Left Side" }
88
+ ]
89
+ };
90
+ const metaSheetOverlay = {
91
+ category: "hidden",
92
+ type: "container",
93
+ presetStyle,
94
+ label: "Sheet Overlay",
95
+ icon: import_svg.OverlayIcon,
96
+ detachable: false
97
+ };
98
+ const metaSheetTitle = {
99
+ category: "hidden",
100
+ type: "container",
101
+ presetStyle: titlePresetStyle,
102
+ label: "Sheet Title",
103
+ icon: import_svg.HeadingIcon
104
+ };
105
+ const metaSheetDescription = {
106
+ category: "hidden",
107
+ type: "container",
108
+ presetStyle: descriptionPresetStyle,
109
+ label: "Sheet Description",
110
+ icon: import_svg.TextIcon
111
+ };
112
+ const metaSheetClose = {
113
+ category: "hidden",
114
+ type: "container",
115
+ presetStyle: buttonPresetStyle,
116
+ label: "Sheet Close",
117
+ icon: import_svg.ButtonElementIcon
118
+ };
119
+ const metaSheet = {
120
+ category: "radix",
121
+ type: "container",
122
+ label: "Sheet",
123
+ icon: import_svg.HamburgerMenuIcon,
124
+ order: 15,
125
+ stylable: false,
126
+ template: [
127
+ {
128
+ type: "instance",
129
+ component: "Sheet",
130
+ dataSources: {
131
+ // We don't have support for boolean or undefined, instead of binding on open we bind on a string
132
+ isOpen: { type: "variable", initialValue: "initial" }
133
+ },
134
+ props: [
135
+ {
136
+ type: "dataSource",
137
+ name: "isOpen",
138
+ dataSourceName: "isOpen"
139
+ }
140
+ ],
141
+ children: [
142
+ {
143
+ type: "instance",
144
+ component: "SheetTrigger",
145
+ children: [
146
+ {
147
+ type: "instance",
148
+ component: "Button",
149
+ children: [{ type: "text", value: "Button" }]
150
+ }
151
+ ]
152
+ },
153
+ {
154
+ type: "instance",
155
+ component: "SheetOverlay",
156
+ /**
157
+ * fixed inset-0 z-50 bg-background/80 backdrop-blur-sm
158
+ * flex
159
+ **/
160
+ styles: [
161
+ tc.fixed(),
162
+ tc.inset(0),
163
+ tc.z(50),
164
+ tc.bg("background", 80),
165
+ tc.backdropBlur("sm"),
166
+ // To allow positioning Content
167
+ tc.flex(),
168
+ tc.flex("col"),
169
+ tc.overflow("auto")
170
+ ].flat(),
171
+ children: [
172
+ {
173
+ type: "instance",
174
+ component: "SheetContent",
175
+ /**
176
+ * fixed w-full z-50
177
+ * grid gap-4 max-w-lg
178
+ * m-auto
179
+ * border bg-background p-6 shadow-lg
180
+ **/
181
+ styles: [
182
+ tc.w("full"),
183
+ tc.z(50),
184
+ tc.flex(),
185
+ tc.flex("col"),
186
+ tc.gap(4),
187
+ tc.border(),
188
+ tc.bg("background"),
189
+ tc.p(6),
190
+ tc.shadow("lg"),
191
+ tc.relative(),
192
+ tc.state(
193
+ [tc.mr("auto"), tc.maxW("sm"), tc.grow()].flat(),
194
+ "[data-side=left]"
195
+ ),
196
+ tc.state(
197
+ [tc.ml("auto"), tc.maxW("sm"), tc.grow()].flat(),
198
+ "[data-side=right]"
199
+ ),
200
+ tc.state([tc.mb("auto")].flat(), "[data-side=top]"),
201
+ tc.state([tc.mt("auto")].flat(), "[data-side=bottom]")
202
+ ].flat(),
203
+ children: [
204
+ {
205
+ type: "instance",
206
+ component: "Box",
207
+ label: "Sheet Header",
208
+ styles: [tc.flex(), tc.flex("col"), tc.gap(1)].flat(),
209
+ children: [
210
+ {
211
+ type: "instance",
212
+ component: "SheetTitle",
213
+ /**
214
+ * text-lg leading-none tracking-tight
215
+ **/
216
+ styles: [
217
+ tc.my(0),
218
+ tc.leading("none"),
219
+ tc.text("lg"),
220
+ tc.tracking("tight")
221
+ ].flat(),
222
+ children: [
223
+ {
224
+ type: "text",
225
+ value: "Sheet Title"
226
+ }
227
+ ]
228
+ },
229
+ {
230
+ type: "instance",
231
+ component: "SheetDescription",
232
+ /**
233
+ * text-sm text-muted-foreground
234
+ **/
235
+ styles: [
236
+ tc.my(0),
237
+ tc.text("sm"),
238
+ tc.text("mutedForeground")
239
+ ].flat(),
240
+ children: [
241
+ {
242
+ type: "text",
243
+ value: "sheet description text you can edit"
244
+ }
245
+ ]
246
+ }
247
+ ]
248
+ },
249
+ {
250
+ type: "instance",
251
+ component: "Text",
252
+ children: [{ type: "text", value: "The text you can edit" }]
253
+ },
254
+ {
255
+ type: "instance",
256
+ component: "SheetClose",
257
+ /**
258
+ * absolute right-4 top-4
259
+ * rounded-sm opacity-70
260
+ * ring-offset-background
261
+ * hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2
262
+ * flex items-center justify-center h-4 w-4
263
+ **/
264
+ styles: [
265
+ tc.absolute(),
266
+ tc.right(4),
267
+ tc.top(4),
268
+ tc.rounded("sm"),
269
+ tc.opacity(70),
270
+ tc.flex(),
271
+ tc.items("center"),
272
+ tc.justify("center"),
273
+ tc.h(4),
274
+ tc.w(4),
275
+ tc.border(0),
276
+ tc.bg("transparent"),
277
+ tc.outline("none"),
278
+ tc.hover(tc.opacity(100)),
279
+ tc.focus(tc.ring("ring", 2, "background", 2))
280
+ ].flat(),
281
+ children: [{ type: "text", value: "\u2715" }]
282
+ }
283
+ ]
284
+ }
285
+ ]
286
+ }
287
+ ]
288
+ }
289
+ ]
290
+ };
291
+ const propsMetaSheet = {
292
+ props: import_sheet.propsSheet,
293
+ initialProps: ["isOpen", "modal"]
294
+ };
295
+ const propsMetaSheetTrigger = {
296
+ props: import_sheet.propsSheetTrigger
297
+ };
298
+ const propsMetaSheetContent = {
299
+ props: import_sheet.propsSheetContent,
300
+ initialProps: ["side", "role", "tag"]
301
+ };
302
+ const propsMetaSheetOverlay = {
303
+ props: import_sheet.propsSheetOverlay,
304
+ initialProps: []
305
+ };
306
+ const propsMetaSheetClose = {
307
+ props: import_sheet.propsSheetClose,
308
+ initialProps: []
309
+ };
310
+ const propsMetaSheetTitle = {
311
+ props: import_sheet.propsSheetTitle,
312
+ initialProps: []
313
+ };
314
+ const propsMetaSheetDescription = {
315
+ props: import_sheet.propsSheetDescription,
316
+ initialProps: []
317
+ };
@@ -0,0 +1,41 @@
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 tabs_exports = {};
20
+ __export(tabs_exports, {
21
+ Tabs: () => Tabs,
22
+ TabsContent: () => TabsContent,
23
+ TabsList: () => TabsList,
24
+ TabsTrigger: () => TabsTrigger
25
+ });
26
+ module.exports = __toCommonJS(tabs_exports);
27
+ var import_jsx_runtime = require("react/jsx-runtime");
28
+ var import_react = require("react");
29
+ var import_react_tabs = require("@radix-ui/react-tabs");
30
+ var import_react_sdk = require("@webstudio-is/react-sdk");
31
+ const Tabs = import_react_tabs.Root;
32
+ const TabsList = import_react_tabs.List;
33
+ const TabsTrigger = (0, import_react.forwardRef)(({ value, children, ...props }, ref) => {
34
+ const firstChild = import_react.Children.toArray(children)[0];
35
+ const index = (0, import_react_sdk.getIndexWithinAncestorFromComponentProps)(props);
36
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_tabs.Trigger, { ref, value: value ?? index, asChild: true, ...props, children: firstChild ?? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("button", { children: "Add button" }) });
37
+ });
38
+ const TabsContent = (0, import_react.forwardRef)(({ value, ...props }, ref) => {
39
+ const index = (0, import_react_sdk.getIndexWithinAncestorFromComponentProps)(props);
40
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_tabs.Content, { ref, value: value ?? index, ...props });
41
+ });
@@ -0,0 +1,213 @@
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 tabs_ws_exports = {};
30
+ __export(tabs_ws_exports, {
31
+ metaTabs: () => metaTabs,
32
+ metaTabsContent: () => metaTabsContent,
33
+ metaTabsList: () => metaTabsList,
34
+ metaTabsTrigger: () => metaTabsTrigger,
35
+ propsMetaTabs: () => propsMetaTabs,
36
+ propsMetaTabsContent: () => propsMetaTabsContent,
37
+ propsMetaTabsList: () => propsMetaTabsList,
38
+ propsMetaTabsTrigger: () => propsMetaTabsTrigger
39
+ });
40
+ module.exports = __toCommonJS(tabs_ws_exports);
41
+ var import_svg = require("@webstudio-is/icons/svg");
42
+ var import_css_normalize = require("@webstudio-is/react-sdk/css-normalize");
43
+ var tc = __toESM(require("./theme/tailwind-classes"), 1);
44
+ var import_tabs = require("./__generated__/tabs.props");
45
+ const presetStyle = {
46
+ div: import_css_normalize.div
47
+ };
48
+ const tabsTriggerStyles = [
49
+ tc.inlineFlex(),
50
+ tc.items("center"),
51
+ tc.justify("center"),
52
+ tc.whitespace("nowrap"),
53
+ tc.rounded("md"),
54
+ tc.px(3),
55
+ tc.py(1.5),
56
+ tc.text("sm"),
57
+ tc.font("medium"),
58
+ tc.transition("all"),
59
+ tc.focusVisible(
60
+ [tc.outline("none"), tc.ring("ring", 2, "background", 2)].flat()
61
+ ),
62
+ tc.disabled([tc.pointerEvents("none"), tc.opacity(50)].flat()),
63
+ tc.state(
64
+ [tc.bg("background"), tc.text("foreground"), tc.shadow("sm")].flat(),
65
+ "[data-state=active]"
66
+ )
67
+ ].flat();
68
+ const tabsContentStyles = [
69
+ tc.mt(2),
70
+ tc.focusVisible(
71
+ [tc.outline("none"), tc.ring("ring", 2, "background", 2)].flat()
72
+ )
73
+ ].flat();
74
+ const metaTabs = {
75
+ category: "radix",
76
+ type: "container",
77
+ label: "Tabs",
78
+ icon: import_svg.TabsIcon,
79
+ presetStyle,
80
+ template: [
81
+ {
82
+ type: "instance",
83
+ component: "Tabs",
84
+ dataSources: {
85
+ tabsValue: { type: "variable", initialValue: "0" }
86
+ },
87
+ props: [
88
+ { type: "dataSource", name: "value", dataSourceName: "tabsValue" },
89
+ {
90
+ name: "onValueChange",
91
+ type: "action",
92
+ value: [
93
+ {
94
+ type: "execute",
95
+ args: ["value"],
96
+ code: `tabsValue = value`
97
+ }
98
+ ]
99
+ }
100
+ ],
101
+ children: [
102
+ {
103
+ type: "instance",
104
+ component: "TabsList",
105
+ // inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground
106
+ styles: [
107
+ tc.inlineFlex(),
108
+ tc.h(10),
109
+ tc.items("center"),
110
+ tc.justify("center"),
111
+ tc.rounded("md"),
112
+ tc.bg("muted"),
113
+ tc.p(1),
114
+ tc.text("mutedForeground")
115
+ ].flat(),
116
+ children: [
117
+ {
118
+ type: "instance",
119
+ component: "TabsTrigger",
120
+ children: [
121
+ {
122
+ type: "instance",
123
+ component: "Button",
124
+ styles: tabsTriggerStyles,
125
+ children: [{ type: "text", value: "Account" }]
126
+ }
127
+ ]
128
+ },
129
+ {
130
+ type: "instance",
131
+ component: "TabsTrigger",
132
+ children: [
133
+ {
134
+ type: "instance",
135
+ component: "Button",
136
+ styles: tabsTriggerStyles,
137
+ children: [{ type: "text", value: "Password" }]
138
+ }
139
+ ]
140
+ }
141
+ ]
142
+ },
143
+ {
144
+ type: "instance",
145
+ component: "TabsContent",
146
+ styles: tabsContentStyles,
147
+ children: [
148
+ { type: "text", value: "Make changes to your account here." }
149
+ ]
150
+ },
151
+ {
152
+ type: "instance",
153
+ component: "TabsContent",
154
+ styles: tabsContentStyles,
155
+ children: [{ type: "text", value: "Change your password here." }]
156
+ }
157
+ ]
158
+ }
159
+ ]
160
+ };
161
+ const metaTabsList = {
162
+ category: "hidden",
163
+ detachable: false,
164
+ type: "container",
165
+ label: "Tabs List",
166
+ icon: import_svg.HeaderIcon,
167
+ requiredAncestors: ["Tabs"],
168
+ presetStyle
169
+ };
170
+ const metaTabsTrigger = {
171
+ category: "hidden",
172
+ type: "container",
173
+ label: "Tabs Trigger",
174
+ icon: import_svg.TriggerIcon,
175
+ requiredAncestors: ["TabsList"],
176
+ invalidAncestors: ["TabsTrigger"],
177
+ indexWithinAncestor: "Tabs",
178
+ template: [
179
+ {
180
+ type: "instance",
181
+ component: "TabsTrigger",
182
+ children: [{ type: "text", value: "New Tab" }]
183
+ }
184
+ ]
185
+ };
186
+ const metaTabsContent = {
187
+ category: "hidden",
188
+ type: "container",
189
+ label: "Tabs Content",
190
+ icon: import_svg.ContentIcon,
191
+ requiredAncestors: ["Tabs"],
192
+ indexWithinAncestor: "Tabs",
193
+ presetStyle,
194
+ template: [
195
+ {
196
+ type: "instance",
197
+ component: "TabsContent",
198
+ children: [{ type: "text", value: "New Tab Content" }]
199
+ }
200
+ ]
201
+ };
202
+ const propsMetaTabs = {
203
+ props: import_tabs.propsTabs
204
+ };
205
+ const propsMetaTabsList = {
206
+ props: import_tabs.propsTabsList
207
+ };
208
+ const propsMetaTabsTrigger = {
209
+ props: import_tabs.propsTabsTrigger
210
+ };
211
+ const propsMetaTabsContent = {
212
+ props: import_tabs.propsTabsContent
213
+ };
@@ -0,0 +1,16 @@
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 __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var radix_common_types_exports = {};
16
+ module.exports = __toCommonJS(radix_common_types_exports);