@limetech/kompendium 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +313 -0
- package/dist/cjs/_commonjsHelpers-BJu3ubxk.js +13 -0
- package/dist/cjs/_commonjsHelpers-BJu3ubxk.js.map +1 -0
- package/dist/cjs/anchor-scroll-BmplAyR0.js +69 -0
- package/dist/cjs/anchor-scroll-BmplAyR0.js.map +1 -0
- package/dist/cjs/index-DYiJ6dQL.js +1866 -0
- package/dist/cjs/index-DYiJ6dQL.js.map +1 -0
- package/dist/cjs/index.cjs.js +3 -0
- package/dist/cjs/index.cjs.js.map +1 -0
- package/dist/cjs/kompendium-app.kompendium-darkmode-switch.kompendium-navigation.kompendium-search.stencil-route.stencil-route-switch.stencil-router.entry.cjs.js.map +1 -0
- package/dist/cjs/kompendium-app_7.cjs.entry.js +2924 -0
- package/dist/cjs/kompendium-code.cjs.entry.js +2724 -0
- package/dist/cjs/kompendium-code.entry.cjs.js.map +1 -0
- package/dist/cjs/kompendium-component.cjs.entry.js +207 -0
- package/dist/cjs/kompendium-component.entry.cjs.js.map +1 -0
- package/dist/cjs/kompendium-debug.cjs.entry.js +47 -0
- package/dist/cjs/kompendium-debug.entry.cjs.js.map +1 -0
- package/dist/cjs/kompendium-example-code.cjs.entry.js +20 -0
- package/dist/cjs/kompendium-example-code.entry.cjs.js.map +1 -0
- package/dist/cjs/kompendium-example-markdown.cjs.entry.js +165 -0
- package/dist/cjs/kompendium-example-markdown.entry.cjs.js.map +1 -0
- package/dist/cjs/kompendium-guide.cjs.entry.js +33 -0
- package/dist/cjs/kompendium-guide.entry.cjs.js.map +1 -0
- package/dist/cjs/kompendium-markdown.cjs.entry.js +48923 -0
- package/dist/cjs/kompendium-markdown.entry.cjs.js.map +1 -0
- package/dist/cjs/kompendium-playground.cjs.entry.js +89 -0
- package/dist/cjs/kompendium-playground.entry.cjs.js.map +1 -0
- package/dist/cjs/kompendium-proplist.kompendium-taglist.entry.cjs.js.map +1 -0
- package/dist/cjs/kompendium-proplist_2.cjs.entry.js +49 -0
- package/dist/cjs/kompendium-type.cjs.entry.js +83 -0
- package/dist/cjs/kompendium-type.entry.cjs.js.map +1 -0
- package/dist/cjs/kompendium.cjs.js +25 -0
- package/dist/cjs/kompendium.cjs.js.map +1 -0
- package/dist/cjs/loader.cjs.js +13 -0
- package/dist/cjs/loader.cjs.js.map +1 -0
- package/dist/cjs/markdown-types-B884tLd-.js +15 -0
- package/dist/cjs/markdown-types-B884tLd-.js.map +1 -0
- package/dist/cjs/methods-DoA78dOH.js +97 -0
- package/dist/cjs/methods-DoA78dOH.js.map +1 -0
- package/dist/cjs/types-SjA7Kcy_.js +8 -0
- package/dist/cjs/types-SjA7Kcy_.js.map +1 -0
- package/dist/collection/assets/favicon.svg +65 -0
- package/dist/collection/assets/icons/bookmark-fill.svg +1 -0
- package/dist/collection/assets/icons/danger.svg +1 -0
- package/dist/collection/assets/icons/debug.svg +1 -0
- package/dist/collection/assets/icons/important.svg +1 -0
- package/dist/collection/assets/icons/info.svg +1 -0
- package/dist/collection/assets/icons/logo.svg +1 -0
- package/dist/collection/assets/icons/note.svg +1 -0
- package/dist/collection/assets/icons/search.svg +1 -0
- package/dist/collection/assets/icons/tip.svg +1 -0
- package/dist/collection/assets/icons/warning.svg +1 -0
- package/dist/collection/assets/logotype.svg +64 -0
- package/dist/collection/collection-manifest.json +35 -0
- package/dist/collection/components/anchor-scroll.js +61 -0
- package/dist/collection/components/anchor-scroll.js.map +1 -0
- package/dist/collection/components/app/app.css +125 -0
- package/dist/collection/components/app/app.js +149 -0
- package/dist/collection/components/app/app.js.map +1 -0
- package/dist/collection/components/code/code.css +250 -0
- package/dist/collection/components/code/code.js +82 -0
- package/dist/collection/components/code/code.js.map +1 -0
- package/dist/collection/components/code/examples/code.js +14 -0
- package/dist/collection/components/code/examples/code.js.map +1 -0
- package/dist/collection/components/component/component.css +383 -0
- package/dist/collection/components/component/component.js +191 -0
- package/dist/collection/components/component/component.js.map +1 -0
- package/dist/collection/components/component/templates/events.js +32 -0
- package/dist/collection/components/component/templates/events.js.map +1 -0
- package/dist/collection/components/component/templates/examples.js +17 -0
- package/dist/collection/components/component/templates/examples.js.map +1 -0
- package/dist/collection/components/component/templates/methods.js +54 -0
- package/dist/collection/components/component/templates/methods.js.map +1 -0
- package/dist/collection/components/component/templates/props.js +36 -0
- package/dist/collection/components/component/templates/props.js.map +1 -0
- package/dist/collection/components/component/templates/slots.js +14 -0
- package/dist/collection/components/component/templates/slots.js.map +1 -0
- package/dist/collection/components/component/templates/style.js +14 -0
- package/dist/collection/components/component/templates/style.js.map +1 -0
- package/dist/collection/components/darkmode-switch/darkmode-switch.css +141 -0
- package/dist/collection/components/darkmode-switch/darkmode-switch.js +90 -0
- package/dist/collection/components/darkmode-switch/darkmode-switch.js.map +1 -0
- package/dist/collection/components/darkmode-switch/types.js +2 -0
- package/dist/collection/components/darkmode-switch/types.js.map +1 -0
- package/dist/collection/components/debug/debug.js +146 -0
- package/dist/collection/components/debug/debug.js.map +1 -0
- package/dist/collection/components/guide/guide.js +61 -0
- package/dist/collection/components/guide/guide.js.map +1 -0
- package/dist/collection/components/markdown/examples/markdown-example.js +150 -0
- package/dist/collection/components/markdown/examples/markdown-example.js.map +1 -0
- package/dist/collection/components/markdown/examples/markdown.js +14 -0
- package/dist/collection/components/markdown/examples/markdown.js.map +1 -0
- package/dist/collection/components/markdown/markdown-types.js +8 -0
- package/dist/collection/components/markdown/markdown-types.js.map +1 -0
- package/dist/collection/components/markdown/markdown.css +660 -0
- package/dist/collection/components/markdown/markdown.js +83 -0
- package/dist/collection/components/markdown/markdown.js.map +1 -0
- package/dist/collection/components/navigation/navigation.css +403 -0
- package/dist/collection/components/navigation/navigation.js +184 -0
- package/dist/collection/components/navigation/navigation.js.map +1 -0
- package/dist/collection/components/playground/playground.css +198 -0
- package/dist/collection/components/playground/playground.js +174 -0
- package/dist/collection/components/playground/playground.js.map +1 -0
- package/dist/collection/components/playground/playground.types.js +2 -0
- package/dist/collection/components/playground/playground.types.js.map +1 -0
- package/dist/collection/components/proplist/proplist.css +334 -0
- package/dist/collection/components/proplist/proplist.js +53 -0
- package/dist/collection/components/proplist/proplist.js.map +1 -0
- package/dist/collection/components/search/search.css +183 -0
- package/dist/collection/components/search/search.js +76 -0
- package/dist/collection/components/search/search.js.map +1 -0
- package/dist/collection/components/taglist/taglist.css +58 -0
- package/dist/collection/components/taglist/taglist.js +82 -0
- package/dist/collection/components/taglist/taglist.js.map +1 -0
- package/dist/collection/components/type/templates/alias.js +11 -0
- package/dist/collection/components/type/templates/alias.js.map +1 -0
- package/dist/collection/components/type/templates/enum.js +25 -0
- package/dist/collection/components/type/templates/enum.js.map +1 -0
- package/dist/collection/components/type/templates/interface.js +13 -0
- package/dist/collection/components/type/templates/interface.js.map +1 -0
- package/dist/collection/components/type/type.js +97 -0
- package/dist/collection/components/type/type.js.map +1 -0
- package/dist/collection/index.js +4 -0
- package/dist/collection/index.js.map +1 -0
- package/dist/collection/kompendium/config.js +7 -0
- package/dist/collection/kompendium/config.js.map +1 -0
- package/dist/collection/kompendium/filesystem.js +9 -0
- package/dist/collection/kompendium/filesystem.js.map +1 -0
- package/dist/collection/kompendium/generator.js +217 -0
- package/dist/collection/kompendium/generator.js.map +1 -0
- package/dist/collection/kompendium/guides.js +30 -0
- package/dist/collection/kompendium/guides.js.map +1 -0
- package/dist/collection/kompendium/index.js +2 -0
- package/dist/collection/kompendium/index.js.map +1 -0
- package/dist/collection/kompendium/markdown-admonitions.js +82 -0
- package/dist/collection/kompendium/markdown-admonitions.js.map +1 -0
- package/dist/collection/kompendium/markdown-code.js +40 -0
- package/dist/collection/kompendium/markdown-code.js.map +1 -0
- package/dist/collection/kompendium/markdown-frontmatter.js +12 -0
- package/dist/collection/kompendium/markdown-frontmatter.js.map +1 -0
- package/dist/collection/kompendium/markdown-nodes.js +10 -0
- package/dist/collection/kompendium/markdown-nodes.js.map +1 -0
- package/dist/collection/kompendium/markdown-typelinks.js +115 -0
- package/dist/collection/kompendium/markdown-typelinks.js.map +1 -0
- package/dist/collection/kompendium/markdown.js +35 -0
- package/dist/collection/kompendium/markdown.js.map +1 -0
- package/dist/collection/kompendium/menu.js +149 -0
- package/dist/collection/kompendium/menu.js.map +1 -0
- package/dist/collection/kompendium/schema.js +167 -0
- package/dist/collection/kompendium/schema.js.map +1 -0
- package/dist/collection/kompendium/search.js +144 -0
- package/dist/collection/kompendium/search.js.map +1 -0
- package/dist/collection/kompendium/source.js +81 -0
- package/dist/collection/kompendium/source.js.map +1 -0
- package/dist/collection/kompendium/test/fixtures/basic.js +48 -0
- package/dist/collection/kompendium/test/fixtures/basic.js.map +1 -0
- package/dist/collection/kompendium/test/fixtures/filtering/example-type.js +2 -0
- package/dist/collection/kompendium/test/fixtures/filtering/example-type.js.map +1 -0
- package/dist/collection/kompendium/test/fixtures/filtering/node-modules-type.js +2 -0
- package/dist/collection/kompendium/test/fixtures/filtering/node-modules-type.js.map +1 -0
- package/dist/collection/kompendium/test/fixtures/filtering/private-types.js +2 -0
- package/dist/collection/kompendium/test/fixtures/filtering/private-types.js.map +1 -0
- package/dist/collection/kompendium/test/fixtures/filtering/stencil-component-types.js +2 -0
- package/dist/collection/kompendium/test/fixtures/filtering/stencil-component-types.js.map +1 -0
- package/dist/collection/kompendium/test/fixtures/filtering/test-helper-type.js +2 -0
- package/dist/collection/kompendium/test/fixtures/filtering/test-helper-type.js.map +1 -0
- package/dist/collection/kompendium/test/fixtures/filtering/valid-types.js +29 -0
- package/dist/collection/kompendium/test/fixtures/filtering/valid-types.js.map +1 -0
- package/dist/collection/kompendium/typedoc.js +481 -0
- package/dist/collection/kompendium/typedoc.js.map +1 -0
- package/dist/collection/kompendium/watch.js +9 -0
- package/dist/collection/kompendium/watch.js.map +1 -0
- package/dist/collection/types.js +2 -0
- package/dist/collection/types.js.map +1 -0
- package/dist/config.ts +8 -0
- package/dist/esm/_commonjsHelpers-BFTU3MAI.js +10 -0
- package/dist/esm/_commonjsHelpers-BFTU3MAI.js.map +1 -0
- package/dist/esm/anchor-scroll-BAGXN2n6.js +65 -0
- package/dist/esm/anchor-scroll-BAGXN2n6.js.map +1 -0
- package/dist/esm/index-9UrzenzW.js +1857 -0
- package/dist/esm/index-9UrzenzW.js.map +1 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/kompendium-app.kompendium-darkmode-switch.kompendium-navigation.kompendium-search.stencil-route.stencil-route-switch.stencil-router.entry.js.map +1 -0
- package/dist/esm/kompendium-app_7.entry.js +2916 -0
- package/dist/esm/kompendium-code.entry.js +2722 -0
- package/dist/esm/kompendium-code.entry.js.map +1 -0
- package/dist/esm/kompendium-component.entry.js +205 -0
- package/dist/esm/kompendium-component.entry.js.map +1 -0
- package/dist/esm/kompendium-debug.entry.js +45 -0
- package/dist/esm/kompendium-debug.entry.js.map +1 -0
- package/dist/esm/kompendium-example-code.entry.js +18 -0
- package/dist/esm/kompendium-example-code.entry.js.map +1 -0
- package/dist/esm/kompendium-example-markdown.entry.js +163 -0
- package/dist/esm/kompendium-example-markdown.entry.js.map +1 -0
- package/dist/esm/kompendium-guide.entry.js +31 -0
- package/dist/esm/kompendium-guide.entry.js.map +1 -0
- package/dist/esm/kompendium-markdown.entry.js +48921 -0
- package/dist/esm/kompendium-markdown.entry.js.map +1 -0
- package/dist/esm/kompendium-playground.entry.js +87 -0
- package/dist/esm/kompendium-playground.entry.js.map +1 -0
- package/dist/esm/kompendium-proplist.kompendium-taglist.entry.js.map +1 -0
- package/dist/esm/kompendium-proplist_2.entry.js +46 -0
- package/dist/esm/kompendium-type.entry.js +81 -0
- package/dist/esm/kompendium-type.entry.js.map +1 -0
- package/dist/esm/kompendium.js +21 -0
- package/dist/esm/kompendium.js.map +1 -0
- package/dist/esm/loader.js +11 -0
- package/dist/esm/loader.js.map +1 -0
- package/dist/esm/markdown-types-Ajsawr_9.js +12 -0
- package/dist/esm/markdown-types-Ajsawr_9.js.map +1 -0
- package/dist/esm/methods-BAjd6f7g.js +94 -0
- package/dist/esm/methods-BAjd6f7g.js.map +1 -0
- package/dist/esm/types-BIPLEi1G.js +6 -0
- package/dist/esm/types-BIPLEi1G.js.map +1 -0
- package/dist/filesystem.ts +9 -0
- package/dist/generator.ts +302 -0
- package/dist/guides.ts +49 -0
- package/dist/index.cjs.js +1 -0
- package/dist/index.js +1 -0
- package/dist/index.ts +1 -0
- package/dist/kompendium/index.esm.js +2 -0
- package/dist/kompendium/index.esm.js.map +1 -0
- package/dist/kompendium/kompendium-app.kompendium-darkmode-switch.kompendium-navigation.kompendium-search.stencil-route.stencil-route-switch.stencil-router.entry.esm.js.map +1 -0
- package/dist/kompendium/kompendium-code.entry.esm.js.map +1 -0
- package/dist/kompendium/kompendium-component.entry.esm.js.map +1 -0
- package/dist/kompendium/kompendium-debug.entry.esm.js.map +1 -0
- package/dist/kompendium/kompendium-example-code.entry.esm.js.map +1 -0
- package/dist/kompendium/kompendium-example-markdown.entry.esm.js.map +1 -0
- package/dist/kompendium/kompendium-guide.entry.esm.js.map +1 -0
- package/dist/kompendium/kompendium-markdown.entry.esm.js.map +1 -0
- package/dist/kompendium/kompendium-playground.entry.esm.js.map +1 -0
- package/dist/kompendium/kompendium-proplist.kompendium-taglist.entry.esm.js.map +1 -0
- package/dist/kompendium/kompendium-type.entry.esm.js.map +1 -0
- package/dist/kompendium/kompendium.css +47 -0
- package/dist/kompendium/kompendium.esm.js +2 -0
- package/dist/kompendium/kompendium.esm.js.map +1 -0
- package/dist/kompendium/loader.esm.js.map +1 -0
- package/dist/kompendium/p-15e4b2c0.entry.js +2 -0
- package/dist/kompendium/p-15e4b2c0.entry.js.map +1 -0
- package/dist/kompendium/p-1cf0168f.entry.js +2 -0
- package/dist/kompendium/p-1cf0168f.entry.js.map +1 -0
- package/dist/kompendium/p-29c23c89.entry.js +2 -0
- package/dist/kompendium/p-29c23c89.entry.js.map +1 -0
- package/dist/kompendium/p-3981d11f.entry.js +2 -0
- package/dist/kompendium/p-3981d11f.entry.js.map +1 -0
- package/dist/kompendium/p-93f0548d.entry.js +2 -0
- package/dist/kompendium/p-93f0548d.entry.js.map +1 -0
- package/dist/kompendium/p-97b02575.entry.js +2 -0
- package/dist/kompendium/p-97b02575.entry.js.map +1 -0
- package/dist/kompendium/p-9UrzenzW.js +3 -0
- package/dist/kompendium/p-9UrzenzW.js.map +1 -0
- package/dist/kompendium/p-Ajsawr_9.js +2 -0
- package/dist/kompendium/p-Ajsawr_9.js.map +1 -0
- package/dist/kompendium/p-BAGXN2n6.js +2 -0
- package/dist/kompendium/p-BAGXN2n6.js.map +1 -0
- package/dist/kompendium/p-BFTU3MAI.js +2 -0
- package/dist/kompendium/p-BFTU3MAI.js.map +1 -0
- package/dist/kompendium/p-BIPLEi1G.js +2 -0
- package/dist/kompendium/p-BIPLEi1G.js.map +1 -0
- package/dist/kompendium/p-CnQEA7KO.js +2 -0
- package/dist/kompendium/p-CnQEA7KO.js.map +1 -0
- package/dist/kompendium/p-b0f95bd6.entry.js +2 -0
- package/dist/kompendium/p-b0f95bd6.entry.js.map +1 -0
- package/dist/kompendium/p-d9bcc473.entry.js +10 -0
- package/dist/kompendium/p-d9bcc473.entry.js.map +1 -0
- package/dist/kompendium/p-e36f3f1e.entry.js +2 -0
- package/dist/kompendium/p-e36f3f1e.entry.js.map +1 -0
- package/dist/kompendium/p-e52a2f57.entry.js +2 -0
- package/dist/kompendium/p-e52a2f57.entry.js.map +1 -0
- package/dist/kompendium/p-ec5861de.entry.js +2 -0
- package/dist/kompendium/p-ec5861de.entry.js.map +1 -0
- package/dist/markdown-admonitions.ts +112 -0
- package/dist/markdown-code.ts +51 -0
- package/dist/markdown-frontmatter.ts +19 -0
- package/dist/markdown-nodes.ts +23 -0
- package/dist/markdown-typelinks.ts +166 -0
- package/dist/markdown.ts +49 -0
- package/dist/menu.ts +189 -0
- package/dist/schema.ts +233 -0
- package/dist/search.ts +197 -0
- package/dist/source.ts +129 -0
- package/dist/typedoc.ts +665 -0
- package/dist/types/components/anchor-scroll.d.ts +36 -0
- package/dist/types/components/app/app.d.ts +22 -0
- package/dist/types/components/code/code.d.ts +26 -0
- package/dist/types/components/code/examples/code.d.ts +3 -0
- package/dist/types/components/component/component.d.ts +32 -0
- package/dist/types/components/component/templates/events.d.ts +5 -0
- package/dist/types/components/component/templates/examples.d.ts +9 -0
- package/dist/types/components/component/templates/methods.d.ts +5 -0
- package/dist/types/components/component/templates/props.d.ts +5 -0
- package/dist/types/components/component/templates/slots.d.ts +5 -0
- package/dist/types/components/component/templates/style.d.ts +5 -0
- package/dist/types/components/darkmode-switch/darkmode-switch.d.ts +18 -0
- package/dist/types/components/darkmode-switch/types.d.ts +2 -0
- package/dist/types/components/debug/debug.d.ts +24 -0
- package/dist/types/components/guide/guide.d.ts +14 -0
- package/dist/types/components/markdown/examples/markdown-example.d.ts +1 -0
- package/dist/types/components/markdown/examples/markdown.d.ts +7 -0
- package/dist/types/components/markdown/markdown-types.d.ts +2 -0
- package/dist/types/components/markdown/markdown.d.ts +20 -0
- package/dist/types/components/navigation/navigation.d.ts +35 -0
- package/dist/types/components/playground/playground.d.ts +32 -0
- package/dist/types/components/playground/playground.types.d.ts +1 -0
- package/dist/types/components/proplist/proplist.d.ts +12 -0
- package/dist/types/components/search/search.d.ts +15 -0
- package/dist/types/components/taglist/taglist.d.ts +16 -0
- package/dist/types/components/type/templates/alias.d.ts +4 -0
- package/dist/types/components/type/templates/enum.d.ts +4 -0
- package/dist/types/components/type/templates/interface.d.ts +4 -0
- package/dist/types/components/type/type.d.ts +15 -0
- package/dist/types/components.d.ts +517 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/kompendium/config.d.ts +2 -0
- package/dist/types/kompendium/filesystem.d.ts +1 -0
- package/dist/types/kompendium/generator.d.ts +4 -0
- package/dist/types/kompendium/guides.d.ts +9 -0
- package/dist/types/kompendium/index.d.ts +1 -0
- package/dist/types/kompendium/markdown-admonitions.d.ts +3 -0
- package/dist/types/kompendium/markdown-code.d.ts +2 -0
- package/dist/types/kompendium/markdown-frontmatter.d.ts +6 -0
- package/dist/types/kompendium/markdown-nodes.d.ts +12 -0
- package/dist/types/kompendium/markdown-typelinks.d.ts +21 -0
- package/dist/types/kompendium/markdown.d.ts +8 -0
- package/dist/types/kompendium/menu.d.ts +12 -0
- package/dist/types/kompendium/schema.d.ts +9 -0
- package/dist/types/kompendium/search.d.ts +3 -0
- package/dist/types/kompendium/source.d.ts +10 -0
- package/dist/types/kompendium/test/fixtures/basic.d.ts +65 -0
- package/dist/types/kompendium/test/fixtures/filtering/example-type.d.ts +8 -0
- package/dist/types/kompendium/test/fixtures/filtering/node-modules-type.d.ts +8 -0
- package/dist/types/kompendium/test/fixtures/filtering/private-types.d.ts +23 -0
- package/dist/types/kompendium/test/fixtures/filtering/stencil-component-types.d.ts +19 -0
- package/dist/types/kompendium/test/fixtures/filtering/test-helper-type.d.ts +8 -0
- package/dist/types/kompendium/test/fixtures/filtering/valid-types.d.ts +42 -0
- package/dist/types/kompendium/typedoc.d.ts +2 -0
- package/dist/types/kompendium/watch.d.ts +1 -0
- package/dist/types/stencil-public-runtime.d.ts +1746 -0
- package/dist/types/types.d.ts +119 -0
- package/dist/watch.ts +14 -0
- package/loader/cdn.js +1 -0
- package/loader/index.cjs.js +1 -0
- package/loader/index.d.ts +24 -0
- package/loader/index.es2017.js +1 -0
- package/loader/index.js +2 -0
- package/package.json +116 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg viewBox="0 0 400 400" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="1.5"><path fill="none" d="M0 0h400v400H0z"/><path d="M194.97 254.84h77.555" fill="none" stroke="currentColor" stroke-opacity=".6" stroke-width="20"/><path d="M127.474 145.16l54.84 54.84M182.315 200l-54.84 54.84" fill="none" stroke="currentColor" stroke-width="20"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" clip-rule="evenodd" viewBox="0 0 400 400"><defs/><path fill="none" d="M0 0h400v400H0z"/><path fill="#ffd54f" fill-rule="nonzero" d="M254.158 293c-2.499 0-4.941-.558-7.205-1.628a9.33 9.33 0 01-1.16-.569l-45.807-26.132-45.806 26.143c-.39.223-.781.413-1.182.591-5.443 2.543-12.101 1.941-16.964-1.595-5.231-3.792-7.819-10.406-6.536-16.83l10.674-51.773c-4.172-3.793-10.73-9.76-17.868-16.251l-21.135-19.239a8.364 8.364 0 01-.87-.915c-4.183-4.416-5.677-10.818-3.792-16.64 1.929-5.845 6.915-10.172 12.937-11.254.38-.089.748-.156 1.138-.201l52.431-5.811 21.705-48.07a7.66 7.66 0 01.669-1.227A16.72 16.72 0 01199.986 93c6.057 0 11.644 3.324 14.6 8.588.234.402.457.814.669 1.249l21.727 48.093 52.431 5.811c.379.033.759.1 1.16.189 6.012 1.116 10.997 5.421 12.916 11.287 1.896 5.811.39 12.247-3.793 16.663-.267.29-.568.603-.87.87l-39.014 35.512 10.674 51.662c1.26 6.547-1.316 13.139-6.58 16.942a16.602 16.602 0 01-9.748 3.134z"/><circle cx="255.5" cy="127.5" r="14.5" fill="#ffd54f" fill-opacity=".5"/><circle cx="144.5" cy="127.5" r="14.5" fill="#ffd54f" fill-opacity=".5"/><circle cx="287.5" cy="229.5" r="14.5" fill="#ffd54f" fill-opacity=".5"/><circle cx="113.5" cy="229.5" r="14.5" fill="#ffd54f" fill-opacity=".5"/><circle cx="200" cy="297.5" r="14.5" fill="#ffd54f" fill-opacity=".5"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" clip-rule="evenodd" viewBox="0 0 400 400"><defs/><path fill="none" d="M0 0h400v400H0z"/><path fill="#2196f3" fill-rule="nonzero" d="M229.238 275.304c-.075.025-6.987 2.325-12.987 2.325-3.312 0-4.65-.687-5.075-.987-2.1-1.463-6-4.2.675-17.5l12.5-24.924c7.412-14.8 8.512-29.112 3.062-40.312-4.45-9.162-12.987-15.449-23.999-17.699a59.668 59.668 0 00-11.975-1.213c-23.112 0-38.674 13.5-39.324 14.075a6.262 6.262 0 00-1.275 7.825 6.244 6.244 0 007.438 2.775c.062-.025 6.987-2.338 12.987-2.338 3.287 0 4.612.688 5.025.975 2.112 1.475 6.024 4.25-.638 17.525l-12.499 24.937c-7.425 14.812-8.513 29.124-3.063 40.311 4.45 9.162 12.975 15.449 24.012 17.699 3.925.788 7.95 1.213 11.925 1.213 23.124 0 38.698-13.5 39.348-14.075 2.238-1.962 2.763-5.25 1.275-7.825-1.5-2.562-4.612-3.712-7.412-2.787zm-10.487-175.295c17.247 0 31.249 14.002 31.249 31.249s-14.002 31.249-31.249 31.249-31.249-14.002-31.249-31.249 14.002-31.249 31.249-31.249z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg viewBox="0 0 148 80" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2"><path fill="none" d="M-.003 0h148v80h-148z"/><path d="M148.008 20c0-11.038-8.96-20-19.999-20H19.977c-11.038 0-20 8.962-20 20v40c0 11.038 8.962 20 20 20H128.01c11.038 0 20-8.962 20-20V20z" fill="rgb(36,71,88)"/><path d="M26.564 43.651v14.604H19.26V43.65h7.304zm0-7.302H19.26V21.745h7.304V36.35z" fill="rgb(255,160,0)"/><path d="M106.82 58.254v-7.303h7.304V43.65h7.304v-7.301h-7.304v-7.303h-7.304v-7.302h7.304v7.302h7.304v7.303h7.293v7.301h-7.293v7.302h-7.304v7.303h-7.304zm-43.812 0v-7.303h7.304V43.65h7.304v-7.301h7.303v-7.303h7.293v-7.302h7.304v7.302h-7.304v7.303H84.92v7.301h-7.303v7.302h-7.304v7.303h-7.304zm-14.597 0v-7.303h-7.304V43.65h-7.304v-7.301h7.304v-7.303h7.304v-7.302h7.293v7.302H48.41v7.303h-7.304v7.301h7.304v7.302h7.293v7.303H48.41z" fill="rgb(0,200,82)"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" clip-rule="evenodd" viewBox="0 0 400 400"><defs/><path fill="none" d="M0 0h400v400H0z"/><circle cx="200" cy="200" r="119.072" fill="#81c784" fill-opacity=".3"/><circle cx="200" cy="200" r="99.5" fill="#81c784"/><path fill="#fff" d="M200.011 145.221c-5.042 0-9.129 4.136-9.129 9.102v54.834a9.094 9.094 0 009.129 9.103c5.043 0 9.13-4.136 9.13-9.103v-54.834a9.093 9.093 0 00-9.13-9.102zm0 109.558a9.13 9.13 0 009.13-9.13 9.129 9.129 0 00-9.13-9.129 9.129 9.129 0 00-9.129 9.129 9.129 9.129 0 009.129 9.13z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="1.5" clip-rule="evenodd" viewBox="0 0 400 400"><defs/><path fill="none" d="M0 0h400v400H0z"/><path d="M275.621 258.31l-16.962 16.979 50.965 50.964.008.009c4.637 4.637 12.268 4.637 16.905 0l.032-.033c4.687-4.687 4.642-12.33.025-16.946l-50.964-50.965-.009-.008z" fill="rgb(48,48,66)"/><circle cx="200" cy="200" r="99.5" fill="rgb(33,150,243)" fill-opacity=".3" stroke="rgb(48,48,66)" stroke-width="13.27" transform="translate(19.096 19.096) scale(.90452)"/><ellipse cx="163.443" cy="186.777" rx="32.324" ry="22.133" fill="rgb(255,255,255)" fill-opacity=".3" transform="rotate(-45 128.405 173.5)"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="1.5" clip-rule="evenodd" viewBox="0 0 400 400"><defs/><path fill="none" d="M0 0h400v400H0z"/><circle cx="200" cy="200" r="140.5" fill="#ffd54f" fill-opacity=".2"/><circle cx="200" cy="200" r="119.072" fill="#ffd54f" fill-opacity=".3"/><circle cx="200" cy="200" r="99.5" fill="#ffd54f"/><path fill="#fff" fill-rule="nonzero" d="M265.384 201.1c0-38.426-33.52-69.494-72.764-64.589-28.615 3.27-52.325 26.163-57.231 54.778-3.27 21.257 4.088 41.696 17.17 55.595 9.81 9.811 14.716 22.892 14.716 36.791h65.406c0-13.081 4.906-26.98 13.899-35.973 11.446-13.082 18.804-28.616 18.804-46.602z"/><path fill="none" stroke="#ffd54f" stroke-width="8" d="M213.2 194.58C224 188 238 196 231.751 204.881c-9.583 13.619-57.987 11.566-63.709-1.805-3.689-8.622 8.958-14.076 19.439-8.496C196.151 199.196 200.5 207 200.5 224v4"/><path fill="#446c80" fill-rule="nonzero" d="M232.681 283.675h-65.406c0 18.532 14.171 32.703 32.703 32.703 18.532 0 32.703-14.171 32.703-32.703z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" clip-rule="evenodd" viewBox="0 0 400 400"><defs/><path fill="none" d="M0 0h400v400H0z"/><path fill="#f44336" d="M187.167 113.32c7.091-11.474 18.606-11.446 25.681 0l87.906 142.221c9.467 15.317 2.571 27.734-15.394 27.734H114.655c-17.97 0-24.892-12.367-15.395-27.734l87.907-142.221z"/><path fill="#fff" d="M200.011 155.052c-5.042 0-9.129 4.136-9.129 9.103v54.833a9.094 9.094 0 009.129 9.103c5.043 0 9.13-4.136 9.13-9.103v-54.833a9.093 9.093 0 00-9.13-9.103zm0 109.558a9.13 9.13 0 009.13-9.13 9.129 9.129 0 00-9.13-9.129 9.129 9.129 0 00-9.129 9.129 9.129 9.129 0 009.129 9.13z"/></svg>
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
3
|
+
<svg width="100%" height="100%" viewBox="0 0 542 80" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
|
|
4
|
+
<style>
|
|
5
|
+
@keyframes blink {
|
|
6
|
+
0%, 10%, 90%, 100% {
|
|
7
|
+
opacity: 1;
|
|
8
|
+
}
|
|
9
|
+
50%, 60% {
|
|
10
|
+
opacity: 0;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
#backplate {
|
|
14
|
+
fill:#254758;
|
|
15
|
+
fill-rule:nonzero;
|
|
16
|
+
}
|
|
17
|
+
#blinker {
|
|
18
|
+
fill:#ffa000;
|
|
19
|
+
fill-rule:nonzero;
|
|
20
|
+
animation: blink 1s ease;
|
|
21
|
+
animation-iteration-count: 4;
|
|
22
|
+
}
|
|
23
|
+
#logotype {
|
|
24
|
+
fill:#00c853;
|
|
25
|
+
fill-rule:nonzero;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
@media (prefers-color-scheme:dark){
|
|
29
|
+
#backplate {
|
|
30
|
+
fill:#224150
|
|
31
|
+
}
|
|
32
|
+
#blinker {
|
|
33
|
+
fill:#ff8f00
|
|
34
|
+
}
|
|
35
|
+
#logotype {
|
|
36
|
+
fill:#00B94A
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
</style>
|
|
40
|
+
<g transform="matrix(1,0,0,1,-4640.28,0)">
|
|
41
|
+
<g id="logotype" transform="matrix(0.339682,0,0,0.0807867,3071.12,0)">
|
|
42
|
+
<rect x="4619.47" y="0" width="1595.61" height="990.262" style="fill:none;"/>
|
|
43
|
+
<clipPath id="_clip1">
|
|
44
|
+
<rect x="4619.47" y="0" width="1595.61" height="990.262"/>
|
|
45
|
+
</clipPath>
|
|
46
|
+
<g clip-path="url(#_clip1)">
|
|
47
|
+
<g transform="matrix(2.01123,0,0,8.47173,4137.15,-2041.77)">
|
|
48
|
+
<path
|
|
49
|
+
id="backplate"
|
|
50
|
+
d="M1033.16,270.232C1033.16,254.104 1020.04,241.01 1003.88,241.01L269.1,241.01C252.937,241.01 239.815,254.104 239.815,270.232L239.815,328.677C239.815,344.806 252.937,357.9 269.1,357.9L1003.88,357.9C1020.04,357.9 1033.16,344.806 1033.16,328.677L1033.16,270.232Z"/>
|
|
51
|
+
</g>
|
|
52
|
+
<g id="blink" transform="matrix(3.2826,0,0,13.8032,-6963.9,-3487.35)">
|
|
53
|
+
<path
|
|
54
|
+
id="blinker"
|
|
55
|
+
d="M3552.55,291.794L3552.55,304.89L3546,304.89L3546,291.794L3552.55,291.794ZM3552.55,285.245L3546,285.245L3546,272.149L3552.55,272.149L3552.55,285.245Z"/>
|
|
56
|
+
</g>
|
|
57
|
+
<g id="logotype1" serif:id="logotype" transform="matrix(3.2826,0,0,13.8032,-12434.1,-6339.25)">
|
|
58
|
+
<path
|
|
59
|
+
id="logotype" d="M5238.56,511.502L5238.56,504.953L5232.01,504.953L5232.01,498.405L5225.46,498.405L5225.46,491.857L5232.01,491.857L5232.01,485.308L5238.56,485.308L5238.56,478.76L5245.11,478.76L5245.11,485.308L5238.56,485.308L5238.56,491.857L5232.01,491.857L5232.01,498.405L5238.56,498.405L5238.56,504.953L5245.11,504.953L5245.11,511.502L5238.56,511.502ZM5644.1,511.502L5644.1,504.953L5650.64,504.953L5650.64,498.405L5657.19,498.405L5657.19,491.857L5650.64,491.857L5650.64,485.308L5644.1,485.308L5644.1,478.76L5650.64,478.76L5650.64,485.308L5657.19,485.308L5657.19,491.857L5663.74,491.857L5663.74,498.405L5657.19,498.405L5657.19,504.953L5650.64,504.953L5650.64,511.502L5644.1,511.502ZM5284.4,485.308L5284.4,504.953L5277.85,504.953L5277.85,511.502L5258.21,511.502L5258.21,504.953L5251.66,504.953L5251.66,485.308L5258.21,485.308L5258.21,478.76L5277.85,478.76M5277.85,485.308L5258.21,485.308L5258.21,504.953L5277.85,504.953L5277.85,485.308ZM5290.9,511.502L5290.9,478.76L5297.44,478.76L5297.44,485.308L5303.99,485.308L5303.99,491.857L5310.54,491.857L5310.54,485.308L5317.09,485.308L5317.09,478.76L5323.64,478.76L5323.64,511.502L5317.09,511.502L5317.09,491.857L5310.54,491.857L5310.54,498.405L5303.99,498.405L5303.99,491.857L5297.44,491.857L5297.44,511.502L5290.9,511.502ZM5362.88,485.308L5362.88,491.857L5356.33,491.857L5356.33,498.405L5336.68,498.405L5336.68,511.502L5330.14,511.502L5330.14,478.76L5356.33,478.76M5356.33,491.857L5356.33,485.308L5336.68,485.308L5336.68,491.857L5356.33,491.857ZM5369.37,511.502L5369.37,478.76L5402.11,478.76L5402.11,485.308L5375.92,485.308L5375.92,491.857L5389.02,491.857L5389.02,498.405L5375.92,498.405L5375.92,504.953L5402.11,504.953L5402.11,511.502L5369.37,511.502ZM5428.26,498.405L5434.81,498.405L5434.81,478.76L5441.35,478.76L5441.35,511.502L5434.81,511.502L5434.81,504.953L5428.26,504.953L5428.26,498.405L5421.71,498.405L5421.71,491.857L5428.26,491.857L5428.26,498.405ZM5415.16,485.308L5421.71,485.308L5421.71,491.857L5415.16,491.857L5415.16,511.502L5408.61,511.502L5408.61,478.76L5415.16,478.76L5415.16,485.308ZM5480.59,485.308L5480.59,504.953L5474.04,504.953L5474.04,511.502L5447.85,511.502L5447.85,478.76L5474.04,478.76M5474.04,504.953L5474.04,485.308L5454.4,485.308L5454.4,504.953L5474.04,504.953ZM5487.09,511.502L5487.09,504.953L5500.19,504.953L5500.19,485.308L5487.09,485.308L5487.09,478.76L5519.83,478.76L5519.83,485.308L5506.73,485.308L5506.73,504.953L5519.83,504.953L5519.83,511.502L5487.09,511.502ZM5532.88,511.502L5532.88,504.953L5526.33,504.953L5526.33,478.76L5532.88,478.76L5532.88,504.953L5552.52,504.953L5552.52,478.76L5559.07,478.76L5559.07,504.953L5552.52,504.953L5552.52,511.502L5532.88,511.502ZM5565.57,511.502L5565.57,478.76L5572.12,478.76L5572.12,485.308L5578.66,485.308L5578.66,491.857L5585.21,491.857L5585.21,485.308L5591.76,485.308L5591.76,478.76L5598.31,478.76L5598.31,511.502L5591.76,511.502L5591.76,491.857L5585.21,491.857L5585.21,498.405L5578.66,498.405L5578.66,491.857L5572.12,491.857L5572.12,511.502L5565.57,511.502ZM5604.81,511.502L5604.81,504.953L5611.35,504.953L5611.35,498.405L5617.9,498.405L5617.9,491.857L5624.45,491.857L5624.45,485.308L5631,485.308L5631,478.76L5637.55,478.76L5637.55,485.308L5631,485.308L5631,491.857L5624.45,491.857L5624.45,498.405L5617.9,498.405L5617.9,504.953L5611.35,504.953L5611.35,511.502L5604.81,511.502Z"/>
|
|
60
|
+
</g>
|
|
61
|
+
</g>
|
|
62
|
+
</g>
|
|
63
|
+
</g>
|
|
64
|
+
</svg>
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"entries": [
|
|
3
|
+
"components/app/app.js",
|
|
4
|
+
"components/code/code.js",
|
|
5
|
+
"components/code/examples/code.js",
|
|
6
|
+
"components/proplist/proplist.js",
|
|
7
|
+
"components/component/component.js",
|
|
8
|
+
"components/darkmode-switch/darkmode-switch.js",
|
|
9
|
+
"components/debug/debug.js",
|
|
10
|
+
"components/guide/guide.js",
|
|
11
|
+
"components/markdown/markdown.js",
|
|
12
|
+
"components/markdown/examples/markdown.js",
|
|
13
|
+
"components/navigation/navigation.js",
|
|
14
|
+
"components/playground/playground.js",
|
|
15
|
+
"components/search/search.js",
|
|
16
|
+
"components/taglist/taglist.js",
|
|
17
|
+
"components/type/type.js"
|
|
18
|
+
],
|
|
19
|
+
"compiler": {
|
|
20
|
+
"name": "@stencil/core",
|
|
21
|
+
"version": "4.38.0",
|
|
22
|
+
"typescriptVersion": "5.5.4"
|
|
23
|
+
},
|
|
24
|
+
"collections": [
|
|
25
|
+
{
|
|
26
|
+
"name": "@limetech/stencil-router",
|
|
27
|
+
"tags": [
|
|
28
|
+
"stencil-route",
|
|
29
|
+
"stencil-route-switch",
|
|
30
|
+
"stencil-router"
|
|
31
|
+
]
|
|
32
|
+
}
|
|
33
|
+
],
|
|
34
|
+
"bundles": []
|
|
35
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utility functions for handling anchor link scrolling in shadow DOM components.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Get the current route from the URL hash (without the leading #).
|
|
6
|
+
*
|
|
7
|
+
* For hash-based routing where the entire hash is the route.
|
|
8
|
+
* Example: "#/component/limel-button/examples/" → "/component/limel-button/examples/"
|
|
9
|
+
* @returns {string} The route extracted from the URL hash
|
|
10
|
+
*/
|
|
11
|
+
export function getRoute() {
|
|
12
|
+
return window.location.hash.substring(1);
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Extract the anchor ID from the current URL hash.
|
|
16
|
+
*
|
|
17
|
+
* Handles both simple anchors (#section) and route-based anchors (#/guide/page#section).
|
|
18
|
+
* Returns null if no valid anchor is found.
|
|
19
|
+
*
|
|
20
|
+
* Example: "#/guide/changelog#v2-features" → "v2-features"
|
|
21
|
+
* @returns {string | null} The anchor ID or null if not found
|
|
22
|
+
*/
|
|
23
|
+
export function getAnchorId() {
|
|
24
|
+
const hash = window.location.hash;
|
|
25
|
+
if (!hash) {
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
// Match the last #fragment in the hash
|
|
29
|
+
// This handles both "#section" and "#/route/path#section"
|
|
30
|
+
const anchorMatch = hash.match(/#([^#]+)$/);
|
|
31
|
+
return anchorMatch ? anchorMatch[1] : null;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Scroll to an anchor element within a shadow root.
|
|
35
|
+
*
|
|
36
|
+
* Uses requestAnimationFrame to ensure the DOM is ready before scrolling.
|
|
37
|
+
* @param {ShadowRoot} shadowRoot - The shadow root to search for the element
|
|
38
|
+
* @param {ScrollBehavior} behavior - Scroll behavior ('auto' or 'smooth')
|
|
39
|
+
*/
|
|
40
|
+
export function scrollToAnchor(shadowRoot, behavior = 'auto') {
|
|
41
|
+
const anchorId = getAnchorId();
|
|
42
|
+
if (!anchorId) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
requestAnimationFrame(() => {
|
|
46
|
+
scrollToElement(shadowRoot, anchorId, behavior);
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Scroll to a specific element by ID within a shadow root.
|
|
51
|
+
* @param {ShadowRoot} shadowRoot - The shadow root to search for the element
|
|
52
|
+
* @param {string} id - The element ID to scroll to
|
|
53
|
+
* @param {ScrollBehavior} behavior - Scroll behavior ('auto' or 'smooth')
|
|
54
|
+
*/
|
|
55
|
+
export function scrollToElement(shadowRoot, id, behavior = 'auto') {
|
|
56
|
+
const element = shadowRoot.getElementById(id);
|
|
57
|
+
if (element) {
|
|
58
|
+
element.scrollIntoView({ behavior: behavior });
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=anchor-scroll.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anchor-scroll.js","sourceRoot":"","sources":["../../src/components/anchor-scroll.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ;IACpB,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW;IACvB,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;IAClC,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,uCAAuC;IACvC,0DAA0D;IAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAE5C,OAAO,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAC1B,UAAsB,EACtB,WAA2B,MAAM;IAEjC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,OAAO;IACX,CAAC;IAED,qBAAqB,CAAC,GAAG,EAAE;QACvB,eAAe,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC3B,UAAsB,EACtB,EAAU,EACV,WAA2B,MAAM;IAEjC,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IAC9C,IAAI,OAAO,EAAE,CAAC;QACV,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnD,CAAC;AACL,CAAC","sourcesContent":["/**\n * Utility functions for handling anchor link scrolling in shadow DOM components.\n */\n\n/**\n * Get the current route from the URL hash (without the leading #).\n *\n * For hash-based routing where the entire hash is the route.\n * Example: \"#/component/limel-button/examples/\" → \"/component/limel-button/examples/\"\n * @returns {string} The route extracted from the URL hash\n */\nexport function getRoute(): string {\n return window.location.hash.substring(1);\n}\n\n/**\n * Extract the anchor ID from the current URL hash.\n *\n * Handles both simple anchors (#section) and route-based anchors (#/guide/page#section).\n * Returns null if no valid anchor is found.\n *\n * Example: \"#/guide/changelog#v2-features\" → \"v2-features\"\n * @returns {string | null} The anchor ID or null if not found\n */\nexport function getAnchorId(): string | null {\n const hash = window.location.hash;\n if (!hash) {\n return null;\n }\n\n // Match the last #fragment in the hash\n // This handles both \"#section\" and \"#/route/path#section\"\n const anchorMatch = hash.match(/#([^#]+)$/);\n\n return anchorMatch ? anchorMatch[1] : null;\n}\n\n/**\n * Scroll to an anchor element within a shadow root.\n *\n * Uses requestAnimationFrame to ensure the DOM is ready before scrolling.\n * @param {ShadowRoot} shadowRoot - The shadow root to search for the element\n * @param {ScrollBehavior} behavior - Scroll behavior ('auto' or 'smooth')\n */\nexport function scrollToAnchor(\n shadowRoot: ShadowRoot,\n behavior: ScrollBehavior = 'auto',\n): void {\n const anchorId = getAnchorId();\n if (!anchorId) {\n return;\n }\n\n requestAnimationFrame(() => {\n scrollToElement(shadowRoot, anchorId, behavior);\n });\n}\n\n/**\n * Scroll to a specific element by ID within a shadow root.\n * @param {ShadowRoot} shadowRoot - The shadow root to search for the element\n * @param {string} id - The element ID to scroll to\n * @param {ScrollBehavior} behavior - Scroll behavior ('auto' or 'smooth')\n */\nexport function scrollToElement(\n shadowRoot: ShadowRoot,\n id: string,\n behavior: ScrollBehavior = 'auto',\n): void {\n const element = shadowRoot.getElementById(id);\n if (element) {\n element.scrollIntoView({ behavior: behavior });\n }\n}\n"]}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/* Box sizing rules */
|
|
2
|
+
*,
|
|
3
|
+
*::before,
|
|
4
|
+
*::after {
|
|
5
|
+
box-sizing: border-box;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
/* Remove default padding */
|
|
9
|
+
ul[class],
|
|
10
|
+
ol[class] {
|
|
11
|
+
padding: 0;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/* Remove default margin */
|
|
15
|
+
body,
|
|
16
|
+
h1,
|
|
17
|
+
h2,
|
|
18
|
+
h3,
|
|
19
|
+
h4,
|
|
20
|
+
p,
|
|
21
|
+
ul[class],
|
|
22
|
+
ol[class],
|
|
23
|
+
li,
|
|
24
|
+
figure,
|
|
25
|
+
figcaption,
|
|
26
|
+
blockquote,
|
|
27
|
+
dl,
|
|
28
|
+
dd {
|
|
29
|
+
margin: 0;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/* Remove list styles on ul, ol elements with a class attribute */
|
|
33
|
+
ul[class],
|
|
34
|
+
ol[class] {
|
|
35
|
+
list-style: none;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/* A elements that don't have a class get default styles */
|
|
39
|
+
a:not([class]) {
|
|
40
|
+
text-decoration-skip-ink: auto;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/* Make images easier to work with */
|
|
44
|
+
img {
|
|
45
|
+
max-width: 100%;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/* Natural flow and rhythm in articles by default */
|
|
49
|
+
/* Inherit fonts for inputs and buttons */
|
|
50
|
+
input,
|
|
51
|
+
button,
|
|
52
|
+
textarea,
|
|
53
|
+
select {
|
|
54
|
+
font: inherit;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/* Remove all animations and transitions for people that prefer not to see them */
|
|
58
|
+
@media (prefers-reduced-motion: reduce) {
|
|
59
|
+
* {
|
|
60
|
+
animation-duration: 0.01ms !important;
|
|
61
|
+
animation-iteration-count: 1 !important;
|
|
62
|
+
transition-duration: 0.01ms !important;
|
|
63
|
+
scroll-behavior: auto !important;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
:root {
|
|
67
|
+
--width-nav-panel: 16rem;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
@keyframes spin {
|
|
71
|
+
to {
|
|
72
|
+
transform: rotate(360deg);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
.loading-screen {
|
|
76
|
+
display: flex;
|
|
77
|
+
flex-direction: row;
|
|
78
|
+
align-items: center;
|
|
79
|
+
justify-content: center;
|
|
80
|
+
position: absolute;
|
|
81
|
+
top: 0;
|
|
82
|
+
right: 0;
|
|
83
|
+
bottom: 0;
|
|
84
|
+
left: 0;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.loading-screen-icon {
|
|
88
|
+
animation: spin 0.35s linear infinite;
|
|
89
|
+
border-radius: 50%;
|
|
90
|
+
border-style: solid;
|
|
91
|
+
border-width: 0.125rem;
|
|
92
|
+
border-color: rgb(var(--kompendium-color-blue-default));
|
|
93
|
+
border-top-color: transparent;
|
|
94
|
+
display: inline-block;
|
|
95
|
+
height: 1.25rem;
|
|
96
|
+
width: 1.25rem;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.loading-screen-text {
|
|
100
|
+
padding-left: 0.75rem;
|
|
101
|
+
color: rgb(var(--kompendium-contrast-1100));
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
:host {
|
|
105
|
+
display: block;
|
|
106
|
+
margin: 0;
|
|
107
|
+
padding: 0;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
main {
|
|
111
|
+
padding: 1.25rem 2rem;
|
|
112
|
+
margin-left: var(--width-nav-panel);
|
|
113
|
+
}
|
|
114
|
+
main kompendium-guide {
|
|
115
|
+
display: block;
|
|
116
|
+
width: 100%;
|
|
117
|
+
max-width: 60rem;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
@media (max-width: 1000px) {
|
|
121
|
+
main {
|
|
122
|
+
padding-top: 2.625rem;
|
|
123
|
+
margin-left: 0;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import { h } from "@stencil/core";
|
|
2
|
+
import { setTypes } from "../markdown/markdown-types";
|
|
3
|
+
import Fuse from "fuse.js";
|
|
4
|
+
export class App {
|
|
5
|
+
constructor() {
|
|
6
|
+
/**
|
|
7
|
+
* Path to `kompendium.json`
|
|
8
|
+
*/
|
|
9
|
+
this.path = '/kompendium.json';
|
|
10
|
+
this.onMessage = this.onMessage.bind(this);
|
|
11
|
+
}
|
|
12
|
+
componentWillLoad() {
|
|
13
|
+
this.createWebSocket();
|
|
14
|
+
this.fetchData();
|
|
15
|
+
}
|
|
16
|
+
watchData() {
|
|
17
|
+
const options = {
|
|
18
|
+
includeScore: true,
|
|
19
|
+
includeMatches: true,
|
|
20
|
+
ignoreLocation: true,
|
|
21
|
+
threshold: 0.4,
|
|
22
|
+
};
|
|
23
|
+
const index = Fuse.parseIndex(this.data.index.data);
|
|
24
|
+
this.index = new Fuse(this.data.index.documents, options, index);
|
|
25
|
+
}
|
|
26
|
+
createWebSocket() {
|
|
27
|
+
if (this.socket) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
const url = getSocketUrl(location);
|
|
31
|
+
this.socket = new WebSocket(url);
|
|
32
|
+
this.socket.addEventListener('message', this.onMessage);
|
|
33
|
+
}
|
|
34
|
+
onMessage(event) {
|
|
35
|
+
var _a;
|
|
36
|
+
try {
|
|
37
|
+
const data = JSON.parse(event.data);
|
|
38
|
+
if (((_a = data.buildLog) === null || _a === void 0 ? void 0 : _a.progress) === 1) {
|
|
39
|
+
this.fetchData();
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
catch (e) {
|
|
43
|
+
// eslint-disable-next-line no-console
|
|
44
|
+
console.error(e);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
async fetchData() {
|
|
48
|
+
const data = await fetch(this.path);
|
|
49
|
+
this.data = await data.json();
|
|
50
|
+
const typeNames = this.data.types.map((type) => type.name);
|
|
51
|
+
setTypes(typeNames);
|
|
52
|
+
}
|
|
53
|
+
render() {
|
|
54
|
+
if (!this.data) {
|
|
55
|
+
return (h("div", { class: "loading-screen" }, h("div", { class: "loading-screen-icon" }), h("div", { class: "loading-screen-text" }, "Loading...")));
|
|
56
|
+
}
|
|
57
|
+
return (h("div", { class: "kompendium-body" }, h("kompendium-navigation", { menu: this.data.menu, header: this.data.title, logo: this.data.logo, index: this.index }), h("main", { role: "main" }, h("stencil-router", null, h("stencil-route-switch", { scrollTopOffset: 0 }, h("stencil-route", { url: "/", component: "kompendium-markdown", componentProps: {
|
|
58
|
+
text: this.data.readme,
|
|
59
|
+
} }), h("stencil-route", { url: "/component/:name/:section?", component: "kompendium-component", componentProps: {
|
|
60
|
+
docs: this.data.docs,
|
|
61
|
+
schemas: this.data.schemas,
|
|
62
|
+
examplePropsFactory: this.examplePropsFactory,
|
|
63
|
+
} }), h("stencil-route", { url: "/type/:name", component: "kompendium-type", componentProps: {
|
|
64
|
+
types: this.data.types,
|
|
65
|
+
} }), h("stencil-route", { url: "/debug/:name", component: "kompendium-debug", componentProps: {
|
|
66
|
+
docs: this.data.docs,
|
|
67
|
+
schemas: this.data.schemas,
|
|
68
|
+
examplePropsFactory: this.examplePropsFactory,
|
|
69
|
+
} }), h("stencil-route", { component: "kompendium-guide", componentProps: {
|
|
70
|
+
data: this.data,
|
|
71
|
+
} }))))));
|
|
72
|
+
}
|
|
73
|
+
static get is() { return "kompendium-app"; }
|
|
74
|
+
static get encapsulation() { return "shadow"; }
|
|
75
|
+
static get originalStyleUrls() {
|
|
76
|
+
return {
|
|
77
|
+
"$": ["app.scss"]
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
static get styleUrls() {
|
|
81
|
+
return {
|
|
82
|
+
"$": ["app.css"]
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
static get properties() {
|
|
86
|
+
return {
|
|
87
|
+
"path": {
|
|
88
|
+
"type": "string",
|
|
89
|
+
"mutable": false,
|
|
90
|
+
"complexType": {
|
|
91
|
+
"original": "string",
|
|
92
|
+
"resolved": "string",
|
|
93
|
+
"references": {}
|
|
94
|
+
},
|
|
95
|
+
"required": false,
|
|
96
|
+
"optional": false,
|
|
97
|
+
"docs": {
|
|
98
|
+
"tags": [],
|
|
99
|
+
"text": "Path to `kompendium.json`"
|
|
100
|
+
},
|
|
101
|
+
"getter": false,
|
|
102
|
+
"setter": false,
|
|
103
|
+
"reflect": false,
|
|
104
|
+
"attribute": "path",
|
|
105
|
+
"defaultValue": "'/kompendium.json'"
|
|
106
|
+
},
|
|
107
|
+
"examplePropsFactory": {
|
|
108
|
+
"type": "unknown",
|
|
109
|
+
"mutable": false,
|
|
110
|
+
"complexType": {
|
|
111
|
+
"original": "PropsFactory",
|
|
112
|
+
"resolved": "(name: string) => Record<string, unknown>",
|
|
113
|
+
"references": {
|
|
114
|
+
"PropsFactory": {
|
|
115
|
+
"location": "import",
|
|
116
|
+
"path": "../playground/playground.types",
|
|
117
|
+
"id": "src/components/playground/playground.types.ts::PropsFactory"
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
"required": false,
|
|
122
|
+
"optional": true,
|
|
123
|
+
"docs": {
|
|
124
|
+
"tags": [],
|
|
125
|
+
"text": "Factory for creating props for example components"
|
|
126
|
+
},
|
|
127
|
+
"getter": false,
|
|
128
|
+
"setter": false
|
|
129
|
+
}
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
static get states() {
|
|
133
|
+
return {
|
|
134
|
+
"data": {},
|
|
135
|
+
"index": {}
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
static get watchers() {
|
|
139
|
+
return [{
|
|
140
|
+
"propName": "data",
|
|
141
|
+
"methodName": "watchData"
|
|
142
|
+
}];
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
function getSocketUrl(location) {
|
|
146
|
+
const protocol = location.protocol === 'https:' ? 'wss:' : 'ws:';
|
|
147
|
+
return `${protocol}//${location.hostname}:${location.port}/`;
|
|
148
|
+
}
|
|
149
|
+
//# sourceMappingURL=app.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/components/app/app.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, State, Prop, Watch } from '@stencil/core';\nimport { KompendiumData, KompendiumDocument } from '../../types';\nimport { setTypes } from '../markdown/markdown-types';\nimport Fuse from 'fuse.js';\nimport { PropsFactory } from '../playground/playground.types';\n\n@Component({\n tag: 'kompendium-app',\n styleUrl: 'app.scss',\n shadow: true,\n})\nexport class App {\n /**\n * Path to `kompendium.json`\n */\n @Prop()\n public path = '/kompendium.json';\n\n /**\n * Factory for creating props for example components\n */\n @Prop()\n public examplePropsFactory?: PropsFactory;\n\n @State()\n public data: KompendiumData;\n\n @State()\n private index: Fuse<KompendiumDocument>;\n\n private socket: WebSocket;\n\n constructor() {\n this.onMessage = this.onMessage.bind(this);\n }\n\n protected componentWillLoad(): void {\n this.createWebSocket();\n this.fetchData();\n }\n\n @Watch('data')\n protected watchData(): void {\n const options: Fuse.IFuseOptions<KompendiumDocument> = {\n includeScore: true,\n includeMatches: true,\n ignoreLocation: true,\n threshold: 0.4,\n };\n const index = Fuse.parseIndex(this.data.index.data);\n\n this.index = new Fuse<KompendiumDocument>(\n this.data.index.documents,\n options,\n index,\n );\n }\n\n private createWebSocket() {\n if (this.socket) {\n return;\n }\n\n const url = getSocketUrl(location);\n this.socket = new WebSocket(url);\n this.socket.addEventListener('message', this.onMessage);\n }\n\n private onMessage(event: MessageEvent) {\n try {\n const data = JSON.parse(event.data);\n if (data.buildLog?.progress === 1) {\n this.fetchData();\n }\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(e);\n }\n }\n\n private async fetchData() {\n const data = await fetch(this.path);\n this.data = await data.json();\n const typeNames = this.data.types.map((type) => type.name);\n setTypes(typeNames);\n }\n\n protected render(): HTMLElement {\n if (!this.data) {\n return (\n <div class=\"loading-screen\">\n <div class=\"loading-screen-icon\"></div>\n <div class=\"loading-screen-text\">Loading...</div>\n </div>\n );\n }\n\n return (\n <div class=\"kompendium-body\">\n <kompendium-navigation\n menu={this.data.menu}\n header={this.data.title}\n logo={this.data.logo}\n index={this.index}\n />\n <main role=\"main\">\n <stencil-router>\n <stencil-route-switch scrollTopOffset={0}>\n <stencil-route\n url=\"/\"\n component=\"kompendium-markdown\"\n componentProps={{\n text: this.data.readme,\n }}\n />\n <stencil-route\n url=\"/component/:name/:section?\"\n component=\"kompendium-component\"\n componentProps={{\n docs: this.data.docs,\n schemas: this.data.schemas,\n examplePropsFactory:\n this.examplePropsFactory,\n }}\n />\n <stencil-route\n url=\"/type/:name\"\n component=\"kompendium-type\"\n componentProps={{\n types: this.data.types,\n }}\n />\n <stencil-route\n url=\"/debug/:name\"\n component=\"kompendium-debug\"\n componentProps={{\n docs: this.data.docs,\n schemas: this.data.schemas,\n examplePropsFactory:\n this.examplePropsFactory,\n }}\n />\n <stencil-route\n component=\"kompendium-guide\"\n componentProps={{\n data: this.data,\n }}\n />\n </stencil-route-switch>\n </stencil-router>\n </main>\n </div>\n );\n }\n}\n\nfunction getSocketUrl(location: Location) {\n const protocol = location.protocol === 'https:' ? 'wss:' : 'ws:';\n\n return `${protocol}//${location.hostname}:${location.port}/`;\n}\n"]}
|