@jxsuite/studio 2.0.1 → 2.1.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 (419) hide show
  1. package/canvas.html +21 -0
  2. package/dist/chunks/Overlay.dev-qfjzkms8.js +23 -0
  3. package/dist/chunks/{Overlay.dev-cszx7yn5.js.map → Overlay.dev-qfjzkms8.js.map} +1 -1
  4. package/dist/chunks/{adapter-z8fkmbmv.js → adapter-qfnesn5v.js} +2 -2
  5. package/dist/chunks/{cf-settings-mmyv436d.js → cf-settings-73sh5z4p.js} +3 -3
  6. package/dist/chunks/{components-799jpvhm.js → components-2bpqp4mq.js} +5 -7
  7. package/dist/chunks/{components-799jpvhm.js.map → components-2bpqp4mq.js.map} +1 -1
  8. package/dist/chunks/content-source-34gnkbnn.js +38 -0
  9. package/dist/chunks/content-source-34gnkbnn.js.map +9 -0
  10. package/dist/chunks/convert-to-repeater-t8kxre5s.js +258 -0
  11. package/dist/chunks/convert-to-repeater-t8kxre5s.js.map +10 -0
  12. package/dist/chunks/extension-sections-6mqydz35.js +301 -0
  13. package/dist/chunks/extension-sections-6mqydz35.js.map +11 -0
  14. package/dist/chunks/files-8kn321h1.js +70 -0
  15. package/dist/chunks/files-8kn321h1.js.map +9 -0
  16. package/dist/chunks/{format-host-8jxwts2p.js → format-host-mkwsmt8d.js} +3 -3
  17. package/dist/chunks/git-panel-tjbr191d.js +51 -0
  18. package/dist/chunks/git-panel-tjbr191d.js.map +9 -0
  19. package/dist/chunks/{index-baeg2x3y.js → index-7pxchcce.js} +4 -3
  20. package/dist/chunks/{index-baeg2x3y.js.map → index-7pxchcce.js.map} +3 -3
  21. package/dist/chunks/{jx-validate-qx8degj7.js → jx-validate-v6qgknrs.js} +3 -3
  22. package/dist/chunks/layers-panel-87pb25km.js +58 -0
  23. package/dist/chunks/layers-panel-87pb25km.js.map +9 -0
  24. package/dist/chunks/{monaco-setup-zjdp9zdw.js → monaco-setup-e0yh25j4.js} +4 -75
  25. package/dist/chunks/{monaco-setup-zjdp9zdw.js.map → monaco-setup-e0yh25j4.js.map} +3 -4
  26. package/dist/chunks/publish-panel-m0fcgdrt.js +21 -0
  27. package/dist/chunks/publish-panel-m0fcgdrt.js.map +9 -0
  28. package/dist/chunks/quick-search-rhs6cbsb.js +53 -0
  29. package/dist/chunks/quick-search-rhs6cbsb.js.map +9 -0
  30. package/dist/chunks/right-panel-zpdxd98t.js +37 -0
  31. package/dist/chunks/right-panel-zpdxd98t.js.map +9 -0
  32. package/dist/chunks/section-registry-zmckaxf4.js +30 -0
  33. package/dist/chunks/section-registry-zmckaxf4.js.map +9 -0
  34. package/dist/chunks/sp-overlay.dev-9ran0sfq.js +18 -0
  35. package/dist/chunks/sp-overlay.dev-9ran0sfq.js.map +9 -0
  36. package/dist/chunks/sp-popover.dev-rebmdncr.js +9 -0
  37. package/dist/chunks/sp-popover.dev-rebmdncr.js.map +9 -0
  38. package/dist/chunks/sp-progress-circle.dev-5vkppfkt.js +15 -0
  39. package/dist/chunks/sp-progress-circle.dev-5vkppfkt.js.map +9 -0
  40. package/dist/chunks/sp-tooltip.dev-ykqrg8h5.js +15 -0
  41. package/dist/chunks/sp-tooltip.dev-ykqrg8h5.js.map +9 -0
  42. package/dist/chunks/{sp-tray.dev-pb2fsd65.js → sp-tray.dev-ey59vfh7.js} +10 -8
  43. package/dist/chunks/{sp-tray.dev-pb2fsd65.js.map → sp-tray.dev-ey59vfh7.js.map} +2 -2
  44. package/dist/chunks/{studio-9qr6fq7p.js → studio-0rqqhrdy.js} +10 -378
  45. package/dist/chunks/{studio-9qr6fq7p.js.map → studio-0rqqhrdy.js.map} +4 -14
  46. package/dist/chunks/{studio-5x6tqqec.js → studio-2sj1jj3v.js} +10 -8
  47. package/dist/chunks/{studio-5x6tqqec.js.map → studio-2sj1jj3v.js.map} +2 -2
  48. package/dist/chunks/{studio-h3fw0wn8.js → studio-3fk1ac9z.js} +6 -4
  49. package/dist/chunks/{studio-h3fw0wn8.js.map → studio-3fk1ac9z.js.map} +2 -2
  50. package/dist/chunks/studio-41exgzhq.js +6690 -0
  51. package/dist/chunks/studio-41exgzhq.js.map +38 -0
  52. package/dist/chunks/{studio-7v2bpweq.js → studio-4mqb9a0j.js} +6 -4
  53. package/dist/chunks/{studio-7v2bpweq.js.map → studio-4mqb9a0j.js.map} +2 -2
  54. package/dist/chunks/studio-50k77cca.js +1787 -0
  55. package/dist/chunks/studio-50k77cca.js.map +18 -0
  56. package/dist/chunks/{studio-56v3zwk6.js → studio-6a0h7sne.js} +10 -8
  57. package/dist/chunks/{studio-56v3zwk6.js.map → studio-6a0h7sne.js.map} +2 -2
  58. package/dist/chunks/studio-6f0am8f2.js +53 -0
  59. package/dist/chunks/studio-6f0am8f2.js.map +10 -0
  60. package/dist/chunks/studio-6nmjc5qk.js +7002 -0
  61. package/dist/chunks/studio-6nmjc5qk.js.map +32 -0
  62. package/dist/chunks/studio-7afd21nw.js +67 -0
  63. package/dist/chunks/studio-7afd21nw.js.map +10 -0
  64. package/dist/chunks/{studio-xze4zrs1.js → studio-7bmdvzne.js} +2 -2
  65. package/dist/chunks/studio-7bmdvzne.js.map +10 -0
  66. package/dist/chunks/studio-8jpzqk5s.js +128 -0
  67. package/dist/chunks/studio-8jpzqk5s.js.map +10 -0
  68. package/dist/chunks/studio-94m77tgk.js +1482 -0
  69. package/dist/chunks/studio-94m77tgk.js.map +13 -0
  70. package/dist/chunks/studio-9je6w5sq.js +1000 -0
  71. package/dist/chunks/studio-9je6w5sq.js.map +16 -0
  72. package/dist/chunks/{studio-w7c6kvk7.js → studio-a7pzveq1.js} +2 -2
  73. package/dist/chunks/{studio-gs6kqdt1.js → studio-adn0z1k3.js} +14 -8
  74. package/dist/chunks/{studio-gs6kqdt1.js.map → studio-adn0z1k3.js.map} +3 -3
  75. package/dist/chunks/{studio-kr88ryr7.js → studio-bsxxx3x2.js} +17 -15
  76. package/dist/chunks/{studio-kr88ryr7.js.map → studio-bsxxx3x2.js.map} +7 -6
  77. package/dist/chunks/studio-bw5dz6km.js +608 -0
  78. package/dist/chunks/studio-bw5dz6km.js.map +21 -0
  79. package/dist/chunks/studio-c6s5getc.js +4232 -0
  80. package/dist/chunks/studio-c6s5getc.js.map +39 -0
  81. package/dist/chunks/studio-cjm7fdjf.js +451 -0
  82. package/dist/chunks/studio-cjm7fdjf.js.map +14 -0
  83. package/dist/chunks/{studio-cx91mnh8.js → studio-ckwz4d3x.js} +53 -53
  84. package/dist/chunks/{studio-cx91mnh8.js.map → studio-ckwz4d3x.js.map} +5 -5
  85. package/dist/chunks/studio-dg7zyt5x.js +28 -0
  86. package/dist/chunks/studio-dg7zyt5x.js.map +10 -0
  87. package/dist/chunks/studio-dzcyvvvz.js +166 -0
  88. package/dist/chunks/studio-dzcyvvvz.js.map +10 -0
  89. package/dist/chunks/{studio-7kqe41sa.js → studio-evkr5d3b.js} +15 -7
  90. package/dist/chunks/{studio-7kqe41sa.js.map → studio-evkr5d3b.js.map} +5 -4
  91. package/dist/chunks/studio-f12h6177.js +411 -0
  92. package/dist/chunks/studio-f12h6177.js.map +13 -0
  93. package/dist/chunks/studio-hbp1s8m9.js +1817 -0
  94. package/dist/chunks/studio-hbp1s8m9.js.map +14 -0
  95. package/dist/chunks/studio-k2sxjph5.js +15295 -0
  96. package/dist/chunks/studio-k2sxjph5.js.map +235 -0
  97. package/dist/chunks/studio-myje51t3.js +385 -0
  98. package/dist/chunks/studio-myje51t3.js.map +12 -0
  99. package/dist/chunks/studio-na6rwzhw.js +353 -0
  100. package/dist/chunks/studio-na6rwzhw.js.map +11 -0
  101. package/dist/chunks/{studio-4k0m4fmp.js → studio-p471gg5n.js} +126 -3
  102. package/dist/chunks/studio-p471gg5n.js.map +14 -0
  103. package/dist/chunks/{studio-9bjwf0d4.js → studio-rgwcpast.js} +5 -46
  104. package/dist/chunks/{studio-9bjwf0d4.js.map → studio-rgwcpast.js.map} +4 -5
  105. package/dist/chunks/{studio-esrewxap.js → studio-s519zc99.js} +3 -3
  106. package/dist/chunks/studio-sas7mt3k.js +75 -0
  107. package/dist/chunks/studio-sas7mt3k.js.map +10 -0
  108. package/dist/chunks/studio-t5wqwzdh.js +74 -0
  109. package/dist/chunks/studio-t5wqwzdh.js.map +10 -0
  110. package/dist/chunks/{studio-9qpspwfn.js → studio-temv5bw4.js} +5 -5
  111. package/dist/chunks/{studio-9qpspwfn.js.map → studio-temv5bw4.js.map} +1 -1
  112. package/dist/chunks/{studio-qkvt37c0.js → studio-tr20m8g8.js} +669 -18
  113. package/dist/chunks/studio-tr20m8g8.js.map +9 -0
  114. package/dist/chunks/{studio-v7jkjqng.js → studio-v96qfnww.js} +5514 -4291
  115. package/dist/chunks/studio-v96qfnww.js.map +54 -0
  116. package/dist/chunks/studio-vcetc91k.js +659 -0
  117. package/dist/chunks/studio-vcetc91k.js.map +10 -0
  118. package/dist/chunks/{studio-jm0z592w.js → studio-vmymjefp.js} +2972 -4937
  119. package/dist/chunks/studio-vmymjefp.js.map +98 -0
  120. package/dist/chunks/{studio-bghqfmea.js → studio-wwseqyw0.js} +2 -2
  121. package/dist/chunks/studio-x9hmy5kr.js +390 -0
  122. package/dist/chunks/studio-x9hmy5kr.js.map +10 -0
  123. package/dist/chunks/studio-xa0ce0n7.js +335 -0
  124. package/dist/chunks/studio-xa0ce0n7.js.map +10 -0
  125. package/dist/chunks/studio-xm3dbxvn.js +378 -0
  126. package/dist/chunks/studio-xm3dbxvn.js.map +19 -0
  127. package/dist/chunks/{studio-nqw433kv.js → studio-xmvbhg31.js} +2 -2
  128. package/dist/chunks/studio-zv37yrfa.js +1054 -0
  129. package/dist/chunks/studio-zv37yrfa.js.map +13 -0
  130. package/dist/chunks/{ws-client-q7hkz3j9.js → ws-client-654ts66j.js} +6 -4
  131. package/dist/chunks/ws-client-654ts66j.js.map +11 -0
  132. package/dist/iframe-entry.js +668 -230
  133. package/dist/studio.js +21080 -32585
  134. package/index.html +35 -4685
  135. package/package.json +17 -15
  136. package/src/about/about-modal.ts +42 -11
  137. package/src/browse/library-commands.ts +240 -0
  138. package/src/browse/library-layouts.ts +369 -0
  139. package/src/browse/library-model.ts +396 -0
  140. package/src/browse/library-pane.ts +1049 -0
  141. package/src/browse/library-preview.ts +252 -0
  142. package/src/browse/library-source.ts +150 -0
  143. package/src/canvas/canvas-helpers.ts +33 -9
  144. package/src/canvas/canvas-live-render.ts +45 -29
  145. package/src/canvas/canvas-patcher.ts +151 -31
  146. package/src/canvas/canvas-perf.ts +46 -7
  147. package/src/canvas/canvas-render.ts +1092 -220
  148. package/src/canvas/canvas-surface.ts +240 -0
  149. package/src/canvas/canvas-utils.ts +1166 -124
  150. package/src/canvas/iframe-drop.ts +2 -1
  151. package/src/canvas/iframe-entry.ts +241 -4
  152. package/src/canvas/iframe-host.ts +1226 -143
  153. package/src/canvas/iframe-inline-edit.ts +31 -0
  154. package/src/canvas/iframe-interaction.ts +76 -16
  155. package/src/canvas/iframe-keys.ts +107 -45
  156. package/src/canvas/iframe-overlay.ts +38 -1
  157. package/src/canvas/iframe-protocol.ts +137 -2
  158. package/src/canvas/iframe-render.ts +70 -2
  159. package/src/canvas/iframe-slash.ts +6 -0
  160. package/src/canvas/path-mapping.ts +56 -6
  161. package/src/canvas/surface-registry.ts +292 -0
  162. package/src/collab/collab-commands.ts +244 -0
  163. package/src/collab/collab-session.ts +198 -32
  164. package/src/collab/collab-state.ts +28 -2
  165. package/src/collab/presence-chips.ts +100 -9
  166. package/src/commands/active-registry.ts +42 -0
  167. package/src/commands/app-commands.ts +176 -0
  168. package/src/commands/budget.ts +158 -0
  169. package/src/commands/command-args.ts +253 -0
  170. package/src/commands/context.ts +387 -0
  171. package/src/commands/defaults.ts +580 -0
  172. package/src/commands/keymap.ts +571 -0
  173. package/src/commands/levels.ts +345 -0
  174. package/src/commands/live-context.ts +193 -0
  175. package/src/commands/reference.ts +227 -0
  176. package/src/commands/registry.ts +293 -0
  177. package/src/component-props.ts +3 -2
  178. package/src/content/draft-state.ts +106 -0
  179. package/src/content/entry-commands.ts +282 -0
  180. package/src/content/entry-editor.ts +327 -0
  181. package/src/content/entry-fields.ts +116 -0
  182. package/src/content/entry-model.ts +175 -0
  183. package/src/editor/canvas-context-menu.ts +17 -11
  184. package/src/editor/canvas-slash-bridge.ts +11 -4
  185. package/src/editor/context-menu.ts +804 -204
  186. package/src/editor/convert-to-component.ts +31 -10
  187. package/src/editor/convert-to-repeater.ts +3 -2
  188. package/src/editor/inline-edit-apply.ts +5 -5
  189. package/src/editor/inline-edit.ts +86 -50
  190. package/src/editor/insert-zone-action.ts +1 -1
  191. package/src/editor/shortcuts.ts +1043 -329
  192. package/src/editor/slash-menu.ts +1 -0
  193. package/src/files/elements.ts +166 -0
  194. package/src/files/file-ops.ts +178 -31
  195. package/src/files/files.ts +898 -268
  196. package/src/files/fs-events.ts +21 -0
  197. package/src/files/media-meta.ts +203 -0
  198. package/src/files/media-paths.ts +141 -0
  199. package/src/files/media-upload.ts +7 -3
  200. package/src/files/media-usage.ts +189 -0
  201. package/src/github/github-auth.ts +235 -33
  202. package/src/github/github-publish.ts +80 -21
  203. package/src/grid/grid-controller.ts +152 -12
  204. package/src/grid/grid-layout.ts +225 -20
  205. package/src/grid/grid-open.ts +120 -0
  206. package/src/grid/grid-panel.ts +554 -39
  207. package/src/grid/grid-source.ts +27 -1
  208. package/src/grid/redirects-grid.ts +599 -0
  209. package/src/grid/redirects.ts +398 -0
  210. package/src/grid/sources/content-source.ts +108 -2
  211. package/src/i18n/i18n-commands.ts +322 -0
  212. package/src/new-project/add-repo-modal.ts +8 -10
  213. package/src/new-project/import-tab.ts +7 -0
  214. package/src/new-project/location-fields.ts +9 -1
  215. package/src/new-project/new-project-modal.ts +221 -245
  216. package/src/packages/jxsuite-update.ts +97 -48
  217. package/src/packages/pull-package-sync.ts +18 -9
  218. package/src/page-params.ts +2 -1
  219. package/src/panels/activity-bar.ts +152 -91
  220. package/src/panels/activity-panel.ts +481 -0
  221. package/src/panels/ai-chat/chat-markdown.ts +8 -3
  222. package/src/panels/ai-chat/chat-view.ts +245 -18
  223. package/src/panels/ai-chat/composer.ts +31 -5
  224. package/src/panels/ai-chat/sessions-view.ts +17 -10
  225. package/src/panels/ai-panel.ts +279 -53
  226. package/src/panels/block-action-bar.ts +1115 -224
  227. package/src/panels/bottom-dock.ts +337 -0
  228. package/src/panels/canvas-dnd-bridge.ts +37 -8
  229. package/src/panels/chat-panel.ts +29 -12
  230. package/src/panels/data-explorer.ts +254 -112
  231. package/src/panels/data-grid.ts +10 -4
  232. package/src/panels/dnd.ts +28 -51
  233. package/src/panels/editors.ts +434 -107
  234. package/src/panels/elements-panel.ts +66 -2
  235. package/src/panels/empty-state.ts +112 -0
  236. package/src/panels/events-panel.ts +596 -82
  237. package/src/panels/formula-workspace.ts +408 -218
  238. package/src/panels/frontmatter-fields.ts +51 -10
  239. package/src/panels/frontmatter-panel.ts +357 -79
  240. package/src/panels/git-panel.ts +375 -164
  241. package/src/panels/head-panel.ts +791 -85
  242. package/src/panels/i18n-panel.ts +592 -0
  243. package/src/panels/imports-panel.ts +95 -85
  244. package/src/panels/jump-bar.ts +584 -0
  245. package/src/panels/layers-panel.ts +1106 -328
  246. package/src/panels/left-panel.ts +109 -204
  247. package/src/panels/navigator-panels.ts +131 -0
  248. package/src/panels/overlays.ts +7 -2
  249. package/src/panels/pane-context.ts +1477 -0
  250. package/src/panels/pane-grid.ts +406 -0
  251. package/src/panels/panel-registry.ts +340 -0
  252. package/src/panels/panel-scheduler.ts +75 -0
  253. package/src/panels/problems-panel.ts +234 -0
  254. package/src/panels/properties-panel.ts +946 -1139
  255. package/src/panels/provenance.ts +258 -0
  256. package/src/panels/quick-search.ts +791 -122
  257. package/src/panels/right-panel.ts +228 -102
  258. package/src/panels/seo-modal.ts +395 -0
  259. package/src/panels/settings-pane.ts +203 -0
  260. package/src/panels/signals-panel.ts +354 -137
  261. package/src/panels/statement-editor.ts +41 -25
  262. package/src/panels/statusbar.ts +342 -106
  263. package/src/panels/style-panel.ts +974 -463
  264. package/src/panels/style-utils.ts +3 -3
  265. package/src/panels/stylebook-doc.ts +4 -2
  266. package/src/panels/stylebook-layers-panel.ts +3 -2
  267. package/src/panels/stylebook-panel.ts +51 -26
  268. package/src/panels/tab-strip.ts +1058 -78
  269. package/src/panels/target-line.ts +274 -0
  270. package/src/panels/toolbar.ts +631 -484
  271. package/src/panels/welcome-screen.ts +301 -198
  272. package/src/platform-errors.ts +26 -3
  273. package/src/platform.ts +96 -2
  274. package/src/platforms/cloud.ts +71 -8
  275. package/src/platforms/devserver.ts +92 -29
  276. package/src/publish/deploy-checklist.ts +383 -0
  277. package/src/publish/pages-service.ts +10 -1
  278. package/src/publish/publish-commands.ts +218 -0
  279. package/src/publish/publish-panel.ts +110 -16
  280. package/src/recent-projects.ts +3 -2
  281. package/src/services/a11y-report.ts +505 -0
  282. package/src/services/ai-models.ts +30 -1
  283. package/src/services/ai-project-tools.ts +29 -10
  284. package/src/services/ai-system-prompt.ts +53 -14
  285. package/src/services/ai-tools.ts +39 -3
  286. package/src/services/ai-writes.ts +154 -0
  287. package/src/services/announce.ts +97 -0
  288. package/src/services/automation.ts +424 -175
  289. package/src/services/cem-export.ts +9 -4
  290. package/src/services/clock.ts +61 -0
  291. package/src/services/document-assistant.ts +36 -8
  292. package/src/services/idle.ts +179 -0
  293. package/src/services/import-client.ts +26 -0
  294. package/src/services/monaco-buffer.ts +627 -0
  295. package/src/services/monaco-lazy.ts +36 -0
  296. package/src/services/notify.ts +271 -0
  297. package/src/services/profile.ts +155 -0
  298. package/src/services/references.ts +0 -0
  299. package/src/services/token-lint.ts +3 -2
  300. package/src/services/tool-executor.ts +53 -7
  301. package/src/services/trusted-types.ts +123 -0
  302. package/src/settings/contexts-section.ts +427 -0
  303. package/src/settings/contributed-section.ts +149 -11
  304. package/src/settings/css-vars-editor.ts +306 -349
  305. package/src/settings/defs-editor.ts +93 -34
  306. package/src/settings/dependencies-editor.ts +7 -7
  307. package/src/settings/extension-sections.ts +37 -5
  308. package/src/settings/general-settings.ts +204 -121
  309. package/src/settings/locales-section.ts +347 -0
  310. package/src/settings/preferences-accounts.ts +140 -0
  311. package/src/settings/preferences-dialog.ts +620 -0
  312. package/src/settings/preferences-keymap.ts +270 -0
  313. package/src/settings/project-sections.ts +260 -0
  314. package/src/settings/section-registry.ts +169 -0
  315. package/src/settings/settings-document.ts +385 -0
  316. package/src/shell.ts +1549 -0
  317. package/src/site-context.ts +45 -20
  318. package/src/state.ts +14 -275
  319. package/src/store.ts +88 -43
  320. package/src/studio.ts +790 -346
  321. package/src/style/live-preview.ts +36 -0
  322. package/src/style/project-styles.ts +349 -0
  323. package/src/style/token-ref.ts +123 -0
  324. package/src/tabs/patch-ops.ts +16 -4
  325. package/src/tabs/project-config.ts +416 -0
  326. package/src/tabs/selection.ts +323 -0
  327. package/src/tabs/tab.ts +182 -47
  328. package/src/tabs/transact.ts +209 -28
  329. package/src/types.ts +68 -13
  330. package/src/ui/ai-credentials-form.ts +39 -35
  331. package/src/ui/ai-managed-connect.ts +7 -1
  332. package/src/ui/dynamic-slot.ts +224 -81
  333. package/src/ui/expression-editor.ts +71 -63
  334. package/src/ui/field-input.ts +4 -6
  335. package/src/ui/field-row.ts +215 -38
  336. package/src/ui/form-controls.ts +194 -7
  337. package/src/ui/layers.ts +492 -69
  338. package/src/ui/media-picker.ts +115 -25
  339. package/src/ui/panel-resize.ts +109 -91
  340. package/src/ui/progress-modal.ts +131 -50
  341. package/src/ui/regions.ts +462 -0
  342. package/src/ui/schema-form.ts +229 -45
  343. package/src/ui/spectrum.ts +24 -8
  344. package/src/ui/timing.ts +49 -0
  345. package/src/ui/value-selector.ts +20 -0
  346. package/src/ui/value-source.ts +348 -0
  347. package/src/ui/virtual-window.ts +400 -0
  348. package/src/utils/edit-display.ts +3 -2
  349. package/src/utils/inherited-style.ts +67 -37
  350. package/src/view.ts +64 -78
  351. package/src/workspace/pane-derive.ts +1258 -0
  352. package/src/workspace/session.ts +317 -0
  353. package/src/workspace/workspace.ts +1345 -23
  354. package/styles/canvas.css +653 -0
  355. package/styles/forced-colors.css +106 -0
  356. package/styles/inspector.css +1454 -0
  357. package/styles/overlays.css +2704 -0
  358. package/styles/panels.css +1701 -0
  359. package/styles/shell.css +1423 -0
  360. package/styles/tokens.css +151 -0
  361. package/dist/chunks/Overlay.dev-cszx7yn5.js +0 -22
  362. package/dist/chunks/extension-sections-qr3drkkw.js +0 -531
  363. package/dist/chunks/extension-sections-qr3drkkw.js.map +0 -12
  364. package/dist/chunks/files-j8a1t06k.js +0 -50
  365. package/dist/chunks/files-j8a1t06k.js.map +0 -9
  366. package/dist/chunks/git-panel-xtq5z81x.js +0 -28
  367. package/dist/chunks/git-panel-xtq5z81x.js.map +0 -9
  368. package/dist/chunks/layers-panel-ancn2wpq.js +0 -26
  369. package/dist/chunks/layers-panel-ancn2wpq.js.map +0 -9
  370. package/dist/chunks/settings-modal-17ttr96g.js +0 -29
  371. package/dist/chunks/settings-modal-17ttr96g.js.map +0 -9
  372. package/dist/chunks/sp-overlay.dev-earn5as8.js +0 -17
  373. package/dist/chunks/sp-overlay.dev-earn5as8.js.map +0 -9
  374. package/dist/chunks/sp-popover.dev-frxtfejn.js +0 -8
  375. package/dist/chunks/sp-popover.dev-frxtfejn.js.map +0 -9
  376. package/dist/chunks/sp-progress-circle.dev-7tvw34h8.js +0 -14
  377. package/dist/chunks/sp-progress-circle.dev-7tvw34h8.js.map +0 -9
  378. package/dist/chunks/sp-tooltip.dev-a9fywesm.js +0 -21
  379. package/dist/chunks/sp-tooltip.dev-a9fywesm.js.map +0 -10
  380. package/dist/chunks/studio-0xgs7xrs.js +0 -429
  381. package/dist/chunks/studio-0xgs7xrs.js.map +0 -13
  382. package/dist/chunks/studio-4d8hzcz5.js +0 -3427
  383. package/dist/chunks/studio-4d8hzcz5.js.map +0 -26
  384. package/dist/chunks/studio-4k0m4fmp.js.map +0 -13
  385. package/dist/chunks/studio-9smfzqhc.js +0 -19
  386. package/dist/chunks/studio-9smfzqhc.js.map +0 -10
  387. package/dist/chunks/studio-jm0z592w.js.map +0 -115
  388. package/dist/chunks/studio-m2t4mdg5.js +0 -1854
  389. package/dist/chunks/studio-m2t4mdg5.js.map +0 -18
  390. package/dist/chunks/studio-n4p11dfy.js +0 -853
  391. package/dist/chunks/studio-n4p11dfy.js.map +0 -12
  392. package/dist/chunks/studio-qkvt37c0.js.map +0 -9
  393. package/dist/chunks/studio-sjh1wt1a.js +0 -3744
  394. package/dist/chunks/studio-sjh1wt1a.js.map +0 -22
  395. package/dist/chunks/studio-v7jkjqng.js.map +0 -46
  396. package/dist/chunks/studio-xq0t7n5t.js +0 -140
  397. package/dist/chunks/studio-xq0t7n5t.js.map +0 -10
  398. package/dist/chunks/studio-xze4zrs1.js.map +0 -10
  399. package/dist/chunks/studio-yfcstdzy.js +0 -399
  400. package/dist/chunks/studio-yfcstdzy.js.map +0 -12
  401. package/dist/chunks/studio-zp7jncs8.js +0 -469
  402. package/dist/chunks/studio-zp7jncs8.js.map +0 -14
  403. package/dist/chunks/ws-client-q7hkz3j9.js.map +0 -11
  404. package/src/browse/browse-modal.ts +0 -69
  405. package/src/browse/browse.ts +0 -904
  406. package/src/canvas/canvas-diff.ts +0 -216
  407. package/src/canvas/nested-site-style.ts +0 -58
  408. package/src/new-project/design-fields.ts +0 -264
  409. package/src/new-project/templates.ts +0 -61
  410. package/src/panels/tab-bar.ts +0 -548
  411. package/src/settings/settings-modal.ts +0 -203
  412. /package/dist/chunks/{adapter-z8fkmbmv.js.map → adapter-qfnesn5v.js.map} +0 -0
  413. /package/dist/chunks/{cf-settings-mmyv436d.js.map → cf-settings-73sh5z4p.js.map} +0 -0
  414. /package/dist/chunks/{format-host-8jxwts2p.js.map → format-host-mkwsmt8d.js.map} +0 -0
  415. /package/dist/chunks/{jx-validate-qx8degj7.js.map → jx-validate-v6qgknrs.js.map} +0 -0
  416. /package/dist/chunks/{studio-w7c6kvk7.js.map → studio-a7pzveq1.js.map} +0 -0
  417. /package/dist/chunks/{studio-esrewxap.js.map → studio-s519zc99.js.map} +0 -0
  418. /package/dist/chunks/{studio-bghqfmea.js.map → studio-wwseqyw0.js.map} +0 -0
  419. /package/dist/chunks/{studio-nqw433kv.js.map → studio-xmvbhg31.js.map} +0 -0
