@webstudio-is/sdk-components-react-radix 0.95.0 → 0.97.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/components.js +278 -35
- package/lib/hooks.js +475 -11
- package/lib/metas.js +4616 -58
- package/lib/props.js +23280 -57
- package/lib/types/theme/tailwind-classes.d.ts +4 -4
- package/package.json +9 -9
- package/lib/__generated__/accordion.props.js +0 -2619
- package/lib/__generated__/checkbox.props.js +0 -1080
- package/lib/__generated__/collapsible.props.js +0 -1026
- package/lib/__generated__/dialog.props.js +0 -2595
- package/lib/__generated__/label.props.js +0 -519
- package/lib/__generated__/navigation-menu.props.js +0 -2557
- package/lib/__generated__/popover.props.js +0 -558
- package/lib/__generated__/radio-group.props.js +0 -1623
- package/lib/__generated__/select.props.js +0 -3674
- package/lib/__generated__/sheet.props.js +0 -2614
- package/lib/__generated__/switch.props.js +0 -1080
- package/lib/__generated__/tabs.props.js +0 -2119
- package/lib/__generated__/tooltip.props.js +0 -569
- package/lib/accordion.js +0 -51
- package/lib/accordion.stories.js +0 -18
- package/lib/accordion.ws.js +0 -259
- package/lib/checkbox.js +0 -10
- package/lib/checkbox.stories.js +0 -19
- package/lib/checkbox.ws.js +0 -148
- package/lib/collapsible.js +0 -31
- package/lib/collapsible.stories.js +0 -18
- package/lib/collapsible.ws.js +0 -103
- package/lib/dialog.js +0 -53
- package/lib/dialog.stories.js +0 -18
- package/lib/dialog.ws.js +0 -289
- package/lib/label.js +0 -7
- package/lib/label.stories.js +0 -19
- package/lib/label.ws.js +0 -44
- package/lib/navigation-menu.js +0 -76
- package/lib/navigation-menu.stories.js +0 -18
- package/lib/navigation-menu.ws.js +0 -486
- package/lib/popover.js +0 -58
- package/lib/popover.stories.js +0 -18
- package/lib/popover.ws.js +0 -110
- package/lib/props-descriptions.js +0 -34
- package/lib/radio-group.js +0 -7
- package/lib/radio-group.stories.js +0 -19
- package/lib/radio-group.ws.js +0 -166
- package/lib/select.js +0 -65
- package/lib/select.stories.js +0 -18
- package/lib/select.ws.js +0 -321
- package/lib/sheet.js +0 -59
- package/lib/sheet.stories.js +0 -18
- package/lib/sheet.ws.js +0 -225
- package/lib/switch.js +0 -4
- package/lib/switch.stories.js +0 -19
- package/lib/switch.ws.js +0 -140
- package/lib/tabs.js +0 -38
- package/lib/tabs.stories.js +0 -18
- package/lib/tabs.ws.js +0 -169
- package/lib/theme/__generated__/tailwind-theme.js +0 -517
- package/lib/theme/styles.js +0 -63
- package/lib/theme/tailwind-classes.js +0 -651
- package/lib/theme/tailwind-colors.js +0 -23
- package/lib/tooltip.js +0 -55
- package/lib/tooltip.stories.js +0 -18
- package/lib/tooltip.ws.js +0 -111
package/lib/metas.js
CHANGED
|
@@ -1,72 +1,4630 @@
|
|
|
1
|
-
|
|
1
|
+
// src/collapsible.ws.ts
|
|
2
|
+
import {
|
|
3
|
+
CollapsibleIcon,
|
|
4
|
+
TriggerIcon,
|
|
5
|
+
ContentIcon
|
|
6
|
+
} from "@webstudio-is/icons/svg";
|
|
7
|
+
import { div } from "@webstudio-is/react-sdk/css-normalize";
|
|
8
|
+
|
|
9
|
+
// src/__generated__/collapsible.props.ts
|
|
10
|
+
var propsCollapsible = {
|
|
11
|
+
about: { required: false, control: "text", type: "string" },
|
|
12
|
+
accessKey: {
|
|
13
|
+
required: false,
|
|
14
|
+
control: "text",
|
|
15
|
+
type: "string",
|
|
16
|
+
description: "Keyboard shortcut to activate or add focus to the element."
|
|
17
|
+
},
|
|
18
|
+
"aria-activedescendant": {
|
|
19
|
+
description: "Identifies the currently active element when DOM focus is on a composite widget, textbox, group, or application.",
|
|
20
|
+
required: false,
|
|
21
|
+
control: "text",
|
|
22
|
+
type: "string"
|
|
23
|
+
},
|
|
24
|
+
"aria-atomic": {
|
|
25
|
+
description: "Indicates whether assistive technologies will present all, or only parts of, the changed region based on the change notifications defined by the aria-relevant attribute.",
|
|
26
|
+
required: false,
|
|
27
|
+
control: "boolean",
|
|
28
|
+
type: "boolean"
|
|
29
|
+
},
|
|
30
|
+
"aria-autocomplete": {
|
|
31
|
+
description: "Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for an input and specifies how predictions would be\npresented if they are made.",
|
|
32
|
+
required: false,
|
|
33
|
+
control: "select",
|
|
34
|
+
type: "string",
|
|
35
|
+
options: ["list", "none", "inline", "both"]
|
|
36
|
+
},
|
|
37
|
+
"aria-braillelabel": {
|
|
38
|
+
description: "Defines a string value that labels the current element, which is intended to be converted into Braille.\n@see aria-label.",
|
|
39
|
+
required: false,
|
|
40
|
+
control: "text",
|
|
41
|
+
type: "string"
|
|
42
|
+
},
|
|
43
|
+
"aria-brailleroledescription": {
|
|
44
|
+
description: "Defines a human-readable, author-localized abbreviated description for the role of an element, which is intended to be converted into Braille.\n@see aria-roledescription.",
|
|
45
|
+
required: false,
|
|
46
|
+
control: "text",
|
|
47
|
+
type: "string"
|
|
48
|
+
},
|
|
49
|
+
"aria-busy": { required: false, control: "boolean", type: "boolean" },
|
|
50
|
+
"aria-checked": {
|
|
51
|
+
description: 'Indicates the current "checked" state of checkboxes, radio buttons, and other widgets.\n@see aria-pressed\n@see aria-selected.',
|
|
52
|
+
required: false,
|
|
53
|
+
control: "text",
|
|
54
|
+
type: "string"
|
|
55
|
+
},
|
|
56
|
+
"aria-colcount": {
|
|
57
|
+
description: "Defines the total number of columns in a table, grid, or treegrid.\n@see aria-colindex.",
|
|
58
|
+
required: false,
|
|
59
|
+
control: "number",
|
|
60
|
+
type: "number"
|
|
61
|
+
},
|
|
62
|
+
"aria-colindex": {
|
|
63
|
+
description: "Defines an element's column index or position with respect to the total number of columns within a table, grid, or treegrid.\n@see aria-colcount\n@see aria-colspan.",
|
|
64
|
+
required: false,
|
|
65
|
+
control: "number",
|
|
66
|
+
type: "number"
|
|
67
|
+
},
|
|
68
|
+
"aria-colindextext": {
|
|
69
|
+
description: "Defines a human readable text alternative of aria-colindex.\n@see aria-rowindextext.",
|
|
70
|
+
required: false,
|
|
71
|
+
control: "text",
|
|
72
|
+
type: "string"
|
|
73
|
+
},
|
|
74
|
+
"aria-colspan": {
|
|
75
|
+
description: "Defines the number of columns spanned by a cell or gridcell within a table, grid, or treegrid.\n@see aria-colindex\n@see aria-rowspan.",
|
|
76
|
+
required: false,
|
|
77
|
+
control: "number",
|
|
78
|
+
type: "number"
|
|
79
|
+
},
|
|
80
|
+
"aria-controls": {
|
|
81
|
+
description: "Identifies the element (or elements) whose contents or presence are controlled by the current element.\n@see aria-owns.",
|
|
82
|
+
required: false,
|
|
83
|
+
control: "text",
|
|
84
|
+
type: "string"
|
|
85
|
+
},
|
|
86
|
+
"aria-current": {
|
|
87
|
+
description: "Indicates the element that represents the current item within a container or set of related elements.",
|
|
88
|
+
required: false,
|
|
89
|
+
control: "text",
|
|
90
|
+
type: "string"
|
|
91
|
+
},
|
|
92
|
+
"aria-describedby": {
|
|
93
|
+
description: "Identifies the element (or elements) that describes the object.\n@see aria-labelledby",
|
|
94
|
+
required: false,
|
|
95
|
+
control: "text",
|
|
96
|
+
type: "string"
|
|
97
|
+
},
|
|
98
|
+
"aria-description": {
|
|
99
|
+
description: "Defines a string value that describes or annotates the current element.\n@see related aria-describedby.",
|
|
100
|
+
required: false,
|
|
101
|
+
control: "text",
|
|
102
|
+
type: "string"
|
|
103
|
+
},
|
|
104
|
+
"aria-details": {
|
|
105
|
+
description: "Identifies the element that provides a detailed, extended description for the object.\n@see aria-describedby.",
|
|
106
|
+
required: false,
|
|
107
|
+
control: "text",
|
|
108
|
+
type: "string"
|
|
109
|
+
},
|
|
110
|
+
"aria-disabled": {
|
|
111
|
+
description: "Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable.\n@see aria-hidden\n@see aria-readonly.",
|
|
112
|
+
required: false,
|
|
113
|
+
control: "boolean",
|
|
114
|
+
type: "boolean"
|
|
115
|
+
},
|
|
116
|
+
"aria-dropeffect": {
|
|
117
|
+
description: "Indicates what functions can be performed when a dragged object is released on the drop target.\n@deprecated in ARIA 1.1",
|
|
118
|
+
required: false,
|
|
119
|
+
control: "select",
|
|
120
|
+
type: "string",
|
|
121
|
+
options: ["link", "none", "copy", "execute", "move", "popup"]
|
|
122
|
+
},
|
|
123
|
+
"aria-errormessage": {
|
|
124
|
+
description: "Identifies the element that provides an error message for the object.\n@see aria-invalid\n@see aria-describedby.",
|
|
125
|
+
required: false,
|
|
126
|
+
control: "text",
|
|
127
|
+
type: "string"
|
|
128
|
+
},
|
|
129
|
+
"aria-expanded": {
|
|
130
|
+
description: "Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed.",
|
|
131
|
+
required: false,
|
|
132
|
+
control: "boolean",
|
|
133
|
+
type: "boolean"
|
|
134
|
+
},
|
|
135
|
+
"aria-flowto": {
|
|
136
|
+
description: "Identifies the next element (or elements) in an alternate reading order of content which, at the user's discretion,\nallows assistive technology to override the general default of reading in document source order.",
|
|
137
|
+
required: false,
|
|
138
|
+
control: "text",
|
|
139
|
+
type: "string"
|
|
140
|
+
},
|
|
141
|
+
"aria-grabbed": {
|
|
142
|
+
description: `Indicates an element's "grabbed" state in a drag-and-drop operation.
|
|
143
|
+
@deprecated in ARIA 1.1`,
|
|
144
|
+
required: false,
|
|
145
|
+
control: "boolean",
|
|
146
|
+
type: "boolean"
|
|
147
|
+
},
|
|
148
|
+
"aria-haspopup": {
|
|
149
|
+
description: "Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element.",
|
|
150
|
+
required: false,
|
|
151
|
+
control: "text",
|
|
152
|
+
type: "string"
|
|
153
|
+
},
|
|
154
|
+
"aria-hidden": {
|
|
155
|
+
description: "Indicates whether the element is exposed to an accessibility API.\n@see aria-disabled.",
|
|
156
|
+
required: false,
|
|
157
|
+
control: "boolean",
|
|
158
|
+
type: "boolean"
|
|
159
|
+
},
|
|
160
|
+
"aria-invalid": {
|
|
161
|
+
description: "Indicates the entered value does not conform to the format expected by the application.\n@see aria-errormessage.",
|
|
162
|
+
required: false,
|
|
163
|
+
control: "text",
|
|
164
|
+
type: "string"
|
|
165
|
+
},
|
|
166
|
+
"aria-keyshortcuts": {
|
|
167
|
+
description: "Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element.",
|
|
168
|
+
required: false,
|
|
169
|
+
control: "text",
|
|
170
|
+
type: "string"
|
|
171
|
+
},
|
|
172
|
+
"aria-label": {
|
|
173
|
+
description: "Provides the accessible name that describes an interactive element if no other accessible name exists, for example in a button that contains an image with no text.",
|
|
174
|
+
required: false,
|
|
175
|
+
control: "text",
|
|
176
|
+
type: "string"
|
|
177
|
+
},
|
|
178
|
+
"aria-labelledby": {
|
|
179
|
+
description: "Identifies the element (or elements) that labels the current element.\n@see aria-describedby.",
|
|
180
|
+
required: false,
|
|
181
|
+
control: "text",
|
|
182
|
+
type: "string"
|
|
183
|
+
},
|
|
184
|
+
"aria-level": {
|
|
185
|
+
description: "Defines the hierarchical level of an element within a structure.",
|
|
186
|
+
required: false,
|
|
187
|
+
control: "number",
|
|
188
|
+
type: "number"
|
|
189
|
+
},
|
|
190
|
+
"aria-live": {
|
|
191
|
+
description: "Indicates that an element will be updated, and describes the types of updates the user agents, assistive technologies, and user can expect from the live region.",
|
|
192
|
+
required: false,
|
|
193
|
+
control: "radio",
|
|
194
|
+
type: "string",
|
|
195
|
+
options: ["off", "assertive", "polite"]
|
|
196
|
+
},
|
|
197
|
+
"aria-modal": {
|
|
198
|
+
description: "Indicates whether an element is modal when displayed.",
|
|
199
|
+
required: false,
|
|
200
|
+
control: "boolean",
|
|
201
|
+
type: "boolean"
|
|
202
|
+
},
|
|
203
|
+
"aria-multiline": {
|
|
204
|
+
description: "Indicates whether a text box accepts multiple lines of input or only a single line.",
|
|
205
|
+
required: false,
|
|
206
|
+
control: "boolean",
|
|
207
|
+
type: "boolean"
|
|
208
|
+
},
|
|
209
|
+
"aria-multiselectable": {
|
|
210
|
+
description: "Indicates that the user may select more than one item from the current selectable descendants.",
|
|
211
|
+
required: false,
|
|
212
|
+
control: "boolean",
|
|
213
|
+
type: "boolean"
|
|
214
|
+
},
|
|
215
|
+
"aria-orientation": {
|
|
216
|
+
description: "Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous.",
|
|
217
|
+
required: false,
|
|
218
|
+
control: "radio",
|
|
219
|
+
type: "string",
|
|
220
|
+
options: ["horizontal", "vertical"]
|
|
221
|
+
},
|
|
222
|
+
"aria-owns": {
|
|
223
|
+
description: "Identifies an element (or elements) in order to define a visual, functional, or contextual parent/child relationship\nbetween DOM elements where the DOM hierarchy cannot be used to represent the relationship.\n@see aria-controls.",
|
|
224
|
+
required: false,
|
|
225
|
+
control: "text",
|
|
226
|
+
type: "string"
|
|
227
|
+
},
|
|
228
|
+
"aria-placeholder": {
|
|
229
|
+
description: "Defines a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value.\nA hint could be a sample value or a brief description of the expected format.",
|
|
230
|
+
required: false,
|
|
231
|
+
control: "text",
|
|
232
|
+
type: "string"
|
|
233
|
+
},
|
|
234
|
+
"aria-posinset": {
|
|
235
|
+
description: "Defines an element's number or position in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM.\n@see aria-setsize.",
|
|
236
|
+
required: false,
|
|
237
|
+
control: "number",
|
|
238
|
+
type: "number"
|
|
239
|
+
},
|
|
240
|
+
"aria-pressed": {
|
|
241
|
+
description: 'Indicates the current "pressed" state of toggle buttons.\n@see aria-checked\n@see aria-selected.',
|
|
242
|
+
required: false,
|
|
243
|
+
control: "text",
|
|
244
|
+
type: "string"
|
|
245
|
+
},
|
|
246
|
+
"aria-readonly": {
|
|
247
|
+
description: "Indicates that the element is not editable, but is otherwise operable.\n@see aria-disabled.",
|
|
248
|
+
required: false,
|
|
249
|
+
control: "boolean",
|
|
250
|
+
type: "boolean"
|
|
251
|
+
},
|
|
252
|
+
"aria-relevant": {
|
|
253
|
+
description: "Indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified.\n@see aria-atomic.",
|
|
254
|
+
required: false,
|
|
255
|
+
control: "select",
|
|
256
|
+
type: "string",
|
|
257
|
+
options: [
|
|
258
|
+
"text",
|
|
259
|
+
"additions",
|
|
260
|
+
"additions removals",
|
|
261
|
+
"additions text",
|
|
262
|
+
"all",
|
|
263
|
+
"removals",
|
|
264
|
+
"removals additions",
|
|
265
|
+
"removals text",
|
|
266
|
+
"text additions",
|
|
267
|
+
"text removals"
|
|
268
|
+
]
|
|
269
|
+
},
|
|
270
|
+
"aria-required": {
|
|
271
|
+
description: "Indicates that user input is required on the element before a form may be submitted.",
|
|
272
|
+
required: false,
|
|
273
|
+
control: "boolean",
|
|
274
|
+
type: "boolean"
|
|
275
|
+
},
|
|
276
|
+
"aria-roledescription": {
|
|
277
|
+
description: "Defines a human-readable, author-localized description for the role of an element.",
|
|
278
|
+
required: false,
|
|
279
|
+
control: "text",
|
|
280
|
+
type: "string"
|
|
281
|
+
},
|
|
282
|
+
"aria-rowcount": {
|
|
283
|
+
description: "Defines the total number of rows in a table, grid, or treegrid.\n@see aria-rowindex.",
|
|
284
|
+
required: false,
|
|
285
|
+
control: "number",
|
|
286
|
+
type: "number"
|
|
287
|
+
},
|
|
288
|
+
"aria-rowindex": {
|
|
289
|
+
description: "Defines an element's row index or position with respect to the total number of rows within a table, grid, or treegrid.\n@see aria-rowcount\n@see aria-rowspan.",
|
|
290
|
+
required: false,
|
|
291
|
+
control: "number",
|
|
292
|
+
type: "number"
|
|
293
|
+
},
|
|
294
|
+
"aria-rowindextext": {
|
|
295
|
+
description: "Defines a human readable text alternative of aria-rowindex.\n@see aria-colindextext.",
|
|
296
|
+
required: false,
|
|
297
|
+
control: "text",
|
|
298
|
+
type: "string"
|
|
299
|
+
},
|
|
300
|
+
"aria-rowspan": {
|
|
301
|
+
description: "Defines the number of rows spanned by a cell or gridcell within a table, grid, or treegrid.\n@see aria-rowindex\n@see aria-colspan.",
|
|
302
|
+
required: false,
|
|
303
|
+
control: "number",
|
|
304
|
+
type: "number"
|
|
305
|
+
},
|
|
306
|
+
"aria-selected": {
|
|
307
|
+
description: 'Indicates the current "selected" state of various widgets.\n@see aria-checked\n@see aria-pressed.',
|
|
308
|
+
required: false,
|
|
309
|
+
control: "boolean",
|
|
310
|
+
type: "boolean"
|
|
311
|
+
},
|
|
312
|
+
"aria-setsize": {
|
|
313
|
+
description: "Defines the number of items in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM.\n@see aria-posinset.",
|
|
314
|
+
required: false,
|
|
315
|
+
control: "number",
|
|
316
|
+
type: "number"
|
|
317
|
+
},
|
|
318
|
+
"aria-sort": {
|
|
319
|
+
description: "Indicates if items in a table or grid are sorted in ascending or descending order.",
|
|
320
|
+
required: false,
|
|
321
|
+
control: "select",
|
|
322
|
+
type: "string",
|
|
323
|
+
options: ["none", "ascending", "descending", "other"]
|
|
324
|
+
},
|
|
325
|
+
"aria-valuemax": {
|
|
326
|
+
description: "Defines the maximum allowed value for a range widget.",
|
|
327
|
+
required: false,
|
|
328
|
+
control: "number",
|
|
329
|
+
type: "number"
|
|
330
|
+
},
|
|
331
|
+
"aria-valuemin": {
|
|
332
|
+
description: "Defines the minimum allowed value for a range widget.",
|
|
333
|
+
required: false,
|
|
334
|
+
control: "number",
|
|
335
|
+
type: "number"
|
|
336
|
+
},
|
|
337
|
+
"aria-valuenow": {
|
|
338
|
+
description: "Defines the current value for a range widget.\n@see aria-valuetext.",
|
|
339
|
+
required: false,
|
|
340
|
+
control: "number",
|
|
341
|
+
type: "number"
|
|
342
|
+
},
|
|
343
|
+
"aria-valuetext": {
|
|
344
|
+
description: "Defines the human readable text alternative of aria-valuenow for a range widget.",
|
|
345
|
+
required: false,
|
|
346
|
+
control: "text",
|
|
347
|
+
type: "string"
|
|
348
|
+
},
|
|
349
|
+
autoCapitalize: {
|
|
350
|
+
required: false,
|
|
351
|
+
control: "text",
|
|
352
|
+
type: "string",
|
|
353
|
+
description: "Sets whether input is automatically capitalized when entered by user."
|
|
354
|
+
},
|
|
355
|
+
autoCorrect: { required: false, control: "text", type: "string" },
|
|
356
|
+
autoFocus: {
|
|
357
|
+
required: false,
|
|
358
|
+
control: "boolean",
|
|
359
|
+
type: "boolean",
|
|
360
|
+
description: "Indicates that an element should be focused on page load, or when its parent dialog is displayed."
|
|
361
|
+
},
|
|
362
|
+
autoSave: { required: false, control: "text", type: "string" },
|
|
363
|
+
className: { required: false, control: "text", type: "string" },
|
|
364
|
+
color: {
|
|
365
|
+
required: false,
|
|
366
|
+
control: "color",
|
|
367
|
+
type: "string",
|
|
368
|
+
description: "This attribute sets the text color using either a named color or a color specified in the hexadecimal #RRGGBB format. Note: This is a legacy attribute. Please use the CSS color property instead."
|
|
369
|
+
},
|
|
370
|
+
content: {
|
|
371
|
+
required: false,
|
|
372
|
+
control: "text",
|
|
373
|
+
type: "string",
|
|
374
|
+
description: "A value associated with http-equiv orname depending on the context."
|
|
375
|
+
},
|
|
376
|
+
contextMenu: {
|
|
377
|
+
required: false,
|
|
378
|
+
control: "text",
|
|
379
|
+
type: "string",
|
|
380
|
+
description: "Defines the ID of a menu element which willserve as the element's context menu."
|
|
381
|
+
},
|
|
382
|
+
datatype: { required: false, control: "text", type: "string" },
|
|
383
|
+
dir: {
|
|
384
|
+
required: false,
|
|
385
|
+
control: "text",
|
|
386
|
+
type: "string",
|
|
387
|
+
description: "Defines the text direction. Allowed values are ltr (Left-To-Right) or rtl (Right-To-Left)"
|
|
388
|
+
},
|
|
389
|
+
disabled: {
|
|
390
|
+
required: false,
|
|
391
|
+
control: "boolean",
|
|
392
|
+
type: "boolean",
|
|
393
|
+
description: "Indicates whether the user can interact with the element."
|
|
394
|
+
},
|
|
395
|
+
draggable: {
|
|
396
|
+
required: false,
|
|
397
|
+
control: "boolean",
|
|
398
|
+
type: "boolean",
|
|
399
|
+
description: "Defines whether the element can be dragged."
|
|
400
|
+
},
|
|
401
|
+
hidden: {
|
|
402
|
+
required: false,
|
|
403
|
+
control: "boolean",
|
|
404
|
+
type: "boolean",
|
|
405
|
+
description: "Prevents rendering of given element, while keeping child elements, e.g. script elements, active."
|
|
406
|
+
},
|
|
407
|
+
id: {
|
|
408
|
+
required: false,
|
|
409
|
+
control: "text",
|
|
410
|
+
type: "string",
|
|
411
|
+
description: "Often used with CSS to style a specific element. The value of this attribute must be unique."
|
|
412
|
+
},
|
|
413
|
+
inputMode: {
|
|
414
|
+
description: "Hints at the type of data that might be entered by the user while editing the element or its contents\n@see https://html.spec.whatwg.org/multipage/interaction.html#input-modalities:-the-inputmode-attribute",
|
|
415
|
+
required: false,
|
|
416
|
+
control: "select",
|
|
417
|
+
type: "string",
|
|
418
|
+
options: [
|
|
419
|
+
"search",
|
|
420
|
+
"text",
|
|
421
|
+
"none",
|
|
422
|
+
"tel",
|
|
423
|
+
"url",
|
|
424
|
+
"email",
|
|
425
|
+
"numeric",
|
|
426
|
+
"decimal"
|
|
427
|
+
]
|
|
428
|
+
},
|
|
429
|
+
is: {
|
|
430
|
+
description: "Specify that a standard HTML element should behave like a defined custom built-in element\n@see https://html.spec.whatwg.org/multipage/custom-elements.html#attr-is",
|
|
431
|
+
required: false,
|
|
432
|
+
control: "text",
|
|
433
|
+
type: "string"
|
|
434
|
+
},
|
|
435
|
+
itemID: { required: false, control: "text", type: "string" },
|
|
436
|
+
itemProp: { required: false, control: "text", type: "string" },
|
|
437
|
+
itemRef: { required: false, control: "text", type: "string" },
|
|
438
|
+
itemScope: { required: false, control: "boolean", type: "boolean" },
|
|
439
|
+
itemType: { required: false, control: "text", type: "string" },
|
|
440
|
+
lang: {
|
|
441
|
+
required: false,
|
|
442
|
+
control: "text",
|
|
443
|
+
type: "string",
|
|
444
|
+
description: "Defines the language used in the element."
|
|
445
|
+
},
|
|
446
|
+
nonce: { required: false, control: "text", type: "string" },
|
|
447
|
+
open: {
|
|
448
|
+
required: false,
|
|
449
|
+
control: "boolean",
|
|
450
|
+
type: "boolean",
|
|
451
|
+
description: "Show or hide the content of this component on the canvas. This will not affect the initial state of the component."
|
|
452
|
+
},
|
|
453
|
+
placeholder: {
|
|
454
|
+
required: false,
|
|
455
|
+
control: "text",
|
|
456
|
+
type: "string",
|
|
457
|
+
description: "Provides a hint to the user of what can be entered in the field."
|
|
458
|
+
},
|
|
459
|
+
prefix: { required: false, control: "text", type: "string" },
|
|
460
|
+
property: { required: false, control: "text", type: "string" },
|
|
461
|
+
radioGroup: { required: false, control: "text", type: "string" },
|
|
462
|
+
rel: {
|
|
463
|
+
required: false,
|
|
464
|
+
control: "text",
|
|
465
|
+
type: "string",
|
|
466
|
+
description: "Specifies the relationship of the target object to the link object."
|
|
467
|
+
},
|
|
468
|
+
resource: { required: false, control: "text", type: "string" },
|
|
469
|
+
results: { required: false, control: "number", type: "number" },
|
|
470
|
+
rev: { required: false, control: "text", type: "string" },
|
|
471
|
+
role: {
|
|
472
|
+
required: false,
|
|
473
|
+
control: "text",
|
|
474
|
+
type: "string",
|
|
475
|
+
description: "Defines an explicit role for an element for use by assistive technologies."
|
|
476
|
+
},
|
|
477
|
+
security: { required: false, control: "text", type: "string" },
|
|
478
|
+
slot: {
|
|
479
|
+
required: false,
|
|
480
|
+
control: "text",
|
|
481
|
+
type: "string",
|
|
482
|
+
description: "Assigns a slot in a shadow DOM shadow tree to an element."
|
|
483
|
+
},
|
|
484
|
+
spellCheck: {
|
|
485
|
+
required: false,
|
|
486
|
+
control: "boolean",
|
|
487
|
+
type: "boolean",
|
|
488
|
+
description: "Indicates whether spell checking is allowed for the element."
|
|
489
|
+
},
|
|
490
|
+
suppressContentEditableWarning: {
|
|
491
|
+
required: false,
|
|
492
|
+
control: "boolean",
|
|
493
|
+
type: "boolean"
|
|
494
|
+
},
|
|
495
|
+
suppressHydrationWarning: {
|
|
496
|
+
required: false,
|
|
497
|
+
control: "boolean",
|
|
498
|
+
type: "boolean"
|
|
499
|
+
},
|
|
500
|
+
tabIndex: {
|
|
501
|
+
required: false,
|
|
502
|
+
control: "number",
|
|
503
|
+
type: "number",
|
|
504
|
+
description: "Overrides the browser's default tab order and follows the one specified instead."
|
|
505
|
+
},
|
|
506
|
+
title: {
|
|
507
|
+
required: false,
|
|
508
|
+
control: "text",
|
|
509
|
+
type: "string",
|
|
510
|
+
description: "Text to be displayed in a tooltip when hovering over the element."
|
|
511
|
+
},
|
|
512
|
+
translate: {
|
|
513
|
+
required: false,
|
|
514
|
+
control: "radio",
|
|
515
|
+
type: "string",
|
|
516
|
+
options: ["yes", "no"],
|
|
517
|
+
description: "Specify whether an element's attribute values and the values of its text node children are to be translated when the page is localized, or whether to leave them unchanged."
|
|
518
|
+
},
|
|
519
|
+
typeof: { required: false, control: "text", type: "string" },
|
|
520
|
+
unselectable: {
|
|
521
|
+
required: false,
|
|
522
|
+
control: "radio",
|
|
523
|
+
type: "string",
|
|
524
|
+
options: ["on", "off"]
|
|
525
|
+
},
|
|
526
|
+
vocab: { required: false, control: "text", type: "string" }
|
|
527
|
+
};
|
|
528
|
+
|
|
529
|
+
// src/theme/__generated__/tailwind-theme.ts
|
|
530
|
+
var spacing = {
|
|
531
|
+
"0": { type: "unit", unit: "px", value: 0 },
|
|
532
|
+
"1": { type: "unit", unit: "rem", value: 0.25 },
|
|
533
|
+
"2": { type: "unit", unit: "rem", value: 0.5 },
|
|
534
|
+
"3": { type: "unit", unit: "rem", value: 0.75 },
|
|
535
|
+
"4": { type: "unit", unit: "rem", value: 1 },
|
|
536
|
+
"5": { type: "unit", unit: "rem", value: 1.25 },
|
|
537
|
+
"6": { type: "unit", unit: "rem", value: 1.5 },
|
|
538
|
+
"7": { type: "unit", unit: "rem", value: 1.75 },
|
|
539
|
+
"8": { type: "unit", unit: "rem", value: 2 },
|
|
540
|
+
"9": { type: "unit", unit: "rem", value: 2.25 },
|
|
541
|
+
"10": { type: "unit", unit: "rem", value: 2.5 },
|
|
542
|
+
"11": { type: "unit", unit: "rem", value: 2.75 },
|
|
543
|
+
"12": { type: "unit", unit: "rem", value: 3 },
|
|
544
|
+
"14": { type: "unit", unit: "rem", value: 3.5 },
|
|
545
|
+
"16": { type: "unit", unit: "rem", value: 4 },
|
|
546
|
+
"20": { type: "unit", unit: "rem", value: 5 },
|
|
547
|
+
"24": { type: "unit", unit: "rem", value: 6 },
|
|
548
|
+
"28": { type: "unit", unit: "rem", value: 7 },
|
|
549
|
+
"32": { type: "unit", unit: "rem", value: 8 },
|
|
550
|
+
"36": { type: "unit", unit: "rem", value: 9 },
|
|
551
|
+
"40": { type: "unit", unit: "rem", value: 10 },
|
|
552
|
+
"44": { type: "unit", unit: "rem", value: 11 },
|
|
553
|
+
"48": { type: "unit", unit: "rem", value: 12 },
|
|
554
|
+
"52": { type: "unit", unit: "rem", value: 13 },
|
|
555
|
+
"56": { type: "unit", unit: "rem", value: 14 },
|
|
556
|
+
"60": { type: "unit", unit: "rem", value: 15 },
|
|
557
|
+
"64": { type: "unit", unit: "rem", value: 16 },
|
|
558
|
+
"72": { type: "unit", unit: "rem", value: 18 },
|
|
559
|
+
"80": { type: "unit", unit: "rem", value: 20 },
|
|
560
|
+
"96": { type: "unit", unit: "rem", value: 24 },
|
|
561
|
+
px: { type: "unit", unit: "px", value: 1 },
|
|
562
|
+
"0.5": { type: "unit", unit: "rem", value: 0.125 },
|
|
563
|
+
"1.5": { type: "unit", unit: "rem", value: 0.375 },
|
|
564
|
+
"2.5": { type: "unit", unit: "rem", value: 0.625 },
|
|
565
|
+
"3.5": { type: "unit", unit: "rem", value: 0.875 }
|
|
566
|
+
};
|
|
567
|
+
var padding = {
|
|
568
|
+
...spacing
|
|
569
|
+
};
|
|
570
|
+
var margin = {
|
|
571
|
+
...spacing,
|
|
572
|
+
auto: { type: "keyword", value: "auto" }
|
|
573
|
+
};
|
|
574
|
+
var width = {
|
|
575
|
+
...spacing,
|
|
576
|
+
auto: { type: "keyword", value: "auto" },
|
|
577
|
+
"1/2": { type: "unit", unit: "%", value: 50 },
|
|
578
|
+
"1/3": { type: "unit", unit: "%", value: 33.333333 },
|
|
579
|
+
"2/3": { type: "unit", unit: "%", value: 66.666667 },
|
|
580
|
+
"1/4": { type: "unit", unit: "%", value: 25 },
|
|
581
|
+
"2/4": { type: "unit", unit: "%", value: 50 },
|
|
582
|
+
"3/4": { type: "unit", unit: "%", value: 75 },
|
|
583
|
+
"1/5": { type: "unit", unit: "%", value: 20 },
|
|
584
|
+
"2/5": { type: "unit", unit: "%", value: 40 },
|
|
585
|
+
"3/5": { type: "unit", unit: "%", value: 60 },
|
|
586
|
+
"4/5": { type: "unit", unit: "%", value: 80 },
|
|
587
|
+
"1/6": { type: "unit", unit: "%", value: 16.666667 },
|
|
588
|
+
"2/6": { type: "unit", unit: "%", value: 33.333333 },
|
|
589
|
+
"3/6": { type: "unit", unit: "%", value: 50 },
|
|
590
|
+
"4/6": { type: "unit", unit: "%", value: 66.666667 },
|
|
591
|
+
"5/6": { type: "unit", unit: "%", value: 83.333333 },
|
|
592
|
+
"1/12": { type: "unit", unit: "%", value: 8.333333 },
|
|
593
|
+
"2/12": { type: "unit", unit: "%", value: 16.666667 },
|
|
594
|
+
"3/12": { type: "unit", unit: "%", value: 25 },
|
|
595
|
+
"4/12": { type: "unit", unit: "%", value: 33.333333 },
|
|
596
|
+
"5/12": { type: "unit", unit: "%", value: 41.666667 },
|
|
597
|
+
"6/12": { type: "unit", unit: "%", value: 50 },
|
|
598
|
+
"7/12": { type: "unit", unit: "%", value: 58.333333 },
|
|
599
|
+
"8/12": { type: "unit", unit: "%", value: 66.666667 },
|
|
600
|
+
"9/12": { type: "unit", unit: "%", value: 75 },
|
|
601
|
+
"10/12": { type: "unit", unit: "%", value: 83.333333 },
|
|
602
|
+
"11/12": { type: "unit", unit: "%", value: 91.666667 },
|
|
603
|
+
full: { type: "unit", unit: "%", value: 100 },
|
|
604
|
+
screen: { type: "unit", unit: "vw", value: 100 },
|
|
605
|
+
min: { type: "keyword", value: "min-content" },
|
|
606
|
+
max: { type: "keyword", value: "max-content" },
|
|
607
|
+
fit: { type: "keyword", value: "fit-content" }
|
|
608
|
+
};
|
|
609
|
+
var maxWidth = {
|
|
610
|
+
"0": { type: "unit", unit: "rem", value: 0 },
|
|
611
|
+
none: { type: "keyword", value: "none" },
|
|
612
|
+
xs: { type: "unit", unit: "rem", value: 20 },
|
|
613
|
+
sm: { type: "unit", unit: "rem", value: 24 },
|
|
614
|
+
md: { type: "unit", unit: "rem", value: 28 },
|
|
615
|
+
lg: { type: "unit", unit: "rem", value: 32 },
|
|
616
|
+
xl: { type: "unit", unit: "rem", value: 36 },
|
|
617
|
+
"2xl": { type: "unit", unit: "rem", value: 42 },
|
|
618
|
+
"3xl": { type: "unit", unit: "rem", value: 48 },
|
|
619
|
+
"4xl": { type: "unit", unit: "rem", value: 56 },
|
|
620
|
+
"5xl": { type: "unit", unit: "rem", value: 64 },
|
|
621
|
+
"6xl": { type: "unit", unit: "rem", value: 72 },
|
|
622
|
+
"7xl": { type: "unit", unit: "rem", value: 80 },
|
|
623
|
+
full: { type: "unit", unit: "%", value: 100 },
|
|
624
|
+
min: { type: "keyword", value: "min-content" },
|
|
625
|
+
max: { type: "keyword", value: "max-content" },
|
|
626
|
+
fit: { type: "keyword", value: "fit-content" },
|
|
627
|
+
prose: { type: "unit", unit: "ch", value: 65 }
|
|
628
|
+
};
|
|
629
|
+
var height = {
|
|
630
|
+
...spacing,
|
|
631
|
+
auto: { type: "keyword", value: "auto" },
|
|
632
|
+
"1/2": { type: "unit", unit: "%", value: 50 },
|
|
633
|
+
"1/3": { type: "unit", unit: "%", value: 33.333333 },
|
|
634
|
+
"2/3": { type: "unit", unit: "%", value: 66.666667 },
|
|
635
|
+
"1/4": { type: "unit", unit: "%", value: 25 },
|
|
636
|
+
"2/4": { type: "unit", unit: "%", value: 50 },
|
|
637
|
+
"3/4": { type: "unit", unit: "%", value: 75 },
|
|
638
|
+
"1/5": { type: "unit", unit: "%", value: 20 },
|
|
639
|
+
"2/5": { type: "unit", unit: "%", value: 40 },
|
|
640
|
+
"3/5": { type: "unit", unit: "%", value: 60 },
|
|
641
|
+
"4/5": { type: "unit", unit: "%", value: 80 },
|
|
642
|
+
"1/6": { type: "unit", unit: "%", value: 16.666667 },
|
|
643
|
+
"2/6": { type: "unit", unit: "%", value: 33.333333 },
|
|
644
|
+
"3/6": { type: "unit", unit: "%", value: 50 },
|
|
645
|
+
"4/6": { type: "unit", unit: "%", value: 66.666667 },
|
|
646
|
+
"5/6": { type: "unit", unit: "%", value: 83.333333 },
|
|
647
|
+
full: { type: "unit", unit: "%", value: 100 },
|
|
648
|
+
screen: { type: "unit", unit: "vh", value: 100 },
|
|
649
|
+
min: { type: "keyword", value: "min-content" },
|
|
650
|
+
max: { type: "keyword", value: "max-content" },
|
|
651
|
+
fit: { type: "keyword", value: "fit-content" }
|
|
652
|
+
};
|
|
653
|
+
var inset = {
|
|
654
|
+
...spacing,
|
|
655
|
+
auto: { type: "keyword", value: "auto" },
|
|
656
|
+
"1/2": { type: "unit", unit: "%", value: 50 },
|
|
657
|
+
"1/3": { type: "unit", unit: "%", value: 33.333333 },
|
|
658
|
+
"2/3": { type: "unit", unit: "%", value: 66.666667 },
|
|
659
|
+
"1/4": { type: "unit", unit: "%", value: 25 },
|
|
660
|
+
"2/4": { type: "unit", unit: "%", value: 50 },
|
|
661
|
+
"3/4": { type: "unit", unit: "%", value: 75 },
|
|
662
|
+
full: { type: "unit", unit: "%", value: 100 }
|
|
663
|
+
};
|
|
664
|
+
var borderWidth = {
|
|
665
|
+
"0": { type: "unit", unit: "px", value: 0 },
|
|
666
|
+
"2": { type: "unit", unit: "px", value: 2 },
|
|
667
|
+
"4": { type: "unit", unit: "px", value: 4 },
|
|
668
|
+
"8": { type: "unit", unit: "px", value: 8 },
|
|
669
|
+
DEFAULT: { type: "unit", unit: "px", value: 1 }
|
|
670
|
+
};
|
|
671
|
+
var borderRadius = {
|
|
672
|
+
none: { type: "unit", unit: "px", value: 0 },
|
|
673
|
+
sm: { type: "unit", unit: "rem", value: 0.125 },
|
|
674
|
+
DEFAULT: { type: "unit", unit: "rem", value: 0.5 },
|
|
675
|
+
md: { type: "unit", unit: "rem", value: 0.375 },
|
|
676
|
+
lg: { type: "unit", unit: "rem", value: 0.5 },
|
|
677
|
+
xl: { type: "unit", unit: "rem", value: 0.75 },
|
|
678
|
+
"2xl": { type: "unit", unit: "rem", value: 1 },
|
|
679
|
+
"3xl": { type: "unit", unit: "rem", value: 1.5 },
|
|
680
|
+
full: { type: "unit", unit: "px", value: 9999 }
|
|
681
|
+
};
|
|
682
|
+
var colors = {
|
|
683
|
+
transparent: { type: "keyword", value: "transparent" },
|
|
684
|
+
current: { type: "keyword", value: "currentColor" },
|
|
685
|
+
inherit: { type: "keyword", value: "inherit" },
|
|
686
|
+
popover: { type: "rgb", alpha: 1, r: 255, g: 255, b: 255 },
|
|
687
|
+
popoverForeground: { type: "rgb", alpha: 1, r: 2, g: 8, b: 23 },
|
|
688
|
+
border: { type: "rgb", alpha: 1, r: 226, g: 232, b: 240 },
|
|
689
|
+
background: { type: "rgb", alpha: 1, r: 255, g: 255, b: 255 },
|
|
690
|
+
foreground: { type: "rgb", alpha: 1, r: 2, g: 8, b: 23 },
|
|
691
|
+
ring: { type: "rgb", alpha: 1, r: 148, g: 163, b: 184 },
|
|
692
|
+
mutedForeground: { type: "rgb", alpha: 1, r: 100, g: 116, b: 139 },
|
|
693
|
+
muted: { type: "rgb", alpha: 1, r: 241, g: 245, b: 249 },
|
|
694
|
+
primary: { type: "rgb", alpha: 1, r: 15, g: 23, b: 42 },
|
|
695
|
+
primaryForeground: { type: "rgb", alpha: 1, r: 248, g: 250, b: 252 },
|
|
696
|
+
destructive: { type: "rgb", alpha: 1, r: 239, g: 68, b: 68 },
|
|
697
|
+
destructiveForeground: { type: "rgb", alpha: 1, r: 248, g: 250, b: 252 },
|
|
698
|
+
accent: { type: "rgb", alpha: 1, r: 241, g: 245, b: 249 },
|
|
699
|
+
accentForeground: { type: "rgb", alpha: 1, r: 15, g: 23, b: 42 },
|
|
700
|
+
input: { type: "rgb", alpha: 1, r: 226, g: 232, b: 240 },
|
|
701
|
+
secondary: { type: "rgb", alpha: 1, r: 241, g: 245, b: 249 },
|
|
702
|
+
secondaryForeground: { type: "rgb", alpha: 1, r: 15, g: 23, b: 42 }
|
|
703
|
+
};
|
|
704
|
+
var zIndex = {
|
|
705
|
+
"0": { type: "unit", unit: "number", value: 0 },
|
|
706
|
+
"10": { type: "unit", unit: "number", value: 10 },
|
|
707
|
+
"20": { type: "unit", unit: "number", value: 20 },
|
|
708
|
+
"30": { type: "unit", unit: "number", value: 30 },
|
|
709
|
+
"40": { type: "unit", unit: "number", value: 40 },
|
|
710
|
+
"50": { type: "unit", unit: "number", value: 50 },
|
|
711
|
+
auto: { type: "keyword", value: "auto" }
|
|
712
|
+
};
|
|
713
|
+
var opacity = {
|
|
714
|
+
"0": { type: "unit", unit: "number", value: 0 },
|
|
715
|
+
"5": { type: "unit", unit: "number", value: 0.05 },
|
|
716
|
+
"10": { type: "unit", unit: "number", value: 0.1 },
|
|
717
|
+
"20": { type: "unit", unit: "number", value: 0.2 },
|
|
718
|
+
"25": { type: "unit", unit: "number", value: 0.25 },
|
|
719
|
+
"30": { type: "unit", unit: "number", value: 0.3 },
|
|
720
|
+
"40": { type: "unit", unit: "number", value: 0.4 },
|
|
721
|
+
"50": { type: "unit", unit: "number", value: 0.5 },
|
|
722
|
+
"60": { type: "unit", unit: "number", value: 0.6 },
|
|
723
|
+
"70": { type: "unit", unit: "number", value: 0.7 },
|
|
724
|
+
"75": { type: "unit", unit: "number", value: 0.75 },
|
|
725
|
+
"80": { type: "unit", unit: "number", value: 0.8 },
|
|
726
|
+
"90": { type: "unit", unit: "number", value: 0.9 },
|
|
727
|
+
"95": { type: "unit", unit: "number", value: 0.95 },
|
|
728
|
+
"100": { type: "unit", unit: "number", value: 1 }
|
|
729
|
+
};
|
|
730
|
+
var cursor = {
|
|
731
|
+
auto: { type: "keyword", value: "auto" },
|
|
732
|
+
default: { type: "keyword", value: "default" },
|
|
733
|
+
pointer: { type: "keyword", value: "pointer" },
|
|
734
|
+
wait: { type: "keyword", value: "wait" },
|
|
735
|
+
text: { type: "keyword", value: "text" },
|
|
736
|
+
move: { type: "keyword", value: "move" },
|
|
737
|
+
help: { type: "keyword", value: "help" },
|
|
738
|
+
"not-allowed": { type: "keyword", value: "not-allowed" },
|
|
739
|
+
none: { type: "keyword", value: "none" },
|
|
740
|
+
"context-menu": { type: "keyword", value: "context-menu" },
|
|
741
|
+
progress: { type: "keyword", value: "progress" },
|
|
742
|
+
cell: { type: "keyword", value: "cell" },
|
|
743
|
+
crosshair: { type: "keyword", value: "crosshair" },
|
|
744
|
+
"vertical-text": { type: "keyword", value: "vertical-text" },
|
|
745
|
+
alias: { type: "keyword", value: "alias" },
|
|
746
|
+
copy: { type: "keyword", value: "copy" },
|
|
747
|
+
"no-drop": { type: "keyword", value: "no-drop" },
|
|
748
|
+
grab: { type: "keyword", value: "grab" },
|
|
749
|
+
grabbing: { type: "keyword", value: "grabbing" },
|
|
750
|
+
"all-scroll": { type: "keyword", value: "all-scroll" },
|
|
751
|
+
"col-resize": { type: "keyword", value: "col-resize" },
|
|
752
|
+
"row-resize": { type: "keyword", value: "row-resize" },
|
|
753
|
+
"n-resize": { type: "keyword", value: "n-resize" },
|
|
754
|
+
"e-resize": { type: "keyword", value: "e-resize" },
|
|
755
|
+
"s-resize": { type: "keyword", value: "s-resize" },
|
|
756
|
+
"w-resize": { type: "keyword", value: "w-resize" },
|
|
757
|
+
"ne-resize": { type: "keyword", value: "ne-resize" },
|
|
758
|
+
"nw-resize": { type: "keyword", value: "nw-resize" },
|
|
759
|
+
"se-resize": { type: "keyword", value: "se-resize" },
|
|
760
|
+
"sw-resize": { type: "keyword", value: "sw-resize" },
|
|
761
|
+
"ew-resize": { type: "keyword", value: "ew-resize" },
|
|
762
|
+
"ns-resize": { type: "keyword", value: "ns-resize" },
|
|
763
|
+
"nesw-resize": { type: "keyword", value: "nesw-resize" },
|
|
764
|
+
"nwse-resize": { type: "keyword", value: "nwse-resize" },
|
|
765
|
+
"zoom-in": { type: "keyword", value: "zoom-in" },
|
|
766
|
+
"zoom-out": { type: "keyword", value: "zoom-out" }
|
|
767
|
+
};
|
|
768
|
+
var lineHeight = {
|
|
769
|
+
"3": { type: "unit", unit: "rem", value: 0.75 },
|
|
770
|
+
"4": { type: "unit", unit: "rem", value: 1 },
|
|
771
|
+
"5": { type: "unit", unit: "rem", value: 1.25 },
|
|
772
|
+
"6": { type: "unit", unit: "rem", value: 1.5 },
|
|
773
|
+
"7": { type: "unit", unit: "rem", value: 1.75 },
|
|
774
|
+
"8": { type: "unit", unit: "rem", value: 2 },
|
|
775
|
+
"9": { type: "unit", unit: "rem", value: 2.25 },
|
|
776
|
+
"10": { type: "unit", unit: "rem", value: 2.5 },
|
|
777
|
+
none: { type: "unit", unit: "number", value: 1 },
|
|
778
|
+
tight: { type: "unit", unit: "number", value: 1.25 },
|
|
779
|
+
snug: { type: "unit", unit: "number", value: 1.375 },
|
|
780
|
+
normal: { type: "unit", unit: "number", value: 1.5 },
|
|
781
|
+
relaxed: { type: "unit", unit: "number", value: 1.625 },
|
|
782
|
+
loose: { type: "unit", unit: "number", value: 2 }
|
|
783
|
+
};
|
|
784
|
+
var letterSpacing = {
|
|
785
|
+
tighter: { type: "unit", unit: "em", value: -0.05 },
|
|
786
|
+
tight: { type: "unit", unit: "em", value: -0.025 },
|
|
787
|
+
normal: { type: "unit", unit: "em", value: 0 },
|
|
788
|
+
wide: { type: "unit", unit: "em", value: 0.025 },
|
|
789
|
+
wider: { type: "unit", unit: "em", value: 0.05 },
|
|
790
|
+
widest: { type: "unit", unit: "em", value: 0.1 }
|
|
791
|
+
};
|
|
792
|
+
var listStyleType = {
|
|
793
|
+
none: { type: "keyword", value: "none" },
|
|
794
|
+
disc: { type: "keyword", value: "disc" },
|
|
795
|
+
decimal: { type: "keyword", value: "decimal" }
|
|
796
|
+
};
|
|
797
|
+
var lineClamp = {
|
|
798
|
+
"1": { type: "unit", unit: "number", value: 1 },
|
|
799
|
+
"2": { type: "unit", unit: "number", value: 2 },
|
|
800
|
+
"3": { type: "unit", unit: "number", value: 3 },
|
|
801
|
+
"4": { type: "unit", unit: "number", value: 4 },
|
|
802
|
+
"5": { type: "unit", unit: "number", value: 5 },
|
|
803
|
+
"6": { type: "unit", unit: "number", value: 6 }
|
|
804
|
+
};
|
|
805
|
+
var ringWidth = {
|
|
806
|
+
"0": { type: "unit", unit: "px", value: 0 },
|
|
807
|
+
"1": { type: "unit", unit: "px", value: 1 },
|
|
808
|
+
"2": { type: "unit", unit: "px", value: 2 },
|
|
809
|
+
"4": { type: "unit", unit: "px", value: 4 },
|
|
810
|
+
"8": { type: "unit", unit: "px", value: 8 },
|
|
811
|
+
DEFAULT: { type: "unit", unit: "px", value: 3 }
|
|
812
|
+
};
|
|
813
|
+
var ringOffsetWidth = {
|
|
814
|
+
"0": { type: "unit", unit: "px", value: 0 },
|
|
815
|
+
"1": { type: "unit", unit: "px", value: 1 },
|
|
816
|
+
"2": { type: "unit", unit: "px", value: 2 },
|
|
817
|
+
"4": { type: "unit", unit: "px", value: 4 },
|
|
818
|
+
"8": { type: "unit", unit: "px", value: 8 }
|
|
819
|
+
};
|
|
820
|
+
var boxShadow = {
|
|
821
|
+
sm: {
|
|
822
|
+
type: "layers",
|
|
823
|
+
value: [
|
|
824
|
+
{
|
|
825
|
+
type: "tuple",
|
|
826
|
+
value: [
|
|
827
|
+
{ type: "unit", value: 0, unit: "number" },
|
|
828
|
+
{ type: "unit", value: 1, unit: "px" },
|
|
829
|
+
{ type: "unit", value: 2, unit: "px" },
|
|
830
|
+
{ type: "unit", value: 0, unit: "number" },
|
|
831
|
+
{ type: "rgb", alpha: 0.05, r: 0, g: 0, b: 0 }
|
|
832
|
+
]
|
|
833
|
+
}
|
|
834
|
+
]
|
|
835
|
+
},
|
|
836
|
+
DEFAULT: {
|
|
837
|
+
type: "layers",
|
|
838
|
+
value: [
|
|
839
|
+
{
|
|
840
|
+
type: "tuple",
|
|
841
|
+
value: [
|
|
842
|
+
{ type: "unit", value: 0, unit: "number" },
|
|
843
|
+
{ type: "unit", value: 1, unit: "px" },
|
|
844
|
+
{ type: "unit", value: 3, unit: "px" },
|
|
845
|
+
{ type: "unit", value: 0, unit: "number" },
|
|
846
|
+
{ type: "rgb", alpha: 0.1, r: 0, g: 0, b: 0 }
|
|
847
|
+
]
|
|
848
|
+
},
|
|
849
|
+
{
|
|
850
|
+
type: "tuple",
|
|
851
|
+
value: [
|
|
852
|
+
{ type: "unit", value: 0, unit: "number" },
|
|
853
|
+
{ type: "unit", value: 1, unit: "px" },
|
|
854
|
+
{ type: "unit", value: 2, unit: "px" },
|
|
855
|
+
{ type: "unit", value: -1, unit: "px" },
|
|
856
|
+
{ type: "rgb", alpha: 0.1, r: 0, g: 0, b: 0 }
|
|
857
|
+
]
|
|
858
|
+
}
|
|
859
|
+
]
|
|
860
|
+
},
|
|
861
|
+
md: {
|
|
862
|
+
type: "layers",
|
|
863
|
+
value: [
|
|
864
|
+
{
|
|
865
|
+
type: "tuple",
|
|
866
|
+
value: [
|
|
867
|
+
{ type: "unit", value: 0, unit: "number" },
|
|
868
|
+
{ type: "unit", value: 4, unit: "px" },
|
|
869
|
+
{ type: "unit", value: 6, unit: "px" },
|
|
870
|
+
{ type: "unit", value: -1, unit: "px" },
|
|
871
|
+
{ type: "rgb", alpha: 0.1, r: 0, g: 0, b: 0 }
|
|
872
|
+
]
|
|
873
|
+
},
|
|
874
|
+
{
|
|
875
|
+
type: "tuple",
|
|
876
|
+
value: [
|
|
877
|
+
{ type: "unit", value: 0, unit: "number" },
|
|
878
|
+
{ type: "unit", value: 2, unit: "px" },
|
|
879
|
+
{ type: "unit", value: 4, unit: "px" },
|
|
880
|
+
{ type: "unit", value: -2, unit: "px" },
|
|
881
|
+
{ type: "rgb", alpha: 0.1, r: 0, g: 0, b: 0 }
|
|
882
|
+
]
|
|
883
|
+
}
|
|
884
|
+
]
|
|
885
|
+
},
|
|
886
|
+
lg: {
|
|
887
|
+
type: "layers",
|
|
888
|
+
value: [
|
|
889
|
+
{
|
|
890
|
+
type: "tuple",
|
|
891
|
+
value: [
|
|
892
|
+
{ type: "unit", value: 0, unit: "number" },
|
|
893
|
+
{ type: "unit", value: 10, unit: "px" },
|
|
894
|
+
{ type: "unit", value: 15, unit: "px" },
|
|
895
|
+
{ type: "unit", value: -3, unit: "px" },
|
|
896
|
+
{ type: "rgb", alpha: 0.1, r: 0, g: 0, b: 0 }
|
|
897
|
+
]
|
|
898
|
+
},
|
|
899
|
+
{
|
|
900
|
+
type: "tuple",
|
|
901
|
+
value: [
|
|
902
|
+
{ type: "unit", value: 0, unit: "number" },
|
|
903
|
+
{ type: "unit", value: 4, unit: "px" },
|
|
904
|
+
{ type: "unit", value: 6, unit: "px" },
|
|
905
|
+
{ type: "unit", value: -4, unit: "px" },
|
|
906
|
+
{ type: "rgb", alpha: 0.1, r: 0, g: 0, b: 0 }
|
|
907
|
+
]
|
|
908
|
+
}
|
|
909
|
+
]
|
|
910
|
+
},
|
|
911
|
+
xl: {
|
|
912
|
+
type: "layers",
|
|
913
|
+
value: [
|
|
914
|
+
{
|
|
915
|
+
type: "tuple",
|
|
916
|
+
value: [
|
|
917
|
+
{ type: "unit", value: 0, unit: "number" },
|
|
918
|
+
{ type: "unit", value: 20, unit: "px" },
|
|
919
|
+
{ type: "unit", value: 25, unit: "px" },
|
|
920
|
+
{ type: "unit", value: -5, unit: "px" },
|
|
921
|
+
{ type: "rgb", alpha: 0.1, r: 0, g: 0, b: 0 }
|
|
922
|
+
]
|
|
923
|
+
},
|
|
924
|
+
{
|
|
925
|
+
type: "tuple",
|
|
926
|
+
value: [
|
|
927
|
+
{ type: "unit", value: 0, unit: "number" },
|
|
928
|
+
{ type: "unit", value: 8, unit: "px" },
|
|
929
|
+
{ type: "unit", value: 10, unit: "px" },
|
|
930
|
+
{ type: "unit", value: -6, unit: "px" },
|
|
931
|
+
{ type: "rgb", alpha: 0.1, r: 0, g: 0, b: 0 }
|
|
932
|
+
]
|
|
933
|
+
}
|
|
934
|
+
]
|
|
935
|
+
},
|
|
936
|
+
"2xl": {
|
|
937
|
+
type: "layers",
|
|
938
|
+
value: [
|
|
939
|
+
{
|
|
940
|
+
type: "tuple",
|
|
941
|
+
value: [
|
|
942
|
+
{ type: "unit", value: 0, unit: "number" },
|
|
943
|
+
{ type: "unit", value: 25, unit: "px" },
|
|
944
|
+
{ type: "unit", value: 50, unit: "px" },
|
|
945
|
+
{ type: "unit", value: -12, unit: "px" },
|
|
946
|
+
{ type: "rgb", alpha: 0.25, r: 0, g: 0, b: 0 }
|
|
947
|
+
]
|
|
948
|
+
}
|
|
949
|
+
]
|
|
950
|
+
},
|
|
951
|
+
inner: {
|
|
952
|
+
type: "layers",
|
|
953
|
+
value: [
|
|
954
|
+
{
|
|
955
|
+
type: "tuple",
|
|
956
|
+
value: [
|
|
957
|
+
{ type: "keyword", value: "inset" },
|
|
958
|
+
{ type: "unit", value: 0, unit: "number" },
|
|
959
|
+
{ type: "unit", value: 2, unit: "px" },
|
|
960
|
+
{ type: "unit", value: 4, unit: "px" },
|
|
961
|
+
{ type: "unit", value: 0, unit: "number" },
|
|
962
|
+
{ type: "rgb", alpha: 0.05, r: 0, g: 0, b: 0 }
|
|
963
|
+
]
|
|
964
|
+
}
|
|
965
|
+
]
|
|
966
|
+
},
|
|
967
|
+
none: {
|
|
968
|
+
type: "layers",
|
|
969
|
+
value: [{ type: "tuple", value: [{ type: "keyword", value: "none" }] }]
|
|
970
|
+
}
|
|
971
|
+
};
|
|
972
|
+
var blur = {
|
|
973
|
+
sm: { type: "unparsed", value: "blur(0 1px 2px 0 rgb(0 0 0 / 0.05))" },
|
|
974
|
+
DEFAULT: {
|
|
975
|
+
type: "unparsed",
|
|
976
|
+
value: "blur(0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1))"
|
|
977
|
+
},
|
|
978
|
+
md: {
|
|
979
|
+
type: "unparsed",
|
|
980
|
+
value: "blur(0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1))"
|
|
981
|
+
},
|
|
982
|
+
lg: {
|
|
983
|
+
type: "unparsed",
|
|
984
|
+
value: "blur(0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1))"
|
|
985
|
+
},
|
|
986
|
+
xl: {
|
|
987
|
+
type: "unparsed",
|
|
988
|
+
value: "blur(0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1))"
|
|
989
|
+
},
|
|
990
|
+
"2xl": {
|
|
991
|
+
type: "unparsed",
|
|
992
|
+
value: "blur(0 25px 50px -12px rgb(0 0 0 / 0.25))"
|
|
993
|
+
},
|
|
994
|
+
inner: {
|
|
995
|
+
type: "unparsed",
|
|
996
|
+
value: "blur(inset 0 2px 4px 0 rgb(0 0 0 / 0.05))"
|
|
997
|
+
},
|
|
998
|
+
none: { type: "unparsed", value: "blur(none)" }
|
|
999
|
+
};
|
|
1000
|
+
var fontSize = {
|
|
1001
|
+
xs: { type: "unit", unit: "rem", value: 0.75 },
|
|
1002
|
+
sm: { type: "unit", unit: "rem", value: 0.875 },
|
|
1003
|
+
base: { type: "unit", unit: "rem", value: 1 },
|
|
1004
|
+
lg: { type: "unit", unit: "rem", value: 1.125 },
|
|
1005
|
+
xl: { type: "unit", unit: "rem", value: 1.25 },
|
|
1006
|
+
"2xl": { type: "unit", unit: "rem", value: 1.5 },
|
|
1007
|
+
"3xl": { type: "unit", unit: "rem", value: 1.875 },
|
|
1008
|
+
"4xl": { type: "unit", unit: "rem", value: 2.25 },
|
|
1009
|
+
"5xl": { type: "unit", unit: "rem", value: 3 },
|
|
1010
|
+
"6xl": { type: "unit", unit: "rem", value: 3.75 },
|
|
1011
|
+
"7xl": { type: "unit", unit: "rem", value: 4.5 },
|
|
1012
|
+
"8xl": { type: "unit", unit: "rem", value: 6 },
|
|
1013
|
+
"9xl": { type: "unit", unit: "rem", value: 8 }
|
|
1014
|
+
};
|
|
1015
|
+
var fontSizeLineHeight = {
|
|
1016
|
+
xs: { type: "unit", unit: "rem", value: 1 },
|
|
1017
|
+
sm: { type: "unit", unit: "rem", value: 1.25 },
|
|
1018
|
+
base: { type: "unit", unit: "rem", value: 1.5 },
|
|
1019
|
+
lg: { type: "unit", unit: "rem", value: 1.75 },
|
|
1020
|
+
xl: { type: "unit", unit: "rem", value: 1.75 },
|
|
1021
|
+
"2xl": { type: "unit", unit: "rem", value: 2 },
|
|
1022
|
+
"3xl": { type: "unit", unit: "rem", value: 2.25 },
|
|
1023
|
+
"4xl": { type: "unit", unit: "rem", value: 2.5 },
|
|
1024
|
+
"5xl": { type: "unit", unit: "number", value: 1 },
|
|
1025
|
+
"6xl": { type: "unit", unit: "number", value: 1 },
|
|
1026
|
+
"7xl": { type: "unit", unit: "number", value: 1 },
|
|
1027
|
+
"8xl": { type: "unit", unit: "number", value: 1 },
|
|
1028
|
+
"9xl": { type: "unit", unit: "number", value: 1 }
|
|
1029
|
+
};
|
|
1030
|
+
|
|
1031
|
+
// src/theme/tailwind-classes.ts
|
|
1032
|
+
var property = (property2, value) => {
|
|
1033
|
+
if (value.startsWith("--")) {
|
|
1034
|
+
return {
|
|
1035
|
+
property: property2,
|
|
1036
|
+
value: { type: "var", value: value.slice(2), fallbacks: [] }
|
|
1037
|
+
};
|
|
1038
|
+
}
|
|
1039
|
+
return {
|
|
1040
|
+
property: property2,
|
|
1041
|
+
value: { type: "unparsed", value }
|
|
1042
|
+
};
|
|
1043
|
+
};
|
|
1044
|
+
var preflight = () => {
|
|
1045
|
+
const borderColorValue = colors.border;
|
|
1046
|
+
return [
|
|
1047
|
+
{
|
|
1048
|
+
property: "borderTopStyle",
|
|
1049
|
+
value: { type: "keyword", value: "solid" }
|
|
1050
|
+
},
|
|
1051
|
+
{
|
|
1052
|
+
property: "borderRightStyle",
|
|
1053
|
+
value: { type: "keyword", value: "solid" }
|
|
1054
|
+
},
|
|
1055
|
+
{
|
|
1056
|
+
property: "borderBottomStyle",
|
|
1057
|
+
value: { type: "keyword", value: "solid" }
|
|
1058
|
+
},
|
|
1059
|
+
{
|
|
1060
|
+
property: "borderLeftStyle",
|
|
1061
|
+
value: { type: "keyword", value: "solid" }
|
|
1062
|
+
},
|
|
1063
|
+
{
|
|
1064
|
+
property: "borderTopColor",
|
|
1065
|
+
value: borderColorValue
|
|
1066
|
+
},
|
|
1067
|
+
{
|
|
1068
|
+
property: "borderRightColor",
|
|
1069
|
+
value: borderColorValue
|
|
1070
|
+
},
|
|
1071
|
+
{
|
|
1072
|
+
property: "borderBottomColor",
|
|
1073
|
+
value: borderColorValue
|
|
1074
|
+
},
|
|
1075
|
+
{
|
|
1076
|
+
property: "borderLeftColor",
|
|
1077
|
+
value: borderColorValue
|
|
1078
|
+
}
|
|
1079
|
+
];
|
|
1080
|
+
};
|
|
1081
|
+
var z = (value) => {
|
|
1082
|
+
return [
|
|
1083
|
+
{
|
|
1084
|
+
property: "zIndex",
|
|
1085
|
+
value: zIndex[value]
|
|
1086
|
+
}
|
|
1087
|
+
];
|
|
1088
|
+
};
|
|
1089
|
+
var overflow = (value) => [
|
|
1090
|
+
{
|
|
1091
|
+
property: "overflow",
|
|
1092
|
+
value: { type: "keyword", value }
|
|
1093
|
+
}
|
|
1094
|
+
];
|
|
1095
|
+
var rounded = (value = "DEFAULT") => {
|
|
1096
|
+
const styleValue = borderRadius[value];
|
|
1097
|
+
return [
|
|
1098
|
+
{ property: "borderTopLeftRadius", value: styleValue },
|
|
1099
|
+
{ property: "borderTopRightRadius", value: styleValue },
|
|
1100
|
+
{ property: "borderBottomRightRadius", value: styleValue },
|
|
1101
|
+
{ property: "borderBottomLeftRadius", value: styleValue }
|
|
1102
|
+
];
|
|
1103
|
+
};
|
|
1104
|
+
var border = (borderWidthOrColor) => {
|
|
1105
|
+
if (typeof borderWidthOrColor === "number" || borderWidthOrColor === void 0) {
|
|
1106
|
+
const styleValue2 = borderWidth[borderWidthOrColor ?? "DEFAULT"];
|
|
1107
|
+
return [
|
|
1108
|
+
...preflight(),
|
|
1109
|
+
{ property: "borderTopWidth", value: styleValue2 },
|
|
1110
|
+
{ property: "borderRightWidth", value: styleValue2 },
|
|
1111
|
+
{ property: "borderBottomWidth", value: styleValue2 },
|
|
1112
|
+
{ property: "borderLeftWidth", value: styleValue2 }
|
|
1113
|
+
];
|
|
1114
|
+
}
|
|
1115
|
+
const styleValue = colors[borderWidthOrColor];
|
|
1116
|
+
return [
|
|
1117
|
+
{ property: "borderTopColor", value: styleValue },
|
|
1118
|
+
{ property: "borderRightColor", value: styleValue },
|
|
1119
|
+
{ property: "borderBottomColor", value: styleValue },
|
|
1120
|
+
{ property: "borderLeftColor", value: styleValue }
|
|
1121
|
+
];
|
|
1122
|
+
};
|
|
1123
|
+
var borderB = (borderWidthOrColor) => {
|
|
1124
|
+
let widthValue = { type: "unit", value: 1, unit: "number" };
|
|
1125
|
+
let colorValue = colors.border;
|
|
1126
|
+
if (typeof borderWidthOrColor === "number" || borderWidthOrColor === void 0) {
|
|
1127
|
+
widthValue = borderWidth[borderWidthOrColor ?? "DEFAULT"];
|
|
1128
|
+
} else {
|
|
1129
|
+
colorValue = colors[borderWidthOrColor];
|
|
1130
|
+
}
|
|
1131
|
+
return [
|
|
1132
|
+
{
|
|
1133
|
+
property: "borderBottomWidth",
|
|
1134
|
+
value: widthValue
|
|
1135
|
+
},
|
|
1136
|
+
{
|
|
1137
|
+
property: "borderBottomStyle",
|
|
1138
|
+
value: { type: "keyword", value: "solid" }
|
|
1139
|
+
},
|
|
1140
|
+
{
|
|
1141
|
+
property: "borderBottomColor",
|
|
1142
|
+
value: colorValue
|
|
1143
|
+
}
|
|
1144
|
+
];
|
|
1145
|
+
};
|
|
1146
|
+
var paddingProperty = (property2) => (padding2) => {
|
|
1147
|
+
return [{ property: property2, value: padding[padding2] }];
|
|
1148
|
+
};
|
|
1149
|
+
var pt = (padding2) => {
|
|
1150
|
+
return paddingProperty("paddingTop")(padding2);
|
|
1151
|
+
};
|
|
1152
|
+
var pb = (padding2) => {
|
|
1153
|
+
return paddingProperty("paddingBottom")(padding2);
|
|
1154
|
+
};
|
|
1155
|
+
var pl = (padding2) => {
|
|
1156
|
+
return paddingProperty("paddingLeft")(padding2);
|
|
1157
|
+
};
|
|
1158
|
+
var pr = (padding2) => {
|
|
1159
|
+
return paddingProperty("paddingRight")(padding2);
|
|
1160
|
+
};
|
|
1161
|
+
var px = (padding2) => {
|
|
1162
|
+
return [pl(padding2), pr(padding2)].flat();
|
|
1163
|
+
};
|
|
1164
|
+
var py = (padding2) => {
|
|
1165
|
+
return [pt(padding2), pb(padding2)].flat();
|
|
1166
|
+
};
|
|
1167
|
+
var p = (padding2) => {
|
|
1168
|
+
return [px(padding2), py(padding2)].flat();
|
|
1169
|
+
};
|
|
1170
|
+
var marginProperty = (property2) => (margin2) => {
|
|
1171
|
+
return [{ property: property2, value: margin[margin2] }];
|
|
1172
|
+
};
|
|
1173
|
+
var ml = (margin2) => {
|
|
1174
|
+
return marginProperty("marginLeft")(margin2);
|
|
1175
|
+
};
|
|
1176
|
+
var mr = (margin2) => {
|
|
1177
|
+
return marginProperty("marginRight")(margin2);
|
|
1178
|
+
};
|
|
1179
|
+
var mt = (margin2) => {
|
|
1180
|
+
return marginProperty("marginTop")(margin2);
|
|
1181
|
+
};
|
|
1182
|
+
var mb = (margin2) => {
|
|
1183
|
+
return marginProperty("marginBottom")(margin2);
|
|
1184
|
+
};
|
|
1185
|
+
var mx = (margin2) => {
|
|
1186
|
+
return [ml(margin2), mr(margin2)].flat();
|
|
1187
|
+
};
|
|
1188
|
+
var my = (margin2) => {
|
|
1189
|
+
return [mt(margin2), mb(margin2)].flat();
|
|
1190
|
+
};
|
|
1191
|
+
var m = (margin2) => {
|
|
1192
|
+
return [mx(margin2), my(margin2)].flat();
|
|
1193
|
+
};
|
|
1194
|
+
var w = (spacing2) => {
|
|
1195
|
+
return [{ property: "width", value: width[spacing2] }];
|
|
1196
|
+
};
|
|
1197
|
+
var h = (spacing2) => {
|
|
1198
|
+
return [{ property: "height", value: height[spacing2] }];
|
|
1199
|
+
};
|
|
1200
|
+
var opacity2 = (opacity3) => {
|
|
1201
|
+
return [
|
|
1202
|
+
{
|
|
1203
|
+
property: "opacity",
|
|
1204
|
+
value: opacity[opacity3]
|
|
1205
|
+
}
|
|
1206
|
+
];
|
|
1207
|
+
};
|
|
1208
|
+
var cursor2 = (cursor3) => {
|
|
1209
|
+
return [
|
|
1210
|
+
{
|
|
1211
|
+
property: "cursor",
|
|
1212
|
+
value: cursor[cursor3]
|
|
1213
|
+
}
|
|
1214
|
+
];
|
|
1215
|
+
};
|
|
1216
|
+
var maxW = (spacing2) => {
|
|
1217
|
+
return [{ property: "maxWidth", value: maxWidth[spacing2] }];
|
|
1218
|
+
};
|
|
1219
|
+
var positionStyle = (property2, spacing2) => {
|
|
1220
|
+
return { property: property2, value: inset[spacing2] };
|
|
1221
|
+
};
|
|
1222
|
+
var top = (spacing2) => [positionStyle("top", spacing2)];
|
|
1223
|
+
var right = (spacing2) => [positionStyle("right", spacing2)];
|
|
1224
|
+
var left = (spacing2) => [positionStyle("left", spacing2)];
|
|
1225
|
+
var inset2 = (spacing2) => [
|
|
1226
|
+
positionStyle("left", spacing2),
|
|
1227
|
+
positionStyle("right", spacing2),
|
|
1228
|
+
positionStyle("top", spacing2),
|
|
1229
|
+
positionStyle("bottom", spacing2)
|
|
1230
|
+
];
|
|
1231
|
+
var aspect = (value) => {
|
|
1232
|
+
let unparsed = value;
|
|
1233
|
+
if (value === "square") {
|
|
1234
|
+
unparsed = "1 / 1";
|
|
1235
|
+
}
|
|
1236
|
+
if (value === "video") {
|
|
1237
|
+
unparsed = "16 / 9";
|
|
1238
|
+
}
|
|
1239
|
+
return [
|
|
1240
|
+
{
|
|
1241
|
+
property: "aspectRatio",
|
|
1242
|
+
value: { type: "unparsed", value: unparsed }
|
|
1243
|
+
}
|
|
1244
|
+
];
|
|
1245
|
+
};
|
|
1246
|
+
var backdropBlur = (blur2) => {
|
|
1247
|
+
return [{ property: "backdropFilter", value: blur[blur2] }];
|
|
1248
|
+
};
|
|
1249
|
+
var list = (listStyle) => {
|
|
1250
|
+
return [{ property: "listStyleType", value: listStyleType[listStyle] }];
|
|
1251
|
+
};
|
|
1252
|
+
var select = (_selectValue) => {
|
|
1253
|
+
return [
|
|
1254
|
+
{
|
|
1255
|
+
property: "userSelect",
|
|
1256
|
+
value: {
|
|
1257
|
+
type: "keyword",
|
|
1258
|
+
value: "none"
|
|
1259
|
+
}
|
|
1260
|
+
}
|
|
1261
|
+
];
|
|
1262
|
+
};
|
|
1263
|
+
var bg = (color, alpha) => {
|
|
1264
|
+
const value = colors[color];
|
|
1265
|
+
if (alpha !== void 0 && value.type === "rgb") {
|
|
1266
|
+
value.alpha = alpha / 100;
|
|
1267
|
+
}
|
|
1268
|
+
return [
|
|
1269
|
+
{
|
|
1270
|
+
property: "backgroundColor",
|
|
1271
|
+
value
|
|
1272
|
+
}
|
|
1273
|
+
];
|
|
1274
|
+
};
|
|
1275
|
+
var fixed = () => {
|
|
1276
|
+
return [{ property: "position", value: { type: "keyword", value: "fixed" } }];
|
|
1277
|
+
};
|
|
1278
|
+
var relative = () => {
|
|
1279
|
+
return [
|
|
1280
|
+
{ property: "position", value: { type: "keyword", value: "relative" } }
|
|
1281
|
+
];
|
|
1282
|
+
};
|
|
1283
|
+
var absolute = () => {
|
|
1284
|
+
return [
|
|
1285
|
+
{ property: "position", value: { type: "keyword", value: "absolute" } }
|
|
1286
|
+
];
|
|
1287
|
+
};
|
|
1288
|
+
var alignItems = {
|
|
1289
|
+
start: "flex-start",
|
|
1290
|
+
end: "flex-end",
|
|
1291
|
+
center: "center",
|
|
1292
|
+
baseline: "baseline",
|
|
1293
|
+
stretch: "stretch"
|
|
1294
|
+
};
|
|
1295
|
+
var items = (alignItemsParam) => {
|
|
1296
|
+
return [
|
|
1297
|
+
{
|
|
1298
|
+
property: "alignItems",
|
|
1299
|
+
value: {
|
|
1300
|
+
type: "keyword",
|
|
1301
|
+
value: alignItems[alignItemsParam]
|
|
1302
|
+
}
|
|
1303
|
+
}
|
|
1304
|
+
];
|
|
1305
|
+
};
|
|
1306
|
+
var justifyContent = {
|
|
1307
|
+
start: "flex-start",
|
|
1308
|
+
end: "flex-end",
|
|
1309
|
+
center: "center",
|
|
1310
|
+
between: "space-between",
|
|
1311
|
+
around: "space-around",
|
|
1312
|
+
evenly: "space-evenly",
|
|
1313
|
+
stretch: "stretch"
|
|
1314
|
+
};
|
|
1315
|
+
var justify = (justifyContentParam) => {
|
|
1316
|
+
return [
|
|
1317
|
+
{
|
|
1318
|
+
property: "justifyContent",
|
|
1319
|
+
value: {
|
|
1320
|
+
type: "keyword",
|
|
1321
|
+
value: justifyContent[justifyContentParam]
|
|
1322
|
+
}
|
|
1323
|
+
}
|
|
1324
|
+
];
|
|
1325
|
+
};
|
|
1326
|
+
var inlineFlex = () => {
|
|
1327
|
+
return [
|
|
1328
|
+
{ property: "display", value: { type: "keyword", value: "inline-flex" } }
|
|
1329
|
+
];
|
|
1330
|
+
};
|
|
1331
|
+
var block = () => {
|
|
1332
|
+
return [{ property: "display", value: { type: "keyword", value: "block" } }];
|
|
1333
|
+
};
|
|
1334
|
+
var flexDirection = { row: "row", col: "column" };
|
|
1335
|
+
var flex = (flexParam) => {
|
|
1336
|
+
if (flexParam === void 0) {
|
|
1337
|
+
return [{ property: "display", value: { type: "keyword", value: "flex" } }];
|
|
1338
|
+
}
|
|
1339
|
+
if (flexParam === 1) {
|
|
1340
|
+
return [
|
|
1341
|
+
{
|
|
1342
|
+
property: "flexGrow",
|
|
1343
|
+
value: { type: "unit", value: 1, unit: "number" }
|
|
1344
|
+
},
|
|
1345
|
+
{
|
|
1346
|
+
property: "flexShrink",
|
|
1347
|
+
value: { type: "unit", value: 1, unit: "number" }
|
|
1348
|
+
},
|
|
1349
|
+
{
|
|
1350
|
+
property: "flexBasis",
|
|
1351
|
+
value: { type: "unit", value: 0, unit: "%" }
|
|
1352
|
+
}
|
|
1353
|
+
];
|
|
1354
|
+
}
|
|
1355
|
+
if (flexParam === "auto") {
|
|
1356
|
+
return [
|
|
1357
|
+
{
|
|
1358
|
+
property: "flexGrow",
|
|
1359
|
+
value: { type: "unit", value: 1, unit: "number" }
|
|
1360
|
+
},
|
|
1361
|
+
{
|
|
1362
|
+
property: "flexShrink",
|
|
1363
|
+
value: { type: "unit", value: 1, unit: "number" }
|
|
1364
|
+
},
|
|
1365
|
+
{
|
|
1366
|
+
property: "flexBasis",
|
|
1367
|
+
value: { type: "keyword", value: "auto" }
|
|
1368
|
+
}
|
|
1369
|
+
];
|
|
1370
|
+
}
|
|
1371
|
+
if (flexParam === "initial") {
|
|
1372
|
+
return [
|
|
1373
|
+
{
|
|
1374
|
+
property: "flexGrow",
|
|
1375
|
+
value: { type: "unit", value: 0, unit: "number" }
|
|
1376
|
+
},
|
|
1377
|
+
{
|
|
1378
|
+
property: "flexShrink",
|
|
1379
|
+
value: { type: "unit", value: 1, unit: "number" }
|
|
1380
|
+
},
|
|
1381
|
+
{
|
|
1382
|
+
property: "flexBasis",
|
|
1383
|
+
value: { type: "keyword", value: "auto" }
|
|
1384
|
+
}
|
|
1385
|
+
];
|
|
1386
|
+
}
|
|
1387
|
+
if (flexParam === "none") {
|
|
1388
|
+
return [
|
|
1389
|
+
{
|
|
1390
|
+
property: "flexGrow",
|
|
1391
|
+
value: { type: "unit", value: 0, unit: "number" }
|
|
1392
|
+
},
|
|
1393
|
+
{
|
|
1394
|
+
property: "flexShrink",
|
|
1395
|
+
value: { type: "unit", value: 0, unit: "number" }
|
|
1396
|
+
},
|
|
1397
|
+
{
|
|
1398
|
+
property: "flexBasis",
|
|
1399
|
+
value: { type: "keyword", value: "auto" }
|
|
1400
|
+
}
|
|
1401
|
+
];
|
|
1402
|
+
}
|
|
1403
|
+
return [
|
|
1404
|
+
{
|
|
1405
|
+
property: "flexDirection",
|
|
1406
|
+
value: {
|
|
1407
|
+
type: "keyword",
|
|
1408
|
+
value: flexDirection[flexParam]
|
|
1409
|
+
}
|
|
1410
|
+
}
|
|
1411
|
+
];
|
|
1412
|
+
};
|
|
1413
|
+
var grow = () => {
|
|
1414
|
+
return [
|
|
1415
|
+
{
|
|
1416
|
+
property: "flexGrow",
|
|
1417
|
+
value: { type: "unit", value: 1, unit: "number" }
|
|
1418
|
+
}
|
|
1419
|
+
];
|
|
1420
|
+
};
|
|
1421
|
+
var shrink = (value) => {
|
|
1422
|
+
return [
|
|
1423
|
+
{
|
|
1424
|
+
property: "flexGrow",
|
|
1425
|
+
value: { type: "unit", value, unit: "number" }
|
|
1426
|
+
}
|
|
1427
|
+
];
|
|
1428
|
+
};
|
|
1429
|
+
var gap = (gapValue) => {
|
|
1430
|
+
const value = spacing[gapValue];
|
|
1431
|
+
return [
|
|
1432
|
+
{ property: "rowGap", value },
|
|
1433
|
+
{ property: "columnGap", value }
|
|
1434
|
+
];
|
|
1435
|
+
};
|
|
1436
|
+
var lineClamp2 = (lineClampValue) => {
|
|
1437
|
+
return [
|
|
1438
|
+
{
|
|
1439
|
+
property: "overflow",
|
|
1440
|
+
value: {
|
|
1441
|
+
type: "keyword",
|
|
1442
|
+
value: "hidden"
|
|
1443
|
+
}
|
|
1444
|
+
},
|
|
1445
|
+
{
|
|
1446
|
+
property: "display",
|
|
1447
|
+
value: {
|
|
1448
|
+
type: "keyword",
|
|
1449
|
+
value: "-webkit-box"
|
|
1450
|
+
}
|
|
1451
|
+
},
|
|
1452
|
+
{
|
|
1453
|
+
property: "-webkit-box-orient",
|
|
1454
|
+
value: {
|
|
1455
|
+
type: "keyword",
|
|
1456
|
+
value: "vertical"
|
|
1457
|
+
}
|
|
1458
|
+
},
|
|
1459
|
+
{
|
|
1460
|
+
property: "-webkit-line-clamp",
|
|
1461
|
+
value: lineClamp[lineClampValue]
|
|
1462
|
+
}
|
|
1463
|
+
];
|
|
1464
|
+
};
|
|
1465
|
+
var leading = (lineHeight2) => {
|
|
1466
|
+
return [{ property: "lineHeight", value: lineHeight[lineHeight2] }];
|
|
1467
|
+
};
|
|
1468
|
+
var tracking = (letterSpacing2) => {
|
|
1469
|
+
return [
|
|
1470
|
+
{ property: "letterSpacing", value: letterSpacing[letterSpacing2] }
|
|
1471
|
+
];
|
|
1472
|
+
};
|
|
1473
|
+
var outline = (_value) => {
|
|
1474
|
+
return [
|
|
1475
|
+
{
|
|
1476
|
+
property: "outlineWidth",
|
|
1477
|
+
value: { type: "unit", value: 2, unit: "px" }
|
|
1478
|
+
},
|
|
1479
|
+
{
|
|
1480
|
+
property: "outlineStyle",
|
|
1481
|
+
value: { type: "keyword", value: "solid" }
|
|
1482
|
+
},
|
|
1483
|
+
{
|
|
1484
|
+
property: "outlineColor",
|
|
1485
|
+
value: { type: "keyword", value: "transparent" }
|
|
1486
|
+
},
|
|
1487
|
+
{
|
|
1488
|
+
property: "outlineOffset",
|
|
1489
|
+
value: { type: "unit", value: 2, unit: "px" }
|
|
1490
|
+
}
|
|
1491
|
+
];
|
|
1492
|
+
};
|
|
1493
|
+
var textSizes = Object.keys(fontSize);
|
|
1494
|
+
var isTextSize = (value) => textSizes.includes(value);
|
|
1495
|
+
var text = (sizeOrColor) => {
|
|
1496
|
+
if (isTextSize(sizeOrColor)) {
|
|
1497
|
+
return [
|
|
1498
|
+
{ property: "fontSize", value: fontSize[sizeOrColor] },
|
|
1499
|
+
{ property: "lineHeight", value: fontSizeLineHeight[sizeOrColor] }
|
|
1500
|
+
];
|
|
1501
|
+
}
|
|
1502
|
+
return [
|
|
1503
|
+
{
|
|
1504
|
+
property: "color",
|
|
1505
|
+
value: colors[sizeOrColor]
|
|
1506
|
+
}
|
|
1507
|
+
];
|
|
1508
|
+
};
|
|
1509
|
+
var noUnderline = () => {
|
|
1510
|
+
return [
|
|
1511
|
+
{
|
|
1512
|
+
property: "textDecorationLine",
|
|
1513
|
+
value: { type: "keyword", value: "none" }
|
|
1514
|
+
}
|
|
1515
|
+
];
|
|
1516
|
+
};
|
|
1517
|
+
var underline = () => {
|
|
1518
|
+
return [
|
|
1519
|
+
{
|
|
1520
|
+
property: "textDecorationLine",
|
|
1521
|
+
value: { type: "keyword", value: "underline" }
|
|
1522
|
+
}
|
|
1523
|
+
];
|
|
1524
|
+
};
|
|
1525
|
+
var weights = {
|
|
1526
|
+
thin: "100",
|
|
1527
|
+
extralight: "200",
|
|
1528
|
+
light: "300",
|
|
1529
|
+
normal: "400",
|
|
1530
|
+
medium: "500",
|
|
1531
|
+
semibold: "600",
|
|
1532
|
+
bold: "700",
|
|
1533
|
+
extrabold: "800",
|
|
1534
|
+
black: "900"
|
|
1535
|
+
};
|
|
1536
|
+
var font = (weight) => {
|
|
1537
|
+
return [
|
|
1538
|
+
{
|
|
1539
|
+
property: "fontWeight",
|
|
1540
|
+
value: { type: "keyword", value: weights[weight] }
|
|
1541
|
+
}
|
|
1542
|
+
];
|
|
1543
|
+
};
|
|
1544
|
+
var whitespace = (value) => {
|
|
1545
|
+
return [
|
|
1546
|
+
{
|
|
1547
|
+
property: "whiteSpace",
|
|
1548
|
+
value: { type: "keyword", value }
|
|
1549
|
+
}
|
|
1550
|
+
];
|
|
1551
|
+
};
|
|
1552
|
+
var shadow = (shadowSize) => {
|
|
1553
|
+
return [
|
|
1554
|
+
{
|
|
1555
|
+
property: "boxShadow",
|
|
1556
|
+
value: boxShadow[shadowSize]
|
|
1557
|
+
}
|
|
1558
|
+
];
|
|
1559
|
+
};
|
|
1560
|
+
var ring = (ringColor, ringWidth2, ringOffsetColor = "background", ringOffsetWidth2 = 0) => {
|
|
1561
|
+
const ringWidthStyleValue = ringWidth[ringWidth2];
|
|
1562
|
+
const ringOffsetWidthStyleValue = ringOffsetWidth[ringOffsetWidth2];
|
|
1563
|
+
const ringColorStyleValue = colors[ringColor];
|
|
1564
|
+
const ringOffsetColorStyleValue = colors[ringOffsetColor];
|
|
1565
|
+
const ringOffsetShadow = {
|
|
1566
|
+
type: "tuple",
|
|
1567
|
+
value: [
|
|
1568
|
+
{ type: "unit", value: 0, unit: "number" },
|
|
1569
|
+
{ type: "unit", value: 0, unit: "number" },
|
|
1570
|
+
{ type: "unit", value: 0, unit: "number" },
|
|
1571
|
+
ringOffsetWidthStyleValue,
|
|
1572
|
+
ringOffsetColorStyleValue
|
|
1573
|
+
]
|
|
1574
|
+
};
|
|
1575
|
+
const ringWidthValue = ringWidthStyleValue.type === "unit" ? ringWidthStyleValue.value : 0;
|
|
1576
|
+
const ringOffsetWidthValue = ringOffsetWidthStyleValue.type === "unit" ? ringOffsetWidthStyleValue.value : 0;
|
|
1577
|
+
const ringShadow = {
|
|
1578
|
+
type: "tuple",
|
|
1579
|
+
value: [
|
|
1580
|
+
{ type: "unit", value: 0, unit: "number" },
|
|
1581
|
+
{ type: "unit", value: 0, unit: "number" },
|
|
1582
|
+
{ type: "unit", value: 0, unit: "number" },
|
|
1583
|
+
{
|
|
1584
|
+
type: "unit",
|
|
1585
|
+
value: ringWidthValue + ringOffsetWidthValue,
|
|
1586
|
+
unit: ringWidthStyleValue.type === "unit" ? ringWidthStyleValue.unit : "number"
|
|
1587
|
+
},
|
|
1588
|
+
ringColorStyleValue
|
|
1589
|
+
]
|
|
1590
|
+
};
|
|
1591
|
+
return [
|
|
1592
|
+
{
|
|
1593
|
+
property: "boxShadow",
|
|
1594
|
+
value: {
|
|
1595
|
+
type: "layers",
|
|
1596
|
+
value: [ringOffsetShadow, ringShadow]
|
|
1597
|
+
}
|
|
1598
|
+
}
|
|
1599
|
+
];
|
|
1600
|
+
};
|
|
1601
|
+
var pointerEvents = (value) => {
|
|
1602
|
+
return [{ property: "pointerEvents", value: { type: "keyword", value } }];
|
|
1603
|
+
};
|
|
1604
|
+
var transition = (value) => {
|
|
1605
|
+
if (value === "none") {
|
|
1606
|
+
return [
|
|
1607
|
+
{
|
|
1608
|
+
property: "transitionProperty",
|
|
1609
|
+
value: { type: "keyword", value: "all" }
|
|
1610
|
+
}
|
|
1611
|
+
];
|
|
1612
|
+
}
|
|
1613
|
+
return [
|
|
1614
|
+
{
|
|
1615
|
+
property: "transitionProperty",
|
|
1616
|
+
value: { type: "keyword", value }
|
|
1617
|
+
},
|
|
1618
|
+
{
|
|
1619
|
+
property: "transitionTimingFunction",
|
|
1620
|
+
value: { type: "unparsed", value: "cubic-bezier(0.4, 0, 0.2, 1)" }
|
|
1621
|
+
},
|
|
1622
|
+
{
|
|
1623
|
+
property: "transitionDuration",
|
|
1624
|
+
value: { type: "unparsed", value: "150ms" }
|
|
1625
|
+
}
|
|
1626
|
+
];
|
|
1627
|
+
};
|
|
1628
|
+
var duration = (ms) => {
|
|
1629
|
+
return [
|
|
1630
|
+
{
|
|
1631
|
+
property: "transitionDuration",
|
|
1632
|
+
value: { type: "unit", value: ms, unit: "ms" }
|
|
1633
|
+
}
|
|
1634
|
+
];
|
|
1635
|
+
};
|
|
1636
|
+
var hover = (value) => {
|
|
1637
|
+
return value.map((decl) => ({
|
|
1638
|
+
...decl,
|
|
1639
|
+
state: ":hover"
|
|
1640
|
+
}));
|
|
1641
|
+
};
|
|
1642
|
+
var focus = (value) => {
|
|
1643
|
+
return value.map((decl) => ({
|
|
1644
|
+
...decl,
|
|
1645
|
+
state: ":focus"
|
|
1646
|
+
}));
|
|
1647
|
+
};
|
|
1648
|
+
var focusVisible = (value) => {
|
|
1649
|
+
return value.map((decl) => ({
|
|
1650
|
+
...decl,
|
|
1651
|
+
state: ":focus-visible"
|
|
1652
|
+
}));
|
|
1653
|
+
};
|
|
1654
|
+
var disabled = (value) => {
|
|
1655
|
+
return value.map((decl) => ({
|
|
1656
|
+
...decl,
|
|
1657
|
+
state: ":disabled"
|
|
1658
|
+
}));
|
|
1659
|
+
};
|
|
1660
|
+
var state = (value, state2) => {
|
|
1661
|
+
return value.map((decl) => ({
|
|
1662
|
+
...decl,
|
|
1663
|
+
state: state2
|
|
1664
|
+
}));
|
|
1665
|
+
};
|
|
1666
|
+
|
|
1667
|
+
// src/theme/styles.ts
|
|
1668
|
+
var getButtonStyles = (variant, size = "default") => {
|
|
1669
|
+
const styles = [
|
|
1670
|
+
// 'inline-flex items-center justify-center rounded-md text-sm font-medium
|
|
1671
|
+
// ring-offset-background transition-colors
|
|
1672
|
+
// focus-visible:outline-none focus-visible:ring-2
|
|
1673
|
+
// focus-visible:ring-ring focus-visible:ring-offset-2
|
|
1674
|
+
// disabled:pointer-events-none disabled:opacity-50'
|
|
1675
|
+
border(0),
|
|
1676
|
+
bg("transparent"),
|
|
1677
|
+
inlineFlex(),
|
|
1678
|
+
items("center"),
|
|
1679
|
+
justify("center"),
|
|
1680
|
+
rounded("md"),
|
|
1681
|
+
text("sm"),
|
|
1682
|
+
font("medium"),
|
|
1683
|
+
focusVisible(
|
|
1684
|
+
[outline("none"), ring("ring", 2, "background", 2)].flat()
|
|
1685
|
+
),
|
|
1686
|
+
state([pointerEvents("none"), opacity2(50)].flat(), ":disabled")
|
|
1687
|
+
].flat();
|
|
1688
|
+
let variantStyles = [];
|
|
1689
|
+
if (variant === "ghost") {
|
|
1690
|
+
variantStyles = [
|
|
1691
|
+
state([bg("accent"), text("accentForeground")].flat(), ":hover")
|
|
1692
|
+
].flat();
|
|
1693
|
+
}
|
|
1694
|
+
if (variant === "outline") {
|
|
1695
|
+
variantStyles = [
|
|
1696
|
+
border(),
|
|
1697
|
+
border("input"),
|
|
1698
|
+
bg("background"),
|
|
1699
|
+
state(
|
|
1700
|
+
[bg("accent", 90), text("accentForeground")].flat(),
|
|
1701
|
+
":hover"
|
|
1702
|
+
)
|
|
1703
|
+
].flat();
|
|
1704
|
+
}
|
|
1705
|
+
let sizeStyles = [];
|
|
1706
|
+
if (size === "icon") {
|
|
1707
|
+
sizeStyles = [h(10), w(10)].flat();
|
|
1708
|
+
}
|
|
1709
|
+
if (size === "sm") {
|
|
1710
|
+
sizeStyles = [h(10), px(3)].flat();
|
|
1711
|
+
}
|
|
1712
|
+
if (size === "default") {
|
|
1713
|
+
sizeStyles = [h(10), px(4), py(2)].flat();
|
|
1714
|
+
}
|
|
1715
|
+
return [...styles, ...variantStyles, ...sizeStyles];
|
|
1716
|
+
};
|
|
1717
|
+
var buttonReset = [
|
|
1718
|
+
{
|
|
1719
|
+
property: "backgroundColor",
|
|
1720
|
+
value: { type: "keyword", value: "transparent" }
|
|
1721
|
+
},
|
|
1722
|
+
{
|
|
1723
|
+
property: "backgroundImage",
|
|
1724
|
+
value: { type: "keyword", value: "none" }
|
|
1725
|
+
},
|
|
1726
|
+
border(0),
|
|
1727
|
+
p(0)
|
|
1728
|
+
].flat();
|
|
1729
|
+
|
|
1730
|
+
// src/collapsible.ws.ts
|
|
1731
|
+
var presetStyle = {
|
|
1732
|
+
div
|
|
1733
|
+
};
|
|
1734
|
+
var metaCollapsible = {
|
|
1735
|
+
category: "radix",
|
|
1736
|
+
order: 5,
|
|
1737
|
+
type: "container",
|
|
1738
|
+
presetStyle,
|
|
1739
|
+
icon: CollapsibleIcon,
|
|
1740
|
+
description: "An interactive component which expands and collapses some content, triggered by a button.",
|
|
1741
|
+
template: [
|
|
1742
|
+
{
|
|
1743
|
+
type: "instance",
|
|
1744
|
+
component: "Collapsible",
|
|
1745
|
+
dataSources: {
|
|
1746
|
+
collapsibleOpen: { type: "variable", initialValue: false }
|
|
1747
|
+
},
|
|
1748
|
+
props: [
|
|
1749
|
+
{
|
|
1750
|
+
type: "dataSource",
|
|
1751
|
+
name: "open",
|
|
1752
|
+
dataSourceName: "collapsibleOpen"
|
|
1753
|
+
},
|
|
1754
|
+
{
|
|
1755
|
+
name: "onOpenChange",
|
|
1756
|
+
type: "action",
|
|
1757
|
+
value: [
|
|
1758
|
+
{ type: "execute", args: ["open"], code: `collapsibleOpen = open` }
|
|
1759
|
+
]
|
|
1760
|
+
}
|
|
1761
|
+
],
|
|
1762
|
+
children: [
|
|
1763
|
+
{
|
|
1764
|
+
type: "instance",
|
|
1765
|
+
component: "CollapsibleTrigger",
|
|
1766
|
+
children: [
|
|
1767
|
+
{
|
|
1768
|
+
type: "instance",
|
|
1769
|
+
component: "Button",
|
|
1770
|
+
styles: getButtonStyles("outline"),
|
|
1771
|
+
children: [{ type: "text", value: "Click to toggle content" }]
|
|
1772
|
+
}
|
|
1773
|
+
]
|
|
1774
|
+
},
|
|
1775
|
+
{
|
|
1776
|
+
type: "instance",
|
|
1777
|
+
component: "CollapsibleContent",
|
|
1778
|
+
children: [
|
|
1779
|
+
{
|
|
1780
|
+
type: "instance",
|
|
1781
|
+
component: "Text",
|
|
1782
|
+
children: [{ type: "text", value: "Collapsible Content" }]
|
|
1783
|
+
}
|
|
1784
|
+
]
|
|
1785
|
+
}
|
|
1786
|
+
]
|
|
1787
|
+
}
|
|
1788
|
+
]
|
|
1789
|
+
};
|
|
1790
|
+
var metaCollapsibleTrigger = {
|
|
1791
|
+
category: "hidden",
|
|
1792
|
+
type: "container",
|
|
1793
|
+
icon: TriggerIcon,
|
|
1794
|
+
stylable: false,
|
|
1795
|
+
detachable: false
|
|
1796
|
+
};
|
|
1797
|
+
var metaCollapsibleContent = {
|
|
1798
|
+
category: "hidden",
|
|
1799
|
+
type: "container",
|
|
1800
|
+
presetStyle,
|
|
1801
|
+
icon: ContentIcon,
|
|
1802
|
+
detachable: false
|
|
1803
|
+
};
|
|
1804
|
+
var propsMetaCollapsible = {
|
|
1805
|
+
props: {
|
|
1806
|
+
...propsCollapsible,
|
|
1807
|
+
onOpenChange: {
|
|
1808
|
+
type: "action",
|
|
1809
|
+
control: "action",
|
|
1810
|
+
required: false
|
|
1811
|
+
}
|
|
1812
|
+
},
|
|
1813
|
+
initialProps: ["open", "onOpenChange"]
|
|
1814
|
+
};
|
|
1815
|
+
|
|
1816
|
+
// src/dialog.ws.tsx
|
|
1817
|
+
import {
|
|
1818
|
+
DialogIcon,
|
|
1819
|
+
TriggerIcon as TriggerIcon2,
|
|
1820
|
+
ContentIcon as ContentIcon2,
|
|
1821
|
+
OverlayIcon,
|
|
1822
|
+
HeadingIcon,
|
|
1823
|
+
TextIcon,
|
|
1824
|
+
ButtonElementIcon,
|
|
1825
|
+
LargeXIcon
|
|
1826
|
+
} from "@webstudio-is/icons/svg";
|
|
1827
|
+
import {
|
|
1828
|
+
defaultStates
|
|
1829
|
+
} from "@webstudio-is/react-sdk";
|
|
1830
|
+
import { div as div2, button, h2, p as p2 } from "@webstudio-is/react-sdk/css-normalize";
|
|
1831
|
+
var presetStyle2 = {
|
|
1832
|
+
div: div2
|
|
1833
|
+
};
|
|
1834
|
+
var titlePresetStyle = {
|
|
1835
|
+
h2
|
|
1836
|
+
};
|
|
1837
|
+
var descriptionPresetStyle = {
|
|
1838
|
+
p: p2
|
|
1839
|
+
};
|
|
1840
|
+
var metaDialogTrigger = {
|
|
1841
|
+
category: "hidden",
|
|
1842
|
+
type: "container",
|
|
1843
|
+
icon: TriggerIcon2,
|
|
1844
|
+
stylable: false,
|
|
1845
|
+
detachable: false
|
|
1846
|
+
};
|
|
1847
|
+
var metaDialogContent = {
|
|
1848
|
+
category: "hidden",
|
|
1849
|
+
type: "container",
|
|
1850
|
+
presetStyle: presetStyle2,
|
|
1851
|
+
icon: ContentIcon2,
|
|
1852
|
+
detachable: false
|
|
1853
|
+
};
|
|
1854
|
+
var metaDialogOverlay = {
|
|
1855
|
+
category: "hidden",
|
|
1856
|
+
type: "container",
|
|
1857
|
+
presetStyle: presetStyle2,
|
|
1858
|
+
icon: OverlayIcon,
|
|
1859
|
+
detachable: false
|
|
1860
|
+
};
|
|
1861
|
+
var metaDialogTitle = {
|
|
1862
|
+
category: "hidden",
|
|
1863
|
+
type: "container",
|
|
1864
|
+
presetStyle: titlePresetStyle,
|
|
1865
|
+
icon: HeadingIcon
|
|
1866
|
+
};
|
|
1867
|
+
var metaDialogDescription = {
|
|
1868
|
+
category: "hidden",
|
|
1869
|
+
type: "container",
|
|
1870
|
+
presetStyle: descriptionPresetStyle,
|
|
1871
|
+
icon: TextIcon
|
|
1872
|
+
};
|
|
1873
|
+
var metaDialogClose = {
|
|
1874
|
+
category: "hidden",
|
|
1875
|
+
type: "container",
|
|
1876
|
+
presetStyle: {
|
|
1877
|
+
button: [buttonReset, button].flat()
|
|
1878
|
+
},
|
|
1879
|
+
states: defaultStates,
|
|
1880
|
+
icon: ButtonElementIcon,
|
|
1881
|
+
label: "Close Button"
|
|
1882
|
+
};
|
|
1883
|
+
var metaDialog = {
|
|
1884
|
+
category: "radix",
|
|
1885
|
+
order: 4,
|
|
1886
|
+
type: "container",
|
|
1887
|
+
icon: DialogIcon,
|
|
1888
|
+
stylable: false,
|
|
1889
|
+
description: "Displays content with an overlay that covers the window, triggered by a button. Clicking the overlay will close the dialog.",
|
|
1890
|
+
template: [
|
|
1891
|
+
{
|
|
1892
|
+
type: "instance",
|
|
1893
|
+
component: "Dialog",
|
|
1894
|
+
dataSources: {
|
|
1895
|
+
dialogOpen: { type: "variable", initialValue: false }
|
|
1896
|
+
},
|
|
1897
|
+
props: [
|
|
1898
|
+
{
|
|
1899
|
+
type: "dataSource",
|
|
1900
|
+
name: "open",
|
|
1901
|
+
dataSourceName: "dialogOpen"
|
|
1902
|
+
},
|
|
1903
|
+
{
|
|
1904
|
+
name: "onOpenChange",
|
|
1905
|
+
type: "action",
|
|
1906
|
+
value: [
|
|
1907
|
+
{ type: "execute", args: ["open"], code: `dialogOpen = open` }
|
|
1908
|
+
]
|
|
1909
|
+
}
|
|
1910
|
+
],
|
|
1911
|
+
children: [
|
|
1912
|
+
{
|
|
1913
|
+
type: "instance",
|
|
1914
|
+
component: "DialogTrigger",
|
|
1915
|
+
children: [
|
|
1916
|
+
{
|
|
1917
|
+
type: "instance",
|
|
1918
|
+
component: "Button",
|
|
1919
|
+
styles: getButtonStyles("outline"),
|
|
1920
|
+
children: [{ type: "text", value: "Button" }]
|
|
1921
|
+
}
|
|
1922
|
+
]
|
|
1923
|
+
},
|
|
1924
|
+
{
|
|
1925
|
+
type: "instance",
|
|
1926
|
+
component: "DialogOverlay",
|
|
1927
|
+
/**
|
|
1928
|
+
* fixed inset-0 z-50 bg-background/80 backdrop-blur-sm
|
|
1929
|
+
* flex
|
|
1930
|
+
**/
|
|
1931
|
+
styles: [
|
|
1932
|
+
fixed(),
|
|
1933
|
+
inset2(0),
|
|
1934
|
+
z(50),
|
|
1935
|
+
bg("background", 80),
|
|
1936
|
+
backdropBlur("sm"),
|
|
1937
|
+
// To allow positioning Content
|
|
1938
|
+
flex(),
|
|
1939
|
+
overflow("auto")
|
|
1940
|
+
].flat(),
|
|
1941
|
+
children: [
|
|
1942
|
+
{
|
|
1943
|
+
type: "instance",
|
|
1944
|
+
component: "DialogContent",
|
|
1945
|
+
/**
|
|
1946
|
+
* fixed w-full z-50
|
|
1947
|
+
* grid gap-4 max-w-lg
|
|
1948
|
+
* m-auto
|
|
1949
|
+
* border bg-background p-6 shadow-lg
|
|
1950
|
+
**/
|
|
1951
|
+
styles: [
|
|
1952
|
+
w("full"),
|
|
1953
|
+
z(50),
|
|
1954
|
+
flex(),
|
|
1955
|
+
flex("col"),
|
|
1956
|
+
gap(4),
|
|
1957
|
+
m("auto"),
|
|
1958
|
+
maxW("lg"),
|
|
1959
|
+
border(),
|
|
1960
|
+
bg("background"),
|
|
1961
|
+
p(6),
|
|
1962
|
+
shadow("lg"),
|
|
1963
|
+
relative()
|
|
1964
|
+
].flat(),
|
|
1965
|
+
children: [
|
|
1966
|
+
{
|
|
1967
|
+
type: "instance",
|
|
1968
|
+
component: "Box",
|
|
1969
|
+
label: "Dialog Header",
|
|
1970
|
+
styles: [flex(), flex("col"), gap(1)].flat(),
|
|
1971
|
+
children: [
|
|
1972
|
+
{
|
|
1973
|
+
type: "instance",
|
|
1974
|
+
component: "DialogTitle",
|
|
1975
|
+
/**
|
|
1976
|
+
* text-lg leading-none tracking-tight
|
|
1977
|
+
**/
|
|
1978
|
+
styles: [
|
|
1979
|
+
my(0),
|
|
1980
|
+
leading("none"),
|
|
1981
|
+
text("lg"),
|
|
1982
|
+
tracking("tight")
|
|
1983
|
+
].flat(),
|
|
1984
|
+
children: [
|
|
1985
|
+
{
|
|
1986
|
+
type: "text",
|
|
1987
|
+
value: "Dialog Title"
|
|
1988
|
+
}
|
|
1989
|
+
]
|
|
1990
|
+
},
|
|
1991
|
+
{
|
|
1992
|
+
type: "instance",
|
|
1993
|
+
component: "DialogDescription",
|
|
1994
|
+
/**
|
|
1995
|
+
* text-sm text-muted-foreground
|
|
1996
|
+
**/
|
|
1997
|
+
styles: [
|
|
1998
|
+
my(0),
|
|
1999
|
+
text("sm"),
|
|
2000
|
+
text("mutedForeground")
|
|
2001
|
+
].flat(),
|
|
2002
|
+
children: [
|
|
2003
|
+
{
|
|
2004
|
+
type: "text",
|
|
2005
|
+
value: "Dialog description text you can edit"
|
|
2006
|
+
}
|
|
2007
|
+
]
|
|
2008
|
+
}
|
|
2009
|
+
]
|
|
2010
|
+
},
|
|
2011
|
+
{
|
|
2012
|
+
type: "instance",
|
|
2013
|
+
component: "Text",
|
|
2014
|
+
children: [{ type: "text", value: "The text you can edit" }]
|
|
2015
|
+
},
|
|
2016
|
+
{
|
|
2017
|
+
type: "instance",
|
|
2018
|
+
component: "DialogClose",
|
|
2019
|
+
/**
|
|
2020
|
+
* absolute right-4 top-4
|
|
2021
|
+
* rounded-sm opacity-70
|
|
2022
|
+
* ring-offset-background
|
|
2023
|
+
* hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2
|
|
2024
|
+
* flex items-center justify-center h-4 w-4
|
|
2025
|
+
**/
|
|
2026
|
+
styles: [
|
|
2027
|
+
absolute(),
|
|
2028
|
+
right(4),
|
|
2029
|
+
top(4),
|
|
2030
|
+
rounded("sm"),
|
|
2031
|
+
opacity2(70),
|
|
2032
|
+
flex(),
|
|
2033
|
+
items("center"),
|
|
2034
|
+
justify("center"),
|
|
2035
|
+
h(4),
|
|
2036
|
+
w(4),
|
|
2037
|
+
border(0),
|
|
2038
|
+
bg("transparent"),
|
|
2039
|
+
outline("none"),
|
|
2040
|
+
hover(opacity2(100)),
|
|
2041
|
+
focus(ring("ring", 2, "background", 2))
|
|
2042
|
+
].flat(),
|
|
2043
|
+
children: [
|
|
2044
|
+
{
|
|
2045
|
+
type: "instance",
|
|
2046
|
+
component: "HtmlEmbed",
|
|
2047
|
+
label: "Close Icon",
|
|
2048
|
+
props: [
|
|
2049
|
+
{
|
|
2050
|
+
type: "string",
|
|
2051
|
+
name: "code",
|
|
2052
|
+
value: LargeXIcon
|
|
2053
|
+
}
|
|
2054
|
+
],
|
|
2055
|
+
children: []
|
|
2056
|
+
}
|
|
2057
|
+
]
|
|
2058
|
+
}
|
|
2059
|
+
]
|
|
2060
|
+
}
|
|
2061
|
+
]
|
|
2062
|
+
}
|
|
2063
|
+
]
|
|
2064
|
+
}
|
|
2065
|
+
]
|
|
2066
|
+
};
|
|
2067
|
+
|
|
2068
|
+
// src/sheet.ws.tsx
|
|
2069
|
+
import { HamburgerMenuIcon, LargeXIcon as LargeXIcon2 } from "@webstudio-is/icons/svg";
|
|
2070
|
+
var meta = {
|
|
2071
|
+
category: "radix",
|
|
2072
|
+
order: 1,
|
|
2073
|
+
type: "container",
|
|
2074
|
+
icon: HamburgerMenuIcon,
|
|
2075
|
+
stylable: false,
|
|
2076
|
+
description: "Displays content in a menu that slides out from the side of the screen, triggered by a button. Use this component for a typical mobile hamburger menu.",
|
|
2077
|
+
template: [
|
|
2078
|
+
{
|
|
2079
|
+
type: "instance",
|
|
2080
|
+
component: "Dialog",
|
|
2081
|
+
label: "Sheet",
|
|
2082
|
+
dataSources: {
|
|
2083
|
+
sheetOpen: { type: "variable", initialValue: false }
|
|
2084
|
+
},
|
|
2085
|
+
props: [
|
|
2086
|
+
{
|
|
2087
|
+
type: "dataSource",
|
|
2088
|
+
name: "open",
|
|
2089
|
+
dataSourceName: "sheetOpen"
|
|
2090
|
+
},
|
|
2091
|
+
{
|
|
2092
|
+
name: "onOpenChange",
|
|
2093
|
+
type: "action",
|
|
2094
|
+
value: [
|
|
2095
|
+
{ type: "execute", args: ["open"], code: `sheetOpen = open` }
|
|
2096
|
+
]
|
|
2097
|
+
}
|
|
2098
|
+
],
|
|
2099
|
+
children: [
|
|
2100
|
+
{
|
|
2101
|
+
type: "instance",
|
|
2102
|
+
component: "DialogTrigger",
|
|
2103
|
+
label: "Sheet Trigger",
|
|
2104
|
+
children: [
|
|
2105
|
+
{
|
|
2106
|
+
type: "instance",
|
|
2107
|
+
component: "Button",
|
|
2108
|
+
styles: getButtonStyles("ghost", "icon"),
|
|
2109
|
+
children: [
|
|
2110
|
+
{
|
|
2111
|
+
type: "instance",
|
|
2112
|
+
component: "HtmlEmbed",
|
|
2113
|
+
label: "Hamburger Menu Svg",
|
|
2114
|
+
props: [
|
|
2115
|
+
{
|
|
2116
|
+
type: "string",
|
|
2117
|
+
name: "code",
|
|
2118
|
+
value: HamburgerMenuIcon
|
|
2119
|
+
}
|
|
2120
|
+
],
|
|
2121
|
+
children: []
|
|
2122
|
+
}
|
|
2123
|
+
]
|
|
2124
|
+
}
|
|
2125
|
+
]
|
|
2126
|
+
},
|
|
2127
|
+
{
|
|
2128
|
+
type: "instance",
|
|
2129
|
+
component: "DialogOverlay",
|
|
2130
|
+
label: "Sheet Overlay",
|
|
2131
|
+
/**
|
|
2132
|
+
* fixed inset-0 z-50 bg-background/80 backdrop-blur-sm
|
|
2133
|
+
* flex
|
|
2134
|
+
**/
|
|
2135
|
+
styles: [
|
|
2136
|
+
fixed(),
|
|
2137
|
+
inset2(0),
|
|
2138
|
+
z(50),
|
|
2139
|
+
bg("background", 80),
|
|
2140
|
+
backdropBlur("sm"),
|
|
2141
|
+
// To allow positioning Content
|
|
2142
|
+
flex(),
|
|
2143
|
+
flex("col"),
|
|
2144
|
+
overflow("auto")
|
|
2145
|
+
].flat(),
|
|
2146
|
+
children: [
|
|
2147
|
+
{
|
|
2148
|
+
type: "instance",
|
|
2149
|
+
component: "DialogContent",
|
|
2150
|
+
label: "Sheet Content",
|
|
2151
|
+
/**
|
|
2152
|
+
* fixed w-full z-50
|
|
2153
|
+
* grid gap-4 max-w-lg
|
|
2154
|
+
* m-auto
|
|
2155
|
+
* border bg-background p-6 shadow-lg
|
|
2156
|
+
**/
|
|
2157
|
+
styles: [
|
|
2158
|
+
w("full"),
|
|
2159
|
+
z(50),
|
|
2160
|
+
flex(),
|
|
2161
|
+
flex("col"),
|
|
2162
|
+
gap(4),
|
|
2163
|
+
border(),
|
|
2164
|
+
bg("background"),
|
|
2165
|
+
p(6),
|
|
2166
|
+
shadow("lg"),
|
|
2167
|
+
relative(),
|
|
2168
|
+
// side=left
|
|
2169
|
+
mr("auto"),
|
|
2170
|
+
maxW("sm"),
|
|
2171
|
+
grow()
|
|
2172
|
+
].flat(),
|
|
2173
|
+
children: [
|
|
2174
|
+
{
|
|
2175
|
+
type: "instance",
|
|
2176
|
+
component: "Box",
|
|
2177
|
+
label: "Navigation",
|
|
2178
|
+
props: [
|
|
2179
|
+
{ name: "tag", type: "string", value: "nav" },
|
|
2180
|
+
{ name: "role", type: "string", value: "navigation" }
|
|
2181
|
+
],
|
|
2182
|
+
children: [
|
|
2183
|
+
{
|
|
2184
|
+
type: "instance",
|
|
2185
|
+
component: "Box",
|
|
2186
|
+
label: "Sheet Header",
|
|
2187
|
+
styles: [flex(), flex("col"), gap(1)].flat(),
|
|
2188
|
+
children: [
|
|
2189
|
+
{
|
|
2190
|
+
type: "instance",
|
|
2191
|
+
component: "DialogTitle",
|
|
2192
|
+
label: "Sheet Title",
|
|
2193
|
+
/**
|
|
2194
|
+
* text-lg leading-none tracking-tight
|
|
2195
|
+
**/
|
|
2196
|
+
styles: [
|
|
2197
|
+
my(0),
|
|
2198
|
+
leading("none"),
|
|
2199
|
+
text("lg"),
|
|
2200
|
+
tracking("tight")
|
|
2201
|
+
].flat(),
|
|
2202
|
+
children: [
|
|
2203
|
+
{
|
|
2204
|
+
type: "text",
|
|
2205
|
+
value: "Sheet Title"
|
|
2206
|
+
}
|
|
2207
|
+
]
|
|
2208
|
+
},
|
|
2209
|
+
{
|
|
2210
|
+
type: "instance",
|
|
2211
|
+
component: "DialogDescription",
|
|
2212
|
+
label: "Sheet Description",
|
|
2213
|
+
/**
|
|
2214
|
+
* text-sm text-muted-foreground
|
|
2215
|
+
**/
|
|
2216
|
+
styles: [
|
|
2217
|
+
my(0),
|
|
2218
|
+
text("sm"),
|
|
2219
|
+
text("mutedForeground")
|
|
2220
|
+
].flat(),
|
|
2221
|
+
children: [
|
|
2222
|
+
{
|
|
2223
|
+
type: "text",
|
|
2224
|
+
value: "Sheet description text you can edit"
|
|
2225
|
+
}
|
|
2226
|
+
]
|
|
2227
|
+
}
|
|
2228
|
+
]
|
|
2229
|
+
},
|
|
2230
|
+
{
|
|
2231
|
+
type: "instance",
|
|
2232
|
+
component: "Text",
|
|
2233
|
+
children: [
|
|
2234
|
+
{ type: "text", value: "The text you can edit" }
|
|
2235
|
+
]
|
|
2236
|
+
}
|
|
2237
|
+
]
|
|
2238
|
+
},
|
|
2239
|
+
{
|
|
2240
|
+
type: "instance",
|
|
2241
|
+
component: "DialogClose",
|
|
2242
|
+
label: "Close Button",
|
|
2243
|
+
/**
|
|
2244
|
+
* absolute right-4 top-4
|
|
2245
|
+
* rounded-sm opacity-70
|
|
2246
|
+
* ring-offset-background
|
|
2247
|
+
* hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2
|
|
2248
|
+
* flex items-center justify-center h-4 w-4
|
|
2249
|
+
**/
|
|
2250
|
+
styles: [
|
|
2251
|
+
absolute(),
|
|
2252
|
+
right(4),
|
|
2253
|
+
top(4),
|
|
2254
|
+
rounded("sm"),
|
|
2255
|
+
opacity2(70),
|
|
2256
|
+
flex(),
|
|
2257
|
+
items("center"),
|
|
2258
|
+
justify("center"),
|
|
2259
|
+
h(4),
|
|
2260
|
+
w(4),
|
|
2261
|
+
border(0),
|
|
2262
|
+
bg("transparent"),
|
|
2263
|
+
outline("none"),
|
|
2264
|
+
hover(opacity2(100)),
|
|
2265
|
+
focus(ring("ring", 2, "background", 2))
|
|
2266
|
+
].flat(),
|
|
2267
|
+
children: [
|
|
2268
|
+
{
|
|
2269
|
+
type: "instance",
|
|
2270
|
+
component: "HtmlEmbed",
|
|
2271
|
+
label: "Close Icon",
|
|
2272
|
+
props: [
|
|
2273
|
+
{
|
|
2274
|
+
type: "string",
|
|
2275
|
+
name: "code",
|
|
2276
|
+
value: LargeXIcon2
|
|
2277
|
+
}
|
|
2278
|
+
],
|
|
2279
|
+
children: []
|
|
2280
|
+
}
|
|
2281
|
+
]
|
|
2282
|
+
}
|
|
2283
|
+
]
|
|
2284
|
+
}
|
|
2285
|
+
]
|
|
2286
|
+
}
|
|
2287
|
+
]
|
|
2288
|
+
}
|
|
2289
|
+
]
|
|
2290
|
+
};
|
|
2291
|
+
|
|
2292
|
+
// src/popover.ws.tsx
|
|
2293
|
+
import { PopoverIcon, TriggerIcon as TriggerIcon3, ContentIcon as ContentIcon3 } from "@webstudio-is/icons/svg";
|
|
2294
|
+
import "@webstudio-is/react-sdk";
|
|
2295
|
+
import { div as div3 } from "@webstudio-is/react-sdk/css-normalize";
|
|
2296
|
+
var presetStyle3 = {
|
|
2297
|
+
div: div3
|
|
2298
|
+
};
|
|
2299
|
+
var metaPopoverTrigger = {
|
|
2300
|
+
category: "hidden",
|
|
2301
|
+
type: "container",
|
|
2302
|
+
icon: TriggerIcon3,
|
|
2303
|
+
stylable: false,
|
|
2304
|
+
detachable: false
|
|
2305
|
+
};
|
|
2306
|
+
var metaPopoverContent = {
|
|
2307
|
+
category: "hidden",
|
|
2308
|
+
type: "container",
|
|
2309
|
+
presetStyle: presetStyle3,
|
|
2310
|
+
icon: ContentIcon3,
|
|
2311
|
+
detachable: false
|
|
2312
|
+
};
|
|
2313
|
+
var metaPopover = {
|
|
2314
|
+
category: "radix",
|
|
2315
|
+
order: 6,
|
|
2316
|
+
type: "container",
|
|
2317
|
+
icon: PopoverIcon,
|
|
2318
|
+
stylable: false,
|
|
2319
|
+
description: "Displays rich content in a portal, triggered by a button.",
|
|
2320
|
+
template: [
|
|
2321
|
+
{
|
|
2322
|
+
type: "instance",
|
|
2323
|
+
component: "Popover",
|
|
2324
|
+
dataSources: {
|
|
2325
|
+
popoverOpen: { type: "variable", initialValue: false }
|
|
2326
|
+
},
|
|
2327
|
+
props: [
|
|
2328
|
+
{
|
|
2329
|
+
type: "dataSource",
|
|
2330
|
+
name: "open",
|
|
2331
|
+
dataSourceName: "popoverOpen"
|
|
2332
|
+
},
|
|
2333
|
+
{
|
|
2334
|
+
name: "onOpenChange",
|
|
2335
|
+
type: "action",
|
|
2336
|
+
value: [
|
|
2337
|
+
{ type: "execute", args: ["open"], code: `popoverOpen = open` }
|
|
2338
|
+
]
|
|
2339
|
+
}
|
|
2340
|
+
],
|
|
2341
|
+
children: [
|
|
2342
|
+
{
|
|
2343
|
+
type: "instance",
|
|
2344
|
+
component: "PopoverTrigger",
|
|
2345
|
+
children: [
|
|
2346
|
+
{
|
|
2347
|
+
type: "instance",
|
|
2348
|
+
component: "Button",
|
|
2349
|
+
styles: getButtonStyles("outline"),
|
|
2350
|
+
children: [{ type: "text", value: "Button" }]
|
|
2351
|
+
}
|
|
2352
|
+
]
|
|
2353
|
+
},
|
|
2354
|
+
{
|
|
2355
|
+
type: "instance",
|
|
2356
|
+
component: "PopoverContent",
|
|
2357
|
+
/**
|
|
2358
|
+
* z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none
|
|
2359
|
+
**/
|
|
2360
|
+
styles: [
|
|
2361
|
+
z(50),
|
|
2362
|
+
w(72),
|
|
2363
|
+
rounded("md"),
|
|
2364
|
+
border(),
|
|
2365
|
+
bg("popover"),
|
|
2366
|
+
p(4),
|
|
2367
|
+
text("popoverForeground"),
|
|
2368
|
+
shadow("md"),
|
|
2369
|
+
outline("none")
|
|
2370
|
+
].flat(),
|
|
2371
|
+
children: [
|
|
2372
|
+
{
|
|
2373
|
+
type: "instance",
|
|
2374
|
+
component: "Text",
|
|
2375
|
+
children: [{ type: "text", value: "The text you can edit" }]
|
|
2376
|
+
}
|
|
2377
|
+
]
|
|
2378
|
+
}
|
|
2379
|
+
]
|
|
2380
|
+
}
|
|
2381
|
+
]
|
|
2382
|
+
};
|
|
2383
|
+
|
|
2384
|
+
// src/tooltip.ws.tsx
|
|
2385
|
+
import { TooltipIcon, TriggerIcon as TriggerIcon4, ContentIcon as ContentIcon4 } from "@webstudio-is/icons/svg";
|
|
2386
|
+
import "@webstudio-is/react-sdk";
|
|
2387
|
+
import { div as div4 } from "@webstudio-is/react-sdk/css-normalize";
|
|
2388
|
+
var presetStyle4 = {
|
|
2389
|
+
div: div4
|
|
2390
|
+
};
|
|
2391
|
+
var metaTooltipTrigger = {
|
|
2392
|
+
category: "hidden",
|
|
2393
|
+
detachable: false,
|
|
2394
|
+
type: "container",
|
|
2395
|
+
icon: TriggerIcon4,
|
|
2396
|
+
stylable: false
|
|
2397
|
+
};
|
|
2398
|
+
var metaTooltipContent = {
|
|
2399
|
+
category: "hidden",
|
|
2400
|
+
detachable: false,
|
|
2401
|
+
type: "container",
|
|
2402
|
+
presetStyle: presetStyle4,
|
|
2403
|
+
icon: ContentIcon4
|
|
2404
|
+
};
|
|
2405
|
+
var metaTooltip = {
|
|
2406
|
+
category: "radix",
|
|
2407
|
+
order: 7,
|
|
2408
|
+
type: "container",
|
|
2409
|
+
icon: TooltipIcon,
|
|
2410
|
+
stylable: false,
|
|
2411
|
+
description: "Displays content that is related to the trigger, when the trigger is hovered with the mouse or focused with the keyboard. You are reading an example of a tooltip right now.",
|
|
2412
|
+
template: [
|
|
2413
|
+
{
|
|
2414
|
+
type: "instance",
|
|
2415
|
+
component: "Tooltip",
|
|
2416
|
+
dataSources: {
|
|
2417
|
+
tooltipOpen: { type: "variable", initialValue: false }
|
|
2418
|
+
},
|
|
2419
|
+
props: [
|
|
2420
|
+
{
|
|
2421
|
+
type: "dataSource",
|
|
2422
|
+
name: "open",
|
|
2423
|
+
dataSourceName: "tooltipOpen"
|
|
2424
|
+
},
|
|
2425
|
+
{
|
|
2426
|
+
name: "onOpenChange",
|
|
2427
|
+
type: "action",
|
|
2428
|
+
value: [
|
|
2429
|
+
{ type: "execute", args: ["open"], code: `tooltipOpen = open` }
|
|
2430
|
+
]
|
|
2431
|
+
}
|
|
2432
|
+
],
|
|
2433
|
+
children: [
|
|
2434
|
+
{
|
|
2435
|
+
type: "instance",
|
|
2436
|
+
component: "TooltipTrigger",
|
|
2437
|
+
children: [
|
|
2438
|
+
{
|
|
2439
|
+
type: "instance",
|
|
2440
|
+
component: "Button",
|
|
2441
|
+
styles: getButtonStyles("outline"),
|
|
2442
|
+
children: [{ type: "text", value: "Button" }]
|
|
2443
|
+
}
|
|
2444
|
+
]
|
|
2445
|
+
},
|
|
2446
|
+
{
|
|
2447
|
+
type: "instance",
|
|
2448
|
+
component: "TooltipContent",
|
|
2449
|
+
/**
|
|
2450
|
+
* z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md
|
|
2451
|
+
**/
|
|
2452
|
+
styles: [
|
|
2453
|
+
z(50),
|
|
2454
|
+
overflow("hidden"),
|
|
2455
|
+
rounded("md"),
|
|
2456
|
+
border(),
|
|
2457
|
+
bg("popover"),
|
|
2458
|
+
px(3),
|
|
2459
|
+
py(1.5),
|
|
2460
|
+
text("sm"),
|
|
2461
|
+
text("popoverForeground"),
|
|
2462
|
+
shadow("md")
|
|
2463
|
+
].flat(),
|
|
2464
|
+
children: [
|
|
2465
|
+
{
|
|
2466
|
+
type: "instance",
|
|
2467
|
+
component: "Text",
|
|
2468
|
+
children: [{ type: "text", value: "The text you can edit" }]
|
|
2469
|
+
}
|
|
2470
|
+
]
|
|
2471
|
+
}
|
|
2472
|
+
]
|
|
2473
|
+
}
|
|
2474
|
+
]
|
|
2475
|
+
};
|
|
2476
|
+
|
|
2477
|
+
// src/tabs.ws.ts
|
|
2478
|
+
import {
|
|
2479
|
+
ContentIcon as ContentIcon5,
|
|
2480
|
+
HeaderIcon,
|
|
2481
|
+
TabsIcon,
|
|
2482
|
+
TriggerIcon as TriggerIcon5
|
|
2483
|
+
} from "@webstudio-is/icons/svg";
|
|
2484
|
+
import {
|
|
2485
|
+
defaultStates as defaultStates2
|
|
2486
|
+
} from "@webstudio-is/react-sdk";
|
|
2487
|
+
import { button as button2, div as div5 } from "@webstudio-is/react-sdk/css-normalize";
|
|
2488
|
+
var presetStyle5 = {
|
|
2489
|
+
div: div5
|
|
2490
|
+
};
|
|
2491
|
+
var tabsTriggerStyles = [
|
|
2492
|
+
inlineFlex(),
|
|
2493
|
+
items("center"),
|
|
2494
|
+
justify("center"),
|
|
2495
|
+
whitespace("nowrap"),
|
|
2496
|
+
rounded("md"),
|
|
2497
|
+
px(3),
|
|
2498
|
+
py(1.5),
|
|
2499
|
+
text("sm"),
|
|
2500
|
+
font("medium"),
|
|
2501
|
+
transition("all"),
|
|
2502
|
+
focusVisible(
|
|
2503
|
+
[outline("none"), ring("ring", 2, "background", 2)].flat()
|
|
2504
|
+
),
|
|
2505
|
+
disabled([pointerEvents("none"), opacity2(50)].flat()),
|
|
2506
|
+
state(
|
|
2507
|
+
[bg("background"), text("foreground"), shadow("sm")].flat(),
|
|
2508
|
+
"[data-state=active]"
|
|
2509
|
+
)
|
|
2510
|
+
].flat();
|
|
2511
|
+
var tabsContentStyles = [
|
|
2512
|
+
mt(2),
|
|
2513
|
+
focusVisible(
|
|
2514
|
+
[outline("none"), ring("ring", 2, "background", 2)].flat()
|
|
2515
|
+
)
|
|
2516
|
+
].flat();
|
|
2517
|
+
var metaTabs = {
|
|
2518
|
+
category: "radix",
|
|
2519
|
+
order: 2,
|
|
2520
|
+
type: "container",
|
|
2521
|
+
icon: TabsIcon,
|
|
2522
|
+
presetStyle: presetStyle5,
|
|
2523
|
+
description: "A set of panels with content that are displayed one at a time. Duplicate both a tab trigger and tab content to add more tabs. Triggers and content are connected according to their order in the Navigator.",
|
|
2524
|
+
template: [
|
|
2525
|
+
{
|
|
2526
|
+
type: "instance",
|
|
2527
|
+
component: "Tabs",
|
|
2528
|
+
dataSources: {
|
|
2529
|
+
tabsValue: { type: "variable", initialValue: "0" }
|
|
2530
|
+
},
|
|
2531
|
+
props: [
|
|
2532
|
+
{ type: "dataSource", name: "value", dataSourceName: "tabsValue" },
|
|
2533
|
+
{
|
|
2534
|
+
name: "onValueChange",
|
|
2535
|
+
type: "action",
|
|
2536
|
+
value: [
|
|
2537
|
+
{ type: "execute", args: ["value"], code: `tabsValue = value` }
|
|
2538
|
+
]
|
|
2539
|
+
}
|
|
2540
|
+
],
|
|
2541
|
+
children: [
|
|
2542
|
+
{
|
|
2543
|
+
type: "instance",
|
|
2544
|
+
component: "TabsList",
|
|
2545
|
+
// inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground
|
|
2546
|
+
styles: [
|
|
2547
|
+
inlineFlex(),
|
|
2548
|
+
h(10),
|
|
2549
|
+
items("center"),
|
|
2550
|
+
justify("center"),
|
|
2551
|
+
rounded("md"),
|
|
2552
|
+
bg("muted"),
|
|
2553
|
+
p(1),
|
|
2554
|
+
text("mutedForeground")
|
|
2555
|
+
].flat(),
|
|
2556
|
+
children: [
|
|
2557
|
+
{
|
|
2558
|
+
type: "instance",
|
|
2559
|
+
component: "TabsTrigger",
|
|
2560
|
+
styles: tabsTriggerStyles,
|
|
2561
|
+
children: [{ type: "text", value: "Account" }]
|
|
2562
|
+
},
|
|
2563
|
+
{
|
|
2564
|
+
type: "instance",
|
|
2565
|
+
component: "TabsTrigger",
|
|
2566
|
+
styles: tabsTriggerStyles,
|
|
2567
|
+
children: [{ type: "text", value: "Password" }]
|
|
2568
|
+
}
|
|
2569
|
+
]
|
|
2570
|
+
},
|
|
2571
|
+
{
|
|
2572
|
+
type: "instance",
|
|
2573
|
+
component: "TabsContent",
|
|
2574
|
+
styles: tabsContentStyles,
|
|
2575
|
+
children: [
|
|
2576
|
+
{ type: "text", value: "Make changes to your account here." }
|
|
2577
|
+
]
|
|
2578
|
+
},
|
|
2579
|
+
{
|
|
2580
|
+
type: "instance",
|
|
2581
|
+
component: "TabsContent",
|
|
2582
|
+
styles: tabsContentStyles,
|
|
2583
|
+
children: [{ type: "text", value: "Change your password here." }]
|
|
2584
|
+
}
|
|
2585
|
+
]
|
|
2586
|
+
}
|
|
2587
|
+
]
|
|
2588
|
+
};
|
|
2589
|
+
var metaTabsList = {
|
|
2590
|
+
category: "hidden",
|
|
2591
|
+
detachable: false,
|
|
2592
|
+
type: "container",
|
|
2593
|
+
icon: HeaderIcon,
|
|
2594
|
+
requiredAncestors: ["Tabs"],
|
|
2595
|
+
presetStyle: presetStyle5
|
|
2596
|
+
};
|
|
2597
|
+
var metaTabsTrigger = {
|
|
2598
|
+
category: "hidden",
|
|
2599
|
+
type: "container",
|
|
2600
|
+
icon: TriggerIcon5,
|
|
2601
|
+
requiredAncestors: ["TabsList"],
|
|
2602
|
+
invalidAncestors: ["TabsTrigger"],
|
|
2603
|
+
indexWithinAncestor: "Tabs",
|
|
2604
|
+
label: "Tab Trigger",
|
|
2605
|
+
states: [
|
|
2606
|
+
...defaultStates2,
|
|
2607
|
+
{
|
|
2608
|
+
category: "component-states",
|
|
2609
|
+
label: "Active",
|
|
2610
|
+
selector: "[data-state=active]"
|
|
2611
|
+
}
|
|
2612
|
+
],
|
|
2613
|
+
presetStyle: {
|
|
2614
|
+
button: [button2, buttonReset].flat()
|
|
2615
|
+
}
|
|
2616
|
+
};
|
|
2617
|
+
var metaTabsContent = {
|
|
2618
|
+
category: "hidden",
|
|
2619
|
+
type: "container",
|
|
2620
|
+
label: "Tab Content",
|
|
2621
|
+
icon: ContentIcon5,
|
|
2622
|
+
requiredAncestors: ["Tabs"],
|
|
2623
|
+
indexWithinAncestor: "Tabs",
|
|
2624
|
+
presetStyle: presetStyle5
|
|
2625
|
+
};
|
|
2626
|
+
|
|
2627
|
+
// src/label.ws.ts
|
|
2628
|
+
import { LabelIcon } from "@webstudio-is/icons/svg";
|
|
2629
|
+
import {
|
|
2630
|
+
defaultStates as defaultStates3
|
|
2631
|
+
} from "@webstudio-is/react-sdk";
|
|
2632
|
+
import { label } from "@webstudio-is/react-sdk/css-normalize";
|
|
2633
|
+
|
|
2634
|
+
// src/__generated__/label.props.ts
|
|
2635
|
+
var props = {
|
|
2636
|
+
about: { required: false, control: "text", type: "string" },
|
|
2637
|
+
accessKey: {
|
|
2638
|
+
required: false,
|
|
2639
|
+
control: "text",
|
|
2640
|
+
type: "string",
|
|
2641
|
+
description: "Keyboard shortcut to activate or add focus to the element."
|
|
2642
|
+
},
|
|
2643
|
+
"aria-activedescendant": {
|
|
2644
|
+
description: "Identifies the currently active element when DOM focus is on a composite widget, textbox, group, or application.",
|
|
2645
|
+
required: false,
|
|
2646
|
+
control: "text",
|
|
2647
|
+
type: "string"
|
|
2648
|
+
},
|
|
2649
|
+
"aria-atomic": {
|
|
2650
|
+
description: "Indicates whether assistive technologies will present all, or only parts of, the changed region based on the change notifications defined by the aria-relevant attribute.",
|
|
2651
|
+
required: false,
|
|
2652
|
+
control: "boolean",
|
|
2653
|
+
type: "boolean"
|
|
2654
|
+
},
|
|
2655
|
+
"aria-autocomplete": {
|
|
2656
|
+
description: "Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for an input and specifies how predictions would be\npresented if they are made.",
|
|
2657
|
+
required: false,
|
|
2658
|
+
control: "select",
|
|
2659
|
+
type: "string",
|
|
2660
|
+
options: ["list", "none", "inline", "both"]
|
|
2661
|
+
},
|
|
2662
|
+
"aria-braillelabel": {
|
|
2663
|
+
description: "Defines a string value that labels the current element, which is intended to be converted into Braille.\n@see aria-label.",
|
|
2664
|
+
required: false,
|
|
2665
|
+
control: "text",
|
|
2666
|
+
type: "string"
|
|
2667
|
+
},
|
|
2668
|
+
"aria-brailleroledescription": {
|
|
2669
|
+
description: "Defines a human-readable, author-localized abbreviated description for the role of an element, which is intended to be converted into Braille.\n@see aria-roledescription.",
|
|
2670
|
+
required: false,
|
|
2671
|
+
control: "text",
|
|
2672
|
+
type: "string"
|
|
2673
|
+
},
|
|
2674
|
+
"aria-busy": { required: false, control: "boolean", type: "boolean" },
|
|
2675
|
+
"aria-checked": {
|
|
2676
|
+
description: 'Indicates the current "checked" state of checkboxes, radio buttons, and other widgets.\n@see aria-pressed\n@see aria-selected.',
|
|
2677
|
+
required: false,
|
|
2678
|
+
control: "text",
|
|
2679
|
+
type: "string"
|
|
2680
|
+
},
|
|
2681
|
+
"aria-colcount": {
|
|
2682
|
+
description: "Defines the total number of columns in a table, grid, or treegrid.\n@see aria-colindex.",
|
|
2683
|
+
required: false,
|
|
2684
|
+
control: "number",
|
|
2685
|
+
type: "number"
|
|
2686
|
+
},
|
|
2687
|
+
"aria-colindex": {
|
|
2688
|
+
description: "Defines an element's column index or position with respect to the total number of columns within a table, grid, or treegrid.\n@see aria-colcount\n@see aria-colspan.",
|
|
2689
|
+
required: false,
|
|
2690
|
+
control: "number",
|
|
2691
|
+
type: "number"
|
|
2692
|
+
},
|
|
2693
|
+
"aria-colindextext": {
|
|
2694
|
+
description: "Defines a human readable text alternative of aria-colindex.\n@see aria-rowindextext.",
|
|
2695
|
+
required: false,
|
|
2696
|
+
control: "text",
|
|
2697
|
+
type: "string"
|
|
2698
|
+
},
|
|
2699
|
+
"aria-colspan": {
|
|
2700
|
+
description: "Defines the number of columns spanned by a cell or gridcell within a table, grid, or treegrid.\n@see aria-colindex\n@see aria-rowspan.",
|
|
2701
|
+
required: false,
|
|
2702
|
+
control: "number",
|
|
2703
|
+
type: "number"
|
|
2704
|
+
},
|
|
2705
|
+
"aria-controls": {
|
|
2706
|
+
description: "Identifies the element (or elements) whose contents or presence are controlled by the current element.\n@see aria-owns.",
|
|
2707
|
+
required: false,
|
|
2708
|
+
control: "text",
|
|
2709
|
+
type: "string"
|
|
2710
|
+
},
|
|
2711
|
+
"aria-current": {
|
|
2712
|
+
description: "Indicates the element that represents the current item within a container or set of related elements.",
|
|
2713
|
+
required: false,
|
|
2714
|
+
control: "text",
|
|
2715
|
+
type: "string"
|
|
2716
|
+
},
|
|
2717
|
+
"aria-describedby": {
|
|
2718
|
+
description: "Identifies the element (or elements) that describes the object.\n@see aria-labelledby",
|
|
2719
|
+
required: false,
|
|
2720
|
+
control: "text",
|
|
2721
|
+
type: "string"
|
|
2722
|
+
},
|
|
2723
|
+
"aria-description": {
|
|
2724
|
+
description: "Defines a string value that describes or annotates the current element.\n@see related aria-describedby.",
|
|
2725
|
+
required: false,
|
|
2726
|
+
control: "text",
|
|
2727
|
+
type: "string"
|
|
2728
|
+
},
|
|
2729
|
+
"aria-details": {
|
|
2730
|
+
description: "Identifies the element that provides a detailed, extended description for the object.\n@see aria-describedby.",
|
|
2731
|
+
required: false,
|
|
2732
|
+
control: "text",
|
|
2733
|
+
type: "string"
|
|
2734
|
+
},
|
|
2735
|
+
"aria-disabled": {
|
|
2736
|
+
description: "Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable.\n@see aria-hidden\n@see aria-readonly.",
|
|
2737
|
+
required: false,
|
|
2738
|
+
control: "boolean",
|
|
2739
|
+
type: "boolean"
|
|
2740
|
+
},
|
|
2741
|
+
"aria-dropeffect": {
|
|
2742
|
+
description: "Indicates what functions can be performed when a dragged object is released on the drop target.\n@deprecated in ARIA 1.1",
|
|
2743
|
+
required: false,
|
|
2744
|
+
control: "select",
|
|
2745
|
+
type: "string",
|
|
2746
|
+
options: ["link", "none", "copy", "execute", "move", "popup"]
|
|
2747
|
+
},
|
|
2748
|
+
"aria-errormessage": {
|
|
2749
|
+
description: "Identifies the element that provides an error message for the object.\n@see aria-invalid\n@see aria-describedby.",
|
|
2750
|
+
required: false,
|
|
2751
|
+
control: "text",
|
|
2752
|
+
type: "string"
|
|
2753
|
+
},
|
|
2754
|
+
"aria-expanded": {
|
|
2755
|
+
description: "Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed.",
|
|
2756
|
+
required: false,
|
|
2757
|
+
control: "boolean",
|
|
2758
|
+
type: "boolean"
|
|
2759
|
+
},
|
|
2760
|
+
"aria-flowto": {
|
|
2761
|
+
description: "Identifies the next element (or elements) in an alternate reading order of content which, at the user's discretion,\nallows assistive technology to override the general default of reading in document source order.",
|
|
2762
|
+
required: false,
|
|
2763
|
+
control: "text",
|
|
2764
|
+
type: "string"
|
|
2765
|
+
},
|
|
2766
|
+
"aria-grabbed": {
|
|
2767
|
+
description: `Indicates an element's "grabbed" state in a drag-and-drop operation.
|
|
2768
|
+
@deprecated in ARIA 1.1`,
|
|
2769
|
+
required: false,
|
|
2770
|
+
control: "boolean",
|
|
2771
|
+
type: "boolean"
|
|
2772
|
+
},
|
|
2773
|
+
"aria-haspopup": {
|
|
2774
|
+
description: "Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element.",
|
|
2775
|
+
required: false,
|
|
2776
|
+
control: "text",
|
|
2777
|
+
type: "string"
|
|
2778
|
+
},
|
|
2779
|
+
"aria-hidden": {
|
|
2780
|
+
description: "Indicates whether the element is exposed to an accessibility API.\n@see aria-disabled.",
|
|
2781
|
+
required: false,
|
|
2782
|
+
control: "boolean",
|
|
2783
|
+
type: "boolean"
|
|
2784
|
+
},
|
|
2785
|
+
"aria-invalid": {
|
|
2786
|
+
description: "Indicates the entered value does not conform to the format expected by the application.\n@see aria-errormessage.",
|
|
2787
|
+
required: false,
|
|
2788
|
+
control: "text",
|
|
2789
|
+
type: "string"
|
|
2790
|
+
},
|
|
2791
|
+
"aria-keyshortcuts": {
|
|
2792
|
+
description: "Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element.",
|
|
2793
|
+
required: false,
|
|
2794
|
+
control: "text",
|
|
2795
|
+
type: "string"
|
|
2796
|
+
},
|
|
2797
|
+
"aria-label": {
|
|
2798
|
+
description: "Provides the accessible name that describes an interactive element if no other accessible name exists, for example in a button that contains an image with no text.",
|
|
2799
|
+
required: false,
|
|
2800
|
+
control: "text",
|
|
2801
|
+
type: "string"
|
|
2802
|
+
},
|
|
2803
|
+
"aria-labelledby": {
|
|
2804
|
+
description: "Identifies the element (or elements) that labels the current element.\n@see aria-describedby.",
|
|
2805
|
+
required: false,
|
|
2806
|
+
control: "text",
|
|
2807
|
+
type: "string"
|
|
2808
|
+
},
|
|
2809
|
+
"aria-level": {
|
|
2810
|
+
description: "Defines the hierarchical level of an element within a structure.",
|
|
2811
|
+
required: false,
|
|
2812
|
+
control: "number",
|
|
2813
|
+
type: "number"
|
|
2814
|
+
},
|
|
2815
|
+
"aria-live": {
|
|
2816
|
+
description: "Indicates that an element will be updated, and describes the types of updates the user agents, assistive technologies, and user can expect from the live region.",
|
|
2817
|
+
required: false,
|
|
2818
|
+
control: "radio",
|
|
2819
|
+
type: "string",
|
|
2820
|
+
options: ["off", "assertive", "polite"]
|
|
2821
|
+
},
|
|
2822
|
+
"aria-modal": {
|
|
2823
|
+
description: "Indicates whether an element is modal when displayed.",
|
|
2824
|
+
required: false,
|
|
2825
|
+
control: "boolean",
|
|
2826
|
+
type: "boolean"
|
|
2827
|
+
},
|
|
2828
|
+
"aria-multiline": {
|
|
2829
|
+
description: "Indicates whether a text box accepts multiple lines of input or only a single line.",
|
|
2830
|
+
required: false,
|
|
2831
|
+
control: "boolean",
|
|
2832
|
+
type: "boolean"
|
|
2833
|
+
},
|
|
2834
|
+
"aria-multiselectable": {
|
|
2835
|
+
description: "Indicates that the user may select more than one item from the current selectable descendants.",
|
|
2836
|
+
required: false,
|
|
2837
|
+
control: "boolean",
|
|
2838
|
+
type: "boolean"
|
|
2839
|
+
},
|
|
2840
|
+
"aria-orientation": {
|
|
2841
|
+
description: "Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous.",
|
|
2842
|
+
required: false,
|
|
2843
|
+
control: "radio",
|
|
2844
|
+
type: "string",
|
|
2845
|
+
options: ["horizontal", "vertical"]
|
|
2846
|
+
},
|
|
2847
|
+
"aria-owns": {
|
|
2848
|
+
description: "Identifies an element (or elements) in order to define a visual, functional, or contextual parent/child relationship\nbetween DOM elements where the DOM hierarchy cannot be used to represent the relationship.\n@see aria-controls.",
|
|
2849
|
+
required: false,
|
|
2850
|
+
control: "text",
|
|
2851
|
+
type: "string"
|
|
2852
|
+
},
|
|
2853
|
+
"aria-placeholder": {
|
|
2854
|
+
description: "Defines a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value.\nA hint could be a sample value or a brief description of the expected format.",
|
|
2855
|
+
required: false,
|
|
2856
|
+
control: "text",
|
|
2857
|
+
type: "string"
|
|
2858
|
+
},
|
|
2859
|
+
"aria-posinset": {
|
|
2860
|
+
description: "Defines an element's number or position in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM.\n@see aria-setsize.",
|
|
2861
|
+
required: false,
|
|
2862
|
+
control: "number",
|
|
2863
|
+
type: "number"
|
|
2864
|
+
},
|
|
2865
|
+
"aria-pressed": {
|
|
2866
|
+
description: 'Indicates the current "pressed" state of toggle buttons.\n@see aria-checked\n@see aria-selected.',
|
|
2867
|
+
required: false,
|
|
2868
|
+
control: "text",
|
|
2869
|
+
type: "string"
|
|
2870
|
+
},
|
|
2871
|
+
"aria-readonly": {
|
|
2872
|
+
description: "Indicates that the element is not editable, but is otherwise operable.\n@see aria-disabled.",
|
|
2873
|
+
required: false,
|
|
2874
|
+
control: "boolean",
|
|
2875
|
+
type: "boolean"
|
|
2876
|
+
},
|
|
2877
|
+
"aria-relevant": {
|
|
2878
|
+
description: "Indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified.\n@see aria-atomic.",
|
|
2879
|
+
required: false,
|
|
2880
|
+
control: "select",
|
|
2881
|
+
type: "string",
|
|
2882
|
+
options: [
|
|
2883
|
+
"text",
|
|
2884
|
+
"additions",
|
|
2885
|
+
"additions removals",
|
|
2886
|
+
"additions text",
|
|
2887
|
+
"all",
|
|
2888
|
+
"removals",
|
|
2889
|
+
"removals additions",
|
|
2890
|
+
"removals text",
|
|
2891
|
+
"text additions",
|
|
2892
|
+
"text removals"
|
|
2893
|
+
]
|
|
2894
|
+
},
|
|
2895
|
+
"aria-required": {
|
|
2896
|
+
description: "Indicates that user input is required on the element before a form may be submitted.",
|
|
2897
|
+
required: false,
|
|
2898
|
+
control: "boolean",
|
|
2899
|
+
type: "boolean"
|
|
2900
|
+
},
|
|
2901
|
+
"aria-roledescription": {
|
|
2902
|
+
description: "Defines a human-readable, author-localized description for the role of an element.",
|
|
2903
|
+
required: false,
|
|
2904
|
+
control: "text",
|
|
2905
|
+
type: "string"
|
|
2906
|
+
},
|
|
2907
|
+
"aria-rowcount": {
|
|
2908
|
+
description: "Defines the total number of rows in a table, grid, or treegrid.\n@see aria-rowindex.",
|
|
2909
|
+
required: false,
|
|
2910
|
+
control: "number",
|
|
2911
|
+
type: "number"
|
|
2912
|
+
},
|
|
2913
|
+
"aria-rowindex": {
|
|
2914
|
+
description: "Defines an element's row index or position with respect to the total number of rows within a table, grid, or treegrid.\n@see aria-rowcount\n@see aria-rowspan.",
|
|
2915
|
+
required: false,
|
|
2916
|
+
control: "number",
|
|
2917
|
+
type: "number"
|
|
2918
|
+
},
|
|
2919
|
+
"aria-rowindextext": {
|
|
2920
|
+
description: "Defines a human readable text alternative of aria-rowindex.\n@see aria-colindextext.",
|
|
2921
|
+
required: false,
|
|
2922
|
+
control: "text",
|
|
2923
|
+
type: "string"
|
|
2924
|
+
},
|
|
2925
|
+
"aria-rowspan": {
|
|
2926
|
+
description: "Defines the number of rows spanned by a cell or gridcell within a table, grid, or treegrid.\n@see aria-rowindex\n@see aria-colspan.",
|
|
2927
|
+
required: false,
|
|
2928
|
+
control: "number",
|
|
2929
|
+
type: "number"
|
|
2930
|
+
},
|
|
2931
|
+
"aria-selected": {
|
|
2932
|
+
description: 'Indicates the current "selected" state of various widgets.\n@see aria-checked\n@see aria-pressed.',
|
|
2933
|
+
required: false,
|
|
2934
|
+
control: "boolean",
|
|
2935
|
+
type: "boolean"
|
|
2936
|
+
},
|
|
2937
|
+
"aria-setsize": {
|
|
2938
|
+
description: "Defines the number of items in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM.\n@see aria-posinset.",
|
|
2939
|
+
required: false,
|
|
2940
|
+
control: "number",
|
|
2941
|
+
type: "number"
|
|
2942
|
+
},
|
|
2943
|
+
"aria-sort": {
|
|
2944
|
+
description: "Indicates if items in a table or grid are sorted in ascending or descending order.",
|
|
2945
|
+
required: false,
|
|
2946
|
+
control: "select",
|
|
2947
|
+
type: "string",
|
|
2948
|
+
options: ["none", "ascending", "descending", "other"]
|
|
2949
|
+
},
|
|
2950
|
+
"aria-valuemax": {
|
|
2951
|
+
description: "Defines the maximum allowed value for a range widget.",
|
|
2952
|
+
required: false,
|
|
2953
|
+
control: "number",
|
|
2954
|
+
type: "number"
|
|
2955
|
+
},
|
|
2956
|
+
"aria-valuemin": {
|
|
2957
|
+
description: "Defines the minimum allowed value for a range widget.",
|
|
2958
|
+
required: false,
|
|
2959
|
+
control: "number",
|
|
2960
|
+
type: "number"
|
|
2961
|
+
},
|
|
2962
|
+
"aria-valuenow": {
|
|
2963
|
+
description: "Defines the current value for a range widget.\n@see aria-valuetext.",
|
|
2964
|
+
required: false,
|
|
2965
|
+
control: "number",
|
|
2966
|
+
type: "number"
|
|
2967
|
+
},
|
|
2968
|
+
"aria-valuetext": {
|
|
2969
|
+
description: "Defines the human readable text alternative of aria-valuenow for a range widget.",
|
|
2970
|
+
required: false,
|
|
2971
|
+
control: "text",
|
|
2972
|
+
type: "string"
|
|
2973
|
+
},
|
|
2974
|
+
autoCapitalize: {
|
|
2975
|
+
required: false,
|
|
2976
|
+
control: "text",
|
|
2977
|
+
type: "string",
|
|
2978
|
+
description: "Sets whether input is automatically capitalized when entered by user."
|
|
2979
|
+
},
|
|
2980
|
+
autoCorrect: { required: false, control: "text", type: "string" },
|
|
2981
|
+
autoFocus: {
|
|
2982
|
+
required: false,
|
|
2983
|
+
control: "boolean",
|
|
2984
|
+
type: "boolean",
|
|
2985
|
+
description: "Indicates that an element should be focused on page load, or when its parent dialog is displayed."
|
|
2986
|
+
},
|
|
2987
|
+
autoSave: { required: false, control: "text", type: "string" },
|
|
2988
|
+
className: { required: false, control: "text", type: "string" },
|
|
2989
|
+
color: {
|
|
2990
|
+
required: false,
|
|
2991
|
+
control: "color",
|
|
2992
|
+
type: "string",
|
|
2993
|
+
description: "This attribute sets the text color using either a named color or a color specified in the hexadecimal #RRGGBB format. Note: This is a legacy attribute. Please use the CSS color property instead."
|
|
2994
|
+
},
|
|
2995
|
+
content: {
|
|
2996
|
+
required: false,
|
|
2997
|
+
control: "text",
|
|
2998
|
+
type: "string",
|
|
2999
|
+
description: "A value associated with http-equiv orname depending on the context."
|
|
3000
|
+
},
|
|
3001
|
+
contextMenu: {
|
|
3002
|
+
required: false,
|
|
3003
|
+
control: "text",
|
|
3004
|
+
type: "string",
|
|
3005
|
+
description: "Defines the ID of a menu element which willserve as the element's context menu."
|
|
3006
|
+
},
|
|
3007
|
+
datatype: { required: false, control: "text", type: "string" },
|
|
3008
|
+
dir: {
|
|
3009
|
+
required: false,
|
|
3010
|
+
control: "text",
|
|
3011
|
+
type: "string",
|
|
3012
|
+
description: "Defines the text direction. Allowed values are ltr (Left-To-Right) or rtl (Right-To-Left)"
|
|
3013
|
+
},
|
|
3014
|
+
draggable: {
|
|
3015
|
+
required: false,
|
|
3016
|
+
control: "boolean",
|
|
3017
|
+
type: "boolean",
|
|
3018
|
+
description: "Defines whether the element can be dragged."
|
|
3019
|
+
},
|
|
3020
|
+
form: {
|
|
3021
|
+
required: false,
|
|
3022
|
+
control: "text",
|
|
3023
|
+
type: "string",
|
|
3024
|
+
description: "Indicates the form that is the owner of the element."
|
|
3025
|
+
},
|
|
3026
|
+
hidden: {
|
|
3027
|
+
required: false,
|
|
3028
|
+
control: "boolean",
|
|
3029
|
+
type: "boolean",
|
|
3030
|
+
description: "Prevents rendering of given element, while keeping child elements, e.g. script elements, active."
|
|
3031
|
+
},
|
|
3032
|
+
htmlFor: {
|
|
3033
|
+
required: false,
|
|
3034
|
+
control: "text",
|
|
3035
|
+
type: "string",
|
|
3036
|
+
description: "Associates this Label with an Input. The value of the \u201CFor\u201D attribute should match the ID attribute of the corresponding Input element"
|
|
3037
|
+
},
|
|
3038
|
+
id: {
|
|
3039
|
+
required: false,
|
|
3040
|
+
control: "text",
|
|
3041
|
+
type: "string",
|
|
3042
|
+
description: "Often used with CSS to style a specific element. The value of this attribute must be unique."
|
|
3043
|
+
},
|
|
3044
|
+
inputMode: {
|
|
3045
|
+
description: "Hints at the type of data that might be entered by the user while editing the element or its contents\n@see https://html.spec.whatwg.org/multipage/interaction.html#input-modalities:-the-inputmode-attribute",
|
|
3046
|
+
required: false,
|
|
3047
|
+
control: "select",
|
|
3048
|
+
type: "string",
|
|
3049
|
+
options: [
|
|
3050
|
+
"search",
|
|
3051
|
+
"text",
|
|
3052
|
+
"none",
|
|
3053
|
+
"tel",
|
|
3054
|
+
"url",
|
|
3055
|
+
"email",
|
|
3056
|
+
"numeric",
|
|
3057
|
+
"decimal"
|
|
3058
|
+
]
|
|
3059
|
+
},
|
|
3060
|
+
is: {
|
|
3061
|
+
description: "Specify that a standard HTML element should behave like a defined custom built-in element\n@see https://html.spec.whatwg.org/multipage/custom-elements.html#attr-is",
|
|
3062
|
+
required: false,
|
|
3063
|
+
control: "text",
|
|
3064
|
+
type: "string"
|
|
3065
|
+
},
|
|
3066
|
+
itemID: { required: false, control: "text", type: "string" },
|
|
3067
|
+
itemProp: { required: false, control: "text", type: "string" },
|
|
3068
|
+
itemRef: { required: false, control: "text", type: "string" },
|
|
3069
|
+
itemScope: { required: false, control: "boolean", type: "boolean" },
|
|
3070
|
+
itemType: { required: false, control: "text", type: "string" },
|
|
3071
|
+
lang: {
|
|
3072
|
+
required: false,
|
|
3073
|
+
control: "text",
|
|
3074
|
+
type: "string",
|
|
3075
|
+
description: "Defines the language used in the element."
|
|
3076
|
+
},
|
|
3077
|
+
nonce: { required: false, control: "text", type: "string" },
|
|
3078
|
+
placeholder: {
|
|
3079
|
+
required: false,
|
|
3080
|
+
control: "text",
|
|
3081
|
+
type: "string",
|
|
3082
|
+
description: "Provides a hint to the user of what can be entered in the field."
|
|
3083
|
+
},
|
|
3084
|
+
prefix: { required: false, control: "text", type: "string" },
|
|
3085
|
+
property: { required: false, control: "text", type: "string" },
|
|
3086
|
+
radioGroup: { required: false, control: "text", type: "string" },
|
|
3087
|
+
rel: {
|
|
3088
|
+
required: false,
|
|
3089
|
+
control: "text",
|
|
3090
|
+
type: "string",
|
|
3091
|
+
description: "Specifies the relationship of the target object to the link object."
|
|
3092
|
+
},
|
|
3093
|
+
resource: { required: false, control: "text", type: "string" },
|
|
3094
|
+
results: { required: false, control: "number", type: "number" },
|
|
3095
|
+
rev: { required: false, control: "text", type: "string" },
|
|
3096
|
+
role: {
|
|
3097
|
+
required: false,
|
|
3098
|
+
control: "text",
|
|
3099
|
+
type: "string",
|
|
3100
|
+
description: "Defines an explicit role for an element for use by assistive technologies."
|
|
3101
|
+
},
|
|
3102
|
+
security: { required: false, control: "text", type: "string" },
|
|
3103
|
+
slot: {
|
|
3104
|
+
required: false,
|
|
3105
|
+
control: "text",
|
|
3106
|
+
type: "string",
|
|
3107
|
+
description: "Assigns a slot in a shadow DOM shadow tree to an element."
|
|
3108
|
+
},
|
|
3109
|
+
spellCheck: {
|
|
3110
|
+
required: false,
|
|
3111
|
+
control: "boolean",
|
|
3112
|
+
type: "boolean",
|
|
3113
|
+
description: "Indicates whether spell checking is allowed for the element."
|
|
3114
|
+
},
|
|
3115
|
+
suppressContentEditableWarning: {
|
|
3116
|
+
required: false,
|
|
3117
|
+
control: "boolean",
|
|
3118
|
+
type: "boolean"
|
|
3119
|
+
},
|
|
3120
|
+
suppressHydrationWarning: {
|
|
3121
|
+
required: false,
|
|
3122
|
+
control: "boolean",
|
|
3123
|
+
type: "boolean"
|
|
3124
|
+
},
|
|
3125
|
+
tabIndex: {
|
|
3126
|
+
required: false,
|
|
3127
|
+
control: "number",
|
|
3128
|
+
type: "number",
|
|
3129
|
+
description: "Overrides the browser's default tab order and follows the one specified instead."
|
|
3130
|
+
},
|
|
3131
|
+
title: {
|
|
3132
|
+
required: false,
|
|
3133
|
+
control: "text",
|
|
3134
|
+
type: "string",
|
|
3135
|
+
description: "Text to be displayed in a tooltip when hovering over the element."
|
|
3136
|
+
},
|
|
3137
|
+
translate: {
|
|
3138
|
+
required: false,
|
|
3139
|
+
control: "radio",
|
|
3140
|
+
type: "string",
|
|
3141
|
+
options: ["yes", "no"],
|
|
3142
|
+
description: "Specify whether an element's attribute values and the values of its text node children are to be translated when the page is localized, or whether to leave them unchanged."
|
|
3143
|
+
},
|
|
3144
|
+
typeof: { required: false, control: "text", type: "string" },
|
|
3145
|
+
unselectable: {
|
|
3146
|
+
required: false,
|
|
3147
|
+
control: "radio",
|
|
3148
|
+
type: "string",
|
|
3149
|
+
options: ["on", "off"]
|
|
3150
|
+
},
|
|
3151
|
+
vocab: { required: false, control: "text", type: "string" }
|
|
3152
|
+
};
|
|
3153
|
+
|
|
3154
|
+
// src/label.ws.ts
|
|
3155
|
+
var presetStyle6 = {
|
|
3156
|
+
label
|
|
3157
|
+
};
|
|
3158
|
+
var meta2 = {
|
|
3159
|
+
category: "radix",
|
|
3160
|
+
order: 102,
|
|
3161
|
+
type: "container",
|
|
3162
|
+
icon: LabelIcon,
|
|
3163
|
+
presetStyle: presetStyle6,
|
|
3164
|
+
states: defaultStates3,
|
|
3165
|
+
description: "An accessible label to describe the purpose of an input. Match the \u201CFor\u201D property on the label with the \u201CID\u201D of the input to connect them.",
|
|
3166
|
+
template: [
|
|
3167
|
+
{
|
|
3168
|
+
type: "instance",
|
|
3169
|
+
component: "Label",
|
|
3170
|
+
styles: [
|
|
3171
|
+
// text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70
|
|
3172
|
+
text("sm"),
|
|
3173
|
+
font("medium"),
|
|
3174
|
+
leading("none")
|
|
3175
|
+
// We are not supporting peer like styles yet
|
|
3176
|
+
].flat(),
|
|
3177
|
+
children: [{ type: "text", value: "Form Label" }]
|
|
3178
|
+
}
|
|
3179
|
+
]
|
|
3180
|
+
};
|
|
3181
|
+
var propsMeta = {
|
|
3182
|
+
props: {
|
|
3183
|
+
...props,
|
|
3184
|
+
htmlFor: {
|
|
3185
|
+
...props.htmlFor,
|
|
3186
|
+
label: "For"
|
|
3187
|
+
}
|
|
3188
|
+
},
|
|
3189
|
+
initialProps: ["id", "htmlFor"]
|
|
3190
|
+
};
|
|
3191
|
+
|
|
3192
|
+
// src/accordion.ws.ts
|
|
3193
|
+
import {
|
|
3194
|
+
AccordionIcon,
|
|
3195
|
+
ItemIcon,
|
|
3196
|
+
HeaderIcon as HeaderIcon2,
|
|
3197
|
+
TriggerIcon as TriggerIcon6,
|
|
3198
|
+
ContentIcon as ContentIcon6,
|
|
3199
|
+
ChevronDownIcon
|
|
3200
|
+
} from "@webstudio-is/icons/svg";
|
|
3201
|
+
import {
|
|
3202
|
+
defaultStates as defaultStates4
|
|
3203
|
+
} from "@webstudio-is/react-sdk";
|
|
3204
|
+
import { div as div6, h3, button as button3 } from "@webstudio-is/react-sdk/css-normalize";
|
|
3205
|
+
var presetStyle7 = {
|
|
3206
|
+
div: div6
|
|
3207
|
+
};
|
|
3208
|
+
var accordionItemStyles = [borderB()].flat();
|
|
3209
|
+
var createAccordionTrigger = ({
|
|
3210
|
+
children
|
|
3211
|
+
}) => ({
|
|
3212
|
+
type: "instance",
|
|
3213
|
+
component: "AccordionHeader",
|
|
3214
|
+
// flex
|
|
3215
|
+
styles: [flex()].flat(),
|
|
3216
|
+
children: [
|
|
3217
|
+
{
|
|
3218
|
+
type: "instance",
|
|
3219
|
+
component: "AccordionTrigger",
|
|
3220
|
+
// flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180
|
|
3221
|
+
styles: [
|
|
3222
|
+
flex(),
|
|
3223
|
+
flex(1),
|
|
3224
|
+
items("center"),
|
|
3225
|
+
justify("between"),
|
|
3226
|
+
py(4),
|
|
3227
|
+
font("medium"),
|
|
3228
|
+
hover([underline()].flat()),
|
|
3229
|
+
property("--accordion-trigger-icon-transform", "0deg"),
|
|
3230
|
+
state(
|
|
3231
|
+
[property("--accordion-trigger-icon-transform", "180deg")],
|
|
3232
|
+
"[data-state=open]"
|
|
3233
|
+
)
|
|
3234
|
+
].flat(),
|
|
3235
|
+
children: [
|
|
3236
|
+
{
|
|
3237
|
+
type: "instance",
|
|
3238
|
+
component: "Text",
|
|
3239
|
+
children
|
|
3240
|
+
},
|
|
3241
|
+
{
|
|
3242
|
+
type: "instance",
|
|
3243
|
+
component: "Box",
|
|
3244
|
+
label: "Icon Container",
|
|
3245
|
+
// h-4 w-4 shrink-0 transition-transform duration-200
|
|
3246
|
+
styles: [
|
|
3247
|
+
property("rotate", "--accordion-trigger-icon-transform"),
|
|
3248
|
+
h(4),
|
|
3249
|
+
w(4),
|
|
3250
|
+
shrink(0),
|
|
3251
|
+
transition("all"),
|
|
3252
|
+
duration(200)
|
|
3253
|
+
].flat(),
|
|
3254
|
+
children: [
|
|
3255
|
+
{
|
|
3256
|
+
type: "instance",
|
|
3257
|
+
component: "HtmlEmbed",
|
|
3258
|
+
label: "Chevron Icon",
|
|
3259
|
+
props: [
|
|
3260
|
+
{
|
|
3261
|
+
type: "string",
|
|
3262
|
+
name: "code",
|
|
3263
|
+
value: ChevronDownIcon
|
|
3264
|
+
}
|
|
3265
|
+
],
|
|
3266
|
+
children: []
|
|
3267
|
+
}
|
|
3268
|
+
]
|
|
3269
|
+
}
|
|
3270
|
+
]
|
|
3271
|
+
}
|
|
3272
|
+
]
|
|
3273
|
+
});
|
|
3274
|
+
var accordionContentStyles = [
|
|
3275
|
+
overflow("hidden"),
|
|
3276
|
+
text("sm"),
|
|
3277
|
+
// transition does not work with display: none
|
|
3278
|
+
// tc.transition("all"),
|
|
3279
|
+
pb(4)
|
|
3280
|
+
].flat();
|
|
3281
|
+
var metaAccordion = {
|
|
3282
|
+
category: "radix",
|
|
3283
|
+
order: 3,
|
|
3284
|
+
type: "container",
|
|
3285
|
+
icon: AccordionIcon,
|
|
3286
|
+
presetStyle: presetStyle7,
|
|
3287
|
+
description: "A vertically stacked set of interactive headings that each reveal an associated section of content. Clicking on the heading will open the item and close other items.",
|
|
3288
|
+
template: [
|
|
3289
|
+
{
|
|
3290
|
+
type: "instance",
|
|
3291
|
+
component: "Accordion",
|
|
3292
|
+
dataSources: {
|
|
3293
|
+
accordionValue: { type: "variable", initialValue: "0" }
|
|
3294
|
+
},
|
|
3295
|
+
props: [
|
|
3296
|
+
{ type: "boolean", name: "collapsible", value: true },
|
|
3297
|
+
{ type: "dataSource", name: "value", dataSourceName: "accordionValue" },
|
|
3298
|
+
{
|
|
3299
|
+
name: "onValueChange",
|
|
3300
|
+
type: "action",
|
|
3301
|
+
value: [
|
|
3302
|
+
{
|
|
3303
|
+
type: "execute",
|
|
3304
|
+
args: ["value"],
|
|
3305
|
+
code: `accordionValue = value`
|
|
3306
|
+
}
|
|
3307
|
+
]
|
|
3308
|
+
}
|
|
3309
|
+
],
|
|
3310
|
+
children: [
|
|
3311
|
+
{
|
|
3312
|
+
type: "instance",
|
|
3313
|
+
component: "AccordionItem",
|
|
3314
|
+
styles: accordionItemStyles,
|
|
3315
|
+
children: [
|
|
3316
|
+
createAccordionTrigger({
|
|
3317
|
+
children: [{ type: "text", value: "Is it accessible?" }]
|
|
3318
|
+
}),
|
|
3319
|
+
{
|
|
3320
|
+
type: "instance",
|
|
3321
|
+
component: "AccordionContent",
|
|
3322
|
+
styles: accordionContentStyles,
|
|
3323
|
+
children: [
|
|
3324
|
+
{
|
|
3325
|
+
type: "text",
|
|
3326
|
+
value: "Yes. It adheres to the WAI-ARIA design pattern."
|
|
3327
|
+
}
|
|
3328
|
+
]
|
|
3329
|
+
}
|
|
3330
|
+
]
|
|
3331
|
+
},
|
|
3332
|
+
{
|
|
3333
|
+
type: "instance",
|
|
3334
|
+
component: "AccordionItem",
|
|
3335
|
+
styles: accordionItemStyles,
|
|
3336
|
+
children: [
|
|
3337
|
+
createAccordionTrigger({
|
|
3338
|
+
children: [{ type: "text", value: "Is it styled?" }]
|
|
3339
|
+
}),
|
|
3340
|
+
{
|
|
3341
|
+
type: "instance",
|
|
3342
|
+
component: "AccordionContent",
|
|
3343
|
+
styles: accordionContentStyles,
|
|
3344
|
+
children: [
|
|
3345
|
+
{
|
|
3346
|
+
type: "text",
|
|
3347
|
+
value: "Yes. It comes with default styles that matches the other components' aesthetic."
|
|
3348
|
+
}
|
|
3349
|
+
]
|
|
3350
|
+
}
|
|
3351
|
+
]
|
|
3352
|
+
},
|
|
3353
|
+
{
|
|
3354
|
+
type: "instance",
|
|
3355
|
+
component: "AccordionItem",
|
|
3356
|
+
styles: accordionItemStyles,
|
|
3357
|
+
children: [
|
|
3358
|
+
createAccordionTrigger({
|
|
3359
|
+
children: [{ type: "text", value: "Is it animated?" }]
|
|
3360
|
+
}),
|
|
3361
|
+
{
|
|
3362
|
+
type: "instance",
|
|
3363
|
+
component: "AccordionContent",
|
|
3364
|
+
styles: accordionContentStyles,
|
|
3365
|
+
children: [
|
|
3366
|
+
{
|
|
3367
|
+
type: "text",
|
|
3368
|
+
value: "Yes. It's animated by default, but you can disable it if you prefer."
|
|
3369
|
+
}
|
|
3370
|
+
]
|
|
3371
|
+
}
|
|
3372
|
+
]
|
|
3373
|
+
}
|
|
3374
|
+
]
|
|
3375
|
+
}
|
|
3376
|
+
]
|
|
3377
|
+
};
|
|
3378
|
+
var metaAccordionItem = {
|
|
3379
|
+
category: "hidden",
|
|
3380
|
+
type: "container",
|
|
3381
|
+
label: "Item",
|
|
3382
|
+
icon: ItemIcon,
|
|
3383
|
+
requiredAncestors: ["Accordion"],
|
|
3384
|
+
indexWithinAncestor: "Accordion",
|
|
3385
|
+
presetStyle: presetStyle7
|
|
3386
|
+
};
|
|
3387
|
+
var metaAccordionHeader = {
|
|
3388
|
+
category: "hidden",
|
|
3389
|
+
type: "container",
|
|
3390
|
+
label: "Item Header",
|
|
3391
|
+
icon: HeaderIcon2,
|
|
3392
|
+
requiredAncestors: ["AccordionItem"],
|
|
3393
|
+
detachable: false,
|
|
3394
|
+
presetStyle: {
|
|
3395
|
+
h3: [h3, my(0)].flat()
|
|
3396
|
+
}
|
|
3397
|
+
};
|
|
3398
|
+
var metaAccordionTrigger = {
|
|
3399
|
+
category: "hidden",
|
|
3400
|
+
type: "container",
|
|
3401
|
+
label: "Item Trigger",
|
|
3402
|
+
icon: TriggerIcon6,
|
|
3403
|
+
requiredAncestors: ["AccordionHeader"],
|
|
3404
|
+
detachable: false,
|
|
3405
|
+
states: [
|
|
3406
|
+
...defaultStates4,
|
|
3407
|
+
{
|
|
3408
|
+
category: "component-states",
|
|
3409
|
+
label: "Open",
|
|
3410
|
+
selector: "[data-state=open]"
|
|
3411
|
+
}
|
|
3412
|
+
],
|
|
3413
|
+
presetStyle: {
|
|
3414
|
+
button: [button3, buttonReset].flat()
|
|
3415
|
+
}
|
|
3416
|
+
};
|
|
3417
|
+
var metaAccordionContent = {
|
|
3418
|
+
category: "hidden",
|
|
3419
|
+
type: "container",
|
|
3420
|
+
label: "Item Content",
|
|
3421
|
+
icon: ContentIcon6,
|
|
3422
|
+
requiredAncestors: ["AccordionItem"],
|
|
3423
|
+
detachable: false,
|
|
3424
|
+
presetStyle: presetStyle7
|
|
3425
|
+
};
|
|
3426
|
+
|
|
3427
|
+
// src/navigation-menu.ws.ts
|
|
3428
|
+
import {
|
|
3429
|
+
ContentIcon as ContentIcon7,
|
|
3430
|
+
ListIcon,
|
|
3431
|
+
ListItemIcon,
|
|
3432
|
+
TriggerIcon as TriggerIcon7,
|
|
3433
|
+
BoxIcon,
|
|
3434
|
+
ChevronDownIcon as ChevronDownIcon2,
|
|
3435
|
+
ViewportIcon,
|
|
3436
|
+
NavigationMenuIcon
|
|
3437
|
+
} from "@webstudio-is/icons/svg";
|
|
3438
|
+
import { div as div7 } from "@webstudio-is/react-sdk/css-normalize";
|
|
3439
|
+
var presetStyle8 = {
|
|
3440
|
+
div: div7
|
|
3441
|
+
};
|
|
3442
|
+
var components = [
|
|
3443
|
+
{
|
|
3444
|
+
title: "Sheet",
|
|
3445
|
+
href: "/docs/components/sheet",
|
|
3446
|
+
description: "Extends the Dialog component to display content that complements the main content of the screen."
|
|
3447
|
+
},
|
|
3448
|
+
{
|
|
3449
|
+
title: "Navigation Menu",
|
|
3450
|
+
href: "/docs/components/navigation-menu",
|
|
3451
|
+
description: "A collection of links for navigating websites."
|
|
3452
|
+
},
|
|
3453
|
+
{
|
|
3454
|
+
title: "Tabs",
|
|
3455
|
+
href: "/docs/components/tabs",
|
|
3456
|
+
description: "A set of layered sections of content\u2014known as tab panels\u2014that are displayed one at a time."
|
|
3457
|
+
},
|
|
3458
|
+
{
|
|
3459
|
+
title: "Accordion",
|
|
3460
|
+
href: "/docs/components/accordion",
|
|
3461
|
+
description: "A vertically stacked set of interactive headings that each reveal a section of content."
|
|
3462
|
+
},
|
|
3463
|
+
{
|
|
3464
|
+
title: "Dialog",
|
|
3465
|
+
href: "/docs/components/dialog",
|
|
3466
|
+
description: "A window overlaid on either the primary window or another dialog window, rendering the content underneath inert."
|
|
3467
|
+
},
|
|
3468
|
+
{
|
|
3469
|
+
title: "Collapsible",
|
|
3470
|
+
href: "/docs/components/collapsible",
|
|
3471
|
+
description: "An interactive component which expands/collapses a panel."
|
|
3472
|
+
},
|
|
3473
|
+
{
|
|
3474
|
+
title: "Popover",
|
|
3475
|
+
href: "/docs/components/popover",
|
|
3476
|
+
description: "Displays rich content in a portal, triggered by a button."
|
|
3477
|
+
},
|
|
3478
|
+
{
|
|
3479
|
+
title: "Tooltip",
|
|
3480
|
+
href: "/docs/components/tooltip",
|
|
3481
|
+
description: "A popup that displays information related to an element when the element receives keyboard focus or the mouse hovers over it."
|
|
3482
|
+
},
|
|
3483
|
+
{
|
|
3484
|
+
title: "Button",
|
|
3485
|
+
href: "/docs/components/button",
|
|
3486
|
+
description: "Displays a button or a component that looks like a button."
|
|
3487
|
+
}
|
|
3488
|
+
];
|
|
3489
|
+
var navItem = (props2) => [
|
|
3490
|
+
{
|
|
3491
|
+
type: "instance",
|
|
3492
|
+
component: "NavigationMenuLink",
|
|
3493
|
+
children: [
|
|
3494
|
+
{
|
|
3495
|
+
type: "instance",
|
|
3496
|
+
component: "Link",
|
|
3497
|
+
// block select-none space-y-1 rounded-md p-3 leading-none
|
|
3498
|
+
// no-underline outline-none transition-colors
|
|
3499
|
+
// hover:bg-accent hover:text-accent-foreground
|
|
3500
|
+
// focus:bg-accent focus:text-accent-foreground
|
|
3501
|
+
styles: [
|
|
3502
|
+
text("inherit"),
|
|
3503
|
+
flex(),
|
|
3504
|
+
flex("col"),
|
|
3505
|
+
select("none"),
|
|
3506
|
+
gap(1),
|
|
3507
|
+
rounded("md"),
|
|
3508
|
+
p(3),
|
|
3509
|
+
leading("none"),
|
|
3510
|
+
noUnderline(),
|
|
3511
|
+
outline("none"),
|
|
3512
|
+
hover([bg("accent"), text("accentForeground")].flat()),
|
|
3513
|
+
focus([bg("accent"), text("accentForeground")].flat())
|
|
3514
|
+
].flat(),
|
|
3515
|
+
props: [
|
|
3516
|
+
{
|
|
3517
|
+
name: "href",
|
|
3518
|
+
type: "string",
|
|
3519
|
+
value: `https://ui.shadcn.com${props2.href}`
|
|
3520
|
+
}
|
|
3521
|
+
],
|
|
3522
|
+
children: [
|
|
3523
|
+
{
|
|
3524
|
+
type: "instance",
|
|
3525
|
+
component: "Text",
|
|
3526
|
+
// text-sm font-medium leading-none
|
|
3527
|
+
styles: [
|
|
3528
|
+
text("sm"),
|
|
3529
|
+
font("medium"),
|
|
3530
|
+
leading("none")
|
|
3531
|
+
].flat(),
|
|
3532
|
+
children: [
|
|
3533
|
+
{
|
|
3534
|
+
type: "text",
|
|
3535
|
+
value: props2.title
|
|
3536
|
+
}
|
|
3537
|
+
]
|
|
3538
|
+
},
|
|
3539
|
+
{
|
|
3540
|
+
type: "instance",
|
|
3541
|
+
component: "Paragraph",
|
|
3542
|
+
// line-clamp-2 text-sm leading-snug text-muted-foreground
|
|
3543
|
+
styles: [
|
|
3544
|
+
m(0),
|
|
3545
|
+
lineClamp2(2),
|
|
3546
|
+
text("sm"),
|
|
3547
|
+
leading("snug"),
|
|
3548
|
+
text("mutedForeground")
|
|
3549
|
+
].flat(),
|
|
3550
|
+
children: [
|
|
3551
|
+
{
|
|
3552
|
+
type: "text",
|
|
3553
|
+
value: props2.description
|
|
3554
|
+
}
|
|
3555
|
+
]
|
|
3556
|
+
}
|
|
3557
|
+
]
|
|
3558
|
+
}
|
|
3559
|
+
]
|
|
3560
|
+
}
|
|
3561
|
+
];
|
|
3562
|
+
var navItemsList = (props2) => [
|
|
3563
|
+
{
|
|
3564
|
+
type: "instance",
|
|
3565
|
+
component: "Box",
|
|
3566
|
+
label: "Flex Column",
|
|
3567
|
+
styles: [w(64), flex(), gap(4), flex("col")].flat(),
|
|
3568
|
+
children: Array.from(
|
|
3569
|
+
Array(props2.count),
|
|
3570
|
+
(_, index) => navItem(components[index + props2.offset])
|
|
3571
|
+
).flat()
|
|
3572
|
+
}
|
|
3573
|
+
];
|
|
3574
|
+
var menuItemLink = (props2) => [
|
|
3575
|
+
{
|
|
3576
|
+
type: "instance",
|
|
3577
|
+
component: "NavigationMenuItem",
|
|
3578
|
+
children: [
|
|
3579
|
+
{
|
|
3580
|
+
type: "instance",
|
|
3581
|
+
component: "NavigationMenuLink",
|
|
3582
|
+
children: [
|
|
3583
|
+
{
|
|
3584
|
+
type: "instance",
|
|
3585
|
+
component: "Link",
|
|
3586
|
+
styles: [
|
|
3587
|
+
getButtonStyles("ghost", "sm"),
|
|
3588
|
+
noUnderline(),
|
|
3589
|
+
text("current")
|
|
3590
|
+
].flat(),
|
|
3591
|
+
children: [{ type: "text", value: props2.title }]
|
|
3592
|
+
}
|
|
3593
|
+
]
|
|
3594
|
+
}
|
|
3595
|
+
]
|
|
3596
|
+
}
|
|
3597
|
+
];
|
|
3598
|
+
var menuItem = (props2) => [
|
|
3599
|
+
{
|
|
3600
|
+
type: "instance",
|
|
3601
|
+
component: "NavigationMenuItem",
|
|
3602
|
+
children: [
|
|
3603
|
+
{
|
|
3604
|
+
type: "instance",
|
|
3605
|
+
component: "NavigationMenuTrigger",
|
|
3606
|
+
children: [
|
|
3607
|
+
{
|
|
3608
|
+
type: "instance",
|
|
3609
|
+
component: "Button",
|
|
3610
|
+
styles: [
|
|
3611
|
+
getButtonStyles("ghost", "sm"),
|
|
3612
|
+
property("--navigation-menu-trigger-icon-transform", "0deg"),
|
|
3613
|
+
state(
|
|
3614
|
+
[
|
|
3615
|
+
property(
|
|
3616
|
+
"--navigation-menu-trigger-icon-transform",
|
|
3617
|
+
"180deg"
|
|
3618
|
+
)
|
|
3619
|
+
],
|
|
3620
|
+
"[data-state=open]"
|
|
3621
|
+
)
|
|
3622
|
+
].flat(),
|
|
3623
|
+
children: [
|
|
3624
|
+
{
|
|
3625
|
+
type: "instance",
|
|
3626
|
+
component: "Text",
|
|
3627
|
+
children: [{ type: "text", value: props2.title }]
|
|
3628
|
+
},
|
|
3629
|
+
{
|
|
3630
|
+
type: "instance",
|
|
3631
|
+
component: "Box",
|
|
3632
|
+
label: "Icon Container",
|
|
3633
|
+
// h-4 w-4 shrink-0 transition-transform duration-200
|
|
3634
|
+
styles: [
|
|
3635
|
+
ml(1),
|
|
3636
|
+
property(
|
|
3637
|
+
"rotate",
|
|
3638
|
+
"--navigation-menu-trigger-icon-transform"
|
|
3639
|
+
),
|
|
3640
|
+
h(4),
|
|
3641
|
+
w(4),
|
|
3642
|
+
shrink(0),
|
|
3643
|
+
transition("all"),
|
|
3644
|
+
duration(200)
|
|
3645
|
+
].flat(),
|
|
3646
|
+
children: [
|
|
3647
|
+
{
|
|
3648
|
+
type: "instance",
|
|
3649
|
+
component: "HtmlEmbed",
|
|
3650
|
+
label: "Chevron Icon",
|
|
3651
|
+
props: [
|
|
3652
|
+
{
|
|
3653
|
+
type: "string",
|
|
3654
|
+
name: "code",
|
|
3655
|
+
value: ChevronDownIcon2
|
|
3656
|
+
}
|
|
3657
|
+
],
|
|
3658
|
+
children: []
|
|
3659
|
+
}
|
|
3660
|
+
]
|
|
3661
|
+
}
|
|
3662
|
+
]
|
|
3663
|
+
}
|
|
3664
|
+
]
|
|
3665
|
+
},
|
|
3666
|
+
{
|
|
3667
|
+
type: "instance",
|
|
3668
|
+
component: "NavigationMenuContent",
|
|
3669
|
+
// left-0 top-0 absolute w-max
|
|
3670
|
+
styles: [
|
|
3671
|
+
left(0),
|
|
3672
|
+
top(0),
|
|
3673
|
+
absolute(),
|
|
3674
|
+
w("max"),
|
|
3675
|
+
p(4)
|
|
3676
|
+
].flat(),
|
|
3677
|
+
children: [
|
|
3678
|
+
{
|
|
3679
|
+
type: "instance",
|
|
3680
|
+
component: "Box",
|
|
3681
|
+
label: "Content",
|
|
3682
|
+
styles: [flex(), gap(4), p(props2.padding)].flat(),
|
|
3683
|
+
children: props2.children
|
|
3684
|
+
}
|
|
3685
|
+
]
|
|
3686
|
+
}
|
|
3687
|
+
]
|
|
3688
|
+
}
|
|
3689
|
+
];
|
|
3690
|
+
var metaNavigationMenu = {
|
|
3691
|
+
category: "radix",
|
|
3692
|
+
order: 2,
|
|
3693
|
+
type: "container",
|
|
3694
|
+
description: "A collection of links for navigating websites.",
|
|
3695
|
+
icon: NavigationMenuIcon,
|
|
3696
|
+
presetStyle: presetStyle8,
|
|
3697
|
+
template: [
|
|
3698
|
+
{
|
|
3699
|
+
type: "instance",
|
|
3700
|
+
component: "NavigationMenu",
|
|
3701
|
+
dataSources: {
|
|
3702
|
+
menuValue: { type: "variable", initialValue: "" }
|
|
3703
|
+
},
|
|
3704
|
+
props: [
|
|
3705
|
+
{ type: "dataSource", name: "value", dataSourceName: "menuValue" },
|
|
3706
|
+
{
|
|
3707
|
+
name: "onValueChange",
|
|
3708
|
+
type: "action",
|
|
3709
|
+
value: [
|
|
3710
|
+
{
|
|
3711
|
+
type: "execute",
|
|
3712
|
+
args: ["value"],
|
|
3713
|
+
code: `menuValue = value`
|
|
3714
|
+
}
|
|
3715
|
+
]
|
|
3716
|
+
}
|
|
3717
|
+
],
|
|
3718
|
+
// relative
|
|
3719
|
+
// Omiting this: z-10 flex max-w-max flex-1 items-center justify-center
|
|
3720
|
+
styles: [relative(), maxW("max")].flat(),
|
|
3721
|
+
children: [
|
|
3722
|
+
{
|
|
3723
|
+
type: "instance",
|
|
3724
|
+
component: "NavigationMenuList",
|
|
3725
|
+
styles: [
|
|
3726
|
+
// ul defaults in tailwind
|
|
3727
|
+
p(0),
|
|
3728
|
+
m(0),
|
|
3729
|
+
// shadcdn styles
|
|
3730
|
+
flex(),
|
|
3731
|
+
flex(1),
|
|
3732
|
+
list("none"),
|
|
3733
|
+
items("center"),
|
|
3734
|
+
justify("center"),
|
|
3735
|
+
gap(1)
|
|
3736
|
+
].flat(),
|
|
3737
|
+
children: [
|
|
3738
|
+
...menuItem({
|
|
3739
|
+
title: "About",
|
|
3740
|
+
padding: 2,
|
|
3741
|
+
children: [
|
|
3742
|
+
{
|
|
3743
|
+
type: "instance",
|
|
3744
|
+
component: "Box",
|
|
3745
|
+
styles: [
|
|
3746
|
+
bg("border"),
|
|
3747
|
+
p(4),
|
|
3748
|
+
w(48),
|
|
3749
|
+
rounded("md")
|
|
3750
|
+
].flat(),
|
|
3751
|
+
children: [
|
|
3752
|
+
{
|
|
3753
|
+
type: "text",
|
|
3754
|
+
value: ""
|
|
3755
|
+
}
|
|
3756
|
+
]
|
|
3757
|
+
},
|
|
3758
|
+
...navItemsList({ count: 3, offset: 0 })
|
|
3759
|
+
]
|
|
3760
|
+
}),
|
|
3761
|
+
...menuItem({
|
|
3762
|
+
title: "Components",
|
|
3763
|
+
padding: 0,
|
|
3764
|
+
children: [
|
|
3765
|
+
...navItemsList({ count: 3, offset: 3 }),
|
|
3766
|
+
...navItemsList({ count: 3, offset: 6 })
|
|
3767
|
+
]
|
|
3768
|
+
}),
|
|
3769
|
+
...menuItemLink({ title: "Standalone" })
|
|
3770
|
+
]
|
|
3771
|
+
},
|
|
3772
|
+
{
|
|
3773
|
+
type: "instance",
|
|
3774
|
+
component: "Box",
|
|
3775
|
+
label: "Viewport Container",
|
|
3776
|
+
// absolute left-0 top-full flex justify-center
|
|
3777
|
+
styles: [
|
|
3778
|
+
absolute(),
|
|
3779
|
+
left(0),
|
|
3780
|
+
top("full"),
|
|
3781
|
+
flex(),
|
|
3782
|
+
justify("center")
|
|
3783
|
+
].flat(),
|
|
3784
|
+
children: [
|
|
3785
|
+
{
|
|
3786
|
+
type: "instance",
|
|
3787
|
+
component: "NavigationMenuViewport",
|
|
3788
|
+
/*
|
|
3789
|
+
origin-top-center relative mt-1.5 w-full
|
|
3790
|
+
overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-lg
|
|
3791
|
+
h-[var(--radix-navigation-menu-viewport-height)]
|
|
3792
|
+
w-[var(--radix-navigation-menu-viewport-width)]
|
|
3793
|
+
// anims
|
|
3794
|
+
[animation-duration:150ms!important] [transition-duration:150ms!important]
|
|
3795
|
+
data-[state=open]:animate-in data-[state=closed]:animate-out
|
|
3796
|
+
data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90
|
|
3797
|
+
*/
|
|
3798
|
+
styles: [
|
|
3799
|
+
relative(),
|
|
3800
|
+
mt(1.5),
|
|
3801
|
+
overflow("hidden"),
|
|
3802
|
+
rounded("md"),
|
|
3803
|
+
border(),
|
|
3804
|
+
bg("popover"),
|
|
3805
|
+
text("popoverForeground"),
|
|
3806
|
+
shadow("lg"),
|
|
3807
|
+
property(
|
|
3808
|
+
"height",
|
|
3809
|
+
"--radix-navigation-menu-viewport-height"
|
|
3810
|
+
),
|
|
3811
|
+
property("width", "--radix-navigation-menu-viewport-width")
|
|
3812
|
+
].flat(),
|
|
3813
|
+
children: []
|
|
3814
|
+
}
|
|
3815
|
+
]
|
|
3816
|
+
}
|
|
3817
|
+
]
|
|
3818
|
+
}
|
|
3819
|
+
]
|
|
3820
|
+
};
|
|
3821
|
+
var metaNavigationMenuList = {
|
|
3822
|
+
category: "hidden",
|
|
3823
|
+
detachable: false,
|
|
3824
|
+
type: "container",
|
|
3825
|
+
icon: ListIcon,
|
|
3826
|
+
requiredAncestors: ["NavigationMenu"],
|
|
3827
|
+
presetStyle: presetStyle8,
|
|
3828
|
+
label: "Menu List"
|
|
3829
|
+
};
|
|
3830
|
+
var metaNavigationMenuItem = {
|
|
3831
|
+
category: "hidden",
|
|
3832
|
+
type: "container",
|
|
3833
|
+
icon: ListItemIcon,
|
|
3834
|
+
requiredAncestors: ["NavigationMenu"],
|
|
3835
|
+
presetStyle: presetStyle8,
|
|
3836
|
+
indexWithinAncestor: "NavigationMenu",
|
|
3837
|
+
label: "Menu Item"
|
|
3838
|
+
};
|
|
3839
|
+
var metaNavigationMenuTrigger = {
|
|
3840
|
+
category: "hidden",
|
|
3841
|
+
detachable: false,
|
|
3842
|
+
stylable: false,
|
|
3843
|
+
type: "container",
|
|
3844
|
+
icon: TriggerIcon7,
|
|
3845
|
+
requiredAncestors: ["NavigationMenuItem"],
|
|
3846
|
+
presetStyle: presetStyle8,
|
|
3847
|
+
label: "Menu Trigger"
|
|
3848
|
+
};
|
|
3849
|
+
var metaNavigationMenuContent = {
|
|
3850
|
+
category: "hidden",
|
|
3851
|
+
detachable: false,
|
|
3852
|
+
type: "container",
|
|
3853
|
+
icon: ContentIcon7,
|
|
3854
|
+
requiredAncestors: ["NavigationMenuItem"],
|
|
3855
|
+
indexWithinAncestor: "NavigationMenu",
|
|
3856
|
+
presetStyle: presetStyle8,
|
|
3857
|
+
label: "Menu Content"
|
|
3858
|
+
};
|
|
3859
|
+
var metaNavigationMenuLink = {
|
|
3860
|
+
category: "hidden",
|
|
3861
|
+
detachable: true,
|
|
3862
|
+
type: "container",
|
|
3863
|
+
stylable: false,
|
|
3864
|
+
icon: BoxIcon,
|
|
3865
|
+
// https://github.com/webstudio-is/webstudio/issues/2193
|
|
3866
|
+
// requiredAncestors: ["NavigationMenuContent", "NavigationMenuItem"],
|
|
3867
|
+
// Temporary restrict to NavigationMenu
|
|
3868
|
+
requiredAncestors: ["NavigationMenu"],
|
|
3869
|
+
presetStyle: presetStyle8,
|
|
3870
|
+
label: "Accessible Link Wrapper"
|
|
3871
|
+
};
|
|
3872
|
+
var metaNavigationMenuViewport = {
|
|
3873
|
+
category: "hidden",
|
|
3874
|
+
detachable: true,
|
|
3875
|
+
type: "container",
|
|
3876
|
+
icon: ViewportIcon,
|
|
3877
|
+
requiredAncestors: ["NavigationMenu"],
|
|
3878
|
+
presetStyle: presetStyle8,
|
|
3879
|
+
label: "Menu Viewport"
|
|
3880
|
+
};
|
|
3881
|
+
|
|
3882
|
+
// src/select.ws.ts
|
|
3883
|
+
import {
|
|
3884
|
+
SelectIcon,
|
|
3885
|
+
TriggerIcon as TriggerIcon8,
|
|
3886
|
+
FormTextFieldIcon,
|
|
3887
|
+
ContentIcon as ContentIcon8,
|
|
3888
|
+
ItemIcon as ItemIcon2,
|
|
3889
|
+
ViewportIcon as ViewportIcon2,
|
|
3890
|
+
TextIcon as TextIcon2,
|
|
3891
|
+
CheckMarkIcon
|
|
3892
|
+
} from "@webstudio-is/icons/svg";
|
|
3893
|
+
import { button as button4, div as div8, span } from "@webstudio-is/react-sdk/css-normalize";
|
|
3894
|
+
var presetStyle9 = {
|
|
3895
|
+
div: div8
|
|
3896
|
+
};
|
|
3897
|
+
var createSelectItem = ({
|
|
3898
|
+
props: props2,
|
|
3899
|
+
children
|
|
3900
|
+
}) => ({
|
|
3901
|
+
type: "instance",
|
|
3902
|
+
component: "SelectItem",
|
|
3903
|
+
props: props2,
|
|
3904
|
+
// relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none
|
|
3905
|
+
// focus:bg-accent focus:text-accent-foreground
|
|
3906
|
+
// data-[disabled]:pointer-events-none data-[disabled]:opacity-50
|
|
3907
|
+
styles: [
|
|
3908
|
+
relative(),
|
|
3909
|
+
flex(),
|
|
3910
|
+
w("full"),
|
|
3911
|
+
cursor2("default"),
|
|
3912
|
+
select("none"),
|
|
3913
|
+
items("center"),
|
|
3914
|
+
rounded("md"),
|
|
3915
|
+
py(1.5),
|
|
3916
|
+
pl(8),
|
|
3917
|
+
pr(2),
|
|
3918
|
+
text("sm"),
|
|
3919
|
+
outline("none"),
|
|
3920
|
+
focus([bg("accent"), text("accentForeground")].flat()),
|
|
3921
|
+
state(
|
|
3922
|
+
[pointerEvents("none"), opacity2(50)].flat(),
|
|
3923
|
+
"[data-disabled]"
|
|
3924
|
+
)
|
|
3925
|
+
].flat(),
|
|
3926
|
+
children: [
|
|
3927
|
+
{
|
|
3928
|
+
type: "instance",
|
|
3929
|
+
component: "SelectItemIndicator",
|
|
3930
|
+
// absolute left-2 flex h-3.5 w-3.5 items-center justify-center
|
|
3931
|
+
styles: [
|
|
3932
|
+
absolute(),
|
|
3933
|
+
left(2),
|
|
3934
|
+
flex(),
|
|
3935
|
+
h(3.5),
|
|
3936
|
+
w(3.5),
|
|
3937
|
+
items("center"),
|
|
3938
|
+
justify("center")
|
|
3939
|
+
].flat(),
|
|
3940
|
+
children: [
|
|
3941
|
+
{
|
|
3942
|
+
type: "instance",
|
|
3943
|
+
component: "HtmlEmbed",
|
|
3944
|
+
label: "Indicator Icon",
|
|
3945
|
+
props: [
|
|
3946
|
+
{
|
|
3947
|
+
type: "string",
|
|
3948
|
+
name: "code",
|
|
3949
|
+
value: CheckMarkIcon
|
|
3950
|
+
}
|
|
3951
|
+
],
|
|
3952
|
+
children: []
|
|
3953
|
+
}
|
|
3954
|
+
]
|
|
3955
|
+
},
|
|
3956
|
+
{
|
|
3957
|
+
type: "instance",
|
|
3958
|
+
component: "SelectItemText",
|
|
3959
|
+
children
|
|
3960
|
+
}
|
|
3961
|
+
]
|
|
3962
|
+
});
|
|
3963
|
+
var metaSelect = {
|
|
3964
|
+
category: "radix",
|
|
3965
|
+
order: 10,
|
|
3966
|
+
type: "container",
|
|
3967
|
+
icon: SelectIcon,
|
|
3968
|
+
stylable: false,
|
|
3969
|
+
description: "Use within a form to give your users a list of options to choose from.",
|
|
3970
|
+
template: [
|
|
3971
|
+
{
|
|
3972
|
+
type: "instance",
|
|
3973
|
+
component: "Select",
|
|
3974
|
+
dataSources: {
|
|
3975
|
+
selectValue: { type: "variable", initialValue: "" },
|
|
3976
|
+
selectOpen: { type: "variable", initialValue: false }
|
|
3977
|
+
},
|
|
3978
|
+
props: [
|
|
3979
|
+
{
|
|
3980
|
+
name: "value",
|
|
3981
|
+
type: "dataSource",
|
|
3982
|
+
dataSourceName: "selectValue"
|
|
3983
|
+
},
|
|
3984
|
+
{
|
|
3985
|
+
name: "onValueChange",
|
|
3986
|
+
type: "action",
|
|
3987
|
+
value: [
|
|
3988
|
+
{ type: "execute", args: ["value"], code: `selectValue = value` }
|
|
3989
|
+
]
|
|
3990
|
+
},
|
|
3991
|
+
{
|
|
3992
|
+
name: "open",
|
|
3993
|
+
type: "dataSource",
|
|
3994
|
+
dataSourceName: "selectOpen"
|
|
3995
|
+
},
|
|
3996
|
+
{
|
|
3997
|
+
name: "onOpenChange",
|
|
3998
|
+
type: "action",
|
|
3999
|
+
value: [
|
|
4000
|
+
{ type: "execute", args: ["open"], code: `selectOpen = open` }
|
|
4001
|
+
]
|
|
4002
|
+
}
|
|
4003
|
+
],
|
|
4004
|
+
children: [
|
|
4005
|
+
{
|
|
4006
|
+
type: "instance",
|
|
4007
|
+
component: "SelectTrigger",
|
|
4008
|
+
// flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background
|
|
4009
|
+
// placeholder:text-muted-foreground
|
|
4010
|
+
// focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2
|
|
4011
|
+
// disabled:cursor-not-allowed disabled:opacity-50
|
|
4012
|
+
styles: [
|
|
4013
|
+
flex(),
|
|
4014
|
+
h(10),
|
|
4015
|
+
w("full"),
|
|
4016
|
+
items("center"),
|
|
4017
|
+
justify("between"),
|
|
4018
|
+
rounded("md"),
|
|
4019
|
+
border(),
|
|
4020
|
+
border("input"),
|
|
4021
|
+
bg("background"),
|
|
4022
|
+
px(3),
|
|
4023
|
+
py(2),
|
|
4024
|
+
text("sm"),
|
|
4025
|
+
state([text("mutedForeground")].flat(), "::placeholder"),
|
|
4026
|
+
focus(
|
|
4027
|
+
[outline("none"), ring("ring", 2, "background", 2)].flat()
|
|
4028
|
+
),
|
|
4029
|
+
disabled([cursor2("not-allowed"), opacity2(50)].flat())
|
|
4030
|
+
].flat(),
|
|
4031
|
+
children: [
|
|
4032
|
+
{
|
|
4033
|
+
type: "instance",
|
|
4034
|
+
component: "SelectValue",
|
|
4035
|
+
props: [{ name: "placeholder", type: "string", value: "Theme" }],
|
|
4036
|
+
children: []
|
|
4037
|
+
}
|
|
4038
|
+
]
|
|
4039
|
+
},
|
|
4040
|
+
{
|
|
4041
|
+
type: "instance",
|
|
4042
|
+
component: "SelectContent",
|
|
4043
|
+
// relative z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md
|
|
4044
|
+
// data-[state=open]:animate-in
|
|
4045
|
+
// data-[state=closed]:animate-out data-[state=closed]:fade-out-0
|
|
4046
|
+
// data-[state=open]:fade-in-0
|
|
4047
|
+
// data-[state=closed]:zoom-out-95
|
|
4048
|
+
// data-[state=open]:zoom-in-95
|
|
4049
|
+
// data-[side=bottom]:slide-in-from-top-2
|
|
4050
|
+
// data-[side=left]:slide-in-from-right-2
|
|
4051
|
+
// data-[side=right]:slide-in-from-left-2
|
|
4052
|
+
// data-[side=top]:slide-in-from-bottom-2
|
|
4053
|
+
// position=popper
|
|
4054
|
+
// data-[side=bottom]:translate-y-1
|
|
4055
|
+
// data-[side=left]:-translate-x-1
|
|
4056
|
+
// data-[side=right]:translate-x-1
|
|
4057
|
+
// data-[side=top]:-translate-y-1
|
|
4058
|
+
styles: [
|
|
4059
|
+
relative(),
|
|
4060
|
+
z(50),
|
|
4061
|
+
property("minWidth", "8rem"),
|
|
4062
|
+
overflow("hidden"),
|
|
4063
|
+
rounded("md"),
|
|
4064
|
+
border(),
|
|
4065
|
+
bg("popover"),
|
|
4066
|
+
text("popoverForeground"),
|
|
4067
|
+
shadow("md")
|
|
4068
|
+
].flat(),
|
|
4069
|
+
children: [
|
|
4070
|
+
{
|
|
4071
|
+
type: "instance",
|
|
4072
|
+
component: "SelectViewport",
|
|
4073
|
+
// p-1
|
|
4074
|
+
// position=popper
|
|
4075
|
+
// h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]
|
|
4076
|
+
styles: [
|
|
4077
|
+
p(1),
|
|
4078
|
+
property("height", "--radix-select-trigger-height"),
|
|
4079
|
+
w("full"),
|
|
4080
|
+
property("minWidth", "--radix-select-trigger-width")
|
|
4081
|
+
].flat(),
|
|
4082
|
+
children: [
|
|
4083
|
+
createSelectItem({
|
|
4084
|
+
props: [{ name: "value", type: "string", value: "light" }],
|
|
4085
|
+
children: [{ type: "text", value: "Light" }]
|
|
4086
|
+
}),
|
|
4087
|
+
createSelectItem({
|
|
4088
|
+
props: [{ name: "value", type: "string", value: "dark" }],
|
|
4089
|
+
children: [{ type: "text", value: "Dark" }]
|
|
4090
|
+
}),
|
|
4091
|
+
createSelectItem({
|
|
4092
|
+
props: [{ name: "value", type: "string", value: "system" }],
|
|
4093
|
+
children: [{ type: "text", value: "System" }]
|
|
4094
|
+
})
|
|
4095
|
+
]
|
|
4096
|
+
}
|
|
4097
|
+
]
|
|
4098
|
+
}
|
|
4099
|
+
]
|
|
4100
|
+
}
|
|
4101
|
+
]
|
|
4102
|
+
};
|
|
4103
|
+
var metaSelectTrigger = {
|
|
4104
|
+
category: "hidden",
|
|
4105
|
+
type: "container",
|
|
4106
|
+
icon: TriggerIcon8,
|
|
4107
|
+
detachable: false,
|
|
4108
|
+
presetStyle: {
|
|
4109
|
+
button: button4
|
|
4110
|
+
}
|
|
4111
|
+
};
|
|
4112
|
+
var metaSelectValue = {
|
|
4113
|
+
category: "hidden",
|
|
4114
|
+
type: "container",
|
|
4115
|
+
label: "Value",
|
|
4116
|
+
icon: FormTextFieldIcon,
|
|
4117
|
+
detachable: false,
|
|
4118
|
+
presetStyle: {
|
|
4119
|
+
span
|
|
4120
|
+
}
|
|
4121
|
+
};
|
|
4122
|
+
var metaSelectContent = {
|
|
4123
|
+
category: "hidden",
|
|
4124
|
+
type: "container",
|
|
4125
|
+
icon: ContentIcon8,
|
|
4126
|
+
detachable: false,
|
|
4127
|
+
presetStyle: presetStyle9
|
|
4128
|
+
};
|
|
4129
|
+
var metaSelectViewport = {
|
|
4130
|
+
category: "hidden",
|
|
4131
|
+
type: "container",
|
|
4132
|
+
icon: ViewportIcon2,
|
|
4133
|
+
detachable: false,
|
|
4134
|
+
presetStyle: presetStyle9
|
|
4135
|
+
};
|
|
4136
|
+
var metaSelectItem = {
|
|
4137
|
+
category: "hidden",
|
|
4138
|
+
type: "container",
|
|
4139
|
+
icon: ItemIcon2,
|
|
4140
|
+
requiredAncestors: ["SelectViewport"],
|
|
4141
|
+
presetStyle: presetStyle9
|
|
4142
|
+
};
|
|
4143
|
+
var metaSelectItemIndicator = {
|
|
4144
|
+
category: "hidden",
|
|
4145
|
+
type: "container",
|
|
4146
|
+
label: "Indicator",
|
|
4147
|
+
icon: CheckMarkIcon,
|
|
4148
|
+
detachable: false,
|
|
4149
|
+
requiredAncestors: ["SelectItem"],
|
|
4150
|
+
presetStyle: {
|
|
4151
|
+
span
|
|
4152
|
+
}
|
|
4153
|
+
};
|
|
4154
|
+
var metaSelectItemText = {
|
|
4155
|
+
category: "hidden",
|
|
4156
|
+
type: "container",
|
|
4157
|
+
label: "Item Text",
|
|
4158
|
+
icon: TextIcon2,
|
|
4159
|
+
detachable: false,
|
|
4160
|
+
requiredAncestors: ["SelectItem"],
|
|
4161
|
+
presetStyle: {
|
|
4162
|
+
span
|
|
4163
|
+
}
|
|
4164
|
+
};
|
|
4165
|
+
|
|
4166
|
+
// src/switch.ws.ts
|
|
4167
|
+
import { SwitchIcon, TriggerIcon as TriggerIcon9 } from "@webstudio-is/icons/svg";
|
|
4168
|
+
import {
|
|
4169
|
+
defaultStates as defaultStates5
|
|
4170
|
+
} from "@webstudio-is/react-sdk";
|
|
4171
|
+
import { button as button5, span as span2 } from "@webstudio-is/react-sdk/css-normalize";
|
|
4172
|
+
var metaSwitch = {
|
|
4173
|
+
category: "radix",
|
|
4174
|
+
order: 11,
|
|
4175
|
+
type: "container",
|
|
4176
|
+
description: "A control that allows the user to toggle between checked and not checked.",
|
|
4177
|
+
icon: SwitchIcon,
|
|
4178
|
+
states: [
|
|
4179
|
+
...defaultStates5,
|
|
4180
|
+
{
|
|
4181
|
+
label: "Checked",
|
|
4182
|
+
selector: "[data-state=checked]",
|
|
4183
|
+
category: "component-states"
|
|
4184
|
+
},
|
|
4185
|
+
{
|
|
4186
|
+
label: "Unchecked",
|
|
4187
|
+
selector: "[data-state=unchecked]",
|
|
4188
|
+
category: "component-states"
|
|
4189
|
+
}
|
|
4190
|
+
],
|
|
4191
|
+
presetStyle: {
|
|
4192
|
+
button: [button5, buttonReset].flat()
|
|
4193
|
+
},
|
|
4194
|
+
template: [
|
|
4195
|
+
{
|
|
4196
|
+
type: "instance",
|
|
4197
|
+
component: "Switch",
|
|
4198
|
+
dataSources: {
|
|
4199
|
+
switchChecked: { type: "variable", initialValue: false }
|
|
4200
|
+
},
|
|
4201
|
+
props: [
|
|
4202
|
+
{
|
|
4203
|
+
name: "checked",
|
|
4204
|
+
type: "dataSource",
|
|
4205
|
+
dataSourceName: "switchChecked"
|
|
4206
|
+
},
|
|
4207
|
+
{
|
|
4208
|
+
name: "onCheckedChange",
|
|
4209
|
+
type: "action",
|
|
4210
|
+
value: [
|
|
4211
|
+
{
|
|
4212
|
+
type: "execute",
|
|
4213
|
+
args: ["checked"],
|
|
4214
|
+
code: `switchChecked = checked`
|
|
4215
|
+
}
|
|
4216
|
+
]
|
|
4217
|
+
}
|
|
4218
|
+
],
|
|
4219
|
+
// peer inline-flex h-[24px] w-[44px] shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors
|
|
4220
|
+
// focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background
|
|
4221
|
+
// disabled:cursor-not-allowed disabled:opacity-50
|
|
4222
|
+
// data-[state=checked]:bg-primary
|
|
4223
|
+
// data-[state=unchecked]:bg-input
|
|
4224
|
+
styles: [
|
|
4225
|
+
// We are not supporting peer like styles yet
|
|
4226
|
+
inlineFlex(),
|
|
4227
|
+
property("height", "24px"),
|
|
4228
|
+
property("width", "44px"),
|
|
4229
|
+
shrink(0),
|
|
4230
|
+
cursor2("pointer"),
|
|
4231
|
+
items("center"),
|
|
4232
|
+
rounded("full"),
|
|
4233
|
+
border(2),
|
|
4234
|
+
border("transparent"),
|
|
4235
|
+
transition("all"),
|
|
4236
|
+
focusVisible(
|
|
4237
|
+
[outline("none"), ring("ring", 2, "background", 2)].flat()
|
|
4238
|
+
),
|
|
4239
|
+
disabled([cursor2("not-allowed"), opacity2(50)].flat()),
|
|
4240
|
+
state([bg("primary")].flat(), "[data-state=checked]"),
|
|
4241
|
+
state([bg("input")].flat(), "[data-state=unchecked]")
|
|
4242
|
+
].flat(),
|
|
4243
|
+
children: [
|
|
4244
|
+
{
|
|
4245
|
+
type: "instance",
|
|
4246
|
+
component: "SwitchThumb",
|
|
4247
|
+
// pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform
|
|
4248
|
+
// data-[state=checked]:translate-x-5
|
|
4249
|
+
// data-[state=unchecked]:translate-x-0
|
|
4250
|
+
styles: [
|
|
4251
|
+
pointerEvents("none"),
|
|
4252
|
+
block(),
|
|
4253
|
+
h(5),
|
|
4254
|
+
w(5),
|
|
4255
|
+
rounded("full"),
|
|
4256
|
+
bg("background"),
|
|
4257
|
+
shadow("lg"),
|
|
4258
|
+
transition("transform"),
|
|
4259
|
+
state(
|
|
4260
|
+
[property("transform", "translateX(20px)")].flat(),
|
|
4261
|
+
"[data-state=checked]"
|
|
4262
|
+
),
|
|
4263
|
+
state(
|
|
4264
|
+
[property("transform", "translateX(0px)")].flat(),
|
|
4265
|
+
"[data-state=unchecked]"
|
|
4266
|
+
)
|
|
4267
|
+
].flat(),
|
|
4268
|
+
children: []
|
|
4269
|
+
}
|
|
4270
|
+
]
|
|
4271
|
+
}
|
|
4272
|
+
]
|
|
4273
|
+
};
|
|
4274
|
+
var metaSwitchThumb = {
|
|
4275
|
+
category: "hidden",
|
|
4276
|
+
type: "container",
|
|
4277
|
+
detachable: false,
|
|
4278
|
+
icon: TriggerIcon9,
|
|
4279
|
+
states: [
|
|
4280
|
+
...defaultStates5,
|
|
4281
|
+
{
|
|
4282
|
+
label: "Checked",
|
|
4283
|
+
selector: "[data-state=checked]",
|
|
4284
|
+
category: "component-states"
|
|
4285
|
+
},
|
|
4286
|
+
{
|
|
4287
|
+
label: "Unchecked",
|
|
4288
|
+
selector: "[data-state=unchecked]",
|
|
4289
|
+
category: "component-states"
|
|
4290
|
+
}
|
|
4291
|
+
],
|
|
4292
|
+
presetStyle: {
|
|
4293
|
+
span: span2
|
|
4294
|
+
}
|
|
4295
|
+
};
|
|
4296
|
+
|
|
4297
|
+
// src/checkbox.ws.ts
|
|
4298
|
+
import {
|
|
4299
|
+
CheckMarkIcon as CheckMarkIcon2,
|
|
4300
|
+
CheckboxCheckedIcon,
|
|
4301
|
+
TriggerIcon as TriggerIcon10
|
|
4302
|
+
} from "@webstudio-is/icons/svg";
|
|
4303
|
+
import {
|
|
4304
|
+
defaultStates as defaultStates6
|
|
4305
|
+
} from "@webstudio-is/react-sdk";
|
|
4306
|
+
import { button as button6, span as span3 } from "@webstudio-is/react-sdk/css-normalize";
|
|
4307
|
+
var metaCheckbox = {
|
|
4308
|
+
category: "radix",
|
|
4309
|
+
order: 101,
|
|
4310
|
+
type: "container",
|
|
4311
|
+
icon: CheckboxCheckedIcon,
|
|
4312
|
+
description: "Use within a form to allow your users to toggle between checked and not checked. Group checkboxes by matching their \u201CName\u201D properties. Unlike radios, any number of checkboxes in a group can be checked.",
|
|
4313
|
+
states: [
|
|
4314
|
+
...defaultStates6,
|
|
4315
|
+
{
|
|
4316
|
+
label: "Checked",
|
|
4317
|
+
selector: "[data-state=checked]",
|
|
4318
|
+
category: "component-states"
|
|
4319
|
+
},
|
|
4320
|
+
{
|
|
4321
|
+
label: "Unchecked",
|
|
4322
|
+
selector: "[data-state=unchecked]",
|
|
4323
|
+
category: "component-states"
|
|
4324
|
+
}
|
|
4325
|
+
],
|
|
4326
|
+
presetStyle: {
|
|
4327
|
+
button: [button6, buttonReset].flat()
|
|
4328
|
+
},
|
|
4329
|
+
template: [
|
|
4330
|
+
{
|
|
4331
|
+
type: "instance",
|
|
4332
|
+
component: "Label",
|
|
4333
|
+
label: "Checkbox Field",
|
|
4334
|
+
styles: [flex(), gap(2), items("center")].flat(),
|
|
4335
|
+
children: [
|
|
4336
|
+
{
|
|
4337
|
+
type: "instance",
|
|
4338
|
+
component: "Checkbox",
|
|
4339
|
+
dataSources: {
|
|
4340
|
+
checkboxChecked: { type: "variable", initialValue: false }
|
|
4341
|
+
},
|
|
4342
|
+
props: [
|
|
4343
|
+
{
|
|
4344
|
+
name: "checked",
|
|
4345
|
+
type: "dataSource",
|
|
4346
|
+
dataSourceName: "checkboxChecked"
|
|
4347
|
+
},
|
|
4348
|
+
{
|
|
4349
|
+
name: "onCheckedChange",
|
|
4350
|
+
type: "action",
|
|
4351
|
+
value: [
|
|
4352
|
+
{
|
|
4353
|
+
type: "execute",
|
|
4354
|
+
args: ["checked"],
|
|
4355
|
+
code: `checkboxChecked = checked`
|
|
4356
|
+
}
|
|
4357
|
+
]
|
|
4358
|
+
}
|
|
4359
|
+
],
|
|
4360
|
+
// peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background
|
|
4361
|
+
// focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2
|
|
4362
|
+
// disabled:cursor-not-allowed disabled:opacity-50
|
|
4363
|
+
// data-[state=checked]:bg-primary
|
|
4364
|
+
// data-[state=checked]:text-primary-foreground",
|
|
4365
|
+
styles: [
|
|
4366
|
+
// We are not supporting peer like styles yet
|
|
4367
|
+
h(4),
|
|
4368
|
+
w(4),
|
|
4369
|
+
shrink(0),
|
|
4370
|
+
rounded("sm"),
|
|
4371
|
+
border(),
|
|
4372
|
+
border("primary"),
|
|
4373
|
+
focusVisible(
|
|
4374
|
+
[outline("none"), ring("ring", 2, "background", 2)].flat()
|
|
4375
|
+
),
|
|
4376
|
+
disabled([cursor2("not-allowed"), opacity2(50)].flat()),
|
|
4377
|
+
state(
|
|
4378
|
+
[bg("primary"), text("primaryForeground")].flat(),
|
|
4379
|
+
"[data-state=checked]"
|
|
4380
|
+
)
|
|
4381
|
+
].flat(),
|
|
4382
|
+
children: [
|
|
4383
|
+
{
|
|
4384
|
+
type: "instance",
|
|
4385
|
+
component: "CheckboxIndicator",
|
|
4386
|
+
// flex items-center justify-center text-current
|
|
4387
|
+
styles: [
|
|
4388
|
+
flex(),
|
|
4389
|
+
items("center"),
|
|
4390
|
+
justify("center"),
|
|
4391
|
+
text("current")
|
|
4392
|
+
].flat(),
|
|
4393
|
+
children: [
|
|
4394
|
+
{
|
|
4395
|
+
type: "instance",
|
|
4396
|
+
component: "HtmlEmbed",
|
|
4397
|
+
label: "Indicator Icon",
|
|
4398
|
+
props: [
|
|
4399
|
+
{
|
|
4400
|
+
type: "string",
|
|
4401
|
+
name: "code",
|
|
4402
|
+
value: CheckMarkIcon2
|
|
4403
|
+
}
|
|
4404
|
+
],
|
|
4405
|
+
children: []
|
|
4406
|
+
}
|
|
4407
|
+
]
|
|
4408
|
+
}
|
|
4409
|
+
]
|
|
4410
|
+
},
|
|
4411
|
+
{
|
|
4412
|
+
type: "instance",
|
|
4413
|
+
component: "Text",
|
|
4414
|
+
label: "Checkbox Label",
|
|
4415
|
+
props: [{ name: "tag", type: "string", value: "span" }],
|
|
4416
|
+
children: [{ type: "text", value: "Checkbox" }]
|
|
4417
|
+
}
|
|
4418
|
+
]
|
|
4419
|
+
}
|
|
4420
|
+
]
|
|
4421
|
+
};
|
|
4422
|
+
var metaCheckboxIndicator = {
|
|
4423
|
+
category: "hidden",
|
|
4424
|
+
type: "container",
|
|
4425
|
+
detachable: false,
|
|
4426
|
+
icon: TriggerIcon10,
|
|
4427
|
+
states: defaultStates6,
|
|
4428
|
+
presetStyle: {
|
|
4429
|
+
span: span3
|
|
4430
|
+
}
|
|
4431
|
+
};
|
|
4432
|
+
|
|
4433
|
+
// src/radio-group.ws.ts
|
|
4434
|
+
import {
|
|
4435
|
+
ItemIcon as ItemIcon3,
|
|
4436
|
+
RadioCheckedIcon,
|
|
4437
|
+
RadioDotIcon,
|
|
4438
|
+
TriggerIcon as TriggerIcon11
|
|
4439
|
+
} from "@webstudio-is/icons/svg";
|
|
4440
|
+
import {
|
|
4441
|
+
defaultStates as defaultStates7
|
|
4442
|
+
} from "@webstudio-is/react-sdk";
|
|
4443
|
+
import { button as button7, div as div9, span as span4 } from "@webstudio-is/react-sdk/css-normalize";
|
|
4444
|
+
var createRadioGroupItem = ({
|
|
4445
|
+
value,
|
|
4446
|
+
label: label2
|
|
4447
|
+
}) => ({
|
|
4448
|
+
type: "instance",
|
|
4449
|
+
component: "Label",
|
|
4450
|
+
// flex items-center space-x-2
|
|
4451
|
+
styles: [flex(), items("center"), gap(2)].flat(),
|
|
4452
|
+
children: [
|
|
4453
|
+
{
|
|
4454
|
+
type: "instance",
|
|
4455
|
+
component: "RadioGroupItem",
|
|
4456
|
+
props: [{ name: "value", type: "string", value }],
|
|
4457
|
+
// aspect-square h-4 w-4 rounded-full border border-primary text-primary ring-offset-background
|
|
4458
|
+
// focus:outline-none
|
|
4459
|
+
// focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2
|
|
4460
|
+
// disabled:cursor-not-allowed disabled:opacity-50
|
|
4461
|
+
styles: [
|
|
4462
|
+
aspect("square"),
|
|
4463
|
+
h(4),
|
|
4464
|
+
w(4),
|
|
4465
|
+
rounded("full"),
|
|
4466
|
+
border(),
|
|
4467
|
+
border("primary"),
|
|
4468
|
+
text("primary"),
|
|
4469
|
+
focusVisible(
|
|
4470
|
+
[outline("none"), ring("ring", 2, "background", 2)].flat()
|
|
4471
|
+
),
|
|
4472
|
+
disabled([cursor2("not-allowed"), opacity2(50)].flat())
|
|
4473
|
+
].flat(),
|
|
4474
|
+
children: [
|
|
4475
|
+
{
|
|
4476
|
+
type: "instance",
|
|
4477
|
+
component: "RadioGroupIndicator",
|
|
4478
|
+
children: [
|
|
4479
|
+
{
|
|
4480
|
+
type: "instance",
|
|
4481
|
+
component: "HtmlEmbed",
|
|
4482
|
+
label: "Indicator Icon",
|
|
4483
|
+
props: [
|
|
4484
|
+
{
|
|
4485
|
+
type: "string",
|
|
4486
|
+
name: "code",
|
|
4487
|
+
value: RadioDotIcon
|
|
4488
|
+
}
|
|
4489
|
+
],
|
|
4490
|
+
children: []
|
|
4491
|
+
}
|
|
4492
|
+
]
|
|
4493
|
+
}
|
|
4494
|
+
]
|
|
4495
|
+
},
|
|
4496
|
+
{
|
|
4497
|
+
type: "instance",
|
|
4498
|
+
component: "Text",
|
|
4499
|
+
children: [{ type: "text", value: label2 }]
|
|
4500
|
+
}
|
|
4501
|
+
]
|
|
4502
|
+
});
|
|
4503
|
+
var metaRadioGroup = {
|
|
4504
|
+
category: "radix",
|
|
4505
|
+
order: 100,
|
|
4506
|
+
type: "container",
|
|
4507
|
+
description: "A set of checkable buttons\u2014known as radio buttons\u2014where no more than one of the buttons can be checked at a time.",
|
|
4508
|
+
icon: RadioCheckedIcon,
|
|
4509
|
+
states: [
|
|
4510
|
+
...defaultStates7,
|
|
4511
|
+
{
|
|
4512
|
+
label: "Checked",
|
|
4513
|
+
selector: "[data-state=checked]",
|
|
4514
|
+
category: "component-states"
|
|
4515
|
+
},
|
|
4516
|
+
{
|
|
4517
|
+
label: "Unchecked",
|
|
4518
|
+
selector: "[data-state=unchecked]",
|
|
4519
|
+
category: "component-states"
|
|
4520
|
+
}
|
|
4521
|
+
],
|
|
4522
|
+
presetStyle: {
|
|
4523
|
+
div: div9
|
|
4524
|
+
},
|
|
4525
|
+
template: [
|
|
4526
|
+
{
|
|
4527
|
+
type: "instance",
|
|
4528
|
+
component: "RadioGroup",
|
|
4529
|
+
dataSources: {
|
|
4530
|
+
radioGroupValue: { type: "variable", initialValue: "" }
|
|
4531
|
+
},
|
|
4532
|
+
// grid gap-2
|
|
4533
|
+
styles: [flex(), flex("col"), gap(2)].flat(),
|
|
4534
|
+
props: [
|
|
4535
|
+
{
|
|
4536
|
+
type: "dataSource",
|
|
4537
|
+
name: "value",
|
|
4538
|
+
dataSourceName: "radioGroupValue"
|
|
4539
|
+
},
|
|
4540
|
+
{
|
|
4541
|
+
name: "onValueChange",
|
|
4542
|
+
type: "action",
|
|
4543
|
+
value: [
|
|
4544
|
+
{
|
|
4545
|
+
type: "execute",
|
|
4546
|
+
args: ["value"],
|
|
4547
|
+
code: `radioGroupValue = value`
|
|
4548
|
+
}
|
|
4549
|
+
]
|
|
4550
|
+
}
|
|
4551
|
+
],
|
|
4552
|
+
children: [
|
|
4553
|
+
createRadioGroupItem({ value: "default", label: "Default" }),
|
|
4554
|
+
createRadioGroupItem({ value: "comfortable", label: "Comfortable" }),
|
|
4555
|
+
createRadioGroupItem({ value: "compact", label: "Compact" })
|
|
4556
|
+
]
|
|
4557
|
+
}
|
|
4558
|
+
]
|
|
4559
|
+
};
|
|
4560
|
+
var metaRadioGroupItem = {
|
|
4561
|
+
category: "hidden",
|
|
4562
|
+
type: "container",
|
|
4563
|
+
requiredAncestors: ["RadioGroup"],
|
|
4564
|
+
icon: ItemIcon3,
|
|
4565
|
+
states: defaultStates7,
|
|
4566
|
+
presetStyle: {
|
|
4567
|
+
button: [button7, buttonReset].flat()
|
|
4568
|
+
}
|
|
4569
|
+
};
|
|
4570
|
+
var metaRadioGroupIndicator = {
|
|
4571
|
+
category: "hidden",
|
|
4572
|
+
type: "container",
|
|
4573
|
+
detachable: false,
|
|
4574
|
+
icon: TriggerIcon11,
|
|
4575
|
+
states: defaultStates7,
|
|
4576
|
+
presetStyle: {
|
|
4577
|
+
span: span4
|
|
4578
|
+
}
|
|
4579
|
+
};
|
|
2
4580
|
export {
|
|
4581
|
+
metaAccordion as Accordion,
|
|
4582
|
+
metaAccordionContent as AccordionContent,
|
|
4583
|
+
metaAccordionHeader as AccordionHeader,
|
|
4584
|
+
metaAccordionItem as AccordionItem,
|
|
4585
|
+
metaAccordionTrigger as AccordionTrigger,
|
|
4586
|
+
metaCheckbox as Checkbox,
|
|
4587
|
+
metaCheckboxIndicator as CheckboxIndicator,
|
|
3
4588
|
metaCollapsible as Collapsible,
|
|
4589
|
+
metaCollapsibleContent as CollapsibleContent,
|
|
4
4590
|
metaCollapsibleTrigger as CollapsibleTrigger,
|
|
5
|
-
metaCollapsibleContent as CollapsibleContent
|
|
6
|
-
} from "./collapsible.ws";
|
|
7
|
-
export {
|
|
8
4591
|
metaDialog as Dialog,
|
|
9
|
-
metaDialogTrigger as DialogTrigger,
|
|
10
|
-
metaDialogOverlay as DialogOverlay,
|
|
11
|
-
metaDialogContent as DialogContent,
|
|
12
4592
|
metaDialogClose as DialogClose,
|
|
4593
|
+
metaDialogContent as DialogContent,
|
|
4594
|
+
metaDialogDescription as DialogDescription,
|
|
4595
|
+
metaDialogOverlay as DialogOverlay,
|
|
13
4596
|
metaDialogTitle as DialogTitle,
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
export { meta as Sheet } from "./sheet.ws";
|
|
17
|
-
export {
|
|
18
|
-
metaPopover as Popover,
|
|
19
|
-
metaPopoverTrigger as PopoverTrigger,
|
|
20
|
-
metaPopoverContent as PopoverContent
|
|
21
|
-
} from "./popover.ws";
|
|
22
|
-
export {
|
|
23
|
-
metaTooltip as Tooltip,
|
|
24
|
-
metaTooltipTrigger as TooltipTrigger,
|
|
25
|
-
metaTooltipContent as TooltipContent
|
|
26
|
-
} from "./tooltip.ws";
|
|
27
|
-
export {
|
|
28
|
-
metaTabs as Tabs,
|
|
29
|
-
metaTabsList as TabsList,
|
|
30
|
-
metaTabsTrigger as TabsTrigger,
|
|
31
|
-
metaTabsContent as TabsContent
|
|
32
|
-
} from "./tabs.ws";
|
|
33
|
-
export { meta as Label } from "./label.ws";
|
|
34
|
-
export {
|
|
35
|
-
metaAccordion as Accordion,
|
|
36
|
-
metaAccordionItem as AccordionItem,
|
|
37
|
-
metaAccordionHeader as AccordionHeader,
|
|
38
|
-
metaAccordionTrigger as AccordionTrigger,
|
|
39
|
-
metaAccordionContent as AccordionContent
|
|
40
|
-
} from "./accordion.ws";
|
|
41
|
-
export {
|
|
4597
|
+
metaDialogTrigger as DialogTrigger,
|
|
4598
|
+
meta2 as Label,
|
|
42
4599
|
metaNavigationMenu as NavigationMenu,
|
|
43
|
-
metaNavigationMenuList as NavigationMenuList,
|
|
44
|
-
metaNavigationMenuItem as NavigationMenuItem,
|
|
45
|
-
metaNavigationMenuTrigger as NavigationMenuTrigger,
|
|
46
4600
|
metaNavigationMenuContent as NavigationMenuContent,
|
|
4601
|
+
metaNavigationMenuItem as NavigationMenuItem,
|
|
47
4602
|
metaNavigationMenuLink as NavigationMenuLink,
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
4603
|
+
metaNavigationMenuList as NavigationMenuList,
|
|
4604
|
+
metaNavigationMenuTrigger as NavigationMenuTrigger,
|
|
4605
|
+
metaNavigationMenuViewport as NavigationMenuViewport,
|
|
4606
|
+
metaPopover as Popover,
|
|
4607
|
+
metaPopoverContent as PopoverContent,
|
|
4608
|
+
metaPopoverTrigger as PopoverTrigger,
|
|
4609
|
+
metaRadioGroup as RadioGroup,
|
|
4610
|
+
metaRadioGroupIndicator as RadioGroupIndicator,
|
|
4611
|
+
metaRadioGroupItem as RadioGroupItem,
|
|
51
4612
|
metaSelect as Select,
|
|
52
|
-
metaSelectTrigger as SelectTrigger,
|
|
53
|
-
metaSelectValue as SelectValue,
|
|
54
|
-
metaSelectViewport as SelectViewport,
|
|
55
4613
|
metaSelectContent as SelectContent,
|
|
56
4614
|
metaSelectItem as SelectItem,
|
|
57
4615
|
metaSelectItemIndicator as SelectItemIndicator,
|
|
58
|
-
metaSelectItemText as SelectItemText
|
|
59
|
-
|
|
60
|
-
|
|
4616
|
+
metaSelectItemText as SelectItemText,
|
|
4617
|
+
metaSelectTrigger as SelectTrigger,
|
|
4618
|
+
metaSelectValue as SelectValue,
|
|
4619
|
+
metaSelectViewport as SelectViewport,
|
|
4620
|
+
meta as Sheet,
|
|
61
4621
|
metaSwitch as Switch,
|
|
62
|
-
metaSwitchThumb as SwitchThumb
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
metaRadioGroupIndicator as RadioGroupIndicator
|
|
72
|
-
} from "./radio-group.ws";
|
|
4622
|
+
metaSwitchThumb as SwitchThumb,
|
|
4623
|
+
metaTabs as Tabs,
|
|
4624
|
+
metaTabsContent as TabsContent,
|
|
4625
|
+
metaTabsList as TabsList,
|
|
4626
|
+
metaTabsTrigger as TabsTrigger,
|
|
4627
|
+
metaTooltip as Tooltip,
|
|
4628
|
+
metaTooltipContent as TooltipContent,
|
|
4629
|
+
metaTooltipTrigger as TooltipTrigger
|
|
4630
|
+
};
|