@simple-reporting/base 1.0.3 → 1.0.5

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 (92) hide show
  1. package/README.md +10 -10
  2. package/dev/.ddev/config.yaml +1 -1
  3. package/dev/package.json +1 -1
  4. package/dev/src/assets/scss/app.scss +0 -13
  5. package/dev/src/assets/scss/editor.scss +17 -4
  6. package/dev/src/assets/scss/pdf.scss +7 -28
  7. package/dev/srl.config.json +247 -50
  8. package/livingdocs/010.Titles/050.title-h5/ld-conf.json +5 -1
  9. package/livingdocs/010.Titles/060.title-h6/ld-conf.json +4 -1
  10. package/livingdocs/020.Text/030.paragraph-strong/paragraph-strong.html +8 -0
  11. package/livingdocs/020.Text/060.quote-with-portrait/scss/general.scss +27 -0
  12. package/livingdocs/020.Text/060.quote-with-portrait/scss/pdf.scss +8 -2
  13. package/livingdocs/020.Text/080.footnote-item/scss/general.scss +0 -12
  14. package/livingdocs/020.Text/080.footnote-item/scss/pdf.scss +14 -0
  15. package/livingdocs/020.Text/080.footnote-item/scss/web.scss +14 -0
  16. package/livingdocs/030.Lists/010.unordered-list/ld-conf.json +6 -2
  17. package/livingdocs/030.Lists/040.list-item/scss/general.scss +1 -7
  18. package/livingdocs/030.Lists/040.list-item/scss/pdf.scss +14 -0
  19. package/livingdocs/030.Lists/040.list-item/scss/web.scss +14 -0
  20. package/livingdocs/040.Media/010.table/scss/general.scss +8 -8
  21. package/livingdocs/040.Media/010.table/scss/pdf.scss +27 -0
  22. package/livingdocs/040.Media/020.image/image.html +3 -8
  23. package/livingdocs/040.Media/020.image/scss/editor.scss +8 -1
  24. package/livingdocs/040.Media/020.image/scss/general.scss +4 -1
  25. package/livingdocs/040.Media/020.image/scss/pdf.scss +4 -0
  26. package/livingdocs/040.Media/020.image/scss/web.scss +19 -0
  27. package/livingdocs/040.Media/030.video/scss/editor.scss +6 -1
  28. package/livingdocs/040.Media/030.video/scss/general.scss +14 -2
  29. package/livingdocs/040.Media/030.video/scss/pdf.scss +31 -0
  30. package/livingdocs/040.Media/030.video/scss/web.scss +84 -1
  31. package/livingdocs/040.Media/030.video/video.html +14 -28
  32. package/livingdocs/090.Signatures/010.signature-container/scss/pdf.scss +7 -0
  33. package/livingdocs/090.Signatures/020.signature-item/ld-conf.json +6 -0
  34. package/livingdocs/090.Signatures/020.signature-item/scss/pdf.scss +5 -0
  35. package/livingdocs/100.Misc/010.anchor/anchor.html +5 -2
  36. package/livingdocs/100.Misc/010.anchor/ld-conf.json +6 -1
  37. package/livingdocs/100.Misc/010.anchor/scss/editor.scss +19 -0
  38. package/livingdocs/100.Misc/010.anchor/scss/general.scss +5 -0
  39. package/livingdocs/100.Misc/010.anchor/scss/pdf.scss +2 -0
  40. package/livingdocs/100.Misc/010.anchor/scss/web.scss +1 -0
  41. package/livingdocs/100.Misc/010.anchor/scss/word.scss +0 -0
  42. package/livingdocs/100.Misc/010.anchor/scss/xbrl.scss +0 -0
  43. package/livingdocs/110.PDF/010.pdf-pagebreak/pdf-pagebreak.html +5 -1
  44. package/livingdocs/110.PDF/010.pdf-pagebreak/scss/editor.scss +20 -0
  45. package/livingdocs/110.PDF/010.pdf-pagebreak/scss/general.scss +5 -0
  46. package/livingdocs/110.PDF/010.pdf-pagebreak/scss/pdf.scss +6 -0
  47. package/livingdocs/110.PDF/010.pdf-pagebreak/scss/web.scss +1 -0
  48. package/livingdocs/110.PDF/010.pdf-pagebreak/scss/word.scss +0 -0
  49. package/livingdocs/110.PDF/010.pdf-pagebreak/scss/xbrl.scss +1 -0
  50. package/livingdocs/110.PDF/030.pdf-publication-title/pdf-publication-title.html +6 -2
  51. package/livingdocs/110.PDF/030.pdf-publication-title/scss/editor.scss +18 -0
  52. package/livingdocs/110.PDF/030.pdf-publication-title/scss/general.scss +5 -0
  53. package/livingdocs/110.PDF/030.pdf-publication-title/scss/pdf.scss +6 -0
  54. package/livingdocs/110.PDF/030.pdf-publication-title/scss/web.scss +1 -0
  55. package/livingdocs/110.PDF/030.pdf-publication-title/scss/word.scss +0 -0
  56. package/livingdocs/110.PDF/030.pdf-publication-title/scss/xbrl.scss +1 -0
  57. package/livingdocs/110.PDF/040.pdf-chapter-title/pdf-chapter-title.html +6 -2
  58. package/livingdocs/110.PDF/040.pdf-chapter-title/scss/editor.scss +18 -0
  59. package/livingdocs/110.PDF/040.pdf-chapter-title/scss/general.scss +5 -0
  60. package/livingdocs/110.PDF/040.pdf-chapter-title/scss/pdf.scss +6 -0
  61. package/livingdocs/110.PDF/040.pdf-chapter-title/scss/web.scss +1 -0
  62. package/livingdocs/110.PDF/040.pdf-chapter-title/scss/word.scss +0 -0
  63. package/livingdocs/110.PDF/040.pdf-chapter-title/scss/xbrl.scss +1 -0
  64. package/livingdocs/110.PDF/050.pdf-chapter-navigation-container/scss/editor.scss +1 -0
  65. package/livingdocs/110.PDF/050.pdf-chapter-navigation-container/scss/general.scss +1 -0
  66. package/livingdocs/110.PDF/050.pdf-chapter-navigation-container/scss/pdf.scss +15 -0
  67. package/livingdocs/110.PDF/050.pdf-chapter-navigation-container/scss/web.scss +1 -0
  68. package/livingdocs/110.PDF/050.pdf-chapter-navigation-container/scss/word.scss +0 -0
  69. package/livingdocs/110.PDF/050.pdf-chapter-navigation-container/scss/xbrl.scss +1 -0
  70. package/livingdocs/110.PDF/060.pdf-chapter-navigation-item/ld-conf.json +1 -1
  71. package/livingdocs/110.PDF/060.pdf-chapter-navigation-item/scss/editor.scss +1 -0
  72. package/livingdocs/110.PDF/060.pdf-chapter-navigation-item/scss/general.scss +1 -0
  73. package/livingdocs/110.PDF/060.pdf-chapter-navigation-item/scss/pdf.scss +15 -0
  74. package/livingdocs/110.PDF/060.pdf-chapter-navigation-item/scss/web.scss +1 -0
  75. package/livingdocs/110.PDF/060.pdf-chapter-navigation-item/scss/word.scss +0 -0
  76. package/livingdocs/110.PDF/060.pdf-chapter-navigation-item/scss/xbrl.scss +1 -0
  77. package/livingdocs/110.PDF/080.pdf-toc-page/ld-conf.json +9 -3
  78. package/package.json +1 -1
  79. package/scripts/config.js +0 -4
  80. package/scripts/init.js +5 -0
  81. package/srl/components/Srl/Article/Root.vue +1 -1
  82. package/srl/components/Srl/Page/App.vue +3 -9
  83. package/srl/composables/cssStyles.ts +16 -0
  84. package/srl/composables/index.ts +5 -3
  85. package/srl/scss/grid/functions.scss +11 -1
  86. package/srl/scss/spacer/mixins.scss +3 -3
  87. package/srl/scss/typography/mixins.scss +9 -2
  88. package/srl/utils/html.ts +3 -4
  89. package/livingdocs/020.Text/030.paragraph-strong/paragraph.html +0 -16
  90. package/livingdocs/110.PDF/110.pdf-toc-item-blank/ld-conf.json +0 -5
  91. package/livingdocs/110.PDF/110.pdf-toc-item-blank/pdf-toc-item-blank.html +0 -4
  92. package/srl/composables/root.ts +0 -5
