@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.
Files changed (773) hide show
  1. package/.github/workflows/npm-publish.yml +24 -25
  2. package/.nvmrc +1 -1
  3. package/README.md +23 -23
  4. package/cli.js +121 -114
  5. package/dev/.ddev/nginx_full/custom.conf +12 -12
  6. package/dev/index.html +18 -17
  7. package/dev/livingdocs.config.json +154 -376
  8. package/dev/package.json +64 -60
  9. package/dev/pdf/pdf-configuration-debug.xml +8 -5
  10. package/dev/pdf/pdf-configuration.xml +2 -2
  11. package/dev/public/downloads/downloads_de.json +1 -0
  12. package/dev/public/downloads/downloads_en.json +1 -0
  13. package/dev/public/favicon.png +0 -0
  14. package/dev/public/html/de/Downloads.html +3 -0
  15. package/dev/public/html/de/Home.html +3 -0
  16. package/dev/public/html/de/Suche.html +3 -0
  17. package/dev/public/html/en/Downloads.html +3 -0
  18. package/dev/public/html/en/Home.html +3 -0
  19. package/dev/public/html/en/Suche.html +3 -0
  20. package/dev/public/json/routing_de.json +86 -0
  21. package/dev/public/json/routing_en.json +86 -0
  22. package/dev/public/json/settings.json +8 -0
  23. package/dev/public/json/translations_hosting.json +1 -0
  24. package/dev/src/App.vue +33 -44
  25. package/dev/src/Autoload.ts +6 -6
  26. package/dev/src/Dialog.vue +99 -0
  27. package/dev/src/assets/fonts/Inter/Inter-Regular.ttf +0 -0
  28. package/dev/src/assets/fonts/Inter/Inter-Regular.woff2 +0 -0
  29. package/dev/src/assets/fonts/Inter/Inter-SemiBold.ttf +0 -0
  30. package/dev/src/assets/fonts/Inter/Inter-SemiBold.woff2 +0 -0
  31. package/dev/src/assets/fonts/Inter/inter.scss +17 -0
  32. package/dev/src/assets/images/mms-logo-black.svg +91 -91
  33. package/dev/src/assets/images/mms-logo-white.svg +105 -105
  34. package/dev/src/assets/images/next.svg +12 -0
  35. package/dev/src/assets/images/prev.svg +12 -0
  36. package/dev/src/assets/images/toTop.svg +12 -0
  37. package/dev/src/assets/scss/app.scss +39 -39
  38. package/dev/src/assets/scss/{ldd.scss → editor.scss} +27 -27
  39. package/dev/src/assets/scss/general.scss +59 -17
  40. package/dev/src/assets/scss/pdf.scss +138 -2
  41. package/dev/src/assets/scss/placeholders.scss +226 -0
  42. package/dev/src/assets/scss/print.scss +1 -1
  43. package/dev/src/assets/scss/web.scss +32 -1
  44. package/dev/src/assets/scss/word.scss +2 -2
  45. package/dev/src/components/BypassLinks.vue +90 -0
  46. package/dev/src/components/MainNavigation.vue +15 -209
  47. package/dev/src/components/NavLanguages.vue +57 -0
  48. package/dev/src/components/PageFooter.vue +45 -86
  49. package/dev/src/components/PageHeader.vue +41 -149
  50. package/dev/src/components/PageMain.vue +13 -0
  51. package/dev/src/components/PrevNext.vue +168 -144
  52. package/dev/src/components/SrlPage/KFCApplication/hooks/kfcData.ts +9 -9
  53. package/dev/src/components/SrlPage/KFCApplication/scss/_iz-keyfigure-comparison.scss +151 -151
  54. package/dev/src/components/SrlPage/KFCApplication/scss/_kfc-loading.scss +40 -40
  55. package/dev/src/components/SrlPage/KFCApplication/scss/_srl-button-kfc.scss +21 -21
  56. package/dev/src/components/Svg/Close.vue +14 -0
  57. package/dev/src/entries/main.ts +4 -0
  58. package/dev/src/entries/pdf.ts +2 -0
  59. package/dev/src/i18n/index.ts +21 -51
  60. package/dev/src/i18n/translation.ts +85 -85
  61. package/dev/src/locales/de.json +9 -15
  62. package/dev/src/locales/en.json +9 -15
  63. package/dev/src/router/index.ts +44 -47
  64. package/dev/src/views/ArticleView.vue +12 -77
  65. package/dev/src/views/DevView.vue +861 -0
  66. package/dev/src/views/HomeView.vue +5 -35
  67. package/dev/src/views/PageNotFound.vue +77 -73
  68. package/dev/srl.config.json +754 -0
  69. package/dev/tsconfig.app.json +13 -16
  70. package/dev/tsconfig.node.json +20 -19
  71. package/dev/vite.config.ts +18 -27
  72. package/initTestProject.js +91 -0
  73. package/jest.config.mjs +200 -0
  74. package/livingdocs/010.Titles/010.title-h1/ld-conf.json +5 -0
  75. package/livingdocs/010.Titles/010.title-h1/scss/app.scss +1 -0
  76. package/livingdocs/010.Titles/010.title-h1/scss/editor.scss +1 -0
  77. package/livingdocs/010.Titles/010.title-h1/scss/general.scss +5 -0
  78. package/livingdocs/010.Titles/010.title-h1/scss/xbrl.scss +1 -0
  79. package/livingdocs/010.Titles/010.title-h1/title-h1.html +5 -0
  80. package/livingdocs/010.Titles/020.title-h2/ld-conf.json +10 -0
  81. package/livingdocs/010.Titles/020.title-h2/properties.json +27 -0
  82. package/livingdocs/010.Titles/020.title-h2/scss/app.scss +1 -0
  83. package/livingdocs/010.Titles/020.title-h2/scss/editor.scss +1 -0
  84. package/livingdocs/010.Titles/020.title-h2/scss/general.scss +21 -0
  85. package/livingdocs/010.Titles/020.title-h2/scss/xbrl.scss +1 -0
  86. package/livingdocs/010.Titles/020.title-h2/title-h2.html +22 -0
  87. package/livingdocs/010.Titles/030.title-h3/ld-conf.json +10 -0
  88. package/livingdocs/010.Titles/030.title-h3/properties.json +23 -0
  89. package/livingdocs/010.Titles/030.title-h3/scss/app.scss +1 -0
  90. package/livingdocs/010.Titles/030.title-h3/scss/editor.scss +1 -0
  91. package/livingdocs/010.Titles/030.title-h3/scss/general.scss +21 -0
  92. package/livingdocs/010.Titles/030.title-h3/scss/xbrl.scss +1 -0
  93. package/livingdocs/010.Titles/030.title-h3/title-h3.html +22 -0
  94. package/livingdocs/010.Titles/040.title-h4/ld-conf.json +10 -0
  95. package/livingdocs/010.Titles/040.title-h4/properties.json +19 -0
  96. package/livingdocs/010.Titles/040.title-h4/scss/app.scss +1 -0
  97. package/livingdocs/010.Titles/040.title-h4/scss/editor.scss +1 -0
  98. package/livingdocs/010.Titles/040.title-h4/scss/general.scss +21 -0
  99. package/livingdocs/010.Titles/040.title-h4/scss/xbrl.scss +1 -0
  100. package/livingdocs/010.Titles/040.title-h4/title-h4.html +22 -0
  101. package/livingdocs/010.Titles/050.title-h5/ld-conf.json +5 -0
  102. package/livingdocs/010.Titles/050.title-h5/properties.json +15 -0
  103. package/livingdocs/010.Titles/050.title-h5/scss/app.scss +1 -0
  104. package/livingdocs/010.Titles/050.title-h5/scss/editor.scss +1 -0
  105. package/livingdocs/010.Titles/050.title-h5/scss/general.scss +6 -0
  106. package/livingdocs/010.Titles/050.title-h5/scss/xbrl.scss +1 -0
  107. package/livingdocs/010.Titles/050.title-h5/title-h5.html +5 -0
  108. package/livingdocs/010.Titles/060.title-h6/ld-conf.json +5 -0
  109. package/livingdocs/010.Titles/060.title-h6/scss/app.scss +1 -0
  110. package/livingdocs/010.Titles/060.title-h6/scss/editor.scss +1 -0
  111. package/livingdocs/010.Titles/060.title-h6/scss/general.scss +6 -0
  112. package/livingdocs/010.Titles/060.title-h6/scss/xbrl.scss +1 -0
  113. package/livingdocs/010.Titles/060.title-h6/title-h6.html +5 -0
  114. package/livingdocs/020.Text/010.lead/ld-conf.json +10 -0
  115. package/livingdocs/020.Text/010.lead/lead.html +7 -0
  116. package/livingdocs/020.Text/010.lead/scss/app.scss +1 -0
  117. package/livingdocs/020.Text/010.lead/scss/editor.scss +1 -0
  118. package/livingdocs/020.Text/010.lead/scss/general.scss +6 -0
  119. package/livingdocs/020.Text/010.lead/scss/xbrl.scss +1 -0
  120. package/livingdocs/020.Text/020.paragraph/ld-conf.json +5 -0
  121. package/livingdocs/{Text/paragraph → 020.Text/020.paragraph}/paragraph.html +13 -24
  122. package/livingdocs/020.Text/020.paragraph/scss/app.scss +1 -0
  123. package/livingdocs/020.Text/020.paragraph/scss/editor.scss +1 -0
  124. package/livingdocs/020.Text/020.paragraph/scss/general.scss +6 -0
  125. package/livingdocs/020.Text/020.paragraph/scss/web.scss +0 -0
  126. package/livingdocs/020.Text/020.paragraph/scss/word.scss +0 -0
  127. package/livingdocs/020.Text/020.paragraph/scss/xbrl.scss +1 -0
  128. package/livingdocs/020.Text/030.paragraph-strong/ld-conf.json +5 -0
  129. package/livingdocs/020.Text/030.paragraph-strong/paragraph.html +16 -0
  130. package/livingdocs/020.Text/030.paragraph-strong/scss/app.scss +1 -0
  131. package/livingdocs/020.Text/030.paragraph-strong/scss/editor.scss +0 -0
  132. package/livingdocs/020.Text/030.paragraph-strong/scss/general.scss +5 -0
  133. package/livingdocs/020.Text/030.paragraph-strong/scss/pdf.scss +1 -0
  134. package/livingdocs/020.Text/030.paragraph-strong/scss/web.scss +0 -0
  135. package/livingdocs/020.Text/030.paragraph-strong/scss/word.scss +0 -0
  136. package/livingdocs/020.Text/030.paragraph-strong/scss/xbrl.scss +1 -0
  137. package/livingdocs/020.Text/040.link/ld-conf.json +15 -0
  138. package/livingdocs/020.Text/040.link/link.html +12 -0
  139. package/livingdocs/020.Text/040.link/scss/app.scss +1 -0
  140. package/livingdocs/020.Text/040.link/scss/editor.scss +1 -0
  141. package/livingdocs/020.Text/040.link/scss/general.scss +6 -0
  142. package/livingdocs/020.Text/040.link/scss/pdf.scss +0 -0
  143. package/livingdocs/020.Text/040.link/scss/web.scss +0 -0
  144. package/livingdocs/020.Text/040.link/scss/word.scss +0 -0
  145. package/livingdocs/020.Text/040.link/scss/xbrl.scss +1 -0
  146. package/livingdocs/020.Text/050.quote/ld-conf.json +5 -0
  147. package/livingdocs/{Text/quote → 020.Text/050.quote}/properties.json +7 -7
  148. package/livingdocs/020.Text/050.quote/quote.html +15 -0
  149. package/livingdocs/020.Text/050.quote/scss/app.scss +1 -0
  150. package/livingdocs/020.Text/050.quote/scss/editor.scss +1 -0
  151. package/livingdocs/020.Text/050.quote/scss/general.scss +17 -0
  152. package/livingdocs/020.Text/050.quote/scss/pdf.scss +0 -0
  153. package/livingdocs/020.Text/050.quote/scss/web.scss +0 -0
  154. package/livingdocs/020.Text/050.quote/scss/word.scss +0 -0
  155. package/livingdocs/020.Text/050.quote/scss/xbrl.scss +1 -0
  156. package/livingdocs/020.Text/060.quote-with-portrait/ld-conf.json +11 -0
  157. package/livingdocs/020.Text/060.quote-with-portrait/quote-with-portrait.html +18 -0
  158. package/livingdocs/020.Text/060.quote-with-portrait/scss/app.scss +1 -0
  159. package/livingdocs/020.Text/060.quote-with-portrait/scss/editor.scss +1 -0
  160. package/livingdocs/020.Text/060.quote-with-portrait/scss/general.scss +17 -0
  161. package/livingdocs/020.Text/060.quote-with-portrait/scss/pdf.scss +29 -0
  162. package/livingdocs/020.Text/060.quote-with-portrait/scss/web.scss +24 -0
  163. package/livingdocs/020.Text/060.quote-with-portrait/scss/word.scss +0 -0
  164. package/livingdocs/020.Text/060.quote-with-portrait/scss/xbrl.scss +1 -0
  165. package/livingdocs/020.Text/070.footnote-container/footnote-container.html +6 -0
  166. package/livingdocs/020.Text/070.footnote-container/ld-conf.json +18 -0
  167. package/livingdocs/020.Text/070.footnote-container/scss/app.scss +1 -0
  168. package/livingdocs/020.Text/070.footnote-container/scss/editor.scss +1 -0
  169. package/livingdocs/020.Text/070.footnote-container/scss/general.scss +5 -0
  170. package/livingdocs/020.Text/070.footnote-container/scss/pdf.scss +0 -0
  171. package/livingdocs/020.Text/070.footnote-container/scss/web.scss +6 -0
  172. package/livingdocs/020.Text/070.footnote-container/scss/word.scss +0 -0
  173. package/livingdocs/020.Text/070.footnote-container/scss/xbrl.scss +1 -0
  174. package/livingdocs/020.Text/080.footnote-item/footnote-item.html +6 -0
  175. package/livingdocs/020.Text/080.footnote-item/ld-conf.json +5 -0
  176. package/livingdocs/020.Text/080.footnote-item/scss/app.scss +1 -0
  177. package/livingdocs/020.Text/080.footnote-item/scss/editor.scss +1 -0
  178. package/livingdocs/020.Text/080.footnote-item/scss/general.scss +28 -0
  179. package/livingdocs/020.Text/080.footnote-item/scss/pdf.scss +0 -0
  180. package/livingdocs/020.Text/080.footnote-item/scss/web.scss +0 -0
  181. package/livingdocs/020.Text/080.footnote-item/scss/word.scss +0 -0
  182. package/livingdocs/020.Text/080.footnote-item/scss/xbrl.scss +1 -0
  183. package/livingdocs/030.Lists/010.unordered-list/ld-conf.json +18 -0
  184. package/livingdocs/030.Lists/010.unordered-list/scss/app.scss +1 -0
  185. package/livingdocs/030.Lists/010.unordered-list/scss/editor.scss +1 -0
  186. package/livingdocs/030.Lists/010.unordered-list/scss/general.scss +12 -0
  187. package/livingdocs/030.Lists/010.unordered-list/scss/pdf.scss +0 -0
  188. package/livingdocs/030.Lists/010.unordered-list/scss/web.scss +0 -0
  189. package/livingdocs/030.Lists/010.unordered-list/scss/word.scss +0 -0
  190. package/livingdocs/030.Lists/010.unordered-list/scss/xbrl.scss +1 -0
  191. package/livingdocs/030.Lists/010.unordered-list/unordered-list.html +6 -0
  192. package/livingdocs/030.Lists/020.ordered-list/ld-conf.json +18 -0
  193. package/livingdocs/030.Lists/020.ordered-list/ordered-list.html +6 -0
  194. package/livingdocs/030.Lists/020.ordered-list/scss/app.scss +1 -0
  195. package/livingdocs/030.Lists/020.ordered-list/scss/editor.scss +1 -0
  196. package/livingdocs/030.Lists/020.ordered-list/scss/general.scss +9 -0
  197. package/livingdocs/030.Lists/020.ordered-list/scss/pdf.scss +0 -0
  198. package/livingdocs/030.Lists/020.ordered-list/scss/web.scss +0 -0
  199. package/livingdocs/030.Lists/020.ordered-list/scss/word.scss +0 -0
  200. package/livingdocs/030.Lists/020.ordered-list/scss/xbrl.scss +1 -0
  201. package/livingdocs/030.Lists/030.alphanumeric-list/alphanumeric-list.html +6 -0
  202. package/livingdocs/030.Lists/030.alphanumeric-list/ld-conf.json +18 -0
  203. package/livingdocs/030.Lists/030.alphanumeric-list/scss/app.scss +1 -0
  204. package/livingdocs/030.Lists/030.alphanumeric-list/scss/editor.scss +1 -0
  205. package/livingdocs/030.Lists/030.alphanumeric-list/scss/general.scss +9 -0
  206. package/livingdocs/030.Lists/030.alphanumeric-list/scss/pdf.scss +0 -0
  207. package/livingdocs/030.Lists/030.alphanumeric-list/scss/web.scss +0 -0
  208. package/livingdocs/030.Lists/030.alphanumeric-list/scss/word.scss +0 -0
  209. package/livingdocs/030.Lists/030.alphanumeric-list/scss/xbrl.scss +1 -0
  210. package/livingdocs/030.Lists/040.list-item/ld-conf.json +5 -0
  211. package/livingdocs/030.Lists/040.list-item/list-item.html +5 -0
  212. package/livingdocs/030.Lists/040.list-item/scss/app.scss +1 -0
  213. package/livingdocs/030.Lists/040.list-item/scss/editor.scss +1 -0
  214. package/livingdocs/030.Lists/040.list-item/scss/general.scss +35 -0
  215. package/livingdocs/030.Lists/040.list-item/scss/pdf.scss +0 -0
  216. package/livingdocs/030.Lists/040.list-item/scss/web.scss +0 -0
  217. package/livingdocs/030.Lists/040.list-item/scss/word.scss +0 -0
  218. package/livingdocs/030.Lists/040.list-item/scss/xbrl.scss +1 -0
  219. package/livingdocs/040.Media/010.table/ld-conf.json +15 -0
  220. package/livingdocs/040.Media/010.table/properties.json +32 -0
  221. package/livingdocs/040.Media/010.table/scss/app.scss +1 -0
  222. package/livingdocs/040.Media/010.table/scss/editor.scss +1 -0
  223. package/livingdocs/040.Media/010.table/scss/general.scss +328 -0
  224. package/livingdocs/040.Media/010.table/scss/pdf.scss +34 -0
  225. package/livingdocs/040.Media/010.table/scss/web.scss +14 -0
  226. package/livingdocs/040.Media/010.table/scss/word.scss +0 -0
  227. package/livingdocs/040.Media/010.table/scss/xbrl.scss +1 -0
  228. package/livingdocs/040.Media/010.table/table.html +9 -0
  229. package/livingdocs/040.Media/020.image/image.html +40 -0
  230. package/livingdocs/040.Media/020.image/ld-conf.json +25 -0
  231. package/livingdocs/040.Media/020.image/scss/app.scss +1 -0
  232. package/livingdocs/040.Media/020.image/scss/editor.scss +1 -0
  233. package/livingdocs/040.Media/020.image/scss/general.scss +17 -0
  234. package/livingdocs/040.Media/020.image/scss/pdf.scss +26 -0
  235. package/livingdocs/040.Media/020.image/scss/web.scss +1 -0
  236. package/livingdocs/040.Media/020.image/scss/word.scss +0 -0
  237. package/livingdocs/040.Media/020.image/scss/xbrl.scss +5 -0
  238. package/livingdocs/040.Media/030.video/ld-conf.json +19 -0
  239. package/livingdocs/040.Media/030.video/scss/app.scss +1 -0
  240. package/livingdocs/040.Media/030.video/scss/editor.scss +1 -0
  241. package/livingdocs/040.Media/030.video/scss/general.scss +5 -0
  242. package/livingdocs/040.Media/030.video/scss/pdf.scss +0 -0
  243. package/livingdocs/040.Media/030.video/scss/web.scss +12 -0
  244. package/livingdocs/040.Media/030.video/scss/word.scss +0 -0
  245. package/livingdocs/040.Media/030.video/scss/xbrl.scss +5 -0
  246. package/livingdocs/040.Media/030.video/video.html +59 -0
  247. package/livingdocs/040.Media/040.interactive-element/interactive-element.html +27 -0
  248. package/livingdocs/040.Media/040.interactive-element/ld-conf.json +6 -0
  249. package/livingdocs/050.Hero-and-Slider/.gitkeep +0 -0
  250. package/livingdocs/060.Buttons/.gitkeep +0 -0
  251. package/livingdocs/070.Container/010.aside-content-container/aside-content-container.html +10 -0
  252. package/livingdocs/070.Container/010.aside-content-container/ld-conf.json +20 -0
  253. package/livingdocs/070.Container/010.aside-content-container/properties.json +7 -0
  254. package/livingdocs/070.Container/010.aside-content-container/scss/app.scss +1 -0
  255. package/livingdocs/070.Container/010.aside-content-container/scss/editor.scss +1 -0
  256. package/livingdocs/070.Container/010.aside-content-container/scss/general.scss +1 -0
  257. package/livingdocs/070.Container/010.aside-content-container/scss/pdf.scss +3 -0
  258. package/livingdocs/070.Container/010.aside-content-container/scss/web.scss +1 -0
  259. package/livingdocs/070.Container/010.aside-content-container/scss/word.scss +0 -0
  260. package/livingdocs/070.Container/010.aside-content-container/scss/xbrl.scss +1 -0
  261. package/livingdocs/070.Container/020.columns-container/columns-container.html +22 -0
  262. package/livingdocs/070.Container/020.columns-container/ld-conf.json +17 -0
  263. package/livingdocs/080.CV/010.cv/cv.html +40 -0
  264. package/livingdocs/080.CV/010.cv/ld-conf.json +11 -0
  265. package/livingdocs/080.CV/020.cv-time-span/cv-time-span.html +13 -0
  266. package/livingdocs/080.CV/020.cv-time-span/ld-conf.json +4 -0
  267. package/livingdocs/090.Signatures/010.signature-container/ld-conf.json +18 -0
  268. package/livingdocs/090.Signatures/010.signature-container/scss/app.scss +1 -0
  269. package/livingdocs/090.Signatures/010.signature-container/scss/editor.scss +1 -0
  270. package/livingdocs/090.Signatures/010.signature-container/scss/general.scss +5 -0
  271. package/livingdocs/090.Signatures/010.signature-container/scss/pdf.scss +0 -0
  272. package/livingdocs/090.Signatures/010.signature-container/scss/web.scss +6 -0
  273. package/livingdocs/090.Signatures/010.signature-container/scss/word.scss +0 -0
  274. package/livingdocs/090.Signatures/010.signature-container/scss/xbrl.scss +1 -0
  275. package/livingdocs/090.Signatures/010.signature-container/signature-container.html +6 -0
  276. package/livingdocs/090.Signatures/020.signature-item/ld-conf.json +11 -0
  277. package/livingdocs/090.Signatures/020.signature-item/scss/app.scss +1 -0
  278. package/livingdocs/090.Signatures/020.signature-item/scss/editor.scss +1 -0
  279. package/livingdocs/090.Signatures/020.signature-item/scss/general.scss +9 -0
  280. package/livingdocs/090.Signatures/020.signature-item/scss/pdf.scss +0 -0
  281. package/livingdocs/090.Signatures/020.signature-item/scss/web.scss +5 -0
  282. package/livingdocs/090.Signatures/020.signature-item/scss/word.scss +0 -0
  283. package/livingdocs/090.Signatures/020.signature-item/scss/xbrl.scss +1 -0
  284. package/livingdocs/090.Signatures/020.signature-item/signature-item.html +9 -0
  285. package/livingdocs/100.Misc/010.anchor/anchor.html +8 -0
  286. package/livingdocs/100.Misc/010.anchor/ld-conf.json +4 -0
  287. package/livingdocs/100.Misc/020.accordion/accordion.html +8 -0
  288. package/livingdocs/100.Misc/020.accordion/ld-conf.json +26 -0
  289. package/livingdocs/110.PDF/010.pdf-pagebreak/ld-conf.json +4 -0
  290. package/livingdocs/110.PDF/010.pdf-pagebreak/pdf-pagebreak.html +1 -0
  291. package/livingdocs/110.PDF/020.pdf-column-container/ld-conf.json +4 -0
  292. package/livingdocs/110.PDF/020.pdf-column-container/pdf-column-container.html +5 -0
  293. package/livingdocs/110.PDF/030.pdf-publication-title/ld-conf.json +4 -0
  294. package/livingdocs/110.PDF/030.pdf-publication-title/pdf-publication-title.html +7 -0
  295. package/livingdocs/110.PDF/040.pdf-chapter-title/ld-conf.json +4 -0
  296. package/livingdocs/110.PDF/040.pdf-chapter-title/pdf-chapter-title.html +7 -0
  297. package/livingdocs/110.PDF/050.pdf-chapter-navigation-container/ld-conf.json +17 -0
  298. package/livingdocs/110.PDF/050.pdf-chapter-navigation-container/pdf-chapter-navigation.html +10 -0
  299. package/livingdocs/110.PDF/060.pdf-chapter-navigation-item/ld-conf.json +6 -0
  300. package/livingdocs/110.PDF/060.pdf-chapter-navigation-item/pdf-chapter-navigation-item.html +7 -0
  301. package/livingdocs/110.PDF/060.pdf-chapter-navigation-item/properties.json +7 -0
  302. package/livingdocs/110.PDF/070.pdf-cover/ld-conf.json +25 -0
  303. package/livingdocs/110.PDF/070.pdf-cover/pdf-cover.html +26 -0
  304. package/livingdocs/110.PDF/080.pdf-toc-page/ld-conf.json +15 -0
  305. package/livingdocs/110.PDF/080.pdf-toc-page/pdf-toc-page.html +8 -0
  306. package/livingdocs/{PDF_only/pdf-toc-page → 110.PDF/080.pdf-toc-page}/properties.json +20 -12
  307. package/livingdocs/110.PDF/090.pdf-toc-item-title/ld-conf.json +5 -0
  308. package/livingdocs/110.PDF/090.pdf-toc-item-title/pdf-toc-item-title.html +3 -0
  309. package/livingdocs/110.PDF/100.pdf-toc-item/ld-conf.json +14 -0
  310. package/livingdocs/110.PDF/100.pdf-toc-item/pdf-toc-item.html +6 -0
  311. package/livingdocs/{PDF_only/pdf-toc-item → 110.PDF/100.pdf-toc-item}/properties.json +7 -7
  312. package/livingdocs/110.PDF/110.pdf-toc-item-blank/ld-conf.json +5 -0
  313. package/livingdocs/110.PDF/110.pdf-toc-item-blank/pdf-toc-item-blank.html +4 -0
  314. package/livingdocs/120.Startpage/.gitkeep +0 -0
  315. package/livingdocs/999.Properties/alignment/properties.json +36 -0
  316. package/livingdocs/{Text/quote-with-portrait → 999.Properties/hide-quote-characters}/properties.json +7 -12
  317. package/livingdocs/999.Properties/pdf-spacer/properties.json +43 -0
  318. package/livingdocs/999.Properties/width/properties.json +32 -0
  319. package/package.json +48 -50
  320. package/scripts/beaver.js +317 -316
  321. package/scripts/build.d.ts +4 -7
  322. package/scripts/build.js +837 -812
  323. package/scripts/components.js +564 -566
  324. package/scripts/config.d.ts +8 -0
  325. package/scripts/config.js +52 -1
  326. package/scripts/doPublish.js +55 -43
  327. package/scripts/folders.d.ts +43 -0
  328. package/scripts/folders.js +46 -0
  329. package/scripts/init.js +65 -45
  330. package/scripts/ldd/LivingdocsDesignValidator.d.ts +61 -0
  331. package/scripts/ldd/LivingdocsDesignValidator.js +296 -0
  332. package/scripts/ldd/__tests__/LivingdocsDesignValidation.test.mjs +273 -0
  333. package/scripts/ldd/mapLdd.d.ts +1 -0
  334. package/scripts/ldd/mapLdd.js +204 -0
  335. package/scripts/prepare.d.ts +2 -0
  336. package/scripts/prepare.js +66 -0
  337. package/scripts/preparePublish.d.ts +1 -1
  338. package/scripts/preparePublish.js +121 -88
  339. package/scripts/renamePackage.js +48 -48
  340. package/scripts/utils.d.ts +45 -30
  341. package/scripts/utils.js +163 -106
  342. package/srl/components/Srl/Aria/TabChain.vue +100 -0
  343. package/srl/components/Srl/Article/Autoload.vue +41 -0
  344. package/srl/components/Srl/Article/DialogButton.vue +55 -0
  345. package/srl/components/Srl/Article/Root.vue +76 -0
  346. package/srl/components/Srl/Menu/Item/Content/Image.vue +12 -0
  347. package/srl/components/Srl/Menu/Item/Content/ImageAfter.vue +13 -0
  348. package/srl/components/Srl/Menu/Item/Content/ImageBefore.vue +13 -0
  349. package/srl/components/Srl/Menu/Item/Content/Text.vue +9 -0
  350. package/srl/components/Srl/Menu/Item/Content.vue +23 -0
  351. package/srl/components/Srl/Menu/Item.vue +208 -0
  352. package/srl/components/Srl/Menu/List.vue +184 -0
  353. package/srl/components/Srl/Page/App.vue +65 -0
  354. package/srl/components/Srl/Page/Dialog.vue +71 -0
  355. package/srl/composables/article.ts +24 -0
  356. package/srl/composables/articles.ts +41 -0
  357. package/srl/composables/config.ts +165 -0
  358. package/srl/composables/downloads.ts +46 -0
  359. package/srl/composables/index.ts +34 -0
  360. package/srl/composables/locale.ts +8 -0
  361. package/srl/composables/menu.ts +101 -0
  362. package/srl/composables/root.ts +5 -0
  363. package/srl/composables/search.ts +108 -0
  364. package/srl/composables/settings.ts +9 -0
  365. package/srl/composables/viewPort.ts +78 -0
  366. package/srl/imports/app.scss +0 -0
  367. package/srl/imports/ldd.scss +0 -0
  368. package/srl/imports/pdf.scss +0 -0
  369. package/srl/imports/word.scss +0 -0
  370. package/srl/imports/xbrl.scss +0 -0
  371. package/srl/plugins/asyncLdComponent.ts +2 -0
  372. package/srl/plugins/initProject.ts +19 -0
  373. package/srl/plugins/viteSrlPlugin.ts +214 -0
  374. package/srl/plugins/vueSrlPlugin.ts +23 -0
  375. package/{scss → srl/scss}/colors/functions.scss +18 -18
  376. package/{scss/helpers → srl/scss/colors}/index.scss +3 -3
  377. package/{scss → srl/scss}/colors/mixins.scss +45 -45
  378. package/{scss → srl/scss}/colors/variables.scss +6 -6
  379. package/srl/scss/config.scss +7 -0
  380. package/{scss → srl/scss}/core-styles.scss +23 -22
  381. package/{scss → srl/scss}/fonts/functions.scss +21 -21
  382. package/{scss/colors → srl/scss/fonts}/index.scss +3 -3
  383. package/{scss → srl/scss}/fonts/mixins.scss +31 -31
  384. package/{scss → srl/scss}/fonts/variables.scss +8 -8
  385. package/{scss → srl/scss}/grid/functions.scss +49 -29
  386. package/{scss/fonts → srl/scss/grid}/index.scss +3 -3
  387. package/{scss → srl/scss}/grid/mixins.scss +246 -388
  388. package/{scss → srl/scss}/grid/variables.scss +11 -10
  389. package/srl/scss/helpers/functions.scss +0 -0
  390. package/{scss/grid → srl/scss/helpers}/index.scss +3 -3
  391. package/{scss → srl/scss}/helpers/mixins.scss +54 -87
  392. package/{scss → srl/scss}/helpers/variables.scss +7 -7
  393. package/{scss → srl/scss}/index.scss +8 -8
  394. package/{scss → srl/scss}/meta/functions.scss +64 -64
  395. package/srl/scss/meta/index.scss +3 -0
  396. package/{scss → srl/scss}/meta/mixins.scss +6 -6
  397. package/{scss → srl/scss}/meta/variables.scss +8 -8
  398. package/{scss → srl/scss}/spacer/functions.scss +9 -9
  399. package/srl/scss/spacer/index.scss +3 -0
  400. package/{scss → srl/scss}/spacer/mixins.scss +236 -236
  401. package/{scss → srl/scss}/spacer/variables.scss +6 -6
  402. package/{scss → srl/scss}/system/functions.scss +77 -77
  403. package/srl/scss/system/index.scss +3 -0
  404. package/{scss → srl/scss}/system/mixins.scss +27 -27
  405. package/{scss → srl/scss}/system/root.scss +39 -39
  406. package/{scss → srl/scss}/system/variables.scss +13 -13
  407. package/{scss → srl/scss}/typography/functions.scss +63 -63
  408. package/srl/scss/typography/index.scss +3 -0
  409. package/{scss → srl/scss}/typography/mixins.scss +302 -262
  410. package/{scss → srl/scss}/typography/variables.scss +11 -11
  411. package/srl/scss/xbrl-core-styles.scss +47 -0
  412. package/{dev/nswow → srl/srl}/ArticleAutoloader.ts +100 -100
  413. package/{dev/nswow → srl/srl}/ArticleLoader.ts +98 -91
  414. package/srl/srl/Awesomizr.js +682 -0
  415. package/srl/srl/colors.scss +3 -0
  416. package/srl/srl/config.scss +7 -0
  417. package/srl/srl/core-styles.scss +2 -0
  418. package/srl/srl/fonts.scss +2 -0
  419. package/srl/srl/grid.scss +2 -0
  420. package/srl/srl/helpers.scss +2 -0
  421. package/{dev/nswow → srl/srl}/index.scss +9 -9
  422. package/srl/srl/meta.scss +2 -0
  423. package/srl/srl/pdf.scss +2 -0
  424. package/srl/srl/spacer.scss +2 -0
  425. package/srl/srl/system.scss +2 -0
  426. package/srl/srl/typography.scss +3 -0
  427. package/srl/types/components.d.ts +17 -0
  428. package/srl/types/nswow.d.ts +121 -0
  429. package/srl/utils/camelCase.ts +11 -0
  430. package/srl/utils/html.ts +82 -0
  431. package/srl/utils/index.ts +5 -0
  432. package/srl/utils/uri.ts +52 -0
  433. package/dev/ldd.html +0 -7
  434. package/dev/livingdocs/Media/image/app.scss +0 -25
  435. package/dev/livingdocs/Media/image/general.scss +0 -11
  436. package/dev/livingdocs/Media/image/image.html +0 -46
  437. package/dev/livingdocs/Media/image/ldd.scss +0 -1
  438. package/dev/livingdocs/Media/image/pdf.scss +0 -1
  439. package/dev/livingdocs/Media/image/print.scss +0 -7
  440. package/dev/livingdocs/Media/image/properties.json +0 -41
  441. package/dev/livingdocs/Media/image/word.scss +0 -1
  442. package/dev/livingdocs/Properties/grid/app.scss +0 -1
  443. package/dev/livingdocs/Properties/grid/general.scss +0 -95
  444. package/dev/livingdocs/Properties/grid/ldd.scss +0 -1
  445. package/dev/livingdocs/Properties/grid/pdf.scss +0 -1
  446. package/dev/livingdocs/Properties/grid/print.scss +0 -94
  447. package/dev/livingdocs/Properties/grid/properties.json +0 -68
  448. package/dev/livingdocs/Properties/grid/web.scss +0 -98
  449. package/dev/livingdocs/Properties/grid/word.scss +0 -1
  450. package/dev/livingdocs/Text/paragraph/general.scss +0 -9
  451. package/dev/livingdocs/Text/paragraph/paragraph.html +0 -22
  452. package/dev/livingdocs/Titles/title-h1/general.scss +0 -10
  453. package/dev/livingdocs/Titles/title-h1/title-h1.html +0 -16
  454. package/dev/livingdocs/Titles/title-h2/app.scss +0 -1
  455. package/dev/livingdocs/Titles/title-h2/general.scss +0 -13
  456. package/dev/livingdocs/Titles/title-h2/ldd.scss +0 -1
  457. package/dev/livingdocs/Titles/title-h2/pdf.scss +0 -1
  458. package/dev/livingdocs/Titles/title-h2/print.scss +0 -36
  459. package/dev/livingdocs/Titles/title-h2/title-h2.html +0 -24
  460. package/dev/livingdocs/Titles/title-h2/web.scss +0 -27
  461. package/dev/livingdocs/Titles/title-h2/word.scss +0 -1
  462. package/dev/livingdocs/Titles/title-h3/app.scss +0 -1
  463. package/dev/livingdocs/Titles/title-h3/general.scss +0 -13
  464. package/dev/livingdocs/Titles/title-h3/ldd.scss +0 -1
  465. package/dev/livingdocs/Titles/title-h3/pdf.scss +0 -1
  466. package/dev/livingdocs/Titles/title-h3/print.scss +0 -34
  467. package/dev/livingdocs/Titles/title-h3/title-h3.html +0 -24
  468. package/dev/livingdocs/Titles/title-h3/web.scss +0 -27
  469. package/dev/livingdocs/Titles/title-h3/word.scss +0 -1
  470. package/dev/livingdocs/Titles/title-h4/app.scss +0 -1
  471. package/dev/livingdocs/Titles/title-h4/general.scss +0 -13
  472. package/dev/livingdocs/Titles/title-h4/ldd.scss +0 -1
  473. package/dev/livingdocs/Titles/title-h4/pdf.scss +0 -1
  474. package/dev/livingdocs/Titles/title-h4/print.scss +0 -34
  475. package/dev/livingdocs/Titles/title-h4/title-h4.html +0 -24
  476. package/dev/livingdocs/Titles/title-h4/web.scss +0 -27
  477. package/dev/livingdocs/Titles/title-h4/word.scss +0 -1
  478. package/dev/livingdocs/Titles/title-h5/general.scss +0 -10
  479. package/dev/livingdocs/Titles/title-h5/title-h5.html +0 -16
  480. package/dev/livingdocs/Titles/title-h6/general.scss +0 -10
  481. package/dev/livingdocs/Titles/title-h6/title-h6.html +0 -16
  482. package/dev/nswow/colors.scss +0 -3
  483. package/dev/nswow/config.scss +0 -13
  484. package/dev/nswow/core-styles.scss +0 -2
  485. package/dev/nswow/fonts.scss +0 -2
  486. package/dev/nswow/grid.scss +0 -2
  487. package/dev/nswow/helpers.scss +0 -2
  488. package/dev/nswow/meta.scss +0 -2
  489. package/dev/nswow/spacer.scss +0 -2
  490. package/dev/nswow/system.scss +0 -2
  491. package/dev/nswow/typography.scss +0 -3
  492. package/dev/nswow.config.json +0 -293
  493. package/dev/pdf.ts +0 -1
  494. package/dev/src/components/LanguageSwitch.vue +0 -100
  495. package/dev/src/components/MenuItem/MenuArticle.vue +0 -15
  496. package/dev/src/components/MenuItem/MenuEntry.vue +0 -26
  497. package/dev/src/components/MenuItem/MenuExternal.vue +0 -28
  498. package/dev/src/components/MenuItem/index.ts +0 -5
  499. package/dev/src/components/PageModal.vue +0 -95
  500. package/dev/src/components/ScrollToTop.vue +0 -63
  501. package/dev/src/composables/config.ts +0 -48
  502. package/dev/src/main.ts +0 -16
  503. package/dev/src/types/nswow.d.ts +0 -73
  504. package/dev/src/views/DownloadsView.vue +0 -88
  505. package/dev/src/views/SearchView.vue +0 -126
  506. package/dev/word.ts +0 -1
  507. package/livingdocs/Buttons/button/app.scss +0 -1
  508. package/livingdocs/Buttons/button/button.html +0 -18
  509. package/livingdocs/Buttons/button/general.scss +0 -33
  510. package/livingdocs/Buttons/button/ldd.scss +0 -1
  511. package/livingdocs/Buttons/button/pdf.scss +0 -1
  512. package/livingdocs/Buttons/button/word.scss +0 -1
  513. package/livingdocs/Buttons/button-container/app.scss +0 -1
  514. package/livingdocs/Buttons/button-container/button-container.html +0 -31
  515. package/livingdocs/Buttons/button-container/general.scss +0 -12
  516. package/livingdocs/Buttons/button-container/ldd.scss +0 -1
  517. package/livingdocs/Buttons/button-container/pdf.scss +0 -3
  518. package/livingdocs/Buttons/button-container/properties.json +0 -19
  519. package/livingdocs/Buttons/button-container/word.scss +0 -3
  520. package/livingdocs/CV/cv-timeline/app.scss +0 -1
  521. package/livingdocs/CV/cv-timeline/cv-timeline.html +0 -19
  522. package/livingdocs/CV/cv-timeline/general.scss +0 -1
  523. package/livingdocs/CV/cv-timeline/ldd.scss +0 -1
  524. package/livingdocs/CV/cv-timeline/pdf.scss +0 -1
  525. package/livingdocs/CV/cv-timeline/print.scss +0 -35
  526. package/livingdocs/CV/cv-timeline/web.scss +0 -27
  527. package/livingdocs/CV/cv-timeline/word.scss +0 -1
  528. package/livingdocs/Container/column-container/column-container.html +0 -44
  529. package/livingdocs/Container/column-container/general.scss +0 -105
  530. package/livingdocs/Container/column-container/properties.json +0 -83
  531. package/livingdocs/Lists/alphanumeric-list-group/alphanumeric-list-group.html +0 -25
  532. package/livingdocs/Lists/alphanumeric-list-group/app.scss +0 -1
  533. package/livingdocs/Lists/alphanumeric-list-group/general.scss +0 -5
  534. package/livingdocs/Lists/alphanumeric-list-group/ldd.scss +0 -1
  535. package/livingdocs/Lists/alphanumeric-list-group/pdf.scss +0 -1
  536. package/livingdocs/Lists/alphanumeric-list-group/word.scss +0 -1
  537. package/livingdocs/Lists/list-item/app.scss +0 -1
  538. package/livingdocs/Lists/list-item/general.scss +0 -4
  539. package/livingdocs/Lists/list-item/ldd.scss +0 -1
  540. package/livingdocs/Lists/list-item/list-item.html +0 -17
  541. package/livingdocs/Lists/list-item/pdf.scss +0 -1
  542. package/livingdocs/Lists/list-item/word.scss +0 -1
  543. package/livingdocs/Lists/ordered-list-group/app.scss +0 -1
  544. package/livingdocs/Lists/ordered-list-group/general.scss +0 -5
  545. package/livingdocs/Lists/ordered-list-group/ldd.scss +0 -1
  546. package/livingdocs/Lists/ordered-list-group/ordered-list-group.html +0 -25
  547. package/livingdocs/Lists/ordered-list-group/pdf.scss +0 -1
  548. package/livingdocs/Lists/ordered-list-group/word.scss +0 -1
  549. package/livingdocs/Lists/unordered-list-group/app.scss +0 -1
  550. package/livingdocs/Lists/unordered-list-group/general.scss +0 -5
  551. package/livingdocs/Lists/unordered-list-group/ldd.scss +0 -1
  552. package/livingdocs/Lists/unordered-list-group/pdf.scss +0 -1
  553. package/livingdocs/Lists/unordered-list-group/unordered-list-group.html +0 -25
  554. package/livingdocs/Lists/unordered-list-group/word.scss +0 -1
  555. package/livingdocs/Media/chart/app.scss +0 -19
  556. package/livingdocs/Media/chart/chart.html +0 -29
  557. package/livingdocs/Media/chart/general.scss +0 -11
  558. package/livingdocs/Media/chart/ldd.scss +0 -1
  559. package/livingdocs/Media/chart/pdf.scss +0 -9
  560. package/livingdocs/Media/chart/properties.json +0 -41
  561. package/livingdocs/Media/chart/word.scss +0 -1
  562. package/livingdocs/Media/graphic/app.scss +0 -1
  563. package/livingdocs/Media/graphic/general.scss +0 -18
  564. package/livingdocs/Media/graphic/graphic.html +0 -29
  565. package/livingdocs/Media/graphic/ldd.scss +0 -1
  566. package/livingdocs/Media/graphic/pdf.scss +0 -1
  567. package/livingdocs/Media/graphic/properties.json +0 -36
  568. package/livingdocs/Media/graphic/word.scss +0 -1
  569. package/livingdocs/Media/image/app.scss +0 -25
  570. package/livingdocs/Media/image/general.scss +0 -11
  571. package/livingdocs/Media/image/image.html +0 -55
  572. package/livingdocs/Media/image/ldd.scss +0 -1
  573. package/livingdocs/Media/image/pdf.scss +0 -1
  574. package/livingdocs/Media/image/print.scss +0 -7
  575. package/livingdocs/Media/image/properties.json +0 -41
  576. package/livingdocs/Media/image/word.scss +0 -1
  577. package/livingdocs/Media/nswow-table/app.scss +0 -2
  578. package/livingdocs/Media/nswow-table/app.ts +0 -35
  579. package/livingdocs/Media/nswow-table/general.scss +0 -281
  580. package/livingdocs/Media/nswow-table/ldd.scss +0 -2
  581. package/livingdocs/Media/nswow-table/nswow-table.html +0 -30
  582. package/livingdocs/Media/nswow-table/pdf.scss +0 -8
  583. package/livingdocs/Media/nswow-table/properties.json +0 -66
  584. package/livingdocs/Media/nswow-table/web.scss +0 -23
  585. package/livingdocs/Media/nswow-table/word.scss +0 -2
  586. package/livingdocs/Media/video/app.scss +0 -1
  587. package/livingdocs/Media/video/general.scss +0 -7
  588. package/livingdocs/Media/video/ldd.scss +0 -1
  589. package/livingdocs/Media/video/pdf.scss +0 -1
  590. package/livingdocs/Media/video/print.scss +0 -5
  591. package/livingdocs/Media/video/properties.json +0 -41
  592. package/livingdocs/Media/video/video.html +0 -26
  593. package/livingdocs/Media/video/word.scss +0 -1
  594. package/livingdocs/Misc/accordion/accordion.html +0 -56
  595. package/livingdocs/Misc/accordion/app.scss +0 -63
  596. package/livingdocs/Misc/accordion/app.ts +0 -10
  597. package/livingdocs/Misc/accordion/general.scss +0 -44
  598. package/livingdocs/Misc/accordion/ldd.scss +0 -36
  599. package/livingdocs/Misc/accordion/pdf.scss +0 -39
  600. package/livingdocs/Misc/accordion/word.scss +0 -39
  601. package/livingdocs/Misc/anchor/anchor.html +0 -15
  602. package/livingdocs/Misc/anchor/app.scss +0 -10
  603. package/livingdocs/Misc/anchor/app.ts +0 -11
  604. package/livingdocs/Misc/anchor/general.scss +0 -1
  605. package/livingdocs/Misc/anchor/pdf.scss +0 -1
  606. package/livingdocs/Misc/anchor/print.scss +0 -3
  607. package/livingdocs/Misc/anchor/word.scss +0 -1
  608. package/livingdocs/Misc/spacer/app.scss +0 -1
  609. package/livingdocs/Misc/spacer/general.scss +0 -8
  610. package/livingdocs/Misc/spacer/ldd.scss +0 -1
  611. package/livingdocs/Misc/spacer/pdf.scss +0 -1
  612. package/livingdocs/Misc/spacer/print.scss +0 -18
  613. package/livingdocs/Misc/spacer/properties.json +0 -52
  614. package/livingdocs/Misc/spacer/spacer.html +0 -12
  615. package/livingdocs/Misc/spacer/web.scss +0 -18
  616. package/livingdocs/Misc/spacer/word.scss +0 -1
  617. package/livingdocs/PDF_only/pdf-cover/ldd.scss +0 -42
  618. package/livingdocs/PDF_only/pdf-cover/pdf-cover.html +0 -29
  619. package/livingdocs/PDF_only/pdf-cover/pdf.scss +0 -1
  620. package/livingdocs/PDF_only/pdf-cover/word.scss +0 -1
  621. package/livingdocs/PDF_only/pdf-cover-chapter/ldd.scss +0 -19
  622. package/livingdocs/PDF_only/pdf-cover-chapter/pdf-chapter-cover.html +0 -18
  623. package/livingdocs/PDF_only/pdf-cover-chapter/pdf.scss +0 -1
  624. package/livingdocs/PDF_only/pdf-cover-chapter/print.scss +0 -19
  625. package/livingdocs/PDF_only/pdf-cover-chapter/word.scss +0 -1
  626. package/livingdocs/PDF_only/pdf-pagebreak/general.scss +0 -4
  627. package/livingdocs/PDF_only/pdf-pagebreak/ldd.scss +0 -5
  628. package/livingdocs/PDF_only/pdf-pagebreak/pdf-pagebreak.html +0 -8
  629. package/livingdocs/PDF_only/pdf-publication-title/general.scss +0 -5
  630. package/livingdocs/PDF_only/pdf-publication-title/pdf-publication-title.html +0 -15
  631. package/livingdocs/PDF_only/pdf-toc-item/general.scss +0 -41
  632. package/livingdocs/PDF_only/pdf-toc-item/pdf-toc-item.html +0 -33
  633. package/livingdocs/PDF_only/pdf-toc-item-blank/general.scss +0 -5
  634. package/livingdocs/PDF_only/pdf-toc-item-blank/pdf-toc-item-blank.html +0 -11
  635. package/livingdocs/PDF_only/pdf-toc-item-title/general.scss +0 -5
  636. package/livingdocs/PDF_only/pdf-toc-item-title/pdf-toc-item-title.html +0 -11
  637. package/livingdocs/PDF_only/pdf-toc-page/app.scss +0 -1
  638. package/livingdocs/PDF_only/pdf-toc-page/general.scss +0 -1
  639. package/livingdocs/PDF_only/pdf-toc-page/ldd.scss +0 -1
  640. package/livingdocs/PDF_only/pdf-toc-page/pdf-toc-page.html +0 -33
  641. package/livingdocs/PDF_only/pdf-toc-page/pdf.scss +0 -1
  642. package/livingdocs/PDF_only/pdf-toc-page/word.scss +0 -1
  643. package/livingdocs/PDF_only/pdf-video-link/ldd.scss +0 -16
  644. package/livingdocs/PDF_only/pdf-video-link/pdf-video-link.html +0 -41
  645. package/livingdocs/PDF_only/pdf-video-link/pdf.scss +0 -1
  646. package/livingdocs/PDF_only/pdf-video-link/print.scss +0 -12
  647. package/livingdocs/PDF_only/pdf-video-link/word.scss +0 -1
  648. package/livingdocs/Properties/grid/app.scss +0 -1
  649. package/livingdocs/Properties/grid/general.scss +0 -95
  650. package/livingdocs/Properties/grid/ldd.scss +0 -1
  651. package/livingdocs/Properties/grid/pdf.scss +0 -1
  652. package/livingdocs/Properties/grid/print.scss +0 -94
  653. package/livingdocs/Properties/grid/properties.json +0 -68
  654. package/livingdocs/Properties/grid/web.scss +0 -98
  655. package/livingdocs/Properties/grid/word.scss +0 -1
  656. package/livingdocs/Signatures/signature-container/app.scss +0 -1
  657. package/livingdocs/Signatures/signature-container/general.scss +0 -7
  658. package/livingdocs/Signatures/signature-container/ldd.scss +0 -1
  659. package/livingdocs/Signatures/signature-container/pdf.scss +0 -1
  660. package/livingdocs/Signatures/signature-container/signature-container.html +0 -30
  661. package/livingdocs/Signatures/signature-container/word.scss +0 -1
  662. package/livingdocs/Signatures/signature-item/app.scss +0 -1
  663. package/livingdocs/Signatures/signature-item/general.scss +0 -53
  664. package/livingdocs/Signatures/signature-item/ldd.scss +0 -1
  665. package/livingdocs/Signatures/signature-item/pdf.scss +0 -1
  666. package/livingdocs/Signatures/signature-item/signature-item.html +0 -23
  667. package/livingdocs/Signatures/signature-item/word.scss +0 -1
  668. package/livingdocs/Text/footnote/app.scss +0 -1
  669. package/livingdocs/Text/footnote/footnote.html +0 -14
  670. package/livingdocs/Text/footnote/general.scss +0 -12
  671. package/livingdocs/Text/footnote/ldd.scss +0 -1
  672. package/livingdocs/Text/footnote/pdf.scss +0 -1
  673. package/livingdocs/Text/footnote/print.scss +0 -36
  674. package/livingdocs/Text/footnote/web.scss +0 -27
  675. package/livingdocs/Text/footnote/word.scss +0 -1
  676. package/livingdocs/Text/lead/general.scss +0 -9
  677. package/livingdocs/Text/lead/lead.html +0 -23
  678. package/livingdocs/Text/paragraph/general.scss +0 -9
  679. package/livingdocs/Text/quote/general.scss +0 -43
  680. package/livingdocs/Text/quote/quote.html +0 -29
  681. package/livingdocs/Text/quote-with-portrait/general.scss +0 -81
  682. package/livingdocs/Text/quote-with-portrait/quote-with-portrait.html +0 -49
  683. package/livingdocs/Titles/title-h1/general.scss +0 -10
  684. package/livingdocs/Titles/title-h1/title-h1.html +0 -16
  685. package/livingdocs/Titles/title-h2/app.scss +0 -1
  686. package/livingdocs/Titles/title-h2/general.scss +0 -13
  687. package/livingdocs/Titles/title-h2/ldd.scss +0 -1
  688. package/livingdocs/Titles/title-h2/pdf.scss +0 -1
  689. package/livingdocs/Titles/title-h2/print.scss +0 -36
  690. package/livingdocs/Titles/title-h2/title-h2.html +0 -26
  691. package/livingdocs/Titles/title-h2/web.scss +0 -27
  692. package/livingdocs/Titles/title-h2/word.scss +0 -1
  693. package/livingdocs/Titles/title-h3/app.scss +0 -1
  694. package/livingdocs/Titles/title-h3/general.scss +0 -13
  695. package/livingdocs/Titles/title-h3/ldd.scss +0 -1
  696. package/livingdocs/Titles/title-h3/pdf.scss +0 -1
  697. package/livingdocs/Titles/title-h3/print.scss +0 -34
  698. package/livingdocs/Titles/title-h3/title-h3.html +0 -26
  699. package/livingdocs/Titles/title-h3/web.scss +0 -27
  700. package/livingdocs/Titles/title-h3/word.scss +0 -1
  701. package/livingdocs/Titles/title-h4/app.scss +0 -1
  702. package/livingdocs/Titles/title-h4/general.scss +0 -13
  703. package/livingdocs/Titles/title-h4/ldd.scss +0 -1
  704. package/livingdocs/Titles/title-h4/pdf.scss +0 -1
  705. package/livingdocs/Titles/title-h4/print.scss +0 -34
  706. package/livingdocs/Titles/title-h4/title-h4.html +0 -26
  707. package/livingdocs/Titles/title-h4/web.scss +0 -27
  708. package/livingdocs/Titles/title-h4/word.scss +0 -1
  709. package/livingdocs/Titles/title-h5/general.scss +0 -10
  710. package/livingdocs/Titles/title-h5/title-h5.html +0 -16
  711. package/livingdocs/Titles/title-h6/general.scss +0 -10
  712. package/livingdocs/Titles/title-h6/title-h6.html +0 -16
  713. package/preparePublish.cjs +0 -95
  714. package/scripts/migrate-livingdocs-build/LICENSE +0 -21
  715. package/scripts/migrate-livingdocs-build/bin/build.d.ts +0 -8
  716. package/scripts/migrate-livingdocs-build/bin/build.js +0 -53
  717. package/scripts/migrate-livingdocs-build/bin/migrate.d.ts +0 -2
  718. package/scripts/migrate-livingdocs-build/bin/migrate.js +0 -43
  719. package/scripts/migrate-livingdocs-build/dev/build/v1.d.ts +0 -9
  720. package/scripts/migrate-livingdocs-build/dev/build/v1.d.ts.map +0 -1
  721. package/scripts/migrate-livingdocs-build/dev/build/v1.js +0 -51
  722. package/scripts/migrate-livingdocs-build/dev/build/v2.d.ts +0 -2
  723. package/scripts/migrate-livingdocs-build/dev/build/v2.d.ts.map +0 -1
  724. package/scripts/migrate-livingdocs-build/dev/build/v2.js +0 -44
  725. package/scripts/migrate-livingdocs-build/dev/build/zip-archive.d.ts +0 -2
  726. package/scripts/migrate-livingdocs-build/dev/build/zip-archive.d.ts.map +0 -1
  727. package/scripts/migrate-livingdocs-build/dev/build/zip-archive.js +0 -39
  728. package/scripts/migrate-livingdocs-build/dev/build.d.ts +0 -9
  729. package/scripts/migrate-livingdocs-build/dev/build.js +0 -7
  730. package/scripts/migrate-livingdocs-build/dev/configuration-defaults.d.ts +0 -20
  731. package/scripts/migrate-livingdocs-build/dev/configuration-defaults.js +0 -18
  732. package/scripts/migrate-livingdocs-build/dev/configuration.d.ts +0 -2
  733. package/scripts/migrate-livingdocs-build/dev/configuration.js +0 -34
  734. package/scripts/migrate-livingdocs-build/dev/lib.d.ts +0 -33
  735. package/scripts/migrate-livingdocs-build/dev/lib.js +0 -251
  736. package/scripts/migrate-livingdocs-build/dev/livingdocs-design.d.ts +0 -9
  737. package/scripts/migrate-livingdocs-build/dev/livingdocs-design.js +0 -80
  738. package/scripts/migrate-livingdocs-build/dev/logger.d.ts +0 -2
  739. package/scripts/migrate-livingdocs-build/dev/logger.js +0 -16
  740. package/scripts/migrate-livingdocs-build/dev/migrate.d.ts +0 -22
  741. package/scripts/migrate-livingdocs-build/dev/migrate.js +0 -241
  742. package/scripts/migrate-livingdocs-build/readme.md +0 -62
  743. package/scripts/vite.d.ts +0 -10
  744. package/scripts/vite.js +0 -58
  745. package/scss/config.scss +0 -7
  746. package/scss/meta/index.scss +0 -3
  747. package/scss/spacer/index.scss +0 -3
  748. package/scss/system/index.scss +0 -3
  749. package/scss/typography/index.scss +0 -3
  750. package/tags.txt +0 -1
  751. /package/dev/livingdocs/{Media/image/web.scss → .gitkeep} +0 -0
  752. /package/{dev/public/.keep → livingdocs/010.Titles/010.title-h1/scss/pdf.scss} +0 -0
  753. /package/livingdocs/{Lists/alphanumeric-list-group → 010.Titles/010.title-h1/scss}/web.scss +0 -0
  754. /package/livingdocs/{Lists/alphanumeric-list-group/print.scss → 010.Titles/010.title-h1/scss/word.scss} +0 -0
  755. /package/livingdocs/{Lists/list-item/print.scss → 010.Titles/020.title-h2/scss/pdf.scss} +0 -0
  756. /package/livingdocs/{Lists/list-item → 010.Titles/020.title-h2/scss}/web.scss +0 -0
  757. /package/livingdocs/{Lists/ordered-list-group/print.scss → 010.Titles/020.title-h2/scss/word.scss} +0 -0
  758. /package/livingdocs/{Lists/ordered-list-group/web.scss → 010.Titles/030.title-h3/scss/pdf.scss} +0 -0
  759. /package/livingdocs/{Lists/unordered-list-group → 010.Titles/030.title-h3/scss}/web.scss +0 -0
  760. /package/livingdocs/{Lists/unordered-list-group/print.scss → 010.Titles/030.title-h3/scss/word.scss} +0 -0
  761. /package/livingdocs/{Media/chart/print.scss → 010.Titles/040.title-h4/scss/pdf.scss} +0 -0
  762. /package/livingdocs/{Media/chart → 010.Titles/040.title-h4/scss}/web.scss +0 -0
  763. /package/livingdocs/{Media/graphic/print.scss → 010.Titles/040.title-h4/scss/word.scss} +0 -0
  764. /package/livingdocs/{Media/graphic/web.scss → 010.Titles/050.title-h5/scss/pdf.scss} +0 -0
  765. /package/livingdocs/{Media/image → 010.Titles/050.title-h5/scss}/web.scss +0 -0
  766. /package/livingdocs/{Media/nswow-table/print.scss → 010.Titles/050.title-h5/scss/word.scss} +0 -0
  767. /package/livingdocs/{Media/video/web.scss → 010.Titles/060.title-h6/scss/pdf.scss} +0 -0
  768. /package/livingdocs/{Signatures/signature-container → 010.Titles/060.title-h6/scss}/web.scss +0 -0
  769. /package/livingdocs/{PDF_only/pdf-cover/print.scss → 010.Titles/060.title-h6/scss/word.scss} +0 -0
  770. /package/livingdocs/{Signatures/signature-container/print.scss → 020.Text/010.lead/scss/pdf.scss} +0 -0
  771. /package/livingdocs/{Signatures/signature-item → 020.Text/010.lead/scss}/web.scss +0 -0
  772. /package/livingdocs/{Signatures/signature-item/print.scss → 020.Text/010.lead/scss/word.scss} +0 -0
  773. /package/{scss/helpers/functions.scss → livingdocs/020.Text/020.paragraph/scss/pdf.scss} +0 -0
