@jxsuite/studio 2.2.2 → 2.3.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 (182) hide show
  1. package/data/css-meta.json +1487 -0
  2. package/data/elements-meta.json +370 -0
  3. package/data/html-meta.json +366 -0
  4. package/data/stylebook-meta.json +200 -0
  5. package/data/webdata.json +1621 -0
  6. package/dist/chunks/{Overlay.dev-ymy3et3y.js → Overlay.dev-d2ajy6sj.js} +7 -7
  7. package/dist/chunks/{content-source-r2n7v682.js → content-source-56xpvx83.js} +13 -12
  8. package/dist/chunks/{convert-to-repeater-cnpyvj74.js → convert-to-repeater-0xh9wwek.js} +12 -11
  9. package/dist/chunks/{extension-sections-vpcm4jvx.js → extension-sections-g34239vm.js} +17 -16
  10. package/dist/chunks/{files-zeg88k2d.js → files-gkz202dp.js} +18 -19
  11. package/dist/chunks/{format-host-taymsw55.js → format-host-pej3srnw.js} +2 -2
  12. package/dist/chunks/{git-panel-qp4rrwr9.js → git-panel-4j6xbh8g.js} +12 -11
  13. package/dist/chunks/{layers-panel-kj93w2zg.js → layers-panel-8mvn8sgd.js} +15 -14
  14. package/dist/chunks/{monaco-setup-xy3bs05d.js → monaco-setup-a5wkmbgh.js} +6 -3
  15. package/dist/chunks/{publish-panel-6qz6kp41.js → publish-panel-ptddc3kg.js} +6 -6
  16. package/dist/chunks/{quick-search-9wwa09hh.js → quick-search-j88azfs2.js} +19 -18
  17. package/dist/chunks/right-panel-egkaxy89.js +38 -0
  18. package/dist/chunks/{sp-overlay.dev-h6kdx076.js → sp-overlay.dev-s18hymn9.js} +8 -8
  19. package/dist/chunks/sp-progress-circle.dev-0zxcyz3r.js +15 -0
  20. package/dist/chunks/sp-tooltip.dev-5c6d1kjz.js +15 -0
  21. package/dist/chunks/{studio-753znj4c.js → studio-0e4h32g6.js} +5 -5
  22. package/dist/chunks/{studio-yz9s88s0.js → studio-10s469da.js} +25 -9
  23. package/dist/chunks/{studio-6f0am8f2.js → studio-2w11grav.js} +2 -2
  24. package/dist/chunks/{studio-zqv3w24n.js → studio-3q65xvzv.js} +5 -5
  25. package/dist/chunks/{studio-qhh8r5fz.js → studio-4058pg09.js} +4 -4
  26. package/dist/chunks/{studio-hekaagev.js → studio-4enps87v.js} +17 -17
  27. package/dist/chunks/{studio-tqemhphj.js → studio-50eed4c9.js} +4 -4
  28. package/dist/chunks/studio-53n8bp04.js +16 -0
  29. package/dist/chunks/{studio-nqq8jk8f.js → studio-5amdrjm4.js} +14 -14
  30. package/dist/chunks/{studio-6zzbyx17.js → studio-5ne8mdx9.js} +2 -2
  31. package/dist/chunks/{studio-3z8jjm2p.js → studio-7ejemhej.js} +3 -3
  32. package/dist/chunks/{studio-1kgfcv7s.js → studio-a11d3a1b.js} +12 -11
  33. package/dist/chunks/{studio-rgwcpast.js → studio-ay8wcr2b.js} +2 -2
  34. package/dist/chunks/{studio-fys6z73y.js → studio-bak2cyjr.js} +7 -7
  35. package/dist/chunks/{studio-xmvbhg31.js → studio-c31yb4t6.js} +2 -2
  36. package/dist/chunks/{studio-8sdyjfd6.js → studio-cf4rk7kv.js} +2 -2
  37. package/dist/chunks/{studio-yphy4z9m.js → studio-cv606rs1.js} +5 -5
  38. package/dist/chunks/{studio-5kt960pk.js → studio-hk523hby.js} +133 -147
  39. package/dist/chunks/{studio-x0et2z9g.js → studio-hs8x23fv.js} +15 -15
  40. package/dist/chunks/{studio-p471gg5n.js → studio-kvfx9z2c.js} +7 -3
  41. package/dist/chunks/{studio-22xr4q8q.js → studio-ncnet0ba.js} +18 -29
  42. package/dist/chunks/{studio-ckwz4d3x.js → studio-twsafr1e.js} +2 -2
  43. package/dist/chunks/{studio-qrsfh1w7.js → studio-tzx3xmvx.js} +5 -5
  44. package/dist/chunks/{studio-g8t7g0gp.js → studio-vdpcpada.js} +3 -3
  45. package/dist/chunks/{studio-6a0h7sne.js → studio-vhk5fmfv.js} +2 -2
  46. package/dist/chunks/{studio-hrajjyt2.js → studio-wdt9y92a.js} +2 -2
  47. package/dist/chunks/{studio-r8vx7bkz.js → studio-x3etxs0s.js} +14 -13
  48. package/dist/chunks/{studio-pv8m0h4a.js → studio-yxzgjq8q.js} +28 -23
  49. package/dist/chunks/{studio-300zsz1k.js → studio-zdkgwhkv.js} +6 -6
  50. package/dist/codicon.ttf +0 -0
  51. package/dist/iframe-entry.js +8 -1
  52. package/dist/manifest.json +82 -0
  53. package/dist/studio.js +232 -103
  54. package/index.html +0 -50
  55. package/package.json +11 -4
  56. package/src/canvas/iframe-entry.ts +5 -0
  57. package/src/canvas/iframe-host.ts +45 -4
  58. package/src/content/entry-editor.ts +2 -1
  59. package/src/editor/context-menu.ts +13 -2
  60. package/src/editor/slash-menu.ts +26 -11
  61. package/src/files/files.ts +11 -23
  62. package/src/grid/grid-panel.ts +27 -6
  63. package/src/hosting/document.ts +109 -0
  64. package/src/hosting/layout.ts +211 -0
  65. package/src/hosting/stage.ts +166 -0
  66. package/src/hosting/tsconfig.json +18 -0
  67. package/src/panels/ai-chat/chat-view.ts +25 -14
  68. package/src/panels/git-panel.ts +17 -14
  69. package/src/panels/head-panel.ts +32 -14
  70. package/src/panels/imports-panel.ts +32 -13
  71. package/src/panels/layers-panel.ts +9 -1
  72. package/src/panels/panel-registry.ts +0 -1
  73. package/src/panels/properties-panel.ts +3 -3
  74. package/src/panels/settings-pane.ts +1 -1
  75. package/src/panels/style-panel.ts +3 -3
  76. package/src/panels/stylebook-panel.ts +10 -1
  77. package/src/panels/toolbar.ts +1 -1
  78. package/src/services/bundle-base.ts +69 -0
  79. package/src/services/monaco-setup.ts +19 -13
  80. package/src/shell/tree.ts +155 -0
  81. package/src/shell.ts +0 -2
  82. package/src/studio.ts +22 -2
  83. package/src/types.ts +15 -0
  84. package/src/ui/regions.ts +10 -45
  85. package/styles/overlays.css +35 -0
  86. package/dist/chunks/2020-xp8vnwma.js.map +0 -24
  87. package/dist/chunks/Overlay.dev-ymy3et3y.js.map +0 -9
  88. package/dist/chunks/adapter-jkcyhgtr.js.map +0 -9
  89. package/dist/chunks/cf-settings-g5fbf2zp.js.map +0 -9
  90. package/dist/chunks/components-z6cnkyy1.js.map +0 -9
  91. package/dist/chunks/content-source-r2n7v682.js.map +0 -9
  92. package/dist/chunks/convert-to-repeater-cnpyvj74.js.map +0 -10
  93. package/dist/chunks/editor-cptq5jp1.js.map +0 -9
  94. package/dist/chunks/extension-sections-vpcm4jvx.js.map +0 -11
  95. package/dist/chunks/files-zeg88k2d.js.map +0 -9
  96. package/dist/chunks/flow-qbfgrpeh.js.map +0 -12
  97. package/dist/chunks/focus-trap.esm-ggawf1hy.js.map +0 -11
  98. package/dist/chunks/focus-visible-6eg70z18.js.map +0 -10
  99. package/dist/chunks/format-host-taymsw55.js.map +0 -9
  100. package/dist/chunks/git-panel-qp4rrwr9.js.map +0 -9
  101. package/dist/chunks/index-nj44jpzj.js.map +0 -14
  102. package/dist/chunks/index-zqxmqxmh.js.map +0 -9
  103. package/dist/chunks/javascript-q8kpmfah.js.map +0 -11
  104. package/dist/chunks/jsonMode-dkr040ga.js.map +0 -18
  105. package/dist/chunks/jx-validate-jj9rnt4n.js.map +0 -9
  106. package/dist/chunks/layers-panel-kj93w2zg.js.map +0 -9
  107. package/dist/chunks/monaco-binding-rj6xpx9y.js.map +0 -10
  108. package/dist/chunks/monaco-setup-xy3bs05d.js.map +0 -15
  109. package/dist/chunks/publish-panel-6qz6kp41.js.map +0 -9
  110. package/dist/chunks/quick-search-9wwa09hh.js.map +0 -9
  111. package/dist/chunks/right-panel-faf816ch.js +0 -37
  112. package/dist/chunks/right-panel-faf816ch.js.map +0 -9
  113. package/dist/chunks/section-registry-sx1ykvkw.js.map +0 -9
  114. package/dist/chunks/sp-overlay.dev-h6kdx076.js.map +0 -9
  115. package/dist/chunks/sp-popover.dev-dj9x7e7a.js.map +0 -9
  116. package/dist/chunks/sp-progress-circle.dev-0fpvhm52.js +0 -15
  117. package/dist/chunks/sp-progress-circle.dev-0fpvhm52.js.map +0 -9
  118. package/dist/chunks/sp-tooltip.dev-rvepkw4r.js +0 -15
  119. package/dist/chunks/sp-tooltip.dev-rvepkw4r.js.map +0 -9
  120. package/dist/chunks/sp-tray.dev-64v4pxw8.js.map +0 -12
  121. package/dist/chunks/studio-0a5qrh01.js.map +0 -9
  122. package/dist/chunks/studio-0rqqhrdy.js.map +0 -12
  123. package/dist/chunks/studio-18j3bmcz.js.map +0 -10
  124. package/dist/chunks/studio-1kgfcv7s.js.map +0 -13
  125. package/dist/chunks/studio-22xr4q8q.js.map +0 -13
  126. package/dist/chunks/studio-300zsz1k.js.map +0 -39
  127. package/dist/chunks/studio-3fk1ac9z.js.map +0 -12
  128. package/dist/chunks/studio-3n4ndrzh.js.map +0 -41
  129. package/dist/chunks/studio-3z8jjm2p.js.map +0 -13
  130. package/dist/chunks/studio-4mqb9a0j.js.map +0 -14
  131. package/dist/chunks/studio-4q0wznzf.js.map +0 -73
  132. package/dist/chunks/studio-5ehhackm.js.map +0 -10
  133. package/dist/chunks/studio-5kt960pk.js.map +0 -38
  134. package/dist/chunks/studio-5x5774ak.js.map +0 -10
  135. package/dist/chunks/studio-685s0ytq.js.map +0 -76
  136. package/dist/chunks/studio-6a0h7sne.js.map +0 -15
  137. package/dist/chunks/studio-6f0am8f2.js.map +0 -10
  138. package/dist/chunks/studio-6kv3apa9.js.map +0 -10
  139. package/dist/chunks/studio-6zzbyx17.js.map +0 -12
  140. package/dist/chunks/studio-753znj4c.js.map +0 -16
  141. package/dist/chunks/studio-7afd21nw.js.map +0 -10
  142. package/dist/chunks/studio-8jpzqk5s.js.map +0 -10
  143. package/dist/chunks/studio-8q517dfr.js.map +0 -10
  144. package/dist/chunks/studio-8sdyjfd6.js.map +0 -10
  145. package/dist/chunks/studio-a0tswy0w.js.map +0 -9
  146. package/dist/chunks/studio-a7pzveq1.js.map +0 -11
  147. package/dist/chunks/studio-ahnzd9rg.js.map +0 -10
  148. package/dist/chunks/studio-b9b6t1dg.js.map +0 -651
  149. package/dist/chunks/studio-bw5dz6km.js.map +0 -21
  150. package/dist/chunks/studio-cjm7fdjf.js.map +0 -14
  151. package/dist/chunks/studio-ckwz4d3x.js.map +0 -12
  152. package/dist/chunks/studio-d1ks410h.js.map +0 -10
  153. package/dist/chunks/studio-dg7zyt5x.js.map +0 -10
  154. package/dist/chunks/studio-fys6z73y.js.map +0 -10
  155. package/dist/chunks/studio-g1wdche0.js.map +0 -56
  156. package/dist/chunks/studio-g8t7g0gp.js.map +0 -10
  157. package/dist/chunks/studio-h4rxscfc.js.map +0 -10
  158. package/dist/chunks/studio-hekaagev.js.map +0 -18
  159. package/dist/chunks/studio-hrajjyt2.js.map +0 -10
  160. package/dist/chunks/studio-nqq8jk8f.js.map +0 -14
  161. package/dist/chunks/studio-p471gg5n.js.map +0 -14
  162. package/dist/chunks/studio-pv8m0h4a.js.map +0 -98
  163. package/dist/chunks/studio-qhh8r5fz.js.map +0 -13
  164. package/dist/chunks/studio-qrsfh1w7.js.map +0 -41
  165. package/dist/chunks/studio-r8vx7bkz.js.map +0 -235
  166. package/dist/chunks/studio-rgwcpast.js.map +0 -12
  167. package/dist/chunks/studio-s519zc99.js.map +0 -10
  168. package/dist/chunks/studio-sas7mt3k.js.map +0 -10
  169. package/dist/chunks/studio-t5wqwzdh.js.map +0 -10
  170. package/dist/chunks/studio-tqemhphj.js.map +0 -11
  171. package/dist/chunks/studio-tr20m8g8.js.map +0 -9
  172. package/dist/chunks/studio-tvgyw9xw.js.map +0 -14
  173. package/dist/chunks/studio-x0et2z9g.js.map +0 -32
  174. package/dist/chunks/studio-xm3dbxvn.js.map +0 -19
  175. package/dist/chunks/studio-xmvbhg31.js.map +0 -10
  176. package/dist/chunks/studio-ynxwkrzd.js.map +0 -246
  177. package/dist/chunks/studio-yphy4z9m.js.map +0 -10
  178. package/dist/chunks/studio-yz9s88s0.js.map +0 -54
  179. package/dist/chunks/studio-z6nw2ek2.js.map +0 -10
  180. package/dist/chunks/studio-zqv3w24n.js.map +0 -11
  181. package/dist/chunks/tsMode-76kr53q0.js.map +0 -13
  182. package/dist/chunks/ws-client-6shc5rze.js.map +0 -12
