@webstudio-is/react-sdk 0.60.0 → 0.61.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/lib/cjs/components/blockquote.ws.js +36 -48
  2. package/lib/cjs/components/body.ws.js +20 -17
  3. package/lib/cjs/components/button.ws.js +1 -1
  4. package/lib/cjs/components/code.ws.js +20 -28
  5. package/lib/cjs/components/component-meta.js +2 -1
  6. package/lib/cjs/components/form.ws.js +14 -7
  7. package/lib/cjs/components/heading.ws.js +1 -1
  8. package/lib/cjs/components/image.ws.js +8 -9
  9. package/lib/cjs/components/italic.ws.js +5 -5
  10. package/lib/cjs/components/link-block.ws.js +5 -5
  11. package/lib/cjs/components/link.ws.js +9 -10
  12. package/lib/cjs/components/list-item.ws.js +1 -1
  13. package/lib/cjs/components/list.ws.js +22 -22
  14. package/lib/cjs/components/paragraph.ws.js +1 -1
  15. package/lib/cjs/components/separator.ws.js +20 -20
  16. package/lib/cjs/components/text-block.ws.js +6 -7
  17. package/lib/cjs/css/css.js +6 -9
  18. package/lib/cjs/css/normalize.js +166 -185
  19. package/lib/cjs/css/presets.js +14 -34
  20. package/lib/cjs/css/style-rules.js +17 -0
  21. package/lib/cjs/embed-template.js +160 -0
  22. package/lib/cjs/index.js +1 -0
  23. package/lib/components/blockquote.ws.js +36 -48
  24. package/lib/components/body.ws.js +20 -17
  25. package/lib/components/button.ws.js +1 -1
  26. package/lib/components/code.ws.js +20 -28
  27. package/lib/components/component-meta.js +2 -1
  28. package/lib/components/form.ws.js +14 -7
  29. package/lib/components/heading.ws.js +1 -1
  30. package/lib/components/image.ws.js +8 -9
  31. package/lib/components/italic.ws.js +5 -5
  32. package/lib/components/link-block.ws.js +5 -5
  33. package/lib/components/link.ws.js +9 -10
  34. package/lib/components/list-item.ws.js +1 -1
  35. package/lib/components/list.ws.js +22 -22
  36. package/lib/components/paragraph.ws.js +1 -1
  37. package/lib/components/separator.ws.js +20 -20
  38. package/lib/components/text-block.ws.js +6 -7
  39. package/lib/css/css.js +8 -11
  40. package/lib/css/normalize.js +166 -185
  41. package/lib/css/presets.js +14 -34
  42. package/lib/css/style-rules.js +17 -0
  43. package/lib/embed-template.js +140 -0
  44. package/lib/index.js +1 -0
  45. package/lib/types/components/box.stories.d.ts +2 -2
  46. package/lib/types/components/component-meta.d.ts +20 -5
  47. package/lib/types/components/components-utils.d.ts +1 -1
  48. package/lib/types/css/normalize.d.ts +8786 -2286
  49. package/lib/types/css/presets.d.ts +2 -38
  50. package/lib/types/css/style-rules.d.ts +11 -9
  51. package/lib/types/embed-template.d.ts +1725 -0
  52. package/lib/types/embed-template.test.d.ts +1 -0
  53. package/lib/types/index.d.ts +1 -0
  54. package/package.json +14 -13
  55. package/src/components/blockquote.ws.tsx +42 -52
  56. package/src/components/body.ws.tsx +26 -23
  57. package/src/components/bold.ws.tsx +6 -3
  58. package/src/components/box.ws.ts +6 -3
  59. package/src/components/button.ws.tsx +7 -4
  60. package/src/components/code.ws.tsx +26 -32
  61. package/src/components/component-meta.ts +5 -3
  62. package/src/components/form.ws.tsx +19 -9
  63. package/src/components/heading.ws.tsx +7 -4
  64. package/src/components/image.ws.tsx +14 -12
  65. package/src/components/input.ws.tsx +6 -3
  66. package/src/components/italic.ws.tsx +11 -8
  67. package/src/components/link-block.ws.tsx +11 -8
  68. package/src/components/link.ws.tsx +15 -13
  69. package/src/components/list-item.ws.tsx +7 -4
  70. package/src/components/list.ws.tsx +28 -25
  71. package/src/components/paragraph.ws.tsx +7 -4
  72. package/src/components/separator.ws.tsx +26 -25
  73. package/src/components/span.ws.tsx +6 -3
  74. package/src/components/subscript.ws.tsx +6 -3
  75. package/src/components/superscript.ws.tsx +6 -3
  76. package/src/components/text-block.ws.tsx +12 -11
  77. package/src/css/css.ts +8 -11
  78. package/src/css/normalize.ts +165 -188
  79. package/src/css/presets.ts +15 -37
  80. package/src/css/style-rules.ts +24 -0
  81. package/src/embed-template.test.ts +210 -0
  82. package/src/embed-template.ts +187 -0
  83. package/src/index.ts +1 -0