@@ -1,7 +1,11 @@
1
1
  <p
2
2
  class="srl-pdf-chapter-title"
3
- doc-editable="pdf-chapter-title-text"
4
3
  data-remove-from-web="complete"
5
4
  >
6
- Chapter title
5
+ <span class="srl-pdf-chapter-title__editor-text" data-remove-from-pdf="complete">
6
+ PDF chapter title:
7
+ </span>
8
+ <span class="srl-pdf-chapter-title__text" doc-editable="pdf-chapter-title-text">
9
+ Chapter title
10
+ </span>
7
11
  </p>
@@ -0,0 +1,18 @@
1
+ @use "srl";
2
+ @use "web";
3
+ @use 'assets/scss/placeholders';
4
+
5
+ .srl-pdf-chapter-title {
6
+ border-bottom: 1px solid #{srl.colors-primary-1000()};
7
+ @include srl.spacer-padding-block(200);
8
+ @extend %srl-grid-base;
9
+ }
10
+
11
+ .srl-pdf-chapter-title__editor-text {
12
+ @include srl.typography-editor-label-text();
13
+ @extend %srl-regular-width;
14
+ }
15
+
16
+ .srl-pdf-chapter-title__text {
17
+ @extend %srl-regular-width;
18
+ }
@@ -0,0 +1,5 @@
1
+ @use 'srl';
2
+
3
+ .srl-pdf-chapter-title__text {
4
+ @include srl.typography-pdf-header()
5
+ }
@@ -0,0 +1,6 @@
1
+ @use 'srl';
2
+ @use 'sass:map';
3
+
4
+ .srl-pdf-chapter-title {
5
+ position: running(chapterNavigation);
6
+ }
@@ -0,0 +1 @@
1
+ @use 'general';
@@ -0,0 +1,15 @@
1
+ @use 'srl';
2
+ @use 'sass:map';
3
+
4
+
5
+ .srl-chapter-navigation {
6
+ position: running(chapterNavigation);
7
+ }
8
+
9
+ .srl-chapter-navigation__list {
10
+ list-style: none;
11
+ padding: 0;
12
+ margin: 0;
13
+ display: flex;
14
+ column-gap: srl.grid-get-gutter-column-gap();
15
+ }
@@ -2,5 +2,5 @@
2
2
  "name": "pdf-chapter-navigation-item",
