@simple-reporting/base 1.0.12 → 1.0.14

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 (40) hide show
  1. package/dev/package.json +15 -15
  2. package/dev/src/assets/scss/app.scss +1 -0
  3. package/dev/src/assets/scss/components/note/accordion.scss +108 -0
  4. package/dev/src/assets/scss/editor.scss +45 -0
  5. package/dev/src/assets/scss/general.scss +1 -0
  6. package/dev/src/components/BypassLinks.vue +3 -5
  7. package/dev/tsconfig.json +1 -1
  8. package/dev/vite.config.ts +1 -1
  9. package/livingdocs/040.Media/030.video/ld-conf.json +1 -1
  10. package/livingdocs/100.Misc/010.anchor/anchor.html +3 -6
  11. package/livingdocs/100.Misc/010.anchor/scss/editor.scss +1 -12
  12. package/livingdocs/110.PDF/010.pdf-pagebreak/pdf-pagebreak.html +2 -2
  13. package/livingdocs/110.PDF/010.pdf-pagebreak/scss/editor.scss +0 -8
  14. package/livingdocs/110.PDF/030.pdf-publication-title/pdf-publication-title.html +2 -5
  15. package/livingdocs/110.PDF/030.pdf-publication-title/scss/editor.scss +0 -11
  16. package/livingdocs/110.PDF/040.pdf-chapter-title/pdf-chapter-title.html +2 -5
  17. package/livingdocs/110.PDF/040.pdf-chapter-title/scss/editor.scss +0 -5
  18. package/package.json +7 -7
  19. package/plugins/viteSrlPlugin.js +270 -0
  20. package/scripts/prepare.d.ts +1 -1
  21. package/scripts/prepare.js +3 -58
  22. package/srl/components/Srl/Menu/Item/Content/Icon.vue +17 -1
  23. package/srl/components/Srl/Menu/Item/Content/IconAfter.vue +26 -3
  24. package/srl/components/Srl/Menu/Item/Content/IconBefore.vue +27 -3
  25. package/srl/components/Srl/Menu/Item/Content/Image.vue +13 -1
  26. package/srl/components/Srl/Menu/Item/Content/ImageAfter.vue +21 -2
  27. package/srl/components/Srl/Menu/Item/Content/ImageBefore.vue +21 -2
  28. package/srl/components/Srl/Menu/Item/Content/Text.vue +14 -3
  29. package/srl/components/Srl/Menu/Item/Content.vue +21 -2
  30. package/srl/components/Srl/Menu/Item.vue +124 -77
  31. package/srl/components/Srl/Menu/List.vue +97 -57
  32. package/srl/components/Srl/Note/Accordion/Content.vue +54 -3
  33. package/srl/components/Srl/Note/Accordion/Toggle.vue +14 -4
  34. package/srl/components/Srl/Note/Accordion.vue +30 -7
  35. package/srl/plugins/vueSrlPlugin.ts +4 -7
  36. package/srl/tsconfig.srl.json +89 -0
  37. package/srl/types/components.d.ts +3 -0
  38. package/srl/utils/html.ts +3 -3
  39. package/srl/utils/uri.ts +3 -1
  40. package/srl/plugins/viteSrlPlugin.ts +0 -224
package/dev/package.json CHANGED
@@ -16,12 +16,12 @@
16
16
  "type-check": "vue-tsc --build",
17
17
  "lint": "eslint . --fix",
18
18
  "format": "prettier --write src/",
19
- "postinstall": "npx srl prepare"
19
+ "postinstall": "srl prepare"
20
20
  },
21
21
  "dependencies": {
22
- "@simple-reporting/base": "^1.0.12",
23
- "axios": "^1.9.0",
24
- "chalk": "^5.4.1",
22
+ "@simple-reporting/base": "^1.0.14",
23
+ "axios": "^1.12.2",
24
+ "chalk": "^5.6.2",
25
25
  "exceljs": "^4.4.0",
26
26
  "file-saver": "^2.0.5",
27
27
  "highcharts": "^11.4.8",
@@ -32,33 +32,33 @@
32
32
  "standard-scss": "github:mms-neidhartschoen/nsfd_standard-scss",
33
33
  "vite-plugin-pwa": "^0.21.2",
34
34
  "vue": "^3.5.13",
35
- "vue-i18n": "^11.1.5",
35
+ "vue-i18n": "^11.1.12",
36
36
  "vue-router": "^4.5.1",
37
37
  "vue3-runtime-template": "^1.0.2",
38
38
  "xlsx": "^0.18.5"
39
39
  },
