semajsx 0.1.1 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{computed-BpjqvQu1.mjs → computed-BidG06Lt.mjs} +2 -2
- package/dist/{computed-BpjqvQu1.mjs.map → computed-BidG06Lt.mjs.map} +1 -1
- package/dist/{document-OGuk9jhK.mjs → document-BOJDaiBc.mjs} +19 -4
- package/dist/document-BOJDaiBc.mjs.map +1 -0
- package/dist/{document-DFsOtfef.mjs → document-CwHVG_PJ.mjs} +2 -2
- package/dist/dom/index.d.mts +68 -3
- package/dist/dom/index.d.mts.map +1 -1
- package/dist/dom/index.mjs +4 -4
- package/dist/dom/jsx-dev-runtime.d.mts +4 -4
- package/dist/dom/jsx-dev-runtime.mjs +1 -1
- package/dist/dom/jsx-runtime.d.mts +4 -4
- package/dist/dom/jsx-runtime.mjs +2 -2
- package/dist/{helpers-DrifjCXb.d.mts → helpers-CfRDJgcP.d.mts} +3 -3
- package/dist/{helpers-DrifjCXb.d.mts.map → helpers-CfRDJgcP.d.mts.map} +1 -1
- package/dist/{index-DS5X3Pvb.d.mts → index-B1pjI-Su.d.mts} +2 -2
- package/dist/{index-DS5X3Pvb.d.mts.map → index-B1pjI-Su.d.mts.map} +1 -1
- package/dist/index-Ch9GwToI.d.mts +81 -0
- package/dist/index-Ch9GwToI.d.mts.map +1 -0
- package/dist/index.d.mts +7 -7
- package/dist/index.mjs +5 -5
- package/dist/{island-marker-hZdmHMvx.d.mts → island-marker-BJIO07Vj.d.mts} +1 -1
- package/dist/island-marker-BJIO07Vj.d.mts.map +1 -0
- package/dist/{jsx-CGW4OyqA.d.mts → jsx-fNlLjLou.d.mts} +2 -2
- package/dist/{jsx-CGW4OyqA.d.mts.map → jsx-fNlLjLou.d.mts.map} +1 -1
- package/dist/{jsx-runtime-DU8DRISG.d.mts → jsx-runtime-BFuFPDzn.d.mts} +3 -3
- package/dist/{jsx-runtime-DU8DRISG.d.mts.map → jsx-runtime-BFuFPDzn.d.mts.map} +1 -1
- package/dist/jsx-runtime-D9ZNjMJ2.mjs.map +1 -1
- package/dist/{jsx-runtime-mBpL8czJ.d.mts → jsx-runtime-DZx2Yv-t.d.mts} +28 -6
- package/dist/{jsx-runtime-mBpL8czJ.d.mts.map → jsx-runtime-DZx2Yv-t.d.mts.map} +1 -1
- package/dist/lucide-CVtHepGM.mjs +126 -0
- package/dist/lucide-CVtHepGM.mjs.map +1 -0
- package/dist/{resource-B1IudM8_.d.mts → resource-BQI6AeJ0.d.mts} +23 -3
- package/dist/resource-BQI6AeJ0.d.mts.map +1 -0
- package/dist/{resource-BjsDAkbG.mjs → resource-DSlXDZZi.mjs} +2 -2
- package/dist/{resource-BjsDAkbG.mjs.map → resource-DSlXDZZi.mjs.map} +1 -1
- package/dist/signal/index.d.mts +2 -2
- package/dist/signal/index.mjs +3 -3
- package/dist/{signal-4PgGfydw.mjs → signal-BN8vHXDb.mjs} +1 -1
- package/dist/{signal-4PgGfydw.mjs.map → signal-BN8vHXDb.mjs.map} +1 -1
- package/dist/{signal-CLsaPA7c.d.mts → signal-BwxUlXKs.d.mts} +1 -1
- package/dist/{signal-CLsaPA7c.d.mts.map → signal-BwxUlXKs.d.mts.map} +1 -1
- package/dist/{src-CRi0xsNK.mjs → src-BqX3sryB.mjs} +68 -5
- package/dist/src-BqX3sryB.mjs.map +1 -0
- package/dist/{src-DEoBG1zB.mjs → src-DUpFNNM_.mjs} +4 -4
- package/dist/{src-DEoBG1zB.mjs.map → src-DUpFNNM_.mjs.map} +1 -1
- package/dist/{src-BlS3Hc-L.mjs → src-DW3tIczg.mjs} +75 -5
- package/dist/src-DW3tIczg.mjs.map +1 -0
- package/dist/{src-Jbt_w0hc.mjs → src-Ds9vl42d.mjs} +37 -35
- package/dist/src-Ds9vl42d.mjs.map +1 -0
- package/dist/{src-iC-NFwTy.mjs → src-DuSN6go_.mjs} +79 -22
- package/dist/src-DuSN6go_.mjs.map +1 -0
- package/dist/src-L88LbwEv.mjs +868 -0
- package/dist/src-L88LbwEv.mjs.map +1 -0
- package/dist/ssg/index.d.mts +4 -182
- package/dist/ssg/index.d.mts.map +1 -1
- package/dist/ssg/index.mjs +7 -756
- package/dist/ssg/index.mjs.map +1 -1
- package/dist/ssg/plugins/docs-theme.d.mts +218 -0
- package/dist/ssg/plugins/docs-theme.d.mts.map +1 -0
- package/dist/ssg/plugins/docs-theme.mjs +2252 -0
- package/dist/ssg/plugins/docs-theme.mjs.map +1 -0
- package/dist/ssg/plugins/lucide.d.mts +3 -0
- package/dist/ssg/plugins/lucide.mjs +7 -0
- package/dist/ssr/client.d.mts +3 -3
- package/dist/ssr/client.mjs +5 -5
- package/dist/ssr/index.d.mts +3 -3
- package/dist/ssr/index.d.mts.map +1 -1
- package/dist/ssr/index.mjs +6 -5
- package/dist/style/index.d.mts +2 -2
- package/dist/style/index.d.mts.map +1 -1
- package/dist/style/index.mjs +1 -1
- package/dist/style/react.d.mts +2 -2
- package/dist/style/react.mjs +2 -2
- package/dist/style/vue.d.mts +2 -2
- package/dist/style/vue.mjs +2 -2
- package/dist/terminal/index.d.mts +4 -4
- package/dist/terminal/index.mjs +2 -2
- package/dist/terminal/jsx-dev-runtime.d.mts +4 -4
- package/dist/terminal/jsx-dev-runtime.mjs +1 -1
- package/dist/terminal/jsx-runtime.d.mts +4 -4
- package/dist/terminal/jsx-runtime.mjs +1 -1
- package/dist/{types-DlNR9ZaJ.d.mts → types-BlaUrkq0.d.mts} +2 -2
- package/dist/{types-DlNR9ZaJ.d.mts.map → types-BlaUrkq0.d.mts.map} +1 -1
- package/dist/types-C9fiRu6l.d.mts +220 -0
- package/dist/types-C9fiRu6l.d.mts.map +1 -0
- package/dist/{types-Dgj6n-EE.d.mts → types-CZMcXQTW.d.mts} +9 -4
- package/dist/types-CZMcXQTW.d.mts.map +1 -0
- package/dist/{types-Bjx1Pp14.d.mts → types-D0jRO840.d.mts} +1 -1
- package/dist/{types-Bjx1Pp14.d.mts.map → types-D0jRO840.d.mts.map} +1 -1
- package/dist/{types-DEi0apQO.d.mts → types-DucvOZQ2.d.mts} +2 -2
- package/dist/{types-DEi0apQO.d.mts.map → types-DucvOZQ2.d.mts.map} +1 -1
- package/dist/{utils-BrGmTgfG.mjs → utils-DbTAs943.mjs} +1 -1
- package/dist/{utils-BrGmTgfG.mjs.map → utils-DbTAs943.mjs.map} +1 -1
- package/package.json +30 -2
- package/dist/document-OGuk9jhK.mjs.map +0 -1
- package/dist/island-marker-hZdmHMvx.d.mts.map +0 -1
- package/dist/jsx-runtime-D2B2BK8X.mjs +0 -4
- package/dist/resource-B1IudM8_.d.mts.map +0 -1
- package/dist/src-BlS3Hc-L.mjs.map +0 -1
- package/dist/src-CRi0xsNK.mjs.map +0 -1
- package/dist/src-Jbt_w0hc.mjs.map +0 -1
- package/dist/src-iC-NFwTy.mjs.map +0 -1
- package/dist/types-Dgj6n-EE.d.mts.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docs-theme.mjs","names":["c","root","icon","styles.root","styles.title","styles.icon","styles.content","c","root","styles.root","c","root","icon","styles.icon","styles.heading","styles.headingLink","styles.desc","styles.descLink","styles.root","styles.link","styles.linkStates","styles.feature","styles.featureStates","c","root","buttonStyles","cardStyles","calloutStyles","badgeStyles","codeBlockStyles","lucidePlugin","llmsPlugin"],"sources":["../../../../ssg/src/plugins/docs-theme/styles.ts","../../../../ui/src/theme/tokens.ts","../../../../ui/src/components/callout/callout.style.ts","../../../../ui/src/components/callout/callout.tsx","../../../../ui/src/components/badge/badge.style.ts","../../../../ui/src/components/badge/badge.tsx","../../../../ui/src/components/card/card.style.ts","../../../../ui/src/components/card/card.tsx","../../../../ui/src/theme/themes.ts","../../../../ui/src/components/button/button.style.ts","../../../../ui/src/components/code-block/code-block.style.ts","../../../../ui/src/css.ts","../../../../ssg/src/plugins/docs-theme/components.tsx","../../../../ssg/src/plugins/llms/index.ts","../../../../ssg/src/plugins/docs-theme/index.ts"],"sourcesContent":["/**\n * Apple-inspired theme CSS for the docs-theme plugin.\n *\n * All class names are prefixed with `dt-` to avoid collisions.\n * Component styles (Card, Callout, Badge) come from @semajsx/ui via componentCSS.\n * This file contains layout, navigation, hero, typography, animations, and responsive styles.\n */\n\nexport const THEME_CSS = /* css */ `\n/* ==============================================\n * Keyframes\n * ============================================== */\n\n@keyframes dt-fade-in-up {\n from { opacity: 0; transform: translateY(20px); }\n to { opacity: 1; transform: translateY(0); }\n}\n\n@keyframes dt-fade-in-scale {\n from { opacity: 0; transform: scale(0.96) translateY(8px); }\n to { opacity: 1; transform: scale(1) translateY(0); }\n}\n\n/* ==============================================\n * Global Reset & Base\n * ============================================== */\n\n* { margin: 0; padding: 0; box-sizing: border-box; }\n\nhtml { scroll-behavior: smooth; }\n\nbody {\n font-family: -apple-system, BlinkMacSystemFont, \"SF Pro Display\", \"SF Pro Text\",\n Inter, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n line-height: 1.6;\n color: #1d1d1f;\n background: #fbfbfd;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n text-rendering: optimizeLegibility;\n}\n\n::selection {\n background: rgba(0, 113, 227, 0.2);\n color: #1d1d1f;\n}\n\n/* ==============================================\n * Frosted Glass Navigation\n * ============================================== */\n\n.dt-glass-nav {\n position: sticky;\n top: 0;\n z-index: 50;\n background: rgba(251, 251, 253, 0.8);\n backdrop-filter: saturate(180%) blur(20px);\n -webkit-backdrop-filter: saturate(180%) blur(20px);\n border-bottom: 0.5px solid rgba(0, 0, 0, 0.08);\n}\n\n.dt-nav-inner {\n max-width: 1200px;\n margin: 0 auto;\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 14px 2rem;\n height: 52px;\n}\n\n.dt-nav-logo {\n color: #1d1d1f;\n font-size: 1.25rem;\n font-weight: 600;\n letter-spacing: -0.02em;\n text-decoration: none;\n}\n\n.dt-nav-links {\n display: flex;\n list-style: none;\n margin: 0;\n gap: 2rem;\n}\n\n.dt-nav-link {\n color: #1d1d1f;\n text-decoration: none;\n font-size: 0.875rem;\n font-weight: 400;\n letter-spacing: -0.005em;\n transition: color 0.2s ease;\n}\n\n.dt-nav-link:hover {\n color: #0071e3;\n}\n\n/* ==============================================\n * Layout\n * ============================================== */\n\n.dt-root {\n display: flex;\n flex-direction: column;\n min-height: 100vh;\n background: #fbfbfd;\n}\n\n.dt-main {\n flex: 1 1 0%;\n width: 100%;\n max-width: 1200px;\n margin: 0 auto;\n padding: 2rem 2rem 4rem;\n}\n\n/* ==============================================\n * Footer\n * ============================================== */\n\n.dt-footer {\n border-top: 0.5px solid rgba(0, 0, 0, 0.08);\n background: #f5f5f7;\n}\n\n.dt-footer-inner {\n max-width: 1200px;\n margin: 0 auto;\n padding: 2rem;\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-wrap: wrap;\n gap: 1rem;\n}\n\n.dt-footer-links {\n display: flex;\n gap: 2rem;\n align-items: center;\n}\n\n.dt-footer-link {\n color: #6e6e73;\n text-decoration: none;\n font-size: 0.8125rem;\n transition: color 0.2s;\n}\n\n.dt-footer-link:hover {\n color: #0071e3;\n}\n\n.dt-footer-copy {\n color: #86868b;\n font-size: 0.8125rem;\n margin: 0;\n}\n\n/* ==============================================\n * Hero Section\n * ============================================== */\n\n.dt-hero-bg {\n background: linear-gradient(180deg, #fbfbfd 0%, #f5f5f7 40%, #fbfbfd 100%);\n position: relative;\n}\n\n.dt-hero-bg::before {\n content: \"\";\n position: absolute;\n top: 0;\n left: 50%;\n transform: translateX(-50%);\n width: 100%;\n height: 100%;\n background: radial-gradient(\n ellipse 60% 50% at 50% 40%,\n rgba(0, 113, 227, 0.06) 0%,\n rgba(251, 251, 253, 0) 70%\n );\n pointer-events: none;\n}\n\n.dt-hero-title {\n font-size: clamp(3rem, 8vw, 5rem);\n font-weight: 700;\n line-height: 1.05;\n letter-spacing: -0.03em;\n background: linear-gradient(135deg, #1d1d1f 30%, #6e6e73 100%);\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n background-clip: text;\n margin-bottom: 1.25rem;\n}\n\n.dt-hero-subtitle {\n font-size: clamp(1.25rem, 2.5vw, 1.5rem);\n font-weight: 400;\n line-height: 1.5;\n color: #6e6e73;\n max-width: 40rem;\n margin: 0 auto 2.5rem;\n letter-spacing: -0.005em;\n}\n\n.dt-hero-cta {\n display: flex;\n gap: 1rem;\n justify-content: center;\n margin-top: 2rem;\n}\n\n/* ==============================================\n * Section Typography\n * ============================================== */\n\n.dt-section-title {\n font-size: clamp(2rem, 4vw, 2.75rem);\n font-weight: 700;\n letter-spacing: -0.02em;\n line-height: 1.1;\n color: #1d1d1f;\n margin-bottom: 0.75rem;\n}\n\n.dt-section-subtitle {\n font-size: clamp(1rem, 2vw, 1.25rem);\n font-weight: 400;\n line-height: 1.5;\n color: #6e6e73;\n max-width: 36rem;\n margin: 0 auto 3rem;\n}\n\n/* ==============================================\n * Buttons\n * ============================================== */\n\n.dt-primary-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 0.875rem 1.75rem;\n background: #0071e3;\n color: white;\n border-radius: 980px;\n font-size: 1.0625rem;\n font-weight: 500;\n text-decoration: none;\n transition: all 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);\n border: none;\n cursor: pointer;\n letter-spacing: -0.005em;\n}\n\n.dt-primary-btn:hover {\n background: #0077ed;\n transform: scale(1.02);\n box-shadow: 0 4px 16px rgba(0, 113, 227, 0.3);\n}\n\n.dt-secondary-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 0.875rem 1.75rem;\n background: transparent;\n color: #0071e3;\n border: 1.5px solid #0071e3;\n border-radius: 980px;\n font-size: 1.0625rem;\n font-weight: 500;\n text-decoration: none;\n transition: all 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);\n cursor: pointer;\n letter-spacing: -0.005em;\n}\n\n.dt-secondary-btn:hover {\n background: #0071e3;\n color: white;\n transform: scale(1.02);\n}\n\n/* ==============================================\n * Animations\n * ============================================== */\n\n.dt-anim-slide-up {\n animation: dt-fade-in-up 0.8s cubic-bezier(0.25, 0.1, 0.25, 1) both;\n}\n\n.dt-anim-scale-in {\n animation: dt-fade-in-scale 0.6s cubic-bezier(0.25, 0.1, 0.25, 1) both;\n}\n\n.dt-fade-in {\n animation: dt-fade-in-up 0.6s cubic-bezier(0.25, 0.1, 0.25, 1) both;\n}\n\n.dt-stagger-1 { animation-delay: 0.1s; }\n.dt-stagger-2 { animation-delay: 0.2s; }\n.dt-stagger-3 { animation-delay: 0.35s; }\n.dt-stagger-4 { animation-delay: 0.5s; }\n.dt-stagger-5 { animation-delay: 0.65s; }\n\n/* ==============================================\n * Page Layout\n * ============================================== */\n\n.dt-page-container {\n max-width: 720px;\n}\n\n.dt-page-title {\n font-size: 2.25rem;\n font-weight: 700;\n color: #1d1d1f;\n letter-spacing: -0.02em;\n margin-bottom: 0.5rem;\n}\n\n.dt-page-desc {\n font-size: 1.125rem;\n color: #6e6e73;\n line-height: 1.5;\n}\n\n.dt-category-heading {\n font-size: 0.8125rem;\n font-weight: 600;\n color: #86868b;\n text-transform: uppercase;\n letter-spacing: 0.06em;\n margin-bottom: 1rem;\n}\n\n.dt-card-title {\n font-size: 1.0625rem;\n font-weight: 600;\n color: #1d1d1f;\n letter-spacing: -0.01em;\n margin-bottom: 0.25rem;\n}\n\n.dt-card-desc {\n color: #6e6e73;\n font-size: 0.875rem;\n line-height: 1.5;\n margin: 0;\n}\n\n.dt-content-desc {\n font-size: 1.125rem;\n color: #6e6e73;\n line-height: 1.5;\n padding-bottom: 1.5rem;\n border-bottom: 0.5px solid rgba(0, 0, 0, 0.06);\n}\n\n/* ==============================================\n * Content Typography\n * ============================================== */\n\n.dt-content {\n line-height: 1.75;\n color: #1d1d1f;\n}\n\n.dt-content h1 {\n font-size: 1.875rem;\n font-weight: 700;\n margin-top: 3rem;\n margin-bottom: 0.75rem;\n color: #1d1d1f;\n letter-spacing: -0.02em;\n line-height: 1.2;\n}\n\n.dt-content h2 {\n font-size: 1.5rem;\n font-weight: 600;\n margin-top: 2.5rem;\n margin-bottom: 0.75rem;\n color: #1d1d1f;\n letter-spacing: -0.015em;\n line-height: 1.25;\n padding-top: 1.5rem;\n border-top: 0.5px solid rgba(0, 0, 0, 0.06);\n}\n\n.dt-content h2:first-child,\n.dt-content hr + h2 {\n border-top: none;\n padding-top: 0;\n margin-top: 0;\n}\n\n.dt-content h3 {\n font-size: 1.25rem;\n font-weight: 600;\n margin-top: 2rem;\n margin-bottom: 0.5rem;\n color: #1d1d1f;\n letter-spacing: -0.01em;\n line-height: 1.3;\n}\n\n.dt-content p {\n margin-bottom: 1.25rem;\n font-size: 1rem;\n color: #1d1d1f;\n}\n\n.dt-content ul,\n.dt-content ol {\n margin-left: 1.5rem;\n margin-bottom: 1.25rem;\n}\n\n.dt-content li {\n margin-bottom: 0.375rem;\n font-size: 1rem;\n line-height: 1.65;\n}\n\n.dt-content code {\n background: rgba(0, 0, 0, 0.04);\n padding: 0.15rem 0.4rem;\n border-radius: 5px;\n font-family: \"SF Mono\", \"Fira Code\", \"Fira Mono\", Menlo, Consolas, \"DejaVu Sans Mono\", monospace;\n font-size: 0.875em;\n color: #1d1d1f;\n border: 0.5px solid rgba(0, 0, 0, 0.06);\n}\n\n.dt-content pre {\n background: #1d1d1f;\n color: #e5e5ea;\n padding: 1.25rem 1.5rem;\n border-radius: 12px;\n overflow-x: auto;\n margin-bottom: 1.25rem;\n font-size: 0.875rem;\n line-height: 1.65;\n border: 0.5px solid rgba(0, 0, 0, 0.1);\n}\n\n.dt-content pre code {\n background: none;\n color: inherit;\n padding: 0;\n border: none;\n font-size: inherit;\n}\n\n.dt-content a {\n color: #0071e3;\n text-decoration: none;\n transition: color 0.2s ease;\n}\n\n.dt-content a:hover {\n text-decoration: underline;\n}\n\n.dt-content strong {\n font-weight: 600;\n color: #1d1d1f;\n}\n\n.dt-content blockquote {\n border-left: 3px solid rgba(0, 0, 0, 0.08);\n padding: 0.75rem 1.25rem;\n margin: 1.5rem 0;\n color: #6e6e73;\n background: rgba(0, 0, 0, 0.02);\n border-radius: 0 10px 10px 0;\n}\n\n.dt-content hr {\n border: none;\n border-top: 0.5px solid rgba(0, 0, 0, 0.06);\n margin: 2.5rem 0;\n}\n\n/* Tables */\n\n.dt-content table {\n width: 100%;\n border-collapse: collapse;\n margin: 1.5rem 0;\n font-size: 0.9375rem;\n line-height: 1.5;\n border-radius: 10px;\n overflow: hidden;\n border: 0.5px solid rgba(0, 0, 0, 0.08);\n}\n\n.dt-content thead {\n background: rgba(0, 0, 0, 0.03);\n}\n\n.dt-content th {\n font-weight: 600;\n color: #1d1d1f;\n text-align: left;\n padding: 0.75rem 1rem;\n font-size: 0.8125rem;\n text-transform: uppercase;\n letter-spacing: 0.03em;\n border-bottom: 0.5px solid rgba(0, 0, 0, 0.08);\n}\n\n.dt-content td {\n padding: 0.75rem 1rem;\n color: #1d1d1f;\n border-bottom: 0.5px solid rgba(0, 0, 0, 0.04);\n}\n\n.dt-content tbody tr:last-child td {\n border-bottom: none;\n}\n\n.dt-content tbody tr:hover {\n background: rgba(0, 0, 0, 0.02);\n}\n\n/* ==============================================\n * Code Blocks\n * ============================================== */\n\n.dt-code-block {\n margin: 1.5rem 0;\n border-radius: 12px;\n overflow: hidden;\n border: 0.5px solid rgba(0, 0, 0, 0.1);\n}\n\n.dt-code-header {\n background: #161617;\n padding: 0.5rem 1.25rem;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n.dt-code-lang {\n color: #86868b;\n font-size: 0.6875rem;\n text-transform: uppercase;\n font-weight: 600;\n letter-spacing: 0.04em;\n}\n\n.dt-code-block pre {\n margin: 0;\n border-radius: 0;\n border: none;\n}\n\n.dt-code-header + pre {\n border-radius: 0;\n}\n\n/* Shiki integration */\n\n.dt-content pre.shiki {\n position: relative;\n padding: 2.25rem 1.5rem 1.25rem;\n}\n\n.dt-content pre.shiki[data-language]::before {\n content: attr(data-language);\n position: absolute;\n top: 0.625rem;\n right: 1rem;\n color: #636e7b;\n font-size: 0.6875rem;\n text-transform: uppercase;\n font-weight: 600;\n letter-spacing: 0.04em;\n pointer-events: none;\n user-select: none;\n}\n\n.dt-content pre.shiki code {\n display: block;\n}\n\n.dt-content pre.shiki .line {\n display: inline;\n}\n\n/* ==============================================\n * 404 Page\n * ============================================== */\n\n.dt-not-found-title {\n font-size: clamp(4rem, 12vw, 8rem);\n font-weight: 700;\n line-height: 1;\n letter-spacing: -0.04em;\n background: linear-gradient(135deg, #1d1d1f 30%, #6e6e73 100%);\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n background-clip: text;\n margin-bottom: 1.25rem;\n}\n\n/* ==============================================\n * Responsive\n * ============================================== */\n\n@media (max-width: 768px) {\n .dt-nav-inner {\n padding: 12px 1rem !important;\n height: 48px !important;\n }\n\n .dt-nav-logo { font-size: 1.125rem !important; }\n .dt-nav-links { gap: 1.25rem !important; }\n .dt-nav-link { font-size: 0.8125rem; }\n\n .dt-main {\n padding: 1.25rem 1rem 2.5rem !important;\n }\n\n .dt-hero-section {\n padding: 60px 16px 48px !important;\n }\n\n .dt-hero-cta {\n flex-direction: column !important;\n align-items: center !important;\n gap: 0.75rem !important;\n }\n\n .dt-section-features {\n padding: 48px 16px !important;\n }\n\n .dt-section-links {\n padding: 0 16px 60px !important;\n }\n\n .dt-section-links-inner {\n padding-top: 48px !important;\n }\n\n .dt-features-grid {\n grid-template-columns: 1fr !important;\n gap: 1rem !important;\n }\n\n .dt-links-grid {\n grid-template-columns: 1fr !important;\n }\n\n .dt-page-title {\n font-size: 1.75rem !important;\n }\n\n .dt-page-desc {\n font-size: 1rem !important;\n }\n\n .dt-page-container {\n max-width: 100%;\n }\n\n .dt-footer-inner {\n flex-direction: column !important;\n align-items: center !important;\n text-align: center;\n padding: 1.5rem 1rem !important;\n }\n\n .dt-footer-links {\n justify-content: center !important;\n gap: 1.5rem !important;\n }\n\n .dt-not-found-section {\n padding: 60px 16px 48px !important;\n }\n\n .dt-not-found-cta {\n flex-direction: column !important;\n align-items: center !important;\n gap: 0.75rem !important;\n }\n\n .dt-content { line-height: 1.7; }\n .dt-content h1 { font-size: 1.5rem; margin-top: 2rem; }\n .dt-content h2 { font-size: 1.25rem; margin-top: 2rem; padding-top: 1.25rem; }\n .dt-content h3 { font-size: 1.125rem; margin-top: 1.5rem; }\n .dt-content pre { padding: 1rem; font-size: 0.8125rem; border-radius: 10px; }\n .dt-content ul, .dt-content ol { margin-left: 1.25rem; }\n\n .dt-content table {\n font-size: 0.8125rem;\n display: block;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n\n .dt-content th, .dt-content td { padding: 0.625rem 0.75rem; }\n\n .dt-code-block { border-radius: 10px; }\n .dt-code-header { padding: 0.375rem 1rem; }\n\n}\n`;\n","/**\n * Default design tokens for @semajsx/ui\n *\n * These tokens define the visual language of the component library.\n * All components reference these tokens via CSS custom properties,\n * enabling runtime theme switching.\n *\n * @example\n * ```ts\n * import { tokens } from \"@semajsx/ui/theme\";\n *\n * // Use in custom styles\n * const myRule = rule`${c.box} {\n * color: ${tokens.colors.text};\n * padding: ${tokens.space.md};\n * }`;\n * ```\n */\n\nimport { defineTokens } from \"@semajsx/style\";\nimport type { TokenRefs } from \"@semajsx/style\";\n\nconst tokenDefinition = {\n colors: {\n // Brand (Apple blue)\n primary: \"#0071e3\",\n primaryHover: \"#0077ed\",\n primaryActive: \"#0068d6\",\n\n // Neutral\n background: \"#fbfbfd\",\n surface: \"#f5f5f7\",\n border: \"rgba(0, 0, 0, 0.08)\",\n text: \"#1d1d1f\",\n textMuted: \"#6e6e73\",\n textTertiary: \"#86868b\",\n\n // Semantic\n danger: \"#ff453a\",\n dangerHover: \"#ff6961\",\n success: \"#34c759\",\n warning: \"#ff9f0a\",\n info: \"#007aff\",\n tip: \"#af52de\",\n\n // Inverse (for solid buttons, etc.)\n onPrimary: \"#ffffff\",\n onDanger: \"#ffffff\",\n },\n\n space: {\n xs: \"0.25rem\",\n sm: \"0.5rem\",\n md: \"0.75rem\",\n lg: \"1rem\",\n xl: \"1.5rem\",\n xxl: \"2rem\",\n },\n\n radii: {\n sm: \"10px\",\n md: \"12px\",\n lg: \"16px\",\n xl: \"20px\",\n pill: \"980px\",\n },\n\n fonts: {\n base: '-apple-system, BlinkMacSystemFont, \"SF Pro Display\", \"SF Pro Text\", Inter, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif',\n mono: '\"SF Mono\", \"Fira Code\", \"Fira Mono\", Menlo, Consolas, \"DejaVu Sans Mono\", monospace',\n },\n\n fontSizes: {\n xs: \"0.8125rem\",\n sm: \"0.875rem\",\n md: \"1rem\",\n lg: \"1.0625rem\",\n },\n\n fontWeights: {\n normal: \"400\",\n medium: \"500\",\n semibold: \"600\",\n bold: \"700\",\n },\n\n lineHeights: {\n tight: \"1.25\",\n normal: \"1.6\",\n },\n\n shadows: {\n sm: \"0 1px 3px rgba(0, 0, 0, 0.03)\",\n md: \"0 1px 4px rgba(0, 0, 0, 0.04)\",\n lg: \"0 8px 28px rgba(0, 0, 0, 0.08)\",\n primaryGlow: \"0 4px 16px rgba(0, 113, 227, 0.3)\",\n },\n\n transitions: {\n fast: \"0.2s ease\",\n normal: \"0.3s cubic-bezier(0.25, 0.1, 0.25, 1)\",\n },\n} as const;\n\nexport const tokens: TokenRefs<typeof tokenDefinition> = defineTokens(tokenDefinition);\n","/**\n * Callout component styles\n *\n * Five semantic variants: info, warning, success, error, tip\n * Matching the docs site callout design.\n */\n\nimport { classes, rule } from \"@semajsx/style\";\nimport { tokens } from \"../../theme/tokens\";\n\nconst c = classes([\"root\", \"title\", \"icon\", \"content\"] as const);\n\n// --- Base ---\n\nexport const root = rule`${c.root} {\n padding: 1.25rem 1.5rem;\n margin: 1.5rem 0;\n border-radius: 14px;\n border: 0.5px solid rgba(0, 0, 0, 0.04);\n font-family: ${tokens.fonts.base};\n}`;\n\nexport const title = rule`${c.title} {\n font-weight: ${tokens.fontWeights.semibold};\n font-size: 0.9375rem;\n margin: 0 0 0.5rem;\n display: flex;\n align-items: center;\n gap: ${tokens.space.sm};\n letter-spacing: -0.005em;\n}`;\n\nexport const icon = rule`${c.icon} {\n width: 18px;\n height: 18px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}`;\n\nexport const content = rule`${c.content} {\n color: ${tokens.colors.text};\n font-size: 0.9375rem;\n line-height: ${tokens.lineHeights.normal};\n}`;\n","/** @jsxImportSource @semajsx/dom */\n\n/**\n * Callout component\n *\n * A styled box for highlighting important content with semantic variants.\n *\n * @example\n * ```tsx\n * import { Callout } from \"@semajsx/ui/callout\";\n *\n * <Callout type=\"info\" title=\"Note\">This is informational.</Callout>\n * <Callout type=\"warning\">Be careful with this.</Callout>\n * <Callout type=\"tip\" title=\"Pro tip\">Use signals for reactivity.</Callout>\n * ```\n */\n\nimport type { JSXNode, VNode } from \"@semajsx/core\";\nimport type { StyleToken } from \"@semajsx/style\";\nimport * as styles from \"./callout.style\";\n\ntype ClassValue = string | StyleToken | ClassValue[] | false | null | undefined;\n\nexport type CalloutType = \"info\" | \"warning\" | \"success\" | \"error\" | \"tip\";\n\nexport interface CalloutProps {\n /** Semantic type controlling color and icon */\n type?: CalloutType;\n /** Optional title displayed above content */\n title?: string;\n /** Additional CSS class(es) */\n class?: ClassValue;\n /** Content */\n children?: JSXNode;\n}\n\nconst SVG_ATTRS = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"18\",\n height: \"18\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n \"stroke-width\": \"2\",\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\",\n};\n\nfunction InfoIcon(): VNode {\n return (\n <svg {...SVG_ATTRS}>\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <path d=\"M12 16v-4\" />\n <path d=\"M12 8h.01\" />\n </svg>\n );\n}\n\nfunction WarningIcon(): VNode {\n return (\n <svg {...SVG_ATTRS}>\n <path d=\"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z\" />\n <path d=\"M12 9v4\" />\n <path d=\"M12 17h.01\" />\n </svg>\n );\n}\n\nfunction SuccessIcon(): VNode {\n return (\n <svg {...SVG_ATTRS}>\n <path d=\"M22 11.08V12a10 10 0 1 1-5.93-9.14\" />\n <path d=\"m9 11 3 3L22 4\" />\n </svg>\n );\n}\n\nfunction ErrorIcon(): VNode {\n return (\n <svg {...SVG_ATTRS}>\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <path d=\"m15 9-6 6\" />\n <path d=\"m9 9 6 6\" />\n </svg>\n );\n}\n\nfunction TipIcon(): VNode {\n return (\n <svg {...SVG_ATTRS}>\n <path d=\"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5\" />\n <path d=\"M9 18h6\" />\n <path d=\"M10 22h4\" />\n </svg>\n );\n}\n\nconst calloutConfig: Record<CalloutType, { bg: string; accent: string; icon: () => VNode }> = {\n info: { bg: \"rgba(0, 122, 255, 0.06)\", accent: \"#007aff\", icon: InfoIcon },\n warning: { bg: \"rgba(255, 159, 10, 0.08)\", accent: \"#ff9f0a\", icon: WarningIcon },\n success: { bg: \"rgba(52, 199, 89, 0.08)\", accent: \"#34c759\", icon: SuccessIcon },\n error: { bg: \"rgba(255, 69, 58, 0.08)\", accent: \"#ff453a\", icon: ErrorIcon },\n tip: { bg: \"rgba(175, 82, 222, 0.06)\", accent: \"#af52de\", icon: TipIcon },\n};\n\nexport function Callout(props: CalloutProps): JSXNode {\n const type = props.type ?? \"info\";\n const config = calloutConfig[type];\n const IconComponent = config.icon;\n\n return (\n <div class={[styles.root, props.class]} style={`background: ${config.bg}`} role=\"note\">\n {props.title && (\n <div class={styles.title} style={`color: ${config.accent}`}>\n <span class={styles.icon}>\n <IconComponent />\n </span>\n {props.title}\n </div>\n )}\n <div class={styles.content}>{props.children}</div>\n </div>\n );\n}\n","/**\n * Badge component styles\n *\n * Pill-shaped labels with semantic color variants.\n */\n\nimport { classes, rule } from \"@semajsx/style\";\nimport { tokens } from \"../../theme/tokens\";\n\nconst c = classes([\"root\"] as const);\n\nexport const root = rule`${c.root} {\n display: inline-flex;\n align-items: center;\n font-size: 0.6875rem;\n font-weight: ${tokens.fontWeights.semibold};\n font-family: ${tokens.fonts.base};\n padding: 0.125rem 0.5rem;\n border-radius: ${tokens.radii.pill};\n letter-spacing: 0.02em;\n text-transform: uppercase;\n white-space: nowrap;\n line-height: 1.6;\n}`;\n","/** @jsxImportSource @semajsx/dom */\n\n/**\n * Badge component\n *\n * A small pill-shaped label for status, category, or metadata.\n *\n * @example\n * ```tsx\n * import { Badge } from \"@semajsx/ui/badge\";\n *\n * <Badge color=\"success\">Beginner</Badge>\n * <Badge color=\"warning\">Intermediate</Badge>\n * <Badge color=\"danger\">Advanced</Badge>\n * <Badge>Default</Badge>\n * ```\n */\n\nimport type { JSXNode } from \"@semajsx/core\";\nimport type { StyleToken } from \"@semajsx/style\";\nimport * as styles from \"./badge.style\";\n\ntype ClassValue = string | StyleToken | ClassValue[] | false | null | undefined;\n\nexport type BadgeColor = \"default\" | \"success\" | \"warning\" | \"danger\" | \"info\" | \"tip\";\n\nexport interface BadgeProps {\n /** Semantic color */\n color?: BadgeColor;\n /** Additional CSS class(es) */\n class?: ClassValue;\n /** Content */\n children?: JSXNode;\n}\n\nconst badgeColors: Record<BadgeColor, { bg: string; fg: string }> = {\n default: { bg: \"rgba(0, 0, 0, 0.06)\", fg: \"#1d1d1f\" },\n success: { bg: \"rgba(52, 199, 89, 0.12)\", fg: \"#248a3d\" },\n warning: { bg: \"rgba(255, 159, 10, 0.12)\", fg: \"#b25000\" },\n danger: { bg: \"rgba(255, 69, 58, 0.12)\", fg: \"#d70015\" },\n info: { bg: \"rgba(0, 122, 255, 0.1)\", fg: \"#0055b3\" },\n tip: { bg: \"rgba(175, 82, 222, 0.1)\", fg: \"#8944ab\" },\n};\n\nexport function Badge(props: BadgeProps): JSXNode {\n const color = props.color ?? \"default\";\n const config = badgeColors[color];\n\n return (\n <span\n class={[styles.root, props.class]}\n style={`background: ${config.bg}; color: ${config.fg}`}\n >\n {props.children}\n </span>\n );\n}\n","/**\n * Card component styles\n *\n * Two variants matching the docs site design:\n * - feature: Large card with icon, heading, description\n * - link: Smaller clickable card for navigation\n */\n\nimport { classes, rule, rules } from \"@semajsx/style\";\nimport { tokens } from \"../../theme/tokens\";\n\nconst c = classes([\"root\", \"feature\", \"link\", \"icon\", \"heading\", \"desc\"] as const);\n\n// --- Base ---\n\nexport const root = rule`${c.root} {\n background: white;\n border: 0.5px solid rgba(0, 0, 0, 0.06);\n font-family: ${tokens.fonts.base};\n transition: all 0.4s cubic-bezier(0.25, 0.1, 0.25, 1);\n}`;\n\n// --- Feature variant ---\n\nexport const feature = rule`${c.feature} {\n border-radius: ${tokens.radii.xl};\n padding: 2.5rem;\n box-shadow: ${tokens.shadows.md};\n}`;\n\nexport const featureStates = rule`${c.feature}:hover {\n transform: translateY(-4px) scale(1.01);\n box-shadow: ${tokens.shadows.lg};\n}`;\n\n// --- Link variant ---\n\nexport const link = rule`${c.link} {\n display: block;\n border-radius: ${tokens.radii.lg};\n padding: 1.75rem;\n box-shadow: ${tokens.shadows.sm};\n text-decoration: none;\n cursor: pointer;\n}`;\n\nexport const linkStates = rules(\n rule`${c.link}:hover {\n border-color: rgba(0, 113, 227, 0.3);\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);\n transform: translateY(-2px);\n }`,\n);\n\n// --- Slots ---\n\nexport const icon = rule`${c.icon} {\n font-size: 2rem;\n width: 48px;\n height: 48px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: ${tokens.colors.surface};\n border-radius: ${tokens.radii.md};\n margin-bottom: 1.25rem;\n}`;\n\nexport const heading = rule`${c.heading} {\n font-size: 1.375rem;\n font-weight: ${tokens.fontWeights.semibold};\n color: ${tokens.colors.text};\n margin: 0 0 0.5rem;\n letter-spacing: -0.01em;\n}`;\n\nexport const headingLink = rule`${c.link} ${c.heading} {\n font-size: ${tokens.fontSizes.lg};\n margin-bottom: 0.25rem;\n}`;\n\nexport const desc = rule`${c.desc} {\n color: ${tokens.colors.textMuted};\n line-height: ${tokens.lineHeights.normal};\n font-size: 0.9375rem;\n margin: 0;\n}`;\n\nexport const descLink = rule`${c.link} ${c.desc} {\n font-size: ${tokens.fontSizes.sm};\n line-height: 1.5;\n}`;\n","/** @jsxImportSource @semajsx/dom */\n\n/**\n * Card component\n *\n * A content container with two variants matching the docs design:\n * - `feature` (default): Large card with icon, heading, and description\n * - `link`: Smaller clickable card for navigation\n *\n * @example\n * ```tsx\n * import { Card } from \"@semajsx/ui/card\";\n *\n * <Card icon=\"⚡\" heading=\"Fast\" description=\"Built for speed\" />\n * <Card variant=\"link\" heading=\"Guide\" description=\"Get started\" href=\"/docs\" />\n * ```\n */\n\nimport type { JSXNode } from \"@semajsx/core\";\nimport type { StyleToken } from \"@semajsx/style\";\nimport * as styles from \"./card.style\";\n\ntype ClassValue = string | StyleToken | ClassValue[] | false | null | undefined;\n\nexport interface CardProps {\n /** Card variant */\n variant?: \"feature\" | \"link\";\n /** Icon content (emoji or JSX) */\n icon?: JSXNode;\n /** Card heading */\n heading?: string;\n /** Card description */\n description?: string;\n /** Link URL (for \"link\" variant) */\n href?: string;\n /** Inline style string */\n style?: string;\n /** Additional CSS class(es) */\n class?: ClassValue;\n /** Content */\n children?: JSXNode;\n}\n\nexport function Card(props: CardProps): JSXNode {\n const variant = props.variant ?? \"feature\";\n\n const content = (\n <>\n {props.icon && <div class={styles.icon}>{props.icon}</div>}\n {props.heading && (\n <h3 class={[styles.heading, variant === \"link\" && styles.headingLink]}>{props.heading}</h3>\n )}\n {props.description && (\n <p class={[styles.desc, variant === \"link\" && styles.descLink]}>{props.description}</p>\n )}\n {props.children}\n </>\n );\n\n if (variant === \"link\") {\n return (\n <a\n href={props.href}\n class={[styles.root, styles.link, styles.linkStates, props.class]}\n style={props.style}\n >\n {content}\n </a>\n );\n }\n\n return (\n <div\n class={[styles.root, styles.feature, styles.featureStates, props.class]}\n style={props.style}\n >\n {content}\n </div>\n );\n}\n","/**\n * Built-in themes for @semajsx/ui\n *\n * Provides light (default) and dark themes. Custom themes can be\n * created using createTheme() from @semajsx/style.\n *\n * @example\n * ```tsx\n * import { lightTheme, darkTheme } from \"@semajsx/ui/theme\";\n * import { inject } from \"@semajsx/style\";\n *\n * // Apply default (light) theme to :root\n * inject(lightTheme);\n *\n * // Scope dark theme to an element\n * <div class={darkTheme}>\n * <Button>Dark button</Button>\n * </div>\n * ```\n */\n\nimport { createTheme } from \"@semajsx/style\";\nimport type { StyleToken } from \"@semajsx/style\";\nimport { tokens } from \"./tokens\";\n\n/**\n * Light theme - applies token defaults to :root\n */\nexport const lightTheme: StyleToken = createTheme(tokens);\n\n/**\n * Dark theme - scoped to a CSS class\n */\nexport const darkTheme: StyleToken = createTheme(tokens, {\n colors: {\n primary: \"#2997ff\",\n primaryHover: \"#5ab4ff\",\n primaryActive: \"#0071e3\",\n\n background: \"#000000\",\n surface: \"#1c1c1e\",\n border: \"rgba(255, 255, 255, 0.12)\",\n text: \"#f5f5f7\",\n textMuted: \"#a1a1a6\",\n textTertiary: \"#6e6e73\",\n\n danger: \"#ff453a\",\n dangerHover: \"#ff6961\",\n success: \"#30d158\",\n warning: \"#ffd60a\",\n info: \"#0a84ff\",\n tip: \"#bf5af2\",\n\n onPrimary: \"#ffffff\",\n onDanger: \"#ffffff\",\n },\n\n shadows: {\n sm: \"0 1px 3px rgba(0, 0, 0, 0.2)\",\n md: \"0 1px 4px rgba(0, 0, 0, 0.3)\",\n lg: \"0 8px 28px rgba(0, 0, 0, 0.4)\",\n primaryGlow: \"0 4px 16px rgba(41, 151, 255, 0.3)\",\n },\n});\n","/**\n * Button component styles\n *\n * All styles reference theme tokens via CSS custom properties,\n * so they respond to theme changes automatically.\n */\n\nimport { classes, rule, rules } from \"@semajsx/style\";\nimport { tokens } from \"../../theme/tokens\";\n\nconst c = classes([\n \"root\",\n \"solid\",\n \"outline\",\n \"ghost\",\n \"sm\",\n \"md\",\n \"lg\",\n \"danger\",\n \"icon\",\n] as const);\n\n// --- Base ---\n\nexport const root = rule`${c.root} {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: ${tokens.space.sm};\n border: 1.5px solid transparent;\n border-radius: ${tokens.radii.pill};\n font-family: ${tokens.fonts.base};\n font-weight: ${tokens.fontWeights.medium};\n line-height: ${tokens.lineHeights.tight};\n letter-spacing: -0.005em;\n cursor: pointer;\n user-select: none;\n transition: all ${tokens.transitions.normal};\n}`;\n\nexport const rootStates = rules(\n rule`${c.root}:focus-visible {\n outline: 2px solid ${tokens.colors.primary};\n outline-offset: 2px;\n }`,\n rule`${c.root}:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n pointer-events: none;\n }`,\n);\n\n// --- Variants ---\n\nexport const solid = rule`${c.solid} {\n background: ${tokens.colors.primary};\n color: ${tokens.colors.onPrimary};\n border-color: ${tokens.colors.primary};\n}`;\n\nexport const solidStates = rules(\n rule`${c.solid}:hover:not(:disabled) {\n background: ${tokens.colors.primaryHover};\n border-color: ${tokens.colors.primaryHover};\n transform: scale(1.02);\n box-shadow: ${tokens.shadows.primaryGlow};\n }`,\n rule`${c.solid}:active:not(:disabled) {\n background: ${tokens.colors.primaryActive};\n border-color: ${tokens.colors.primaryActive};\n transform: scale(0.98);\n box-shadow: none;\n }`,\n);\n\nexport const outline = rule`${c.outline} {\n background: transparent;\n color: ${tokens.colors.primary};\n border-color: ${tokens.colors.primary};\n}`;\n\nexport const outlineStates = rules(\n rule`${c.outline}:hover:not(:disabled) {\n background: ${tokens.colors.primary};\n color: ${tokens.colors.onPrimary};\n transform: scale(1.02);\n }`,\n rule`${c.outline}:active:not(:disabled) {\n background: ${tokens.colors.primaryActive};\n color: ${tokens.colors.onPrimary};\n transform: scale(0.98);\n }`,\n);\n\nexport const ghost = rule`${c.ghost} {\n background: transparent;\n color: ${tokens.colors.text};\n border-color: transparent;\n}`;\n\nexport const ghostStates = rules(\n rule`${c.ghost}:hover:not(:disabled) {\n background: ${tokens.colors.surface};\n }`,\n rule`${c.ghost}:active:not(:disabled) {\n background: ${tokens.colors.border};\n }`,\n);\n\n// --- Danger ---\n\nexport const danger = rule`${c.danger} {\n background: ${tokens.colors.danger};\n color: ${tokens.colors.onDanger};\n border-color: ${tokens.colors.danger};\n}`;\n\nexport const dangerStates = rules(\n rule`${c.danger}:hover:not(:disabled) {\n background: ${tokens.colors.dangerHover};\n border-color: ${tokens.colors.dangerHover};\n transform: scale(1.02);\n }`,\n rule`${c.danger}:focus-visible {\n outline-color: ${tokens.colors.danger};\n }`,\n);\n\n// --- Sizes ---\n\nexport const sm = rule`${c.sm} {\n padding: ${tokens.space.sm} ${tokens.space.lg};\n font-size: ${tokens.fontSizes.sm};\n}`;\n\nexport const md = rule`${c.md} {\n padding: ${tokens.space.md} ${tokens.space.xl};\n font-size: ${tokens.fontSizes.md};\n}`;\n\nexport const lg = rule`${c.lg} {\n padding: 0.875rem 1.75rem;\n font-size: ${tokens.fontSizes.lg};\n}`;\n\n// --- Icon slot ---\n\nexport const icon = rule`${c.icon} {\n display: inline-flex;\n flex-shrink: 0;\n}`;\n","/**\n * CodeBlock component styles\n *\n * Dark-themed code display with optional language header.\n */\n\nimport { classes, rule } from \"@semajsx/style\";\nimport { tokens } from \"../../theme/tokens\";\n\nconst c = classes([\"root\", \"header\", \"lang\", \"pre\", \"inline\"] as const);\n\n// --- Block ---\n\nexport const root = rule`${c.root} {\n margin: 1.5rem 0;\n border-radius: ${tokens.radii.md};\n overflow: hidden;\n border: 0.5px solid rgba(0, 0, 0, 0.1);\n font-family: ${tokens.fonts.mono};\n}`;\n\nexport const header = rule`${c.header} {\n background: #161617;\n padding: 0.5rem 1.25rem;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}`;\n\nexport const lang = rule`${c.lang} {\n color: #86868b;\n font-size: 0.6875rem;\n text-transform: uppercase;\n font-weight: ${tokens.fontWeights.semibold};\n letter-spacing: 0.04em;\n font-family: ${tokens.fonts.mono};\n}`;\n\nexport const pre = rule`${c.pre} {\n background: #1d1d1f;\n color: #e5e5ea;\n padding: 1.25rem 1.5rem;\n overflow-x: auto;\n margin: 0;\n font-size: ${tokens.fontSizes.sm};\n line-height: 1.65;\n font-family: ${tokens.fonts.mono};\n}`;\n\n// --- Inline code ---\n\nexport const inline = rule`${c.inline} {\n background: rgba(0, 0, 0, 0.04);\n padding: 0.15rem 0.4rem;\n border-radius: 5px;\n font-size: 0.875em;\n border: 0.5px solid rgba(0, 0, 0, 0.06);\n font-family: ${tokens.fonts.mono};\n}`;\n","/**\n * Pre-collected CSS for SSG/SSR usage\n *\n * Since @semajsx/style's inject() requires a DOM, this module provides\n * all component CSS as a static string for server-side rendering.\n *\n * @example\n * ```tsx\n * import { componentCSS } from \"@semajsx/ui/css\";\n *\n * // Include in a <style> tag for SSG output\n * <style>{componentCSS}</style>\n * ```\n */\n\nimport { isStyleToken } from \"@semajsx/style\";\nimport type { StyleToken } from \"@semajsx/style\";\nimport { lightTheme } from \"./theme/themes\";\nimport * as buttonStyles from \"./components/button/button.style\";\nimport * as cardStyles from \"./components/card/card.style\";\nimport * as calloutStyles from \"./components/callout/callout.style\";\nimport * as badgeStyles from \"./components/badge/badge.style\";\nimport * as codeBlockStyles from \"./components/code-block/code-block.style\";\n\nfunction collectCSS(styles: Record<string, unknown>): string {\n return Object.values(styles)\n .filter((v): v is StyleToken => isStyleToken(v))\n .map((t) => t.__cssTemplate)\n .join(\"\\n\");\n}\n\n/** All @semajsx/ui component CSS (theme variables + component rules) */\nexport const componentCSS: string = [\n lightTheme.__cssTemplate,\n collectCSS(buttonStyles),\n collectCSS(cardStyles),\n collectCSS(calloutStyles),\n collectCSS(badgeStyles),\n collectCSS(codeBlockStyles),\n].join(\"\\n\");\n","/** @jsxImportSource @semajsx/dom */\n\nimport type { VNode, JSXNode } from \"@semajsx/core\";\nimport type { DocumentProps } from \"../../types\";\nimport type { DocsThemeOptions, NavLink } from \"./types\";\nimport { THEME_CSS } from \"./styles\";\nimport { Icon } from \"../lucide/component\";\n\nimport { Callout } from \"@semajsx/ui/components/callout\";\nimport { Badge } from \"@semajsx/ui/components/badge\";\nimport { Card } from \"@semajsx/ui/components/card\";\nimport { componentCSS } from \"@semajsx/ui/css\";\n\nimport type { BadgeColor } from \"@semajsx/ui/components/badge\";\n\n/** Concatenate class names, filtering falsy values */\nfunction cx(...args: (string | false | null | undefined)[]): string {\n return args.filter(Boolean).join(\" \");\n}\n\n// =============================================================================\n// CodeBlock — MDX component (kept custom for Shiki className integration)\n// =============================================================================\n\ninterface CodeBlockProps {\n children: string;\n className?: string;\n language?: string;\n}\n\nexport function CodeBlock({ children, className, language }: CodeBlockProps): VNode {\n const lang = language || (className?.replace(/^language-/, \"\") ?? \"text\");\n return (\n <div class=\"dt-code-block\">\n {lang && lang !== \"text\" && (\n <div class=\"dt-code-header\">\n <span class=\"dt-code-lang\">{lang}</span>\n </div>\n )}\n <pre class={className}>\n <code>{children}</code>\n </pre>\n </div>\n );\n}\n\n// =============================================================================\n// Difficulty → Badge color mapping\n// =============================================================================\n\nconst DIFFICULTY_COLORS: Record<string, BadgeColor> = {\n beginner: \"success\",\n intermediate: \"warning\",\n advanced: \"danger\",\n};\n\nconst DIFFICULTY_LABELS: Record<string, string> = {\n beginner: \"Beginner\",\n intermediate: \"Intermediate\",\n advanced: \"Advanced\",\n};\n\n// =============================================================================\n// Component factory — creates all page components bound to theme options\n// =============================================================================\n\ninterface DocsIndexProps {\n docs: Array<{\n slug: string;\n data: { title: string; description?: string; category?: string; order: number };\n }>;\n}\n\ninterface DocPageProps {\n doc: { data: { title: string; description?: string } };\n content: VNode;\n}\n\ninterface GuidesIndexProps {\n guides: Array<{\n slug: string;\n data: { title: string; description?: string; difficulty: string; order: number };\n }>;\n}\n\ninterface GuidePageProps {\n guide: { data: { title: string; description?: string; difficulty: string } };\n content: VNode;\n}\n\n/** Component map returned by createComponents */\nexport interface DocsThemeComponents {\n Document: (props: DocumentProps) => VNode;\n Layout: (props: { children: JSXNode }) => VNode;\n HomePage: () => VNode;\n DocsIndex: (props: DocsIndexProps) => VNode;\n DocPage: (props: DocPageProps) => VNode;\n GuidesIndex: (props: GuidesIndexProps) => VNode;\n GuidePage: (props: GuidePageProps) => VNode;\n NotFound: () => VNode;\n Callout: typeof Callout;\n CodeBlock: typeof CodeBlock;\n}\n\nexport function createComponents(options: DocsThemeOptions): DocsThemeComponents {\n // --------------------------------------------------\n // Document\n // --------------------------------------------------\n function Document(props: DocumentProps): VNode {\n const { children, title, scripts, css } = props;\n const defaultTitle = options.title;\n const pageTitle = title ?? defaultTitle;\n const desc = options.description ?? \"\";\n\n return (\n <html lang=\"en\">\n <head>\n <meta charSet=\"UTF-8\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n {desc && <meta name=\"description\" content={desc} />}\n <meta name=\"theme-color\" content=\"#fbfbfd\" />\n <meta name=\"color-scheme\" content=\"light\" />\n <title>{pageTitle}</title>\n <link rel=\"preconnect\" href=\"https://fonts.googleapis.com\" />\n <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossOrigin=\"\" />\n <link\n href=\"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap\"\n rel=\"stylesheet\"\n />\n {css?.map((href) => (\n <link key={href} rel=\"stylesheet\" href={href} />\n ))}\n </head>\n <body>\n {children}\n {scripts}\n </body>\n </html>\n );\n }\n\n // --------------------------------------------------\n // Layout (nav + main + footer)\n // --------------------------------------------------\n function Layout({ children }: { children: JSXNode }): VNode {\n const footerLinks = options.footer?.links ?? options.nav.links;\n const copyrightName = options.footer?.copyright ?? options.title;\n\n return (\n <div class=\"dt-root\">\n <style>{componentCSS}</style>\n <style>{THEME_CSS}</style>\n\n {/* Navigation */}\n <nav class=\"dt-glass-nav\">\n <div class=\"dt-nav-inner\">\n <a href=\"/\" class=\"dt-nav-logo\">\n {options.nav.logo}\n </a>\n <ul class=\"dt-nav-links\">\n {options.nav.links.map((link: NavLink) => (\n <li key={link.href}>\n <a\n href={link.href}\n class=\"dt-nav-link\"\n {...(link.external ? { target: \"_blank\", rel: \"noopener noreferrer\" } : {})}\n >\n {link.label}\n </a>\n </li>\n ))}\n </ul>\n </div>\n </nav>\n\n <main class=\"dt-main\">{children}</main>\n\n {/* Footer */}\n <footer class=\"dt-footer\">\n <div class=\"dt-footer-inner\">\n <div class=\"dt-footer-links\">\n {footerLinks.map((link: NavLink) => (\n <a\n key={link.href}\n href={link.href}\n class=\"dt-footer-link\"\n {...(link.external ? { target: \"_blank\", rel: \"noopener noreferrer\" } : {})}\n >\n {link.label}\n </a>\n ))}\n </div>\n <p class=\"dt-footer-copy\">\n {`\\u00A9 ${new Date().getFullYear()} ${copyrightName}`}. MIT License.\n </p>\n </div>\n </footer>\n </div>\n );\n }\n\n // --------------------------------------------------\n // Home Page\n // --------------------------------------------------\n function HomePage(): VNode {\n return (\n <Layout>\n {/* Hero */}\n {options.hero && (\n <div\n class={cx(\"dt-hero-bg\", \"dt-hero-section\")}\n style=\"padding: 100px 24px 80px; position: relative;\"\n >\n <div style=\"max-width: 680px; margin: 0 auto; position: relative; z-index: 1; text-align: center;\">\n <h1 class={cx(\"dt-hero-title\", \"dt-anim-slide-up\")}>{options.hero.title}</h1>\n <p class={cx(\"dt-hero-subtitle\", \"dt-anim-slide-up\", \"dt-stagger-1\")}>\n {options.hero.subtitle}\n </p>\n {options.hero.actions && options.hero.actions.length > 0 && (\n <div class={cx(\"dt-hero-cta\", \"dt-anim-slide-up\", \"dt-stagger-2\")}>\n {options.hero.actions.map((action) => (\n <a\n key={action.href}\n href={action.href}\n class={action.primary ? \"dt-primary-btn\" : \"dt-secondary-btn\"}\n >\n {action.label}\n </a>\n ))}\n </div>\n )}\n </div>\n </div>\n )}\n\n {/* Features */}\n {options.features && (\n <section\n class=\"dt-section-features\"\n style=\"max-width: 1080px; margin: 0 auto; padding: 80px 24px;\"\n >\n <div style=\"text-align: center; margin-bottom: 3.5rem;\">\n <h2 class={cx(\"dt-section-title\", \"dt-anim-slide-up\")}>{options.features.title}</h2>\n <p class={cx(\"dt-section-subtitle\", \"dt-anim-slide-up\", \"dt-stagger-1\")}>\n {options.features.subtitle}\n </p>\n </div>\n <div\n class=\"dt-features-grid\"\n style=\"display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.5rem;\"\n >\n {options.features.items.map((item, i) => (\n <Card\n key={item.title}\n icon={<Icon name={item.icon} size={24} />}\n heading={item.title}\n description={item.description}\n class={cx(\"dt-anim-scale-in\", `dt-stagger-${Math.min(i + 2, 5)}`)}\n />\n ))}\n </div>\n </section>\n )}\n\n {/* Quick Links */}\n {options.quickLinks && (\n <section\n class=\"dt-section-links\"\n style=\"max-width: 1080px; margin: 0 auto; padding: 0 24px 100px;\"\n >\n <div\n class=\"dt-section-links-inner\"\n style=\"border-top: 0.5px solid rgba(0, 0, 0, 0.06); padding-top: 80px; text-align: center;\"\n >\n <h2 class={cx(\"dt-section-title\", \"dt-anim-slide-up\")}>{options.quickLinks.title}</h2>\n <p class={cx(\"dt-section-subtitle\", \"dt-anim-slide-up\", \"dt-stagger-1\")}>\n {options.quickLinks.subtitle}\n </p>\n <div\n class=\"dt-links-grid\"\n style=\"display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.25rem; max-width: 720px; margin: 0 auto;\"\n >\n {options.quickLinks.items.map((item, i) => (\n <Card\n key={item.href}\n variant=\"link\"\n href={item.href}\n heading={item.title}\n description={item.description}\n class={cx(\"dt-anim-scale-in\", `dt-stagger-${Math.min(i + 2, 5)}`)}\n style=\"text-align: left;\"\n />\n ))}\n </div>\n </div>\n </section>\n )}\n </Layout>\n );\n }\n\n // --------------------------------------------------\n // Docs Index\n // --------------------------------------------------\n function DocsIndex({ docs: docsList }: DocsIndexProps): VNode {\n const docsConf = options.docs;\n const heading = docsConf?.heading ?? \"Documentation\";\n const desc = docsConf?.description ?? \"\";\n\n const byCategory = docsList.reduce(\n (acc, doc) => {\n const category = doc.data.category || \"General\";\n if (!acc[category]) acc[category] = [];\n acc[category].push(doc);\n return acc;\n },\n {} as Record<string, typeof docsList>,\n );\n Object.values(byCategory).forEach((items) => items.sort((a, b) => a.data.order - b.data.order));\n\n const basePath = docsConf?.basePath ?? \"/docs\";\n\n return (\n <Layout>\n <div style=\"max-width: 720px;\">\n <div style=\"margin-bottom: 3rem;\">\n <h1 class={cx(\"dt-page-title\", \"dt-anim-slide-up\")}>{heading}</h1>\n {desc && <p class={cx(\"dt-page-desc\", \"dt-anim-slide-up\", \"dt-stagger-1\")}>{desc}</p>}\n </div>\n {Object.entries(byCategory).map(([category, items]) => (\n <section key={category} class=\"dt-fade-in\" style=\"margin-bottom: 2.5rem;\">\n <h2 class=\"dt-category-heading\">{category}</h2>\n <div style=\"display: flex; flex-direction: column; gap: 0.75rem;\">\n {items.map((doc, i) => (\n <Card\n key={doc.slug}\n variant=\"link\"\n href={`${basePath}/${doc.slug}`}\n heading={doc.data.title}\n description={doc.data.description}\n class={cx(\"dt-anim-scale-in\")}\n style={`animation-delay: ${0.1 + i * 0.08}s;`}\n />\n ))}\n </div>\n </section>\n ))}\n </div>\n </Layout>\n );\n }\n\n // --------------------------------------------------\n // Doc Page\n // --------------------------------------------------\n function DocPage({ doc, content }: DocPageProps): VNode {\n return (\n <Layout>\n <article class=\"dt-page-container\">\n <div style=\"margin-bottom: 2.5rem;\">\n <h1 class={cx(\"dt-page-title\", \"dt-anim-slide-up\")}>{doc.data.title}</h1>\n {doc.data.description && (\n <p class={cx(\"dt-content-desc\", \"dt-anim-slide-up\", \"dt-stagger-1\")}>\n {doc.data.description}\n </p>\n )}\n </div>\n <div class={cx(\"dt-content\", \"dt-fade-in\")}>{content}</div>\n </article>\n </Layout>\n );\n }\n\n // --------------------------------------------------\n // Guides Index\n // --------------------------------------------------\n function GuidesIndex({ guides: guidesList }: GuidesIndexProps): VNode {\n const guidesConf = options.guides;\n const heading = guidesConf?.heading ?? \"Guides\";\n const desc = guidesConf?.description ?? \"\";\n\n const byDifficulty = guidesList.reduce(\n (acc, guide) => {\n const difficulty = guide.data.difficulty || \"beginner\";\n if (!acc[difficulty]) acc[difficulty] = [];\n acc[difficulty].push(guide);\n return acc;\n },\n {} as Record<string, typeof guidesList>,\n );\n Object.values(byDifficulty).forEach((items) =>\n items.sort((a, b) => a.data.order - b.data.order),\n );\n\n const basePath = guidesConf?.basePath ?? \"/guides\";\n\n return (\n <Layout>\n <div style=\"max-width: 720px;\">\n <div style=\"margin-bottom: 3rem;\">\n <h1 class={cx(\"dt-page-title\", \"dt-anim-slide-up\")}>{heading}</h1>\n {desc && <p class={cx(\"dt-page-desc\", \"dt-anim-slide-up\", \"dt-stagger-1\")}>{desc}</p>}\n </div>\n {Object.entries(byDifficulty).map(([difficulty, items]) => (\n <section key={difficulty} class=\"dt-fade-in\" style=\"margin-bottom: 2.5rem;\">\n <h2 class=\"dt-category-heading\">{DIFFICULTY_LABELS[difficulty] ?? difficulty}</h2>\n <div style=\"display: flex; flex-direction: column; gap: 0.75rem;\">\n {items.map((guide, i) => (\n <Card\n key={guide.slug}\n variant=\"link\"\n href={`${basePath}/${guide.slug}`}\n class={cx(\"dt-anim-scale-in\")}\n style={`animation-delay: ${0.1 + i * 0.08}s;`}\n >\n <div style=\"display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.375rem;\">\n <h3 class=\"dt-card-title\" style=\"margin: 0;\">\n {guide.data.title}\n </h3>\n <Badge color={DIFFICULTY_COLORS[guide.data.difficulty] ?? \"default\"}>\n {guide.data.difficulty}\n </Badge>\n </div>\n {guide.data.description && <p class=\"dt-card-desc\">{guide.data.description}</p>}\n </Card>\n ))}\n </div>\n </section>\n ))}\n </div>\n </Layout>\n );\n }\n\n // --------------------------------------------------\n // Guide Page\n // --------------------------------------------------\n function GuidePage({ guide, content }: GuidePageProps): VNode {\n return (\n <Layout>\n <article class=\"dt-page-container\">\n <div style=\"margin-bottom: 2.5rem;\">\n <div class=\"dt-fade-in\" style=\"margin-bottom: 1rem;\">\n <Badge color={DIFFICULTY_COLORS[guide.data.difficulty] ?? \"default\"}>\n {guide.data.difficulty}\n </Badge>\n </div>\n <h1 class={cx(\"dt-page-title\", \"dt-anim-slide-up\")}>{guide.data.title}</h1>\n {guide.data.description && (\n <p class={cx(\"dt-content-desc\", \"dt-anim-slide-up\", \"dt-stagger-1\")}>\n {guide.data.description}\n </p>\n )}\n </div>\n <div class={cx(\"dt-content\", \"dt-fade-in\")}>{content}</div>\n </article>\n </Layout>\n );\n }\n\n // --------------------------------------------------\n // 404 Not Found\n // --------------------------------------------------\n function NotFound(): VNode {\n return (\n <Layout>\n <div\n class={cx(\"dt-hero-bg\", \"dt-not-found-section\")}\n style=\"padding: 100px 24px 80px; position: relative;\"\n >\n <div style=\"max-width: 680px; margin: 0 auto; position: relative; z-index: 1; text-align: center;\">\n <h1 class={cx(\"dt-not-found-title\", \"dt-anim-slide-up\")}>404</h1>\n <p\n class={cx(\"dt-hero-subtitle\", \"dt-anim-slide-up\", \"dt-stagger-1\")}\n style=\"margin-bottom: 0.75rem;\"\n >\n Page Not Found\n </p>\n <p\n class={cx(\"dt-anim-slide-up\", \"dt-stagger-2\")}\n style=\"color: #86868b; font-size: 1rem; margin-bottom: 2.5rem; max-width: 28rem; margin-left: auto; margin-right: auto; line-height: 1.6;\"\n >\n The page you're looking for doesn't exist or has been moved.\n </p>\n <div class={cx(\"dt-hero-cta\", \"dt-anim-slide-up\", \"dt-stagger-3\", \"dt-not-found-cta\")}>\n <a href=\"/\" class=\"dt-primary-btn\">\n Go Back Home\n </a>\n <a href={options.docs?.basePath ?? \"/docs\"} class=\"dt-secondary-btn\">\n View Docs\n </a>\n </div>\n </div>\n </div>\n </Layout>\n );\n }\n\n return {\n Document,\n Layout,\n HomePage,\n DocsIndex,\n DocPage,\n GuidesIndex,\n GuidePage,\n NotFound,\n Callout,\n CodeBlock,\n };\n}\n\n// Re-export for plugin index\nexport { Callout };\n","import { writeFile, mkdir } from \"fs/promises\";\nimport { join, dirname } from \"path\";\nimport type { SSGConfig, SSGPlugin, SSGInstance, CollectionEntry } from \"../../types\";\nimport type { LlmsOptions } from \"./types\";\n\nexport type { LlmsOptions, LlmsSection, LlmsLink } from \"./types\";\n\n// =============================================================================\n// Helpers\n// =============================================================================\n\nfunction normalizePath(path: string): string {\n return path.startsWith(\"/\") ? path : `/${path}`;\n}\n\nfunction resolveUrl(base: string | undefined, path: string): string {\n if (!base) return path;\n return `${base.replace(/\\/$/, \"\")}${path}`;\n}\n\nfunction getEntryTitle(entry: CollectionEntry): string {\n const data = entry.data as Record<string, unknown>;\n return (data.title as string) ?? entry.slug;\n}\n\nfunction getEntryDescription(entry: CollectionEntry): string | undefined {\n const data = entry.data as Record<string, unknown>;\n return data.description as string | undefined;\n}\n\nfunction formatLink(title: string, url: string, description?: string): string {\n return description ? `- [${title}](${url}): ${description}` : `- [${title}](${url})`;\n}\n\n// =============================================================================\n// llms.txt Generator\n// =============================================================================\n\n/**\n * Generate llms.txt content following the llms.txt specification.\n *\n * Format:\n * - H1: site title (required)\n * - Blockquote: site description (optional)\n * - H2 sections: collection entries as markdown links\n * - ## Optional: additional links\n *\n * @see https://llmstxt.org/\n */\nfunction generateLlmsTxt(\n options: LlmsOptions,\n sectionEntries: Map<string, CollectionEntry[]>,\n): string {\n const lines: string[] = [];\n\n lines.push(`# ${options.title}`);\n lines.push(\"\");\n\n if (options.description) {\n lines.push(`> ${options.description}`);\n lines.push(\"\");\n }\n\n for (const section of options.sections ?? []) {\n const entries = sectionEntries.get(section.collection) ?? [];\n if (entries.length === 0) continue;\n\n const basePath = normalizePath(section.basePath);\n lines.push(`## ${section.title}`);\n lines.push(\"\");\n\n for (const entry of entries) {\n const title = getEntryTitle(entry);\n const url = resolveUrl(options.url, `${basePath}/${entry.slug}`);\n const desc = getEntryDescription(entry);\n lines.push(formatLink(title, url, desc));\n }\n\n lines.push(\"\");\n }\n\n if (options.links?.length) {\n lines.push(\"## Optional\");\n lines.push(\"\");\n for (const link of options.links) {\n lines.push(formatLink(link.title, link.url, link.description));\n }\n lines.push(\"\");\n }\n\n return lines.join(\"\\n\");\n}\n\n// =============================================================================\n// llms-full.txt Generator\n// =============================================================================\n\n/**\n * Generate llms-full.txt with complete content for each entry.\n * Includes the full markdown body of every collection entry.\n */\nfunction generateLlmsFullTxt(\n options: LlmsOptions,\n sectionEntries: Map<string, CollectionEntry[]>,\n): string {\n const lines: string[] = [];\n\n lines.push(`# ${options.title}`);\n lines.push(\"\");\n\n if (options.description) {\n lines.push(`> ${options.description}`);\n lines.push(\"\");\n }\n\n for (const section of options.sections ?? []) {\n const entries = sectionEntries.get(section.collection) ?? [];\n if (entries.length === 0) continue;\n\n const basePath = normalizePath(section.basePath);\n lines.push(`## ${section.title}`);\n lines.push(\"\");\n\n for (const entry of entries) {\n const title = getEntryTitle(entry);\n const url = resolveUrl(options.url, `${basePath}/${entry.slug}`);\n const desc = getEntryDescription(entry);\n\n lines.push(`### ${title}`);\n\n if (desc) {\n lines.push(\"\");\n lines.push(`> ${desc}`);\n }\n\n lines.push(\"\");\n lines.push(`Source: ${url}`);\n lines.push(\"\");\n lines.push(entry.body.trim());\n lines.push(\"\");\n lines.push(\"---\");\n lines.push(\"\");\n }\n }\n\n return lines.join(\"\\n\");\n}\n\n// =============================================================================\n// Per-Entry Markdown Generator\n// =============================================================================\n\nfunction generateEntryMarkdown(entry: CollectionEntry): string {\n const title = getEntryTitle(entry);\n const desc = getEntryDescription(entry);\n const lines: string[] = [];\n\n lines.push(`# ${title}`);\n\n if (desc) {\n lines.push(\"\");\n lines.push(`> ${desc}`);\n }\n\n lines.push(\"\");\n lines.push(entry.body.trim());\n lines.push(\"\");\n\n return lines.join(\"\\n\");\n}\n\n// =============================================================================\n// Plugin\n// =============================================================================\n\n/**\n * LLMs plugin for SSG.\n *\n * Generates `llms.txt`, `llms-full.txt`, and per-page `.md` files\n * following the llms.txt specification, making your site easily\n * consumable by LLMs and AI agents.\n *\n * @see https://llmstxt.org/\n *\n * @example\n * ```tsx\n * import { createSSG } from \"@semajsx/ssg\";\n * import { llms } from \"@semajsx/ssg/plugins/llms\";\n *\n * const ssg = createSSG({\n * outDir: \"./dist\",\n * plugins: [\n * llms({\n * title: \"My Project\",\n * description: \"Documentation for My Project\",\n * url: \"https://docs.myproject.com\",\n * sections: [\n * { title: \"Documentation\", collection: \"docs\", basePath: \"/docs\" },\n * ],\n * }),\n * ],\n * });\n * ```\n */\nexport function llms(options: LlmsOptions): SSGPlugin {\n let outDir = \"\";\n\n return {\n name: \"llms\",\n enforce: \"post\",\n\n configResolved(config: SSGConfig) {\n outDir = config.outDir ?? \"./dist\";\n },\n\n async buildEnd(_result, ssg: SSGInstance) {\n const genLlmsTxt = options.llmsTxt !== false;\n const genLlmsFullTxt = options.llmsFullTxt !== false;\n const genMarkdownPages = options.markdownPages !== false;\n\n // Collect entries for each configured section\n const sectionEntries = new Map<string, CollectionEntry[]>();\n\n for (const section of options.sections ?? []) {\n try {\n const entries = await ssg.getCollection(section.collection);\n sectionEntries.set(section.collection, entries);\n } catch {\n // Collection not found — skip silently\n sectionEntries.set(section.collection, []);\n }\n }\n\n await mkdir(outDir, { recursive: true });\n\n // Generate llms.txt\n if (genLlmsTxt) {\n const content = generateLlmsTxt(options, sectionEntries);\n await writeFile(join(outDir, \"llms.txt\"), content, \"utf-8\");\n }\n\n // Generate llms-full.txt\n if (genLlmsFullTxt) {\n const content = generateLlmsFullTxt(options, sectionEntries);\n await writeFile(join(outDir, \"llms-full.txt\"), content, \"utf-8\");\n }\n\n // Generate per-entry .md files\n if (genMarkdownPages) {\n for (const section of options.sections ?? []) {\n const basePath = normalizePath(section.basePath);\n const entries = sectionEntries.get(section.collection) ?? [];\n for (const entry of entries) {\n const mdPath = `${basePath}/${entry.slug}.md`;\n const fullPath = join(outDir, mdPath.slice(1)); // strip leading /\n const content = generateEntryMarkdown(entry);\n\n await mkdir(dirname(fullPath), { recursive: true });\n await writeFile(fullPath, content, \"utf-8\");\n }\n }\n }\n },\n };\n}\n\n// Export generators for testing\nexport { generateLlmsTxt as _generateLlmsTxt, generateLlmsFullTxt as _generateLlmsFullTxt };\n","import { z } from \"zod\";\nimport type { SSGPlugin, Collection, RouteConfig } from \"../../types\";\nimport { defineCollection } from \"../../index\";\nimport type { DocsThemeOptions } from \"./types\";\nimport { createComponents, Callout, CodeBlock } from \"./components\";\nimport { lucide as lucidePlugin } from \"../lucide/index\";\nimport { llms as llmsPlugin } from \"../llms/index\";\nimport type { LlmsSection } from \"../llms/types\";\nimport type { Component } from \"@semajsx/core\";\n\nexport type {\n DocsThemeOptions,\n LlmsThemeOptions,\n NavLink,\n HeroAction,\n FeatureItem,\n QuickLinkItem,\n DocsConfig,\n GuidesConfig,\n} from \"./types\";\n\nexport { Callout, CodeBlock } from \"./components\";\n\n// =============================================================================\n// Schemas\n// =============================================================================\n\nconst docsSchema = z.object({\n title: z.string(),\n description: z.string().optional(),\n order: z.number().default(999),\n category: z.string().optional(),\n});\n\nconst guidesSchema = z.object({\n title: z.string(),\n description: z.string().optional(),\n order: z.number().default(999),\n difficulty: z.enum([\"beginner\", \"intermediate\", \"advanced\"]).default(\"beginner\"),\n});\n\n// =============================================================================\n// Plugin factory\n// =============================================================================\n\n/**\n * Docs theme plugin for SSG.\n *\n * Provides an Apple-inspired documentation site with:\n * - Frosted glass navigation\n * - Home page with hero, features, and quick links\n * - Docs collection with category grouping\n * - Guides collection with difficulty levels\n * - MDX components (Callout, CodeBlock)\n * - Responsive design\n *\n * All text content, navigation links, and site metadata\n * are configured through options — nothing is hardcoded.\n *\n * @example\n * ```tsx\n * import { createSSG } from \"@semajsx/ssg\";\n * import { docsTheme } from \"@semajsx/ssg/plugins/docs-theme\";\n * import { fileSource } from \"@semajsx/ssg\";\n *\n * const ssg = createSSG({\n * outDir: \"./dist\",\n * plugins: [\n * docsTheme({\n * title: \"My Docs\",\n * nav: {\n * logo: \"MyProject\",\n * links: [\n * { label: \"Docs\", href: \"/docs\" },\n * { label: \"GitHub\", href: \"https://github.com/...\", external: true },\n * ],\n * },\n * hero: {\n * title: \"MyProject\",\n * subtitle: \"A great project.\",\n * actions: [{ label: \"Get Started\", href: \"/docs/intro\", primary: true }],\n * },\n * docs: { source: fileSource({ directory: \"content/docs\" }, rootDir) },\n * }),\n * ],\n * });\n * ```\n */\nexport function docsTheme(options: DocsThemeOptions): SSGPlugin[] {\n const components = createComponents(options);\n const docsBasePath = options.docs?.basePath ?? \"/docs\";\n const guidesBasePath = options.guides?.basePath ?? \"/guides\";\n\n const mainPlugin: SSGPlugin = {\n name: \"docs-theme\",\n\n config() {\n const collections: Collection[] = [];\n const routes: RouteConfig[] = [];\n\n // --- Collections ---\n\n if (options.docs) {\n collections.push(\n defineCollection({\n name: \"docs\",\n source: options.docs.source,\n schema: docsSchema,\n }),\n );\n }\n\n if (options.guides) {\n collections.push(\n defineCollection({\n name: \"guides\",\n source: options.guides.source,\n schema: guidesSchema,\n }),\n );\n }\n\n // --- Routes ---\n\n // Home page\n routes.push({\n path: \"/\",\n component: components.HomePage,\n props: { title: options.title },\n });\n\n // Docs routes\n if (options.docs) {\n routes.push({\n path: docsBasePath,\n component: components.DocsIndex,\n props: async (ssg) => ({\n title: options.docs?.heading ?? \"Documentation\",\n docs: await ssg.getCollection(\"docs\"),\n }),\n });\n\n routes.push({\n path: `${docsBasePath}/:slug`,\n component: components.DocPage,\n getStaticPaths: async (ssg) => {\n const allDocs = await ssg.getCollection(\"docs\");\n return Promise.all(\n allDocs.map(async (doc) => {\n const { Content } = await doc.render();\n return {\n params: { slug: doc.slug },\n props: {\n doc,\n content: Content(),\n title: `${(doc.data as { title: string }).title} | ${options.title}`,\n },\n };\n }),\n );\n },\n });\n }\n\n // Guides routes\n if (options.guides) {\n routes.push({\n path: guidesBasePath,\n component: components.GuidesIndex,\n props: async (ssg) => ({\n title: options.guides?.heading ?? \"Guides\",\n guides: await ssg.getCollection(\"guides\"),\n }),\n });\n\n routes.push({\n path: `${guidesBasePath}/:slug`,\n component: components.GuidePage,\n getStaticPaths: async (ssg) => {\n const allGuides = await ssg.getCollection(\"guides\");\n return Promise.all(\n allGuides.map(async (guide) => {\n const { Content } = await guide.render();\n return {\n params: { slug: guide.slug },\n props: {\n guide,\n content: Content(),\n title: `${(guide.data as { title: string }).title} | ${options.title}`,\n },\n };\n }),\n );\n },\n });\n }\n\n // 404 page\n routes.push({\n path: \"/404\",\n component: components.NotFound,\n props: { title: `404 - Page Not Found | ${options.title}` },\n });\n\n // --- MDX ---\n\n const mdxComponents: Record<string, Component> = {\n Callout,\n CodeBlock,\n ...options.mdx?.components,\n };\n\n return {\n document: components.Document,\n collections,\n routes,\n mdx: {\n remarkPlugins: options.mdx?.remarkPlugins,\n rehypePlugins: options.mdx?.rehypePlugins,\n components: mdxComponents,\n },\n };\n },\n };\n\n // Compose sub-plugins Vite-style: return flat array\n const plugins: SSGPlugin[] = [mainPlugin];\n\n if (options.lucide !== false) {\n const lucideOpts = typeof options.lucide === \"object\" ? options.lucide : {};\n plugins.push(lucidePlugin(lucideOpts));\n }\n\n // LLMs (llms.txt) — enabled by default when docs or guides exist\n const hasContent = options.docs || options.guides;\n if (options.llms !== false && hasContent) {\n const llmsOpts = typeof options.llms === \"object\" ? options.llms : {};\n\n // Auto-derive sections from configured collections\n const sections: LlmsSection[] = [];\n if (options.docs) {\n sections.push({\n title: options.docs.heading ?? \"Documentation\",\n collection: \"docs\",\n basePath: docsBasePath,\n });\n }\n if (options.guides) {\n sections.push({\n title: options.guides.heading ?? \"Guides\",\n collection: \"guides\",\n basePath: guidesBasePath,\n });\n }\n\n plugins.push(\n llmsPlugin({\n title: options.title,\n description: options.description,\n url: llmsOpts.url,\n sections,\n links: llmsOpts.links,\n llmsTxt: llmsOpts.llmsTxt,\n llmsFullTxt: llmsOpts.llmsFullTxt,\n markdownPages: llmsOpts.markdownPages,\n }),\n );\n }\n\n return plugins;\n}\n"],"mappings":"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"}
|
package/dist/ssr/client.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as ISLAND_MARKER } from "../island-marker-
|
|
3
|
-
import { a as ResourceTools, c as isAssetVNode, d as resource, i as LinkProps, l as isLinkVNode, n as AssetProps, o as STYLE_MARKER, r as LINK_MARKER, s as StyleProps, t as ASSET_MARKER, u as isStyleVNode
|
|
1
|
+
import { d as VNode, t as Component } from "../types-CZMcXQTW.mjs";
|
|
2
|
+
import { t as ISLAND_MARKER } from "../island-marker-BJIO07Vj.mjs";
|
|
3
|
+
import { a as ResourceTools, b as IslandMarker, c as isAssetVNode, d as resource, i as LinkProps, l as isLinkVNode, n as AssetProps, o as STYLE_MARKER, r as LINK_MARKER, s as StyleProps, t as ASSET_MARKER, u as isStyleVNode } from "../resource-BQI6AeJ0.mjs";
|
|
4
4
|
|
|
5
5
|
//#region ../ssr/src/client/hydrate.d.ts
|
|
6
6
|
/**
|
package/dist/ssr/client.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { t as isSignal } from "../utils-
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import "../src-
|
|
5
|
-
import { a as isLinkVNode, c as getIslandMetadata, d as island, i as isAssetVNode, l as isIslandComponent, n as LINK_MARKER, o as isStyleVNode, r as STYLE_MARKER, s as resource, t as ASSET_MARKER, u as isIslandVNode } from "../resource-
|
|
1
|
+
import { t as isSignal } from "../utils-DbTAs943.mjs";
|
|
2
|
+
import { v as Fragment } from "../src-DW3tIczg.mjs";
|
|
3
|
+
import { d as setProperty, u as render } from "../src-BqX3sryB.mjs";
|
|
4
|
+
import "../src-Ds9vl42d.mjs";
|
|
5
|
+
import { a as isLinkVNode, c as getIslandMetadata, d as island, i as isAssetVNode, l as isIslandComponent, n as LINK_MARKER, o as isStyleVNode, r as STYLE_MARKER, s as resource, t as ASSET_MARKER, u as isIslandVNode } from "../resource-DSlXDZZi.mjs";
|
|
6
6
|
|
|
7
7
|
//#region ../ssr/src/client/hydrate.ts
|
|
8
8
|
/**
|
package/dist/ssr/index.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { A as
|
|
1
|
+
import { d as VNode } from "../types-CZMcXQTW.mjs";
|
|
2
|
+
import { A as RouterConfig, C as IslandScriptTransformer, D as RouteContext, E as RenderToStringOptions, O as RouteHandler, S as IslandScriptContext, T as RenderResult, _ as BuildScriptEntry, a as ResourceTools, d as resource, f as App, g as BuildResult, h as BuildOptions, i as LinkProps, j as SSRResult, k as RouteMeta, m as AssetMetadata, n as AssetProps, o as STYLE_MARKER, p as AppConfig, r as LINK_MARKER, s as StyleProps, t as ASSET_MARKER, v as DevOptions, w as LinkMetadata, x as IslandMetadata, y as DocumentTemplate } from "../resource-BQI6AeJ0.mjs";
|
|
3
3
|
import { PluginOption, ViteDevServer } from "vite";
|
|
4
4
|
|
|
5
5
|
//#region ../ssr/src/app.d.ts
|
|
@@ -216,5 +216,5 @@ declare const DefaultDocument: DocumentTemplate;
|
|
|
216
216
|
*/
|
|
217
217
|
declare function renderDocument(documentVNode: any): string;
|
|
218
218
|
//#endregion
|
|
219
|
-
export { ASSET_MARKER, type App, type AppConfig, type AssetMetadata, type AssetProps, type BuildOptions, type BuildResult, DefaultDocument, type DevOptions, type DocumentTemplate, IslandCollector, type IslandMetadata, type IslandScriptContext, type IslandScriptTransformer, LINK_MARKER, type LinkMetadata, type LinkProps, type RenderResult, type RenderToStringOptions, type ResourceTools, type RouteContext, type RouteHandler, type RouteMeta, type RouterConfig, type SSRResult, STYLE_MARKER, type StyleProps, type ViteBuilderOptions, ViteIslandBuilder, ViteRouter, createApp, createIslandCollector, createViteIslandBuilder, createViteRouter, renderDocument, renderToString, resource };
|
|
219
|
+
export { ASSET_MARKER, type App, type AppConfig, type AssetMetadata, type AssetProps, type BuildOptions, type BuildResult, type BuildScriptEntry, DefaultDocument, type DevOptions, type DocumentTemplate, IslandCollector, type IslandMetadata, type IslandScriptContext, type IslandScriptTransformer, LINK_MARKER, type LinkMetadata, type LinkProps, type RenderResult, type RenderToStringOptions, type ResourceTools, type RouteContext, type RouteHandler, type RouteMeta, type RouterConfig, type SSRResult, STYLE_MARKER, type StyleProps, type ViteBuilderOptions, ViteIslandBuilder, ViteRouter, createApp, createIslandCollector, createViteIslandBuilder, createViteRouter, renderDocument, renderToString, resource };
|
|
220
220
|
//# sourceMappingURL=index.d.mts.map
|
package/dist/ssr/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../../../ssr/src/app.ts","../../../ssr/src/render.ts","../../../ssr/src/vite-router.ts","../../../ssr/src/vite-builder.ts","../../../ssr/src/collector.ts","../../../ssr/src/document.tsx"],"mappings":";;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../../../ssr/src/app.ts","../../../ssr/src/render.ts","../../../ssr/src/vite-router.ts","../../../ssr/src/vite-builder.ts","../../../ssr/src/collector.ts","../../../ssr/src/document.tsx"],"mappings":";;;;;;;;iBAwqBgB,SAAA,CAAU,MAAA,GAAS,SAAA,GAAY,GAAA;;;;;;AAA/C;;;;;;;;;;;;ACjnBA;;;;;;;;iBAAsB,cAAA,CACpB,KAAA,EAAO,KAAA,EACP,OAAA,GAAS,qBAAA,GACR,OAAA,CAAQ,SAAA;;;;;;AD8mBX;cEloBa,UAAA;EAAA,QACH,QAAA;EAAA,QACA,aAAA;EAAA,QACA,OAAA;EAAA,QACA,MAAA;EAAA,QAEA,YAAA;EAAA,QACA,WAAA;EAER,WAAA,CAAY,MAAA,GAAQ,YAAA;;;;EAuBpB,UAAA,CAAA,GAAoB,OAAA;EDfA;;;EC+BpB,KAAA,CAAM,IAAA,UAAc,OAAA,EAAS,YAAA;;;;EAe7B,MAAA,CAAO,MAAA,EAAQ,MAAA,SAAe,YAAA;;;;EAU9B,GAAA,CAAU,IAAA,WAAe,OAAA,CAAQ,SAAA;;;;;;EAsEjC,mBAAA,CAA0B,QAAA,WAAmB,OAAA;;AA/I/C;;;EAkKE,mBAAA,CAA0B,GAAA,WAAc,OAAA;IAAU,IAAA;EAAA;;;;EAalD,SAAA,CAAU,QAAA,WAAmB,cAAA;;;;EAO7B,aAAA,CAAA,GAAiB,aAAA;;;;EAOjB,KAAA,CAAA,GAAe,OAAA;;;;UASP,UAAA;;;;;UAuBA,WAAA;;;;UAQA,aAAA;AAAA;;;;iBAQY,gBAAA,CACpB,MAAA,GAAS,MAAA,SAAe,YAAA,GACxB,MAAA,GAAS,YAAA,GACR,OAAA,CAAQ,UAAA;;;;;;AFkZX;cGhqBa,iBAAA;EAAA,QACH,IAAA;EAAA,QACA,WAAA;EAAA,QACA,OAAA;EAER,WAAA,CAAY,OAAA,GAAS,kBAAA;;;;EAUrB,UAAA,CAAA,GAAoB,OAAA;;;AFgCtB;EEwBE,aAAA,CAAoB,MAAA,EAAQ,cAAA,GAAiB,OAAA;;;;EAiC7C,eAAA,CAAsB,GAAA,WAAc,OAAA;IAAU,IAAA;EAAA;EFtD7C;;;;EAAA,QE4EO,kBAAA;;;;UAsDA,mBAAA;;;;EAuBR,KAAA,CAAA,GAAe,OAAA;ED7KJ;;;ECuLX,aAAA,CAAA,GAAiB,aAAA;AAAA;;;;UAQF,kBAAA;;EAEf,GAAA;;EAEA,IAAA;;EAEA,OAAA,GAAU,YAAA;AAAA;;;;iBAMU,uBAAA,CACpB,OAAA,GAAU,kBAAA,GACT,OAAA,CAAQ,iBAAA;;;;;;cC3OE,eAAA;EAAA,QACH,OAAA;EAAA,QACA,OAAA;EJ8pBqC;;;EIzpB7C,OAAA,CAAQ,KAAA,EAAO,KAAA,GAAQ,cAAA;;;;UAUf,QAAA;;AH8BV;;;UGsBU,cAAA;AAAA;;;;iBAoEM,qBAAA,CAAA,GAAyB,eAAA;;;;;;;AJuhBzC;;;;;;;;;;cKrpBa,eAAA,EAAiB,gBAAA;;AJoC9B;;;;;;iBIZgB,cAAA,CAAe,aAAA"}
|
package/dist/ssr/index.mjs
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import "../src-
|
|
1
|
+
import "../src-DW3tIczg.mjs";
|
|
2
|
+
import "../src-Ds9vl42d.mjs";
|
|
2
3
|
import "../jsx-runtime-D9ZNjMJ2.mjs";
|
|
3
|
-
import "../src-
|
|
4
|
+
import "../src-DUpFNNM_.mjs";
|
|
4
5
|
import "../jsx-runtime-BjCGsceN.mjs";
|
|
5
|
-
import { n as LINK_MARKER, r as STYLE_MARKER, s as resource, t as ASSET_MARKER } from "../resource-
|
|
6
|
-
import { a as ViteIslandBuilder, c as renderToString, i as createViteRouter, n as createIslandCollector, o as createViteIslandBuilder, r as ViteRouter, s as createApp, t as IslandCollector } from "../src-
|
|
7
|
-
import { n as renderDocument, t as DefaultDocument } from "../document-
|
|
6
|
+
import { n as LINK_MARKER, r as STYLE_MARKER, s as resource, t as ASSET_MARKER } from "../resource-DSlXDZZi.mjs";
|
|
7
|
+
import { a as ViteIslandBuilder, c as renderToString, i as createViteRouter, n as createIslandCollector, o as createViteIslandBuilder, r as ViteRouter, s as createApp, t as IslandCollector } from "../src-DuSN6go_.mjs";
|
|
8
|
+
import { n as renderDocument, t as DefaultDocument } from "../document-BOJDaiBc.mjs";
|
|
8
9
|
|
|
9
10
|
export { ASSET_MARKER, DefaultDocument, IslandCollector, LINK_MARKER, STYLE_MARKER, ViteIslandBuilder, ViteRouter, createApp, createIslandCollector, createViteIslandBuilder, createViteRouter, renderDocument, renderToString, resource };
|
package/dist/style/index.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { n as ReadableSignal } from "../types-
|
|
2
|
-
import { a as SignalBindingDef, i as RegistryOptions, n as ClassRefs, o as StyleToken, r as InjectOptions, t as ClassRef } from "../types-
|
|
1
|
+
import { n as ReadableSignal } from "../types-BlaUrkq0.mjs";
|
|
2
|
+
import { a as SignalBindingDef, i as RegistryOptions, n as ClassRefs, o as StyleToken, r as InjectOptions, t as ClassRef } from "../types-DucvOZQ2.mjs";
|
|
3
3
|
|
|
4
4
|
//#region ../style/src/classes.d.ts
|
|
5
5
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../../../style/src/classes.ts","../../../style/src/rule.ts","../../../style/src/inject.ts","../../../style/src/registry.ts","../../../style/src/hash.ts","../../../style/src/theme.ts","../../../style/src/keyframes.ts","../../../style/src/animate.ts","../../../style/src/responsive.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../../../style/src/classes.ts","../../../style/src/rule.ts","../../../style/src/inject.ts","../../../style/src/registry.ts","../../../style/src/hash.ts","../../../style/src/theme.ts","../../../style/src/keyframes.ts","../../../style/src/animate.ts","../../../style/src/responsive.ts"],"mappings":"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"}
|
package/dist/style/index.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { A as keyframes, B as
|
|
1
|
+
import { A as keyframes, B as inject, C as slideRight, D as spin, E as slideUpKf, F as StyleRegistry, G as rules, H as preload, I as createCx, K as classes, L as createRegistry, M as createTheme, N as defineTokens, O as spinKf, P as isTokenRef, R as hashString, S as slideLeftKf, T as slideUp, U as isStyleToken, V as injectStyles, W as rule, _ as scaleOut, a as bounce, b as slideDownKf, c as fadeInKf, d as ping, f as pingKf, g as scaleInKf, h as scaleIn, i as media, j as keyframesToken, k as isKeyframeRef, l as fadeOut, m as pulseKf, n as container, o as bounceKf, p as pulse, q as isClassRef, r as defineBreakpoints, s as fadeIn, t as breakpoints, u as fadeOutKf, v as scaleOutKf, w as slideRightKf, x as slideLeft, y as slideDown, z as uniqueId } from "../src-Ds9vl42d.mjs";
|
|
2
2
|
|
|
3
3
|
export { StyleRegistry, bounce, bounceKf, breakpoints, classes, container, createCx, createRegistry, createTheme, defineBreakpoints, defineTokens, fadeIn, fadeInKf, fadeOut, fadeOutKf, hashString, inject, injectStyles, isClassRef, isKeyframeRef, isStyleToken, isTokenRef, keyframes, keyframesToken, media, ping, pingKf, preload, pulse, pulseKf, rule, rules, scaleIn, scaleInKf, scaleOut, scaleOutKf, slideDown, slideDownKf, slideLeft, slideLeftKf, slideRight, slideRightKf, slideUp, slideUpKf, spin, spinKf, uniqueId };
|
package/dist/style/react.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { r as Signal } from "../types-
|
|
2
|
-
import { o as StyleToken } from "../types-
|
|
1
|
+
import { r as Signal } from "../types-BlaUrkq0.mjs";
|
|
2
|
+
import { o as StyleToken } from "../types-DucvOZQ2.mjs";
|
|
3
3
|
import { ReactElement, ReactNode } from "react";
|
|
4
4
|
|
|
5
5
|
//#region ../style/src/react.d.ts
|
package/dist/style/react.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { t as signal } from "../signal-
|
|
2
|
-
import {
|
|
1
|
+
import { t as signal } from "../signal-BN8vHXDb.mjs";
|
|
2
|
+
import { U as isStyleToken, V as injectStyles, z as uniqueId } from "../src-Ds9vl42d.mjs";
|
|
3
3
|
import { createContext, createElement, useCallback, useContext, useEffect, useRef } from "react";
|
|
4
4
|
|
|
5
5
|
//#region ../style/src/react.ts
|
package/dist/style/vue.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { r as Signal } from "../types-
|
|
2
|
-
import { o as StyleToken } from "../types-
|
|
1
|
+
import { r as Signal } from "../types-BlaUrkq0.mjs";
|
|
2
|
+
import { o as StyleToken } from "../types-DucvOZQ2.mjs";
|
|
3
3
|
import { Component } from "vue";
|
|
4
4
|
|
|
5
5
|
//#region ../style/src/vue.d.ts
|
package/dist/style/vue.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { t as signal } from "../signal-
|
|
2
|
-
import {
|
|
1
|
+
import { t as signal } from "../signal-BN8vHXDb.mjs";
|
|
2
|
+
import { U as isStyleToken, V as injectStyles, z as uniqueId } from "../src-Ds9vl42d.mjs";
|
|
3
3
|
import { defineComponent, h, inject, onMounted, onUnmounted, provide, ref } from "vue";
|
|
4
4
|
|
|
5
5
|
//#region ../style/src/vue.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { n as stream, r as when, t as resource } from "../helpers-
|
|
3
|
-
import { r as Signal } from "../types-
|
|
4
|
-
import { a as TerminalText, i as TerminalStyle, n as TerminalNode, r as TerminalRoot, t as TerminalElement } from "../types-
|
|
1
|
+
import { c as JSXNode, d as VNode } from "../types-CZMcXQTW.mjs";
|
|
2
|
+
import { n as stream, r as when, t as resource } from "../helpers-CfRDJgcP.mjs";
|
|
3
|
+
import { r as Signal } from "../types-BlaUrkq0.mjs";
|
|
4
|
+
import { a as TerminalText, i as TerminalStyle, n as TerminalNode, r as TerminalRoot, t as TerminalElement } from "../types-D0jRO840.mjs";
|
|
5
5
|
import { ChalkInstance } from "chalk";
|
|
6
6
|
|
|
7
7
|
//#region ../terminal/src/renderer.d.ts
|
package/dist/terminal/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { c as when, o as resource, s as stream } from "../src-
|
|
2
|
-
import { C as renderBackground, E as getChalkColor, S as setText, T as getChalkBgColor, _ as getParent, a as setProperty, b as removeChild, c as renderTextElement, d as applyStyle, f as collectText, g as getNextSibling, h as createTextNode, i as ExitHint, l as renderTextNode, m as createElement, n as print, o as setSignalProperty, p as createComment, r as render, s as TerminalRenderer, t as BlankLine, u as appendChild, v as insertBefore, w as renderBorder, x as replaceNode, y as markNodeAsDirty } from "../src-
|
|
1
|
+
import { c as when, o as resource, s as stream } from "../src-DW3tIczg.mjs";
|
|
2
|
+
import { C as renderBackground, E as getChalkColor, S as setText, T as getChalkBgColor, _ as getParent, a as setProperty, b as removeChild, c as renderTextElement, d as applyStyle, f as collectText, g as getNextSibling, h as createTextNode, i as ExitHint, l as renderTextNode, m as createElement, n as print, o as setSignalProperty, p as createComment, r as render, s as TerminalRenderer, t as BlankLine, u as appendChild, v as insertBefore, w as renderBorder, x as replaceNode, y as markNodeAsDirty } from "../src-DUpFNNM_.mjs";
|
|
3
3
|
import "../jsx-runtime-BjCGsceN.mjs";
|
|
4
4
|
|
|
5
5
|
export { BlankLine, ExitHint, TerminalRenderer, appendChild, applyStyle, collectText, createComment, createElement, createTextNode, getChalkBgColor, getChalkColor, getNextSibling, getParent, insertBefore, markNodeAsDirty, print, removeChild, render, renderBackground, renderBorder, renderTextElement, renderTextNode, replaceNode, resource, setProperty, setSignalProperty, setText, stream, when };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { n as jsxs, t as jsx } from "../jsx-
|
|
3
|
-
import "../types-
|
|
4
|
-
import { i as TextAttributes, n as JSX, r as TerminalAttributes, t as BoxAttributes } from "../jsx-runtime-
|
|
1
|
+
import { s as Fragment } from "../types-CZMcXQTW.mjs";
|
|
2
|
+
import { n as jsxs, t as jsx } from "../jsx-fNlLjLou.mjs";
|
|
3
|
+
import "../types-D0jRO840.mjs";
|
|
4
|
+
import { i as TextAttributes, n as JSX, r as TerminalAttributes, t as BoxAttributes } from "../jsx-runtime-BFuFPDzn.mjs";
|
|
5
5
|
|
|
6
6
|
//#region ../terminal/src/jsx-dev-runtime.d.ts
|
|
7
7
|
declare function jsxDEV(type: any, props: any, key?: any, _isStaticChildren?: boolean, _source?: any, _self?: any): any;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { n as jsxs, t as jsx } from "../jsx-
|
|
3
|
-
import "../types-
|
|
4
|
-
import { i as TextAttributes, n as JSX, r as TerminalAttributes, t as BoxAttributes } from "../jsx-runtime-
|
|
1
|
+
import { s as Fragment } from "../types-CZMcXQTW.mjs";
|
|
2
|
+
import { n as jsxs, t as jsx } from "../jsx-fNlLjLou.mjs";
|
|
3
|
+
import "../types-D0jRO840.mjs";
|
|
4
|
+
import { i as TextAttributes, n as JSX, r as TerminalAttributes, t as BoxAttributes } from "../jsx-runtime-BFuFPDzn.mjs";
|
|
5
5
|
export { BoxAttributes, Fragment, JSX, TerminalAttributes, TextAttributes, jsx, jsxs };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as WritableSignal$1, n as ReadableSignal$1, r as SignalValue$1, t as MaybeSignal$1 } from "./signal-
|
|
1
|
+
import { i as WritableSignal$1, n as ReadableSignal$1, r as SignalValue$1, t as MaybeSignal$1 } from "./signal-BwxUlXKs.mjs";
|
|
2
2
|
|
|
3
3
|
//#region ../signal/src/types.d.ts
|
|
4
4
|
/**
|
|
@@ -35,4 +35,4 @@ type MaybeSignal<T> = MaybeSignal$1<T>;
|
|
|
35
35
|
type SignalValue<S> = SignalValue$1<S>;
|
|
36
36
|
//#endregion
|
|
37
37
|
export { WritableSignal as a, SignalValue as i, ReadableSignal as n, Signal as r, MaybeSignal as t };
|
|
38
|
-
//# sourceMappingURL=types-
|
|
38
|
+
//# sourceMappingURL=types-BlaUrkq0.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types-
|
|
1
|
+
{"version":3,"file":"types-BlaUrkq0.d.mts","names":[],"sources":["../../signal/src/types.ts"],"mappings":";;;;;;KAiBY,cAAA,YAA0B,gBAAA,CAAmB,CAAA;;AAQzD;;;;;UAAiB,cAAA,kBAAgC,gBAAA,CAAmB,CAAA;;;;;EAKlE,GAAA,CAAI,KAAA,EAAO,CAAA;;;;;EAMX,MAAA,CAAO,EAAA,GAAK,IAAA,EAAM,CAAA,KAAM,CAAA;AAAA;;;;;KAOd,MAAA,YAAkB,cAAA,CAAe,CAAA;;AAA7C;;KAKY,WAAA,MAAiB,aAAA,CAAgB,CAAA;AAAA,KACjC,WAAA,MAAiB,aAAA,CAAgB,CAAA"}
|