3
3
  "label": "PDF chapter navigation item",
4
4
  "properties": ["pdf-chapter-navigation-item-current"],
5
- "allowedParents": ["pdf-chapter-navigation"]
5
+ "allowedParents": ["pdf-chapter-navigation-container"]
6
6
  }
@@ -0,0 +1,15 @@
1
+ @use 'srl';
2
+ @use 'sass:map';
3
+
4
+ .srl-chapter-navigation__list-item {
5
+ a {
6
+ text-decoration: none;
7
+ @include srl.typography-pdf-header();
8
+ }
9
+ }
10
+
11
+ .srl-chapter-navigation__list-item--current {
12
+ a {
13
+ color: srl.colors-primary-1000();
14
+ }
15
+ }
@@ -6,10 +6,16 @@
6
6
  "toc": {
7
7
  "allowedChildren": [
8
8
  "pdf-toc-item-title",
9
- "pdf-toc-item",
10
- "pdf-toc-item-blank"
9
+ "pdf-toc-item"
11
10
  ],
12
- "defaultContent": [{ "component": "pdf-toc-item" }]
11
+ "defaultComponents": {
12
+ "paragraph": "pdf-toc-item"
13
+ },
14
+ "defaultContent": [
15
+ {
16
+ "component": "pdf-toc-item"
17
+ }
18
+ ]
13
19
  }
