@maizzle/framework 6.0.0-rc.15 → 6.0.0-rc.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/dist/{build.d.mts → build.d.ts} +2 -2
- package/dist/build.d.ts.map +1 -0
- package/dist/build.mjs +1 -1
- package/dist/build.mjs.map +1 -1
- package/dist/components/Body.vue +9 -2
- package/dist/components/Button.vue +13 -8
- package/dist/components/Column.vue +22 -8
- package/dist/components/Container.vue +9 -5
- package/dist/components/Html.vue +7 -2
- package/dist/components/Layout.vue +30 -15
- package/dist/components/Overlap.vue +8 -3
- package/dist/components/Raw.vue +28 -0
- package/dist/components/Row.vue +23 -11
- package/dist/components/Section.vue +9 -5
- package/dist/components/Spacer.vue +9 -4
- package/dist/components/Tailwind.vue +43 -0
- package/dist/components/{utils.d.mts → utils.d.ts} +12 -2
- package/dist/components/utils.d.ts.map +1 -0
- package/dist/components/utils.mjs +11 -1
- package/dist/components/utils.mjs.map +1 -1
- package/dist/components/utils.ts +12 -0
- package/dist/composables/{defineConfig.d.mts → defineConfig.d.ts} +2 -2
- package/dist/composables/defineConfig.d.ts.map +1 -0
- package/dist/composables/{renderContext.d.mts → renderContext.d.ts} +11 -5
- package/dist/composables/renderContext.d.ts.map +1 -0
- package/dist/composables/renderContext.mjs.map +1 -1
- package/dist/composables/{useConfig.d.mts → useConfig.d.ts} +2 -2
- package/dist/composables/useConfig.d.ts.map +1 -0
- package/dist/composables/{useDoctype.d.mts → useDoctype.d.ts} +1 -1
- package/dist/composables/useDoctype.d.ts.map +1 -0
- package/dist/composables/{useEvent.d.mts → useEvent.d.ts} +2 -2
- package/dist/composables/useEvent.d.ts.map +1 -0
- package/dist/composables/{useFont.d.mts → useFont.d.ts} +1 -1
- package/dist/composables/useFont.d.ts.map +1 -0
- package/dist/composables/useOutlookFallback.d.ts +21 -0
- package/dist/composables/useOutlookFallback.d.ts.map +1 -0
- package/dist/composables/useOutlookFallback.mjs +30 -0
- package/dist/composables/useOutlookFallback.mjs.map +1 -0
- package/dist/composables/{usePlaintext.d.mts → usePlaintext.d.ts} +1 -1
- package/dist/composables/usePlaintext.d.ts.map +1 -0
- package/dist/composables/{usePreheader.d.mts → usePreheader.d.ts} +1 -1
- package/dist/composables/usePreheader.d.ts.map +1 -0
- package/dist/config/{defaults.d.mts → defaults.d.ts} +2 -2
- package/dist/config/defaults.d.ts.map +1 -0
- package/dist/config/{index.d.mts → index.d.ts} +4 -4
- package/dist/config/index.d.ts.map +1 -0
- package/dist/events/{index.d.mts → index.d.ts} +2 -2
- package/dist/events/index.d.ts.map +1 -0
- package/dist/index.d.ts +34 -0
- package/dist/index.mjs +2 -1
- package/dist/{plaintext.d.mts → plaintext.d.ts} +1 -1
- package/dist/plaintext.d.ts.map +1 -0
- package/dist/{plugin.d.mts → plugin.d.ts} +2 -2
- package/dist/plugin.d.ts.map +1 -0
- package/dist/plugins/postcss/{mergeMediaQueries.d.mts → mergeMediaQueries.d.ts} +2 -2
- package/dist/plugins/postcss/mergeMediaQueries.d.ts.map +1 -0
- package/dist/plugins/postcss/{pruneVars.d.mts → pruneVars.d.ts} +1 -1
- package/dist/plugins/postcss/pruneVars.d.ts.map +1 -0
- package/dist/plugins/postcss/{quoteFontFamilies.d.mts → quoteFontFamilies.d.ts} +1 -1
- package/dist/plugins/postcss/quoteFontFamilies.d.ts.map +1 -0
- package/dist/plugins/postcss/{removeDeclarations.d.mts → removeDeclarations.d.ts} +1 -1
- package/dist/plugins/postcss/removeDeclarations.d.ts.map +1 -0
- package/dist/plugins/postcss/resolveMaizzleImports.d.ts +16 -0
- package/dist/plugins/postcss/resolveMaizzleImports.d.ts.map +1 -0
- package/dist/plugins/postcss/resolveMaizzleImports.mjs +40 -0
- package/dist/plugins/postcss/resolveMaizzleImports.mjs.map +1 -0
- package/dist/plugins/postcss/{resolveProps.d.mts → resolveProps.d.ts} +1 -1
- package/dist/plugins/postcss/resolveProps.d.ts.map +1 -0
- package/dist/plugins/postcss/{tailwindCleanup.d.mts → tailwindCleanup.d.ts} +2 -2
- package/dist/plugins/postcss/tailwindCleanup.d.ts.map +1 -0
- package/dist/{prepare.d.mts → prepare.d.ts} +1 -1
- package/dist/prepare.d.ts.map +1 -0
- package/dist/render/{createRenderer.d.mts → createRenderer.d.ts} +4 -3
- package/dist/render/createRenderer.d.ts.map +1 -0
- package/dist/render/createRenderer.mjs +9 -76
- package/dist/render/createRenderer.mjs.map +1 -1
- package/dist/render/index.d.ts +18 -0
- package/dist/render/index.d.ts.map +1 -0
- package/dist/render/index.mjs +13 -14
- package/dist/render/index.mjs.map +1 -1
- package/dist/render/{injectFonts.d.mts → injectFonts.d.ts} +2 -2
- package/dist/render/injectFonts.d.ts.map +1 -0
- package/dist/render/plugins/codeBlockExtract.d.ts +14 -0
- package/dist/render/plugins/codeBlockExtract.d.ts.map +1 -0
- package/dist/render/plugins/codeBlockExtract.mjs +34 -0
- package/dist/render/plugins/codeBlockExtract.mjs.map +1 -0
- package/dist/render/plugins/markdownExtract.d.ts +12 -0
- package/dist/render/plugins/markdownExtract.d.ts.map +1 -0
- package/dist/render/plugins/markdownExtract.mjs +50 -0
- package/dist/render/plugins/markdownExtract.mjs.map +1 -0
- package/dist/render/plugins/rawExtract.d.ts +14 -0
- package/dist/render/plugins/rawExtract.d.ts.map +1 -0
- package/dist/render/plugins/rawExtract.mjs +34 -0
- package/dist/render/plugins/rawExtract.mjs.map +1 -0
- package/dist/render/plugins/{rowSourceLocation.d.mts → rowSourceLocation.d.ts} +1 -1
- package/dist/render/plugins/rowSourceLocation.d.ts.map +1 -0
- package/dist/{serve.d.mts → serve.d.ts} +2 -2
- package/dist/serve.d.ts.map +1 -0
- package/dist/serve.mjs +15 -6
- package/dist/serve.mjs.map +1 -1
- package/dist/server/{compatibility.d.mts → compatibility.d.ts} +2 -2
- package/dist/server/compatibility.d.ts.map +1 -0
- package/dist/server/{email.d.mts → email.d.ts} +2 -2
- package/dist/server/email.d.ts.map +1 -0
- package/dist/server/{linter.d.mts → linter.d.ts} +2 -2
- package/dist/server/linter.d.ts.map +1 -0
- package/dist/server/{sfc-utils.d.mts → sfc-utils.d.ts} +1 -1
- package/dist/server/sfc-utils.d.ts.map +1 -0
- package/dist/server/ui/App.vue +47 -2
- package/dist/server/ui/pages/Preview.vue +110 -22
- package/dist/transformers/{addAttributes.d.mts → addAttributes.d.ts} +2 -2
- package/dist/transformers/addAttributes.d.ts.map +1 -0
- package/dist/transformers/{attributeToStyle.d.mts → attributeToStyle.d.ts} +2 -2
- package/dist/transformers/attributeToStyle.d.ts.map +1 -0
- package/dist/transformers/{base.d.mts → base.d.ts} +2 -2
- package/dist/transformers/base.d.ts.map +1 -0
- package/dist/transformers/{columnWidth.d.mts → columnWidth.d.ts} +10 -10
- package/dist/transformers/columnWidth.d.ts.map +1 -0
- package/dist/transformers/columnWidth.mjs +422 -41
- package/dist/transformers/columnWidth.mjs.map +1 -1
- package/dist/transformers/{entities.d.mts → entities.d.ts} +2 -2
- package/dist/transformers/entities.d.ts.map +1 -0
- package/dist/transformers/filters/{defaults.d.mts → defaults.d.ts} +1 -1
- package/dist/transformers/filters/defaults.d.ts.map +1 -0
- package/dist/transformers/filters/{index.d.mts → index.d.ts} +2 -2
- package/dist/transformers/filters/index.d.ts.map +1 -0
- package/dist/transformers/{format.d.mts → format.d.ts} +2 -2
- package/dist/transformers/format.d.ts.map +1 -0
- package/dist/transformers/{index.d.mts → index.d.ts} +4 -3
- package/dist/transformers/index.d.ts.map +1 -0
- package/dist/transformers/index.mjs +3 -1
- package/dist/transformers/index.mjs.map +1 -1
- package/dist/transformers/{inlineCSS.d.mts → inlineCSS.d.ts} +2 -2
- package/dist/transformers/inlineCSS.d.ts.map +1 -0
- package/dist/transformers/inlineCSS.mjs +7 -1
- package/dist/transformers/inlineCSS.mjs.map +1 -1
- package/dist/transformers/{inlineLink.d.mts → inlineLink.d.ts} +1 -1
- package/dist/transformers/inlineLink.d.ts.map +1 -0
- package/dist/transformers/{minify.d.mts → minify.d.ts} +2 -2
- package/dist/transformers/minify.d.ts.map +1 -0
- package/dist/transformers/{msoWidthFromClass.d.mts → msoWidthFromClass.d.ts} +1 -1
- package/dist/transformers/msoWidthFromClass.d.ts.map +1 -0
- package/dist/transformers/{purgeCSS.d.mts → purgeCSS.d.ts} +2 -2
- package/dist/transformers/purgeCSS.d.ts.map +1 -0
- package/dist/transformers/purgeCSS.mjs +44 -2
- package/dist/transformers/purgeCSS.mjs.map +1 -1
- package/dist/transformers/{removeAttributes.d.mts → removeAttributes.d.ts} +2 -2
- package/dist/transformers/removeAttributes.d.ts.map +1 -0
- package/dist/transformers/{replaceStrings.d.mts → replaceStrings.d.ts} +2 -2
- package/dist/transformers/replaceStrings.d.ts.map +1 -0
- package/dist/transformers/{safeClassNames.d.mts → safeClassNames.d.ts} +2 -2
- package/dist/transformers/safeClassNames.d.ts.map +1 -0
- package/dist/transformers/{shorthandCSS.d.mts → shorthandCSS.d.ts} +2 -2
- package/dist/transformers/shorthandCSS.d.ts.map +1 -0
- package/dist/transformers/{sixHex.d.mts → sixHex.d.ts} +2 -2
- package/dist/transformers/sixHex.d.ts.map +1 -0
- package/dist/transformers/tailwindComponent.d.ts +16 -0
- package/dist/transformers/tailwindComponent.d.ts.map +1 -0
- package/dist/transformers/tailwindComponent.mjs +93 -0
- package/dist/transformers/tailwindComponent.mjs.map +1 -0
- package/dist/transformers/{tailwindcss.d.mts → tailwindcss.d.ts} +2 -2
- package/dist/transformers/tailwindcss.d.ts.map +1 -0
- package/dist/transformers/tailwindcss.mjs +2 -54
- package/dist/transformers/tailwindcss.mjs.map +1 -1
- package/dist/transformers/{urlQuery.d.mts → urlQuery.d.ts} +2 -2
- package/dist/transformers/urlQuery.d.ts.map +1 -0
- package/dist/types/{config.d.mts → config.d.ts} +2 -2
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/{index.d.mts → index.d.ts} +1 -1
- package/dist/utils/ast/index.d.ts +4 -0
- package/dist/utils/ast/{parser.d.mts → parser.d.ts} +1 -1
- package/dist/utils/ast/parser.d.ts.map +1 -0
- package/dist/utils/ast/{serializer.d.mts → serializer.d.ts} +1 -1
- package/dist/utils/ast/serializer.d.ts.map +1 -0
- package/dist/utils/ast/{walker.d.mts → walker.d.ts} +1 -1
- package/dist/utils/ast/walker.d.ts.map +1 -0
- package/dist/utils/compileTailwindCss.d.ts +16 -0
- package/dist/utils/compileTailwindCss.d.ts.map +1 -0
- package/dist/utils/compileTailwindCss.mjs +55 -0
- package/dist/utils/compileTailwindCss.mjs.map +1 -0
- package/dist/utils/{decodeStyleEntities.d.mts → decodeStyleEntities.d.ts} +1 -1
- package/dist/utils/decodeStyleEntities.d.ts.map +1 -0
- package/dist/utils/{detect.d.mts → detect.d.ts} +1 -1
- package/dist/utils/detect.d.ts.map +1 -0
- package/dist/utils/{url.d.mts → url.d.ts} +1 -1
- package/dist/utils/url.d.ts.map +1 -0
- package/package.json +13 -6
- package/dist/build.d.mts.map +0 -1
- package/dist/components/utils.d.mts.map +0 -1
- package/dist/composables/defineConfig.d.mts.map +0 -1
- package/dist/composables/renderContext.d.mts.map +0 -1
- package/dist/composables/useConfig.d.mts.map +0 -1
- package/dist/composables/useDoctype.d.mts.map +0 -1
- package/dist/composables/useEvent.d.mts.map +0 -1
- package/dist/composables/useFont.d.mts.map +0 -1
- package/dist/composables/usePlaintext.d.mts.map +0 -1
- package/dist/composables/usePreheader.d.mts.map +0 -1
- package/dist/config/defaults.d.mts.map +0 -1
- package/dist/config/index.d.mts.map +0 -1
- package/dist/events/index.d.mts.map +0 -1
- package/dist/index.d.mts +0 -33
- package/dist/plaintext.d.mts.map +0 -1
- package/dist/plugin.d.mts.map +0 -1
- package/dist/plugins/postcss/mergeMediaQueries.d.mts.map +0 -1
- package/dist/plugins/postcss/pruneVars.d.mts.map +0 -1
- package/dist/plugins/postcss/quoteFontFamilies.d.mts.map +0 -1
- package/dist/plugins/postcss/removeDeclarations.d.mts.map +0 -1
- package/dist/plugins/postcss/resolveProps.d.mts.map +0 -1
- package/dist/plugins/postcss/tailwindCleanup.d.mts.map +0 -1
- package/dist/prepare.d.mts.map +0 -1
- package/dist/render/createRenderer.d.mts.map +0 -1
- package/dist/render/index.d.mts +0 -26
- package/dist/render/index.d.mts.map +0 -1
- package/dist/render/injectFonts.d.mts.map +0 -1
- package/dist/render/plugins/rowSourceLocation.d.mts.map +0 -1
- package/dist/serve.d.mts.map +0 -1
- package/dist/server/compatibility.d.mts.map +0 -1
- package/dist/server/email.d.mts.map +0 -1
- package/dist/server/linter.d.mts.map +0 -1
- package/dist/server/sfc-utils.d.mts.map +0 -1
- package/dist/transformers/addAttributes.d.mts.map +0 -1
- package/dist/transformers/attributeToStyle.d.mts.map +0 -1
- package/dist/transformers/base.d.mts.map +0 -1
- package/dist/transformers/columnWidth.d.mts.map +0 -1
- package/dist/transformers/entities.d.mts.map +0 -1
- package/dist/transformers/filters/defaults.d.mts.map +0 -1
- package/dist/transformers/filters/index.d.mts.map +0 -1
- package/dist/transformers/format.d.mts.map +0 -1
- package/dist/transformers/index.d.mts.map +0 -1
- package/dist/transformers/inlineCSS.d.mts.map +0 -1
- package/dist/transformers/inlineLink.d.mts.map +0 -1
- package/dist/transformers/minify.d.mts.map +0 -1
- package/dist/transformers/msoWidthFromClass.d.mts.map +0 -1
- package/dist/transformers/purgeCSS.d.mts.map +0 -1
- package/dist/transformers/removeAttributes.d.mts.map +0 -1
- package/dist/transformers/replaceStrings.d.mts.map +0 -1
- package/dist/transformers/safeClassNames.d.mts.map +0 -1
- package/dist/transformers/shorthandCSS.d.mts.map +0 -1
- package/dist/transformers/sixHex.d.mts.map +0 -1
- package/dist/transformers/tailwindcss.d.mts.map +0 -1
- package/dist/transformers/urlQuery.d.mts.map +0 -1
- package/dist/types/config.d.mts.map +0 -1
- package/dist/utils/ast/index.d.mts +0 -4
- package/dist/utils/ast/parser.d.mts.map +0 -1
- package/dist/utils/ast/serializer.d.mts.map +0 -1
- package/dist/utils/ast/walker.d.mts.map +0 -1
- package/dist/utils/decodeStyleEntities.d.mts.map +0 -1
- package/dist/utils/detect.d.mts.map +0 -1
- package/dist/utils/url.d.mts.map +0 -1
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { defineComponent, createCommentVNode, inject, h, Fragment, type VNode } from 'vue'
|
|
3
|
+
import { RenderContextKey } from '../composables/renderContext'
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Walk a slot's vnode tree and concatenate its text content.
|
|
7
|
+
* Handles plain text children, arrays, and Comment vnodes.
|
|
8
|
+
* Static text in <template #config>...</template> compiles into
|
|
9
|
+
* text vnodes whose `children` is a string — that's our path.
|
|
10
|
+
*/
|
|
11
|
+
function vnodeText(input: unknown): string {
|
|
12
|
+
if (input == null || input === false) return ''
|
|
13
|
+
if (typeof input === 'string') return input
|
|
14
|
+
if (typeof input === 'number') return String(input)
|
|
15
|
+
if (Array.isArray(input)) return input.map(vnodeText).join('')
|
|
16
|
+
|
|
17
|
+
const v = input as VNode
|
|
18
|
+
if (typeof v.children === 'string') return v.children
|
|
19
|
+
if (Array.isArray(v.children)) return vnodeText(v.children)
|
|
20
|
+
return ''
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export default defineComponent({
|
|
24
|
+
name: 'Tailwind',
|
|
25
|
+
setup(_, { slots }) {
|
|
26
|
+
const ctx = inject(RenderContextKey)!
|
|
27
|
+
if (!ctx.tailwindBlocks) ctx.tailwindBlocks = []
|
|
28
|
+
const id = `tw${ctx.tailwindBlocks.length}`
|
|
29
|
+
|
|
30
|
+
// Extract optional `#config` slot content as raw CSS. Evaluated at
|
|
31
|
+
// setup time; the slot is NOT rendered into the document.
|
|
32
|
+
const css = slots.config ? vnodeText(slots.config()).trim() : undefined
|
|
33
|
+
|
|
34
|
+
ctx.tailwindBlocks.push({ id, css: css || undefined })
|
|
35
|
+
|
|
36
|
+
return () => h(Fragment, null, [
|
|
37
|
+
createCommentVNode(`mz-tw:${id}`),
|
|
38
|
+
slots.default?.(),
|
|
39
|
+
createCommentVNode(`/mz-tw:${id}`),
|
|
40
|
+
])
|
|
41
|
+
},
|
|
42
|
+
})
|
|
43
|
+
</script>
|
|
@@ -13,6 +13,16 @@ declare function hasWidthUtility(classStr: string): boolean;
|
|
|
13
13
|
declare function hasWidthInStyle(styleStr: string): boolean;
|
|
14
14
|
declare function hasHeightUtility(classStr: string): boolean;
|
|
15
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
|
+
};
|
|
16
26
|
//#endregion
|
|
17
|
-
export { hasHeightInStyle, hasHeightUtility, hasWidthInStyle, hasWidthUtility, nextId, normalizeToPixels };
|
|
18
|
-
//# sourceMappingURL=utils.d.
|
|
27
|
+
export { hasHeightInStyle, hasHeightUtility, hasWidthInStyle, hasWidthUtility, nextId, normalizeToPixels, outlookFallbackProp };
|
|
28
|
+
//# 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,KAAA;AAAlC;;;;;AAiBA;;;AAjBA,iBAiBgB,MAAA,CAAO,MAAA;AAAA,iBAKP,eAAA,CAAgB,QAAA;AAAA,iBAQhB,eAAA,CAAgB,QAAA;AAAA,iBAIhB,gBAAA,CAAiB,QAAA;AAAA,iBAQjB,gBAAA,CAAiB,QAAA;;;AAZjC;;;;cAsBa,mBAAA;EAAA,eAGH,kBAAA;EAAA"}
|
|
@@ -34,7 +34,17 @@ function hasHeightUtility(classStr) {
|
|
|
34
34
|
function hasHeightInStyle(styleStr) {
|
|
35
35
|
return /(?:^|;\s*)(?:max-height|height)\s*:/i.test(styleStr);
|
|
36
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
|
+
};
|
|
37
47
|
|
|
38
48
|
//#endregion
|
|
39
|
-
export { hasHeightInStyle, hasHeightUtility, hasWidthInStyle, hasWidthUtility, nextId, normalizeToPixels };
|
|
49
|
+
export { hasHeightInStyle, hasHeightUtility, hasWidthInStyle, hasWidthUtility, nextId, normalizeToPixels, outlookFallbackProp };
|
|
40
50
|
//# sourceMappingURL=utils.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.mjs","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"],"mappings":";AAAA,SAAgB,kBAAkB,OAAgC;AAChE,KAAI,OAAO,UAAU,YAAY,OAAO,SAAS,OAAO,MAAM,CAAC,CAC7D,QAAO,GAAG,MAAM;AAElB,QAAO;;AAGT,MAAM,WAAmC,EAAE;;;;;;;;;AAU3C,SAAgB,OAAO,QAAwB;AAC7C,UAAS,WAAW,SAAS,WAAW,KAAK;AAC7C,QAAO,GAAG,SAAS,SAAS;;AAG9B,SAAgB,gBAAgB,UAA2B;AACzD,QAAO,SAAS,MAAM,MAAM,CAAC,MAAM,MAAM;EAEvC,MAAM,SADU,EAAE,MAAM,IAAI,CAAC,KAAK,IAAI,IAChB,QAAQ,MAAM,GAAG;AACvC,SAAO,sBAAsB,KAAK,MAAM;GACxC;;AAGJ,SAAgB,gBAAgB,UAA2B;AACzD,QAAO,qCAAqC,KAAK,SAAS;;AAG5D,SAAgB,iBAAiB,UAA2B;AAC1D,QAAO,SAAS,MAAM,MAAM,CAAC,MAAM,MAAM;EAEvC,MAAM,SADU,EAAE,MAAM,IAAI,CAAC,KAAK,IAAI,IAChB,QAAQ,MAAM,GAAG;AACvC,SAAO,sBAAsB,KAAK,MAAM;GACxC;;AAGJ,SAAgB,iBAAiB,UAA2B;AAC1D,QAAO,uCAAuC,KAAK,SAAS"}
|
|
1
|
+
{"version":3,"file":"utils.mjs","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"],"mappings":";AAAA,SAAgB,kBAAkB,OAAgC;AAChE,KAAI,OAAO,UAAU,YAAY,OAAO,SAAS,OAAO,MAAM,CAAC,CAC7D,QAAO,GAAG,MAAM;AAElB,QAAO;;AAGT,MAAM,WAAmC,EAAE;;;;;;;;;AAU3C,SAAgB,OAAO,QAAwB;AAC7C,UAAS,WAAW,SAAS,WAAW,KAAK;AAC7C,QAAO,GAAG,SAAS,SAAS;;AAG9B,SAAgB,gBAAgB,UAA2B;AACzD,QAAO,SAAS,MAAM,MAAM,CAAC,MAAM,MAAM;EAEvC,MAAM,SADU,EAAE,MAAM,IAAI,CAAC,KAAK,IAAI,IAChB,QAAQ,MAAM,GAAG;AACvC,SAAO,sBAAsB,KAAK,MAAM;GACxC;;AAGJ,SAAgB,gBAAgB,UAA2B;AACzD,QAAO,qCAAqC,KAAK,SAAS;;AAG5D,SAAgB,iBAAiB,UAA2B;AAC1D,QAAO,SAAS,MAAM,MAAM,CAAC,MAAM,MAAM;EAEvC,MAAM,SADU,EAAE,MAAM,IAAI,CAAC,KAAK,IAAI,IAChB,QAAQ,MAAM,GAAG;AACvC,SAAO,sBAAsB,KAAK,MAAM;GACxC;;AAGJ,SAAgB,iBAAiB,UAA2B;AAC1D,QAAO,uCAAuC,KAAK,SAAS;;;;;;;;AAS9D,MAAa,sBAAsB;CACjC,MAAM;CACN,SAAS;CACV"}
|
package/dist/components/utils.ts
CHANGED
|
@@ -43,3 +43,15 @@ export function hasHeightUtility(classStr: string): boolean {
|
|
|
43
43
|
export function hasHeightInStyle(styleStr: string): boolean {
|
|
44
44
|
return /(?:^|;\s*)(?:max-height|height)\s*:/i.test(styleStr)
|
|
45
45
|
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Shared prop for components that emit MSO/VML fallback markup. The
|
|
49
|
+
* `null` default acts as the "unset" sentinel — `useOutlookFallback`
|
|
50
|
+
* treats `null` as inherit-from-ancestor (root default `true`),
|
|
51
|
+
* letting users override per-component without losing inheritance.
|
|
52
|
+
*/
|
|
53
|
+
export const outlookFallbackProp = {
|
|
54
|
+
type: Boolean,
|
|
55
|
+
default: null,
|
|
56
|
+
} as const
|
|
57
|
+
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MaizzleConfig } from "../types/config.
|
|
1
|
+
import { MaizzleConfig } from "../types/config.js";
|
|
2
2
|
//#region src/composables/defineConfig.d.ts
|
|
3
3
|
/**
|
|
4
4
|
* Define Maizzle config.
|
|
@@ -11,4 +11,4 @@ import { MaizzleConfig } from "../types/config.mjs";
|
|
|
11
11
|
declare function defineConfig(data?: Partial<MaizzleConfig>): MaizzleConfig;
|
|
12
12
|
//#endregion
|
|
13
13
|
export { defineConfig };
|
|
14
|
-
//# sourceMappingURL=defineConfig.d.
|
|
14
|
+
//# sourceMappingURL=defineConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defineConfig.d.ts","names":[],"sources":["../../src/composables/defineConfig.ts"],"mappings":";;;;;AAqBA;;;;;iBAAgB,YAAA,CAAa,IAAA,GAAM,OAAA,CAAQ,aAAA,IAAsB,aAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { MaizzleConfig } from "../types/config.
|
|
2
|
-
import { EventMap, EventName } from "../events/index.
|
|
3
|
-
import { UsePlaintextOptions } from "./usePlaintext.
|
|
1
|
+
import { MaizzleConfig } from "../types/config.js";
|
|
2
|
+
import { EventMap, EventName } from "../events/index.js";
|
|
3
|
+
import { UsePlaintextOptions } from "./usePlaintext.js";
|
|
4
4
|
import { InjectionKey } from "vue";
|
|
5
5
|
|
|
6
6
|
//#region src/composables/renderContext.d.ts
|
|
@@ -10,6 +10,11 @@ interface FontRegistration {
|
|
|
10
10
|
declaration: string;
|
|
11
11
|
url: string;
|
|
12
12
|
}
|
|
13
|
+
interface TailwindBlock {
|
|
14
|
+
id: string;
|
|
15
|
+
/** Optional raw CSS from the component's `#config` slot. */
|
|
16
|
+
css?: string;
|
|
17
|
+
}
|
|
13
18
|
interface RenderContext {
|
|
14
19
|
doctype?: string;
|
|
15
20
|
preheader?: {
|
|
@@ -24,8 +29,9 @@ interface RenderContext {
|
|
|
24
29
|
}>;
|
|
25
30
|
plaintext?: UsePlaintextOptions;
|
|
26
31
|
fonts?: FontRegistration[];
|
|
32
|
+
tailwindBlocks?: TailwindBlock[];
|
|
27
33
|
}
|
|
28
34
|
declare const RenderContextKey: InjectionKey<RenderContext>;
|
|
29
35
|
//#endregion
|
|
30
|
-
export { FontRegistration, RenderContext, RenderContextKey };
|
|
31
|
-
//# sourceMappingURL=renderContext.d.
|
|
36
|
+
export { FontRegistration, RenderContext, RenderContextKey, TailwindBlock };
|
|
37
|
+
//# sourceMappingURL=renderContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderContext.d.ts","names":[],"sources":["../../src/composables/renderContext.ts"],"mappings":";;;;;;UAKiB,gBAAA;EACf,MAAA;EACA,IAAA;EACA,WAAA;EACA,GAAA;AAAA;AAAA,UAGe,aAAA;EACf,EAAA;EANA;EAQA,GAAA;AAAA;AAAA,UAGe,aAAA;EACf,OAAA;EACA,SAAA;IAAc,IAAA;IAAc,WAAA;IAAqB,QAAA;EAAA;EACjD,SAAA,GAAY,aAAA;EACZ,gBAAA,EAAkB,KAAA;IAAQ,IAAA,EAAM,SAAA;IAAW,OAAA,EAAS,QAAA,CAAS,SAAA;EAAA;EAC7D,SAAA,GAAY,mBAAA;EACZ,KAAA,GAAQ,gBAAA;EACR,cAAA,GAAiB,aAAA;AAAA;AAAA,cAGN,gBAAA,EAAkB,YAAA,CAAa,aAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderContext.mjs","names":[],"sources":["../../src/composables/renderContext.ts"],"sourcesContent":["import type { InjectionKey } from 'vue'\nimport type { MaizzleConfig } from '../types/index.ts'\nimport type { EventName, EventMap } from '../events/index.ts'\nimport type { UsePlaintextOptions } from './usePlaintext.ts'\n\nexport interface FontRegistration {\n family: string\n slug: string\n declaration: string\n url: string\n}\n\nexport interface RenderContext {\n doctype?: string\n preheader?: { text: string; fillerCount: number; shyCount: number }\n sfcConfig?: MaizzleConfig\n sfcEventHandlers: Array<{ name: EventName; handler: EventMap[EventName] }>\n plaintext?: UsePlaintextOptions\n fonts?: FontRegistration[]\n}\n\nexport const RenderContextKey: InjectionKey<RenderContext> = Symbol('RenderContext')\n"],"mappings":";
|
|
1
|
+
{"version":3,"file":"renderContext.mjs","names":[],"sources":["../../src/composables/renderContext.ts"],"sourcesContent":["import type { InjectionKey } from 'vue'\nimport type { MaizzleConfig } from '../types/index.ts'\nimport type { EventName, EventMap } from '../events/index.ts'\nimport type { UsePlaintextOptions } from './usePlaintext.ts'\n\nexport interface FontRegistration {\n family: string\n slug: string\n declaration: string\n url: string\n}\n\nexport interface TailwindBlock {\n id: string\n /** Optional raw CSS from the component's `#config` slot. */\n css?: string\n}\n\nexport interface RenderContext {\n doctype?: string\n preheader?: { text: string; fillerCount: number; shyCount: number }\n sfcConfig?: MaizzleConfig\n sfcEventHandlers: Array<{ name: EventName; handler: EventMap[EventName] }>\n plaintext?: UsePlaintextOptions\n fonts?: FontRegistration[]\n tailwindBlocks?: TailwindBlock[]\n}\n\nexport const RenderContextKey: InjectionKey<RenderContext> = Symbol('RenderContext')\n"],"mappings":";AA4BA,MAAa,mBAAgD,OAAO,gBAAgB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MaizzleConfig } from "../types/config.
|
|
1
|
+
import { MaizzleConfig } from "../types/config.js";
|
|
2
2
|
import { InjectionKey } from "vue";
|
|
3
3
|
|
|
4
4
|
//#region src/composables/useConfig.d.ts
|
|
@@ -6,4 +6,4 @@ declare const MaizzleConfigKey: InjectionKey<MaizzleConfig>;
|
|
|
6
6
|
declare function useConfig(): MaizzleConfig;
|
|
7
7
|
//#endregion
|
|
8
8
|
export { MaizzleConfigKey, useConfig };
|
|
9
|
-
//# sourceMappingURL=useConfig.d.
|
|
9
|
+
//# sourceMappingURL=useConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useConfig.d.ts","names":[],"sources":["../../src/composables/useConfig.ts"],"mappings":";;;;cAIa,gBAAA,EAAkB,YAAA,CAAa,aAAA;AAAA,iBAE5B,SAAA,CAAA,GAAa,aAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDoctype.d.ts","names":[],"sources":["../../src/composables/useDoctype.ts"],"mappings":";;AAWA;;;;;;;iBAAgB,UAAA,CAAW,OAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EventMap, EventName } from "../events/index.
|
|
1
|
+
import { EventMap, EventName } from "../events/index.js";
|
|
2
2
|
|
|
3
3
|
//#region src/composables/useEvent.d.ts
|
|
4
4
|
/**
|
|
@@ -14,4 +14,4 @@ import { EventMap, EventName } from "../events/index.mjs";
|
|
|
14
14
|
declare function useEvent<K extends EventName>(name: K, handler: EventMap[K]): void;
|
|
15
15
|
//#endregion
|
|
16
16
|
export { useEvent };
|
|
17
|
-
//# sourceMappingURL=useEvent.d.
|
|
17
|
+
//# sourceMappingURL=useEvent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useEvent.d.ts","names":[],"sources":["../../src/composables/useEvent.ts"],"mappings":";;;;;AAcA;;;;;;;;iBAAgB,QAAA,WAAmB,SAAA,CAAA,CAAW,IAAA,EAAM,CAAA,EAAG,OAAA,EAAS,QAAA,CAAS,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFont.d.ts","names":[],"sources":["../../src/composables/useFont.ts"],"mappings":";KA8CY,YAAA;AAAA,UAEK,cAAA;EAFO;;;;AAExB;;EAOE,MAAA;EAoBc;EAlBd,QAAA;EAAA;;;;;EAMA,QAAA,GAAW,YAAA;EAYX;;;;AA+CF;EArDE,GAAA;;EAEA,OAAA;EAmD6C;EAjD7C,OAAA;;EAEA,MAAA,GAAS,KAAA;AAAA;;;;;;;;;;;;;;;;iBA+CK,OAAA,CAAQ,OAAA,EAAS,cAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
//#region src/composables/useOutlookFallback.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Toggle whether descendants emit Outlook (MSO) and VML fallback markup.
|
|
4
|
+
*
|
|
5
|
+
* Call once in a Layout/template's `<script setup>` to disable for the
|
|
6
|
+
* whole tree:
|
|
7
|
+
* `useOutlookFallback(false)`
|
|
8
|
+
*
|
|
9
|
+
* Components inheriting `false` skip MSO ghost tables, VML rectangles,
|
|
10
|
+
* `xmlns:v`/`xmlns:o`, mso-specific CSS, and Button's `<Outlook>`
|
|
11
|
+
* spacers. Each MSO-aware component still accepts an `outlook-fallback`
|
|
12
|
+
* prop that overrides inheritance for its subtree.
|
|
13
|
+
*
|
|
14
|
+
* @param value Pass `true`/`false` to set; omit to just read the
|
|
15
|
+
* inherited value (defaults to `true` at the root).
|
|
16
|
+
* @returns The resolved boolean for the current component.
|
|
17
|
+
*/
|
|
18
|
+
declare function useOutlookFallback(value?: boolean | null): boolean;
|
|
19
|
+
//#endregion
|
|
20
|
+
export { useOutlookFallback };
|
|
21
|
+
//# sourceMappingURL=useOutlookFallback.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOutlookFallback.d.ts","names":[],"sources":["../../src/composables/useOutlookFallback.ts"],"mappings":";;AAoBA;;;;;;;;;;;;;;;iBAAgB,kBAAA,CAAmB,KAAA"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { inject, provide } from "vue";
|
|
2
|
+
|
|
3
|
+
//#region src/composables/useOutlookFallback.ts
|
|
4
|
+
const OutlookFallbackKey = Symbol("OutlookFallback");
|
|
5
|
+
/**
|
|
6
|
+
* Toggle whether descendants emit Outlook (MSO) and VML fallback markup.
|
|
7
|
+
*
|
|
8
|
+
* Call once in a Layout/template's `<script setup>` to disable for the
|
|
9
|
+
* whole tree:
|
|
10
|
+
* `useOutlookFallback(false)`
|
|
11
|
+
*
|
|
12
|
+
* Components inheriting `false` skip MSO ghost tables, VML rectangles,
|
|
13
|
+
* `xmlns:v`/`xmlns:o`, mso-specific CSS, and Button's `<Outlook>`
|
|
14
|
+
* spacers. Each MSO-aware component still accepts an `outlook-fallback`
|
|
15
|
+
* prop that overrides inheritance for its subtree.
|
|
16
|
+
*
|
|
17
|
+
* @param value Pass `true`/`false` to set; omit to just read the
|
|
18
|
+
* inherited value (defaults to `true` at the root).
|
|
19
|
+
* @returns The resolved boolean for the current component.
|
|
20
|
+
*/
|
|
21
|
+
function useOutlookFallback(value) {
|
|
22
|
+
const inherited = inject(OutlookFallbackKey, true);
|
|
23
|
+
const enabled = value == null ? inherited : value;
|
|
24
|
+
provide(OutlookFallbackKey, enabled);
|
|
25
|
+
return enabled;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
//#endregion
|
|
29
|
+
export { useOutlookFallback };
|
|
30
|
+
//# sourceMappingURL=useOutlookFallback.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOutlookFallback.mjs","names":[],"sources":["../../src/composables/useOutlookFallback.ts"],"sourcesContent":["import { inject, provide, type InjectionKey } from 'vue'\n\nconst OutlookFallbackKey: InjectionKey<boolean> = Symbol('OutlookFallback')\n\n/**\n * Toggle whether descendants emit Outlook (MSO) and VML fallback markup.\n *\n * Call once in a Layout/template's `<script setup>` to disable for the\n * whole tree:\n * `useOutlookFallback(false)`\n *\n * Components inheriting `false` skip MSO ghost tables, VML rectangles,\n * `xmlns:v`/`xmlns:o`, mso-specific CSS, and Button's `<Outlook>`\n * spacers. Each MSO-aware component still accepts an `outlook-fallback`\n * prop that overrides inheritance for its subtree.\n *\n * @param value Pass `true`/`false` to set; omit to just read the\n * inherited value (defaults to `true` at the root).\n * @returns The resolved boolean for the current component.\n */\nexport function useOutlookFallback(value?: boolean | null): boolean {\n const inherited = inject(OutlookFallbackKey, true)\n const enabled = value == null ? inherited : value\n provide(OutlookFallbackKey, enabled)\n return enabled\n}\n"],"mappings":";;;AAEA,MAAM,qBAA4C,OAAO,kBAAkB;;;;;;;;;;;;;;;;;AAkB3E,SAAgB,mBAAmB,OAAiC;CAClE,MAAM,YAAY,OAAO,oBAAoB,KAAK;CAClD,MAAM,UAAU,SAAS,OAAO,YAAY;AAC5C,SAAQ,oBAAoB,QAAQ;AACpC,QAAO"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePlaintext.d.ts","names":[],"sources":["../../src/composables/usePlaintext.ts"],"mappings":";UAGiB,mBAAA;EACf,SAAA;EACA,WAAA;AAAA;;;AAaF;;;;;;;;iBAAgB,YAAA,CAAa,OAAA,GAAU,mBAAA"}
|
|
@@ -21,4 +21,4 @@ interface UsePreheaderOptions {
|
|
|
21
21
|
declare function usePreheader(text: string, options?: UsePreheaderOptions): void;
|
|
22
22
|
//#endregion
|
|
23
23
|
export { UsePreheaderOptions, usePreheader };
|
|
24
|
-
//# sourceMappingURL=usePreheader.d.
|
|
24
|
+
//# sourceMappingURL=usePreheader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePreheader.d.ts","names":[],"sources":["../../src/composables/usePreheader.ts"],"mappings":";UAGiB,mBAAA;EAAA;EAEf,WAAA;;EAEA,QAAA;AAAA;AAgBF;;;;;;;;;;;;;AAAA,iBAAgB,YAAA,CAAa,IAAA,UAAc,OAAA,GAAU,mBAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { MaizzleConfig } from "../types/config.
|
|
1
|
+
import { MaizzleConfig } from "../types/config.js";
|
|
2
2
|
//#region src/config/defaults.d.ts
|
|
3
3
|
declare const defaults: MaizzleConfig;
|
|
4
4
|
//#endregion
|
|
5
5
|
export { defaults };
|
|
6
|
-
//# sourceMappingURL=defaults.d.
|
|
6
|
+
//# sourceMappingURL=defaults.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","names":[],"sources":["../../src/config/defaults.ts"],"mappings":";;cAEa,QAAA,EAAU,aAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { MaizzleConfig } from "../types/config.
|
|
2
|
-
import { defineConfig } from "../composables/defineConfig.
|
|
3
|
-
import { defaults } from "./defaults.
|
|
1
|
+
import { MaizzleConfig } from "../types/config.js";
|
|
2
|
+
import { defineConfig } from "../composables/defineConfig.js";
|
|
3
|
+
import { defaults } from "./defaults.js";
|
|
4
4
|
|
|
5
5
|
//#region src/config/index.d.ts
|
|
6
6
|
/**
|
|
@@ -12,4 +12,4 @@ import { defaults } from "./defaults.mjs";
|
|
|
12
12
|
declare function resolveConfig(config?: Partial<MaizzleConfig> | string, cwd?: string): Promise<MaizzleConfig>;
|
|
13
13
|
//#endregion
|
|
14
14
|
export { defaults, defineConfig, resolveConfig };
|
|
15
|
-
//# sourceMappingURL=index.d.
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/config/index.ts"],"mappings":";;;;;;;;AA8BA;;;iBAAsB,aAAA,CACpB,MAAA,GAAS,OAAA,CAAQ,aAAA,YACjB,GAAA,YACC,OAAA,CAAQ,aAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MaizzleConfig } from "../types/config.
|
|
1
|
+
import { MaizzleConfig } from "../types/config.js";
|
|
2
2
|
//#region src/events/index.d.ts
|
|
3
3
|
type EventName = 'beforeCreate' | 'beforeRender' | 'afterRender' | 'afterTransform' | 'afterBuild';
|
|
4
4
|
interface EventMap {
|
|
@@ -88,4 +88,4 @@ declare class EventManager {
|
|
|
88
88
|
}
|
|
89
89
|
//#endregion
|
|
90
90
|
export { EventManager, EventMap, EventName };
|
|
91
|
-
//# sourceMappingURL=index.d.
|
|
91
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/events/index.ts"],"mappings":";;KAEY,SAAA;AAAA,UAEK,QAAA;EACf,YAAA,GAAe,MAAA;IAAU,MAAA,EAAQ,aAAA;EAAA,aAA2B,OAAA;EAC5D,YAAA,GAAe,MAAA;IAAU,MAAA,EAAQ,aAAA;IAAe,QAAA;EAAA,sBAAuC,OAAA;EACvF,WAAA,GAAc,MAAA;IAAU,MAAA,EAAQ,aAAA;IAAe,QAAA;IAAkB,IAAA;EAAA,sBAAmC,OAAA;EACpG,cAAA,GAAiB,MAAA;IAAU,MAAA,EAAQ,aAAA;IAAe,QAAA;IAAkB,IAAA;EAAA,sBAAmC,OAAA;EACvG,UAAA,GAAa,MAAA;IAAU,KAAA;IAAiB,MAAA,EAAQ,aAAA;EAAA,aAA2B,OAAA;AAAA;;;;;;;;cAUhE,YAAA;EAAA,QACH,QAAA;EAd+E;;;EAmBvF,cAAA,CAAe,MAAA,EAAQ,aAAA;EAlBwB;;;EAgC/C,EAAA,WAAa,SAAA,CAAA,CAAW,IAAA,EAAM,CAAA,EAAG,OAAA,EAAS,QAAA,CAAS,CAAA;EA/BnD;;;EA0CM,gBAAA,CAAiB,MAAA;IAAU,MAAA,EAAQ,aAAA;EAAA,IAAe,OAAA;EA1C+C;;;EAqDjG,gBAAA,CAAiB,MAAA;IAAU,MAAA,EAAQ,aAAA;IAAe,QAAA;EAAA,IAAqB,OAAA;EApDK;;AAUpF;EA6DQ,eAAA,CAAgB,MAAA;IAAU,MAAA,EAAQ,aAAA;IAAe,QAAA;IAAkB,IAAA;EAAA,IAAiB,OAAA;EAzChD;;;EA4DpC,kBAAA,CAAmB,MAAA;IAAU,MAAA,EAAQ,aAAA;IAAe,QAAA;IAAkB,IAAA;EAAA,IAAiB,OAAA;EAAlD;;;EAmBrC,cAAA,CAAe,MAAA;IAAU,KAAA;IAAiB,MAAA,EAAQ,aAAA;EAAA,IAAe,OAAA;EA7FvE;;;EAwGA,gBAAA,CAAA;EA1FG;;;EAsGH,KAAA,CAAA;AAAA"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { AttributesConfig, CssConfig, EntitiesConfig, FilterFunction, FiltersConfig, HtmlConfig, MaizzleConfig, UrlConfig, UrlQuery, UrlQueryOptions } from "./types/config.js";
|
|
2
|
+
import { build } from "./build.js";
|
|
3
|
+
import { defineConfig } from "./composables/defineConfig.js";
|
|
4
|
+
import { usePlaintext } from "./composables/usePlaintext.js";
|
|
5
|
+
import { useConfig } from "./composables/useConfig.js";
|
|
6
|
+
import { useDoctype } from "./composables/useDoctype.js";
|
|
7
|
+
import { useEvent } from "./composables/useEvent.js";
|
|
8
|
+
import { useFont } from "./composables/useFont.js";
|
|
9
|
+
import { useOutlookFallback } from "./composables/useOutlookFallback.js";
|
|
10
|
+
import { resolveConfig } from "./config/index.js";
|
|
11
|
+
import { maizzle } from "./plugin.js";
|
|
12
|
+
import { CreateRendererOptions, RenderedTemplate, Renderer, createRenderer } from "./render/createRenderer.js";
|
|
13
|
+
import { RenderResult, render } from "./render/index.js";
|
|
14
|
+
import { serve } from "./serve.js";
|
|
15
|
+
import { PrepareOptions, prepare } from "./prepare.js";
|
|
16
|
+
import { createPlaintext } from "./plaintext.js";
|
|
17
|
+
import { inlineLink } from "./transformers/inlineLink.js";
|
|
18
|
+
import { urlQuery } from "./transformers/urlQuery.js";
|
|
19
|
+
import { base } from "./transformers/base.js";
|
|
20
|
+
import { entities } from "./transformers/entities.js";
|
|
21
|
+
import { safeClassNames } from "./transformers/safeClassNames.js";
|
|
22
|
+
import { attributeToStyle } from "./transformers/attributeToStyle.js";
|
|
23
|
+
import { inlineCSS } from "./transformers/inlineCSS.js";
|
|
24
|
+
import { shorthandCSS } from "./transformers/shorthandCSS.js";
|
|
25
|
+
import { sixHex } from "./transformers/sixHex.js";
|
|
26
|
+
import { removeAttributes } from "./transformers/removeAttributes.js";
|
|
27
|
+
import { addAttributes } from "./transformers/addAttributes.js";
|
|
28
|
+
import { purgeCSS } from "./transformers/purgeCSS.js";
|
|
29
|
+
import { filters } from "./transformers/filters/index.js";
|
|
30
|
+
import { replaceStrings } from "./transformers/replaceStrings.js";
|
|
31
|
+
import { format } from "./transformers/format.js";
|
|
32
|
+
import { minify } from "./transformers/minify.js";
|
|
33
|
+
import { useHead } from "@unhead/vue";
|
|
34
|
+
export { type AttributesConfig, type CreateRendererOptions, type CssConfig, type EntitiesConfig, type FilterFunction, type FiltersConfig, type HtmlConfig, type MaizzleConfig, type PrepareOptions, type RenderResult, type RenderedTemplate, type Renderer, type UrlConfig, type UrlQuery, type UrlQueryOptions, addAttributes, attributeToStyle, base, build, createPlaintext, createRenderer, defineConfig, entities, filters, format, inlineCSS, inlineLink, maizzle, minify, prepare, removeAttributes, purgeCSS as removeUnusedCSS, render, replaceStrings, resolveConfig, safeClassNames, serve, shorthandCSS, sixHex, urlQuery, useConfig, useDoctype, useEvent, useFont, useHead, useOutlookFallback, usePlaintext };
|
package/dist/index.mjs
CHANGED
|
@@ -27,7 +27,8 @@ import { prepare } from "./prepare.mjs";
|
|
|
27
27
|
import { useDoctype } from "./composables/useDoctype.mjs";
|
|
28
28
|
import { useEvent } from "./composables/useEvent.mjs";
|
|
29
29
|
import { useFont } from "./composables/useFont.mjs";
|
|
30
|
+
import { useOutlookFallback } from "./composables/useOutlookFallback.mjs";
|
|
30
31
|
import { usePlaintext } from "./composables/usePlaintext.mjs";
|
|
31
32
|
import { useHead } from "@unhead/vue";
|
|
32
33
|
|
|
33
|
-
export { addAttributes, attributeToStyle, base, build, createPlaintext, createRenderer, defineConfig, entities, filters, format, inlineCSS, inlineLink, maizzle, minify, prepare, removeAttributes, purgeCSS as removeUnusedCSS, render, replaceStrings, resolveConfig, safeClassNames, serve, shorthandCSS, sixHex, urlQuery, useConfig, useDoctype, useEvent, useFont, useHead, usePlaintext };
|
|
34
|
+
export { addAttributes, attributeToStyle, base, build, createPlaintext, createRenderer, defineConfig, entities, filters, format, inlineCSS, inlineLink, maizzle, minify, prepare, removeAttributes, purgeCSS as removeUnusedCSS, render, replaceStrings, resolveConfig, safeClassNames, serve, shorthandCSS, sixHex, urlQuery, useConfig, useDoctype, useEvent, useFont, useHead, useOutlookFallback, usePlaintext };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plaintext.d.ts","names":[],"sources":["../src/plaintext.ts"],"mappings":";iBAUgB,eAAA,CAAgB,IAAA,UAAc,OAAA,GAAU,MAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MaizzleConfig } from "./types/config.
|
|
1
|
+
import { MaizzleConfig } from "./types/config.js";
|
|
2
2
|
import { Plugin } from "vite";
|
|
3
3
|
|
|
4
4
|
//#region src/plugin.d.ts
|
|
@@ -14,4 +14,4 @@ import { Plugin } from "vite";
|
|
|
14
14
|
declare function maizzle(configInput?: Partial<MaizzleConfig>): Plugin[];
|
|
15
15
|
//#endregion
|
|
16
16
|
export { maizzle };
|
|
17
|
-
//# sourceMappingURL=plugin.d.
|
|
17
|
+
//# sourceMappingURL=plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","names":[],"sources":["../src/plugin.ts"],"mappings":";;;;;;;AAaA;;;;;;iBAAgB,OAAA,CAAQ,WAAA,GAAc,OAAA,CAAQ,aAAA,IAAiB,MAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MaizzleConfig } from "../../types/config.
|
|
1
|
+
import { MaizzleConfig } from "../../types/config.js";
|
|
2
2
|
import postcss from "postcss";
|
|
3
3
|
|
|
4
4
|
//#region src/plugins/postcss/mergeMediaQueries.d.ts
|
|
@@ -15,4 +15,4 @@ import postcss from "postcss";
|
|
|
15
15
|
declare function mergeMediaQueries(config: MaizzleConfig): postcss.Plugin | null;
|
|
16
16
|
//#endregion
|
|
17
17
|
export { mergeMediaQueries };
|
|
18
|
-
//# sourceMappingURL=mergeMediaQueries.d.
|
|
18
|
+
//# sourceMappingURL=mergeMediaQueries.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mergeMediaQueries.d.ts","names":[],"sources":["../../../src/plugins/postcss/mergeMediaQueries.ts"],"mappings":";;;;;;AAcA;;;;;;;;iBAAgB,iBAAA,CAAkB,MAAA,EAAQ,aAAA,GAAgB,OAAA,CAAQ,MAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pruneVars.d.ts","names":[],"sources":["../../../src/plugins/postcss/pruneVars.ts"],"mappings":";;;cAKyD,QAAA,QAYtC,MAAA;AAAA,cA2DN,OAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quoteFontFamilies.d.ts","names":[],"sources":["../../../src/plugins/postcss/quoteFontFamilies.ts"],"mappings":";;;;;AA+CA;;;iBAAgB,iBAAA,CAAA,GAAqB,MAAA;AAAA,cA6BxB,OAAA"}
|
|
@@ -9,4 +9,4 @@ declare const _default: (options: RemoveDeclarationsOptions) => Plugin;
|
|
|
9
9
|
declare const postcss = true;
|
|
10
10
|
//#endregion
|
|
11
11
|
export { RemoveDeclarationsOptions, RemoveValue, _default as default, postcss };
|
|
12
|
-
//# sourceMappingURL=removeDeclarations.d.
|
|
12
|
+
//# sourceMappingURL=removeDeclarations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"removeDeclarations.d.ts","names":[],"sources":["../../../src/plugins/postcss/removeDeclarations.ts"],"mappings":";;;KA0BY,WAAA,6BAIR,MAAA;AAAA,UAEa,yBAAA;EACf,MAAA,EAAQ,MAAA,SAAe,WAAA;AAAA;AAAA,cACxB,QAAA,GAQe,OAAA,EAAS,yBAAA,KAA4B,MAAA;AAAA,cAyDxC,OAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Plugin } from "postcss";
|
|
2
|
+
|
|
3
|
+
//#region src/plugins/postcss/resolveMaizzleImports.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* Rewrite `@import "@maizzle/tailwindcss"` (and subpaths like
|
|
6
|
+
* `@maizzle/tailwindcss/mso`) to absolute file paths so postcss/Tailwind
|
|
7
|
+
* can resolve them regardless of where the user's template lives or how
|
|
8
|
+
* their package manager hoists dependencies.
|
|
9
|
+
*
|
|
10
|
+
* Resolution order: prefer the user's project copy (so explicit installs
|
|
11
|
+
* win), then fall back to the copy bundled with the framework.
|
|
12
|
+
*/
|
|
13
|
+
declare function resolveMaizzleImports(userRoot?: string): Plugin;
|
|
14
|
+
//#endregion
|
|
15
|
+
export { resolveMaizzleImports };
|
|
16
|
+
//# sourceMappingURL=resolveMaizzleImports.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveMaizzleImports.d.ts","names":[],"sources":["../../../src/plugins/postcss/resolveMaizzleImports.ts"],"mappings":";;;;;AAiBA;;;;;;;iBAAgB,qBAAA,CAAsB,QAAA,YAAmC,MAAA"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { createRequire } from "node:module";
|
|
2
|
+
|
|
3
|
+
//#region src/plugins/postcss/resolveMaizzleImports.ts
|
|
4
|
+
const SUBPATH_RE = new RegExp(`^@maizzle/tailwindcss(?:/|$)`);
|
|
5
|
+
const requireFromFramework = createRequire(import.meta.url);
|
|
6
|
+
/**
|
|
7
|
+
* Rewrite `@import "@maizzle/tailwindcss"` (and subpaths like
|
|
8
|
+
* `@maizzle/tailwindcss/mso`) to absolute file paths so postcss/Tailwind
|
|
9
|
+
* can resolve them regardless of where the user's template lives or how
|
|
10
|
+
* their package manager hoists dependencies.
|
|
11
|
+
*
|
|
12
|
+
* Resolution order: prefer the user's project copy (so explicit installs
|
|
13
|
+
* win), then fall back to the copy bundled with the framework.
|
|
14
|
+
*/
|
|
15
|
+
function resolveMaizzleImports(userRoot = process.cwd()) {
|
|
16
|
+
const requireFromUser = createRequire(`${userRoot}/_maizzle.js`);
|
|
17
|
+
function resolve(spec) {
|
|
18
|
+
try {
|
|
19
|
+
return requireFromUser.resolve(spec);
|
|
20
|
+
} catch {}
|
|
21
|
+
try {
|
|
22
|
+
return requireFromFramework.resolve(spec);
|
|
23
|
+
} catch {}
|
|
24
|
+
}
|
|
25
|
+
return {
|
|
26
|
+
postcssPlugin: "maizzle:resolve-tw-imports",
|
|
27
|
+
AtRule: { import(rule) {
|
|
28
|
+
const m = rule.params.match(/^\s*["']([^"']+)["']/);
|
|
29
|
+
if (!m) return;
|
|
30
|
+
const spec = m[1];
|
|
31
|
+
if (!SUBPATH_RE.test(spec)) return;
|
|
32
|
+
const abs = resolve(spec);
|
|
33
|
+
if (abs) rule.params = rule.params.replace(m[0], `"${abs}"`);
|
|
34
|
+
} }
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
//#endregion
|
|
39
|
+
export { resolveMaizzleImports };
|
|
40
|
+
//# sourceMappingURL=resolveMaizzleImports.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveMaizzleImports.mjs","names":[],"sources":["../../../src/plugins/postcss/resolveMaizzleImports.ts"],"sourcesContent":["import { createRequire } from 'node:module'\nimport type { Plugin } from 'postcss'\n\nconst PKG = '@maizzle/tailwindcss'\nconst SUBPATH_RE = new RegExp(`^${PKG}(?:/|$)`)\n\nconst requireFromFramework = createRequire(import.meta.url)\n\n/**\n * Rewrite `@import \"@maizzle/tailwindcss\"` (and subpaths like\n * `@maizzle/tailwindcss/mso`) to absolute file paths so postcss/Tailwind\n * can resolve them regardless of where the user's template lives or how\n * their package manager hoists dependencies.\n *\n * Resolution order: prefer the user's project copy (so explicit installs\n * win), then fall back to the copy bundled with the framework.\n */\nexport function resolveMaizzleImports(userRoot: string = process.cwd()): Plugin {\n const requireFromUser = createRequire(`${userRoot}/_maizzle.js`)\n\n function resolve(spec: string): string | undefined {\n try { return requireFromUser.resolve(spec) } catch {}\n try { return requireFromFramework.resolve(spec) } catch {}\n return undefined\n }\n\n return {\n postcssPlugin: 'maizzle:resolve-tw-imports',\n AtRule: {\n import(rule) {\n const m = rule.params.match(/^\\s*[\"']([^\"']+)[\"']/)\n if (!m) return\n const spec = m[1]\n if (!SUBPATH_RE.test(spec)) return\n\n const abs = resolve(spec)\n if (abs) rule.params = rule.params.replace(m[0], `\"${abs}\"`)\n },\n },\n }\n}\n"],"mappings":";;;AAIA,MAAM,aAAa,IAAI,OAAO,+BAAiB;AAE/C,MAAM,uBAAuB,cAAc,OAAO,KAAK,IAAI;;;;;;;;;;AAW3D,SAAgB,sBAAsB,WAAmB,QAAQ,KAAK,EAAU;CAC9E,MAAM,kBAAkB,cAAc,GAAG,SAAS,cAAc;CAEhE,SAAS,QAAQ,MAAkC;AACjD,MAAI;AAAE,UAAO,gBAAgB,QAAQ,KAAK;UAAS;AACnD,MAAI;AAAE,UAAO,qBAAqB,QAAQ,KAAK;UAAS;;AAI1D,QAAO;EACL,eAAe;EACf,QAAQ,EACN,OAAO,MAAM;GACX,MAAM,IAAI,KAAK,OAAO,MAAM,uBAAuB;AACnD,OAAI,CAAC,EAAG;GACR,MAAM,OAAO,EAAE;AACf,OAAI,CAAC,WAAW,KAAK,KAAK,CAAE;GAE5B,MAAM,MAAM,QAAQ,KAAK;AACzB,OAAI,IAAK,MAAK,SAAS,KAAK,OAAO,QAAQ,EAAE,IAAI,IAAI,IAAI,GAAG;KAE/D;EACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveProps.d.ts","names":[],"sources":["../../../src/plugins/postcss/resolveProps.ts"],"mappings":";;;cAiByD,QAAA,QA6FtC,MAAA;AAAA,cA8IN,OAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MaizzleConfig } from "../../types/config.
|
|
1
|
+
import { MaizzleConfig } from "../../types/config.js";
|
|
2
2
|
import postcss from "postcss";
|
|
3
3
|
|
|
4
4
|
//#region src/plugins/postcss/tailwindCleanup.d.ts
|
|
@@ -15,4 +15,4 @@ import postcss from "postcss";
|
|
|
15
15
|
declare function tailwindCleanup(config: MaizzleConfig): postcss.Plugin[];
|
|
16
16
|
//#endregion
|
|
17
17
|
export { tailwindCleanup };
|
|
18
|
-
//# sourceMappingURL=tailwindCleanup.d.
|
|
18
|
+
//# sourceMappingURL=tailwindCleanup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tailwindCleanup.d.ts","names":[],"sources":["../../../src/plugins/postcss/tailwindCleanup.ts"],"mappings":";;;;;;AA0CA;;;;;;;;iBAAgB,eAAA,CAAgB,MAAA,EAAQ,aAAA,GAAgB,OAAA,CAAQ,MAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepare.d.ts","names":[],"sources":["../src/prepare.ts"],"mappings":";UAMiB,cAAA;EAAA;EAEf,MAAA;AAAA;;;AAWF;;;;;;iBAAsB,OAAA,CAAQ,OAAA,GAAS,cAAA,GAAsB,OAAA"}
|