@@ -0,0 +1,608 @@
1
+ // src/services/cem-export.ts
2
+ function collectSlots(node, slots = []) {
3
+ if (node?.tagName === "slot") {
4
+ const name = node.attributes?.name;
5
+ slots.push(typeof name === "string" ? name.trim() : "");
6
+ }
7
+ if (Array.isArray(node?.children)) {
8
+ for (const c of node.children) {
9
+ collectSlots(typeof c === "string" ? undefined : c, slots);
10
+ }
11
+ }
12
+ return slots;
13
+ }
14
+ function validateComponentSlots(doc) {
15
+ const names = collectSlots(doc);
16
+ const unnamed = names.filter((n) => n === "").length;
17
+ if (unnamed > 1) {
18
+ return `Component has ${unnamed} unnamed <slot> elements — only one default slot is allowed. Give extra slots a name attribute.`;
19
+ }
20
+ const seen = new Set;
21
+ for (const n of names) {
22
+ if (n && seen.has(n)) {
23
+ return `Duplicate slot name "${n}" — slot names must be unique within a component.`;
24
+ }
25
+ seen.add(n);
26
+ }
27
+ return null;
28
+ }
29
+
30
+ // ../../node_modules/hast-util-whitespace/lib/index.js
31
+ var re = /[ \t\n\f\r]/g;
32
+ function whitespace(thing) {
33
+ return typeof thing === "object" ? thing.type === "text" ? empty(thing.value) : false : empty(thing);
34
+ }
35
+ function empty(value) {
36
+ return value.replace(re, "") === "";
37
+ }
38
+ // ../../node_modules/devlop/lib/development.js
39
+ var codesWarned = new Set;
40
+
41
+ class AssertionError extends Error {
42
+ name = "Assertion";
43
+ code = "ERR_ASSERTION";
44
+ constructor(message, actual, expected, operator, generated) {
45
+ super(message);
46
+ if (Error.captureStackTrace) {
47
+ Error.captureStackTrace(this, this.constructor);
48
+ }
49
+ this.actual = actual;
50
+ this.expected = expected;
51
+ this.generated = generated;
52
+ this.operator = operator;
53
+ }
54
+ }
55
+ function ok(value, message) {
56
+ assert(Boolean(value), false, true, "ok", "Expected value to be truthy", message);
57
+ }
58
+ function assert(bool, actual, expected, operator, defaultMessage, userMessage) {
59
+ if (!bool) {
60
+ throw userMessage instanceof Error ? userMessage : new AssertionError(userMessage || defaultMessage, actual, expected, operator, !userMessage);
61
+ }
62
+ }
63
+
64
+ // ../../node_modules/unist-util-stringify-position/lib/index.js
65
+ function stringifyPosition(value) {
66
+ if (!value || typeof value !== "object") {
67
+ return "";
68
+ }
69
+ if ("position" in value || "type" in value) {
70
+ return position(value.position);
71
+ }
72
+ if ("start" in value || "end" in value) {
73
+ return position(value);
74
+ }
75
+ if ("line" in value || "column" in value) {
76
+ return point(value);
77
+ }
78
+ return "";
79
+ }
80
+ function point(point2) {
81
+ return index(point2 && point2.line) + ":" + index(point2 && point2.column);
82
+ }
83
+ function position(pos) {
84
+ return point(pos && pos.start) + "-" + point(pos && pos.end);
85
+ }
86
+ function index(value) {
87
+ return value && typeof value === "number" ? value : 1;
88
+ }
89
+ // ../../node_modules/vfile-message/lib/index.js
90
+ class VFileMessage extends Error {
91
+ constructor(causeOrReason, optionsOrParentOrPlace, origin) {
92
+ super();
93
+ if (typeof optionsOrParentOrPlace === "string") {
94
+ origin = optionsOrParentOrPlace;
95
+ optionsOrParentOrPlace = undefined;
96
+ }
97
+ let reason = "";
98
+ let options = {};
99
+ let legacyCause = false;
100
+ if (optionsOrParentOrPlace) {
101
+ if ("line" in optionsOrParentOrPlace && "column" in optionsOrParentOrPlace) {
102
+ options = { place: optionsOrParentOrPlace };
103
+ } else if ("start" in optionsOrParentOrPlace && "end" in optionsOrParentOrPlace) {
104
+ options = { place: optionsOrParentOrPlace };
105
+ } else if ("type" in optionsOrParentOrPlace) {
106
+ options = {
107
+ ancestors: [optionsOrParentOrPlace],
108
+ place: optionsOrParentOrPlace.position
109
+ };
110
+ } else {
111
+ options = { ...optionsOrParentOrPlace };
112
+ }
113
+ }
114
+ if (typeof causeOrReason === "string") {
115
+ reason = causeOrReason;
116
+ } else if (!options.cause && causeOrReason) {
117
+ legacyCause = true;
118
+ reason = causeOrReason.message;
119
+ options.cause = causeOrReason;
120
+ }
121
+ if (!options.ruleId && !options.source && typeof origin === "string") {
122
+ const index2 = origin.indexOf(":");
123
+ if (index2 === -1) {
124
+ options.ruleId = origin;
125
+ } else {
126
+ options.source = origin.slice(0, index2);
127
+ options.ruleId = origin.slice(index2 + 1);
128
+ }
129
+ }
130
+ if (!options.place && options.ancestors && options.ancestors) {
131
+ const parent = options.ancestors[options.ancestors.length - 1];
132
+ if (parent) {
133
+ options.place = parent.position;
134
+ }
135
+ }
136
+ const start = options.place && "start" in options.place ? options.place.start : options.place;
137
+ this.ancestors = options.ancestors || undefined;
138
+ this.cause = options.cause || undefined;
139
+ this.column = start ? start.column : undefined;
140
+ this.fatal = undefined;
141
+ this.file = "";
142
+ this.message = reason;
143
+ this.line = start ? start.line : undefined;
144
+ this.name = stringifyPosition(options.place) || "1:1";
145
+ this.place = options.place || undefined;
146
+ this.reason = this.message;
147
+ this.ruleId = options.ruleId || undefined;
148
+ this.source = options.source || undefined;
149
+ this.stack = legacyCause && options.cause && typeof options.cause.stack === "string" ? options.cause.stack : "";
150
+ this.actual = undefined;
151
+ this.expected = undefined;
152
+ this.note = undefined;
153
+ this.url = undefined;
154
+ }
155
+ }
156
+ VFileMessage.prototype.file = "";
157
+ VFileMessage.prototype.name = "";
158
+ VFileMessage.prototype.reason = "";
159
+ VFileMessage.prototype.message = "";
160
+ VFileMessage.prototype.stack = "";
161
+ VFileMessage.prototype.column = undefined;
162
+ VFileMessage.prototype.line = undefined;
163
+ VFileMessage.prototype.ancestors = undefined;
164
+ VFileMessage.prototype.cause = undefined;
165
+ VFileMessage.prototype.fatal = undefined;
166
+ VFileMessage.prototype.place = undefined;
167
+ VFileMessage.prototype.ruleId = undefined;
168
+ VFileMessage.prototype.source = undefined;
169
+ // ../../node_modules/vfile/lib/minpath.browser.js
170
+ var minpath = { basename, dirname, extname, join, sep: "/" };
171
+ function basename(path, extname) {
172
+ if (extname !== undefined && typeof extname !== "string") {
173
+ throw new TypeError('"ext" argument must be a string');
174
+ }
175
+ assertPath(path);
176
+ let start = 0;
177
+ let end = -1;
178
+ let index2 = path.length;
179
+ let seenNonSlash;
180
+ if (extname === undefined || extname.length === 0 || extname.length > path.length) {
181
+ while (index2--) {
182
+ if (path.codePointAt(index2) === 47) {
183
+ if (seenNonSlash) {
184
+ start = index2 + 1;
185
+ break;
186
+ }
187
+ } else if (end < 0) {
188
+ seenNonSlash = true;
189
+ end = index2 + 1;
190
+ }
191
+ }
192
+ return end < 0 ? "" : path.slice(start, end);
193
+ }
194
+ if (extname === path) {
195
+ return "";
196
+ }
197
+ let firstNonSlashEnd = -1;
198
+ let extnameIndex = extname.length - 1;
199
+ while (index2--) {
200
+ if (path.codePointAt(index2) === 47) {
201
+ if (seenNonSlash) {
202
+ start = index2 + 1;
203
+ break;
204
+ }
205
+ } else {
206
+ if (firstNonSlashEnd < 0) {
207
+ seenNonSlash = true;
208
+ firstNonSlashEnd = index2 + 1;
209
+ }
210
+ if (extnameIndex > -1) {
211
+ if (path.codePointAt(index2) === extname.codePointAt(extnameIndex--)) {
212
+ if (extnameIndex < 0) {
213
+ end = index2;
214
+ }
215
+ } else {
216
+ extnameIndex = -1;
217
+ end = firstNonSlashEnd;
218
+ }
219
+ }
220
+ }
221
+ }
222
+ if (start === end) {
223
+ end = firstNonSlashEnd;
224
+ } else if (end < 0) {
225
+ end = path.length;
226
+ }
227
+ return path.slice(start, end);
228
+ }
229
+ function dirname(path) {
230
+ assertPath(path);
231
+ if (path.length === 0) {
232
+ return ".";
233
+ }
234
+ let end = -1;
235
+ let index2 = path.length;
236
+ let unmatchedSlash;
237
+ while (--index2) {
238
+ if (path.codePointAt(index2) === 47) {
239
+ if (unmatchedSlash) {
240
+ end = index2;
241
+ break;
242
+ }
243
+ } else if (!unmatchedSlash) {
244
+ unmatchedSlash = true;
245
+ }
246
+ }
247
+ return end < 0 ? path.codePointAt(0) === 47 ? "/" : "." : end === 1 && path.codePointAt(0) === 47 ? "//" : path.slice(0, end);
248
+ }
249
+ function extname(path) {
250
+ assertPath(path);
251
+ let index2 = path.length;
252
+ let end = -1;
253
+ let startPart = 0;
254
+ let startDot = -1;
255
+ let preDotState = 0;
256
+ let unmatchedSlash;
257
+ while (index2--) {
258
+ const code = path.codePointAt(index2);
259
+ if (code === 47) {
260
+ if (unmatchedSlash) {
261
+ startPart = index2 + 1;
262
+ break;
263
+ }
264
+ continue;
265
+ }
266
+ if (end < 0) {
267
+ unmatchedSlash = true;
268
+ end = index2 + 1;
269
+ }
270
+ if (code === 46) {
271
+ if (startDot < 0) {
272
+ startDot = index2;
273
+ } else if (preDotState !== 1) {
274
+ preDotState = 1;
275
+ }
276
+ } else if (startDot > -1) {
277
+ preDotState = -1;
278
+ }
279
+ }
280
+ if (startDot < 0 || end < 0 || preDotState === 0 || preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {
281
+ return "";
282
+ }
283
+ return path.slice(startDot, end);
284
+ }
285
+ function join(...segments) {
286
+ let index2 = -1;
287
+ let joined;
288
+ while (++index2 < segments.length) {
289
+ assertPath(segments[index2]);
290
+ if (segments[index2]) {
291
+ joined = joined === undefined ? segments[index2] : joined + "/" + segments[index2];
292
+ }
293
+ }
294
+ return joined === undefined ? "." : normalize(joined);
295
+ }
296
+ function normalize(path) {
297
+ assertPath(path);
298
+ const absolute = path.codePointAt(0) === 47;
299
+ let value = normalizeString(path, !absolute);
300
+ if (value.length === 0 && !absolute) {
301
+ value = ".";
302
+ }
303
+ if (value.length > 0 && path.codePointAt(path.length - 1) === 47) {
304
+ value += "/";
305
+ }
306
+ return absolute ? "/" + value : value;
307
+ }
308
+ function normalizeString(path, allowAboveRoot) {
309
+ let result = "";
310
+ let lastSegmentLength = 0;
311
+ let lastSlash = -1;
312
+ let dots = 0;
313
+ let index2 = -1;
314
+ let code;
315
+ let lastSlashIndex;
316
+ while (++index2 <= path.length) {
317
+ if (index2 < path.length) {
318
+ code = path.codePointAt(index2);
319
+ } else if (code === 47) {
320
+ break;
321
+ } else {
322
+ code = 47;
323
+ }
324
+ if (code === 47) {
325
+ if (lastSlash === index2 - 1 || dots === 1) {} else if (lastSlash !== index2 - 1 && dots === 2) {
326
+ if (result.length < 2 || lastSegmentLength !== 2 || result.codePointAt(result.length - 1) !== 46 || result.codePointAt(result.length - 2) !== 46) {
327
+ if (result.length > 2) {
328
+ lastSlashIndex = result.lastIndexOf("/");
329
+ if (lastSlashIndex !== result.length - 1) {
330
+ if (lastSlashIndex < 0) {
331
+ result = "";
332
+ lastSegmentLength = 0;
333
+ } else {
334
+ result = result.slice(0, lastSlashIndex);
335
+ lastSegmentLength = result.length - 1 - result.lastIndexOf("/");
336
+ }
337
+ lastSlash = index2;
338
+ dots = 0;
339
+ continue;
340
+ }
341
+ } else if (result.length > 0) {
342
+ result = "";
343
+ lastSegmentLength = 0;
344
+ lastSlash = index2;
345
+ dots = 0;
346
+ continue;
347
+ }
348
+ }
349
+ if (allowAboveRoot) {
350
+ result = result.length > 0 ? result + "/.." : "..";
351
+ lastSegmentLength = 2;
352
+ }
353
+ } else {
354
+ if (result.length > 0) {
355
+ result += "/" + path.slice(lastSlash + 1, index2);
356
+ } else {
357
+ result = path.slice(lastSlash + 1, index2);
358
+ }
359
+ lastSegmentLength = index2 - lastSlash - 1;
360
+ }
361
+ lastSlash = index2;
362
+ dots = 0;
363
+ } else if (code === 46 && dots > -1) {
364
+ dots++;
365
+ } else {
366
+ dots = -1;
367
+ }
368
+ }
369
+ return result;
370
+ }
371
+ function assertPath(path) {
372
+ if (typeof path !== "string") {
373
+ throw new TypeError("Path must be a string. Received " + JSON.stringify(path));
374
+ }
375
+ }
376
+
377
+ // ../../node_modules/vfile/lib/minproc.browser.js
378
+ var minproc = { cwd };
379
+ function cwd() {
380
+ return "/";
381
+ }
382
+
383
+ // ../../node_modules/vfile/lib/minurl.shared.js
384
+ function isUrl(fileUrlOrPath) {
385
+ return Boolean(fileUrlOrPath !== null && typeof fileUrlOrPath === "object" && "href" in fileUrlOrPath && fileUrlOrPath.href && "protocol" in fileUrlOrPath && fileUrlOrPath.protocol && fileUrlOrPath.auth === undefined);
386
+ }
387
+
388
+ // ../../node_modules/vfile/lib/minurl.browser.js
389
+ function urlToPath(path) {
390
+ if (typeof path === "string") {
391
+ path = new URL(path);
392
+ } else if (!isUrl(path)) {
393
+ const error = new TypeError('The "path" argument must be of type string or an instance of URL. Received `' + path + "`");
394
+ error.code = "ERR_INVALID_ARG_TYPE";
395
+ throw error;
396
+ }
397
+ if (path.protocol !== "file:") {
398
+ const error = new TypeError("The URL must be of scheme file");
399
+ error.code = "ERR_INVALID_URL_SCHEME";
400
+ throw error;
401
+ }
402
+ return getPathFromURLPosix(path);
403
+ }
404
+ function getPathFromURLPosix(url) {
405
+ if (url.hostname !== "") {
406
+ const error = new TypeError('File URL host must be "localhost" or empty on darwin');
407
+ error.code = "ERR_INVALID_FILE_URL_HOST";
408
+ throw error;
409
+ }
410
+ const pathname = url.pathname;
411
+ let index2 = -1;
412
+ while (++index2 < pathname.length) {
413
+ if (pathname.codePointAt(index2) === 37 && pathname.codePointAt(index2 + 1) === 50) {
414
+ const third = pathname.codePointAt(index2 + 2);
415
+ if (third === 70 || third === 102) {
416
+ const error = new TypeError("File URL path must not include encoded / characters");
417
+ error.code = "ERR_INVALID_FILE_URL_PATH";
418
+ throw error;
419
+ }
420
+ }
421
+ }
422
+ return decodeURIComponent(pathname);
423
+ }
424
+
425
+ // ../../node_modules/vfile/lib/index.js
426
+ var order = [
427
+ "history",
428
+ "path",
429
+ "basename",
430
+ "stem",
431
+ "extname",
432
+ "dirname"
433
+ ];
434
+
435
+ class VFile {
436
+ constructor(value) {
437
+ let options;
438
+ if (!value) {
439
+ options = {};
440
+ } else if (isUrl(value)) {
441
+ options = { path: value };
442
+ } else if (typeof value === "string" || isUint8Array(value)) {
443
+ options = { value };
444
+ } else {
445
+ options = value;
446
+ }
447
+ this.cwd = "cwd" in options ? "" : minproc.cwd();
448
+ this.data = {};
449
+ this.history = [];
450
+ this.messages = [];
451
+ this.value;
452
+ this.map;
453
+ this.result;
454
+ this.stored;
455
+ let index2 = -1;
456
+ while (++index2 < order.length) {
457
+ const field2 = order[index2];
458
+ if (field2 in options && options[field2] !== undefined && options[field2] !== null) {
459
+ this[field2] = field2 === "history" ? [...options[field2]] : options[field2];
460
+ }
461
+ }
462
+ let field;
463
+ for (field in options) {
464
+ if (!order.includes(field)) {
465
+ this[field] = options[field];
466
+ }
467
+ }
468
+ }
469
+ get basename() {
470
+ return typeof this.path === "string" ? minpath.basename(this.path) : undefined;
471
+ }
472
+ set basename(basename2) {
473
+ assertNonEmpty(basename2, "basename");
474
+ assertPart(basename2, "basename");
475
+ this.path = minpath.join(this.dirname || "", basename2);
476
+ }
477
+ get dirname() {
478
+ return typeof this.path === "string" ? minpath.dirname(this.path) : undefined;
479
+ }
480
+ set dirname(dirname2) {
481
+ assertPath2(this.basename, "dirname");
482
+ this.path = minpath.join(dirname2 || "", this.basename);
483
+ }
484
+ get extname() {
485
+ return typeof this.path === "string" ? minpath.extname(this.path) : undefined;
486
+ }
487
+ set extname(extname2) {
488
+ assertPart(extname2, "extname");
489
+ assertPath2(this.dirname, "extname");
490
+ if (extname2) {
491
+ if (extname2.codePointAt(0) !== 46) {
492
+ throw new Error("`extname` must start with `.`");
493
+ }
494
+ if (extname2.includes(".", 1)) {
495
+ throw new Error("`extname` cannot contain multiple dots");
496
+ }
497
+ }
498
+ this.path = minpath.join(this.dirname, this.stem + (extname2 || ""));
499
+ }
500
+ get path() {
501
+ return this.history[this.history.length - 1];
502
+ }
503
+ set path(path) {
504
+ if (isUrl(path)) {
505
+ path = urlToPath(path);
506
+ }
507
+ assertNonEmpty(path, "path");
508
+ if (this.path !== path) {
509
+ this.history.push(path);
510
+ }
511
+ }
512
+ get stem() {
513
+ return typeof this.path === "string" ? minpath.basename(this.path, this.extname) : undefined;
514
+ }
515
+ set stem(stem) {
516
+ assertNonEmpty(stem, "stem");
517
+ assertPart(stem, "stem");
518
+ this.path = minpath.join(this.dirname || "", stem + (this.extname || ""));
519
+ }
520
+ fail(causeOrReason, optionsOrParentOrPlace, origin) {
521
+ const message = this.message(causeOrReason, optionsOrParentOrPlace, origin);
522
+ message.fatal = true;
523
+ throw message;
524
+ }
525
+ info(causeOrReason, optionsOrParentOrPlace, origin) {
526
+ const message = this.message(causeOrReason, optionsOrParentOrPlace, origin);
527
+ message.fatal = undefined;
528
+ return message;
529
+ }
530
+ message(causeOrReason, optionsOrParentOrPlace, origin) {
531
+ const message = new VFileMessage(causeOrReason, optionsOrParentOrPlace, origin);
532
+ if (this.path) {
533
+ message.name = this.path + ":" + message.name;
534
+ message.file = this.path;
535
+ }
536
+ message.fatal = false;
537
+ this.messages.push(message);
538
+ return message;
539
+ }
540
+ toString(encoding) {
541
+ if (this.value === undefined) {
542
+ return "";
543
+ }
544
+ if (typeof this.value === "string") {
545
+ return this.value;
546
+ }
547
+ const decoder = new TextDecoder(encoding || undefined);
548
+ return decoder.decode(this.value);
549
+ }
550
+ }
551
+ function assertPart(part, name) {
552
+ if (part && part.includes(minpath.sep)) {
553
+ throw new Error("`" + name + "` cannot be a path: did not expect `" + minpath.sep + "`");
554
+ }
555
+ }
556
+ function assertNonEmpty(part, name) {
557
+ if (!part) {
558
+ throw new Error("`" + name + "` cannot be empty");
559
+ }
560
+ }
561
+ function assertPath2(path, name) {
562
+ if (!path) {
563
+ throw new Error("Setting `" + name + "` requires `path` to be set too");
564
+ }
565
+ }
566
+ function isUint8Array(value) {
567
+ return Boolean(value && typeof value === "object" && "byteLength" in value && "byteOffset" in value);
568
+ }
569
+ // ../../node_modules/comma-separated-tokens/index.js
570
+ function parse(value) {
571
+ const tokens = [];
572
+ const input = String(value || "");
573
+ let index2 = input.indexOf(",");
574
+ let start = 0;
575
+ let end = false;
576
+ while (!end) {
577
+ if (index2 === -1) {
578
+ index2 = input.length;
579
+ end = true;
580
+ }
581
+ const token = input.slice(start, index2).trim();
582
+ if (token || !end) {
583
+ tokens.push(token);
584
+ }
585
+ start = index2 + 1;
586
+ index2 = input.indexOf(",", start);
587
+ }
588
+ return tokens;
589
+ }
590
+ function stringify(values, options) {
591
+ const settings = options || {};
592
+ const input = values[values.length - 1] === "" ? [...values, ""] : values;
593
+ return input.join((settings.padRight ? " " : "") + "," + (settings.padLeft === false ? "" : " ")).trim();
594
+ }
595
+
596
+ // ../../node_modules/space-separated-tokens/index.js
597
+ function parse2(value) {
598
+ const input = String(value || "").trim();
599
+ return input ? input.split(/[ \t\n\r\f]+/g) : [];
600
+ }
601
+ function stringify2(values) {
602
+ return values.join(" ").trim();
603
+ }
604
+
605
+ export { parse, stringify, parse2 as parse1, stringify2 as stringify1, whitespace, ok, stringifyPosition, VFileMessage, VFile, validateComponentSlots };
606
+
607
+ //# debugId=19D84D704EAF18FF64756E2164756E21
608
+ //# sourceMappingURL=studio-bw5dz6km.js.map