@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.
- package/lib/__generated__/accordion.props.js +2134 -0
- package/lib/__generated__/button.props.js +454 -0
- package/lib/__generated__/dialog.props.js +0 -7
- package/lib/__generated__/input.props.js +451 -0
- package/lib/__generated__/label.props.js +421 -0
- package/lib/__generated__/popover.props.js +0 -7
- package/lib/__generated__/sheet.props.js +0 -7
- package/lib/__generated__/textarea.props.js +431 -0
- package/lib/__generated__/tooltip.props.js +0 -7
- package/lib/accordion.js +51 -0
- package/lib/accordion.ws.js +243 -0
- package/lib/button.js +8 -0
- package/lib/button.ws.js +133 -0
- package/lib/cjs/__generated__/accordion.props.js +2154 -0
- package/lib/cjs/__generated__/button.props.js +474 -0
- package/lib/cjs/__generated__/dialog.props.js +0 -7
- package/lib/cjs/__generated__/input.props.js +471 -0
- package/lib/cjs/__generated__/label.props.js +441 -0
- package/lib/cjs/__generated__/popover.props.js +0 -7
- package/lib/cjs/__generated__/sheet.props.js +0 -7
- package/lib/cjs/__generated__/textarea.props.js +451 -0
- package/lib/cjs/__generated__/tooltip.props.js +0 -7
- package/lib/cjs/accordion.js +60 -0
- package/lib/cjs/accordion.ws.js +261 -0
- package/lib/cjs/button.js +28 -0
- package/lib/cjs/button.ws.js +160 -0
- package/lib/cjs/collapsible.js +2 -16
- package/lib/cjs/collapsible.ws.js +1 -8
- package/lib/cjs/components.js +14 -0
- package/lib/cjs/dialog.js +38 -6
- package/lib/cjs/dialog.ws.js +15 -26
- package/lib/cjs/hooks.js +15 -1
- package/lib/cjs/input.js +28 -0
- package/lib/cjs/input.ws.js +103 -0
- package/lib/cjs/label.js +37 -0
- package/lib/cjs/label.ws.js +74 -0
- package/lib/cjs/metas.js +14 -0
- package/lib/cjs/popover.js +37 -5
- package/lib/cjs/popover.ws.js +15 -18
- package/lib/cjs/props.js +14 -0
- package/lib/cjs/sheet.js +34 -1
- package/lib/cjs/sheet.ws.js +33 -19
- package/lib/cjs/tabs.js +20 -1
- package/lib/cjs/tabs.ws.js +3 -25
- package/lib/cjs/textarea.js +28 -0
- package/lib/cjs/textarea.ws.js +98 -0
- package/lib/cjs/theme/tailwind-classes.js +186 -23
- package/lib/cjs/theme/tailwind-colors.js +10 -1
- package/lib/cjs/tooltip.js +36 -4
- package/lib/cjs/tooltip.ws.js +15 -18
- package/lib/collapsible.js +2 -16
- package/lib/collapsible.ws.js +1 -8
- package/lib/components.js +20 -0
- package/lib/dialog.js +38 -6
- package/lib/dialog.ws.js +15 -26
- package/lib/hooks.js +15 -1
- package/lib/input.js +8 -0
- package/lib/input.ws.js +75 -0
- package/lib/label.js +9 -0
- package/lib/label.ws.js +46 -0
- package/lib/metas.js +20 -0
- package/lib/popover.js +37 -5
- package/lib/popover.ws.js +15 -18
- package/lib/props.js +20 -0
- package/lib/sheet.js +34 -1
- package/lib/sheet.ws.js +33 -19
- package/lib/tabs.js +24 -2
- package/lib/tabs.ws.js +3 -25
- package/lib/textarea.js +8 -0
- package/lib/textarea.ws.js +70 -0
- package/lib/theme/tailwind-classes.js +191 -24
- package/lib/theme/tailwind-colors.js +10 -1
- package/lib/tooltip.js +36 -4
- package/lib/tooltip.ws.js +15 -18
- package/lib/types/__generated__/accordion.props.d.ts +6 -0
- package/lib/types/__generated__/button.props.d.ts +2 -0
- package/lib/types/__generated__/input.props.d.ts +2 -0
- package/lib/types/__generated__/label.props.d.ts +2 -0
- package/lib/types/__generated__/textarea.props.d.ts +2 -0
- package/lib/types/accordion.d.ts +12 -0
- package/lib/types/accordion.ws.d.ts +11 -0
- package/lib/types/button.d.ts +7 -0
- package/lib/types/button.stories.d.ts +20 -0
- package/lib/types/button.ws.d.ts +7 -0
- package/lib/types/components.d.ts +5 -0
- package/lib/types/dialog.d.ts +5 -11
- package/lib/types/input.d.ts +2 -0
- package/lib/types/input.stories.d.ts +20 -0
- package/lib/types/input.ws.d.ts +3 -0
- package/lib/types/label.d.ts +3 -0
- package/lib/types/label.stories.d.ts +9 -0
- package/lib/types/label.ws.d.ts +3 -0
- package/lib/types/metas.d.ts +5 -0
- package/lib/types/popover.d.ts +4 -10
- package/lib/types/props.d.ts +5 -0
- package/lib/types/sheet.d.ts +4 -4
- package/lib/types/tabs.d.ts +2 -0
- package/lib/types/textarea.d.ts +2 -0
- package/lib/types/textarea.stories.d.ts +14 -0
- package/lib/types/textarea.ws.d.ts +3 -0
- package/lib/types/theme/tailwind-classes.d.ts +16 -5
- package/lib/types/theme/tailwind-colors.d.ts +9 -0
- package/lib/types/tooltip.d.ts +3 -9
- package/package.json +9 -7
- package/src/__generated__/accordion.props.ts +2382 -0
- package/src/__generated__/button.props.ts +503 -0
- package/src/__generated__/dialog.props.ts +0 -7
- package/src/__generated__/input.props.ts +500 -0
- package/src/__generated__/label.props.ts +470 -0
- package/src/__generated__/popover.props.ts +0 -7
- package/src/__generated__/sheet.props.ts +0 -7
- package/src/__generated__/textarea.props.ts +480 -0
- package/src/__generated__/tooltip.props.ts +0 -7
- package/src/accordion.stories.tsx +21 -0
- package/src/accordion.tsx +81 -0
- package/src/accordion.ws.ts +270 -0
- package/src/button.stories.ts +35 -0
- package/src/button.tsx +25 -0
- package/src/button.ws.ts +155 -0
- package/src/collapsible.tsx +2 -16
- package/src/collapsible.ws.ts +1 -8
- package/src/components.ts +11 -0
- package/src/dialog.stories.tsx +21 -0
- package/src/dialog.tsx +50 -24
- package/src/dialog.ws.tsx +15 -26
- package/src/hooks.ts +15 -1
- package/src/input.stories.ts +31 -0
- package/src/input.tsx +12 -0
- package/src/input.ws.ts +78 -0
- package/src/label.stories.ts +22 -0
- package/src/label.tsx +15 -0
- package/src/label.ws.ts +48 -0
- package/src/metas.ts +11 -0
- package/src/popover.stories.tsx +21 -0
- package/src/popover.tsx +49 -23
- package/src/popover.ws.tsx +15 -18
- package/src/props.ts +11 -0
- package/src/sheet.tsx +39 -0
- package/src/sheet.ws.tsx +33 -19
- package/src/tabs.tsx +32 -1
- package/src/tabs.ws.ts +1 -23
- package/src/textarea.stories.ts +27 -0
- package/src/textarea.tsx +12 -0
- package/src/textarea.ws.ts +74 -0
- package/src/theme/tailwind-classes.ts +233 -38
- package/src/theme/tailwind-colors.ts +9 -16
- package/src/tooltip.stories.tsx +21 -0
- package/src/tooltip.tsx +46 -20
- package/src/tooltip.ws.tsx +15 -18
|
@@ -0,0 +1,261 @@
|
|
|
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 accordion_ws_exports = {};
|
|
30
|
+
__export(accordion_ws_exports, {
|
|
31
|
+
metaAccordion: () => metaAccordion,
|
|
32
|
+
metaAccordionContent: () => metaAccordionContent,
|
|
33
|
+
metaAccordionHeader: () => metaAccordionHeader,
|
|
34
|
+
metaAccordionItem: () => metaAccordionItem,
|
|
35
|
+
metaAccordionTrigger: () => metaAccordionTrigger,
|
|
36
|
+
propsMetaAccordion: () => propsMetaAccordion,
|
|
37
|
+
propsMetaAccordionContent: () => propsMetaAccordionContent,
|
|
38
|
+
propsMetaAccordionHeader: () => propsMetaAccordionHeader,
|
|
39
|
+
propsMetaAccordionItem: () => propsMetaAccordionItem,
|
|
40
|
+
propsMetaAccordionTrigger: () => propsMetaAccordionTrigger
|
|
41
|
+
});
|
|
42
|
+
module.exports = __toCommonJS(accordion_ws_exports);
|
|
43
|
+
var import_svg = require("@webstudio-is/icons/svg");
|
|
44
|
+
var import_css_normalize = require("@webstudio-is/react-sdk/css-normalize");
|
|
45
|
+
var tc = __toESM(require("./theme/tailwind-classes"), 1);
|
|
46
|
+
var import_accordion = require("./__generated__/accordion.props");
|
|
47
|
+
const presetStyle = {
|
|
48
|
+
div: import_css_normalize.div
|
|
49
|
+
};
|
|
50
|
+
const accordionItemStyles = [tc.borderB()].flat();
|
|
51
|
+
const accordionHeaderStyles = [tc.flex()].flat();
|
|
52
|
+
const accordionTriggerStyles = [
|
|
53
|
+
tc.flex(),
|
|
54
|
+
tc.flex(1),
|
|
55
|
+
tc.items("center"),
|
|
56
|
+
tc.justify("between"),
|
|
57
|
+
tc.py(4),
|
|
58
|
+
tc.font("medium"),
|
|
59
|
+
tc.transition("all"),
|
|
60
|
+
tc.hover([tc.underline()].flat())
|
|
61
|
+
].flat();
|
|
62
|
+
const accordionContentStyles = [
|
|
63
|
+
tc.overflow("hidden"),
|
|
64
|
+
tc.text("sm"),
|
|
65
|
+
// transition does not work with display: none
|
|
66
|
+
// tc.transition("all"),
|
|
67
|
+
tc.pb(4)
|
|
68
|
+
].flat();
|
|
69
|
+
const metaAccordion = {
|
|
70
|
+
category: "radix",
|
|
71
|
+
type: "container",
|
|
72
|
+
icon: import_svg.AccordionIcon,
|
|
73
|
+
presetStyle,
|
|
74
|
+
template: [
|
|
75
|
+
{
|
|
76
|
+
type: "instance",
|
|
77
|
+
component: "Accordion",
|
|
78
|
+
dataSources: {
|
|
79
|
+
accordionValue: { type: "variable", initialValue: "0" }
|
|
80
|
+
},
|
|
81
|
+
props: [
|
|
82
|
+
{ type: "boolean", name: "collapsible", value: true },
|
|
83
|
+
{ type: "dataSource", name: "value", dataSourceName: "accordionValue" },
|
|
84
|
+
{
|
|
85
|
+
name: "onValueChange",
|
|
86
|
+
type: "action",
|
|
87
|
+
value: [
|
|
88
|
+
{
|
|
89
|
+
type: "execute",
|
|
90
|
+
args: ["value"],
|
|
91
|
+
code: `accordionValue = value`
|
|
92
|
+
}
|
|
93
|
+
]
|
|
94
|
+
}
|
|
95
|
+
],
|
|
96
|
+
children: [
|
|
97
|
+
{
|
|
98
|
+
type: "instance",
|
|
99
|
+
component: "AccordionItem",
|
|
100
|
+
styles: accordionItemStyles,
|
|
101
|
+
children: [
|
|
102
|
+
{
|
|
103
|
+
type: "instance",
|
|
104
|
+
component: "AccordionHeader",
|
|
105
|
+
styles: accordionHeaderStyles,
|
|
106
|
+
children: [
|
|
107
|
+
{
|
|
108
|
+
type: "instance",
|
|
109
|
+
component: "AccordionTrigger",
|
|
110
|
+
styles: accordionTriggerStyles,
|
|
111
|
+
children: [{ type: "text", value: "Is it accessible?" }]
|
|
112
|
+
}
|
|
113
|
+
]
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
type: "instance",
|
|
117
|
+
component: "AccordionContent",
|
|
118
|
+
styles: accordionContentStyles,
|
|
119
|
+
children: [
|
|
120
|
+
{
|
|
121
|
+
type: "text",
|
|
122
|
+
value: "Yes. It adheres to the WAI-ARIA design pattern."
|
|
123
|
+
}
|
|
124
|
+
]
|
|
125
|
+
}
|
|
126
|
+
]
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
type: "instance",
|
|
130
|
+
component: "AccordionItem",
|
|
131
|
+
styles: accordionItemStyles,
|
|
132
|
+
children: [
|
|
133
|
+
{
|
|
134
|
+
type: "instance",
|
|
135
|
+
component: "AccordionHeader",
|
|
136
|
+
styles: accordionHeaderStyles,
|
|
137
|
+
children: [
|
|
138
|
+
{
|
|
139
|
+
type: "instance",
|
|
140
|
+
component: "AccordionTrigger",
|
|
141
|
+
styles: accordionTriggerStyles,
|
|
142
|
+
children: [{ type: "text", value: "Is it styled?" }]
|
|
143
|
+
}
|
|
144
|
+
]
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
type: "instance",
|
|
148
|
+
component: "AccordionContent",
|
|
149
|
+
styles: accordionContentStyles,
|
|
150
|
+
children: [
|
|
151
|
+
{
|
|
152
|
+
type: "text",
|
|
153
|
+
value: "Yes. It comes with default styles that matches the other components' aesthetic."
|
|
154
|
+
}
|
|
155
|
+
]
|
|
156
|
+
}
|
|
157
|
+
]
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
type: "instance",
|
|
161
|
+
component: "AccordionItem",
|
|
162
|
+
styles: accordionItemStyles,
|
|
163
|
+
children: [
|
|
164
|
+
{
|
|
165
|
+
type: "instance",
|
|
166
|
+
component: "AccordionHeader",
|
|
167
|
+
styles: accordionHeaderStyles,
|
|
168
|
+
children: [
|
|
169
|
+
{
|
|
170
|
+
type: "instance",
|
|
171
|
+
component: "AccordionTrigger",
|
|
172
|
+
styles: accordionTriggerStyles,
|
|
173
|
+
children: [{ type: "text", value: "Is it animated?" }]
|
|
174
|
+
}
|
|
175
|
+
]
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
type: "instance",
|
|
179
|
+
component: "AccordionContent",
|
|
180
|
+
styles: accordionContentStyles,
|
|
181
|
+
children: [
|
|
182
|
+
{
|
|
183
|
+
type: "text",
|
|
184
|
+
value: "Yes. It's animated by default, but you can disable it if you prefer."
|
|
185
|
+
}
|
|
186
|
+
]
|
|
187
|
+
}
|
|
188
|
+
]
|
|
189
|
+
}
|
|
190
|
+
]
|
|
191
|
+
}
|
|
192
|
+
]
|
|
193
|
+
};
|
|
194
|
+
const metaAccordionItem = {
|
|
195
|
+
category: "hidden",
|
|
196
|
+
type: "container",
|
|
197
|
+
icon: import_svg.ItemIcon,
|
|
198
|
+
requiredAncestors: ["Accordion"],
|
|
199
|
+
indexWithinAncestor: "Accordion",
|
|
200
|
+
presetStyle
|
|
201
|
+
};
|
|
202
|
+
const metaAccordionHeader = {
|
|
203
|
+
category: "hidden",
|
|
204
|
+
type: "container",
|
|
205
|
+
icon: import_svg.HeaderIcon,
|
|
206
|
+
requiredAncestors: ["AccordionItem"],
|
|
207
|
+
detachable: false,
|
|
208
|
+
presetStyle: {
|
|
209
|
+
h3: [import_css_normalize.h3, tc.my(0)].flat()
|
|
210
|
+
}
|
|
211
|
+
};
|
|
212
|
+
const metaAccordionTrigger = {
|
|
213
|
+
category: "hidden",
|
|
214
|
+
type: "container",
|
|
215
|
+
icon: import_svg.TriggerIcon,
|
|
216
|
+
requiredAncestors: ["AccordionHeader"],
|
|
217
|
+
detachable: false,
|
|
218
|
+
presetStyle: {
|
|
219
|
+
button: [
|
|
220
|
+
import_css_normalize.button,
|
|
221
|
+
{
|
|
222
|
+
property: "backgroundColor",
|
|
223
|
+
value: { type: "keyword", value: "transparent" }
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
property: "backgroundImage",
|
|
227
|
+
value: { type: "keyword", value: "none" }
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
property: "cursor",
|
|
231
|
+
value: { type: "keyword", value: "pointer" }
|
|
232
|
+
},
|
|
233
|
+
tc.px(0),
|
|
234
|
+
tc.border(0)
|
|
235
|
+
].flat()
|
|
236
|
+
}
|
|
237
|
+
};
|
|
238
|
+
const metaAccordionContent = {
|
|
239
|
+
category: "hidden",
|
|
240
|
+
type: "container",
|
|
241
|
+
icon: import_svg.ContentIcon,
|
|
242
|
+
requiredAncestors: ["AccordionItem"],
|
|
243
|
+
detachable: false,
|
|
244
|
+
presetStyle
|
|
245
|
+
};
|
|
246
|
+
const propsMetaAccordion = {
|
|
247
|
+
props: import_accordion.propsAccordion,
|
|
248
|
+
initialProps: ["value", "collapsible", "dir", "orientation"]
|
|
249
|
+
};
|
|
250
|
+
const propsMetaAccordionItem = {
|
|
251
|
+
props: import_accordion.propsAccordionItem
|
|
252
|
+
};
|
|
253
|
+
const propsMetaAccordionHeader = {
|
|
254
|
+
props: import_accordion.propsAccordionHeader
|
|
255
|
+
};
|
|
256
|
+
const propsMetaAccordionTrigger = {
|
|
257
|
+
props: import_accordion.propsAccordionTrigger
|
|
258
|
+
};
|
|
259
|
+
const propsMetaAccordionContent = {
|
|
260
|
+
props: import_accordion.propsAccordionContent
|
|
261
|
+
};
|
|
@@ -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 button_exports = {};
|
|
20
|
+
__export(button_exports, {
|
|
21
|
+
Button: () => Button
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(button_exports);
|
|
24
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
25
|
+
var import_react = require("react");
|
|
26
|
+
const Button = (0, import_react.forwardRef)(({ variant = "default", size = "default", ...props }, ref) => {
|
|
27
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("button", { ref, "data-size": size, "data-variant": variant, ...props });
|
|
28
|
+
});
|
|
@@ -0,0 +1,160 @@
|
|
|
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 button_ws_exports = {};
|
|
30
|
+
__export(button_ws_exports, {
|
|
31
|
+
meta: () => meta,
|
|
32
|
+
propsMeta: () => propsMeta,
|
|
33
|
+
template: () => template
|
|
34
|
+
});
|
|
35
|
+
module.exports = __toCommonJS(button_ws_exports);
|
|
36
|
+
var import_svg = require("@webstudio-is/icons/svg");
|
|
37
|
+
var import_react_sdk = require("@webstudio-is/react-sdk");
|
|
38
|
+
var import_css_normalize = require("@webstudio-is/react-sdk/css-normalize");
|
|
39
|
+
var import_button = require("./__generated__/button.props");
|
|
40
|
+
var tc = __toESM(require("./theme/tailwind-classes"), 1);
|
|
41
|
+
const presetStyle = {
|
|
42
|
+
button: import_css_normalize.button
|
|
43
|
+
};
|
|
44
|
+
const template = (props2) => [
|
|
45
|
+
{
|
|
46
|
+
type: "instance",
|
|
47
|
+
component: "Button",
|
|
48
|
+
styles: [
|
|
49
|
+
// 'inline-flex items-center justify-center rounded-md text-sm font-medium
|
|
50
|
+
// ring-offset-background transition-colors
|
|
51
|
+
// focus-visible:outline-none focus-visible:ring-2
|
|
52
|
+
// focus-visible:ring-ring focus-visible:ring-offset-2
|
|
53
|
+
// disabled:pointer-events-none disabled:opacity-50'
|
|
54
|
+
tc.border(0),
|
|
55
|
+
tc.bg("transparent"),
|
|
56
|
+
tc.inlineFlex(),
|
|
57
|
+
tc.items("center"),
|
|
58
|
+
tc.justify("center"),
|
|
59
|
+
tc.rounded("md"),
|
|
60
|
+
tc.text("sm"),
|
|
61
|
+
tc.font("medium"),
|
|
62
|
+
tc.focusVisible(
|
|
63
|
+
[tc.outline("none"), tc.ring("ring", 2, "background", 2)].flat()
|
|
64
|
+
),
|
|
65
|
+
tc.state([tc.pointerEvents("none"), tc.opacity(50)].flat(), ":disabled"),
|
|
66
|
+
// VARIANT
|
|
67
|
+
// default: 'bg-primary text-primary-foreground hover:bg-primary/90',
|
|
68
|
+
tc.state(
|
|
69
|
+
[tc.bg("primary"), tc.text("primaryForeground")].flat(),
|
|
70
|
+
"[data-variant=default]"
|
|
71
|
+
),
|
|
72
|
+
tc.state(
|
|
73
|
+
[[tc.bg("primary", 90)].flat()].flat(),
|
|
74
|
+
"[data-variant=default]:hover"
|
|
75
|
+
),
|
|
76
|
+
// destructive:'bg-destructive text-destructive-foreground hover:bg-destructive/90',
|
|
77
|
+
tc.state(
|
|
78
|
+
[tc.bg("destructive"), tc.text("destructiveForeground")].flat(),
|
|
79
|
+
"[data-variant=destructive]"
|
|
80
|
+
),
|
|
81
|
+
tc.state(
|
|
82
|
+
[[tc.bg("destructive", 90)].flat()].flat(),
|
|
83
|
+
"[data-variant=destructive]:hover"
|
|
84
|
+
),
|
|
85
|
+
// outline: 'border border-input bg-background hover:bg-accent hover:text-accent-foreground',
|
|
86
|
+
tc.state(
|
|
87
|
+
[tc.border(), tc.border("input"), tc.bg("background")].flat(),
|
|
88
|
+
"[data-variant=outline]"
|
|
89
|
+
),
|
|
90
|
+
tc.state(
|
|
91
|
+
[[tc.bg("accent", 90), tc.text("accentForeground")].flat()].flat(),
|
|
92
|
+
"[data-variant=outline]:hover"
|
|
93
|
+
),
|
|
94
|
+
// secondary: 'bg-secondary text-secondary-foreground hover:bg-secondary/80',
|
|
95
|
+
tc.state(
|
|
96
|
+
[tc.bg("secondary"), tc.text("secondaryForeground")].flat(),
|
|
97
|
+
"[data-variant=secondary]"
|
|
98
|
+
),
|
|
99
|
+
tc.state(
|
|
100
|
+
[[tc.bg("secondary", 80)].flat()].flat(),
|
|
101
|
+
"[data-variant=secondary]:hover"
|
|
102
|
+
),
|
|
103
|
+
// ghost: 'hover:bg-accent hover:text-accent-foreground',
|
|
104
|
+
tc.state(
|
|
105
|
+
[[tc.bg("accent"), tc.text("accentForeground")].flat()].flat(),
|
|
106
|
+
"[data-variant=ghost]:hover"
|
|
107
|
+
),
|
|
108
|
+
// link: 'text-primary underline-offset-4 hover:underline',
|
|
109
|
+
tc.state(
|
|
110
|
+
[tc.text("primary"), tc.underlineOffset(4)].flat(),
|
|
111
|
+
"[data-variant=link]"
|
|
112
|
+
),
|
|
113
|
+
tc.state([[tc.underline()].flat()].flat(), "[data-variant=link]:hover"),
|
|
114
|
+
// SIZE
|
|
115
|
+
// default: 'h-10 px-4 py-2',
|
|
116
|
+
tc.state([tc.h(10), tc.px(4), tc.py(2)].flat(), "[data-size=default]"),
|
|
117
|
+
// sm: 'h-9 rounded-md px-3',
|
|
118
|
+
tc.state([tc.h(10), tc.px(3)].flat(), "[data-size=sm]"),
|
|
119
|
+
// lg: 'h-11 rounded-md px-8',
|
|
120
|
+
tc.state([tc.h(11), tc.px(8)].flat(), "[data-size=lg]"),
|
|
121
|
+
// icon: 'h-10 w-10',
|
|
122
|
+
tc.state([tc.h(10), tc.w(10)].flat(), "[data-size=icon]")
|
|
123
|
+
].flat(),
|
|
124
|
+
children: props2?.children ?? [{ type: "text", value: "Button" }],
|
|
125
|
+
props: props2?.props
|
|
126
|
+
}
|
|
127
|
+
];
|
|
128
|
+
const meta = {
|
|
129
|
+
category: "radix",
|
|
130
|
+
type: "container",
|
|
131
|
+
invalidAncestors: ["Button"],
|
|
132
|
+
icon: import_svg.ButtonElementIcon,
|
|
133
|
+
presetStyle,
|
|
134
|
+
states: [
|
|
135
|
+
...import_react_sdk.defaultStates,
|
|
136
|
+
{ selector: ":disabled", label: "Disabled" },
|
|
137
|
+
{ selector: ":enabled", label: "Enabled" },
|
|
138
|
+
{ selector: "[data-variant=default]", label: "Default" },
|
|
139
|
+
{ selector: "[data-variant=default]:hover", label: "Default Hover" },
|
|
140
|
+
{ selector: "[data-variant=destructive]", label: "Destructive" },
|
|
141
|
+
{
|
|
142
|
+
selector: "[data-variant=destructive]:hover",
|
|
143
|
+
label: "Destructive Hover"
|
|
144
|
+
},
|
|
145
|
+
{ selector: "[data-variant=outline]", label: "Outline" },
|
|
146
|
+
{ selector: "[data-variant=outline]:hover", label: "Outline Hover" },
|
|
147
|
+
{ selector: "[data-variant=secondary]", label: "Secondary" },
|
|
148
|
+
{ selector: "[data-variant=secondary]:hover", label: "Secondary Hover" },
|
|
149
|
+
{ selector: "[data-variant=ghost]", label: "Ghost" },
|
|
150
|
+
{ selector: "[data-variant=ghost]:hover", label: "Ghost Hover" },
|
|
151
|
+
{ selector: "[data-variant=link]", label: "Link" },
|
|
152
|
+
{ selector: "[data-variant=link]:hover", label: "Link Hover" }
|
|
153
|
+
],
|
|
154
|
+
order: 1,
|
|
155
|
+
template: template()
|
|
156
|
+
};
|
|
157
|
+
const propsMeta = {
|
|
158
|
+
props: import_button.props,
|
|
159
|
+
initialProps: ["id", "type", "variant", "size", "aria-label"]
|
|
160
|
+
};
|
package/lib/cjs/collapsible.js
CHANGED
|
@@ -36,25 +36,11 @@ const CollapsibleTrigger = (0, import_react.forwardRef)(({ children, ...props },
|
|
|
36
36
|
const CollapsibleContent = import_react_collapsible.Content;
|
|
37
37
|
const namespace = "@webstudio-is/sdk-components-react-radix";
|
|
38
38
|
const hooksCollapsible = {
|
|
39
|
-
onNavigatorUnselect: (context, event) => {
|
|
40
|
-
for (const instance of event.instanceSelection) {
|
|
41
|
-
if (instance.component === `${namespace}:CollapsibleContent`) {
|
|
42
|
-
const collapsible = (0, import_react_sdk.getClosestInstance)(
|
|
43
|
-
event.instanceSelection,
|
|
44
|
-
instance,
|
|
45
|
-
`${namespace}:Collapsible`
|
|
46
|
-
);
|
|
47
|
-
if (collapsible) {
|
|
48
|
-
context.setPropVariable(collapsible.id, "open", false);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
},
|
|
53
39
|
onNavigatorSelect: (context, event) => {
|
|
54
|
-
for (const instance of event.
|
|
40
|
+
for (const instance of event.instancePath) {
|
|
55
41
|
if (instance.component === `${namespace}:CollapsibleContent`) {
|
|
56
42
|
const collapsible = (0, import_react_sdk.getClosestInstance)(
|
|
57
|
-
event.
|
|
43
|
+
event.instancePath,
|
|
58
44
|
instance,
|
|
59
45
|
`${namespace}:Collapsible`
|
|
60
46
|
);
|
|
@@ -36,7 +36,6 @@ const metaCollapsible = {
|
|
|
36
36
|
category: "radix",
|
|
37
37
|
type: "container",
|
|
38
38
|
presetStyle,
|
|
39
|
-
label: "Collapsible",
|
|
40
39
|
icon: import_svg.CollapsibleIcon,
|
|
41
40
|
template: [
|
|
42
41
|
{
|
|
@@ -55,11 +54,7 @@ const metaCollapsible = {
|
|
|
55
54
|
name: "onOpenChange",
|
|
56
55
|
type: "action",
|
|
57
56
|
value: [
|
|
58
|
-
{
|
|
59
|
-
type: "execute",
|
|
60
|
-
args: ["open"],
|
|
61
|
-
code: `collapsibleOpen = open`
|
|
62
|
-
}
|
|
57
|
+
{ type: "execute", args: ["open"], code: `collapsibleOpen = open` }
|
|
63
58
|
]
|
|
64
59
|
}
|
|
65
60
|
],
|
|
@@ -93,7 +88,6 @@ const metaCollapsible = {
|
|
|
93
88
|
const metaCollapsibleTrigger = {
|
|
94
89
|
category: "hidden",
|
|
95
90
|
type: "container",
|
|
96
|
-
label: "Collapsible Trigger",
|
|
97
91
|
icon: import_svg.TriggerIcon,
|
|
98
92
|
stylable: false,
|
|
99
93
|
detachable: false
|
|
@@ -102,7 +96,6 @@ const metaCollapsibleContent = {
|
|
|
102
96
|
category: "hidden",
|
|
103
97
|
type: "container",
|
|
104
98
|
presetStyle,
|
|
105
|
-
label: "Collapsible Content",
|
|
106
99
|
icon: import_svg.ContentIcon,
|
|
107
100
|
detachable: false
|
|
108
101
|
};
|
package/lib/cjs/components.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 components_exports = {};
|
|
20
20
|
__export(components_exports, {
|
|
21
|
+
Accordion: () => import_accordion.Accordion,
|
|
22
|
+
AccordionContent: () => import_accordion.AccordionContent,
|
|
23
|
+
AccordionHeader: () => import_accordion.AccordionHeader,
|
|
24
|
+
AccordionItem: () => import_accordion.AccordionItem,
|
|
25
|
+
AccordionTrigger: () => import_accordion.AccordionTrigger,
|
|
26
|
+
Button: () => import_button.Button,
|
|
21
27
|
Collapsible: () => import_collapsible.Collapsible,
|
|
22
28
|
CollapsibleContent: () => import_collapsible.CollapsibleContent,
|
|
23
29
|
CollapsibleTrigger: () => import_collapsible.CollapsibleTrigger,
|
|
@@ -28,6 +34,8 @@ __export(components_exports, {
|
|
|
28
34
|
DialogOverlay: () => import_dialog.DialogOverlay,
|
|
29
35
|
DialogTitle: () => import_dialog.DialogTitle,
|
|
30
36
|
DialogTrigger: () => import_dialog.DialogTrigger,
|
|
37
|
+
Input: () => import_input.Input,
|
|
38
|
+
Label: () => import_label.Label,
|
|
31
39
|
Popover: () => import_popover.Popover,
|
|
32
40
|
PopoverContent: () => import_popover.PopoverContent,
|
|
33
41
|
PopoverTrigger: () => import_popover.PopoverTrigger,
|
|
@@ -42,6 +50,7 @@ __export(components_exports, {
|
|
|
42
50
|
TabsContent: () => import_tabs.TabsContent,
|
|
43
51
|
TabsList: () => import_tabs.TabsList,
|
|
44
52
|
TabsTrigger: () => import_tabs.TabsTrigger,
|
|
53
|
+
Textarea: () => import_textarea.Textarea,
|
|
45
54
|
Tooltip: () => import_tooltip.Tooltip,
|
|
46
55
|
TooltipContent: () => import_tooltip.TooltipContent,
|
|
47
56
|
TooltipTrigger: () => import_tooltip.TooltipTrigger
|
|
@@ -53,3 +62,8 @@ var import_popover = require("./popover");
|
|
|
53
62
|
var import_tooltip = require("./tooltip");
|
|
54
63
|
var import_sheet = require("./sheet");
|
|
55
64
|
var import_tabs = require("./tabs");
|
|
65
|
+
var import_button = require("./button");
|
|
66
|
+
var import_input = require("./input");
|
|
67
|
+
var import_textarea = require("./textarea");
|
|
68
|
+
var import_label = require("./label");
|
|
69
|
+
var import_accordion = require("./accordion");
|
package/lib/cjs/dialog.js
CHANGED
|
@@ -34,19 +34,20 @@ __export(dialog_exports, {
|
|
|
34
34
|
DialogDescription: () => DialogDescription,
|
|
35
35
|
DialogOverlay: () => DialogOverlay,
|
|
36
36
|
DialogTitle: () => DialogTitle,
|
|
37
|
-
DialogTrigger: () => DialogTrigger
|
|
37
|
+
DialogTrigger: () => DialogTrigger,
|
|
38
|
+
hooksDialog: () => hooksDialog
|
|
38
39
|
});
|
|
39
40
|
module.exports = __toCommonJS(dialog_exports);
|
|
40
41
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
41
|
-
var DialogPrimitive = __toESM(require("@radix-ui/react-dialog"), 1);
|
|
42
42
|
var import_react = require("react");
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
43
|
+
var DialogPrimitive = __toESM(require("@radix-ui/react-dialog"), 1);
|
|
44
|
+
var import_react_sdk = require("@webstudio-is/react-sdk");
|
|
45
|
+
const Dialog = (0, import_react.forwardRef)((props, _ref) => {
|
|
46
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DialogPrimitive.Root, { ...props });
|
|
46
47
|
});
|
|
47
48
|
const DialogTrigger = (0, import_react.forwardRef)(({ children, ...props }, ref) => {
|
|
48
49
|
const firstChild = import_react.Children.toArray(children)[0];
|
|
49
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DialogPrimitive.Trigger, { asChild: true, ...props, children: firstChild ?? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("button", { children: "Add button or link" }) });
|
|
50
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DialogPrimitive.Trigger, { ref, asChild: true, ...props, children: firstChild ?? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("button", { children: "Add button or link" }) });
|
|
50
51
|
});
|
|
51
52
|
const DialogOverlay = (0, import_react.forwardRef)((props, ref) => {
|
|
52
53
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DialogPrimitive.DialogPortal, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DialogPrimitive.Overlay, { ref, ...props }) });
|
|
@@ -55,3 +56,34 @@ const DialogContent = DialogPrimitive.Content;
|
|
|
55
56
|
const DialogClose = DialogPrimitive.Close;
|
|
56
57
|
const DialogTitle = DialogPrimitive.Title;
|
|
57
58
|
const DialogDescription = DialogPrimitive.Description;
|
|
59
|
+
const namespace = "@webstudio-is/sdk-components-react-radix";
|
|
60
|
+
const hooksDialog = {
|
|
61
|
+
onNavigatorUnselect: (context, event) => {
|
|
62
|
+
for (const instance of event.instancePath) {
|
|
63
|
+
if (instance.component === `${namespace}:DialogOverlay`) {
|
|
64
|
+
const dialog = (0, import_react_sdk.getClosestInstance)(
|
|
65
|
+
event.instancePath,
|
|
66
|
+
instance,
|
|
67
|
+
`${namespace}:Dialog`
|
|
68
|
+
);
|
|
69
|
+
if (dialog) {
|
|
70
|
+
context.setPropVariable(dialog.id, "open", false);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
onNavigatorSelect: (context, event) => {
|
|
76
|
+
for (const instance of event.instancePath) {
|
|
77
|
+
if (instance.component === `${namespace}:DialogOverlay`) {
|
|
78
|
+
const dialog = (0, import_react_sdk.getClosestInstance)(
|
|
79
|
+
event.instancePath,
|
|
80
|
+
instance,
|
|
81
|
+
`${namespace}:Dialog`
|
|
82
|
+
);
|
|
83
|
+
if (dialog) {
|
|
84
|
+
context.setPropVariable(dialog.id, "open", true);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
};
|