@simple-reporting/base 0.1.111 → 1.0.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/.github/workflows/npm-publish.yml +24 -25
- package/.nvmrc +1 -1
- package/README.md +23 -23
- package/cli.js +121 -114
- package/dev/.ddev/nginx_full/custom.conf +12 -12
- package/dev/index.html +18 -17
- package/dev/livingdocs.config.json +154 -376
- package/dev/package.json +64 -60
- package/dev/pdf/pdf-configuration-debug.xml +8 -5
- package/dev/pdf/pdf-configuration.xml +2 -2
- package/dev/public/downloads/downloads_de.json +1 -0
- package/dev/public/downloads/downloads_en.json +1 -0
- package/dev/public/favicon.png +0 -0
- package/dev/public/html/de/Downloads.html +3 -0
- package/dev/public/html/de/Home.html +3 -0
- package/dev/public/html/de/Suche.html +3 -0
- package/dev/public/html/en/Downloads.html +3 -0
- package/dev/public/html/en/Home.html +3 -0
- package/dev/public/html/en/Suche.html +3 -0
- package/dev/public/json/routing_de.json +86 -0
- package/dev/public/json/routing_en.json +86 -0
- package/dev/public/json/settings.json +8 -0
- package/dev/public/json/translations_hosting.json +1 -0
- package/dev/src/App.vue +33 -44
- package/dev/src/Autoload.ts +6 -6
- package/dev/src/Dialog.vue +99 -0
- package/dev/src/assets/fonts/Inter/Inter-Regular.ttf +0 -0
- package/dev/src/assets/fonts/Inter/Inter-Regular.woff2 +0 -0
- package/dev/src/assets/fonts/Inter/Inter-SemiBold.ttf +0 -0
- package/dev/src/assets/fonts/Inter/Inter-SemiBold.woff2 +0 -0
- package/dev/src/assets/fonts/Inter/inter.scss +17 -0
- package/dev/src/assets/images/mms-logo-black.svg +91 -91
- package/dev/src/assets/images/mms-logo-white.svg +105 -105
- package/dev/src/assets/images/next.svg +12 -0
- package/dev/src/assets/images/prev.svg +12 -0
- package/dev/src/assets/images/toTop.svg +12 -0
- package/dev/src/assets/scss/app.scss +39 -39
- package/dev/src/assets/scss/{ldd.scss → editor.scss} +27 -27
- package/dev/src/assets/scss/general.scss +59 -17
- package/dev/src/assets/scss/pdf.scss +138 -2
- package/dev/src/assets/scss/placeholders.scss +226 -0
- package/dev/src/assets/scss/print.scss +1 -1
- package/dev/src/assets/scss/web.scss +32 -1
- package/dev/src/assets/scss/word.scss +2 -2
- package/dev/src/components/BypassLinks.vue +90 -0
- package/dev/src/components/MainNavigation.vue +15 -209
- package/dev/src/components/NavLanguages.vue +57 -0
- package/dev/src/components/PageFooter.vue +45 -86
- package/dev/src/components/PageHeader.vue +41 -149
- package/dev/src/components/PageMain.vue +13 -0
- package/dev/src/components/PrevNext.vue +168 -144
- package/dev/src/components/SrlPage/KFCApplication/hooks/kfcData.ts +9 -9
- package/dev/src/components/SrlPage/KFCApplication/scss/_iz-keyfigure-comparison.scss +151 -151
- package/dev/src/components/SrlPage/KFCApplication/scss/_kfc-loading.scss +40 -40
- package/dev/src/components/SrlPage/KFCApplication/scss/_srl-button-kfc.scss +21 -21
- package/dev/src/components/Svg/Close.vue +14 -0
- package/dev/src/entries/main.ts +4 -0
- package/dev/src/entries/pdf.ts +2 -0
- package/dev/src/i18n/index.ts +21 -51
- package/dev/src/i18n/translation.ts +85 -85
- package/dev/src/locales/de.json +9 -15
- package/dev/src/locales/en.json +9 -15
- package/dev/src/router/index.ts +44 -47
- package/dev/src/views/ArticleView.vue +12 -77
- package/dev/src/views/DevView.vue +861 -0
- package/dev/src/views/HomeView.vue +5 -35
- package/dev/src/views/PageNotFound.vue +77 -73
- package/dev/srl.config.json +754 -0
- package/dev/tsconfig.app.json +13 -16
- package/dev/tsconfig.node.json +20 -19
- package/dev/vite.config.ts +18 -27
- package/initTestProject.js +91 -0
- package/jest.config.mjs +200 -0
- package/livingdocs/010.Titles/010.title-h1/ld-conf.json +5 -0
- package/livingdocs/010.Titles/010.title-h1/scss/app.scss +1 -0
- package/livingdocs/010.Titles/010.title-h1/scss/editor.scss +1 -0
- package/livingdocs/010.Titles/010.title-h1/scss/general.scss +5 -0
- package/livingdocs/010.Titles/010.title-h1/scss/xbrl.scss +1 -0
- package/livingdocs/010.Titles/010.title-h1/title-h1.html +5 -0
- package/livingdocs/010.Titles/020.title-h2/ld-conf.json +10 -0
- package/livingdocs/010.Titles/020.title-h2/properties.json +27 -0
- package/livingdocs/010.Titles/020.title-h2/scss/app.scss +1 -0
- package/livingdocs/010.Titles/020.title-h2/scss/editor.scss +1 -0
- package/livingdocs/010.Titles/020.title-h2/scss/general.scss +21 -0
- package/livingdocs/010.Titles/020.title-h2/scss/xbrl.scss +1 -0
- package/livingdocs/010.Titles/020.title-h2/title-h2.html +22 -0
- package/livingdocs/010.Titles/030.title-h3/ld-conf.json +10 -0
- package/livingdocs/010.Titles/030.title-h3/properties.json +23 -0
- package/livingdocs/010.Titles/030.title-h3/scss/app.scss +1 -0
- package/livingdocs/010.Titles/030.title-h3/scss/editor.scss +1 -0
- package/livingdocs/010.Titles/030.title-h3/scss/general.scss +21 -0
- package/livingdocs/010.Titles/030.title-h3/scss/xbrl.scss +1 -0
- package/livingdocs/010.Titles/030.title-h3/title-h3.html +22 -0
- package/livingdocs/010.Titles/040.title-h4/ld-conf.json +10 -0
- package/livingdocs/010.Titles/040.title-h4/properties.json +19 -0
- package/livingdocs/010.Titles/040.title-h4/scss/app.scss +1 -0
- package/livingdocs/010.Titles/040.title-h4/scss/editor.scss +1 -0
- package/livingdocs/010.Titles/040.title-h4/scss/general.scss +21 -0
- package/livingdocs/010.Titles/040.title-h4/scss/xbrl.scss +1 -0
- package/livingdocs/010.Titles/040.title-h4/title-h4.html +22 -0
- package/livingdocs/010.Titles/050.title-h5/ld-conf.json +5 -0
- package/livingdocs/010.Titles/050.title-h5/properties.json +15 -0
- package/livingdocs/010.Titles/050.title-h5/scss/app.scss +1 -0
- package/livingdocs/010.Titles/050.title-h5/scss/editor.scss +1 -0
- package/livingdocs/010.Titles/050.title-h5/scss/general.scss +6 -0
- package/livingdocs/010.Titles/050.title-h5/scss/xbrl.scss +1 -0
- package/livingdocs/010.Titles/050.title-h5/title-h5.html +5 -0
- package/livingdocs/010.Titles/060.title-h6/ld-conf.json +5 -0
- package/livingdocs/010.Titles/060.title-h6/scss/app.scss +1 -0
- package/livingdocs/010.Titles/060.title-h6/scss/editor.scss +1 -0
- package/livingdocs/010.Titles/060.title-h6/scss/general.scss +6 -0
- package/livingdocs/010.Titles/060.title-h6/scss/xbrl.scss +1 -0
- package/livingdocs/010.Titles/060.title-h6/title-h6.html +5 -0
- package/livingdocs/020.Text/010.lead/ld-conf.json +10 -0
- package/livingdocs/020.Text/010.lead/lead.html +7 -0
- package/livingdocs/020.Text/010.lead/scss/app.scss +1 -0
- package/livingdocs/020.Text/010.lead/scss/editor.scss +1 -0
- package/livingdocs/020.Text/010.lead/scss/general.scss +6 -0
- package/livingdocs/020.Text/010.lead/scss/xbrl.scss +1 -0
- package/livingdocs/020.Text/020.paragraph/ld-conf.json +5 -0
- package/livingdocs/{Text/paragraph → 020.Text/020.paragraph}/paragraph.html +13 -24
- package/livingdocs/020.Text/020.paragraph/scss/app.scss +1 -0
- package/livingdocs/020.Text/020.paragraph/scss/editor.scss +1 -0
- package/livingdocs/020.Text/020.paragraph/scss/general.scss +6 -0
- package/livingdocs/020.Text/020.paragraph/scss/web.scss +0 -0
- package/livingdocs/020.Text/020.paragraph/scss/word.scss +0 -0
- package/livingdocs/020.Text/020.paragraph/scss/xbrl.scss +1 -0
- package/livingdocs/020.Text/030.paragraph-strong/ld-conf.json +5 -0
- package/livingdocs/020.Text/030.paragraph-strong/paragraph.html +16 -0
- package/livingdocs/020.Text/030.paragraph-strong/scss/app.scss +1 -0
- package/livingdocs/020.Text/030.paragraph-strong/scss/editor.scss +0 -0
- package/livingdocs/020.Text/030.paragraph-strong/scss/general.scss +5 -0
- package/livingdocs/020.Text/030.paragraph-strong/scss/pdf.scss +1 -0
- package/livingdocs/020.Text/030.paragraph-strong/scss/web.scss +0 -0
- package/livingdocs/020.Text/030.paragraph-strong/scss/word.scss +0 -0
- package/livingdocs/020.Text/030.paragraph-strong/scss/xbrl.scss +1 -0
- package/livingdocs/020.Text/040.link/ld-conf.json +15 -0
- package/livingdocs/020.Text/040.link/link.html +12 -0
- package/livingdocs/020.Text/040.link/scss/app.scss +1 -0
- package/livingdocs/020.Text/040.link/scss/editor.scss +1 -0
- package/livingdocs/020.Text/040.link/scss/general.scss +6 -0
- package/livingdocs/020.Text/040.link/scss/pdf.scss +0 -0
- package/livingdocs/020.Text/040.link/scss/web.scss +0 -0
- package/livingdocs/020.Text/040.link/scss/word.scss +0 -0
- package/livingdocs/020.Text/040.link/scss/xbrl.scss +1 -0
- package/livingdocs/020.Text/050.quote/ld-conf.json +5 -0
- package/livingdocs/{Text/quote → 020.Text/050.quote}/properties.json +7 -7
- package/livingdocs/020.Text/050.quote/quote.html +15 -0
- package/livingdocs/020.Text/050.quote/scss/app.scss +1 -0
- package/livingdocs/020.Text/050.quote/scss/editor.scss +1 -0
- package/livingdocs/020.Text/050.quote/scss/general.scss +17 -0
- package/livingdocs/020.Text/050.quote/scss/pdf.scss +0 -0
- package/livingdocs/020.Text/050.quote/scss/web.scss +0 -0
- package/livingdocs/020.Text/050.quote/scss/word.scss +0 -0
- package/livingdocs/020.Text/050.quote/scss/xbrl.scss +1 -0
- package/livingdocs/020.Text/060.quote-with-portrait/ld-conf.json +11 -0
- package/livingdocs/020.Text/060.quote-with-portrait/quote-with-portrait.html +18 -0
- package/livingdocs/020.Text/060.quote-with-portrait/scss/app.scss +1 -0
- package/livingdocs/020.Text/060.quote-with-portrait/scss/editor.scss +1 -0
- package/livingdocs/020.Text/060.quote-with-portrait/scss/general.scss +17 -0
- package/livingdocs/020.Text/060.quote-with-portrait/scss/pdf.scss +29 -0
- package/livingdocs/020.Text/060.quote-with-portrait/scss/web.scss +24 -0
- package/livingdocs/020.Text/060.quote-with-portrait/scss/word.scss +0 -0
- package/livingdocs/020.Text/060.quote-with-portrait/scss/xbrl.scss +1 -0
- package/livingdocs/020.Text/070.footnote-container/footnote-container.html +6 -0
- package/livingdocs/020.Text/070.footnote-container/ld-conf.json +18 -0
- package/livingdocs/020.Text/070.footnote-container/scss/app.scss +1 -0
- package/livingdocs/020.Text/070.footnote-container/scss/editor.scss +1 -0
- package/livingdocs/020.Text/070.footnote-container/scss/general.scss +5 -0
- package/livingdocs/020.Text/070.footnote-container/scss/pdf.scss +0 -0
- package/livingdocs/020.Text/070.footnote-container/scss/web.scss +6 -0
- package/livingdocs/020.Text/070.footnote-container/scss/word.scss +0 -0
- package/livingdocs/020.Text/070.footnote-container/scss/xbrl.scss +1 -0
- package/livingdocs/020.Text/080.footnote-item/footnote-item.html +6 -0
- package/livingdocs/020.Text/080.footnote-item/ld-conf.json +5 -0
- package/livingdocs/020.Text/080.footnote-item/scss/app.scss +1 -0
- package/livingdocs/020.Text/080.footnote-item/scss/editor.scss +1 -0
- package/livingdocs/020.Text/080.footnote-item/scss/general.scss +28 -0
- package/livingdocs/020.Text/080.footnote-item/scss/pdf.scss +0 -0
- package/livingdocs/020.Text/080.footnote-item/scss/web.scss +0 -0
- package/livingdocs/020.Text/080.footnote-item/scss/word.scss +0 -0
- package/livingdocs/020.Text/080.footnote-item/scss/xbrl.scss +1 -0
- package/livingdocs/030.Lists/010.unordered-list/ld-conf.json +18 -0
- package/livingdocs/030.Lists/010.unordered-list/scss/app.scss +1 -0
- package/livingdocs/030.Lists/010.unordered-list/scss/editor.scss +1 -0
- package/livingdocs/030.Lists/010.unordered-list/scss/general.scss +12 -0
- package/livingdocs/030.Lists/010.unordered-list/scss/pdf.scss +0 -0
- package/livingdocs/030.Lists/010.unordered-list/scss/web.scss +0 -0
- package/livingdocs/030.Lists/010.unordered-list/scss/word.scss +0 -0
- package/livingdocs/030.Lists/010.unordered-list/scss/xbrl.scss +1 -0
- package/livingdocs/030.Lists/010.unordered-list/unordered-list.html +6 -0
- package/livingdocs/030.Lists/020.ordered-list/ld-conf.json +18 -0
- package/livingdocs/030.Lists/020.ordered-list/ordered-list.html +6 -0
- package/livingdocs/030.Lists/020.ordered-list/scss/app.scss +1 -0
- package/livingdocs/030.Lists/020.ordered-list/scss/editor.scss +1 -0
- package/livingdocs/030.Lists/020.ordered-list/scss/general.scss +9 -0
- package/livingdocs/030.Lists/020.ordered-list/scss/pdf.scss +0 -0
- package/livingdocs/030.Lists/020.ordered-list/scss/web.scss +0 -0
- package/livingdocs/030.Lists/020.ordered-list/scss/word.scss +0 -0
- package/livingdocs/030.Lists/020.ordered-list/scss/xbrl.scss +1 -0
- package/livingdocs/030.Lists/030.alphanumeric-list/alphanumeric-list.html +6 -0
- package/livingdocs/030.Lists/030.alphanumeric-list/ld-conf.json +18 -0
- package/livingdocs/030.Lists/030.alphanumeric-list/scss/app.scss +1 -0
- package/livingdocs/030.Lists/030.alphanumeric-list/scss/editor.scss +1 -0
- package/livingdocs/030.Lists/030.alphanumeric-list/scss/general.scss +9 -0
- package/livingdocs/030.Lists/030.alphanumeric-list/scss/pdf.scss +0 -0
- package/livingdocs/030.Lists/030.alphanumeric-list/scss/web.scss +0 -0
- package/livingdocs/030.Lists/030.alphanumeric-list/scss/word.scss +0 -0
- package/livingdocs/030.Lists/030.alphanumeric-list/scss/xbrl.scss +1 -0
- package/livingdocs/030.Lists/040.list-item/ld-conf.json +5 -0
- package/livingdocs/030.Lists/040.list-item/list-item.html +5 -0
- package/livingdocs/030.Lists/040.list-item/scss/app.scss +1 -0
- package/livingdocs/030.Lists/040.list-item/scss/editor.scss +1 -0
- package/livingdocs/030.Lists/040.list-item/scss/general.scss +35 -0
- package/livingdocs/030.Lists/040.list-item/scss/pdf.scss +0 -0
- package/livingdocs/030.Lists/040.list-item/scss/web.scss +0 -0
- package/livingdocs/030.Lists/040.list-item/scss/word.scss +0 -0
- package/livingdocs/030.Lists/040.list-item/scss/xbrl.scss +1 -0
- package/livingdocs/040.Media/010.table/ld-conf.json +15 -0
- package/livingdocs/040.Media/010.table/properties.json +32 -0
- package/livingdocs/040.Media/010.table/scss/app.scss +1 -0
- package/livingdocs/040.Media/010.table/scss/editor.scss +1 -0
- package/livingdocs/040.Media/010.table/scss/general.scss +328 -0
- package/livingdocs/040.Media/010.table/scss/pdf.scss +34 -0
- package/livingdocs/040.Media/010.table/scss/web.scss +14 -0
- package/livingdocs/040.Media/010.table/scss/word.scss +0 -0
- package/livingdocs/040.Media/010.table/scss/xbrl.scss +1 -0
- package/livingdocs/040.Media/010.table/table.html +9 -0
- package/livingdocs/040.Media/020.image/image.html +40 -0
- package/livingdocs/040.Media/020.image/ld-conf.json +25 -0
- package/livingdocs/040.Media/020.image/scss/app.scss +1 -0
- package/livingdocs/040.Media/020.image/scss/editor.scss +1 -0
- package/livingdocs/040.Media/020.image/scss/general.scss +17 -0
- package/livingdocs/040.Media/020.image/scss/pdf.scss +26 -0
- package/livingdocs/040.Media/020.image/scss/web.scss +1 -0
- package/livingdocs/040.Media/020.image/scss/word.scss +0 -0
- package/livingdocs/040.Media/020.image/scss/xbrl.scss +5 -0
- package/livingdocs/040.Media/030.video/ld-conf.json +19 -0
- package/livingdocs/040.Media/030.video/scss/app.scss +1 -0
- package/livingdocs/040.Media/030.video/scss/editor.scss +1 -0
- package/livingdocs/040.Media/030.video/scss/general.scss +5 -0
- package/livingdocs/040.Media/030.video/scss/pdf.scss +0 -0
- package/livingdocs/040.Media/030.video/scss/web.scss +12 -0
- package/livingdocs/040.Media/030.video/scss/word.scss +0 -0
- package/livingdocs/040.Media/030.video/scss/xbrl.scss +5 -0
- package/livingdocs/040.Media/030.video/video.html +59 -0
- package/livingdocs/040.Media/040.interactive-element/interactive-element.html +27 -0
- package/livingdocs/040.Media/040.interactive-element/ld-conf.json +6 -0
- package/livingdocs/050.Hero-and-Slider/.gitkeep +0 -0
- package/livingdocs/060.Buttons/.gitkeep +0 -0
- package/livingdocs/070.Container/010.aside-content-container/aside-content-container.html +10 -0
- package/livingdocs/070.Container/010.aside-content-container/ld-conf.json +20 -0
- package/livingdocs/070.Container/010.aside-content-container/properties.json +7 -0
- package/livingdocs/070.Container/010.aside-content-container/scss/app.scss +1 -0
- package/livingdocs/070.Container/010.aside-content-container/scss/editor.scss +1 -0
- package/livingdocs/070.Container/010.aside-content-container/scss/general.scss +1 -0
- package/livingdocs/070.Container/010.aside-content-container/scss/pdf.scss +3 -0
- package/livingdocs/070.Container/010.aside-content-container/scss/web.scss +1 -0
- package/livingdocs/070.Container/010.aside-content-container/scss/word.scss +0 -0
- package/livingdocs/070.Container/010.aside-content-container/scss/xbrl.scss +1 -0
- package/livingdocs/070.Container/020.columns-container/columns-container.html +22 -0
- package/livingdocs/070.Container/020.columns-container/ld-conf.json +17 -0
- package/livingdocs/080.CV/010.cv/cv.html +40 -0
- package/livingdocs/080.CV/010.cv/ld-conf.json +11 -0
- package/livingdocs/080.CV/020.cv-time-span/cv-time-span.html +13 -0
- package/livingdocs/080.CV/020.cv-time-span/ld-conf.json +4 -0
- package/livingdocs/090.Signatures/010.signature-container/ld-conf.json +18 -0
- package/livingdocs/090.Signatures/010.signature-container/scss/app.scss +1 -0
- package/livingdocs/090.Signatures/010.signature-container/scss/editor.scss +1 -0
- package/livingdocs/090.Signatures/010.signature-container/scss/general.scss +5 -0
- package/livingdocs/090.Signatures/010.signature-container/scss/pdf.scss +0 -0
- package/livingdocs/090.Signatures/010.signature-container/scss/web.scss +6 -0
- package/livingdocs/090.Signatures/010.signature-container/scss/word.scss +0 -0
- package/livingdocs/090.Signatures/010.signature-container/scss/xbrl.scss +1 -0
- package/livingdocs/090.Signatures/010.signature-container/signature-container.html +6 -0
- package/livingdocs/090.Signatures/020.signature-item/ld-conf.json +11 -0
- package/livingdocs/090.Signatures/020.signature-item/scss/app.scss +1 -0
- package/livingdocs/090.Signatures/020.signature-item/scss/editor.scss +1 -0
- package/livingdocs/090.Signatures/020.signature-item/scss/general.scss +9 -0
- package/livingdocs/090.Signatures/020.signature-item/scss/pdf.scss +0 -0
- package/livingdocs/090.Signatures/020.signature-item/scss/web.scss +5 -0
- package/livingdocs/090.Signatures/020.signature-item/scss/word.scss +0 -0
- package/livingdocs/090.Signatures/020.signature-item/scss/xbrl.scss +1 -0
- package/livingdocs/090.Signatures/020.signature-item/signature-item.html +9 -0
- package/livingdocs/100.Misc/010.anchor/anchor.html +8 -0
- package/livingdocs/100.Misc/010.anchor/ld-conf.json +4 -0
- package/livingdocs/100.Misc/020.accordion/accordion.html +8 -0
- package/livingdocs/100.Misc/020.accordion/ld-conf.json +26 -0
- package/livingdocs/110.PDF/010.pdf-pagebreak/ld-conf.json +4 -0
- package/livingdocs/110.PDF/010.pdf-pagebreak/pdf-pagebreak.html +1 -0
- package/livingdocs/110.PDF/020.pdf-column-container/ld-conf.json +4 -0
- package/livingdocs/110.PDF/020.pdf-column-container/pdf-column-container.html +5 -0
- package/livingdocs/110.PDF/030.pdf-publication-title/ld-conf.json +4 -0
- package/livingdocs/110.PDF/030.pdf-publication-title/pdf-publication-title.html +7 -0
- package/livingdocs/110.PDF/040.pdf-chapter-title/ld-conf.json +4 -0
- package/livingdocs/110.PDF/040.pdf-chapter-title/pdf-chapter-title.html +7 -0
- package/livingdocs/110.PDF/050.pdf-chapter-navigation-container/ld-conf.json +17 -0
- package/livingdocs/110.PDF/050.pdf-chapter-navigation-container/pdf-chapter-navigation.html +10 -0
- package/livingdocs/110.PDF/060.pdf-chapter-navigation-item/ld-conf.json +6 -0
- package/livingdocs/110.PDF/060.pdf-chapter-navigation-item/pdf-chapter-navigation-item.html +7 -0
- package/livingdocs/110.PDF/060.pdf-chapter-navigation-item/properties.json +7 -0
- package/livingdocs/110.PDF/070.pdf-cover/ld-conf.json +25 -0
- package/livingdocs/110.PDF/070.pdf-cover/pdf-cover.html +26 -0
- package/livingdocs/110.PDF/080.pdf-toc-page/ld-conf.json +15 -0
- package/livingdocs/110.PDF/080.pdf-toc-page/pdf-toc-page.html +8 -0
- package/livingdocs/{PDF_only/pdf-toc-page → 110.PDF/080.pdf-toc-page}/properties.json +20 -12
- package/livingdocs/110.PDF/090.pdf-toc-item-title/ld-conf.json +5 -0
- package/livingdocs/110.PDF/090.pdf-toc-item-title/pdf-toc-item-title.html +3 -0
- package/livingdocs/110.PDF/100.pdf-toc-item/ld-conf.json +14 -0
- package/livingdocs/110.PDF/100.pdf-toc-item/pdf-toc-item.html +6 -0
- package/livingdocs/{PDF_only/pdf-toc-item → 110.PDF/100.pdf-toc-item}/properties.json +7 -7
- package/livingdocs/110.PDF/110.pdf-toc-item-blank/ld-conf.json +5 -0
- package/livingdocs/110.PDF/110.pdf-toc-item-blank/pdf-toc-item-blank.html +4 -0
- package/livingdocs/120.Startpage/.gitkeep +0 -0
- package/livingdocs/999.Properties/alignment/properties.json +36 -0
- package/livingdocs/{Text/quote-with-portrait → 999.Properties/hide-quote-characters}/properties.json +7 -12
- package/livingdocs/999.Properties/pdf-spacer/properties.json +43 -0
- package/livingdocs/999.Properties/width/properties.json +32 -0
- package/package.json +48 -50
- package/scripts/beaver.js +317 -316
- package/scripts/build.d.ts +4 -7
- package/scripts/build.js +837 -812
- package/scripts/components.js +564 -566
- package/scripts/config.d.ts +8 -0
- package/scripts/config.js +52 -1
- package/scripts/doPublish.js +55 -43
- package/scripts/folders.d.ts +43 -0
- package/scripts/folders.js +46 -0
- package/scripts/init.js +65 -45
- package/scripts/ldd/LivingdocsDesignValidator.d.ts +61 -0
- package/scripts/ldd/LivingdocsDesignValidator.js +296 -0
- package/scripts/ldd/__tests__/LivingdocsDesignValidation.test.mjs +273 -0
- package/scripts/ldd/mapLdd.d.ts +1 -0
- package/scripts/ldd/mapLdd.js +204 -0
- package/scripts/prepare.d.ts +2 -0
- package/scripts/prepare.js +66 -0
- package/scripts/preparePublish.d.ts +1 -1
- package/scripts/preparePublish.js +121 -88
- package/scripts/renamePackage.js +48 -48
- package/scripts/utils.d.ts +45 -30
- package/scripts/utils.js +163 -106
- package/srl/components/Srl/Aria/TabChain.vue +100 -0
- package/srl/components/Srl/Article/Autoload.vue +41 -0
- package/srl/components/Srl/Article/DialogButton.vue +55 -0
- package/srl/components/Srl/Article/Root.vue +76 -0
- package/srl/components/Srl/Menu/Item/Content/Image.vue +12 -0
- package/srl/components/Srl/Menu/Item/Content/ImageAfter.vue +13 -0
- package/srl/components/Srl/Menu/Item/Content/ImageBefore.vue +13 -0
- package/srl/components/Srl/Menu/Item/Content/Text.vue +9 -0
- package/srl/components/Srl/Menu/Item/Content.vue +23 -0
- package/srl/components/Srl/Menu/Item.vue +208 -0
- package/srl/components/Srl/Menu/List.vue +184 -0
- package/srl/components/Srl/Page/App.vue +65 -0
- package/srl/components/Srl/Page/Dialog.vue +71 -0
- package/srl/composables/article.ts +24 -0
- package/srl/composables/articles.ts +41 -0
- package/srl/composables/config.ts +165 -0
- package/srl/composables/downloads.ts +46 -0
- package/srl/composables/index.ts +34 -0
- package/srl/composables/locale.ts +8 -0
- package/srl/composables/menu.ts +101 -0
- package/srl/composables/root.ts +5 -0
- package/srl/composables/search.ts +108 -0
- package/srl/composables/settings.ts +9 -0
- package/srl/composables/viewPort.ts +78 -0
- package/srl/imports/app.scss +0 -0
- package/srl/imports/ldd.scss +0 -0
- package/srl/imports/pdf.scss +0 -0
- package/srl/imports/word.scss +0 -0
- package/srl/imports/xbrl.scss +0 -0
- package/srl/plugins/asyncLdComponent.ts +2 -0
- package/srl/plugins/initProject.ts +19 -0
- package/srl/plugins/viteSrlPlugin.ts +214 -0
- package/srl/plugins/vueSrlPlugin.ts +23 -0
- package/{scss → srl/scss}/colors/functions.scss +18 -18
- package/{scss/helpers → srl/scss/colors}/index.scss +3 -3
- package/{scss → srl/scss}/colors/mixins.scss +45 -45
- package/{scss → srl/scss}/colors/variables.scss +6 -6
- package/srl/scss/config.scss +7 -0
- package/{scss → srl/scss}/core-styles.scss +23 -22
- package/{scss → srl/scss}/fonts/functions.scss +21 -21
- package/{scss/colors → srl/scss/fonts}/index.scss +3 -3
- package/{scss → srl/scss}/fonts/mixins.scss +31 -31
- package/{scss → srl/scss}/fonts/variables.scss +8 -8
- package/{scss → srl/scss}/grid/functions.scss +49 -29
- package/{scss/fonts → srl/scss/grid}/index.scss +3 -3
- package/{scss → srl/scss}/grid/mixins.scss +246 -388
- package/{scss → srl/scss}/grid/variables.scss +11 -10
- package/srl/scss/helpers/functions.scss +0 -0
- package/{scss/grid → srl/scss/helpers}/index.scss +3 -3
- package/{scss → srl/scss}/helpers/mixins.scss +54 -87
- package/{scss → srl/scss}/helpers/variables.scss +7 -7
- package/{scss → srl/scss}/index.scss +8 -8
- package/{scss → srl/scss}/meta/functions.scss +64 -64
- package/srl/scss/meta/index.scss +3 -0
- package/{scss → srl/scss}/meta/mixins.scss +6 -6
- package/{scss → srl/scss}/meta/variables.scss +8 -8
- package/{scss → srl/scss}/spacer/functions.scss +9 -9
- package/srl/scss/spacer/index.scss +3 -0
- package/{scss → srl/scss}/spacer/mixins.scss +236 -236
- package/{scss → srl/scss}/spacer/variables.scss +6 -6
- package/{scss → srl/scss}/system/functions.scss +77 -77
- package/srl/scss/system/index.scss +3 -0
- package/{scss → srl/scss}/system/mixins.scss +27 -27
- package/{scss → srl/scss}/system/root.scss +39 -39
- package/{scss → srl/scss}/system/variables.scss +13 -13
- package/{scss → srl/scss}/typography/functions.scss +63 -63
- package/srl/scss/typography/index.scss +3 -0
- package/{scss → srl/scss}/typography/mixins.scss +302 -262
- package/{scss → srl/scss}/typography/variables.scss +11 -11
- package/srl/scss/xbrl-core-styles.scss +47 -0
- package/{dev/nswow → srl/srl}/ArticleAutoloader.ts +100 -100
- package/{dev/nswow → srl/srl}/ArticleLoader.ts +98 -91
- package/srl/srl/Awesomizr.js +682 -0
- package/srl/srl/colors.scss +3 -0
- package/srl/srl/config.scss +7 -0
- package/srl/srl/core-styles.scss +2 -0
- package/srl/srl/fonts.scss +2 -0
- package/srl/srl/grid.scss +2 -0
- package/srl/srl/helpers.scss +2 -0
- package/{dev/nswow → srl/srl}/index.scss +9 -9
- package/srl/srl/meta.scss +2 -0
- package/srl/srl/pdf.scss +2 -0
- package/srl/srl/spacer.scss +2 -0
- package/srl/srl/system.scss +2 -0
- package/srl/srl/typography.scss +3 -0
- package/srl/types/components.d.ts +17 -0
- package/srl/types/nswow.d.ts +121 -0
- package/srl/utils/camelCase.ts +11 -0
- package/srl/utils/html.ts +82 -0
- package/srl/utils/index.ts +5 -0
- package/srl/utils/uri.ts +52 -0
- package/dev/ldd.html +0 -7
- package/dev/livingdocs/Media/image/app.scss +0 -25
- package/dev/livingdocs/Media/image/general.scss +0 -11
- package/dev/livingdocs/Media/image/image.html +0 -46
- package/dev/livingdocs/Media/image/ldd.scss +0 -1
- package/dev/livingdocs/Media/image/pdf.scss +0 -1
- package/dev/livingdocs/Media/image/print.scss +0 -7
- package/dev/livingdocs/Media/image/properties.json +0 -41
- package/dev/livingdocs/Media/image/word.scss +0 -1
- package/dev/livingdocs/Properties/grid/app.scss +0 -1
- package/dev/livingdocs/Properties/grid/general.scss +0 -95
- package/dev/livingdocs/Properties/grid/ldd.scss +0 -1
- package/dev/livingdocs/Properties/grid/pdf.scss +0 -1
- package/dev/livingdocs/Properties/grid/print.scss +0 -94
- package/dev/livingdocs/Properties/grid/properties.json +0 -68
- package/dev/livingdocs/Properties/grid/web.scss +0 -98
- package/dev/livingdocs/Properties/grid/word.scss +0 -1
- package/dev/livingdocs/Text/paragraph/general.scss +0 -9
- package/dev/livingdocs/Text/paragraph/paragraph.html +0 -22
- package/dev/livingdocs/Titles/title-h1/general.scss +0 -10
- package/dev/livingdocs/Titles/title-h1/title-h1.html +0 -16
- package/dev/livingdocs/Titles/title-h2/app.scss +0 -1
- package/dev/livingdocs/Titles/title-h2/general.scss +0 -13
- package/dev/livingdocs/Titles/title-h2/ldd.scss +0 -1
- package/dev/livingdocs/Titles/title-h2/pdf.scss +0 -1
- package/dev/livingdocs/Titles/title-h2/print.scss +0 -36
- package/dev/livingdocs/Titles/title-h2/title-h2.html +0 -24
- package/dev/livingdocs/Titles/title-h2/web.scss +0 -27
- package/dev/livingdocs/Titles/title-h2/word.scss +0 -1
- package/dev/livingdocs/Titles/title-h3/app.scss +0 -1
- package/dev/livingdocs/Titles/title-h3/general.scss +0 -13
- package/dev/livingdocs/Titles/title-h3/ldd.scss +0 -1
- package/dev/livingdocs/Titles/title-h3/pdf.scss +0 -1
- package/dev/livingdocs/Titles/title-h3/print.scss +0 -34
- package/dev/livingdocs/Titles/title-h3/title-h3.html +0 -24
- package/dev/livingdocs/Titles/title-h3/web.scss +0 -27
- package/dev/livingdocs/Titles/title-h3/word.scss +0 -1
- package/dev/livingdocs/Titles/title-h4/app.scss +0 -1
- package/dev/livingdocs/Titles/title-h4/general.scss +0 -13
- package/dev/livingdocs/Titles/title-h4/ldd.scss +0 -1
- package/dev/livingdocs/Titles/title-h4/pdf.scss +0 -1
- package/dev/livingdocs/Titles/title-h4/print.scss +0 -34
- package/dev/livingdocs/Titles/title-h4/title-h4.html +0 -24
- package/dev/livingdocs/Titles/title-h4/web.scss +0 -27
- package/dev/livingdocs/Titles/title-h4/word.scss +0 -1
- package/dev/livingdocs/Titles/title-h5/general.scss +0 -10
- package/dev/livingdocs/Titles/title-h5/title-h5.html +0 -16
- package/dev/livingdocs/Titles/title-h6/general.scss +0 -10
- package/dev/livingdocs/Titles/title-h6/title-h6.html +0 -16
- package/dev/nswow/colors.scss +0 -3
- package/dev/nswow/config.scss +0 -13
- package/dev/nswow/core-styles.scss +0 -2
- package/dev/nswow/fonts.scss +0 -2
- package/dev/nswow/grid.scss +0 -2
- package/dev/nswow/helpers.scss +0 -2
- package/dev/nswow/meta.scss +0 -2
- package/dev/nswow/spacer.scss +0 -2
- package/dev/nswow/system.scss +0 -2
- package/dev/nswow/typography.scss +0 -3
- package/dev/nswow.config.json +0 -293
- package/dev/pdf.ts +0 -1
- package/dev/src/components/LanguageSwitch.vue +0 -100
- package/dev/src/components/MenuItem/MenuArticle.vue +0 -15
- package/dev/src/components/MenuItem/MenuEntry.vue +0 -26
- package/dev/src/components/MenuItem/MenuExternal.vue +0 -28
- package/dev/src/components/MenuItem/index.ts +0 -5
- package/dev/src/components/PageModal.vue +0 -95
- package/dev/src/components/ScrollToTop.vue +0 -63
- package/dev/src/composables/config.ts +0 -48
- package/dev/src/main.ts +0 -16
- package/dev/src/types/nswow.d.ts +0 -73
- package/dev/src/views/DownloadsView.vue +0 -88
- package/dev/src/views/SearchView.vue +0 -126
- package/dev/word.ts +0 -1
- package/livingdocs/Buttons/button/app.scss +0 -1
- package/livingdocs/Buttons/button/button.html +0 -18
- package/livingdocs/Buttons/button/general.scss +0 -33
- package/livingdocs/Buttons/button/ldd.scss +0 -1
- package/livingdocs/Buttons/button/pdf.scss +0 -1
- package/livingdocs/Buttons/button/word.scss +0 -1
- package/livingdocs/Buttons/button-container/app.scss +0 -1
- package/livingdocs/Buttons/button-container/button-container.html +0 -31
- package/livingdocs/Buttons/button-container/general.scss +0 -12
- package/livingdocs/Buttons/button-container/ldd.scss +0 -1
- package/livingdocs/Buttons/button-container/pdf.scss +0 -3
- package/livingdocs/Buttons/button-container/properties.json +0 -19
- package/livingdocs/Buttons/button-container/word.scss +0 -3
- package/livingdocs/CV/cv-timeline/app.scss +0 -1
- package/livingdocs/CV/cv-timeline/cv-timeline.html +0 -19
- package/livingdocs/CV/cv-timeline/general.scss +0 -1
- package/livingdocs/CV/cv-timeline/ldd.scss +0 -1
- package/livingdocs/CV/cv-timeline/pdf.scss +0 -1
- package/livingdocs/CV/cv-timeline/print.scss +0 -35
- package/livingdocs/CV/cv-timeline/web.scss +0 -27
- package/livingdocs/CV/cv-timeline/word.scss +0 -1
- package/livingdocs/Container/column-container/column-container.html +0 -44
- package/livingdocs/Container/column-container/general.scss +0 -105
- package/livingdocs/Container/column-container/properties.json +0 -83
- package/livingdocs/Lists/alphanumeric-list-group/alphanumeric-list-group.html +0 -25
- package/livingdocs/Lists/alphanumeric-list-group/app.scss +0 -1
- package/livingdocs/Lists/alphanumeric-list-group/general.scss +0 -5
- package/livingdocs/Lists/alphanumeric-list-group/ldd.scss +0 -1
- package/livingdocs/Lists/alphanumeric-list-group/pdf.scss +0 -1
- package/livingdocs/Lists/alphanumeric-list-group/word.scss +0 -1
- package/livingdocs/Lists/list-item/app.scss +0 -1
- package/livingdocs/Lists/list-item/general.scss +0 -4
- package/livingdocs/Lists/list-item/ldd.scss +0 -1
- package/livingdocs/Lists/list-item/list-item.html +0 -17
- package/livingdocs/Lists/list-item/pdf.scss +0 -1
- package/livingdocs/Lists/list-item/word.scss +0 -1
- package/livingdocs/Lists/ordered-list-group/app.scss +0 -1
- package/livingdocs/Lists/ordered-list-group/general.scss +0 -5
- package/livingdocs/Lists/ordered-list-group/ldd.scss +0 -1
- package/livingdocs/Lists/ordered-list-group/ordered-list-group.html +0 -25
- package/livingdocs/Lists/ordered-list-group/pdf.scss +0 -1
- package/livingdocs/Lists/ordered-list-group/word.scss +0 -1
- package/livingdocs/Lists/unordered-list-group/app.scss +0 -1
- package/livingdocs/Lists/unordered-list-group/general.scss +0 -5
- package/livingdocs/Lists/unordered-list-group/ldd.scss +0 -1
- package/livingdocs/Lists/unordered-list-group/pdf.scss +0 -1
- package/livingdocs/Lists/unordered-list-group/unordered-list-group.html +0 -25
- package/livingdocs/Lists/unordered-list-group/word.scss +0 -1
- package/livingdocs/Media/chart/app.scss +0 -19
- package/livingdocs/Media/chart/chart.html +0 -29
- package/livingdocs/Media/chart/general.scss +0 -11
- package/livingdocs/Media/chart/ldd.scss +0 -1
- package/livingdocs/Media/chart/pdf.scss +0 -9
- package/livingdocs/Media/chart/properties.json +0 -41
- package/livingdocs/Media/chart/word.scss +0 -1
- package/livingdocs/Media/graphic/app.scss +0 -1
- package/livingdocs/Media/graphic/general.scss +0 -18
- package/livingdocs/Media/graphic/graphic.html +0 -29
- package/livingdocs/Media/graphic/ldd.scss +0 -1
- package/livingdocs/Media/graphic/pdf.scss +0 -1
- package/livingdocs/Media/graphic/properties.json +0 -36
- package/livingdocs/Media/graphic/word.scss +0 -1
- package/livingdocs/Media/image/app.scss +0 -25
- package/livingdocs/Media/image/general.scss +0 -11
- package/livingdocs/Media/image/image.html +0 -55
- package/livingdocs/Media/image/ldd.scss +0 -1
- package/livingdocs/Media/image/pdf.scss +0 -1
- package/livingdocs/Media/image/print.scss +0 -7
- package/livingdocs/Media/image/properties.json +0 -41
- package/livingdocs/Media/image/word.scss +0 -1
- package/livingdocs/Media/nswow-table/app.scss +0 -2
- package/livingdocs/Media/nswow-table/app.ts +0 -35
- package/livingdocs/Media/nswow-table/general.scss +0 -281
- package/livingdocs/Media/nswow-table/ldd.scss +0 -2
- package/livingdocs/Media/nswow-table/nswow-table.html +0 -30
- package/livingdocs/Media/nswow-table/pdf.scss +0 -8
- package/livingdocs/Media/nswow-table/properties.json +0 -66
- package/livingdocs/Media/nswow-table/web.scss +0 -23
- package/livingdocs/Media/nswow-table/word.scss +0 -2
- package/livingdocs/Media/video/app.scss +0 -1
- package/livingdocs/Media/video/general.scss +0 -7
- package/livingdocs/Media/video/ldd.scss +0 -1
- package/livingdocs/Media/video/pdf.scss +0 -1
- package/livingdocs/Media/video/print.scss +0 -5
- package/livingdocs/Media/video/properties.json +0 -41
- package/livingdocs/Media/video/video.html +0 -26
- package/livingdocs/Media/video/word.scss +0 -1
- package/livingdocs/Misc/accordion/accordion.html +0 -56
- package/livingdocs/Misc/accordion/app.scss +0 -63
- package/livingdocs/Misc/accordion/app.ts +0 -10
- package/livingdocs/Misc/accordion/general.scss +0 -44
- package/livingdocs/Misc/accordion/ldd.scss +0 -36
- package/livingdocs/Misc/accordion/pdf.scss +0 -39
- package/livingdocs/Misc/accordion/word.scss +0 -39
- package/livingdocs/Misc/anchor/anchor.html +0 -15
- package/livingdocs/Misc/anchor/app.scss +0 -10
- package/livingdocs/Misc/anchor/app.ts +0 -11
- package/livingdocs/Misc/anchor/general.scss +0 -1
- package/livingdocs/Misc/anchor/pdf.scss +0 -1
- package/livingdocs/Misc/anchor/print.scss +0 -3
- package/livingdocs/Misc/anchor/word.scss +0 -1
- package/livingdocs/Misc/spacer/app.scss +0 -1
- package/livingdocs/Misc/spacer/general.scss +0 -8
- package/livingdocs/Misc/spacer/ldd.scss +0 -1
- package/livingdocs/Misc/spacer/pdf.scss +0 -1
- package/livingdocs/Misc/spacer/print.scss +0 -18
- package/livingdocs/Misc/spacer/properties.json +0 -52
- package/livingdocs/Misc/spacer/spacer.html +0 -12
- package/livingdocs/Misc/spacer/web.scss +0 -18
- package/livingdocs/Misc/spacer/word.scss +0 -1
- package/livingdocs/PDF_only/pdf-cover/ldd.scss +0 -42
- package/livingdocs/PDF_only/pdf-cover/pdf-cover.html +0 -29
- package/livingdocs/PDF_only/pdf-cover/pdf.scss +0 -1
- package/livingdocs/PDF_only/pdf-cover/word.scss +0 -1
- package/livingdocs/PDF_only/pdf-cover-chapter/ldd.scss +0 -19
- package/livingdocs/PDF_only/pdf-cover-chapter/pdf-chapter-cover.html +0 -18
- package/livingdocs/PDF_only/pdf-cover-chapter/pdf.scss +0 -1
- package/livingdocs/PDF_only/pdf-cover-chapter/print.scss +0 -19
- package/livingdocs/PDF_only/pdf-cover-chapter/word.scss +0 -1
- package/livingdocs/PDF_only/pdf-pagebreak/general.scss +0 -4
- package/livingdocs/PDF_only/pdf-pagebreak/ldd.scss +0 -5
- package/livingdocs/PDF_only/pdf-pagebreak/pdf-pagebreak.html +0 -8
- package/livingdocs/PDF_only/pdf-publication-title/general.scss +0 -5
- package/livingdocs/PDF_only/pdf-publication-title/pdf-publication-title.html +0 -15
- package/livingdocs/PDF_only/pdf-toc-item/general.scss +0 -41
- package/livingdocs/PDF_only/pdf-toc-item/pdf-toc-item.html +0 -33
- package/livingdocs/PDF_only/pdf-toc-item-blank/general.scss +0 -5
- package/livingdocs/PDF_only/pdf-toc-item-blank/pdf-toc-item-blank.html +0 -11
- package/livingdocs/PDF_only/pdf-toc-item-title/general.scss +0 -5
- package/livingdocs/PDF_only/pdf-toc-item-title/pdf-toc-item-title.html +0 -11
- package/livingdocs/PDF_only/pdf-toc-page/app.scss +0 -1
- package/livingdocs/PDF_only/pdf-toc-page/general.scss +0 -1
- package/livingdocs/PDF_only/pdf-toc-page/ldd.scss +0 -1
- package/livingdocs/PDF_only/pdf-toc-page/pdf-toc-page.html +0 -33
- package/livingdocs/PDF_only/pdf-toc-page/pdf.scss +0 -1
- package/livingdocs/PDF_only/pdf-toc-page/word.scss +0 -1
- package/livingdocs/PDF_only/pdf-video-link/ldd.scss +0 -16
- package/livingdocs/PDF_only/pdf-video-link/pdf-video-link.html +0 -41
- package/livingdocs/PDF_only/pdf-video-link/pdf.scss +0 -1
- package/livingdocs/PDF_only/pdf-video-link/print.scss +0 -12
- package/livingdocs/PDF_only/pdf-video-link/word.scss +0 -1
- package/livingdocs/Properties/grid/app.scss +0 -1
- package/livingdocs/Properties/grid/general.scss +0 -95
- package/livingdocs/Properties/grid/ldd.scss +0 -1
- package/livingdocs/Properties/grid/pdf.scss +0 -1
- package/livingdocs/Properties/grid/print.scss +0 -94
- package/livingdocs/Properties/grid/properties.json +0 -68
- package/livingdocs/Properties/grid/web.scss +0 -98
- package/livingdocs/Properties/grid/word.scss +0 -1
- package/livingdocs/Signatures/signature-container/app.scss +0 -1
- package/livingdocs/Signatures/signature-container/general.scss +0 -7
- package/livingdocs/Signatures/signature-container/ldd.scss +0 -1
- package/livingdocs/Signatures/signature-container/pdf.scss +0 -1
- package/livingdocs/Signatures/signature-container/signature-container.html +0 -30
- package/livingdocs/Signatures/signature-container/word.scss +0 -1
- package/livingdocs/Signatures/signature-item/app.scss +0 -1
- package/livingdocs/Signatures/signature-item/general.scss +0 -53
- package/livingdocs/Signatures/signature-item/ldd.scss +0 -1
- package/livingdocs/Signatures/signature-item/pdf.scss +0 -1
- package/livingdocs/Signatures/signature-item/signature-item.html +0 -23
- package/livingdocs/Signatures/signature-item/word.scss +0 -1
- package/livingdocs/Text/footnote/app.scss +0 -1
- package/livingdocs/Text/footnote/footnote.html +0 -14
- package/livingdocs/Text/footnote/general.scss +0 -12
- package/livingdocs/Text/footnote/ldd.scss +0 -1
- package/livingdocs/Text/footnote/pdf.scss +0 -1
- package/livingdocs/Text/footnote/print.scss +0 -36
- package/livingdocs/Text/footnote/web.scss +0 -27
- package/livingdocs/Text/footnote/word.scss +0 -1
- package/livingdocs/Text/lead/general.scss +0 -9
- package/livingdocs/Text/lead/lead.html +0 -23
- package/livingdocs/Text/paragraph/general.scss +0 -9
- package/livingdocs/Text/quote/general.scss +0 -43
- package/livingdocs/Text/quote/quote.html +0 -29
- package/livingdocs/Text/quote-with-portrait/general.scss +0 -81
- package/livingdocs/Text/quote-with-portrait/quote-with-portrait.html +0 -49
- package/livingdocs/Titles/title-h1/general.scss +0 -10
- package/livingdocs/Titles/title-h1/title-h1.html +0 -16
- package/livingdocs/Titles/title-h2/app.scss +0 -1
- package/livingdocs/Titles/title-h2/general.scss +0 -13
- package/livingdocs/Titles/title-h2/ldd.scss +0 -1
- package/livingdocs/Titles/title-h2/pdf.scss +0 -1
- package/livingdocs/Titles/title-h2/print.scss +0 -36
- package/livingdocs/Titles/title-h2/title-h2.html +0 -26
- package/livingdocs/Titles/title-h2/web.scss +0 -27
- package/livingdocs/Titles/title-h2/word.scss +0 -1
- package/livingdocs/Titles/title-h3/app.scss +0 -1
- package/livingdocs/Titles/title-h3/general.scss +0 -13
- package/livingdocs/Titles/title-h3/ldd.scss +0 -1
- package/livingdocs/Titles/title-h3/pdf.scss +0 -1
- package/livingdocs/Titles/title-h3/print.scss +0 -34
- package/livingdocs/Titles/title-h3/title-h3.html +0 -26
- package/livingdocs/Titles/title-h3/web.scss +0 -27
- package/livingdocs/Titles/title-h3/word.scss +0 -1
- package/livingdocs/Titles/title-h4/app.scss +0 -1
- package/livingdocs/Titles/title-h4/general.scss +0 -13
- package/livingdocs/Titles/title-h4/ldd.scss +0 -1
- package/livingdocs/Titles/title-h4/pdf.scss +0 -1
- package/livingdocs/Titles/title-h4/print.scss +0 -34
- package/livingdocs/Titles/title-h4/title-h4.html +0 -26
- package/livingdocs/Titles/title-h4/web.scss +0 -27
- package/livingdocs/Titles/title-h4/word.scss +0 -1
- package/livingdocs/Titles/title-h5/general.scss +0 -10
- package/livingdocs/Titles/title-h5/title-h5.html +0 -16
- package/livingdocs/Titles/title-h6/general.scss +0 -10
- package/livingdocs/Titles/title-h6/title-h6.html +0 -16
- package/preparePublish.cjs +0 -95
- package/scripts/migrate-livingdocs-build/LICENSE +0 -21
- package/scripts/migrate-livingdocs-build/bin/build.d.ts +0 -8
- package/scripts/migrate-livingdocs-build/bin/build.js +0 -53
- package/scripts/migrate-livingdocs-build/bin/migrate.d.ts +0 -2
- package/scripts/migrate-livingdocs-build/bin/migrate.js +0 -43
- package/scripts/migrate-livingdocs-build/dev/build/v1.d.ts +0 -9
- package/scripts/migrate-livingdocs-build/dev/build/v1.d.ts.map +0 -1
- package/scripts/migrate-livingdocs-build/dev/build/v1.js +0 -51
- package/scripts/migrate-livingdocs-build/dev/build/v2.d.ts +0 -2
- package/scripts/migrate-livingdocs-build/dev/build/v2.d.ts.map +0 -1
- package/scripts/migrate-livingdocs-build/dev/build/v2.js +0 -44
- package/scripts/migrate-livingdocs-build/dev/build/zip-archive.d.ts +0 -2
- package/scripts/migrate-livingdocs-build/dev/build/zip-archive.d.ts.map +0 -1
- package/scripts/migrate-livingdocs-build/dev/build/zip-archive.js +0 -39
- package/scripts/migrate-livingdocs-build/dev/build.d.ts +0 -9
- package/scripts/migrate-livingdocs-build/dev/build.js +0 -7
- package/scripts/migrate-livingdocs-build/dev/configuration-defaults.d.ts +0 -20
- package/scripts/migrate-livingdocs-build/dev/configuration-defaults.js +0 -18
- package/scripts/migrate-livingdocs-build/dev/configuration.d.ts +0 -2
- package/scripts/migrate-livingdocs-build/dev/configuration.js +0 -34
- package/scripts/migrate-livingdocs-build/dev/lib.d.ts +0 -33
- package/scripts/migrate-livingdocs-build/dev/lib.js +0 -251
- package/scripts/migrate-livingdocs-build/dev/livingdocs-design.d.ts +0 -9
- package/scripts/migrate-livingdocs-build/dev/livingdocs-design.js +0 -80
- package/scripts/migrate-livingdocs-build/dev/logger.d.ts +0 -2
- package/scripts/migrate-livingdocs-build/dev/logger.js +0 -16
- package/scripts/migrate-livingdocs-build/dev/migrate.d.ts +0 -22
- package/scripts/migrate-livingdocs-build/dev/migrate.js +0 -241
- package/scripts/migrate-livingdocs-build/readme.md +0 -62
- package/scripts/vite.d.ts +0 -10
- package/scripts/vite.js +0 -58
- package/scss/config.scss +0 -7
- package/scss/meta/index.scss +0 -3
- package/scss/spacer/index.scss +0 -3
- package/scss/system/index.scss +0 -3
- package/scss/typography/index.scss +0 -3
- package/tags.txt +0 -1
- /package/dev/livingdocs/{Media/image/web.scss → .gitkeep} +0 -0
- /package/{dev/public/.keep → livingdocs/010.Titles/010.title-h1/scss/pdf.scss} +0 -0
- /package/livingdocs/{Lists/alphanumeric-list-group → 010.Titles/010.title-h1/scss}/web.scss +0 -0
- /package/livingdocs/{Lists/alphanumeric-list-group/print.scss → 010.Titles/010.title-h1/scss/word.scss} +0 -0
- /package/livingdocs/{Lists/list-item/print.scss → 010.Titles/020.title-h2/scss/pdf.scss} +0 -0
- /package/livingdocs/{Lists/list-item → 010.Titles/020.title-h2/scss}/web.scss +0 -0
- /package/livingdocs/{Lists/ordered-list-group/print.scss → 010.Titles/020.title-h2/scss/word.scss} +0 -0
- /package/livingdocs/{Lists/ordered-list-group/web.scss → 010.Titles/030.title-h3/scss/pdf.scss} +0 -0
- /package/livingdocs/{Lists/unordered-list-group → 010.Titles/030.title-h3/scss}/web.scss +0 -0
- /package/livingdocs/{Lists/unordered-list-group/print.scss → 010.Titles/030.title-h3/scss/word.scss} +0 -0
- /package/livingdocs/{Media/chart/print.scss → 010.Titles/040.title-h4/scss/pdf.scss} +0 -0
- /package/livingdocs/{Media/chart → 010.Titles/040.title-h4/scss}/web.scss +0 -0
- /package/livingdocs/{Media/graphic/print.scss → 010.Titles/040.title-h4/scss/word.scss} +0 -0
- /package/livingdocs/{Media/graphic/web.scss → 010.Titles/050.title-h5/scss/pdf.scss} +0 -0
- /package/livingdocs/{Media/image → 010.Titles/050.title-h5/scss}/web.scss +0 -0
- /package/livingdocs/{Media/nswow-table/print.scss → 010.Titles/050.title-h5/scss/word.scss} +0 -0
- /package/livingdocs/{Media/video/web.scss → 010.Titles/060.title-h6/scss/pdf.scss} +0 -0
- /package/livingdocs/{Signatures/signature-container → 010.Titles/060.title-h6/scss}/web.scss +0 -0
- /package/livingdocs/{PDF_only/pdf-cover/print.scss → 010.Titles/060.title-h6/scss/word.scss} +0 -0
- /package/livingdocs/{Signatures/signature-container/print.scss → 020.Text/010.lead/scss/pdf.scss} +0 -0
- /package/livingdocs/{Signatures/signature-item → 020.Text/010.lead/scss}/web.scss +0 -0
- /package/livingdocs/{Signatures/signature-item/print.scss → 020.Text/010.lead/scss/word.scss} +0 -0
- /package/{scss/helpers/functions.scss → livingdocs/020.Text/020.paragraph/scss/pdf.scss} +0 -0
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `src/composables/config.ts`
|
|
3
|
+
*
|
|
4
|
+
* A Vue 3 composable that manages the application configuration.
|
|
5
|
+
* Handles loading and accessing various configuration aspects including
|
|
6
|
+
* settings, translations, article data, and menu structures.
|
|
7
|
+
*
|
|
8
|
+
* ## Core Functionality
|
|
9
|
+
* - Loads configuration from multiple JSON files
|
|
10
|
+
* - Manages application settings and supported languages
|
|
11
|
+
* - Handles internationalization with translations
|
|
12
|
+
* - Provides routing information for different locales
|
|
13
|
+
* - Manages downloadable content references
|
|
14
|
+
* - Offers environment detection helpers
|
|
15
|
+
*
|
|
16
|
+
* ## Data Structure
|
|
17
|
+
* - `NsWowConfig`: Main configuration object containing:
|
|
18
|
+
* - `locale`: Current active locale
|
|
19
|
+
* - `settings`: Application settings
|
|
20
|
+
* - `articles`: Article data by language
|
|
21
|
+
* - `menus`: Menu structures by language
|
|
22
|
+
* - `translations`: Translation strings by language
|
|
23
|
+
* - `downloads`: Download data by language
|
|
24
|
+
*
|
|
25
|
+
* ## Main Functions
|
|
26
|
+
* - `setConfig()`: Initializes the full configuration by loading all data files
|
|
27
|
+
* - `loadSettings()`: Loads application settings from JSON
|
|
28
|
+
* - `loadTranslations()`: Loads translation data
|
|
29
|
+
* - `loadRouting(locale)`: Loads routing information for specified locale
|
|
30
|
+
* - `loadDownloads(locale)`: Loads download data for specified locale
|
|
31
|
+
* - `useConfig()`: Returns the reactive configuration reference
|
|
32
|
+
*
|
|
33
|
+
* ## Environment Helpers
|
|
34
|
+
* - `isPreview()`: Checks if application is running in preview mode
|
|
35
|
+
* - `isDevelopment()`: Checks if application is running in development mode
|
|
36
|
+
* - `isWorkboxEnabled()`: Determines if service worker functionality is enabled
|
|
37
|
+
*
|
|
38
|
+
* ## Usage
|
|
39
|
+
* const config = useConfig()
|
|
40
|
+
*/
|
|
41
|
+
import { ref, type Ref } from 'vue';
|
|
42
|
+
|
|
43
|
+
const config = ref<NsWowConfig>({
|
|
44
|
+
locale: 'de',
|
|
45
|
+
settings: {
|
|
46
|
+
languages: ['de', 'en'],
|
|
47
|
+
defaultLanguage: 'de',
|
|
48
|
+
shortBreadcrumb: false,
|
|
49
|
+
search: {
|
|
50
|
+
boldTheWord: true,
|
|
51
|
+
},
|
|
52
|
+
categories: [],
|
|
53
|
+
},
|
|
54
|
+
articles: {},
|
|
55
|
+
menus: {},
|
|
56
|
+
translations: {},
|
|
57
|
+
downloads: {},
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
async function setConfig(): Promise<Ref<NsWowConfig>> {
|
|
61
|
+
await loadSettings();
|
|
62
|
+
await loadTranslations();
|
|
63
|
+
|
|
64
|
+
const defaultMessages = import.meta.glob('@/locales/*.json', {
|
|
65
|
+
eager: true,
|
|
66
|
+
import: 'default',
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
for (const locale of config.value.settings.languages) {
|
|
70
|
+
await loadRouting(locale);
|
|
71
|
+
await loadDownloads(locale);
|
|
72
|
+
|
|
73
|
+
config.value.translations[locale] = config.value.translations[locale] || {};
|
|
74
|
+
|
|
75
|
+
const defaultMessages = import.meta.glob('@/locales/*.json', {
|
|
76
|
+
eager: true,
|
|
77
|
+
import: 'default',
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
const path = `/src/locales/${locale}.json`;
|
|
81
|
+
if (defaultMessages[path]) {
|
|
82
|
+
config.value.translations[locale] = Object.assign(
|
|
83
|
+
defaultMessages[path],
|
|
84
|
+
config.value.translations[locale],
|
|
85
|
+
);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return config;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
async function loadSettings() {
|
|
92
|
+
const file = `./json/settings.json`;
|
|
93
|
+
try {
|
|
94
|
+
const response: Response = await fetch(file);
|
|
95
|
+
const data: NsWowSettings = await response.json();
|
|
96
|
+
config.value.settings = Object.assign(config.value.settings, data);
|
|
97
|
+
config.value.locale = data.defaultLanguage;
|
|
98
|
+
document.documentElement.lang = data.defaultLanguage;
|
|
99
|
+
} catch (e) {
|
|
100
|
+
errorLog(`"${file}" could not be loaded.`, e);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
async function loadTranslations() {
|
|
105
|
+
const file = `./json/translations_hosting.json`;
|
|
106
|
+
try {
|
|
107
|
+
const response: Response = await fetch(file);
|
|
108
|
+
const data: NsWowTranslations = await response.json();
|
|
109
|
+
config.value.translations = data;
|
|
110
|
+
} catch (e) {
|
|
111
|
+
errorLog(`"${file}" could not be loaded.`, e);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
async function loadRouting(locale: string) {
|
|
116
|
+
const file: string = `./json/routing_${locale}.json`;
|
|
117
|
+
try {
|
|
118
|
+
const response: Response = await fetch(file);
|
|
119
|
+
const routing: NsWowResponseRouting = await response.json();
|
|
120
|
+
config.value.articles[locale] = routing.pages;
|
|
121
|
+
config.value.menus[locale] = routing.menu;
|
|
122
|
+
} catch (e) {
|
|
123
|
+
errorLog(`"${file}" could not be loaded.`, e);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
async function loadDownloads(locale: string) {
|
|
128
|
+
config.value.downloads[locale] = {};
|
|
129
|
+
const file: string = `./downloads/downloads_${locale}.json`;
|
|
130
|
+
try {
|
|
131
|
+
const response: Response = await fetch(file);
|
|
132
|
+
const data = await response.json();
|
|
133
|
+
config.value.downloads[locale] = data;
|
|
134
|
+
} catch (e) {
|
|
135
|
+
errorLog(`"${file}" could not be loaded.`, e);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
function useConfig(): Ref<NsWowConfig> {
|
|
140
|
+
return config;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
function isPreview(): boolean {
|
|
144
|
+
return window.location.pathname.includes('/preview/');
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
function isDevelopment(): boolean {
|
|
148
|
+
return import.meta.env.DEV;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
function isWorkboxEnabled(): boolean {
|
|
152
|
+
return (
|
|
153
|
+
(!isPreview() && !isDevelopment()) ||
|
|
154
|
+
(isDevelopment() && import.meta.env.VITE_WORKBOX === 'true')
|
|
155
|
+
);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
function errorLog(message: string, error: Error): void {
|
|
159
|
+
isDevelopment() || isPreview()
|
|
160
|
+
? console.error(`Error: ${message}`, error)
|
|
161
|
+
: null;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
export default useConfig;
|
|
165
|
+
export { setConfig, useConfig, isPreview, isDevelopment };
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `downloads.ts`
|
|
3
|
+
*
|
|
4
|
+
* This Vue 3 composable provides access to localized download data.
|
|
5
|
+
* It loads download information from JSON files for each supported language
|
|
6
|
+
* and returns a computed reference to the data in the current locale.
|
|
7
|
+
*
|
|
8
|
+
* ## Imports
|
|
9
|
+
* - `computed`, `ref`, `ComputedRef`: Vue reactivity utilities
|
|
10
|
+
* - `useConfig`: Composable for accessing application configuration
|
|
11
|
+
*
|
|
12
|
+
* ## Reactive Variables
|
|
13
|
+
* - `downloads`: Reference object storing download data for all languages
|
|
14
|
+
* - `computedDownloads`: Singleton computed reference for current locale's download data
|
|
15
|
+
*
|
|
16
|
+
* ## Function: useDownloads
|
|
17
|
+
* - Asynchronous function that returns a computed reference to download data
|
|
18
|
+
* - Loads download data JSON files for all configured languages on first call
|
|
19
|
+
* - Initializes the computed reference if not already created
|
|
20
|
+
* - Returns the same computed reference on subsequent calls
|
|
21
|
+
* - Download data is filtered by the current locale from the configuration
|
|
22
|
+
*
|
|
23
|
+
* ## Return Value
|
|
24
|
+
* - ComputedRef<NsWowDownloads>: A computed reference to download data
|
|
25
|
+
* in the current locale
|
|
26
|
+
*
|
|
27
|
+
* ## Usage Example
|
|
28
|
+
* ```typescript
|
|
29
|
+
* const downloads = await useDownloads()
|
|
30
|
+
* console.log(downloads.value.structure) // Array of download structure items
|
|
31
|
+
*/
|
|
32
|
+
import { computed, type ComputedRef } from 'vue';
|
|
33
|
+
import useConfig from './config';
|
|
34
|
+
|
|
35
|
+
const config = useConfig();
|
|
36
|
+
|
|
37
|
+
const downloads = computed<NsWowDownload[]>(() => {
|
|
38
|
+
if (!config.value.downloads[config.value.locale]) {
|
|
39
|
+
return [];
|
|
40
|
+
}
|
|
41
|
+
return config.value.downloads[config.value.locale].structure;
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
export default function useDownloads(): ComputedRef<NsWowDownload[]> {
|
|
45
|
+
return downloads;
|
|
46
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import _useArticle from './article';
|
|
2
|
+
import _useArticles from './articles';
|
|
3
|
+
import _useConfig from './config';
|
|
4
|
+
import _useDownloads from './downloads';
|
|
5
|
+
import _useLocale from './locale';
|
|
6
|
+
import _useMenu from './menu';
|
|
7
|
+
import _useRoot from './root';
|
|
8
|
+
import _useSearch from './search';
|
|
9
|
+
import _useSettings from './settings';
|
|
10
|
+
import _useViewPort from './viewPort';
|
|
11
|
+
|
|
12
|
+
export const useArticle = _useArticle;
|
|
13
|
+
export const useArticles = _useArticles;
|
|
14
|
+
export const useConfig = _useConfig;
|
|
15
|
+
export const useDownloads = _useDownloads;
|
|
16
|
+
export const useLocale = _useLocale;
|
|
17
|
+
export const useMenu = _useMenu;
|
|
18
|
+
export const useRoot = _useRoot;
|
|
19
|
+
export const useSearch = _useSearch;
|
|
20
|
+
export const useSettings = _useSettings;
|
|
21
|
+
export const useViewPort = _useViewPort;
|
|
22
|
+
|
|
23
|
+
export default {
|
|
24
|
+
useArticle,
|
|
25
|
+
useArticles,
|
|
26
|
+
useConfig,
|
|
27
|
+
useDownloads,
|
|
28
|
+
useLocale,
|
|
29
|
+
useMenu,
|
|
30
|
+
useRoot,
|
|
31
|
+
useSearch,
|
|
32
|
+
useSettings,
|
|
33
|
+
useViewPort,
|
|
34
|
+
};
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `src/composables/menu.ts`
|
|
3
|
+
*
|
|
4
|
+
* A Vue 3 composable that provides functionality for processing menu structures
|
|
5
|
+
* and using them in navigation components.
|
|
6
|
+
*
|
|
7
|
+
* ## Functionality
|
|
8
|
+
* - Converts menu objects from configuration into navigation elements
|
|
9
|
+
* - Automatically detects active menu items based on the current route
|
|
10
|
+
* - Supports different menu types: Articles, internal and external links
|
|
11
|
+
* - Handles recursively nested submenus
|
|
12
|
+
* - Implements caching for already created menus
|
|
13
|
+
*
|
|
14
|
+
* ## Data Types
|
|
15
|
+
* - `NsWowMenu`: Input type for menu elements from configuration
|
|
16
|
+
* - Contains `label`, `type`, `page`, `url`, `submenuEntries`
|
|
17
|
+
* - `NsWowNavigationItem`: Output type for navigation elements
|
|
18
|
+
* - Contains `label`, `type`, `href`, `active`, `children`
|
|
19
|
+
*
|
|
20
|
+
* ## Main Functions
|
|
21
|
+
* - `buildNav()`: Internal function to convert menu items into navigation elements
|
|
22
|
+
* - `useMenu(name)`: Main function that returns a computed menu based on its name
|
|
23
|
+
* - Parameter: `name` - String, the name of the menu in the configuration
|
|
24
|
+
* - Returns: Computed reference to an array of navigation elements
|
|
25
|
+
*
|
|
26
|
+
* ## Usage
|
|
27
|
+
* const menu = useMenu('mainMenu')
|
|
28
|
+
*
|
|
29
|
+
*/
|
|
30
|
+
import { computed, type ComputedRef } from 'vue';
|
|
31
|
+
import {
|
|
32
|
+
type RouteLocationNormalizedLoadedGeneric,
|
|
33
|
+
useRoute,
|
|
34
|
+
} from 'vue-router';
|
|
35
|
+
import { isRouterPath } from '#utils/uri';
|
|
36
|
+
import useConfig from './config';
|
|
37
|
+
|
|
38
|
+
const config = useConfig();
|
|
39
|
+
const menus = {};
|
|
40
|
+
|
|
41
|
+
function buildNav(
|
|
42
|
+
item: NsWowMenu,
|
|
43
|
+
route: RouteLocationNormalizedLoadedGeneric,
|
|
44
|
+
): NsWowNavigationItem {
|
|
45
|
+
const res: NsWowNavigationItem = {
|
|
46
|
+
label: item.label,
|
|
47
|
+
active: false,
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
if (item.type === 'Article') {
|
|
51
|
+
const page = config.value.articles[config.value.locale].find(
|
|
52
|
+
(i) => i.uuid === item.page,
|
|
53
|
+
);
|
|
54
|
+
if (page) {
|
|
55
|
+
res.href = `/${config.value.locale}/${page.slug}`;
|
|
56
|
+
res.active = route.path === res.href;
|
|
57
|
+
}
|
|
58
|
+
} else if (item.url && item.type === 'ExternalLink') {
|
|
59
|
+
if (isRouterPath(item.url)) {
|
|
60
|
+
res.href = item.url.startsWith('.') ? item.url.substring(1) : item.url;
|
|
61
|
+
res.active = route.path === res.href;
|
|
62
|
+
} else {
|
|
63
|
+
res.href = item.url;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
if (item.submenuEntries) {
|
|
68
|
+
res.children = [];
|
|
69
|
+
item.submenuEntries?.forEach((subItem) => {
|
|
70
|
+
const subMenu = buildNav(subItem, route);
|
|
71
|
+
if (subMenu.active) {
|
|
72
|
+
res.active = true;
|
|
73
|
+
}
|
|
74
|
+
res.children?.push(subMenu);
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
return res;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export default function useMenu(
|
|
82
|
+
name: string,
|
|
83
|
+
): ComputedRef<NsWowNavigationItem[]> {
|
|
84
|
+
if (menus[name]) {
|
|
85
|
+
return menus[name];
|
|
86
|
+
} else {
|
|
87
|
+
try {
|
|
88
|
+
const route = useRoute();
|
|
89
|
+
menus[name] = computed<NsWowNavigationItem[]>(() => {
|
|
90
|
+
return config.value.menus[config.value.locale][name].map((item) => {
|
|
91
|
+
return buildNav(item, route);
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
|
|
95
|
+
return menus[name];
|
|
96
|
+
} catch (e) {
|
|
97
|
+
console.error(e);
|
|
98
|
+
return computed<NsWowNavigationItem[]>(() => []);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `search.ts`
|
|
3
|
+
*
|
|
4
|
+
* This Vue 3 composable provides search functionality across localized article content.
|
|
5
|
+
* It builds a search index by extracting text from HTML content of articles and
|
|
6
|
+
* implements a singleton pattern to ensure efficient data loading.
|
|
7
|
+
*
|
|
8
|
+
* ## Imports
|
|
9
|
+
* - `computed`, `ref`: Vue reactivity utilities for state management
|
|
10
|
+
* - `useConfig`: Composable for accessing application configuration
|
|
11
|
+
* - `useArticles`: Composable for accessing localized article data
|
|
12
|
+
* - `node-html-parser`: Library for HTML parsing and manipulation
|
|
13
|
+
*
|
|
14
|
+
* ## Variables
|
|
15
|
+
* - `storage`: Reference object storing search data for all languages
|
|
16
|
+
* - `computedStorage`: Singleton computed reference for current locale's search data
|
|
17
|
+
*
|
|
18
|
+
* ## Helper Functions
|
|
19
|
+
* - `findByTag()`: Recursively finds HTML elements with specified tag names
|
|
20
|
+
* - `makeWords()`: Extracts and normalizes text content from specific HTML tags
|
|
21
|
+
* for search indexing (h1, h2, h3, p elements)
|
|
22
|
+
*
|
|
23
|
+
* ## Function: useSearch
|
|
24
|
+
* - Asynchronous function that builds and returns a search index
|
|
25
|
+
* - Loads article HTML content on first call for the current locale
|
|
26
|
+
* - Processes HTML to extract searchable text
|
|
27
|
+
* - Builds an array of search items with article metadata and content
|
|
28
|
+
* - Returns a computed reference that always reflects the current locale
|
|
29
|
+
*
|
|
30
|
+
* ## Return Value
|
|
31
|
+
* - ComputedRef<NsWowSearchList[]>: A computed reference to an array of search items
|
|
32
|
+
* for the current locale
|
|
33
|
+
*
|
|
34
|
+
* ## Usage Example
|
|
35
|
+
* ```typescript
|
|
36
|
+
* const searchIndex = await useSearch()
|
|
37
|
+
* console.log(searchIndex.value) // Array of search items for the current locale
|
|
38
|
+
*/
|
|
39
|
+
import { computed, type ComputedRef, ref } from 'vue';
|
|
40
|
+
import { HTMLElement, parse as parseHtml } from 'node-html-parser';
|
|
41
|
+
|
|
42
|
+
const storage = ref<{
|
|
43
|
+
[locale: string]: NsWowSearchList[];
|
|
44
|
+
}>();
|
|
45
|
+
let computedStorage: ComputedRef<NsWowSearchList[]>;
|
|
46
|
+
|
|
47
|
+
function findByTag(
|
|
48
|
+
node: HTMLElement,
|
|
49
|
+
tagName: string,
|
|
50
|
+
tagsScope: HTMLElement[] = [],
|
|
51
|
+
) {
|
|
52
|
+
if (!node.querySelectorAll) return tagsScope;
|
|
53
|
+
const nodes: HTMLElement[] = node.querySelectorAll(tagName);
|
|
54
|
+
tagsScope.push(...nodes);
|
|
55
|
+
if (node.closest(tagName) == node) {
|
|
56
|
+
tagsScope.push(node);
|
|
57
|
+
}
|
|
58
|
+
return tagsScope;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
function makeWords(html: string) {
|
|
62
|
+
const tagsToSearch = ['h1,h2,h3,p'];
|
|
63
|
+
const rootObject = parseHtml(html);
|
|
64
|
+
return tagsToSearch
|
|
65
|
+
.flatMap((tag) => findByTag(rootObject, tag))
|
|
66
|
+
.map((el) => el.innerText)
|
|
67
|
+
.join(' ')
|
|
68
|
+
.replace(/\s{2,}/g, ' ');
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export default async function useSearch(): ComputedRef<NsWowSearchList[]> {
|
|
72
|
+
const config = useConfig();
|
|
73
|
+
if (!storage.value || !storage.value[config.value.locale]) {
|
|
74
|
+
!storage.value ? (storage.value = {}) : null;
|
|
75
|
+
storage.value[config.value.locale] = [];
|
|
76
|
+
|
|
77
|
+
const articles = useArticles();
|
|
78
|
+
|
|
79
|
+
for (const article of articles.value.filter(
|
|
80
|
+
(item) => !item.ignoreInSearch,
|
|
81
|
+
)) {
|
|
82
|
+
const file = `./html/${config.value.locale}/${article.name}.html`;
|
|
83
|
+
try {
|
|
84
|
+
const response = await fetch(file);
|
|
85
|
+
const htmlContent = await response.text();
|
|
86
|
+
|
|
87
|
+
storage.value[config.value.locale].push({
|
|
88
|
+
article: article,
|
|
89
|
+
href: `/${config.value.locale}/${article.slug}`,
|
|
90
|
+
words: makeWords(htmlContent),
|
|
91
|
+
});
|
|
92
|
+
} catch (e) {
|
|
93
|
+
console.error(e);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
if (!computedStorage) {
|
|
99
|
+
computedStorage = computed<NsWowSearchList[]>(() => {
|
|
100
|
+
if (!storage.value || !storage.value[config.value.locale]) {
|
|
101
|
+
return [];
|
|
102
|
+
}
|
|
103
|
+
return storage.value[config.value.locale];
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
return computedStorage;
|
|
108
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import useConfig from './config';
|
|
2
|
+
import { computed, type ComputedRef } from 'vue';
|
|
3
|
+
|
|
4
|
+
const config = useConfig();
|
|
5
|
+
|
|
6
|
+
const settings = computed<NsWowSettings>(() => config.value.settings);
|
|
7
|
+
export default function useSettings(): ComputedRef<NsWowSettings> {
|
|
8
|
+
return settings;
|
|
9
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `viewPort.ts`
|
|
3
|
+
*
|
|
4
|
+
* This Vue 3 composable provides responsive viewport detection based on configured breakpoints.
|
|
5
|
+
* It creates a reactive reference to the current viewport size category and updates automatically
|
|
6
|
+
* when the window is resized.
|
|
7
|
+
*
|
|
8
|
+
* ## Imports
|
|
9
|
+
* - `grid` from configuration: Contains breakpoint definitions
|
|
10
|
+
* - `computed`, `ref`: Vue reactivity utilities
|
|
11
|
+
*
|
|
12
|
+
* ## Types
|
|
13
|
+
* - `Breakpoints`: Type definition for breakpoint configuration (key-value pairs)
|
|
14
|
+
* - `ViewPorts`: Type definition for the returned viewport information object
|
|
15
|
+
*
|
|
16
|
+
* ## Reactive State
|
|
17
|
+
* - `innerWidth`: Ref tracking the current window width
|
|
18
|
+
* - `viewPorts`: Computed value that determines the current viewport category
|
|
19
|
+
* based on the window width and configured breakpoints
|
|
20
|
+
*
|
|
21
|
+
* ## Event Handling
|
|
22
|
+
* - Adds a window resize event listener to update the innerWidth ref when the window size changes
|
|
23
|
+
*
|
|
24
|
+
* ## Function: useViewPort
|
|
25
|
+
* - Returns a computed object containing:
|
|
26
|
+
* - `breakPoints`: The configured breakpoint values
|
|
27
|
+
* - `innerWidth`: Current window width
|
|
28
|
+
* - `viewPort`: Current viewport category name (or null if no matching breakpoint)
|
|
29
|
+
*
|
|
30
|
+
* ## Return Value
|
|
31
|
+
* - ComputedRef<ViewPorts>: A computed reference to the viewport information
|
|
32
|
+
*
|
|
33
|
+
* ## Usage Example
|
|
34
|
+
* ```typescript
|
|
35
|
+
* const viewport = useViewPort()
|
|
36
|
+
* console.log(viewport.value.viewPort) // Current viewport category (e.g., "sm", "md", "lg")
|
|
37
|
+
* console.log(viewport.value.innerWidth) // Current window width in pixels
|
|
38
|
+
*/
|
|
39
|
+
import { grid } from '~/srl.config.json';
|
|
40
|
+
import { computed, ref, type ComputedRef } from 'vue';
|
|
41
|
+
|
|
42
|
+
type Breakpoints = {
|
|
43
|
+
[key: string]: number;
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
type ViewPorts = {
|
|
47
|
+
breakPoints: Breakpoints;
|
|
48
|
+
innerWidth: number;
|
|
49
|
+
viewPort: string | null;
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
const { breakpoints } = grid;
|
|
53
|
+
const innerWidth = ref<number>(window.innerWidth);
|
|
54
|
+
|
|
55
|
+
const viewPorts = computed<ViewPorts>(() => {
|
|
56
|
+
const res: ViewPorts = {
|
|
57
|
+
breakPoints: breakpoints,
|
|
58
|
+
innerWidth: window.innerWidth,
|
|
59
|
+
viewPort: null,
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
for (const key in breakpoints) {
|
|
63
|
+
if (breakpoints[key] <= innerWidth.value) {
|
|
64
|
+
res.viewPort = key;
|
|
65
|
+
} else {
|
|
66
|
+
break;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return res;
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
window.addEventListener('resize', () => {
|
|
73
|
+
innerWidth.value = window.innerWidth;
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
export default function useViewPort(): ComputedRef<ViewPorts> {
|
|
77
|
+
return viewPorts;
|
|
78
|
+
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { setConfig } from '#composables/config';
|
|
2
|
+
import { createApp } from 'vue';
|
|
3
|
+
import { initI18n } from '@/i18n';
|
|
4
|
+
import srlVuePlugin from '#plugins/vueSrlPlugin';
|
|
5
|
+
|
|
6
|
+
import '#imports/app.scss';
|
|
7
|
+
|
|
8
|
+
import SrlPageApp from '#components/Srl/Page/App.vue';
|
|
9
|
+
import router from '@/router';
|
|
10
|
+
|
|
11
|
+
export default async function initProject() {
|
|
12
|
+
await setConfig();
|
|
13
|
+
const i18n = initI18n();
|
|
14
|
+
const app = (window.app = createApp(SrlPageApp));
|
|
15
|
+
app.use(i18n);
|
|
16
|
+
app.use(router);
|
|
17
|
+
app.use(srlVuePlugin);
|
|
18
|
+
return app;
|
|
19
|
+
}
|