40
40
  "devDependencies": {
41
41
  "@kne/color-palette": "^0.1.0",
42
- "@rushstack/eslint-patch": "^1.11.0",
42
+ "@rushstack/eslint-patch": "^1.12.0",
43
43
  "@tsconfig/node22": "^22.0.2",
44
44
  "@types/jsdom": "^21.1.7",
45
- "@types/node": "^22.15.29",
45
+ "@types/node": "^22.18.4",
46
46
  "@vitejs/plugin-vue": "^5.2.4",
47
47
  "@vitest/eslint-plugin": "1.1.20",
48
48
  "@vue/eslint-config-prettier": "^10.2.0",
49
- "@vue/eslint-config-typescript": "^14.5.0",
49
+ "@vue/eslint-config-typescript": "^14.6.0",
50
50
  "@vue/test-utils": "^2.4.6",
51
51
  "@vue/tsconfig": "^0.7.0",
52
- "eslint": "^9.28.0",
52
+ "eslint": "^9.35.0",
53
53
  "eslint-plugin-vue": "^9.33.0",
54
54
  "jsdom": "^25.0.1",
55
55
  "npm-run-all2": "^7.0.2",
56
- "prettier": "^3.5.3",
57
- "sass": "^1.89.1",
56
+ "prettier": "^3.6.2",
57
+ "sass": "^1.92.1",
58
58
  "typescript": "~5.6.3",
59
- "vite": "^6.3.5",
60
- "vite-plugin-vue-devtools": "^7.7.6",
61
- "vitest": "^2.1.9",
62
- "vue-tsc": "^2.2.10"
59
+ "vite": "^6.3.6",
60
+ "vite-plugin-vue-devtools": "^7.7.7",
61
+ "vitest": "^3.2.4",
62
+ "vue-tsc": "^2.2.12"
63
63
  }
64
64
  }
@@ -1,5 +1,6 @@
1
1
  @use 'srl';
2
2
  @use 'web';
3
+ @use "./components/note/accordion";
3
4
 