@@ -1,12 +1,9 @@
1
1
  import { borders } from "./presets";
2
2
  const boxSizing = {
3
- type: "keyword",
4
- value: "border-box"
5
- };
6
- const baseStyle = {
7
- boxSizing,
8
- ...borders
3
+ property: "boxSizing",
4
+ value: { type: "keyword", value: "border-box" }
9
5
  };
6
+ const baseStyle = [boxSizing, ...borders];
10
7
  const div = baseStyle;
11
8
  const address = baseStyle;
12
9
  const article = baseStyle;
@@ -32,262 +29,246 @@ const ul = baseStyle;
32
29
  const ol = baseStyle;
33
30
  const p = baseStyle;
34
31
  const span = baseStyle;
35
- const html = {
32
+ const html = [
36
33
  /* 1 */
37
- lineHeight: {
38
- type: "unit",
39
- value: 1.15,
40
- unit: "number"
34
+ {
35
+ property: "lineHeight",
36
+ value: { type: "unit", value: 1.15, unit: "number" }
41
37
  },
42
38
  /* 2 */
43
- textSizeAdjust: {
44
- type: "unit",
45
- value: 100,
46
- unit: "%"
39
+ {
40
+ property: "textSizeAdjust",
41
+ value: { type: "unit", value: 100, unit: "%" }
47
42
  },
48
43
  /* 3 */
49
- tabSize: {
50
- type: "unit",
51
- value: 4,
52
- unit: "number"
44
+ {
45
+ property: "tabSize",
46
+ value: { type: "unit", value: 4, unit: "number" }
53
47
  },
54
48
  boxSizing,
55
49
  ...borders
56
- };
57
- const body = {
50
+ ];
51
+ const body = [
58
52
  /* 1 */
59
- marginTop: {
60
- type: "unit",
61
- value: 0,
62
- unit: "number"
63
- },
64
- marginRight: {
65
- type: "unit",
66
- value: 0,
67
- unit: "number"
68
- },
69
- marginBottom: {
70
- type: "unit",
71
- value: 0,
72
- unit: "number"
73
- },
74
- marginLeft: {
75
- type: "unit",
76
- value: 0,
77
- unit: "number"
53
+ {
54
+ property: "marginTop",
55
+ value: { type: "unit", value: 0, unit: "number" }
56
+ },
57
+ {
58
+ property: "marginRight",
59
+ value: { type: "unit", value: 0, unit: "number" }
60
+ },
61
+ {
62
+ property: "marginBottom",
63
+ value: { type: "unit", value: 0, unit: "number" }
64
+ },
65
+ {
66
+ property: "marginLeft",
67
+ value: { type: "unit", value: 0, unit: "number" }
78
68
  },
79
69
  /* 2 */
80
- fontFamily: {
81
- type: "keyword",
82
- value: `system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji'`
70
+ {
71
+ property: "fontFamily",
72
+ value: {
73
+ type: "keyword",
74
+ value: `system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji'`
75
+ }
83
76
  },
84
77
  boxSizing,
85
78
  ...borders
86
- };
87
- const hr = {
79
+ ];
80
+ const hr = [
88
81
  /* 1 */
89
- height: {
90
- type: "unit",
91
- value: 0,
92
- unit: "number"
82
+ {
83
+ property: "height",
84
+ value: { type: "unit", value: 0, unit: "number" }
93
85
  },
94
86
  /* 2 */
95
- color: { type: "keyword", value: "inherit" },
87
+ {
88
+ property: "color",
89
+ value: { type: "keyword", value: "inherit" }
90
+ },
96
91
  boxSizing,
97
92
  ...borders
98
- };
99
- const b = {
100
- fontWeight: {
101
- type: "keyword",
102
- value: "bolder"
93
+ ];
94
+ const b = [
95
+ {
96
+ property: "fontWeight",
97
+ value: { type: "keyword", value: "700" }
103
98
  },
104
99
  boxSizing,
105
100
  ...borders
106
- };
101
+ ];
107
102
  const strong = b;
108
- const code = {
103
+ const code = [
109
104
  /* 1 */
110
- fontFamily: {
111
- type: "keyword",
112
- value: `ui-monospace, SFMono-Regular, Consolas, 'Liberation Mono', Menlo, monospace`
105
+ {
106
+ property: "fontFamily",
107
+ value: {
108
+ type: "keyword",
109
+ value: `ui-monospace, SFMono-Regular, Consolas, 'Liberation Mono', Menlo, monospace`
110
+ }
113
111
  },
114
112
  /* 2 */
115
- fontSize: {
116
- type: "unit",
117
- value: 1,
118
- unit: "em"
113
+ {
114
+ property: "fontSize",
115
+ value: { type: "unit", value: 1, unit: "em" }
119
116
  },
120
117
  boxSizing,
121
118
  ...borders
122
- };
119
+ ];
123
120
  const kbd = code;
124
121
  const samp = code;
125
122
  const pre = code;
126
- const small = {
127
- fontSize: {
128
- type: "unit",
129
- value: 80,
130
- unit: "%"
123
+ const small = [
124
+ {
125
+ property: "fontSize",
126
+ value: { type: "unit", value: 80, unit: "%" }
131
127
  },
132
128
  boxSizing,
133
129
  ...borders
134
- };
135
- const subSupBase = {
136
- fontSize: {
137
- type: "unit",
138
- value: 75,
139
- unit: "%"
130
+ ];
131
+ const subSupBase = [
132
+ {
133
+ property: "fontSize",
134
+ value: { type: "unit", value: 75, unit: "%" }
140
135
  },
141
- lineHeight: {
142
- type: "unit",
143
- value: 0,
144
- unit: "number"
136
+ {
137
+ property: "lineHeight",
138
+ value: { type: "unit", value: 0, unit: "number" }
145
139
  },
146
- position: {
147
- type: "keyword",
148
- value: "relative"
140
+ {
141
+ property: "position",
142
+ value: { type: "keyword", value: "relative" }
149
143
  },
150
- verticalAlign: {
151
- type: "keyword",
152
- value: "baseline"
144
+ {
145
+ property: "verticalAlign",
146
+ value: { type: "keyword", value: "baseline" }
153
147
  },
154
148
  boxSizing,
155
149
  ...borders
156
- };
157
- const sub = {
150
+ ];
151
+ const sub = [
158
152
  ...subSupBase,
159
- bottom: {
160
- type: "unit",
161
- value: -0.25,
162
- unit: "em"
153
+ {
154
+ property: "bottom",
155
+ value: { type: "unit", value: -0.25, unit: "em" }
163
156
  }
164
- };
165
- const sup = {
157
+ ];
158
+ const sup = [
166
159
  ...subSupBase,
167
- top: {
168
- type: "unit",
169
- value: -0.5,
170
- unit: "em"
160
+ {
161
+ property: "top",
162
+ value: { type: "unit", value: -0.5, unit: "em" }
171
163
  }
172
- };
173
- const table = {
164
+ ];
165
+ const table = [
174
166
  /* 1 */
175
- textIndent: {
176
- type: "unit",
177
- value: 0,
178
- unit: "number"
167
+ {
168
+ property: "textIndent",
169
+ value: { type: "unit", value: 0, unit: "number" }
179
170
  },
180
171
  ...borders,
181
172
  /* 2 */
182
- borderTopColor: {
183
- type: "keyword",
184
- value: "inherit"
173
+ {
174
+ property: "borderTopColor",
175
+ value: { type: "keyword", value: "inherit" }
185
176
  },
186
- borderRightColor: {
187
- type: "keyword",
188
- value: "inherit"
177
+ {
178
+ property: "borderRightColor",
179
+ value: { type: "keyword", value: "inherit" }
189
180
  },
190
- borderBottomColor: {
191
- type: "keyword",
192
- value: "inherit"
181
+ {
182
+ property: "borderBottomColor",
183
+ value: { type: "keyword", value: "inherit" }
193
184
  },
194
- borderLeftColor: {
195
- type: "keyword",
196
- value: "inherit"
185
+ {
186
+ property: "borderLeftColor",
187
+ value: { type: "keyword", value: "inherit" }
197
188
  },
198
189
  boxSizing
199
- };
200
- const buttonBase = {
190
+ ];
191
+ const buttonBase = [
201
192
  /* 1 */
202
- fontFamily: {
203
- type: "keyword",
204
- value: "inherit"
193
+ {
194
+ property: "fontFamily",
195
+ value: { type: "keyword", value: "inherit" }
205
196
  },
206
- fontSize: {
207
- type: "unit",
208
- value: 100,
209
- unit: "%"
197
+ {
198
+ property: "fontSize",
199
+ value: { type: "unit", value: 100, unit: "%" }
210
200
  },
211
- lineHeight: {
212
- type: "unit",
213
- value: 1.15,
214
- unit: "number"
201
+ {
202
+ property: "lineHeight",
203
+ value: { type: "unit", value: 1.15, unit: "number" }
215
204
  },
216
205
  /* 2 */
217
- marginTop: {
218
- type: "unit",
219
- value: 0,
220
- unit: "number"
221
- },
222
- marginRight: {
223
- type: "unit",
224
- value: 0,
225
- unit: "number"
226
- },
227
- marginBottom: {
228
- type: "unit",
229
- value: 0,
230
- unit: "number"
231
- },
232
- marginLeft: {
233
- type: "unit",
234
- value: 0,
235
- unit: "number"
206
+ {
207
+ property: "marginTop",
208
+ value: { type: "unit", value: 0, unit: "number" }
209
+ },
210
+ {
211
+ property: "marginRight",
212
+ value: { type: "unit", value: 0, unit: "number" }
213
+ },
214
+ {
215
+ property: "marginBottom",
216
+ value: { type: "unit", value: 0, unit: "number" }
217
+ },
218
+ {
219
+ property: "marginLeft",
220
+ value: { type: "unit", value: 0, unit: "number" }
236
221
  },
237
222
  boxSizing,
238
223
  ...borders
239
- };
224
+ ];
240
225
  const input = buttonBase;
241
226
  const optgroup = buttonBase;
242
227
  const textarea = buttonBase;
243
- const button = {
228
+ const button = [
244
229
  ...buttonBase,
245
- textTransform: {
246
- type: "keyword",
247
- value: "none"
230
+ {
231
+ property: "textTransform",
232
+ value: { type: "keyword", value: "none" }
248
233
  }
249
- };
234
+ ];
250
235
  const select = button;
251
- const legend = {
252
- paddingTop: {
253
- type: "unit",
254
- value: 0,
255
- unit: "number"
256
- },
257
- paddingRight: {
258
- type: "unit",
259
- value: 0,
260
- unit: "number"
261
- },
262
- paddingBottom: {
263
- type: "unit",
264
- value: 0,
265
- unit: "number"
266
- },
267
- paddingLeft: {
268
- type: "unit",
269
- value: 0,
270
- unit: "number"
236
+ const legend = [
237
+ {
238
+ property: "paddingTop",
239
+ value: { type: "unit", value: 0, unit: "number" }
240
+ },
241
+ {
242
+ property: "paddingRight",
243
+ value: { type: "unit", value: 0, unit: "number" }
244
+ },
245
+ {
246
+ property: "paddingBottom",
247
+ value: { type: "unit", value: 0, unit: "number" }
248
+ },
249
+ {
250
+ property: "paddingLeft",
251
+ value: { type: "unit", value: 0, unit: "number" }
271
252
  },
272
253
  boxSizing,
273
254
  ...borders
274
- };
275
- const progress = {
276
- verticalAlign: {
277
- type: "keyword",
278
- value: "baseline"
255
+ ];
256
+ const progress = [
257
+ {
258
+ property: "verticalAlign",
259
+ value: { type: "keyword", value: "baseline" }
279
260
  },
280
261
  boxSizing,
281
262
  ...borders
282
- };
283
- const summary = {
284
- display: {
285
- type: "keyword",
286
- value: "list-item"
263
+ ];
264
+ const summary = [
265
+ {
266
+ property: "display",
267
+ value: { type: "keyword", value: "list-item" }
287
268
  },
288
269
  boxSizing,
289
270
  ...borders
290
- };
271
+ ];
291
272
  export {
292
273
  a,
293
274
  address,
@@ -1,41 +1,21 @@
1
- const borders = {
2
- borderTopColor: {
3
- type: "keyword",
4
- value: "currentColor"
1
+ const borders = [
2
+ {
3
+ property: "borderTopWidth",
4
+ value: { type: "unit", value: 1, unit: "px" }
5
5
  },
6
- borderRightColor: {
7
- type: "keyword",
8
- value: "currentColor"
6
+ {
7
+ property: "borderRightWidth",
8
+ value: { type: "unit", value: 1, unit: "px" }
9
9
  },
10
- borderBottomColor: {
11
- type: "keyword",
12
- value: "currentColor"
10
+ {
11
+ property: "borderBottomWidth",
12
+ value: { type: "unit", value: 1, unit: "px" }
13
13
  },
14
- borderLeftColor: {
15
- type: "keyword",
16
- value: "currentColor"
17
- },
18
- borderTopWidth: {
19
- type: "unit",
20
- value: 1,
21
- unit: "px"
22
- },
23
- borderRightWidth: {
24
- type: "unit",
25
- value: 1,
26
- unit: "px"
27
- },
28
- borderBottomWidth: {
29
- type: "unit",
30
- value: 1,
31
- unit: "px"
32
- },
33
- borderLeftWidth: {
34
- type: "unit",
35
- value: 1,
36
- unit: "px"
14
+ {
15
+ property: "borderLeftWidth",
16
+ value: { type: "unit", value: 1, unit: "px" }
37
17
  }
38
- };
18
+ ];
39
19
  export {
40
20
  borders
41
21
  };
@@ -1,3 +1,4 @@
1
+ import { componentAttribute } from "../tree";
1
2
  const getStyleRules = (styles, styleSourceSelections) => {
2
3
  if (styles === void 0 || styleSourceSelections === void 0) {
3
4
  return [];
@@ -44,6 +45,22 @@ const getStyleRules = (styles, styleSourceSelections) => {
44
45
  }
45
46
  return styleRules;
46
47
  };
48
+ const getPresetStyleRules = (component, presetStyle) => {
49
+ const presetStyleRules = /* @__PURE__ */ new Map();
50
+ for (const [tag, styles] of Object.entries(presetStyle)) {
51
+ for (const styleDecl of styles) {
52
+ const selector = `${tag}:where([${componentAttribute}=${component}])${styleDecl.state ?? ""}`;
53
+ let rule = presetStyleRules.get(selector);
54
+ if (rule === void 0) {
55
+ rule = {};
56
+ presetStyleRules.set(selector, rule);
57
+ }
58
+ rule[styleDecl.property] = styleDecl.value;
59
+ }
60
+ }
61
+ return presetStyleRules;
62
+ };
47
63
  export {
64
+ getPresetStyleRules,
48
65
  getStyleRules
49
66
  };
@@ -0,0 +1,140 @@
1
+ import { z } from "zod";
2
+ import { nanoid } from "nanoid";
3
+ import { StyleValue } from "@webstudio-is/css-data";
4
+ const EmbedTemplateText = z.object({
5
+ type: z.literal("text"),
6
+ value: z.string()
7
+ });
8
+ const EmbedTemplateProp = z.union([
9
+ z.object({
10
+ type: z.literal("number"),
11
+ name: z.string(),
12
+ value: z.number()
13
+ }),
14
+ z.object({
15
+ type: z.literal("string"),
16
+ name: z.string(),
17
+ value: z.string()
18
+ }),
19
+ z.object({
20
+ type: z.literal("boolean"),
21
+ name: z.string(),
22
+ value: z.boolean()
23
+ }),
24
+ z.object({
25
+ type: z.literal("string[]"),
26
+ name: z.string(),
27
+ value: z.array(z.string())
28
+ })
29
+ ]);
30
+ const EmbedTemplateStyleDecl = z.object({
31
+ state: z.optional(z.string()),
32
+ property: z.string(),
33
+ value: StyleValue
34
+ });
35
+ const EmbedTemplateInstance = z.lazy(
36
+ () => z.object({
37
+ type: z.literal("instance"),
38
+ component: z.string(),
39
+ props: z.optional(z.array(EmbedTemplateProp)),
40
+ styles: z.optional(z.array(EmbedTemplateStyleDecl)),
41
+ children: WsEmbedTemplate
42
+ })
43
+ );
44
+ const WsEmbedTemplate = z.lazy(
45
+ () => z.array(z.union([EmbedTemplateInstance, EmbedTemplateText]))
46
+ );
47
+ const createInstancesFromTemplate = (treeTemplate, instances, props, styleSourceSelections, styleSources, styles, defaultBreakpointId) => {
48
+ const parentChildren = [];
49
+ for (const item of treeTemplate) {
50
+ if (item.type === "instance") {
51
+ const instanceId = nanoid();
52
+ if (item.props) {
53
+ for (const prop of item.props) {
54
+ props.push({
55
+ id: nanoid(),
56
+ instanceId,
57
+ ...prop
58
+ });
59
+ }
60
+ }
61
+ if (item.styles) {
62
+ const styleSourceId = nanoid();
63
+ styleSources.push({
64
+ type: "local",
65
+ id: styleSourceId
66
+ });
67
+ styleSourceSelections.push({
68
+ instanceId,
69
+ values: [styleSourceId]
70
+ });
71
+ for (const styleDecl of item.styles) {
72
+ styles.push({
73
+ breakpointId: defaultBreakpointId,
74
+ styleSourceId,
75
+ state: styleDecl.state,
76
+ property: styleDecl.property,
77
+ value: styleDecl.value
78
+ });
79
+ }
80
+ }
81
+ const instance = {
82
+ type: "instance",
83
+ id: instanceId,
84
+ component: item.component,
85
+ children: []
86
+ };
87
+ instances.push(instance);
88
+ instance.children = createInstancesFromTemplate(
89
+ item.children,
90
+ instances,
91
+ props,
92
+ styleSourceSelections,
93
+ styleSources,
94
+ styles,
95
+ defaultBreakpointId
96
+ );
97
+ parentChildren.push({
98
+ type: "id",
99
+ value: instanceId
100
+ });
101
+ }
102
+ if (item.type === "text") {
103
+ parentChildren.push({
104
+ type: "text",
105
+ value: item.value
106
+ });
107
+ }
108
+ }
109
+ return parentChildren;
110
+ };
111
+ const generateDataFromEmbedTemplate = (treeTemplate, defaultBreakpointId) => {
112
+ const instances = [];
113
+ const props = [];
114
+ const styleSourceSelections = [];
115
+ const styleSources = [];
116
+ const styles = [];
117
+ const children = createInstancesFromTemplate(
118
+ treeTemplate,
119
+ instances,
120
+ props,
121
+ styleSourceSelections,
122
+ styleSources,
123
+ styles,
124
+ defaultBreakpointId
125
+ );
126
+ return {
127
+ children,
128
+ instances,
129
+ props,
130
+ styleSourceSelections,
131
+ styleSources,
132
+ styles
133
+ };
134
+ };
135
+ export {
136
+ EmbedTemplateInstance,
137
+ EmbedTemplateStyleDecl,
138
+ WsEmbedTemplate,
139
+ generateDataFromEmbedTemplate
140
+ };
package/lib/index.js CHANGED
@@ -13,6 +13,7 @@ import {
13
13
  import {
14
14
  componentCategories
15
15
  } from "./components/component-meta";
16
+ export * from "./embed-template";
16
17
  export {
17
18
  componentCategories,
18
19
  customComponentMetas,
@@ -1,9 +1,9 @@
1
1
  /// <reference types="react" />
2
2
  import type { ComponentStory, ComponentMeta } from "@storybook/react";
3
3
  declare const _default: ComponentMeta<import("react").ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & {
4
- tag?: "div" | "address" | "article" | "aside" | "figure" | "footer" | "header" | "main" | "nav" | "section" | undefined;
4
+ tag?: "address" | "article" | "aside" | "div" | "figure" | "footer" | "header" | "main" | "nav" | "section" | undefined;
5
5
  }, "ref"> & import("react").RefAttributes<HTMLDivElement>>>;
6
6
  export default _default;
7
7
  export declare const Box: ComponentStory<import("react").ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & {
8
- tag?: "div" | "address" | "article" | "aside" | "figure" | "footer" | "header" | "main" | "nav" | "section" | undefined;
8
+ tag?: "address" | "article" | "aside" | "div" | "figure" | "footer" | "header" | "main" | "nav" | "section" | undefined;
9
9
  }, "ref"> & import("react").RefAttributes<HTMLDivElement>>>;