@maizzle/framework 6.0.0-rc.9 → 6.0.1

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 (624) hide show
  1. package/README.md +3 -3
  2. package/bin/maizzle.mjs +1 -1
  3. package/dist/build.d.ts +38 -0
  4. package/dist/build.d.ts.map +1 -0
  5. package/dist/build.js +234 -0
  6. package/dist/build.js.map +1 -0
  7. package/dist/components/Body.vue +32 -3
  8. package/dist/components/Button.vue +91 -62
  9. package/dist/components/CodeBlock.vue +6 -4
  10. package/dist/components/CodeInline.vue +77 -6
  11. package/dist/components/Column.vue +67 -31
  12. package/dist/components/Container.vue +73 -12
  13. package/dist/components/Font.vue +96 -0
  14. package/dist/components/Head.vue +1 -1
  15. package/dist/components/Heading.vue +1 -1
  16. package/dist/components/Hr.vue +33 -0
  17. package/dist/components/Html.vue +36 -3
  18. package/dist/components/Img.vue +332 -0
  19. package/dist/components/Layout.vue +73 -21
  20. package/dist/components/Link.vue +1 -1
  21. package/dist/components/Markdown.vue +51 -24
  22. package/dist/components/MarkdownLayout.vue +39 -0
  23. package/dist/components/NotPlaintext.vue +14 -0
  24. package/dist/components/Outlook.vue +38 -11
  25. package/dist/components/OutlookBg.vue +241 -0
  26. package/dist/components/Plaintext.vue +14 -0
  27. package/dist/components/Preheader.vue +35 -10
  28. package/dist/components/QrCode.vue +157 -0
  29. package/dist/components/Raw.vue +28 -0
  30. package/dist/components/Row.vue +115 -22
  31. package/dist/components/Section.vue +65 -26
  32. package/dist/components/Spacer.vue +35 -29
  33. package/dist/components/Tailwind.vue +45 -0
  34. package/dist/components/Text.vue +3 -3
  35. package/dist/components/Vml.vue +207 -94
  36. package/dist/components/utils.d.ts +53 -0
  37. package/dist/components/utils.d.ts.map +1 -0
  38. package/dist/components/utils.js +80 -0
  39. package/dist/components/utils.js.map +1 -0
  40. package/dist/components/utils.ts +102 -0
  41. package/dist/composables/defineConfig.d.ts +13 -0
  42. package/dist/composables/defineConfig.d.ts.map +1 -0
  43. package/dist/composables/{defineConfig.mjs → defineConfig.js} +7 -9
  44. package/dist/composables/defineConfig.js.map +1 -0
  45. package/dist/composables/renderContext.d.ts +37 -0
  46. package/dist/composables/renderContext.d.ts.map +1 -0
  47. package/dist/composables/renderContext.js +6 -0
  48. package/dist/composables/renderContext.js.map +1 -0
  49. package/dist/composables/useBaseUrl.d.ts +19 -0
  50. package/dist/composables/useBaseUrl.d.ts.map +1 -0
  51. package/dist/composables/useBaseUrl.js +26 -0
  52. package/dist/composables/useBaseUrl.js.map +1 -0
  53. package/dist/composables/useConfig.d.ts +16 -0
  54. package/dist/composables/useConfig.d.ts.map +1 -0
  55. package/dist/composables/useConfig.js +19 -0
  56. package/dist/composables/useConfig.js.map +1 -0
  57. package/dist/composables/useCurrentTemplate.d.ts +31 -0
  58. package/dist/composables/useCurrentTemplate.d.ts.map +1 -0
  59. package/dist/composables/useCurrentTemplate.js +42 -0
  60. package/dist/composables/useCurrentTemplate.js.map +1 -0
  61. package/dist/composables/{useDoctype.d.mts → useDoctype.d.ts} +1 -1
  62. package/dist/composables/useDoctype.d.ts.map +1 -0
  63. package/dist/composables/{useDoctype.mjs → useDoctype.js} +3 -4
  64. package/dist/composables/useDoctype.js.map +1 -0
  65. package/dist/composables/{useEvent.d.mts → useEvent.d.ts} +3 -3
  66. package/dist/composables/useEvent.d.ts.map +1 -0
  67. package/dist/composables/{useEvent.mjs → useEvent.js} +4 -5
  68. package/dist/composables/useEvent.js.map +1 -0
  69. package/dist/composables/useFont.d.ts +50 -0
  70. package/dist/composables/useFont.d.ts.map +1 -0
  71. package/dist/composables/useFont.js +92 -0
  72. package/dist/composables/useFont.js.map +1 -0
  73. package/dist/composables/useOutlookFallback.d.ts +21 -0
  74. package/dist/composables/useOutlookFallback.d.ts.map +1 -0
  75. package/dist/composables/useOutlookFallback.js +29 -0
  76. package/dist/composables/useOutlookFallback.js.map +1 -0
  77. package/dist/composables/useOutputPath.d.ts +17 -0
  78. package/dist/composables/useOutputPath.d.ts.map +1 -0
  79. package/dist/composables/useOutputPath.js +23 -0
  80. package/dist/composables/useOutputPath.js.map +1 -0
  81. package/dist/composables/{usePlaintext.d.mts → usePlaintext.d.ts} +3 -1
  82. package/dist/composables/usePlaintext.d.ts.map +1 -0
  83. package/dist/composables/{usePlaintext.mjs → usePlaintext.js} +4 -4
  84. package/dist/composables/usePlaintext.js.map +1 -0
  85. package/dist/composables/usePreheader.d.ts +25 -0
  86. package/dist/composables/usePreheader.d.ts.map +1 -0
  87. package/dist/composables/usePreheader.js +28 -0
  88. package/dist/composables/usePreheader.js.map +1 -0
  89. package/dist/composables/useTransformers.d.ts +34 -0
  90. package/dist/composables/useTransformers.d.ts.map +1 -0
  91. package/dist/composables/useTransformers.js +48 -0
  92. package/dist/composables/useTransformers.js.map +1 -0
  93. package/dist/composables/useUrlQuery.d.ts +19 -0
  94. package/dist/composables/useUrlQuery.d.ts.map +1 -0
  95. package/dist/composables/useUrlQuery.js +26 -0
  96. package/dist/composables/useUrlQuery.js.map +1 -0
  97. package/dist/config/{defaults.d.mts → defaults.d.ts} +2 -2
  98. package/dist/config/defaults.d.ts.map +1 -0
  99. package/dist/config/{defaults.mjs → defaults.js} +10 -6
  100. package/dist/config/defaults.js.map +1 -0
  101. package/dist/config/index.d.ts +33 -0
  102. package/dist/config/index.d.ts.map +1 -0
  103. package/dist/config/index.js +136 -0
  104. package/dist/config/index.js.map +1 -0
  105. package/dist/events/{index.d.mts → index.d.ts} +35 -12
  106. package/dist/events/index.d.ts.map +1 -0
  107. package/dist/events/{index.mjs → index.js} +31 -13
  108. package/dist/events/index.js.map +1 -0
  109. package/dist/index.d.ts +41 -0
  110. package/dist/index.js +40 -0
  111. package/dist/{plaintext.d.mts → plaintext.d.ts} +1 -1
  112. package/dist/plaintext.d.ts.map +1 -0
  113. package/dist/{plaintext.mjs → plaintext.js} +4 -5
  114. package/dist/plaintext.js.map +1 -0
  115. package/dist/{plugin.d.mts → plugin.d.ts} +2 -2
  116. package/dist/plugin.d.ts.map +1 -0
  117. package/dist/{plugin.mjs → plugin.js} +8 -9
  118. package/dist/plugin.js.map +1 -0
  119. package/dist/plugins/postcss/{mergeMediaQueries.d.mts → mergeMediaQueries.d.ts} +2 -2
  120. package/dist/plugins/postcss/mergeMediaQueries.d.ts.map +1 -0
  121. package/dist/plugins/postcss/{mergeMediaQueries.mjs → mergeMediaQueries.js} +2 -3
  122. package/dist/plugins/postcss/mergeMediaQueries.js.map +1 -0
  123. package/dist/plugins/postcss/{pruneVars.d.mts → pruneVars.d.ts} +1 -1
  124. package/dist/plugins/postcss/pruneVars.d.ts.map +1 -0
  125. package/dist/plugins/postcss/{pruneVars.mjs → pruneVars.js} +2 -2
  126. package/dist/plugins/postcss/pruneVars.js.map +1 -0
  127. package/dist/plugins/postcss/quoteFontFamilies.d.ts +13 -0
  128. package/dist/plugins/postcss/quoteFontFamilies.d.ts.map +1 -0
  129. package/dist/plugins/postcss/quoteFontFamilies.js +84 -0
  130. package/dist/plugins/postcss/quoteFontFamilies.js.map +1 -0
  131. package/dist/plugins/postcss/{removeDeclarations.d.mts → removeDeclarations.d.ts} +1 -1
  132. package/dist/plugins/postcss/removeDeclarations.d.ts.map +1 -0
  133. package/dist/plugins/postcss/{removeDeclarations.mjs → removeDeclarations.js} +2 -2
  134. package/dist/plugins/postcss/removeDeclarations.js.map +1 -0
  135. package/dist/plugins/postcss/resolveMaizzleImports.d.ts +16 -0
  136. package/dist/plugins/postcss/resolveMaizzleImports.d.ts.map +1 -0
  137. package/dist/plugins/postcss/resolveMaizzleImports.js +39 -0
  138. package/dist/plugins/postcss/resolveMaizzleImports.js.map +1 -0
  139. package/dist/plugins/postcss/resolveProps.d.ts +8 -0
  140. package/dist/plugins/postcss/resolveProps.d.ts.map +1 -0
  141. package/dist/plugins/postcss/resolveProps.js +155 -0
  142. package/dist/plugins/postcss/resolveProps.js.map +1 -0
  143. package/dist/plugins/postcss/{tailwindCleanup.d.mts → tailwindCleanup.d.ts} +2 -2
  144. package/dist/plugins/postcss/tailwindCleanup.d.ts.map +1 -0
  145. package/dist/plugins/postcss/{tailwindCleanup.mjs → tailwindCleanup.js} +5 -3
  146. package/dist/plugins/postcss/tailwindCleanup.js.map +1 -0
  147. package/dist/prepare.d.ts +17 -0
  148. package/dist/prepare.d.ts.map +1 -0
  149. package/dist/prepare.js +44 -0
  150. package/dist/prepare.js.map +1 -0
  151. package/dist/render/active.d.ts +8 -0
  152. package/dist/render/active.d.ts.map +1 -0
  153. package/dist/render/active.js +12 -0
  154. package/dist/render/active.js.map +1 -0
  155. package/dist/render/buildTemplate.d.ts +49 -0
  156. package/dist/render/buildTemplate.d.ts.map +1 -0
  157. package/dist/render/buildTemplate.js +141 -0
  158. package/dist/render/buildTemplate.js.map +1 -0
  159. package/dist/render/{createRenderer.d.mts → createRenderer.d.ts} +14 -6
  160. package/dist/render/createRenderer.d.ts.map +1 -0
  161. package/dist/render/createRenderer.js +468 -0
  162. package/dist/render/createRenderer.js.map +1 -0
  163. package/dist/render/index.d.ts +18 -0
  164. package/dist/render/index.d.ts.map +1 -0
  165. package/dist/render/index.js +59 -0
  166. package/dist/render/index.js.map +1 -0
  167. package/dist/render/injectFonts.d.ts +15 -0
  168. package/dist/render/injectFonts.d.ts.map +1 -0
  169. package/dist/render/injectFonts.js +45 -0
  170. package/dist/render/injectFonts.js.map +1 -0
  171. package/dist/render/parallel/buildWorker.d.ts +31 -0
  172. package/dist/render/parallel/buildWorker.d.ts.map +1 -0
  173. package/dist/render/parallel/buildWorker.js +66 -0
  174. package/dist/render/parallel/buildWorker.js.map +1 -0
  175. package/dist/render/parallel/worker.mjs +28 -0
  176. package/dist/render/plugins/codeBlockExtract.d.ts +14 -0
  177. package/dist/render/plugins/codeBlockExtract.d.ts.map +1 -0
  178. package/dist/render/plugins/codeBlockExtract.js +38 -0
  179. package/dist/render/plugins/codeBlockExtract.js.map +1 -0
  180. package/dist/render/plugins/markdownExtract.d.ts +12 -0
  181. package/dist/render/plugins/markdownExtract.d.ts.map +1 -0
  182. package/dist/render/plugins/markdownExtract.js +49 -0
  183. package/dist/render/plugins/markdownExtract.js.map +1 -0
  184. package/dist/render/plugins/rawExtract.d.ts +14 -0
  185. package/dist/render/plugins/rawExtract.d.ts.map +1 -0
  186. package/dist/render/plugins/rawExtract.js +34 -0
  187. package/dist/render/plugins/rawExtract.js.map +1 -0
  188. package/dist/render/plugins/rowSourceLocation.d.ts +18 -0
  189. package/dist/render/plugins/rowSourceLocation.d.ts.map +1 -0
  190. package/dist/render/plugins/rowSourceLocation.js +45 -0
  191. package/dist/render/plugins/rowSourceLocation.js.map +1 -0
  192. package/dist/{serve.d.mts → serve.d.ts} +5 -3
  193. package/dist/serve.d.ts.map +1 -0
  194. package/dist/{serve.mjs → serve.js} +248 -119
  195. package/dist/serve.js.map +1 -0
  196. package/dist/server/compatibility.d.ts +59 -0
  197. package/dist/server/compatibility.d.ts.map +1 -0
  198. package/dist/server/compatibility.js +959 -0
  199. package/dist/server/compatibility.js.map +1 -0
  200. package/dist/server/{email.d.mts → email.d.ts} +2 -2
  201. package/dist/server/email.d.ts.map +1 -0
  202. package/dist/server/{email.mjs → email.js} +2 -3
  203. package/dist/server/email.js.map +1 -0
  204. package/dist/server/linter.d.ts +20 -0
  205. package/dist/server/linter.d.ts.map +1 -0
  206. package/dist/server/linter.js +345 -0
  207. package/dist/server/linter.js.map +1 -0
  208. package/dist/server/sfc-utils.d.ts +21 -0
  209. package/dist/server/sfc-utils.d.ts.map +1 -0
  210. package/dist/server/sfc-utils.js +198 -0
  211. package/dist/server/sfc-utils.js.map +1 -0
  212. package/dist/server/ui/.vite/deps/@lucide_vue.js +44967 -0
  213. package/dist/server/ui/.vite/deps/@lucide_vue.js.map +1 -0
  214. package/dist/server/ui/.vite/deps/@vueuse_core.js +8155 -0
  215. package/dist/server/ui/.vite/deps/@vueuse_core.js.map +1 -0
  216. package/dist/server/ui/.vite/deps/@vueuse_shared.js +1859 -0
  217. package/dist/server/ui/.vite/deps/@vueuse_shared.js.map +1 -0
  218. package/dist/server/ui/.vite/deps/_metadata.json +78 -0
  219. package/dist/server/ui/.vite/deps/chunk-EAsCxrDo.js +14 -0
  220. package/dist/server/ui/.vite/deps/class-variance-authority.js +57 -0
  221. package/dist/server/ui/.vite/deps/class-variance-authority.js.map +1 -0
  222. package/dist/server/ui/.vite/deps/clsx.js +18 -0
  223. package/dist/server/ui/.vite/deps/clsx.js.map +1 -0
  224. package/dist/server/ui/.vite/deps/culori.js +4312 -0
  225. package/dist/server/ui/.vite/deps/culori.js.map +1 -0
  226. package/dist/server/ui/.vite/deps/package.json +3 -0
  227. package/dist/server/ui/.vite/deps/reka-ui.js +44464 -0
  228. package/dist/server/ui/.vite/deps/reka-ui.js.map +1 -0
  229. package/dist/server/ui/.vite/deps/tailwind-merge.js +3458 -0
  230. package/dist/server/ui/.vite/deps/tailwind-merge.js.map +1 -0
  231. package/dist/server/ui/.vite/deps/vue-router.js +6383 -0
  232. package/dist/server/ui/.vite/deps/vue-router.js.map +1 -0
  233. package/dist/server/ui/.vite/deps/vue.js +2 -0
  234. package/dist/server/ui/.vite/deps/vue.runtime.esm-bundler-N1X0OxKs.js +8800 -0
  235. package/dist/server/ui/.vite/deps/vue.runtime.esm-bundler-N1X0OxKs.js.map +1 -0
  236. package/dist/server/ui/App.vue +106 -66
  237. package/dist/server/ui/components/SidebarClose.vue +12 -0
  238. package/dist/server/ui/components/ui/checkbox/Checkbox.vue +1 -1
  239. package/dist/server/ui/components/ui/command/Command.vue +5 -1
  240. package/dist/server/ui/components/ui/command/CommandInput.vue +2 -2
  241. package/dist/server/ui/components/ui/dialog/DialogContent.vue +1 -1
  242. package/dist/server/ui/components/ui/dialog/DialogScrollContent.vue +1 -1
  243. package/dist/server/ui/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +1 -1
  244. package/dist/server/ui/components/ui/dropdown-menu/DropdownMenuRadioItem.vue +1 -1
  245. package/dist/server/ui/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue +1 -1
  246. package/dist/server/ui/components/ui/input/Input.vue +1 -1
  247. package/dist/server/ui/components/ui/sheet/SheetContent.vue +1 -1
  248. package/dist/server/ui/components/ui/sidebar/SidebarTrigger.vue +2 -2
  249. package/dist/server/ui/components/ui/tags-input/TagsInputInput.vue +1 -1
  250. package/dist/server/ui/components/ui/tags-input/TagsInputItemDelete.vue +1 -1
  251. package/dist/server/ui/lib/emulated-dark-mode.ts +146 -0
  252. package/dist/server/ui/main.css +25 -0
  253. package/dist/server/ui/pages/Home.vue +1 -1
  254. package/dist/server/ui/pages/Preview.vue +377 -186
  255. package/dist/server/ui/vite-env.d.ts +1 -0
  256. package/dist/tests/render/_helpers.d.ts +6 -0
  257. package/dist/tests/render/_helpers.d.ts.map +1 -0
  258. package/dist/tests/render/_helpers.js +16 -0
  259. package/dist/tests/render/_helpers.js.map +1 -0
  260. package/dist/transformers/addAttributes.d.ts +42 -0
  261. package/dist/transformers/addAttributes.d.ts.map +1 -0
  262. package/dist/transformers/{addAttributes.mjs → addAttributes.js} +40 -24
  263. package/dist/transformers/addAttributes.js.map +1 -0
  264. package/dist/transformers/attributeToStyle.d.ts +38 -0
  265. package/dist/transformers/attributeToStyle.d.ts.map +1 -0
  266. package/dist/transformers/attributeToStyle.js +94 -0
  267. package/dist/transformers/attributeToStyle.js.map +1 -0
  268. package/dist/transformers/base.d.ts +71 -0
  269. package/dist/transformers/base.d.ts.map +1 -0
  270. package/dist/transformers/{base.mjs → base.js} +65 -40
  271. package/dist/transformers/base.js.map +1 -0
  272. package/dist/transformers/columnWidth.d.ts +31 -0
  273. package/dist/transformers/columnWidth.d.ts.map +1 -0
  274. package/dist/transformers/columnWidth.js +527 -0
  275. package/dist/transformers/columnWidth.js.map +1 -0
  276. package/dist/transformers/entities.d.ts +37 -0
  277. package/dist/transformers/entities.d.ts.map +1 -0
  278. package/dist/transformers/entities.js +74 -0
  279. package/dist/transformers/entities.js.map +1 -0
  280. package/dist/transformers/filters/{defaults.d.mts → defaults.d.ts} +1 -1
  281. package/dist/transformers/filters/defaults.d.ts.map +1 -0
  282. package/dist/transformers/filters/{defaults.mjs → defaults.js} +2 -2
  283. package/dist/transformers/filters/defaults.js.map +1 -0
  284. package/dist/transformers/filters/index.d.ts +43 -0
  285. package/dist/transformers/filters/index.d.ts.map +1 -0
  286. package/dist/transformers/filters/index.js +89 -0
  287. package/dist/transformers/filters/index.js.map +1 -0
  288. package/dist/transformers/format.d.ts +22 -0
  289. package/dist/transformers/format.d.ts.map +1 -0
  290. package/dist/transformers/format.js +30 -0
  291. package/dist/transformers/format.js.map +1 -0
  292. package/dist/transformers/imgWidth.d.ts +20 -0
  293. package/dist/transformers/imgWidth.d.ts.map +1 -0
  294. package/dist/transformers/imgWidth.js +76 -0
  295. package/dist/transformers/imgWidth.js.map +1 -0
  296. package/dist/transformers/{index.d.mts → index.d.ts} +4 -3
  297. package/dist/transformers/index.d.ts.map +1 -0
  298. package/dist/transformers/index.js +163 -0
  299. package/dist/transformers/index.js.map +1 -0
  300. package/dist/transformers/inlineCss.d.ts +85 -0
  301. package/dist/transformers/inlineCss.d.ts.map +1 -0
  302. package/dist/transformers/inlineCss.js +112 -0
  303. package/dist/transformers/inlineCss.js.map +1 -0
  304. package/dist/transformers/inlineLink.d.ts +35 -0
  305. package/dist/transformers/inlineLink.d.ts.map +1 -0
  306. package/dist/transformers/{inlineLink.mjs → inlineLink.js} +35 -11
  307. package/dist/transformers/inlineLink.js.map +1 -0
  308. package/dist/transformers/minify.d.ts +21 -0
  309. package/dist/transformers/minify.d.ts.map +1 -0
  310. package/dist/transformers/minify.js +25 -0
  311. package/dist/transformers/minify.js.map +1 -0
  312. package/dist/transformers/minifyCodeInline.d.ts +29 -0
  313. package/dist/transformers/minifyCodeInline.d.ts.map +1 -0
  314. package/dist/transformers/minifyCodeInline.js +36 -0
  315. package/dist/transformers/minifyCodeInline.js.map +1 -0
  316. package/dist/transformers/msoPlaceholders.d.ts +33 -0
  317. package/dist/transformers/msoPlaceholders.d.ts.map +1 -0
  318. package/dist/transformers/msoPlaceholders.js +114 -0
  319. package/dist/transformers/msoPlaceholders.js.map +1 -0
  320. package/dist/transformers/purgeCss.d.ts +43 -0
  321. package/dist/transformers/purgeCss.d.ts.map +1 -0
  322. package/dist/transformers/purgeCss.js +207 -0
  323. package/dist/transformers/purgeCss.js.map +1 -0
  324. package/dist/transformers/removeAttributes.d.ts +54 -0
  325. package/dist/transformers/removeAttributes.d.ts.map +1 -0
  326. package/dist/transformers/removeAttributes.js +72 -0
  327. package/dist/transformers/removeAttributes.js.map +1 -0
  328. package/dist/transformers/{replaceStrings.d.mts → replaceStrings.d.ts} +2 -2
  329. package/dist/transformers/replaceStrings.d.ts.map +1 -0
  330. package/dist/transformers/{replaceStrings.mjs → replaceStrings.js} +2 -2
  331. package/dist/transformers/replaceStrings.js.map +1 -0
  332. package/dist/transformers/safeSelectors.d.ts +37 -0
  333. package/dist/transformers/safeSelectors.d.ts.map +1 -0
  334. package/dist/transformers/{safeClassNames.mjs → safeSelectors.js} +40 -10
  335. package/dist/transformers/safeSelectors.js.map +1 -0
  336. package/dist/transformers/shorthandCss.d.ts +47 -0
  337. package/dist/transformers/shorthandCss.d.ts.map +1 -0
  338. package/dist/transformers/shorthandCss.js +92 -0
  339. package/dist/transformers/shorthandCss.js.map +1 -0
  340. package/dist/transformers/sixHex.d.ts +25 -0
  341. package/dist/transformers/sixHex.d.ts.map +1 -0
  342. package/dist/transformers/sixHex.js +42 -0
  343. package/dist/transformers/sixHex.js.map +1 -0
  344. package/dist/transformers/tailwindComponent.d.ts +16 -0
  345. package/dist/transformers/tailwindComponent.d.ts.map +1 -0
  346. package/dist/transformers/tailwindComponent.js +101 -0
  347. package/dist/transformers/tailwindComponent.js.map +1 -0
  348. package/dist/transformers/{tailwindcss.d.mts → tailwindcss.d.ts} +2 -2
  349. package/dist/transformers/tailwindcss.d.ts.map +1 -0
  350. package/dist/transformers/{tailwindcss.mjs → tailwindcss.js} +33 -74
  351. package/dist/transformers/tailwindcss.js.map +1 -0
  352. package/dist/transformers/urlQuery.d.ts +36 -0
  353. package/dist/transformers/urlQuery.d.ts.map +1 -0
  354. package/dist/transformers/urlQuery.js +77 -0
  355. package/dist/transformers/urlQuery.js.map +1 -0
  356. package/dist/types/{config.d.mts → config.d.ts} +231 -46
  357. package/dist/types/config.d.ts.map +1 -0
  358. package/dist/types/config.js +1 -0
  359. package/dist/types/index.d.ts +2 -0
  360. package/dist/types/index.js +1 -0
  361. package/dist/utils/ast/index.d.ts +4 -0
  362. package/dist/utils/ast/index.js +4 -0
  363. package/dist/utils/ast/{parser.d.mts → parser.d.ts} +1 -1
  364. package/dist/utils/ast/parser.d.ts.map +1 -0
  365. package/dist/utils/ast/{parser.mjs → parser.js} +2 -3
  366. package/dist/utils/ast/parser.js.map +1 -0
  367. package/dist/utils/ast/{serializer.d.mts → serializer.d.ts} +1 -1
  368. package/dist/utils/ast/serializer.d.ts.map +1 -0
  369. package/dist/utils/ast/serializer.js +46 -0
  370. package/dist/utils/ast/serializer.js.map +1 -0
  371. package/dist/utils/ast/{walker.d.mts → walker.d.ts} +1 -1
  372. package/dist/utils/ast/walker.d.ts.map +1 -0
  373. package/dist/utils/ast/{walker.mjs → walker.js} +2 -2
  374. package/dist/utils/ast/walker.js.map +1 -0
  375. package/dist/utils/cloneConfig.d.ts +13 -0
  376. package/dist/utils/cloneConfig.d.ts.map +1 -0
  377. package/dist/utils/cloneConfig.js +21 -0
  378. package/dist/utils/cloneConfig.js.map +1 -0
  379. package/dist/utils/compileTailwindCss.d.ts +16 -0
  380. package/dist/utils/compileTailwindCss.d.ts.map +1 -0
  381. package/dist/utils/compileTailwindCss.js +55 -0
  382. package/dist/utils/compileTailwindCss.js.map +1 -0
  383. package/dist/utils/componentSources.d.ts +50 -0
  384. package/dist/utils/componentSources.d.ts.map +1 -0
  385. package/dist/utils/componentSources.js +50 -0
  386. package/dist/utils/componentSources.js.map +1 -0
  387. package/dist/utils/cssBox.d.ts +42 -0
  388. package/dist/utils/cssBox.d.ts.map +1 -0
  389. package/dist/utils/cssBox.js +151 -0
  390. package/dist/utils/cssBox.js.map +1 -0
  391. package/dist/utils/decodeStyleEntities.d.ts +15 -0
  392. package/dist/utils/decodeStyleEntities.d.ts.map +1 -0
  393. package/dist/utils/decodeStyleEntities.js +18 -0
  394. package/dist/utils/decodeStyleEntities.js.map +1 -0
  395. package/dist/utils/{detect.d.mts → detect.d.ts} +1 -1
  396. package/dist/utils/detect.d.ts.map +1 -0
  397. package/dist/utils/{detect.mjs → detect.js} +2 -3
  398. package/dist/utils/detect.js.map +1 -0
  399. package/dist/utils/output-markers.d.ts +29 -0
  400. package/dist/utils/output-markers.d.ts.map +1 -0
  401. package/dist/utils/output-markers.js +68 -0
  402. package/dist/utils/output-markers.js.map +1 -0
  403. package/dist/utils/{url.d.mts → url.d.ts} +1 -1
  404. package/dist/utils/url.d.ts.map +1 -0
  405. package/dist/utils/{url.mjs → url.js} +2 -3
  406. package/dist/utils/url.js.map +1 -0
  407. package/dist/utils/watchPaths.d.ts +11 -0
  408. package/dist/utils/watchPaths.d.ts.map +1 -0
  409. package/dist/utils/watchPaths.js +19 -0
  410. package/dist/utils/watchPaths.js.map +1 -0
  411. package/node_modules/@clack/core/CHANGELOG.md +44 -0
  412. package/node_modules/@clack/core/dist/index.d.mts +125 -5
  413. package/node_modules/@clack/core/dist/index.mjs +972 -11
  414. package/node_modules/@clack/core/package.json +6 -2
  415. package/node_modules/@clack/prompts/CHANGELOG.md +70 -0
  416. package/node_modules/@clack/prompts/README.md +129 -3
  417. package/node_modules/@clack/prompts/dist/index.d.mts +567 -33
  418. package/node_modules/@clack/prompts/dist/index.mjs +1378 -133
  419. package/node_modules/@clack/prompts/package.json +7 -4
  420. package/node_modules/fast-string-truncated-width/dist/index.js +36 -96
  421. package/node_modules/fast-string-truncated-width/dist/types.d.ts +0 -3
  422. package/node_modules/fast-string-truncated-width/dist/utils.d.ts +3 -3
  423. package/node_modules/fast-string-truncated-width/dist/utils.js +14 -9
  424. package/node_modules/fast-string-truncated-width/package.json +1 -1
  425. package/node_modules/fast-string-truncated-width/readme.md +2 -3
  426. package/node_modules/fast-string-width/package.json +2 -2
  427. package/node_modules/fast-string-width/readme.md +0 -3
  428. package/node_modules/fast-wrap-ansi/lib/main.js +4 -2
  429. package/node_modules/fast-wrap-ansi/package.json +11 -11
  430. package/node_modules/maizzle/README.md +24 -0
  431. package/node_modules/maizzle/dist/commands/make/component.mjs +1 -1
  432. package/node_modules/maizzle/dist/commands/make/config.mjs +8 -7
  433. package/node_modules/maizzle/dist/commands/make/layout.mjs +3 -3
  434. package/node_modules/maizzle/dist/commands/make/scaffold.mjs +1 -1
  435. package/node_modules/maizzle/dist/commands/make/stubs/Layout.vue +146 -0
  436. package/node_modules/maizzle/dist/commands/make/stubs/component.vue +2 -4
  437. package/node_modules/maizzle/dist/commands/make/stubs/config.ts +1 -5
  438. package/node_modules/maizzle/dist/commands/make/template.mjs +1 -1
  439. package/node_modules/maizzle/dist/commands/new.mjs +46 -135
  440. package/node_modules/maizzle/dist/index.d.mts +1 -0
  441. package/node_modules/maizzle/dist/index.mjs +30 -7
  442. package/node_modules/maizzle/package.json +5 -4
  443. package/node_modules/nypm/dist/cli.mjs +28 -5
  444. package/node_modules/nypm/dist/index.d.mts +0 -8
  445. package/node_modules/nypm/dist/index.mjs +27 -4
  446. package/node_modules/nypm/package.json +12 -12
  447. package/node_modules/tinyexec/README.md +9 -1
  448. package/node_modules/tinyexec/dist/main.d.mts +22 -7
  449. package/node_modules/tinyexec/dist/main.mjs +189 -491
  450. package/node_modules/tinyexec/package.json +14 -16
  451. package/package.json +38 -31
  452. package/dist/_virtual/_rolldown/runtime.mjs +0 -32
  453. package/dist/build.d.mts +0 -19
  454. package/dist/build.d.mts.map +0 -1
  455. package/dist/build.mjs +0 -141
  456. package/dist/build.mjs.map +0 -1
  457. package/dist/components/Divider.vue +0 -133
  458. package/dist/components/Image.vue +0 -70
  459. package/dist/components/Overlap.vue +0 -80
  460. package/dist/components/utils.d.mts +0 -5
  461. package/dist/components/utils.d.mts.map +0 -1
  462. package/dist/components/utils.mjs +0 -9
  463. package/dist/components/utils.mjs.map +0 -1
  464. package/dist/composables/defineConfig.d.mts +0 -14
  465. package/dist/composables/defineConfig.d.mts.map +0 -1
  466. package/dist/composables/defineConfig.mjs.map +0 -1
  467. package/dist/composables/renderContext.d.mts +0 -24
  468. package/dist/composables/renderContext.d.mts.map +0 -1
  469. package/dist/composables/renderContext.mjs +0 -6
  470. package/dist/composables/renderContext.mjs.map +0 -1
  471. package/dist/composables/useConfig.d.mts +0 -9
  472. package/dist/composables/useConfig.d.mts.map +0 -1
  473. package/dist/composables/useConfig.mjs +0 -13
  474. package/dist/composables/useConfig.mjs.map +0 -1
  475. package/dist/composables/useDoctype.d.mts.map +0 -1
  476. package/dist/composables/useDoctype.mjs.map +0 -1
  477. package/dist/composables/useEvent.d.mts.map +0 -1
  478. package/dist/composables/useEvent.mjs.map +0 -1
  479. package/dist/composables/usePlaintext.d.mts.map +0 -1
  480. package/dist/composables/usePlaintext.mjs.map +0 -1
  481. package/dist/composables/usePreviewText.d.mts +0 -24
  482. package/dist/composables/usePreviewText.d.mts.map +0 -1
  483. package/dist/composables/usePreviewText.mjs +0 -29
  484. package/dist/composables/usePreviewText.mjs.map +0 -1
  485. package/dist/config/defaults.d.mts.map +0 -1
  486. package/dist/config/defaults.mjs.map +0 -1
  487. package/dist/config/index.d.mts +0 -15
  488. package/dist/config/index.d.mts.map +0 -1
  489. package/dist/config/index.mjs +0 -71
  490. package/dist/config/index.mjs.map +0 -1
  491. package/dist/events/index.d.mts.map +0 -1
  492. package/dist/events/index.mjs.map +0 -1
  493. package/dist/index.d.mts +0 -31
  494. package/dist/index.mjs +0 -31
  495. package/dist/node_modules/picomatch/index.mjs +0 -13
  496. package/dist/node_modules/picomatch/index.mjs.map +0 -1
  497. package/dist/node_modules/picomatch/lib/constants.mjs +0 -174
  498. package/dist/node_modules/picomatch/lib/constants.mjs.map +0 -1
  499. package/dist/node_modules/picomatch/lib/parse.mjs +0 -1067
  500. package/dist/node_modules/picomatch/lib/parse.mjs.map +0 -1
  501. package/dist/node_modules/picomatch/lib/picomatch.mjs +0 -304
  502. package/dist/node_modules/picomatch/lib/picomatch.mjs.map +0 -1
  503. package/dist/node_modules/picomatch/lib/scan.mjs +0 -296
  504. package/dist/node_modules/picomatch/lib/scan.mjs.map +0 -1
  505. package/dist/node_modules/picomatch/lib/utils.mjs +0 -53
  506. package/dist/node_modules/picomatch/lib/utils.mjs.map +0 -1
  507. package/dist/plaintext.d.mts.map +0 -1
  508. package/dist/plaintext.mjs.map +0 -1
  509. package/dist/plugin.d.mts.map +0 -1
  510. package/dist/plugin.mjs.map +0 -1
  511. package/dist/plugins/postcss/mergeMediaQueries.d.mts.map +0 -1
  512. package/dist/plugins/postcss/mergeMediaQueries.mjs.map +0 -1
  513. package/dist/plugins/postcss/pruneVars.d.mts.map +0 -1
  514. package/dist/plugins/postcss/pruneVars.mjs.map +0 -1
  515. package/dist/plugins/postcss/removeDeclarations.d.mts.map +0 -1
  516. package/dist/plugins/postcss/removeDeclarations.mjs.map +0 -1
  517. package/dist/plugins/postcss/tailwindCleanup.d.mts.map +0 -1
  518. package/dist/plugins/postcss/tailwindCleanup.mjs.map +0 -1
  519. package/dist/render/createRenderer.d.mts.map +0 -1
  520. package/dist/render/createRenderer.mjs +0 -286
  521. package/dist/render/createRenderer.mjs.map +0 -1
  522. package/dist/render/index.d.mts +0 -26
  523. package/dist/render/index.d.mts.map +0 -1
  524. package/dist/render/index.mjs +0 -46
  525. package/dist/render/index.mjs.map +0 -1
  526. package/dist/serve.d.mts.map +0 -1
  527. package/dist/serve.mjs.map +0 -1
  528. package/dist/server/compatibility.d.mts +0 -5
  529. package/dist/server/compatibility.d.mts.map +0 -1
  530. package/dist/server/compatibility.mjs +0 -97
  531. package/dist/server/compatibility.mjs.map +0 -1
  532. package/dist/server/email.d.mts.map +0 -1
  533. package/dist/server/email.mjs.map +0 -1
  534. package/dist/server/linter.d.mts +0 -5
  535. package/dist/server/linter.d.mts.map +0 -1
  536. package/dist/server/linter.mjs +0 -189
  537. package/dist/server/linter.mjs.map +0 -1
  538. package/dist/transformers/addAttributes.d.mts +0 -32
  539. package/dist/transformers/addAttributes.d.mts.map +0 -1
  540. package/dist/transformers/addAttributes.mjs.map +0 -1
  541. package/dist/transformers/attributeToStyle.d.mts +0 -25
  542. package/dist/transformers/attributeToStyle.d.mts.map +0 -1
  543. package/dist/transformers/attributeToStyle.mjs +0 -80
  544. package/dist/transformers/attributeToStyle.mjs.map +0 -1
  545. package/dist/transformers/base.d.mts +0 -8
  546. package/dist/transformers/base.d.mts.map +0 -1
  547. package/dist/transformers/base.mjs.map +0 -1
  548. package/dist/transformers/entities.d.mts +0 -8
  549. package/dist/transformers/entities.d.mts.map +0 -1
  550. package/dist/transformers/entities.mjs +0 -41
  551. package/dist/transformers/entities.mjs.map +0 -1
  552. package/dist/transformers/filters/defaults.d.mts.map +0 -1
  553. package/dist/transformers/filters/defaults.mjs.map +0 -1
  554. package/dist/transformers/filters/index.d.mts +0 -22
  555. package/dist/transformers/filters/index.d.mts.map +0 -1
  556. package/dist/transformers/filters/index.mjs +0 -67
  557. package/dist/transformers/filters/index.mjs.map +0 -1
  558. package/dist/transformers/format.d.mts +0 -15
  559. package/dist/transformers/format.d.mts.map +0 -1
  560. package/dist/transformers/format.mjs +0 -26
  561. package/dist/transformers/format.mjs.map +0 -1
  562. package/dist/transformers/index.d.mts.map +0 -1
  563. package/dist/transformers/index.mjs +0 -81
  564. package/dist/transformers/index.mjs.map +0 -1
  565. package/dist/transformers/inlineCSS.d.mts +0 -17
  566. package/dist/transformers/inlineCSS.d.mts.map +0 -1
  567. package/dist/transformers/inlineCSS.mjs +0 -70
  568. package/dist/transformers/inlineCSS.mjs.map +0 -1
  569. package/dist/transformers/inlineLink.d.mts +0 -14
  570. package/dist/transformers/inlineLink.d.mts.map +0 -1
  571. package/dist/transformers/inlineLink.mjs.map +0 -1
  572. package/dist/transformers/minify.d.mts +0 -17
  573. package/dist/transformers/minify.d.mts.map +0 -1
  574. package/dist/transformers/minify.mjs +0 -24
  575. package/dist/transformers/minify.mjs.map +0 -1
  576. package/dist/transformers/purgeCSS.d.mts +0 -23
  577. package/dist/transformers/purgeCSS.d.mts.map +0 -1
  578. package/dist/transformers/purgeCSS.mjs +0 -132
  579. package/dist/transformers/purgeCSS.mjs.map +0 -1
  580. package/dist/transformers/removeAttributes.d.mts +0 -31
  581. package/dist/transformers/removeAttributes.d.mts.map +0 -1
  582. package/dist/transformers/removeAttributes.mjs +0 -63
  583. package/dist/transformers/removeAttributes.mjs.map +0 -1
  584. package/dist/transformers/replaceStrings.d.mts.map +0 -1
  585. package/dist/transformers/replaceStrings.mjs.map +0 -1
  586. package/dist/transformers/safeClassNames.d.mts +0 -22
  587. package/dist/transformers/safeClassNames.d.mts.map +0 -1
  588. package/dist/transformers/safeClassNames.mjs.map +0 -1
  589. package/dist/transformers/shorthandCSS.d.mts +0 -24
  590. package/dist/transformers/shorthandCSS.d.mts.map +0 -1
  591. package/dist/transformers/shorthandCSS.mjs +0 -48
  592. package/dist/transformers/shorthandCSS.mjs.map +0 -1
  593. package/dist/transformers/sixHex.d.mts +0 -16
  594. package/dist/transformers/sixHex.d.mts.map +0 -1
  595. package/dist/transformers/sixHex.mjs +0 -30
  596. package/dist/transformers/sixHex.mjs.map +0 -1
  597. package/dist/transformers/tailwindcss.d.mts.map +0 -1
  598. package/dist/transformers/tailwindcss.mjs.map +0 -1
  599. package/dist/transformers/urlQuery.d.mts +0 -24
  600. package/dist/transformers/urlQuery.d.mts.map +0 -1
  601. package/dist/transformers/urlQuery.mjs +0 -65
  602. package/dist/transformers/urlQuery.mjs.map +0 -1
  603. package/dist/types/config.d.mts.map +0 -1
  604. package/dist/types/config.mjs +0 -1
  605. package/dist/types/index.d.mts +0 -2
  606. package/dist/types/index.mjs +0 -1
  607. package/dist/utils/ast/index.d.mts +0 -4
  608. package/dist/utils/ast/index.mjs +0 -5
  609. package/dist/utils/ast/parser.d.mts.map +0 -1
  610. package/dist/utils/ast/parser.mjs.map +0 -1
  611. package/dist/utils/ast/serializer.d.mts.map +0 -1
  612. package/dist/utils/ast/serializer.mjs +0 -37
  613. package/dist/utils/ast/serializer.mjs.map +0 -1
  614. package/dist/utils/ast/walker.d.mts.map +0 -1
  615. package/dist/utils/ast/walker.mjs.map +0 -1
  616. package/dist/utils/detect.d.mts.map +0 -1
  617. package/dist/utils/detect.mjs.map +0 -1
  618. package/dist/utils/url.d.mts.map +0 -1
  619. package/dist/utils/url.mjs.map +0 -1
  620. package/node_modules/@clack/core/dist/index.mjs.map +0 -1
  621. package/node_modules/@clack/prompts/dist/index.mjs.map +0 -1
  622. package/node_modules/fast-wrap-ansi/lib/main.js.map +0 -1
  623. package/node_modules/maizzle/dist/commands/make/stubs/layout.vue +0 -39
  624. package/node_modules/tinyexec/dist/LICENSES.txt +0 -83