@@ -1,566 +1,564 @@
1
- import { createRequire } from 'node:module';
2
- import { resolve, dirname } from 'node:path';
3
- import { glob } from 'glob';
4
- import { copy, ensureDir } from 'fs-extra';
5
- import { rm, statSync, mkdirSync, readdirSync, writeFileSync } from 'node:fs';
6
- import { fileURLToPath } from 'node:url';
7
- import { lddGroupNames } from './utils.js';
8
- import { map } from '@simple-reporting/base/scripts/build.js';
9
-
10
- const require = createRequire(import.meta.url);
11
- const __filename = fileURLToPath(import.meta.url);
12
- const __dirname = dirname(__filename);
13
-
14
- const packagePath = resolve(__dirname, '../');
15
- const CWD = process.cwd();
16
-
17
- const { MultiSelect, Confirm, AutoComplete, Input } = require('enquirer');
18
-
19
- /**
20
- * Adds groups of livingdocs to a specified output directory.
21
- * @returns {boolean} - Returns true if groups were added successfully.
22
- */
23
- async function addGroups() {
24
- const outputPath = resolve(CWD, './livingdocs');
25
- const groupsPath = `${packagePath}/livingdocs`;
26
- const groups = readdirSync(groupsPath);
27
- const groupsExists = [];
28
- for (let i = 0; i < groups.length; i++) {
29
- const group = groups[i];
30
- groupsExists.push({ name: lddGroupNames(group), value: group });
31
- }
32
- groupsExists.sort((a, b) => {
33
- const valueA = a.name.toUpperCase(); // ignore upper and lowercase
34
- const valueB = b.name.toUpperCase(); // ignore upper and lowercase
35
- if (valueA < valueB) {
36
- return -1;
37
- }
38
- if (valueA > valueB) {
39
- return 1;
40
- }
41
- return 0;
42
- });
43
- const prompt = new MultiSelect({
44
- name: (i) => {
45
- return i.value;
46
- },
47
- message:
48
- 'Choose your livingdocs to add (space to select or deselect and enter to submit)',
49
- choices: groupsExists,
50
- limit: 10,
51
- result(names) {
52
- return this.map(names);
53
- },
54
- });
55
-
56
- prompt
57
- .run()
58
- .then(async (groups) => {
59
- let action = false;
60
- const installed = [];
61
- for (const key in groups) {
62
- const group = groups[key];
63
- const components = readdirSync(`${groupsPath}/${group}`);
64
- for (let i = 0; i < components.length; i++) {
65
- const component = components[i];
66
- try {
67
- await statSync(`${outputPath}/${group}/${component}`);
68
- console.log(`Component ${key} / ${component} allready exists!`);
69
- } catch (e) {
70
- action = true;
71
- await copy(
72
- `${groupsPath}/${group}/${component}`,
73
- `${outputPath}/${group}/${component}`,
74
- );
75
- console.log(`Component ${key} / ${component} installed!`);
76
- }
77
- }
78
- }
79
- return action;
80
- })
81
- .then((action) => {
82
- if (action) {
83
- map();
84
- }
85
- return action;
86
- })
87
- .catch(console.error);
88
- return true;
89
- }
90
-
91
- /**
92
- * Adds components from a specified directory to another directory.
93
- * Prompts the user to select which components to add.
94
- *
95
- * @async
96
- * @function addComponents
97
- *
98
- * @returns {Promise<void>} - A promise that resolves when the components are added successfully.
99
- */
100
- async function addComponents() {
101
- const filesToAdd = await glob(`${packagePath}/livingdocs/**/*`, {
102
- maxDepth: 6,
103
- });
104
- const filesExists = await glob(`${CWD}/livingdocs/**/*`, { maxDepth: 3 });
105
- const livingdocsToAdd = [];
106
- const livingdocsExists = [];
107
-
108
- for (let x = 0; x < filesExists.length; x++) {
109
- const c = filesExists[x].replace(`${CWD}/livingdocs/`, '');
110
- livingdocsExists.push(c);
111
- }
112
- for (let x = 0; x < filesToAdd.length; x++) {
113
- const c = filesToAdd[x].replace(`${packagePath}/livingdocs/`, '');
114
- if (!livingdocsExists.includes(c) && c.indexOf('/') !== -1) {
115
- livingdocsToAdd.push({ name: lddGroupNames(c), value: c });
116
- }
117
- }
118
-
119
- if (livingdocsToAdd.length) {
120
- livingdocsToAdd.sort((a, b) => {
121
- const valueA = a.name.toUpperCase(); // ignore upper and lowercase
122
- const valueB = b.name.toUpperCase(); // ignore upper and lowercase
123
- if (valueA < valueB) {
124
- return -1;
125
- }
126
- if (valueA > valueB) {
127
- return 1;
128
- }
129
- return 0;
130
- });
131
-
132
- const prompt = new MultiSelect({
133
- name: (i) => {
134
- return i.value;
135
- },
136
- message:
137
- 'Choose your livingdocs to add (space to select or deselect and enter to submit)',
138
- choices: livingdocsToAdd,
139
- limit: 10,
140
- result(names) {
141
- return this.map(names);
142
- },
143
- });
144
-
145
- prompt
146
- .run()
147
- .then(async (livingdocs) => {
148
- const oKeys = Object.keys(livingdocs);
149
- for (let x = 0; x < oKeys.length; x++) {
150
- await copy(
151
- `${packagePath}/livingdocs/${livingdocs[oKeys[x]]}`,
152
- `${CWD}/livingdocs/${livingdocs[oKeys[x]]}`,
153
- );
154
- }
155
- await map();
156
- console.log('Components installed!');
157
- })
158
- .catch(console.error);
159
- }
160
- }
161
-
162
- /**
163
- * Removes livingdocs groups from the specified directory.
164
- *
165
- * @returns {boolean} Returns true if the livingdocs groups were successfully removed, otherwise false.
166
- */
167
- async function removeGroups() {
168
- const livingdocsPath = resolve(CWD, './livingdocs');
169
- const groupsExists = [];
170
- const groupsList = await readdirSync(livingdocsPath);
171
- for (let i = 0; i < groupsList.length; i++) {
172
- const group = groupsList[i];
173
- groupsExists.push({ name: lddGroupNames(group), value: group });
174
- }
175
- groupsExists.sort((a, b) => {
176
- const valueA = a.name.toUpperCase(); // ignore upper and lowercase
177
- const valueB = b.name.toUpperCase(); // ignore upper and lowercase
178
- if (valueA < valueB) {
179
- return -1;
180
- }
181
- if (valueA > valueB) {
182
- return 1;
183
- }
184
- return 0;
185
- });
186
-
187
- const prompt = new MultiSelect({
188
- name: (i) => {
189
- return i.value;
190
- },
191
- message:
192
- 'Choose your livingdocs groups to remove (space to select or deselect and enter to submit)',
193
- choices: groupsExists,
194
- result(names) {
195
- return this.map(names);
196
- },
197
- });
198
-
199
- prompt
200
- .run()
201
- .then((groups) => {
202
- const oKeys = Object.keys(groups);
203
- if (oKeys.length) {
204
- const prompt = new Confirm({
205
- name: 'question',
206
- message: 'Should the selected livingdocs groups really be deleted?',
207
- });
208
-
209
- prompt.run().then(async (remove) => {
210
- if (remove) {
211
- oKeys.forEach(async (k) => {
212
- await rm(
213
- `${CWD}/livingdocs/${groups[k]}`,
214
- { recursive: true, force: true },
215
- (err) => {
216
- if (err) {
217
- console.error(err);
218
- }
219
- },
220
- );
221
- });
222
- await map();
223
- console.log('Groups removed!');
224
- }
225
- });
226
- }
227
- })
228
- .catch(console.error);
229
- return true;
230
- }
231
-
232
- /**
233
- * Removes livingdocs components based on user selection.
234
- *
235
- * @returns {Promise<void>} A promise that resolves once the components are removed.
236
- */
237
- async function removeComponents() {
238
- const filesExists = await glob(`${CWD}/livingdocs/**/*`, { maxDepth: 3 });
239
- const livingdocsExists = [];
240
- for (let x = 0; x < filesExists.length; x++) {
241
- const c = filesExists[x].replace(`${CWD}/livingdocs/`, '');
242
- if (c.indexOf('/') !== -1) {
243
- const p = c.split('/');
244
- let group = p[0].replace('_and_', ' / ').replace('_', ' ');
245
- livingdocsExists.push({
246
- name: lddGroupNames(`${group} / ${p[1]}`),
247
- value: c,
248
- });
249
- }
250
- }
251
- livingdocsExists.sort((a, b) => {
252
- const valueA = a.name.toUpperCase(); // ignore upper and lowercase
253
- const valueB = b.name.toUpperCase(); // ignore upper and lowercase
254
- if (valueA < valueB) {
255
- return -1;
256
- }
257
- if (valueA > valueB) {
258
- return 1;
259
- }
260
- return 0;
261
- });
262
-
263
- const prompt = new MultiSelect({
264
- name: (i) => {
265
- return i.value;
266
- },
267
- message:
268
- 'Choose your livingdocs components to remove (space to select or deselect and enter to submit)',
269
- choices: livingdocsExists,
270
- result(names) {
271
- return this.map(names);
272
- },
273
- });
274
-
275
- prompt
276
- .run()
277
- .then((livingdocs) => {
278
- const oKeys = Object.keys(livingdocs);
279
- if (oKeys.length) {
280
- const prompt = new Confirm({
281
- name: 'question',
282
- message:
283
- 'Should the selected livingdocs components really be deleted?',
284
- });
285
-
286
- prompt.run().then(async (remove) => {
287
- if (remove) {
288
- oKeys.forEach(async (k) => {
289
- await rm(
290
- `${CWD}/livingdocs/${livingdocs[k]}`,
291
- { recursive: true, force: true },
292
- (err) => {
293
- if (err) {
294
- console.error(err);
295
- }
296
- },
297
- );
298
- });
299
- await map();
300
- console.log('Components removed!');
301
- }
302
- });
303
- }
304
- })
305
- .catch(console.error);
306
- }
307
-
308
- /**
309
- * Maps the given component name to a component object containing group and name properties.
310
- *
311
- * @param {string} name - The name of the component.
312
- * @return {object} - An object with group and name properties representing the mapped component.
313
- */
314
- function mapComponentName(name) {
315
- const component = {
316
- group: false,
317
- name: false,
318
- };
319
- if (name) {
320
- const n = name.split('/');
321
- if (n.length > 1) {
322
- component.group = n[0];
323
- component.name = n[1];
324
- } else {
325
- component.name = name;
326
- }
327
- }
328
- return component;
329
- }
330
-
331
- /**
332
- * Creates a component in the specified group with the given name.
333
- * @param {string} group - The group for the component.
334
- * @param {string} name - The name of the component.
335
- * @return {boolean} - Returns true if the component is successfully created, false otherwise.
336
- */
337
- async function writeComponent(group, name) {
338
- if (!group) {
339
- console.error('Component could not be created. The group is not set!');
340
- return false;
341
- }
342
- if (!name) {
343
- console.error('Component could not be created. The name is not set!');
344
- return false;
345
- }
346
-
347
- try {
348
- const stat = await statSync(`${CWD}/livingdocs/${group}/${name}`);
349
- console.error(`Component ${group}/${name} already exist!`);
350
- } catch (e) {
351
- try {
352
- await statSync(`${CWD}/livingdocs/${group}`);
353
- } catch (e) {
354
- await mkdirSync(`${CWD}/livingdocs/${group}`);
355
- }
356
-
357
- await mkdirSync(`${CWD}/livingdocs/${group}/${name}`);
358
- await writeFileSync(
359
- `${CWD}/livingdocs/${group}/${name}/${name}.html`,
360
- `<script type="ld-conf">
361
- {
362
- "name": "${name}",
363
- "label": "${name}",
364
- "properties": [
365
- "web-width",
366
- "pdf-width"
367
- ]
368
- }
369
- </script>
370
- <p class="srl-${name} srl-article__grid srl-article__grid--content">
371
- <span class="srl-article__grid--inner" doc-editable="text">
372
- Editable Text
373
- </span>
374
- </p>
375
- `,
376
- );
377
- await writeFileSync(
378
- `${CWD}/livingdocs/${group}/${name}/general.scss`,
379
- `@use "nswow";
380
-
381
- .srl-${name} {
382
-
383
- }
384
- `,
385
- );
386
- await writeFileSync(
387
- `${CWD}/livingdocs/${group}/${name}/_web.scss`,
388
- '@use "nswow";',
389
- );
390
- await writeFileSync(
391
- `${CWD}/livingdocs/${group}/${name}/_print.scss`,
392
- '@use "nswow";',
393
- );
394
- await writeFileSync(
395
- `${CWD}/livingdocs/${group}/${name}/ldd.scss`,
396
- '@use "_web";',
397
- );
398
- await writeFileSync(
399
- `${CWD}/livingdocs/${group}/${name}/app.scss`,
400
- '@use "_web";',
401
- );
402
- await writeFileSync(
403
- `${CWD}/livingdocs/${group}/${name}/pdf.scss`,
404
- '@use "_print";',
405
- );
406
- await writeFileSync(
407
- `${CWD}/livingdocs/${group}/${name}/word.scss`,
408
- '@use "_print";',
409
- );
410
- await writeFileSync(
411
- `${CWD}/livingdocs/${group}/${name}/properties.json`,
412
- '{}',
413
- );
414
- await map();
415
- console.log(`Component ${group}/${name} created!`);
416
- }
417
- return true;
418
- }
419
-
420
- /**
421
- * Create a component with the given name. If the component name is not provided, it prompts the user to enter a name.
422
- * If the component name does not have a group, it prompts the user to select a group.
423
- * Once the component name and group are determined, it writes the component.
424
- *
425
- * @param {string} name - The name of the component (optional)
426
- * @return {boolean} - Returns true
427
- */
428
- async function createComponent(name) {
429
- let component = mapComponentName(name);
430
-
431
- if (!component.name) {
432
- const { Input } = require('enquirer');
433
- const prompt = new Input({
434
- message: 'What is your component name?',
435
- description: 'You can combine $group/$component',
436
- });
437
-
438
- prompt
439
- .run()
440
- .then(async (name) => {
441
- component = mapComponentName(name);
442
- if (!component.group) {
443
- const groupFolders = await glob(`${CWD}/livingdocs/*`);
444
- const groups = [];
445
- for (let x = 0; x < groupFolders.length; x++) {
446
- const f = groupFolders[x].split('/');
447
- groups.push(f.pop());
448
- }
449
- groups.sort((a, b) => {
450
- if (a < b) {
451
- return -1;
452
- }
453
- if (a > b) {
454
- return 1;
455
- }
456
- return 0;
457
- });
458
-
459
- const prompt = new AutoComplete({
460
- name: 'group',
461
- message: 'Group',
462
- choices: groups,
463
- });
464
-
465
- prompt
466
- .run()
467
- .then(async (group) => {
468
- await writeComponent(group, component.name);
469
- })
470
- .catch(console.error);
471
- } else {
472
- await writeComponent(component.group, component.name);
473
- }
474
- })
475
- .catch(console.error);
476
- } else if (!component.group) {
477
- const groupFolders = await glob(`${CWD}/livingdocs/*`);
478
- const groups = [];
479
- for (let x = 0; x < groupFolders.length; x++) {
480
- const f = groupFolders[x].split('/');
481
- groups.push(f.pop());
482
- }
483
- groups.sort((a, b) => {
484
- if (a < b) {
485
- return -1;
486
- }
487
- if (a > b) {
488
- return 1;
489
- }
490
- return 0;
491
- });
492
-
493
- const prompt = new AutoComplete({
494
- name: 'group',
495
- message: 'Group',
496
- choices: groups,
497
- });
498
-
499
- prompt
500
- .run()
501
- .then(async (group) => {
502
- await writeComponent(group, component.name);
503
- })
504
- .catch(console.error);
505
- } else {
506
- await writeComponent(component.group, component.name);
507
- }
508
- return true;
509
- }
510
-
511
- /**
512
- * Creates a new group folder for saving living documents.
513
- *
514
- * @param {string} group - The name of the group to create.
515
- * @returns {Promise<boolean>} - Returns a promise that resolves to true if the group was created successfully, otherwise false.
516
- */
517
- async function writeGroup(group) {
518
- if (!group) {
519
- console.error('No group name set!');
520
- return false;
521
- }
522
- const path = resolve(CWD, `./livingdocs/${group}`);
523
- try {
524
- const stat = await statSync(path);
525
- console.error(`Group "${group}" allready exist!`);
526
- return false;
527
- } catch (e) {
528
- await mkdirSync(path);
529
- console.log(`Group "${group}" created!`);
530
- }
531
- return true;
532
- }
533
-
534
- /**
535
- * Creates a group.
536
- *
537
- * @param {string} group - The name of the group to be created. If not provided, user will be prompted to enter the group name.
538
- * @returns {Promise<boolean>} - A promise that resolves to a boolean value indicating if the group was successfully created or not.
539
- */
540
- async function createGroup(group) {
541
- if (!group) {
542
- const { Input } = require('enquirer');
543
- const prompt = new Input({
544
- message: 'What is your group name?',
545
- });
546
-
547
- return await prompt
548
- .run()
549
- .then(async (group) => {
550
- return await writeGroup(group);
551
- })
552
- .catch(console.error);
553
- } else {
554
- return await writeGroup(group);
555
- }
556
- return false;
557
- }
558
-
559
- export {
560
- addComponents,
561
- addGroups,
562
- removeComponents,
563
- removeGroups,
564
- createComponent,
565
- createGroup,
566
- };
1
+ import { createRequire } from 'node:module';
2
+ import { join } from 'node:path/posix';
3
+ import { glob } from 'glob';
4
+ import { copy } from 'fs-extra';
5
+ import { rm, statSync, mkdirSync, readdirSync, writeFileSync } from 'node:fs';
6
+ import { lddGroupNames } from './utils.js';
7
+ import { map } from './build.js';
8
+ import folders from './folders.js';
9
+
10
+ const require = createRequire(import.meta.url);
11
+
12
+ const { MultiSelect, Confirm, AutoComplete } = require('enquirer');
13
+
14
+ /**
15
+ * Adds groups of livingdocs to a specified output directory.
16
+ * @returns {boolean} - Returns true if groups were added successfully.
17
+ */
18
+ async function addGroups() {
19
+ const outputPath = folders.ld;
20
+ const groupsPath = folders.packageLd;
21
+ const groups = readdirSync(groupsPath);
22
+ const groupsExists = [];
23
+ for (let i = 0; i < groups.length; i++) {
24
+ const group = groups[i];
25
+ groupsExists.push({ name: lddGroupNames(group), value: group });
26
+ }
27
+ groupsExists.sort((a, b) => {
28
+ const valueA = a.name.toUpperCase(); // ignore upper and lowercase
29
+ const valueB = b.name.toUpperCase(); // ignore upper and lowercase
30
+ if (valueA < valueB) {
31
+ return -1;
32
+ }
33
+ if (valueA > valueB) {
34
+ return 1;
35
+ }
36
+ return 0;
37
+ });
38
+ const prompt = new MultiSelect({
39
+ name: (i) => {
40
+ return i.value;
41
+ },
42
+ message:
43
+ 'Choose your livingdocs to add (space to select or deselect and enter to submit)',
44
+ choices: groupsExists,
45
+ limit: 10,
46
+ result(names) {
47
+ return this.map(names);
48
+ },
49
+ });
50
+
51
+ prompt
52
+ .run()
53
+ .then(async (groups) => {
54
+ let action = false;
55
+ const installed = [];
56
+ for (const key in groups) {
57
+ const group = groups[key];
58
+ const components = readdirSync(join(groupsPath, group));
59
+ for (let i = 0; i < components.length; i++) {
60
+ const component = components[i];
61
+ try {
62
+ await statSync(join(outputPath, group, component));
63
+ console.log(`Component ${key} / ${component} allready exists!`);
64
+ } catch (e) {
65
+ action = true;
66
+ await copy(
67
+ join(groupsPath, group, component),
68
+ join(outputPath, group, component),
69
+ );
70
+ console.log(`Component ${key} / ${component} installed!`);
71
+ }
72
+ }
73
+ }
74
+ return action;
75
+ })
76
+ .then((action) => {
77
+ if (action) {
78
+ map();
79
+ }
80
+ return action;
81
+ })
82
+ .catch(console.error);
83
+ return true;
84
+ }
85
+
86
+ /**
87
+ * Adds components from a specified directory to another directory.
88
+ * Prompts the user to select which components to add.
89
+ *
90
+ * @async
91
+ * @function addComponents
92
+ *
93
+ * @returns {Promise<void>} - A promise that resolves when the components are added successfully.
94
+ */
95
+ async function addComponents() {
96
+ const filesToAdd = await glob(join(folders.packageLd, '**', '*'), {
97
+ maxDepth: 6,
98
+ });
99
+ const filesExists = await glob(join(folders.ld, '**', '*'), { maxDepth: 3 });
100
+ const livingdocsToAdd = [];
101
+ const livingdocsExists = [];
102
+
103
+ for (let x = 0; x < filesExists.length; x++) {
104
+ const c = filesExists[x].replace(join(folders.ld, '/'), '');
105
+ livingdocsExists.push(c);
106
+ }
107
+ for (let x = 0; x < filesToAdd.length; x++) {
108
+ const c = filesToAdd[x].replace(join(folders.packageLd, '/'), '');
109
+ if (!livingdocsExists.includes(c) && c.indexOf('/') !== -1) {
110
+ livingdocsToAdd.push({ name: lddGroupNames(c), value: c });
111
+ }
112
+ }
113
+
114
+ if (livingdocsToAdd.length) {
115
+ livingdocsToAdd.sort((a, b) => {
116
+ const valueA = a.name.toUpperCase(); // ignore upper and lowercase
117
+ const valueB = b.name.toUpperCase(); // ignore upper and lowercase
118
+ if (valueA < valueB) {
119
+ return -1;
120
+ }
121
+ if (valueA > valueB) {
122
+ return 1;
123
+ }
124
+ return 0;
125
+ });
126
+
127
+ const prompt = new MultiSelect({
128
+ name: (i) => {
129
+ return i.value;
130
+ },
131
+ message:
132
+ 'Choose your livingdocs to add (space to select or deselect and enter to submit)',
133
+ choices: livingdocsToAdd,
134
+ limit: 10,
135
+ result(names) {
136
+ return this.map(names);
137
+ },
138
+ });
139
+
140
+ prompt
141
+ .run()
142
+ .then(async (livingdocs) => {
143
+ const oKeys = Object.keys(livingdocs);
144
+ for (let x = 0; x < oKeys.length; x++) {
145
+ await copy(
146
+ join(folders.packageLd, livingdocs[oKeys[x]]),
147
+ join(folders.ld, livingdocs[oKeys[x]]),
148
+ );
149
+ }
150
+ await map();
151
+ console.log('Components installed!');
152
+ })
153
+ .catch(console.error);
154
+ }
155
+ }
156
+
157
+ /**
158
+ * Removes livingdocs groups from the specified directory.
159
+ *
160
+ * @returns {boolean} Returns true if the livingdocs groups were successfully removed, otherwise false.
161
+ */
162
+ async function removeGroups() {
163
+ const livingdocsPath = folders.ld;
164
+ const groupsExists = [];
165
+ const groupsList = await readdirSync(livingdocsPath);
166
+ for (let i = 0; i < groupsList.length; i++) {
167
+ const group = groupsList[i];
168
+ groupsExists.push({ name: lddGroupNames(group), value: group });
169
+ }
170
+ groupsExists.sort((a, b) => {
171
+ const valueA = a.name.toUpperCase(); // ignore upper and lowercase
172
+ const valueB = b.name.toUpperCase(); // ignore upper and lowercase
173
+ if (valueA < valueB) {
174
+ return -1;
175
+ }
176
+ if (valueA > valueB) {
177
+ return 1;
178
+ }
179
+ return 0;
180
+ });
181
+
182
+ const prompt = new MultiSelect({
183
+ name: (i) => {
184
+ return i.value;
185
+ },
186
+ message:
187
+ 'Choose your livingdocs groups to remove (space to select or deselect and enter to submit)',
188
+ choices: groupsExists,
189
+ result(names) {
190
+ return this.map(names);
191
+ },
192
+ });
193
+
194
+ prompt
195
+ .run()
196
+ .then((groups) => {
197
+ const oKeys = Object.keys(groups);
198
+ if (oKeys.length) {
199
+ const prompt = new Confirm({
200
+ name: 'question',
201
+ message: 'Should the selected livingdocs groups really be deleted?',
202
+ });
203
+
204
+ prompt.run().then(async (remove) => {
205
+ if (remove) {
206
+ oKeys.forEach(async (k) => {
207
+ await rm(
208
+ join(folders.ld, groups[k]),
209
+ { recursive: true, force: true },
210
+ (err) => {
211
+ if (err) {
212
+ console.error(err);
213
+ }
214
+ },
215
+ );
216
+ });
217
+ await map();
218
+ console.log('Groups removed!');
219
+ }
220
+ });
221
+ }
222
+ })
223
+ .catch(console.error);
224
+ return true;
225
+ }
226
+
227
+ /**
228
+ * Removes livingdocs components based on user selection.
229
+ *
230
+ * @returns {Promise<void>} A promise that resolves once the components are removed.
231
+ */
232
+ async function removeComponents() {
233
+ const filesExists = await glob(join(folders.ld, '**', '*'), { maxDepth: 3 });
234
+ const livingdocsExists = [];
235
+ for (let x = 0; x < filesExists.length; x++) {
236
+ const c = filesExists[x].replace(join(folders.ld, '/'), '');
237
+ if (c.indexOf('/') !== -1) {
238
+ const p = c.split('/');
239
+ let group = lddGroupNames(p[0]);
240
+ livingdocsExists.push({
241
+ name: lddGroupNames(`${group} / ${p[1]}`),
242
+ value: c,
243
+ });
244
+ }
245
+ }
246
+ livingdocsExists.sort((a, b) => {
247
+ const valueA = a.name.toUpperCase(); // ignore upper and lowercase
248
+ const valueB = b.name.toUpperCase(); // ignore upper and lowercase
249
+ if (valueA < valueB) {
250
+ return -1;
251
+ }
252
+ if (valueA > valueB) {
253
+ return 1;
254
+ }
255
+ return 0;
256
+ });
257
+
258
+ const prompt = new MultiSelect({
259
+ name: (i) => {
260
+ return i.value;
261
+ },
262
+ message:
263
+ 'Choose your livingdocs components to remove (space to select or deselect and enter to submit)',
264
+ choices: livingdocsExists,
265
+ result(names) {
266
+ return this.map(names);
267
+ },
268
+ });
269
+
270
+ prompt
271
+ .run()
272
+ .then((livingdocs) => {
273
+ const oKeys = Object.keys(livingdocs);
274
+ if (oKeys.length) {
275
+ const prompt = new Confirm({
276
+ name: 'question',
277
+ message:
278
+ 'Should the selected livingdocs components really be deleted?',
279
+ });
280
+
281
+ prompt.run().then(async (remove) => {
282
+ if (remove) {
283
+ oKeys.forEach(async (k) => {
284
+ await rm(
285
+ join(folders.ld, livingdocs[k]),
286
+ { recursive: true, force: true },
287
+ (err) => {
288
+ if (err) {
289
+ console.error(err);
290
+ }
291
+ },
292
+ );
293
+ });
294
+ await map();
295
+ console.log('Components removed!');
296
+ }
297
+ });
298
+ }
299
+ })
300
+ .catch(console.error);
301
+ }
302
+
303
+ /**
304
+ * Maps the given component name to a component object containing group and name properties.
305
+ *
306
+ * @param {string} name - The name of the component.
307
+ * @return {object} - An object with group and name properties representing the mapped component.
308
+ */
309
+ function mapComponentName(name) {
310
+ const component = {
311
+ group: false,
312
+ name: false,
313
+ };
314
+ if (name) {
315
+ const n = name.includes('\\') ? name.split('\\') : name.split('/');
316
+ if (n.length > 1) {
317
+ component.group = n[0];
318
+ component.name = n[1];
319
+ } else {
320
+ component.name = name;
321
+ }
322
+ }
323
+ return component;
324
+ }
325
+
326
+ /**
327
+ * Creates a component in the specified group with the given name.
328
+ * @param {string} group - The group for the component.
329
+ * @param {string} name - The name of the component.
330
+ * @return {boolean} - Returns true if the component is successfully created, false otherwise.
331
+ */
332
+ async function writeComponent(group, name) {
333
+ if (!group) {
334
+ console.error('Component could not be created. The group is not set!');
335
+ return false;
336
+ }
337
+ if (!name) {
338
+ console.error('Component could not be created. The name is not set!');
339
+ return false;
340
+ }
341
+
342
+ try {
343
+ const stat = await statSync(join(folders.ld, group, name));
344
+ console.error(`Component ${group}/${name} already exist!`);
345
+ } catch (e) {
346
+ try {
347
+ await statSync(join(folders.ld, group));
348
+ } catch (e) {
349
+ await mkdirSync(join(folders.ld, group));
350
+ await mkdirSync(join(folders.ld, group));
351
+ }
352
+
353
+ await mkdirSync(join(folders.ld, group, name));
354
+ await mkdirSync(join(folders.ld, group, name, 'scss'));
355
+ await writeFileSync(
356
+ join(folders.ld, group, name, `${name}.html`),
357
+ `<p class="srl-${name} srl-article__grid srl-article__grid--content">
358
+ <span class="srl-article__grid--inner" doc-editable="text">
359
+ Editable Text
360
+ </span>
361
+ </p>
362
+ `,
363
+ );
364
+ await writeFileSync(
365
+ join(folders.ld, group, name, `ld-conf.json`),
366
+ `{
367
+ "name": "${name}",
368
+ "label": "${name.charAt(0).toUpperCase()}${name.slice(1)}"
369
+ }`,
370
+ );
371
+ await writeFileSync(
372
+ join(folders.ld, group, name, 'scss', `general.scss`),
373
+ `@use "srl";
374
+
375
+ .srl-${name} {
376
+
377
+ }`,
378
+ );
379
+ await writeFileSync(
380
+ join(folders.ld, group, name, 'scss', `_web.scss`),
381
+ '@use "srl";',
382
+ );
383
+ await writeFileSync(
384
+ join(folders.ld, group, name, 'scss', `_print.scss`),
385
+ '@use "srl";',
386
+ );
387
+ await writeFileSync(
388
+ join(folders.ld, group, name, 'scss', `ldd.scss`),
389
+ '@use "_web";',
390
+ );
391
+ await writeFileSync(
392
+ join(folders.ld, group, name, 'scss', `app.scss`),
393
+ '@use "_web";',
394
+ );
395
+ await writeFileSync(
396
+ join(folders.ld, group, name, 'scss', `pdf.scss`),
397
+ '@use "_print";',
398
+ );
399
+ await writeFileSync(
400
+ join(folders.ld, group, name, 'scss', `word.scss`),
401
+ '@use "_print";',
402
+ );
403
+ await writeFileSync(
404
+ join(folders.ld, group, name, 'scss', `xbrl.scss`),
405
+ '@use "srl";',
406
+ );
407
+ await writeFileSync(join(folders.ld, group, name, `properties.json`), '{}');
408
+ await map();
409
+ console.log(`Component ${group}/${name} created!`);
410
+ }
411
+ return true;
412
+ }
413
+
414
+ /**
415
+ * Create a component with the given name. If the component name is not provided, it prompts the user to enter a name.
416
+ * If the component name does not have a group, it prompts the user to select a group.
417
+ * Once the component name and group are determined, it writes the component.
418
+ *
419
+ * @param {string} name - The name of the component (optional)
420
+ * @return {boolean} - Returns true
421
+ */
422
+ async function createComponent(name) {
423
+ let component = mapComponentName(name);
424
+
425
+ if (!component.name) {
426
+ const { Input } = require('enquirer');
427
+ const prompt = new Input({
428
+ message: 'What is your component name?',
429
+ description: 'You can combine $group/$component',
430
+ });
431
+
432
+ prompt
433
+ .run()
434
+ .then(async (name) => {
435
+ component = mapComponentName(name);
436
+ if (!component.group) {
437
+ const groupFolders = await glob(join(folders.ld, '*'));
438
+ const groups = [];
439
+ for (let x = 0; x < groupFolders.length; x++) {
440
+ const f = groupFolders[x].includes('\\')
441
+ ? groupFolders[x].split('\\')
442
+ : groupFolders[x].split('/');
443
+ groups.push(f.pop());
444
+ }
445
+ groups.sort((a, b) => {
446
+ if (a < b) {
447
+ return -1;
448
+ }
449
+ if (a > b) {
450
+ return 1;
451
+ }
452
+ return 0;
453
+ });
454
+
455
+ const prompt = new AutoComplete({
456
+ name: 'group',
457
+ message: 'Group',
458
+ choices: groups,
459
+ });
460
+
461
+ prompt
462
+ .run()
463
+ .then(async (group) => {
464
+ await writeComponent(group, component.name);
465
+ })
466
+ .catch(console.error);
467
+ } else {
468
+ await writeComponent(component.group, component.name);
469
+ }
470
+ })
471
+ .catch(console.error);
472
+ } else if (!component.group) {
473
+ const groupFolders = await glob(join(folders.ld, '*'));
474
+ const groups = [];
475
+ for (let x = 0; x < groupFolders.length; x++) {
476
+ const f = groupFolders[x].includes('\\')
477
+ ? groupFolders[x].split('\\')
478
+ : groupFolders[x].split('/');
479
+ groups.push(f.pop());
480
+ }
481
+ groups.sort((a, b) => {
482
+ if (a < b) {
483
+ return -1;
484
+ }
485
+ if (a > b) {
486
+ return 1;
487
+ }
488
+ return 0;
489
+ });
490
+
491
+ const prompt = new AutoComplete({
492
+ name: 'group',
493
+ message: 'Group',
494
+ choices: groups,
495
+ });
496
+
497
+ prompt
498
+ .run()
499
+ .then(async (group) => {
500
+ await writeComponent(group, component.name);
501
+ })
502
+ .catch(console.error);
503
+ } else {
504
+ await writeComponent(component.group, component.name);
505
+ }
506
+ return true;
507
+ }
508
+
509
+ /**
510
+ * Creates a new group folder for saving living documents.
511
+ *
512
+ * @param {string} group - The name of the group to create.
513
+ * @returns {Promise<boolean>} - Returns a promise that resolves to true if the group was created successfully, otherwise false.
514
+ */
515
+ async function writeGroup(group) {
516
+ if (!group) {
517
+ console.error('No group name set!');
518
+ return false;
519
+ }
520
+ const path = join(folders.ld, group);
521
+ try {
522
+ const stat = await statSync(path);
523
+ console.error(`Group "${group}" allready exist!`);
524
+ return false;
525
+ } catch (e) {
526
+ await mkdirSync(path);
527
+ console.log(`Group "${group}" created!`);
528
+ }
529
+ return true;
530
+ }
531
+
532
+ /**
533
+ * Creates a group.
534
+ *
535
+ * @param {string} group - The name of the group to be created. If not provided, user will be prompted to enter the group name.
536
+ * @returns {Promise<boolean>} - A promise that resolves to a boolean value indicating if the group was successfully created or not.
537
+ */
538
+ async function createGroup(group) {
539
+ if (!group) {
540
+ const { Input } = require('enquirer');
541
+ const prompt = new Input({
542
+ message: 'What is your group name?',
543
+ });
544
+
545
+ return await prompt
546
+ .run()
547
+ .then(async (group) => {
548
+ return await writeGroup(group);
549
+ })
550
+ .catch(console.error);
551
+ } else {
552
+ return await writeGroup(group);
553
+ }
554
+ return false;
555
+ }
556
+
557
+ export {
558
+ addComponents,
559
+ addGroups,
560
+ removeComponents,
561
+ removeGroups,
562
+ createComponent,
563
+ createGroup,
564
+ };