4
5
  .fade-enter-from {
5
6
  opacity: 0;
@@ -0,0 +1,108 @@
1
+ @use "srl";
2
+ @use "assets/scss/placeholders";
3
+
4
+ $transition-duration: .3s;
5
+
6
+ .lc-accordion
7
+ {
8
+ @extend %srl-grid-base;
9
+ @include srl.spacer-margin-top(400);
10
+
11
+ &__inner {
12
+ @extend %srl-regular-width;
13
+ border-top: 1px solid srl.colors-black-1000();
14
+ border-bottom: 1px solid srl.colors-black-1000();
15
+ }
16
+
17
+ & + & {
18
+ margin-block-start: 0;
19
+ > .lc-accordion__inner {
20
+ border-top: none;
21
+ }
22
+ }
23
+
24
+ &__head {
25
+ @include srl.typography-title-h3();
26
+ width: calc(100% + (var(--srl-container-padding) * 2));
27
+ border: 0;
28
+ text-align: left;
29
+ margin-inline: calc(var(--srl-container-padding) * -1);
30
+ background-color: transparent;
31
+ padding: srl.spacer-get(300) var(--srl-container-padding);
32
+ @include srl.spacer-gap(200);
33
+ cursor: pointer;
34
+ display: flex;
35
+ @extend %srl-regular-width;
36
+
37
+ .lc-title-h3__number {
38
+ width: srl.spacer-get(400);
39
+ color: srl.colors-black-1000();
40
+ }
41
+
42
+ .lc-accordion__icon {
43
+ display: flex;
44
+ justify-content: center;
45
+ align-items: center;
46
+ width: 48px;
47
+ height: 48px;
48
+ margin-left: auto;
49
+ color: srl.colors-black-1000();
50
+ border: srl.system-size-unit(1) solid srl.colors-black-1000();
51
+ border-radius: 24px;
52
+ transition: all $transition-duration ease;
53
+
54
+ &:before {
55
+ content: "+";
56
+ display: flex;
57
+ justify-content: center;
58
+ align-items: center;
59
+ width: srl.system-size-unit(20);
60
+ height: srl.system-size-unit(20);
61
+ transition: all $transition-duration ease;
62
+ }
63
+ }
64
+
65
+ &[aria-expanded="true"] {
66
+ .lc-accordion__icon {
67
+ background-color: srl.colors-black-1000();
68
+ color: srl.colors-white-1000();
69
+ border-color: srl.colors-black-1000();
70
+ &:before {
71
+ content: "-";
72
+ }
73
+ }
74
+ }
75
+ }
76
+
77
+ &__content {
78
+ display: grid;
79
+ grid-template-rows: 1fr;
80
+ transition: padding-bottom $transition-duration ease, grid-template-rows $transition-duration ease;
81
+ overflow: hidden;
82
+
83
+ &[hidden] {
84
+ grid-template-rows: 0fr;
85
+ padding-bottom: 0;
86
+ }
87
+
88
+ &:not([hidden]) {
89
+ padding-bottom: srl.spacer-get(300);
90
+ }
91
+
92
+ &-inner {
93
+ width: 100vw;
94
+ position: relative;
95
+ left: 50%;
96
+ right: 50%;
97
+ margin-left: -50vw;
98
+ margin-right: -50vw;
99
+ overflow: hidden;
100
+
101
+ .lc-accordion:last-child {
102
+ > .lc-accordion__inner {
103
+ border-bottom: none;
104
+ }
105
+ }
106
+ }
107
+ }
108
+ }
@@ -1,5 +1,6 @@
1
1
  @use 'srl';
2
2
  @use 'web';
3
+ @use "placeholders";
3
4
 
4
5
  $editor-color-srl: srl.colors-shade-200();
5
6
  $editor-background-color-srl: srl.colors-primary-1000();
@@ -37,4 +38,48 @@ span.ns-key-figure {
37
38
  // Set width of placeholder image to 100%
38
39
  img[src^="data:image/svg+xml"] {
39
40
  width: 100%
41
+ }
42
+
43
+ .srl-editor-component {
44
+ @include srl.spacer-padding-block(200);
45
+ @extend %srl-grid-base;
46
+
47
+ &.srl-pdf-pagebreak,
48
+ &.srl-anchor {
49
+ border-top: 1px solid #{srl.colors-primary-1000()};
50
+ border-bottom: 1px solid #{srl.colors-primary-1000()};
51
+ }
52
+
53
+ &.srl-pdf-publication-title,
54
+ &.srl-pdf-chapter-title {
55
+ border-bottom: 1px solid #{srl.colors-primary-1000()};
56
+ }
57
+
58
+ .doc-editable.doc-no-placeholder:before {
59
+ display: none !important;
60
+ }
61
+ }
62
+
63
+ .srl-editor-component__text {
64
+ @extend %srl-regular-width;
65
+ display: flex;
66
+ flex-direction: column;
67
+
68
+ &:after {
69
+ order: -1;
70
+ display: block;
71
+ @include srl.typography-editor-label-text();
72
+
73
+ .srl-anchor & {
74
+ content: "Anchor:";
75
+ }
76
+
77
+ .srl-pdf-publication-title & {
78
+ content: "PDF publication title:"
79
+ }
80
+
81
+ .srl-pdf-chapter-title & {
82
+ content: "PDF chapter title:"
83
+ }
84
+ }
40
85
  }
@@ -13,6 +13,7 @@ body {
13
13
  */
14
14
  img {
15
15
  max-width: 100%;
16
+ width: 100%;
16
17
  height: auto;
17
18
  display: block;
18
19
  }
@@ -11,10 +11,8 @@ const pointer = ref<NsWowNavigationItem[]>([
11
11
  id: 'srl-to-main-navigation'
12
12
  },
13
13
  callback: () => {
14
- const elem: HTMLDivElement | null = document.querySelector('#srl-page-navigation')
15
- if (elem) {
16
- elem.querySelector('button')?.focus()
17
- }
14
+ const elem: HTMLDivElement | null = document.querySelector('#srl-page-navigation > ul')
15
+ elem?.focus()
18
16
  }
19
17
  },
20
18
  {
@@ -57,7 +55,7 @@ const pointer = ref<NsWowNavigationItem[]>([
57
55
  overflow: hidden;
58
56
  height: 0;
59
57
 
60
- &:has(button:focus) {
58
+ &:has(*:focus) {
61
59
  height: auto;
62
60
  @include srl.spacer-padding-block(200);
63
61
  }
package/dev/tsconfig.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "path": "./tsconfig.node.json"
6
6
  },
7
7
  {
8
- "path": "./tsconfig.app.json"
8
+ "path": "./.srl/tsconfig.srl.json"
9
9
  },
10
10
  {
11
11
  "path": "./tsconfig.vitest.json"
@@ -1,7 +1,7 @@
1
1
  import { defineConfig } from 'vite'
2
2
  import vue from '@vitejs/plugin-vue'
3
3
  import VueDevTools from 'vite-plugin-vue-devtools'
4
- import viteSrlPlugin from './.srl/plugins/viteSrlPlugin.ts'
4
+ import viteSrlPlugin from '@simple-reporting/base/plugins/viteSrlPlugin.js'
5
5
  import { fileURLToPath, URL } from 'node:url'
6
6
 
7
7
  // https://vitejs.dev/config/
@@ -3,7 +3,7 @@
3
3
  "label": "Video",
4
4
  "properties": ["width-all", "pdf-spacer"],
5
5
  "directives": {
6
- "background": {
6
+ "video-thumbnail": {
7
7
  "imageRatios": ["16:9"],
8
8
  "allowOriginalRatio": false
9
9
  },
@@ -1,11 +1,8 @@
1
- <p class="srl-anchor" data-is-anchor="true">
2
- <span class="srl-anchor__editor-text" data-remove-from-pdf="complete">
3
- Anchor:
4
- </span>
5
- <span class="srl-anchor__text" doc-editable="anchor-text">
1
+ <p class="srl-anchor srl-editor-component" data-is-anchor="true">
2
+ <span class="srl-anchor__text srl-editor-component__text" doc-editable="anchor-text">
6
3
  Must start with a letter (A–Z or a–z); a number is not allowed. After the
7
4
  first letter, any combination of letters (a–z, A–Z), digits (0–9), hyphens
8
5
  (-), underscores (_), colons (:), and periods (.) is allowed. The ID must be
9
6
  unique and is case-sensitive.
10
7
  </span>
11
- </p>
8
+ </p>
@@ -2,18 +2,7 @@
2
2
  @use 'web';
3
3
  @use 'assets/scss/placeholders';
4
4
 
5
- .srl-anchor {
6
- border-top: 1px solid #{srl.colors-secondary-1000()};
7
- border-bottom: 1px solid #{srl.colors-secondary-1000()};
8
- @include srl.spacer-padding-block(200);
9
- @extend %srl-grid-base;
10
- }
11
-
12
- .srl-anchor__editor-text {
13
- @extend %srl-regular-width;
14
- }
15
-
16
5
  .srl-anchor__text {
17
6
  @extend %srl-regular-width;
18
7
  @include srl.typography-pdf-header()
19
- }
8
+ }
@@ -1,5 +1,5 @@
1
- <div class="srl-pdf-pagebreak" data-remove-from-web="complete">
2
- <span class="srl-pdf-pagebreak__editor-text" data-remove-from-pdf="complete">
1
+ <div class="srl-pdf-pagebreak srl-editor-component" data-remove-from-web="complete">
2
+ <span class="srl-pdf-pagebreak__editor-text srl-editor-component__text" data-remove-from-pdf="complete">
3
3
  PDF page break
4
4
  </span>
5
5
  </div>
@@ -3,18 +3,10 @@
3
3
  @use 'assets/scss/placeholders';
4
4
 
5
5
  .srl-pdf-pagebreak {
6
- border-top: 1px solid #{srl.colors-secondary-1000()};
7
- border-bottom: 1px solid #{srl.colors-secondary-1000()};
8
6
  text-align: center;
9
- @include srl.spacer-padding-block(200);
10
- @extend %srl-grid-base;
11
7
  }
12
8
 
13
9
  .srl-pdf-pagebreak__editor-text {
14
10
  @include srl.typography-editor-label-text();
15
11
  @extend %srl-regular-width;
16
- }
17
-
18
- .srl-pdf-pagebreak__text {
19
- @extend %srl-regular-width;
20
12
  }
@@ -1,11 +1,8 @@
1
1
  <p
2
- class="srl-pdf-publication-title"
2
+ class="srl-pdf-publication-title srl-editor-component"
3
3
  data-remove-from-web="complete"
4
4
  >
5
- <span class="srl-pdf-publication-title__editor-text" data-remove-from-pdf="complete">
6
- PDF publication title:
7
- </span>
8
- <span class="srl-pdf-publication-title__text" doc-editable="pdf-publication-titletext">
5
+ <span class="srl-pdf-publication-title__text srl-editor-component__text" doc-editable="pdf-publication-titletext">
9
6
  Publication title
10
7
  </span>
11
8
  </p>
@@ -2,17 +2,6 @@
2
2
  @use 'web';
3
3
  @use 'assets/scss/placeholders';
4
4
 
5
- .srl-pdf-publication-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-publication-title__editor-text {
12
- @include srl.typography-editor-label-text();
13
- @extend %srl-regular-width;
14
- }
15
-
16
5
  .srl-pdf-publication-title__text {
17
6
  @extend %srl-regular-width;
18
7
  }
@@ -1,11 +1,8 @@
1
1
  <p
2
- class="srl-pdf-chapter-title"
2
+ class="srl-pdf-chapter-title srl-editor-component"
3
3
  data-remove-from-web="complete"
4
4
  >
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">
5
+ <span class="srl-pdf-chapter-title__text srl-editor-component__text" doc-editable="pdf-chapter-title-text">
9
6
  Chapter title
10
7
  </span>
11
8
  </p>
@@ -8,11 +8,6 @@
8
8
  @extend %srl-grid-base;
9
9
  }
10
10
 
11
- .srl-pdf-chapter-title__editor-text {
12
- @include srl.typography-editor-label-text();
13
- @extend %srl-regular-width;
14
- }
15
-
16
11
  .srl-pdf-chapter-title__text {
17
12
  @extend %srl-regular-width;
18
13
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simple-reporting/base",
3
- "version": "1.0.12",
3
+ "version": "1.0.14",
4
4
  "description": "Manage srl templates, build and publish",
5
5
  "bin": {
6
6
  "srl": "cli.js"
@@ -19,16 +19,16 @@
19
19
  "dependencies": {
20
20
  "@kne/color-palette": "^0.1.0",
21
21
  "archiver": "^7.0.1",
22
- "chalk": "^5.4.1",
22
+ "chalk": "^5.6.2",
23
23
  "colors": "^1.4.0",
24
24
  "commander": "^11.1.0",
25
25
  "enquirer": "^2.4.1",
26
26
  "fs": "^0.0.1-security",
27
- "fs-extra": "^11.2.0",
27
+ "fs-extra": "^11.3.2",
28
28
  "glob": "^10.4.5",
29
29
  "modern-css-reset": "^1.4.0",
30
30
  "node-html-parser": "^7.0.1",
31
- "vite": "^5.4.11",
31
+ "vite": "^6.3.6",
32
32
  "write-json": "^3.0.1"
33
33
  },
34
34
  "keywords": [
@@ -41,8 +41,8 @@
41
41
  "author": "Michael Dörer",
42
42
  "license": "ISC",
43
43
  "devDependencies": {
44
- "jest": "^30.0.2",
45
- "prettier": "^3.4.2",
46
- "typescript": "^5.7.2"
44
+ "jest": "^30.1.3",
45
+ "prettier": "^3.6.2",
46
+ "typescript": "^5.9.2"
47
47
  }
48
48
  }