@@ -7,7 +7,56 @@ export default {
7
7
  name: 'Vml',
8
8
  props: {
9
9
  /**
10
- * Width of the VML rectangle.
10
+ * VML shape to render.
11
+ *
12
+ * - `rect` (default) — rectangle
13
+ * - `roundrect` — rectangle with rounded corners (`arcsize`)
14
+ * - `oval` — ellipse fitted to width/height
15
+ * - `line` — straight line between `from` and `to`
16
+ *
17
+ * @default 'rect'
18
+ */
19
+ shape: {
20
+ type: String as PropType<'rect' | 'roundrect' | 'oval' | 'line'>,
21
+ default: 'rect',
22
+ validator: (v: string) => ['rect', 'roundrect', 'oval', 'line'].includes(v),
23
+ },
24
+ /**
25
+ * Corner radius for `roundrect`, as a fraction of the shorter side.
26
+ *
27
+ * Range 0–1. Ignored for other shapes.
28
+ *
29
+ * @example '0.1'
30
+ */
31
+ arcsize: {
32
+ type: [String, Number],
33
+ },
34
+ /**
35
+ * Start coordinate for `shape="line"` as `"x,y"`.
36
+ *
37
+ * Required when `shape="line"`. Ignored otherwise.
38
+ *
39
+ * @example '0,0'
40
+ * @example '10pt,10pt'
41
+ */
42
+ from: {
43
+ type: String,
44
+ validator: (v: string) => /^[\d.]+(px|pt|%|em|rem)?,[\d.]+(px|pt|%|em|rem)?$/.test(v.replace(/\s/g, '')),
45
+ },
46
+ /**
47
+ * End coordinate for `shape="line"` as `"x,y"`.
48
+ *
49
+ * Required when `shape="line"`. Ignored otherwise.
50
+ *
51
+ * @example '600,0'
52
+ * @example '100%,0'
53
+ */
54
+ to: {
55
+ type: String,
56
+ validator: (v: string) => /^[\d.]+(px|pt|%|em|rem)?,[\d.]+(px|pt|%|em|rem)?$/.test(v.replace(/\s/g, '')),
57
+ },
58
+ /**
59
+ * Width of the shape. Ignored for `line`.
11
60
  *
12
61
  * Accepts a number (treated as pixels) or a string with units.
13
62
  *
@@ -15,86 +64,127 @@ export default {
15
64
  */
16
65
  width: {
17
66
  type: [String, Number],
18
- default: '600px'
67
+ default: '600px',
19
68
  },
20
69
  /**
21
- * Height of the VML rectangle.
70
+ * Height of the shape. Ignored for `line`.
22
71
  *
23
- * Accepts a number (treated as pixels) or a string with units.
24
- * When not set, the rectangle auto-sizes to fit its content.
72
+ * When not set, the shape auto-sizes to fit its content.
25
73
  */
26
74
  height: {
27
75
  type: [String, Number],
28
- default: null
76
+ default: null,
29
77
  },
30
78
  /**
31
- * VML fill type that controls how the background image is rendered.
79
+ * VML fill type.
32
80
  *
33
- * - `frame` — scale to fill the rectangle (default)
34
- * - `tile` — repeat the image to fill the rectangle
81
+ * - `solid` — solid color fill (default in VML when omitted)
82
+ * - `gradient` — linear gradient
83
+ * - `gradientradial` — radial gradient
84
+ * - `tile` — repeat image to fill
35
85
  * - `pattern` — tile at original size
36
- * - `solid` — solid color fill, no image
37
- * - `gradient` — linear gradient fill
38
- * - `gradientradial` — radial gradient fill
86
+ * - `frame` — scale image to fill
39
87
  *
40
- * @default 'frame'
88
+ * Only emitted on `<v:fill>` when set.
41
89
  */
42
90
  type: {
43
91
  type: String as PropType<'solid' | 'gradient' | 'gradientradial' | 'tile' | 'pattern' | 'frame'>,
44
- default: 'frame'
45
92
  },
46
93
  /**
47
- * Comma-separated dimensions for the fill image.
94
+ * URL of a fill image.
95
+ *
96
+ * When set, a `<v:fill>` child is emitted with this `src`.
97
+ */
98
+ src: {
99
+ type: String,
100
+ },
101
+ /**
102
+ * Primary fill color on `<v:fill>` (start color for gradients).
103
+ *
104
+ * @example '#3b82f6'
105
+ */
106
+ color: {
107
+ type: String,
108
+ },
109
+ /**
110
+ * Secondary fill color for gradient fills.
48
111
  *
49
- * Controls the rendered size of the background image.
112
+ * @example '#1d4ed8'
113
+ */
114
+ color2: {
115
+ type: String,
116
+ },
117
+ /**
118
+ * Gradient direction in degrees (0–360).
119
+ *
120
+ * @example 90
121
+ */
122
+ angle: {
123
+ type: [String, Number],
124
+ },
125
+ /**
126
+ * Gradient midpoint (0–100, percentage of distance from start).
127
+ *
128
+ * @example 50
129
+ */
130
+ focus: {
131
+ type: [String, Number],
132
+ },
133
+ /**
134
+ * Radial gradient focus size as `"x,y"` fractions.
135
+ *
136
+ * @example '0,0'
137
+ */
138
+ focussize: {
139
+ type: String,
140
+ validator: (v: string) => /^-?[\d.]+,-?[\d.]+$/.test(v.replace(/\s/g, '')),
141
+ },
142
+ /**
143
+ * Radial gradient focus position as `"x,y"` fractions.
144
+ *
145
+ * @example '0.5,0.5'
146
+ */
147
+ focusposition: {
148
+ type: String,
149
+ validator: (v: string) => /^-?[\d.]+,-?[\d.]+$/.test(v.replace(/\s/g, '')),
150
+ },
151
+ /**
152
+ * Comma-separated dimensions for the fill image.
50
153
  *
51
154
  * @example '300px,200px'
52
155
  */
53
156
  sizes: {
54
157
  type: String,
55
- validator: (v: string) => /^[\d.]+(px|%|em|rem)?(,[\d.]+(px|%|em|rem)?)+$/.test(v.replace(/\s/g, ''))
158
+ validator: (v: string) => /^[\d.]+(px|%|em|rem)?(,[\d.]+(px|%|em|rem)?)+$/.test(v.replace(/\s/g, '')),
56
159
  },
57
160
  /**
58
161
  * Fill origin offset as comma-separated fractional values.
59
162
  *
60
- * Controls where the fill image anchors relative to the shape.
61
- * Values are fractions of the shape's dimensions, where `0,0` is
62
- * center and `-0.5,-0.5` is the top-left corner.
63
- *
64
163
  * Overridden by `backgroundPosition` if both are set.
65
164
  *
66
- * @example '0,0'
67
165
  * @example '-0.5,-0.5'
68
166
  */
69
167
  origin: {
70
168
  type: String,
71
- validator: (v: string) => /^-?[\d.]+(,-?[\d.]+)+$/.test(v.replace(/\s/g, ''))
169
+ validator: (v: string) => /^-?[\d.]+(,-?[\d.]+)+$/.test(v.replace(/\s/g, '')),
72
170
  },
73
171
  /**
74
172
  * Fill position offset as comma-separated fractional values.
75
173
  *
76
- * Controls where the fill image is positioned within the shape.
77
- * Values are fractions of the shape's dimensions, where `0,0` is
78
- * center and `0.5,0.5` is the bottom-right corner.
79
- *
80
174
  * Overridden by `backgroundPosition` if both are set.
81
175
  *
82
- * @example '0,0'
83
176
  * @example '0.5,0.5'
84
177
  */
85
178
  position: {
86
179
  type: String,
87
- validator: (v: string) => /^-?[\d.]+(,-?[\d.]+)+$/.test(v.replace(/\s/g, ''))
180
+ validator: (v: string) => /^-?[\d.]+(,-?[\d.]+)+$/.test(v.replace(/\s/g, '')),
88
181
  },
89
182
  /**
90
- * Background image position as `vertical,horizontal`.
91
- *
92
- * First value is the vertical axis: `top`, `center`, or `bottom`.
93
- * Second value is the horizontal axis: `left`, `center`, or `right`.
183
+ * Convenience for image positioning. Maps to VML `origin` / `position`.
94
184
  *
95
- * Convenience prop that maps to VML `origin` and `position` attributes.
185
+ * First value is vertical (`top` | `center` | `bottom`).
186
+ * Second value is horizontal (`left` | `center` | `right`).
96
187
  *
97
- * @example 'top,left'
98
188
  * @example 'center,center'
99
189
  */
100
190
  backgroundPosition: {
@@ -103,81 +193,63 @@ export default {
103
193
  | 'center,left' | 'center,center' | 'center,right'
104
194
  | 'bottom,left' | 'bottom,center' | 'bottom,right'
105
195
  >,
106
- validator: (v: string) => /^(top|center|bottom),(left|center|right)$/.test(v.replace(/\s/g, ''))
196
+ validator: (v: string) => /^(top|center|bottom),(left|center|right)$/.test(v.replace(/\s/g, '')),
107
197
  },
108
198
  /**
109
199
  * Aspect ratio constraint for the fill image.
110
200
  *
111
- * - `atleast` — image is at least as large as the shape
112
- * - `atmost` — image is at most as large as the shape
201
+ * - `atleast` — image at least as large as the shape
202
+ * - `atmost` — image at most as large as the shape
113
203
  */
114
204
  aspect: {
115
205
  type: String as PropType<'atleast' | 'atmost'>,
116
206
  },
117
- /**
118
- * Fill color used for `solid` and `gradient` fill types.
119
- *
120
- * @example '#ffffff'
121
- */
122
- color: String,
123
207
  /**
124
208
  * Text box inset (padding) as `top,right,bottom,left`.
125
209
  *
126
- * Controls the inner spacing of the `v:textbox` element.
127
- *
128
210
  * @default '0,0,0,0'
129
211
  */
130
212
  inset: {
131
213
  type: String,
132
- default: '0,0,0,0'
214
+ default: '0,0,0,0',
133
215
  },
134
216
  /**
135
- * Whether the VML rectangle has a visible border.
217
+ * Whether the shape has a visible border.
136
218
  *
137
- * @default false
219
+ * @default false (true for `shape="line"`)
138
220
  */
139
221
  stroke: {
140
222
  type: [Boolean, String],
141
- default: false
223
+ default: null,
142
224
  },
143
225
  /**
144
- * Border color for the VML rectangle.
145
- *
146
- * Setting this also enables `stroke` automatically.
226
+ * Border color. Setting this enables `stroke` automatically.
147
227
  *
148
228
  * @example '#000000'
149
229
  */
150
- strokecolor: String,
230
+ strokecolor: {
231
+ type: String,
232
+ },
151
233
  /**
152
- * Whether the VML rectangle has a fill.
234
+ * Whether the shape has a fill.
153
235
  *
154
- * @default true
236
+ * @default true (false for `shape="line"`)
155
237
  */
156
238
  fill: {
157
239
  type: [Boolean, String],
158
- default: true
240
+ default: null,
159
241
  },
160
242
  /**
161
- * Background color of the VML rectangle.
243
+ * Fallback fill color on the shape element itself.
162
244
  *
163
- * Used as a fallback when the background image cannot be loaded.
245
+ * Rendered when no `<v:fill>` child is emitted or the fill image
246
+ * cannot be loaded.
164
247
  *
165
- * @default 'none'
166
248
  * @example '#3b82f6'
167
249
  */
168
250
  fillcolor: {
169
251
  type: String,
170
- default: 'none'
171
252
  },
172
- /**
173
- * URL of the background image.
174
- *
175
- * @default 'https://via.placeholder.com/600x400'
176
- */
177
- src: {
178
- type: String,
179
- default: 'https://via.placeholder.com/600x400'
180
- }
181
253
  },
182
254
  setup(props, { slots }) {
183
255
  const backgroundPositionMap: Record<string, string> = {
@@ -195,47 +267,88 @@ export default {
195
267
  const resolvedOrigin = computed(() => props.origin ?? (props.backgroundPosition ? backgroundPositionMap[props.backgroundPosition.replace(/\s/g, '')] : undefined))
196
268
  const resolvedPosition = computed(() => props.position ?? (props.backgroundPosition ? backgroundPositionMap[props.backgroundPosition.replace(/\s/g, '')] : undefined))
197
269
 
270
+ const hasFillChild = computed(() => {
271
+ return props.type !== undefined
272
+ || props.src !== undefined
273
+ || props.color !== undefined
274
+ || props.color2 !== undefined
275
+ || props.angle !== undefined
276
+ || props.focus !== undefined
277
+ || props.focussize !== undefined
278
+ || props.focusposition !== undefined
279
+ || props.sizes !== undefined
280
+ || props.aspect !== undefined
281
+ || resolvedOrigin.value !== undefined
282
+ || resolvedPosition.value !== undefined
283
+ })
284
+
198
285
  const before = computed(() => {
199
- const width = normalizeToPixels(props.width)
286
+ const isLine = props.shape === 'line'
287
+ const element = `v:${props.shape}`
200
288
 
201
289
  const toBool = (v: boolean | string) => v === true || v === 'true' ? 'true' : 'false'
202
290
 
203
- const rectAttrs = [
204
- `fill="${props.fillcolor ? 'true' : toBool(props.fill)}"`,
205
- `stroke="${props.strokecolor ? 'true' : toBool(props.stroke)}"`,
206
- `style="width: ${width};${props.height ? ` height: ${normalizeToPixels(props.height)};` : ''}"`,
291
+ const defaultFill = isLine ? false : true
292
+ const defaultStroke = isLine ? true : false
293
+ const fillResolved = props.fill === null ? defaultFill : props.fill
294
+ const strokeResolved = props.stroke === null ? defaultStroke : props.stroke
295
+
296
+ const styleParts: string[] = []
297
+ if (!isLine) {
298
+ styleParts.push(`width: ${normalizeToPixels(props.width)}`)
299
+ if (props.height) styleParts.push(`height: ${normalizeToPixels(props.height)}`)
300
+ }
301
+
302
+ const shapeAttrs = [
303
+ `fill="${props.fillcolor ? 'true' : toBool(fillResolved)}"`,
304
+ `stroke="${props.strokecolor ? 'true' : toBool(strokeResolved)}"`,
305
+ styleParts.length ? `style="${styleParts.join('; ')};"` : '',
207
306
  props.strokecolor ? `strokecolor="${props.strokecolor}"` : '',
208
- props.fillcolor ? `fillcolor="${props.fillcolor}"` : ''
307
+ props.fillcolor ? `fillcolor="${props.fillcolor}"` : '',
308
+ props.shape === 'roundrect' && props.arcsize !== undefined ? `arcsize="${props.arcsize}"` : '',
309
+ isLine && props.from ? `from="${props.from}"` : '',
310
+ isLine && props.to ? `to="${props.to}"` : '',
209
311
  ].filter(Boolean).join(' ')
210
312
 
211
- const fillAttrs = [
212
- `type="${props.type}"`,
213
- `src="${props.src}"`,
214
- props.sizes ? `sizes="${props.sizes}"` : '',
215
- props.aspect ? `aspect="${props.aspect}"` : '',
216
- resolvedOrigin.value ? `origin="${resolvedOrigin.value}"` : '',
217
- resolvedPosition.value ? `position="${resolvedPosition.value}"` : '',
218
- props.color ? `color="${props.color}"` : ''
219
- ].filter(Boolean).join(' ')
313
+ const fillAttrs = hasFillChild.value
314
+ ? [
315
+ props.type ? `type="${props.type}"` : '',
316
+ props.src ? `src="${props.src}"` : '',
317
+ props.color ? `color="${props.color}"` : '',
318
+ props.color2 ? `color2="${props.color2}"` : '',
319
+ props.angle !== undefined ? `angle="${props.angle}"` : '',
320
+ props.focus !== undefined ? `focus="${props.focus}"` : '',
321
+ props.focussize ? `focussize="${props.focussize}"` : '',
322
+ props.focusposition ? `focusposition="${props.focusposition}"` : '',
323
+ props.sizes ? `sizes="${props.sizes}"` : '',
324
+ props.aspect ? `aspect="${props.aspect}"` : '',
325
+ resolvedOrigin.value ? `origin="${resolvedOrigin.value}"` : '',
326
+ resolvedPosition.value ? `position="${resolvedPosition.value}"` : '',
327
+ ].filter(Boolean).join(' ')
328
+ : ''
220
329
 
221
- return [
330
+ const lines = [
222
331
  `<!--[if mso]>`,
223
- `<v:rect xmlns:v="urn:schemas-microsoft-com:vml" ${rectAttrs}>`,
224
- `<v:fill ${fillAttrs} />`,
225
- `<v:textbox inset="${props.inset}" style="mso-fit-shape-to-text: true">`,
226
- `<div><![endif]-->`
227
- ].join('')
332
+ `<${element} xmlns:v="urn:schemas-microsoft-com:vml" ${shapeAttrs}>`,
333
+ ]
334
+ if (hasFillChild.value) {
335
+ lines.push(`<v:fill ${fillAttrs} />`)
336
+ }
337
+ lines.push(`<v:textbox inset="${props.inset}" style="mso-fit-shape-to-text: true">`)
338
+ lines.push(`<div><![endif]-->`)
339
+ return lines.join('')
228
340
  })
229
341
 
230
342
  const after = computed(() => {
231
- return `<!--[if mso]></div></v:textbox></v:rect><![endif]-->`
343
+ const element = `v:${props.shape}`
344
+ return `<!--[if mso]></div></v:textbox></${element}><![endif]-->`
232
345
  })
233
346
 
234
347
  return () => [
235
348
  createStaticVNode(before.value, 1),
236
349
  slots.default?.(),
237
- createStaticVNode(after.value, 1)
350
+ createStaticVNode(after.value, 1),
238
351
  ]
239
- }
352
+ },
240
353
  }
241
354
  </script>
@@ -0,0 +1,53 @@
1
+ //#region src/components/utils.d.ts
2
+ declare function normalizeToPixels(value: string | number): string;
3
+ /**
4
+ * Module-scoped sequential ID generator. Used by components to mint
5
+ * unique marker ids (e.g. `c1`, `c2`) for the post-render transformer.
6
+ *
7
+ * Must live here (not inside `<script setup>`) because Vue compiles
8
+ * `<script setup>` into the component's `setup()` function — any
9
+ * `let counter = 0` there resets per instance, causing id collisions.
10
+ */
11
+ declare function nextId(prefix: string): string;
12
+ declare function hasWidthUtility(classStr: string): boolean;
13
+ declare function hasWidthInStyle(styleStr: string): boolean;
14
+ declare function hasHeightUtility(classStr: string): boolean;
15
+ declare function hasHeightInStyle(styleStr: string): boolean;
16
+ /**
17
+ * Shared prop for components that emit MSO/VML fallback markup. The
18
+ * `null` default acts as the "unset" sentinel — `useOutlookFallback`
19
+ * treats `null` as inherit-from-ancestor (root default `true`),
20
+ * letting users override per-component without losing inheritance.
21
+ */
22
+ declare const outlookFallbackProp: {
23
+ readonly type: BooleanConstructor;
24
+ readonly default: null;
25
+ };
26
+ /**
27
+ * Default utility classes for a code-block `<pre>`. `whitespace-pre!` is
28
+ * forced important so Gmail's stylesheet can't reset it to `normal`, and
29
+ * `m-0` strips the browser's default `<pre>` margins so it isn't spaced
30
+ * away from its wrapper.
31
+ */
32
+ declare function codeBlockPreClass(bg: string): string;
33
+ /**
34
+ * Build the email-safe table wrapper around highlighted code. Shared by the
35
+ * `<CodeBlock>` component and the Markdown fenced/indented code-block
36
+ * rules so both render identical markup: a full-width table whose
37
+ * cell carries the theme background, wrapping a `<pre>` styled
38
+ * with utility classes (not Shiki's raw inline styles).
39
+ */
40
+ declare function buildCodeBlock(codeContent: string, bg: string, options?: {
41
+ preClass?: string;
42
+ tdClass?: string;
43
+ styleAttr?: string;
44
+ }): string;
45
+ /**
46
+ * Re-wrap a Shiki (or plain markdown-it) `<pre><code>` block as a CodeBlock,
47
+ * pulling the inner code and the theme background out of the highlighted
48
+ * HTML. Falls back to a white background for unhighlighted blocks.
49
+ */
50
+ declare function shikiToCodeBlock(highlighted: string): string;
51
+ //#endregion
52
+ export { buildCodeBlock, codeBlockPreClass, hasHeightInStyle, hasHeightUtility, hasWidthInStyle, hasWidthUtility, nextId, normalizeToPixels, outlookFallbackProp, shikiToCodeBlock };
53
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","names":[],"sources":["../../src/components/utils.ts"],"mappings":";iBAAgB,iBAAA,CAAkB,KAAsB;AAAxD;;;;AAAwD;AAiBxD;;;AAjBA,iBAiBgB,MAAA,CAAO,MAAc;AAAA,iBAKrB,eAAA,CAAgB,QAAgB;AAAA,iBAQhC,eAAA,CAAgB,QAAgB;AAAA,iBAIhC,gBAAA,CAAiB,QAAgB;AAAA,iBAQjC,gBAAA,CAAiB,QAAgB;;AApBD;AAQhD;;;;cAsBa,mBAAA;EAAA,eAGH,kBAAA;EAAA;;;AArBuC;AAQjD;;;;iBAqBgB,iBAAA,CAAkB,EAAU;AAX5C;;;;;;;AAAA,iBAsBgB,cAAA,CACd,WAAA,UACA,EAAA,UACA,OAAA;EAAW,QAAA;EAAmB,OAAA;EAAkB,SAAA;AAAA;;AAdN;AAW5C;;;iBAoBgB,gBAAA,CAAiB,WAAmB"}
@@ -0,0 +1,80 @@
1
+ //#region src/components/utils.ts
2
+ function normalizeToPixels(value) {
3
+ if (typeof value === "number" || Number.isFinite(Number(value))) return `${value}px`;
4
+ return value;
5
+ }
6
+ const counters = {};
7
+ /**
8
+ * Module-scoped sequential ID generator. Used by components to mint
9
+ * unique marker ids (e.g. `c1`, `c2`) for the post-render transformer.
10
+ *
11
+ * Must live here (not inside `<script setup>`) because Vue compiles
12
+ * `<script setup>` into the component's `setup()` function — any
13
+ * `let counter = 0` there resets per instance, causing id collisions.
14
+ */
15
+ function nextId(prefix) {
16
+ counters[prefix] = (counters[prefix] ?? 0) + 1;
17
+ return `${prefix}${counters[prefix]}`;
18
+ }
19
+ function hasWidthUtility(classStr) {
20
+ return classStr.split(/\s+/).some((c) => {
21
+ const clean = (c.split(":").pop() ?? "").replace(/^!/, "");
22
+ return /^(w-|max-w-|min-w-)/.test(clean);
23
+ });
24
+ }
25
+ function hasWidthInStyle(styleStr) {
26
+ return /(?:^|;\s*)(?:max-width|width)\s*:/i.test(styleStr);
27
+ }
28
+ function hasHeightUtility(classStr) {
29
+ return classStr.split(/\s+/).some((c) => {
30
+ const clean = (c.split(":").pop() ?? "").replace(/^!/, "");
31
+ return /^(h-|max-h-|min-h-)/.test(clean);
32
+ });
33
+ }
34
+ function hasHeightInStyle(styleStr) {
35
+ return /(?:^|;\s*)(?:max-height|height)\s*:/i.test(styleStr);
36
+ }
37
+ /**
38
+ * Shared prop for components that emit MSO/VML fallback markup. The
39
+ * `null` default acts as the "unset" sentinel — `useOutlookFallback`
40
+ * treats `null` as inherit-from-ancestor (root default `true`),
41
+ * letting users override per-component without losing inheritance.
42
+ */
43
+ const outlookFallbackProp = {
44
+ type: Boolean,
45
+ default: null
46
+ };
47
+ /**
48
+ * Default utility classes for a code-block `<pre>`. `whitespace-pre!` is
49
+ * forced important so Gmail's stylesheet can't reset it to `normal`, and
50
+ * `m-0` strips the browser's default `<pre>` margins so it isn't spaced
51
+ * away from its wrapper.
52
+ */
53
+ function codeBlockPreClass(bg) {
54
+ return `font-mono bg-[${bg}] p-4 m-0 overflow-auto whitespace-pre! [word-wrap:normal] [word-break:normal] [word-spacing:normal]`;
55
+ }
56
+ /**
57
+ * Build the email-safe table wrapper around highlighted code. Shared by the
58
+ * `<CodeBlock>` component and the Markdown fenced/indented code-block
59
+ * rules so both render identical markup: a full-width table whose
60
+ * cell carries the theme background, wrapping a `<pre>` styled
61
+ * with utility classes (not Shiki's raw inline styles).
62
+ */
63
+ function buildCodeBlock(codeContent, bg, options = {}) {
64
+ const preClass = options.preClass ?? codeBlockPreClass(bg);
65
+ return `<table class="w-full"><tr><td class="${options.tdClass ?? `bg-[${bg}] max-w-0 mso-padding-alt-4`}"><pre class="${preClass}"${options.styleAttr ?? ""} data-juice-important><code>${codeContent}</code></pre></td></tr></table>`;
66
+ }
67
+ /**
68
+ * Re-wrap a Shiki (or plain markdown-it) `<pre><code>` block as a CodeBlock,
69
+ * pulling the inner code and the theme background out of the highlighted
70
+ * HTML. Falls back to a white background for unhighlighted blocks.
71
+ */
72
+ function shikiToCodeBlock(highlighted) {
73
+ const trimmed = highlighted.trim();
74
+ const bg = (trimmed.match(/^<pre[^>]*>/)?.[0] ?? "").match(/background-color:\s*(#[0-9a-fA-F]+)/)?.[1] ?? "#fff";
75
+ return buildCodeBlock(trimmed.replace(/^<pre[^>]*><code[^>]*>/, "").replace(/<\/code><\/pre>$/, ""), bg);
76
+ }
77
+ //#endregion
78
+ export { buildCodeBlock, codeBlockPreClass, hasHeightInStyle, hasHeightUtility, hasWidthInStyle, hasWidthUtility, nextId, normalizeToPixels, outlookFallbackProp, shikiToCodeBlock };
79
+
80
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","names":[],"sources":["../../src/components/utils.ts"],"sourcesContent":["export function normalizeToPixels(value: string | number): string {\n if (typeof value === 'number' || Number.isFinite(Number(value))) {\n return `${value}px`\n }\n return value\n}\n\nconst counters: Record<string, number> = {}\n\n/**\n * Module-scoped sequential ID generator. Used by components to mint\n * unique marker ids (e.g. `c1`, `c2`) for the post-render transformer.\n *\n * Must live here (not inside `<script setup>`) because Vue compiles\n * `<script setup>` into the component's `setup()` function — any\n * `let counter = 0` there resets per instance, causing id collisions.\n */\nexport function nextId(prefix: string): string {\n counters[prefix] = (counters[prefix] ?? 0) + 1\n return `${prefix}${counters[prefix]}`\n}\n\nexport function hasWidthUtility(classStr: string): boolean {\n return classStr.split(/\\s+/).some((c) => {\n const utility = c.split(':').pop() ?? ''\n const clean = utility.replace(/^!/, '')\n return /^(w-|max-w-|min-w-)/.test(clean)\n })\n}\n\nexport function hasWidthInStyle(styleStr: string): boolean {\n return /(?:^|;\\s*)(?:max-width|width)\\s*:/i.test(styleStr)\n}\n\nexport function hasHeightUtility(classStr: string): boolean {\n return classStr.split(/\\s+/).some((c) => {\n const utility = c.split(':').pop() ?? ''\n const clean = utility.replace(/^!/, '')\n return /^(h-|max-h-|min-h-)/.test(clean)\n })\n}\n\nexport function hasHeightInStyle(styleStr: string): boolean {\n return /(?:^|;\\s*)(?:max-height|height)\\s*:/i.test(styleStr)\n}\n\n/**\n * Shared prop for components that emit MSO/VML fallback markup. The\n * `null` default acts as the \"unset\" sentinel — `useOutlookFallback`\n * treats `null` as inherit-from-ancestor (root default `true`),\n * letting users override per-component without losing inheritance.\n */\nexport const outlookFallbackProp = {\n type: Boolean,\n default: null,\n} as const\n\n/**\n * Default utility classes for a code-block `<pre>`. `whitespace-pre!` is\n * forced important so Gmail's stylesheet can't reset it to `normal`, and\n * `m-0` strips the browser's default `<pre>` margins so it isn't spaced\n * away from its wrapper.\n */\nexport function codeBlockPreClass(bg: string): string {\n return `font-mono bg-[${bg}] p-4 m-0 overflow-auto whitespace-pre! [word-wrap:normal] [word-break:normal] [word-spacing:normal]`\n}\n\n/**\n * Build the email-safe table wrapper around highlighted code. Shared by the\n * `<CodeBlock>` component and the Markdown fenced/indented code-block\n * rules so both render identical markup: a full-width table whose\n * cell carries the theme background, wrapping a `<pre>` styled\n * with utility classes (not Shiki's raw inline styles).\n */\nexport function buildCodeBlock(\n codeContent: string,\n bg: string,\n options: { preClass?: string; tdClass?: string; styleAttr?: string } = {},\n): string {\n const preClass = options.preClass ?? codeBlockPreClass(bg)\n const tdClass = options.tdClass ?? `bg-[${bg}] max-w-0 mso-padding-alt-4`\n const styleAttr = options.styleAttr ?? ''\n\n // `data-juice-important` tells the CSS inliner to keep `!important` on this\n // element's inlined declarations (e.g. `white-space: pre !important`), which\n // it strips by default. Juice removes the attribute from the output.\n return `<table class=\"w-full\"><tr><td class=\"${tdClass}\"><pre class=\"${preClass}\"${styleAttr} data-juice-important><code>${codeContent}</code></pre></td></tr></table>`\n}\n\n/**\n * Re-wrap a Shiki (or plain markdown-it) `<pre><code>` block as a CodeBlock,\n * pulling the inner code and the theme background out of the highlighted\n * HTML. Falls back to a white background for unhighlighted blocks.\n */\nexport function shikiToCodeBlock(highlighted: string): string {\n const trimmed = highlighted.trim()\n // Read the background only from the opening <pre> tag's style, never from\n // the code body — otherwise a `background-color:` inside the snippet (e.g. a\n // CSS example, or any unhighlighted block) would hijack the wrapper color.\n const preTag = trimmed.match(/^<pre[^>]*>/)?.[0] ?? ''\n const bg = preTag.match(/background-color:\\s*(#[0-9a-fA-F]+)/)?.[1] ?? '#fff'\n const codeContent = trimmed\n .replace(/^<pre[^>]*><code[^>]*>/, '')\n .replace(/<\\/code><\\/pre>$/, '')\n\n return buildCodeBlock(codeContent, bg)\n}\n\n"],"mappings":";AAAA,SAAgB,kBAAkB,OAAgC;CAChE,IAAI,OAAO,UAAU,YAAY,OAAO,SAAS,OAAO,KAAK,CAAC,GAC5D,OAAO,GAAG,MAAM;CAElB,OAAO;AACT;AAEA,MAAM,WAAmC,CAAC;;;;;;;;;AAU1C,SAAgB,OAAO,QAAwB;CAC7C,SAAS,WAAW,SAAS,WAAW,KAAK;CAC7C,OAAO,GAAG,SAAS,SAAS;AAC9B;AAEA,SAAgB,gBAAgB,UAA2B;CACzD,OAAO,SAAS,MAAM,KAAK,CAAC,CAAC,MAAM,MAAM;EAEvC,MAAM,SADU,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,KAAK,GAAA,CAChB,QAAQ,MAAM,EAAE;EACtC,OAAO,sBAAsB,KAAK,KAAK;CACzC,CAAC;AACH;AAEA,SAAgB,gBAAgB,UAA2B;CACzD,OAAO,qCAAqC,KAAK,QAAQ;AAC3D;AAEA,SAAgB,iBAAiB,UAA2B;CAC1D,OAAO,SAAS,MAAM,KAAK,CAAC,CAAC,MAAM,MAAM;EAEvC,MAAM,SADU,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,KAAK,GAAA,CAChB,QAAQ,MAAM,EAAE;EACtC,OAAO,sBAAsB,KAAK,KAAK;CACzC,CAAC;AACH;AAEA,SAAgB,iBAAiB,UAA2B;CAC1D,OAAO,uCAAuC,KAAK,QAAQ;AAC7D;;;;;;;AAQA,MAAa,sBAAsB;CACjC,MAAM;CACN,SAAS;AACX;;;;;;;AAQA,SAAgB,kBAAkB,IAAoB;CACpD,OAAO,iBAAiB,GAAG;AAC7B;;;;;;;;AASA,SAAgB,eACd,aACA,IACA,UAAuE,CAAC,GAChE;CACR,MAAM,WAAW,QAAQ,YAAY,kBAAkB,EAAE;CAOzD,OAAO,wCANS,QAAQ,WAAW,OAAO,GAAG,6BAMU,gBAAgB,SAAS,GAL9D,QAAQ,aAAa,GAKsD,8BAA8B,YAAY;AACzI;;;;;;AAOA,SAAgB,iBAAiB,aAA6B;CAC5D,MAAM,UAAU,YAAY,KAAK;CAKjC,MAAM,MADS,QAAQ,MAAM,aAAa,CAAC,GAAG,MAAM,GAAA,CAClC,MAAM,qCAAqC,CAAC,GAAG,MAAM;CAKvE,OAAO,eAJa,QACjB,QAAQ,0BAA0B,EAAE,CAAC,CACrC,QAAQ,oBAAoB,EAEC,GAAG,EAAE;AACvC"}