14
20
  }
15
21
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simple-reporting/base",
3
- "version": "1.0.3",
3
+ "version": "1.0.5",
4
4
  "description": "Manage srl templates, build and publish",
5
5
  "bin": {
6
6
  "srl": "cli.js"
package/scripts/config.js CHANGED
@@ -21,9 +21,6 @@ export const baseComponentsToInstall = [
21
21
  '040.Media/010.table',
22
22
  '040.Media/020.image',
23
23
  '040.Media/030.video',
24
- '040.Media/040.interactive-element',
25
- '070.Container/010.aside-content-container',
26
- '070.Container/020.columns-container',
27
24
  '080.CV/010.cv',
28
25
  '080.CV/020.cv-time-span',
29
26
  '090.Signatures/010.signature-container',
@@ -36,7 +33,6 @@ export const baseComponentsToInstall = [
36
33
  '110.PDF/080.pdf-toc-page',
37
34
  '110.PDF/090.pdf-toc-item-title',
38
35
  '110.PDF/100.pdf-toc-item',
39
- '110.PDF/110.pdf-toc-item-blank',
40
36
  '999.Properties/alignment',
41
37
  '999.Properties/hide-quote-characters',
42
38
  '999.Properties/pdf-spacer',
package/scripts/init.js CHANGED
@@ -51,6 +51,11 @@ async function init(folder, options) {
51
51
  );
52
52
  });
53
53
 
54
+ const ddevConfigPath = join(projectPath, '.ddev', 'config.yaml');
55
+ let ddevConfig = await readFileSync(ddevConfigPath, 'utf8');
56
+ ddevConfig = ddevConfig.replace(/name: .*/, `name: ${folder.replaceAll(/[^a-zA-Z0-9-]/g, '-').toLowerCase()}`);
57
+ await writeFileSync(ddevConfigPath, ddevConfig, 'utf8');
58
+
54
59
  await writeFileSync(
55
60
  `${projectPath}/.gitignore`,
56
61
  `/.output/\n/.srl/\n/node_modules/\n/public/downloads/\n/public/html/\n/public/images/\n/public/json/\n/public/exclude/\n/dev-dist/`,
@@ -32,7 +32,7 @@ import { nextTick, ref, onMounted } from 'vue';
32
32
  import VRuntimeTemplate from 'vue3-runtime-template';
33
33
  import Autoload from '@/Autoload.ts';
34
34
  import { useRoute } from 'vue-router';
35
- import { useArticle, useArticles, useConfig, useRoot } from '#composables';
35
+ import { useArticle, useArticles, useConfig } from '#composables';
36
36
  import { prepareHtmlContent } from '#utils';
37
37
 
38
38
  const articleRoot = ref<HTMLDivElement | null>(null);
@@ -36,15 +36,13 @@
36
36
  * to other components in the application.
37
37
  */
38
38
  import App from '@/App.vue';
39
- import { ref, watch } from 'vue';
39
+ import { watch } from 'vue'
40
+ import { useCssStyles } from '#composables'
40
41
 
41
42
  const styleElement = document.createElement('style');
42
43
  document.head.appendChild(styleElement);
43
44
 
44
- const styleContent = ref<string[]>([]);
45
- function addCssStyles(styles: string) {
46
- styleContent.value.includes(styles) || styleContent.value.push(styles);
47
- }
45
+ const styleContent = useCssStyles();
48
46
  watch(
49
47
  styleContent.value,
50
48
  (newStyles) => {
@@ -52,10 +50,6 @@ watch(
52
50
  },
53
51
  { immediate: true },
54
52
  );
55
-
56
- defineExpose({
57
- addCssStyles,
58
- });
59
53
  </script>
60
54
 
61
55
  <template>
@@ -0,0 +1,16 @@
1
+ import { ref } from 'vue';
2
+
3
+ const cssStyles = ref<string[]>([]);
4
+
5
+ export function addCssStyles(cssString: string): void {
6
+ cssStyles.value.includes(cssString) || cssStyles.value.push(cssString);
7
+ }
8
+
9
+ export function useCssStyles(): string[] {
10
+ return cssStyles;
11
+ }
12
+
13
+ export default {
14
+ addCssStyles,
15
+ useCssStyles,
16
+ }
@@ -4,10 +4,10 @@ import _useConfig from './config';
4
4
  import _useDownloads from './downloads';
5
5
  import _useLocale from './locale';
6
6
  import _useMenu from './menu';
7
- import _useRoot from './root';
8
7
  import _useSearch from './search';
9
8
  import _useSettings from './settings';
10
9
  import _useViewPort from './viewPort';
10
+ import * as cssStyles from './cssStyles.ts'
11
11
 
12
12
  export const useArticle = _useArticle;
13
13
  export const useArticles = _useArticles;
@@ -15,10 +15,11 @@ export const useConfig = _useConfig;
15
15
  export const useDownloads = _useDownloads;
16
16
  export const useLocale = _useLocale;
17
17
  export const useMenu = _useMenu;
18
- export const useRoot = _useRoot;
19
18
  export const useSearch = _useSearch;
20
19
  export const useSettings = _useSettings;
21
20
  export const useViewPort = _useViewPort;
21
+ export const addCssStyles = cssStyles.addCssStyles;
22
+ export const useCssStyles = cssStyles.useCssStyles;
22
23
 
23
24
  export default {
24
25
  useArticle,
@@ -27,8 +28,9 @@ export default {
27
28
  useDownloads,
28
29
  useLocale,
29
30
  useMenu,
30
- useRoot,
31
31
  useSearch,
32
32
  useSettings,
33
33
  useViewPort,
34
+ addCssStyles,
35
+ useCssStyles,
34
36
  };
@@ -46,4 +46,14 @@
46
46
  @return calc(
47
47
  ((100% - (#{$columns - 1} * #{$gutter})) * #{$span} / #{$columns}) + (#{$gaps-inside} * #{$gutter})
48
48
  );
49
- }
49
+ }
50
+
51
+ @function calculate-pdf-col-start($start-col) {
52
+ $columns: map.get(variables.$columns, print);
53
+ $gutter: get-gutter-column-gap();
54
+ $span: $start-col - 1;
55
+
56
+ @return calc(
57
+ ((100% - (#{$columns - 1} * #{$gutter})) * #{$span} / #{$columns}) + (#{$span} * #{$gutter})
58
+ );
59
+ }
@@ -79,10 +79,10 @@
79
79
  system.size-unit(map.get($spacerValue, size))
80
80
  );
81
81
 
82
- @if not map.has-key($spacerValue, media, print) {
82
+ @if not (map.has-key($spacerValue, media) and map.has-key(map.get($spacerValue, media), print)) {
83
83
  @include system.add-root-style(
84
84
  $varName,
85
- system.size-unit(map.get($spacerValue, size), in),
85
+ system.size-unit(map.get($spacerValue, size)),
86
86
  print
87
87
  );
88
88
  }
@@ -92,7 +92,7 @@
92
92
  @if $breakpoint == print {
93
93
  @include system.add-root-style(
94
94
  $varName,
95
- system.size-unit(map.get($spacerValue, size), in),
95
+ system.size-unit(map.get($breakpointValue, size)),
96
96
  print
97
97
  );
98
98
  } @else if $breakpoint == up {
@@ -94,8 +94,8 @@
94
94
 
95
95
  @if (map.has-key($map, color)) {
96
96
  @include system.add-root-style(
97
- #{variables.$variable-prefix}typo-#{$typo}-font-color,
98
- colors.get(map.get($defaults, color))
97
+ #{variables.$variable-prefix}typo-#{$typo}-font-color,
98
+ colors.get(map.get($defaults, color))
99
99
  );
100
100
  }
101
101
 
@@ -198,6 +198,13 @@
198
198
  );
199
199
  }
200
200
 
201
+ @if (map.has-key($map, color)) {
202
+ @include system.add-root-style(
203
+ #{variables.$variable-prefix}typo-#{$typo}-font-color,
204
+ colors.get(map.get($defaults, color))
205
+ );
206
+ }
207
+
201
208
  @if (map.has-key($map, letter-spacing)) {
202
209
  @include system.add-root-style(
203
210
  #{variables.$variable-prefix}typo-#{$typo}-letter-spacing,
package/srl/utils/html.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { isRouterPath } from '#utils/uri.ts';
2
- import { useArticles, useLocale, useRoot } from '#composables';
2
+ import { useArticles, useLocale, addCssStyles } from '#composables';
3
+
3
4
  function attributesToString(attributes: Record<string, string | null>): string {
4
5
  return Object.entries(attributes)
5
6
  .map(([key, value]) => (value !== null ? `${key}="${value}"` : key))
@@ -7,7 +8,6 @@ function attributesToString(attributes: Record<string, string | null>): string {
7
8
  }
8
9
 
9
10
  export function prepareHtmlContent(text: string): string {
10
- const rootComponent = useRoot();
11
11
  const articles = useArticles();
12
12
  const locale = useLocale();
13
13
 
@@ -34,7 +34,6 @@ export function prepareHtmlContent(text: string): string {
34
34
  const arrLink = attrObj.href.split('#');
35
35
 
36
36
  if (isRouterPath(arrLink[0])) {
37
- console.log(arrLink);
38
37
  delete attrObj.href;
39
38
  if (arrLink[0].startsWith('./')) {
40
39
  arrLink[0] = arrLink[0].substring(1);
@@ -70,7 +69,7 @@ export function prepareHtmlContent(text: string): string {
70
69
  text = text.replaceAll('../', `./`);
71
70
 
72
71
  text = text.replace(/<style[^>]*>([\s\S]*?)<\/style>/gi, (match, p1) => {
73
- rootComponent.addCssStyles(p1);
72
+ addCssStyles(p1);
74
73
  return '';
75
74
  });
76
75
 
@@ -1,16 +0,0 @@
1
- <p class="srl-grid srl-paragraph srl-paragraph-strong srl-linkable">
2
- <span
3
- class="srl-grid__inner srl-paragraph__text"
4
- doc-editable="transformable-text"
5
- >
6
- Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
7
- eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
8
- voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet
9
- clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit
10
- amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam
11
- nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed
12
- diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet
13
- clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit
14
- amet.
15
- </span>
16
- </p>
@@ -1,5 +0,0 @@
1
- {
2
- "name": "pdf-toc-item-blank",
3
- "label": "ToC item blank",
4
- "allowedParents": ["pdf-toc-page"]
5
- }
@@ -1,4 +0,0 @@
1
- <div class="srl-pdf-toc__item srl-pdf-toc__item--blank">
2
- <div class="srl-pdf-toc__number">&nbsp;</div>
3
- <div class="srl-pdf-toc__text">&nbsp;</div>
4
- </div>
@@ -1,5 +0,0 @@
1
- import SrlPageApp from '#components/Srl/Page/App.vue';
2
-
3
- export default function useRoot(): typeof SrlPageApp {
4
- return window.app._instance.root.setupState;
5
- }