@@ -0,0 +1,366 @@
1
+ {
2
+ "$id": "html-meta",
3
+ "title": "HTML Attribute Metadata",
4
+ "description": "Section assignment, order, and input inference metadata for the properties sidebar.",
5
+ "$sections": [
6
+ { "key": "identity", "label": "Identity" },
7
+ { "key": "link", "label": "Link" },
8
+ { "key": "media", "label": "Media" },
9
+ { "key": "form", "label": "Form" },
10
+ { "key": "table", "label": "Table" },
11
+ { "key": "accessibility", "label": "Accessibility" }
12
+ ],
13
+ "$defs": {
14
+ "id": {
15
+ "$section": "identity",
16
+ "$order": 10,
17
+ "type": "string",
18
+ "$label": "ID"
19
+ },
20
+ "class": {
21
+ "$section": "identity",
22
+ "$order": 20,
23
+ "type": "string",
24
+ "$label": "Class"
25
+ },
26
+ "title": {
27
+ "$section": "identity",
28
+ "$order": 30,
29
+ "type": "string"
30
+ },
31
+ "hidden": {
32
+ "$section": "identity",
33
+ "$order": 40,
34
+ "type": "boolean"
35
+ },
36
+ "lang": {
37
+ "$section": "identity",
38
+ "$order": 50,
39
+ "type": "string"
40
+ },
41
+ "dir": {
42
+ "$section": "identity",
43
+ "$order": 60,
44
+ "type": "string",
45
+ "enum": ["ltr", "rtl", "auto"]
46
+ },
47
+ "slot": {
48
+ "$section": "identity",
49
+ "$order": 70,
50
+ "type": "string"
51
+ },
52
+ "slot-name": {
53
+ "$attr": "name",
54
+ "$section": "identity",
55
+ "$order": 75,
56
+ "type": "string",
57
+ "$label": "Slot Name",
58
+ "$elements": ["slot"]
59
+ },
60
+ "part": {
61
+ "$section": "identity",
62
+ "$order": 80,
63
+ "type": "string"
64
+ },
65
+ "href": {
66
+ "$section": "link",
67
+ "$order": 10,
68
+ "type": "string",
69
+ "$elements": ["a", "area", "link"]
70
+ },
71
+ "target": {
72
+ "$section": "link",
73
+ "$order": 20,
74
+ "type": "string",
75
+ "$elements": ["a", "area", "form"],
76
+ "enum": ["_self", "_blank", "_parent", "_top"]
77
+ },
78
+ "rel": {
79
+ "$section": "link",
80
+ "$order": 30,
81
+ "type": "string",
82
+ "$elements": ["a", "area", "link"]
83
+ },
84
+ "download": {
85
+ "$section": "link",
86
+ "$order": 40,
87
+ "type": "string",
88
+ "$elements": ["a", "area"]
89
+ },
90
+ "src": {
91
+ "$section": "media",
92
+ "$order": 10,
93
+ "$input": "media",
94
+ "type": "string",
95
+ "$elements": ["img", "script", "iframe", "video", "audio", "source", "embed", "input"]
96
+ },
97
+ "alt": {
98
+ "$section": "media",
99
+ "$order": 20,
100
+ "type": "string",
101
+ "$elements": ["img", "input", "area"]
102
+ },
103
+ "width": {
104
+ "$section": "media",
105
+ "$order": 30,
106
+ "type": "string",
107
+ "$elements": ["img", "video", "iframe", "canvas", "embed", "object"]
108
+ },
109
+ "height": {
110
+ "$section": "media",
111
+ "$order": 40,
112
+ "type": "string",
113
+ "$elements": ["img", "video", "iframe", "canvas", "embed", "object"]
114
+ },
115
+ "loading": {
116
+ "$section": "media",
117
+ "$order": 50,
118
+ "type": "string",
119
+ "$elements": ["img", "iframe"],
120
+ "enum": ["lazy", "eager"]
121
+ },
122
+ "srcset": {
123
+ "$section": "media",
124
+ "$order": 60,
125
+ "type": "string",
126
+ "$elements": ["img", "source"]
127
+ },
128
+ "sizes": {
129
+ "$section": "media",
130
+ "$order": 70,
131
+ "type": "string",
132
+ "$elements": ["img", "source"]
133
+ },
134
+ "poster": {
135
+ "$section": "media",
136
+ "$order": 80,
137
+ "type": "string",
138
+ "$elements": ["video"]
139
+ },
140
+ "controls": {
141
+ "$section": "media",
142
+ "$order": 90,
143
+ "type": "boolean",
144
+ "$elements": ["video", "audio"]
145
+ },
146
+ "autoplay": {
147
+ "$section": "media",
148
+ "$order": 100,
149
+ "type": "boolean",
150
+ "$elements": ["video", "audio"]
151
+ },
152
+ "loop": {
153
+ "$section": "media",
154
+ "$order": 110,
155
+ "type": "boolean",
156
+ "$elements": ["video", "audio"]
157
+ },
158
+ "muted": {
159
+ "$section": "media",
160
+ "$order": 120,
161
+ "type": "boolean",
162
+ "$elements": ["video", "audio"]
163
+ },
164
+ "type": {
165
+ "$section": "form",
166
+ "$order": 5,
167
+ "type": "string",
168
+ "$elements": ["input", "button"],
169
+ "enum": [
170
+ "text",
171
+ "password",
172
+ "email",
173
+ "number",
174
+ "tel",
175
+ "url",
176
+ "search",
177
+ "date",
178
+ "time",
179
+ "datetime-local",
180
+ "month",
181
+ "week",
182
+ "color",
183
+ "range",
184
+ "file",
185
+ "checkbox",
186
+ "radio",
187
+ "hidden",
188
+ "submit",
189
+ "reset",
190
+ "button"
191
+ ]
192
+ },
193
+ "name": {
194
+ "$section": "form",
195
+ "$order": 10,
196
+ "type": "string",
197
+ "$elements": ["input", "button", "select", "textarea", "fieldset", "output", "form"]
198
+ },
199
+ "value": {
200
+ "$section": "form",
201
+ "$order": 20,
202
+ "type": "string",
203
+ "$elements": ["input", "button", "option", "li", "meter", "progress"]
204
+ },
205
+ "placeholder": {
206
+ "$section": "form",
207
+ "$order": 30,
208
+ "type": "string",
209
+ "$elements": ["input", "textarea"]
210
+ },
211
+ "disabled": {
212
+ "$section": "form",
213
+ "$order": 40,
214
+ "type": "boolean",
215
+ "$elements": ["input", "button", "select", "textarea", "fieldset"]
216
+ },
217
+ "required": {
218
+ "$section": "form",
219
+ "$order": 50,
220
+ "type": "boolean",
221
+ "$elements": ["input", "select", "textarea"]
222
+ },
223
+ "readonly": {
224
+ "$section": "form",
225
+ "$order": 60,
226
+ "type": "boolean",
227
+ "$elements": ["input", "textarea"]
228
+ },
229
+ "checked": {
230
+ "$section": "form",
231
+ "$order": 70,
232
+ "type": "boolean",
233
+ "$elements": ["input"]
234
+ },
235
+ "multiple": {
236
+ "$section": "form",
237
+ "$order": 80,
238
+ "type": "boolean",
239
+ "$elements": ["input", "select"]
240
+ },
241
+ "min": {
242
+ "$section": "form",
243
+ "$order": 90,
244
+ "type": "string",
245
+ "$elements": ["input", "meter"]
246
+ },
247
+ "max": {
248
+ "$section": "form",
249
+ "$order": 100,
250
+ "type": "string",
251
+ "$elements": ["input", "meter"]
252
+ },
253
+ "step": {
254
+ "$section": "form",
255
+ "$order": 110,
256
+ "type": "string",
257
+ "$elements": ["input"]
258
+ },
259
+ "pattern": {
260
+ "$section": "form",
261
+ "$order": 120,
262
+ "type": "string",
263
+ "$elements": ["input"]
264
+ },
265
+ "maxlength": {
266
+ "$section": "form",
267
+ "$order": 130,
268
+ "type": "string",
269
+ "$elements": ["input", "textarea"]
270
+ },
271
+ "minlength": {
272
+ "$section": "form",
273
+ "$order": 140,
274
+ "type": "string",
275
+ "$elements": ["input", "textarea"]
276
+ },
277
+ "autocomplete": {
278
+ "$section": "form",
279
+ "$order": 150,
280
+ "type": "string",
281
+ "$elements": ["input", "select", "textarea", "form"],
282
+ "enum": ["on", "off"]
283
+ },
284
+ "action": {
285
+ "$section": "form",
286
+ "$order": 160,
287
+ "type": "string",
288
+ "$elements": ["form"]
289
+ },
290
+ "method": {
291
+ "$section": "form",
292
+ "$order": 170,
293
+ "type": "string",
294
+ "$elements": ["form"],
295
+ "enum": ["get", "post", "dialog"]
296
+ },
297
+ "for": {
298
+ "$section": "form",
299
+ "$order": 180,
300
+ "type": "string",
301
+ "$elements": ["label", "output"]
302
+ },
303
+ "open": {
304
+ "$section": "form",
305
+ "$order": 190,
306
+ "type": "boolean",
307
+ "$elements": ["details", "dialog"]
308
+ },
309
+ "colspan": {
310
+ "$section": "table",
311
+ "$order": 10,
312
+ "type": "string",
313
+ "$elements": ["td", "th"]
314
+ },
315
+ "rowspan": {
316
+ "$section": "table",
317
+ "$order": 20,
318
+ "type": "string",
319
+ "$elements": ["td", "th"]
320
+ },
321
+ "scope": {
322
+ "$section": "table",
323
+ "$order": 30,
324
+ "type": "string",
325
+ "$elements": ["th"],
326
+ "enum": ["row", "col", "rowgroup", "colgroup"]
327
+ },
328
+ "role": {
329
+ "$section": "accessibility",
330
+ "$order": 10,
331
+ "type": "string"
332
+ },
333
+ "aria-label": {
334
+ "$section": "accessibility",
335
+ "$order": 20,
336
+ "type": "string"
337
+ },
338
+ "aria-hidden": {
339
+ "$section": "accessibility",
340
+ "$order": 30,
341
+ "type": "string",
342
+ "enum": ["true", "false"]
343
+ },
344
+ "aria-describedby": {
345
+ "$section": "accessibility",
346
+ "$order": 40,
347
+ "type": "string"
348
+ },
349
+ "aria-labelledby": {
350
+ "$section": "accessibility",
351
+ "$order": 50,
352
+ "type": "string"
353
+ },
354
+ "aria-live": {
355
+ "$section": "accessibility",
356
+ "$order": 60,
357
+ "type": "string",
358
+ "enum": ["off", "polite", "assertive"]
359
+ },
360
+ "tabindex": {
361
+ "$section": "accessibility",
362
+ "$order": 70,
363
+ "type": "string"
364
+ }
365
+ }
366
+ }
@@ -0,0 +1,200 @@
1
+ {
2
+ "$sections": [
3
+ {
4
+ "label": "Headings",
5
+ "elements": [
6
+ { "tag": "h1", "text": "Code Is Poetry" },
7
+ { "tag": "h2", "text": "Code Is Poetry" },
8
+ { "tag": "h3", "text": "Code Is Poetry" },
9
+ { "tag": "h4", "text": "Code Is Poetry" },
10
+ { "tag": "h5", "text": "Code Is Poetry" },
11
+ { "tag": "h6", "text": "Code Is Poetry" }
12
+ ]
13
+ },
14
+ {
15
+ "label": "Paragraph",
16
+ "elements": [
17
+ {
18
+ "tag": "p",
19
+ "text": "In a village of La Mancha, the name of which I have no desire to call to mind, there lived not long since one of those gentlemen that keep a lance in the lance-rack, an old buckler, a lean hack, and a greyhound for coursing."
20
+ }
21
+ ]
22
+ },
23
+ {
24
+ "label": "List",
25
+ "elements": [
26
+ {
27
+ "tag": "ul",
28
+ "children": [
29
+ { "tag": "li", "text": "Alice." },
30
+ { "tag": "li", "text": "The White Rabbit." },
31
+ { "tag": "li", "text": "The Cheshire Cat." },
32
+ { "tag": "li", "text": "The Mad Hatter." },
33
+ { "tag": "li", "text": "The Queen of Hearts." }
34
+ ]
35
+ },
36
+ {
37
+ "tag": "ol",
38
+ "children": [
39
+ { "tag": "li", "text": "First item" },
40
+ { "tag": "li", "text": "Second item" },
41
+ { "tag": "li", "text": "Third item" }
42
+ ]
43
+ }
44
+ ]
45
+ },
46
+ {
47
+ "label": "Quote",
48
+ "elements": [
49
+ {
50
+ "tag": "blockquote",
51
+ "children": [
52
+ {
53
+ "tag": "p",
54
+ "text": "In quoting others, we cite ourselves.",
55
+ "style": "font-size:1.25em;font-style:italic"
56
+ },
57
+ { "tag": "p", "text": "\u2014 Julio Cortázar" }
58
+ ]
59
+ }
60
+ ]
61
+ },
62
+ {
63
+ "label": "Code",
64
+ "elements": [
65
+ {
66
+ "tag": "pre",
67
+ "children": [
68
+ {
69
+ "tag": "code",
70
+ "text": "// A \"block\" is the abstract term used\n// to describe units of markup that\n// when composed together, form the\n// content or layout of a page.\nregisterBlockType( name, settings );"
71
+ }
72
+ ]
73
+ }
74
+ ]
75
+ },
76
+ {
77
+ "label": "Inline",
78
+ "elements": [
79
+ { "tag": "a", "text": "Visit the documentation", "attributes": { "href": "#" } },
80
+ { "tag": "strong", "text": "Bold text emphasis" },
81
+ { "tag": "em", "text": "Italic text emphasis" },
82
+ { "tag": "small", "text": "Fine print and legal text" },
83
+ { "tag": "mark", "text": "Highlighted text" },
84
+ { "tag": "code", "text": "const x = 42;" },
85
+ { "tag": "abbr", "text": "HTML", "attributes": { "title": "HyperText Markup Language" } },
86
+ { "tag": "sub", "text": "subscript" },
87
+ { "tag": "sup", "text": "superscript" }
88
+ ]
89
+ },
90
+ {
91
+ "label": "Form",
92
+ "elements": [
93
+ { "tag": "input", "attributes": { "type": "text", "placeholder": "Enter text\u2026" } },
94
+ { "tag": "button", "text": "Click Me" },
95
+ {
96
+ "tag": "select",
97
+ "children": [
98
+ { "tag": "option", "text": "Option 1" },
99
+ { "tag": "option", "text": "Option 2" },
100
+ { "tag": "option", "text": "Option 3" }
101
+ ]
102
+ },
103
+ {
104
+ "tag": "textarea",
105
+ "attributes": { "placeholder": "Enter longer text\u2026", "rows": "3" }
106
+ }
107
+ ]
108
+ },
109
+ {
110
+ "label": "Table",
111
+ "elements": [
112
+ {
113
+ "tag": "table",
114
+ "children": [
115
+ {
116
+ "tag": "thead",
117
+ "children": [
118
+ {
119
+ "tag": "tr",
120
+ "children": [
121
+ { "tag": "th", "text": "Name" },
122
+ { "tag": "th", "text": "Role" },
123
+ { "tag": "th", "text": "Status" }
124
+ ]
125
+ }
126
+ ]
127
+ },
128
+ {
129
+ "tag": "tbody",
130
+ "children": [
131
+ {
132
+ "tag": "tr",
133
+ "children": [
134
+ { "tag": "td", "text": "Alice" },
135
+ { "tag": "td", "text": "Developer" },
136
+ { "tag": "td", "text": "Active" }
137
+ ]
138
+ },
139
+ {
140
+ "tag": "tr",
141
+ "children": [
142
+ { "tag": "td", "text": "Bob" },
143
+ { "tag": "td", "text": "Designer" },
144
+ { "tag": "td", "text": "Away" }
145
+ ]
146
+ },
147
+ {
148
+ "tag": "tr",
149
+ "children": [
150
+ { "tag": "td", "text": "Carol" },
151
+ { "tag": "td", "text": "Manager" },
152
+ { "tag": "td", "text": "Active" }
153
+ ]
154
+ }
155
+ ]
156
+ }
157
+ ]
158
+ }
159
+ ]
160
+ },
161
+ {
162
+ "label": "Interactive",
163
+ "elements": [
164
+ {
165
+ "tag": "details",
166
+ "attributes": { "open": "" },
167
+ "children": [
168
+ { "tag": "summary", "text": "Click to expand details" },
169
+ {
170
+ "tag": "p",
171
+ "text": "Additional detail content revealed when the disclosure widget is toggled open."
172
+ }
173
+ ]
174
+ }
175
+ ]
176
+ },
177
+ {
178
+ "label": "Media",
179
+ "elements": [
180
+ {
181
+ "tag": "img",
182
+ "attributes": { "alt": "Placeholder image" },
183
+ "style": "width:100%;max-width:400px;height:200px;background:#e0e0e0;display:block;border-radius:4px"
184
+ },
185
+ {
186
+ "tag": "video",
187
+ "attributes": { "controls": "" },
188
+ "style": "width:100%;max-width:400px;height:200px;background:#e0e0e0;display:block;border-radius:4px"
189
+ },
190
+ { "tag": "audio", "attributes": { "controls": "" }, "style": "width:100%" }
191
+ ]
192
+ }
193
+ ],
194
+ "$variables": {
195
+ "color": { "label": "Color", "prefix": "--color-", "placeholder": "#007acc" },
196
+ "font": { "label": "Font", "prefix": "--font-", "placeholder": "system-ui, sans-serif" },
197
+ "size": { "label": "Size", "prefix": "--size-", "placeholder": "16px" },
198
+ "other": { "label": "Other", "prefix": "--", "placeholder": "value" }
199
+ }
200
+ }