@simple-reporting/base 1.0.40 → 1.0.43

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 (132) hide show
  1. package/dev/package.json +1 -1
  2. package/dev/src/assets/scss/app.scss +0 -1
  3. package/dev/src/assets/scss/components/{note/accordion.scss → accordion.scss} +20 -0
  4. package/dev/src/assets/scss/pdf.scss +11 -0
  5. package/dev/src/assets/scss/placeholders/decoration-line.scss +32 -0
  6. package/dev/src/assets/scss/placeholders/grid.scss +6 -0
  7. package/dev/src/assets/scss/web.scss +1 -1
  8. package/dev/src/assets/scss/xbrl.scss +12 -1
  9. package/dev/src/components/PageMain.vue +5 -3
  10. package/dev/src/i18n/translation.ts +1 -1
  11. package/dev/src/router/index.ts +25 -2
  12. package/dev/srl.config.json +12 -1
  13. package/livingdocs/010.Titles/010.title-h1/scss/general.scss +1 -2
  14. package/livingdocs/010.Titles/020.title-h2/scss/general.scss +2 -2
  15. package/livingdocs/010.Titles/020.title-h2/scss/xbrl.scss +2 -1
  16. package/livingdocs/010.Titles/030.title-h3/scss/general.scss +2 -2
  17. package/livingdocs/010.Titles/030.title-h3/scss/xbrl.scss +2 -1
  18. package/livingdocs/010.Titles/040.title-h4/scss/general.scss +2 -2
  19. package/livingdocs/010.Titles/040.title-h4/scss/xbrl.scss +2 -1
  20. package/livingdocs/010.Titles/050.title-h5/scss/general.scss +1 -2
  21. package/livingdocs/010.Titles/060.title-h6/scss/general.scss +2 -2
  22. package/livingdocs/020.Text/010.lead/scss/general.scss +1 -2
  23. package/livingdocs/020.Text/020.paragraph/scss/_spacing-variations.scss +1 -1
  24. package/livingdocs/020.Text/020.paragraph/scss/general.scss +2 -3
  25. package/livingdocs/020.Text/040.link/scss/_spacing-variations.scss +22 -0
  26. package/livingdocs/020.Text/040.link/scss/general.scss +14 -2
  27. package/livingdocs/020.Text/050.quote/scss/general.scss +2 -0
  28. package/livingdocs/020.Text/060.quote-with-portrait/scss/general.scss +1 -2
  29. package/livingdocs/020.Text/080.footnote-item/scss/general.scss +1 -2
  30. package/livingdocs/030.Lists/010.unordered-list/scss/general.scss +1 -2
  31. package/livingdocs/030.Lists/040.list-item-unordered-list/scss/general.scss +1 -2
  32. package/livingdocs/040.Media/010.table/scss/general.scss +8 -2
  33. package/livingdocs/040.Media/010.table/scss/word.scss +18 -0
  34. package/livingdocs/040.Media/020.image/scss/general.scss +1 -2
  35. package/livingdocs/040.Media/020.image/scss/pdf.scss +1 -0
  36. package/livingdocs/040.Media/030.video/scss/general.scss +1 -2
  37. package/livingdocs/060.Buttons/010.button-container/button-container.html +6 -1
  38. package/livingdocs/060.Buttons/020.button/button.html +7 -1
  39. package/livingdocs/070.Container/010.aside-content-container/aside-content-container.html +1 -1
  40. package/livingdocs/070.Container/010.aside-content-container/ld-conf.json +1 -1
  41. package/livingdocs/070.Container/010.aside-content-container/scss/general.scss +4 -0
  42. package/livingdocs/070.Container/010.aside-content-container/scss/pdf.scss +0 -10
  43. package/livingdocs/070.Container/010.aside-content-container/scss/web.scss +8 -0
  44. package/livingdocs/070.Container/020.columns-container/columns-container.html +1 -1
  45. package/livingdocs/070.Container/020.columns-container/ld-conf.json +1 -1
  46. package/livingdocs/070.Container/020.columns-container/scss/pdf.scss +0 -1
  47. package/livingdocs/070.Container/030.background-container/scss/general.scss +1 -2
  48. package/livingdocs/080.CV/010.cv/scss/editor.scss +1 -1
  49. package/livingdocs/080.CV/010.cv/scss/general.scss +1 -2
  50. package/livingdocs/080.CV/010.cv/scss/xbrl.scss +2 -1
  51. package/livingdocs/080.CV/020.cv-time-span/scss/general.scss +1 -2
  52. package/livingdocs/080.CV/020.cv-time-span/scss/xbrl.scss +2 -1
  53. package/livingdocs/090.Signatures/010.signature-container/scss/xbrl.scss +3 -1
  54. package/livingdocs/090.Signatures/020.signature-item/scss/xbrl.scss +1 -0
  55. package/livingdocs/120.Startpage/010.hero-video/hero-video.html +6 -1
  56. package/livingdocs/120.Startpage/010.hero-video/scss/web.scss +1 -2
  57. package/livingdocs/120.Startpage/020.teaser-title-image-quote/scss/web.scss +1 -2
  58. package/livingdocs/120.Startpage/020.teaser-title-image-quote/teaser-title-image-quote.html +6 -1
  59. package/livingdocs/120.Startpage/030.teaser-quote/scss/web.scss +1 -2
  60. package/livingdocs/120.Startpage/030.teaser-quote/teaser-quote.html +6 -1
  61. package/livingdocs/120.Startpage/040.teaser/scss/web.scss +1 -2
  62. package/livingdocs/120.Startpage/040.teaser/teaser.html +6 -1
  63. package/livingdocs/130.Hosting_Components/010.download-center/download-center.html +1 -1
  64. package/livingdocs/130.Hosting_Components/020.search/scss/web.scss +4 -0
  65. package/livingdocs/130.Hosting_Components/020.search/searchHighlightOnTarget.vue +3 -0
  66. package/livingdocs/999.Properties/background-color/properties.json +23 -0
  67. package/package.json +1 -1
  68. package/scripts/config.js +5 -4
  69. package/scss/colors/mixins.scss +3 -0
  70. package/scss/helpers/mixins.scss +22 -0
  71. package/scss/spacer/mixins.scss +57 -0
  72. package/srl/srl/pdf/PDFNestedContainers.ts +61 -49
  73. package/dev/src/assets/scss/margins.scss +0 -59
  74. /package/livingdocs/110.PDF/{021.pdf-columnbreak → 020.pdf-columnbreak}/ld-conf.json +0 -0
  75. /package/livingdocs/110.PDF/{021.pdf-columnbreak → 020.pdf-columnbreak}/pdf-columnbreak.html +0 -0
  76. /package/livingdocs/110.PDF/{021.pdf-columnbreak → 020.pdf-columnbreak}/scss/editor.scss +0 -0
  77. /package/livingdocs/110.PDF/{021.pdf-columnbreak → 020.pdf-columnbreak}/scss/general.scss +0 -0
  78. /package/livingdocs/110.PDF/{021.pdf-columnbreak → 020.pdf-columnbreak}/scss/pdf.scss +0 -0
  79. /package/livingdocs/110.PDF/{021.pdf-columnbreak → 020.pdf-columnbreak}/scss/web.scss +0 -0
  80. /package/livingdocs/110.PDF/{021.pdf-columnbreak → 020.pdf-columnbreak}/scss/word.scss +0 -0
  81. /package/livingdocs/110.PDF/{021.pdf-columnbreak → 020.pdf-columnbreak}/scss/xbrl.scss +0 -0
  82. /package/livingdocs/110.PDF/{020.pdf-column-container → 025.pdf-column-container}/ld-conf.json +0 -0
  83. /package/livingdocs/110.PDF/{020.pdf-column-container → 025.pdf-column-container}/pdf-column-container.html +0 -0
  84. /package/livingdocs/110.PDF/{020.pdf-column-container → 025.pdf-column-container}/properties.json +0 -0
  85. /package/livingdocs/110.PDF/{020.pdf-column-container → 025.pdf-column-container}/scss/editor.scss +0 -0
  86. /package/livingdocs/110.PDF/{020.pdf-column-container → 025.pdf-column-container}/scss/pdf.scss +0 -0
  87. /package/livingdocs/110.PDF/{070.pdf-cover → 030.pdf-cover}/ld-conf.json +0 -0
  88. /package/livingdocs/110.PDF/{070.pdf-cover → 030.pdf-cover}/pdf-cover.html +0 -0
  89. /package/livingdocs/110.PDF/{070.pdf-cover → 030.pdf-cover}/properties.json +0 -0
  90. /package/livingdocs/110.PDF/{070.pdf-cover → 030.pdf-cover}/scss/editor.scss +0 -0
  91. /package/livingdocs/110.PDF/{070.pdf-cover → 030.pdf-cover}/scss/general.scss +0 -0
  92. /package/livingdocs/110.PDF/{070.pdf-cover → 030.pdf-cover}/scss/pdf.scss +0 -0
  93. /package/livingdocs/110.PDF/{030.pdf-publication-title → 030.pdf-cover}/scss/web.scss +0 -0
  94. /package/livingdocs/110.PDF/{030.pdf-publication-title → 030.pdf-cover}/scss/word.scss +0 -0
  95. /package/livingdocs/110.PDF/{030.pdf-publication-title → 030.pdf-cover}/scss/xbrl.scss +0 -0
  96. /package/livingdocs/110.PDF/{075.pdf-landscape-container → 040.pdf-landscape-container}/ld-conf.json +0 -0
  97. /package/livingdocs/110.PDF/{075.pdf-landscape-container → 040.pdf-landscape-container}/pdf-landscape-container.html +0 -0
  98. /package/livingdocs/110.PDF/{075.pdf-landscape-container → 040.pdf-landscape-container}/properties.json +0 -0
  99. /package/livingdocs/110.PDF/{075.pdf-landscape-container → 040.pdf-landscape-container}/scss/pdf.scss +0 -0
  100. /package/livingdocs/110.PDF/{030.pdf-publication-title → 050.pdf-publication-title}/ld-conf.json +0 -0
  101. /package/livingdocs/110.PDF/{030.pdf-publication-title → 050.pdf-publication-title}/pdf-publication-title.html +0 -0
  102. /package/livingdocs/110.PDF/{030.pdf-publication-title → 050.pdf-publication-title}/scss/editor.scss +0 -0
  103. /package/livingdocs/110.PDF/{030.pdf-publication-title → 050.pdf-publication-title}/scss/general.scss +0 -0
  104. /package/livingdocs/110.PDF/{030.pdf-publication-title → 050.pdf-publication-title}/scss/pdf.scss +0 -0
  105. /package/livingdocs/110.PDF/{040.pdf-chapter-title → 050.pdf-publication-title}/scss/web.scss +0 -0
  106. /package/livingdocs/110.PDF/{040.pdf-chapter-title → 050.pdf-publication-title}/scss/word.scss +0 -0
  107. /package/livingdocs/110.PDF/{040.pdf-chapter-title → 050.pdf-publication-title}/scss/xbrl.scss +0 -0
  108. /package/livingdocs/110.PDF/{040.pdf-chapter-title → 060.pdf-chapter-title}/ld-conf.json +0 -0
  109. /package/livingdocs/110.PDF/{040.pdf-chapter-title → 060.pdf-chapter-title}/pdf-chapter-title.html +0 -0
  110. /package/livingdocs/110.PDF/{040.pdf-chapter-title → 060.pdf-chapter-title}/scss/editor.scss +0 -0
  111. /package/livingdocs/110.PDF/{040.pdf-chapter-title → 060.pdf-chapter-title}/scss/general.scss +0 -0
  112. /package/livingdocs/110.PDF/{040.pdf-chapter-title → 060.pdf-chapter-title}/scss/pdf.scss +0 -0
  113. /package/livingdocs/110.PDF/{050.pdf-chapter-navigation-container → 060.pdf-chapter-title}/scss/web.scss +0 -0
  114. /package/livingdocs/110.PDF/{050.pdf-chapter-navigation-container → 060.pdf-chapter-title}/scss/word.scss +0 -0
  115. /package/livingdocs/110.PDF/{050.pdf-chapter-navigation-container → 060.pdf-chapter-title}/scss/xbrl.scss +0 -0
  116. /package/livingdocs/110.PDF/{050.pdf-chapter-navigation-container → 070.pdf-chapter-navigation-container}/ld-conf.json +0 -0
  117. /package/livingdocs/110.PDF/{050.pdf-chapter-navigation-container → 070.pdf-chapter-navigation-container}/pdf-chapter-navigation.html +0 -0
  118. /package/livingdocs/110.PDF/{050.pdf-chapter-navigation-container → 070.pdf-chapter-navigation-container}/scss/editor.scss +0 -0
  119. /package/livingdocs/110.PDF/{050.pdf-chapter-navigation-container → 070.pdf-chapter-navigation-container}/scss/general.scss +0 -0
  120. /package/livingdocs/110.PDF/{050.pdf-chapter-navigation-container → 070.pdf-chapter-navigation-container}/scss/pdf.scss +0 -0
  121. /package/livingdocs/110.PDF/{060.pdf-chapter-navigation-item → 070.pdf-chapter-navigation-container}/scss/web.scss +0 -0
  122. /package/livingdocs/110.PDF/{060.pdf-chapter-navigation-item → 070.pdf-chapter-navigation-container}/scss/word.scss +0 -0
  123. /package/livingdocs/110.PDF/{060.pdf-chapter-navigation-item → 070.pdf-chapter-navigation-container}/scss/xbrl.scss +0 -0
  124. /package/livingdocs/110.PDF/{060.pdf-chapter-navigation-item → 075.pdf-chapter-navigation-item}/ld-conf.json +0 -0
  125. /package/livingdocs/110.PDF/{060.pdf-chapter-navigation-item → 075.pdf-chapter-navigation-item}/pdf-chapter-navigation-item.html +0 -0
  126. /package/livingdocs/110.PDF/{060.pdf-chapter-navigation-item → 075.pdf-chapter-navigation-item}/properties.json +0 -0
  127. /package/livingdocs/110.PDF/{060.pdf-chapter-navigation-item → 075.pdf-chapter-navigation-item}/scss/editor.scss +0 -0
  128. /package/livingdocs/110.PDF/{060.pdf-chapter-navigation-item → 075.pdf-chapter-navigation-item}/scss/general.scss +0 -0
  129. /package/livingdocs/110.PDF/{060.pdf-chapter-navigation-item → 075.pdf-chapter-navigation-item}/scss/pdf.scss +0 -0
  130. /package/livingdocs/110.PDF/{070.pdf-cover → 075.pdf-chapter-navigation-item}/scss/web.scss +0 -0
  131. /package/livingdocs/110.PDF/{070.pdf-cover → 075.pdf-chapter-navigation-item}/scss/word.scss +0 -0
  132. /package/livingdocs/110.PDF/{070.pdf-cover → 075.pdf-chapter-navigation-item}/scss/xbrl.scss +0 -0
@@ -1,5 +1,5 @@
1
1
  <div class="srl-grid srl-columns srl-nested-container">
2
- <div class="srl-grid__inner srl-flex srl-flex-gap">
2
+ <div class="srl-grid__inner srl-columns__inner srl-flex srl-flex-gap">
3
3
  <div
4
4
  class="srl-columns__column srl-columns__column--1"
5
5
  doc-container="column-1"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "columns-container",
3
- "label": "Columns container",
3
+ "label": "Layout column container",
4
4
  "properties": ["width-reduced", "vertical-alignment", "pdf-spacer"],
5
5
  "directives": {
6
6
  "show-column-3": {
@@ -1,5 +1,4 @@
1
1
  @use "srl";
2
- @use "@/assets/scss/margins";
3
2
 
4
3
  @include srl.system-add-root-style(srl-model-flex-direction, row);
5
4
 
@@ -1,9 +1,8 @@
1
1
  @use "srl";
2
- @use "@/assets/scss/margins";
3
2
  @use "spacing-variations";
4
3
 
5
4
  .srl-background-container {
6
5
  padding-block: srl.spacer-get(800);
7
6
  }
8
7
 
9
- @include margins.srl-component-margin(spacing-variations.$margins);
8
+ @include srl.spacer-component-margin(spacing-variations.$margins);
@@ -7,4 +7,4 @@
7
7
 
8
8
  .srl-cv__button-container {
9
9
  @include srl.spacer-margin-block(400);
10
- }
10
+ }
@@ -1,9 +1,8 @@
1
1
  @use 'srl';
2
2
  @use "sass:map";
3
- @use "@/assets/scss/margins";
4
3
  @use "spacing-variations";
5
4
 
6
- @include margins.srl-component-margin(spacing-variations.$margins);
5
+ @include srl.spacer-component-margin(spacing-variations.$margins);
7
6
 
8
7
  .srl-cv__inner {
9
8
  display: flex;
@@ -1 +1,2 @@
1
- @use 'general';
1
+ @use 'general';
2
+ @use 'web';
@@ -1,13 +1,12 @@
1
1
  @use 'srl';
2
2
  @use "sass:map";
3
- @use "@/assets/scss/margins";
4
3
  @use "spacing-variations";
5
4
 
6
5
  .srl-cv-time-span {
7
6
  @include srl.typography-cv-time-span();
8
7
  }
9
8
 
10
- @include margins.srl-component-margin(spacing-variations.$margins);
9
+ @include srl.spacer-component-margin(spacing-variations.$margins);
11
10
 
12
11
  .srl-cv-time-span__inner {
13
12
  display: flex;
@@ -1 +1,2 @@
1
- @use 'general';
1
+ @use 'general';
2
+ @use 'web';
@@ -1 +1,3 @@
1
- @use 'general';
1
+ @use 'srl';
2
+ @use 'general';
3
+ @use 'web';
@@ -1 +1,2 @@
1
1
  @use 'general';
2
+ @use 'web';
@@ -1,4 +1,9 @@
1
- <div class="srl-hero-video">
1
+ <div
2
+ class="srl-hero-video"
3
+ data-remove-from-pdf="complete"
4
+ data-remove-from-word="complete"
5
+ data-remove-from-xhtml="complete"
6
+ >
2
7
  <div class="srl-hero-video__video-container" doc-html="free-html">
3
8
 
4
9
  </div>
@@ -1,5 +1,4 @@
1
1
  @use "srl";
2
- @use "@/assets/scss/margins";
3
2
  @use "spacing-variations";
4
3
 
5
4
  .srl-hero-video {
@@ -10,7 +9,7 @@
10
9
  }
11
10
  }
12
11
 
13
- @include margins.srl-component-margin(spacing-variations.$margins);
12
+ @include srl.spacer-component-margin(spacing-variations.$margins);
14
13
 
15
14
  .srl-hero-video__video-container {
16
15
  position: relative;
@@ -1,8 +1,7 @@
1
1
  @use "srl";
2
- @use "@/assets/scss/margins";
3
2
  @use "spacing-variations";
4
3
 
5
- @include margins.srl-component-margin(spacing-variations.$margins);
4
+ @include srl.spacer-component-margin(spacing-variations.$margins);
6
5
 
7
6
  .srl-title-image-quote__title-container {
8
7
  @extend %srl-wide-width;
@@ -1,4 +1,9 @@
1
- <div class="srl-grid srl-title-image-quote">
1
+ <div
2
+ class="srl-grid srl-title-image-quote"
3
+ data-remove-from-pdf="complete"
4
+ data-remove-from-word="complete"
5
+ data-remove-from-xhtml="complete"
6
+ >
2
7
  <div class="srl-title-image-quote__title-container">
3
8
  <h2 class="srl-title-h2">
4
9
  <span class="srl-title-h2__number-text-container">
@@ -1,8 +1,7 @@
1
1
  @use "srl";
2
- @use "@/assets/scss/margins";
3
2
  @use "spacing-variations";
4
3
 
5
- @include margins.srl-component-margin(spacing-variations.$margins);
4
+ @include srl.spacer-component-margin(spacing-variations.$margins);
6
5
 
7
6
  .srl-teaser-quote {
8
7
  position: relative;
@@ -1,4 +1,9 @@
1
- <div class="srl-teaser-quote">
1
+ <div
2
+ class="srl-teaser-quote"
3
+ data-remove-from-pdf="complete"
4
+ data-remove-from-word="complete"
5
+ data-remove-from-xhtml="complete"
6
+ >
2
7
  <div class="srl-teaser-quote__alt-text" doc-editable="alt-tag" doc-toggle="show-alt-text"
3
8
  data-alt-text-source="alt">
4
9
  Write the alt text here (optional, but recommended)
@@ -1,12 +1,11 @@
1
1
  @use "srl";
2
- @use "@/assets/scss/margins";
3
2
  @use "spacing-variations";
4
3
 
5
4
  .srl-teaser {
6
5
  @extend %srl-breakout-grid-base;
7
6
  }
8
7
 
9
- @include margins.srl-component-margin(spacing-variations.$margins);
8
+ @include srl.spacer-component-margin(spacing-variations.$margins);
10
9
 
11
10
  .srl-teaser__image-container {
12
11
  @include srl.grid-media-up(desktop) {
@@ -1,4 +1,9 @@
1
- <div class="srl-teaser">
1
+ <div
2
+ class="srl-teaser"
3
+ data-remove-from-pdf="complete"
4
+ data-remove-from-word="complete"
5
+ data-remove-from-xhtml="complete"
6
+ >
2
7
  <div class="srl-teaser__alt-text" doc-editable="alt-tag" doc-toggle="show-alt-text"
3
8
  data-alt-text-source="alt">
4
9
  Write the alt text here (optional, but recommended)
@@ -4,7 +4,7 @@
4
4
  data-remove-from-xhtml="complete"
5
5
  >
6
6
  <div class="srl-download-center" data-remove-from-web="complete">
7
- <span class="srl-download-center__editor-text" data-remove-from-pdf="complete">
7
+ <span class="srl-download-center__editor-text">
8
8
  Placeholder for download list
9
9
  </span>
10
10
  </div>
@@ -96,6 +96,10 @@ Search results
96
96
  @include srl.spacer-margin-top(200);
97
97
  }
98
98
 
99
+ .srl-search-results__nav + * {
100
+ @include srl.spacer-margin-top(400);
101
+ }
102
+
99
103
  .srl-search-results__list {
100
104
  list-style: none;
101
105
  margin: 0;
@@ -242,5 +242,8 @@ onBeforeUnmount(() => {
242
242
  .searchTarget {
243
243
  background-color: srl.colors-primary-1000();
244
244
  color: srl.colors-white-1000();
245
+ padding: srl.spacer-get(50);
246
+ text-box-trim: trim-both;
247
+ border-radius: srl.spacer-get(50);
245
248
  }
246
249
  </style>
@@ -0,0 +1,23 @@
1
+ {
2
+ "background-color": {
3
+ "label": "Background color",
4
+ "type": "select",
5
+ "options": [
6
+ {
7
+ "caption": "None"
8
+ },
9
+ {
10
+ "caption": "Primary",
11
+ "value": "srl-bg-primary-1000"
12
+ },
13
+ {
14
+ "caption": "Secondary",
15
+ "value": "srl-bg-secondary-1000"
16
+ },
17
+ {
18
+ "caption": "Tertiary",
19
+ "value": "srl-bg-tertiary-1000"
20
+ }
21
+ ]
22
+ }
23
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simple-reporting/base",
3
- "version": "1.0.40",
3
+ "version": "1.0.43",
4
4
  "description": "Manage srl templates, build and publish",
5
5
  "repository": {
6
6
  "url": "https://github.com/mmssolutionsio/simple-reporting-library"
package/scripts/config.js CHANGED
@@ -29,20 +29,21 @@ export const baseComponentsToInstall = [
29
29
  '090.Signatures/020.signature-item',
30
30
  '100.Misc/010.anchor',
31
31
  '110.PDF/010.pdf-pagebreak',
32
- '110.PDF/030.pdf-publication-title',
33
- '110.PDF/040.pdf-chapter-title',
34
- '110.PDF/070.pdf-cover',
32
+ '110.PDF/030.pdf-cover',
33
+ '110.PDF/050.pdf-publication-title',
34
+ '110.PDF/060.pdf-chapter-title',
35
35
  '110.PDF/080.pdf-toc-page',
36
36
  '110.PDF/090.pdf-toc-item-title',
37
37
  '110.PDF/100.pdf-toc-item',
38
38
  '130.Hosting_Components/010.download-center',
39
39
  '130.Hosting_Components/020.search',
40
40
  '999.Properties/alignment',
41
+ '999.Properties/font-color',
42
+ '999.Properties/grid',
41
43
  '999.Properties/hide-quote-characters',
42
44
  '999.Properties/icon',
43
45
  '999.Properties/pdf-spacer',
44
46
  '999.Properties/reverse',
45
- '999.Properties/grid',
46
47
  ];
47
48
 
48
49
  export const nsWowInternalLddUrl = 'https://nswow-ld.nswow.ch/designs';
@@ -16,6 +16,9 @@
16
16
  background-color: functions.get($colorName);
17
17
  @if map.has-key(variables.$colors, $onKey) {
18
18
  color: functions.get($onKey);
19
+ * {
20
+ color: inherit;
21
+ }
19
22
  }
20
23
  }
21
24
  }
@@ -41,6 +41,28 @@
41
41
  }
42
42
  }
43
43
 
44
+ @mixin editor-label($text) {
45
+ position: relative;
46
+ &:after {
47
+ content: "#{$text}";
48
+ position: absolute;
49
+ top: 0;
50
+ left: 0;
51
+ margin-top: 4px;
52
+ margin-left: 4px;
53
+ border: 1px solid;
54
+ padding: 2px 7px;
55
+ font-size: 14px;
56
+ font-weight: 400;
57
+ line-height: 1.2;
58
+ border-radius: 7px;
59
+ z-index: 10001;
60
+ color: rgb(148 148 148);
61
+ background: rgb(248 248 248);
62
+ cursor: pointer;
63
+ }
64
+ }
65
+
44
66
  @mixin core-styles {
45
67
  .#{variables.$class-prefix}list-reset {
46
68
  @include list-reset;
@@ -1,4 +1,5 @@
1
1
  @use 'sass:map';
2
+ @use 'sass:list';
2
3
  @use 'variables';
3
4
  @use 'functions';
4
5
  @use '../grid';
@@ -124,6 +125,62 @@
124
125
  column-gap: functions.get($spacer);
125
126
  }
126
127
 
128
+ @mixin component-margin($spacing-rules) {
129
+ @each $pair, $margin in $spacing-rules {
130
+ $from: list.nth($pair, 1);
131
+ $to: list.nth($pair, 2);
132
+
133
+ @if $to == '*' {
134
+ #{$from} + * {
135
+ @include margin-top($margin);
136
+ }
137
+ } @else {
138
+ #{$from} + #{$to} {
139
+ @include margin-top($margin);
140
+ }
141
+ }
142
+
143
+ @if system.$build == "pdf" {
144
+ @if $to == '*' {
145
+ #{$from} + *,
146
+ #{$from}-last + * {
147
+ @include margin-top($margin);
148
+ }
149
+ } @else {
150
+ #{$from} + #{$to},
151
+ #{$from} + #{$to}-first,
152
+ #{$from}-last + #{$to},
153
+ #{$from}-last + #{$to}-first {
154
+ @include margin-top($margin);
155
+ }
156
+ }
157
+ } @else {
158
+ $wrappers: null;
159
+
160
+ @if system.$build != "xbrl" {
161
+ $wrappers: ('.srl-nested-container');
162
+ } @else {
163
+ $wrappers: ('.srl-nested-container', '.ixbrl-element');
164
+ }
165
+ @each $wrapper in $wrappers {
166
+ @if $to == '*' {
167
+ #{$from} + #{$wrapper}:has(:first-child),
168
+ #{$wrapper}:has(#{$from}:last-child) + * {
169
+ @include margin-top($margin);
170
+ }
171
+ } @else {
172
+ #{$from} + #{$wrapper}:has(#{$to}:first-child),
173
+ #{$wrapper}:has(#{$from}:last-child) + #{$to},
174
+ #{$wrapper}:has(#{$from}:first-child) + #{$wrapper}:has(#{$to}:last-child),
175
+ #{$wrapper}:has(#{$from}:last-child) + #{$wrapper}:has(#{$to}:first-child) {
176
+ @include margin-top($margin);
177
+ }
178
+ }
179
+ }
180
+ }
181
+ }
182
+ }
183
+
127
184
  @mixin core-styles {
128
185
  @at-root {
129
186
  @each $spacer, $spacerValue in variables.$spacer {
@@ -1,110 +1,122 @@
1
1
  export interface PDFNestedContainerMarkerConfig {
2
- selector?: string
2
+ selector?: string;
3
3
  }
4
4
 
5
5
  export class PDFNestedContainers {
6
- private containers: NodeListOf<HTMLElement>
6
+ private containers: NodeListOf<HTMLElement>;
7
7
 
8
- private excludedClasses = ['srl-grid', 'srl-linkable', 'srl-nested-container']
8
+ private excludedClasses = [
9
+ 'srl-grid',
10
+ 'srl-linkable',
11
+ 'srl-nested-container',
12
+ 'srl-editor-component',
13
+ 'srl-pdf-columnbreak',
14
+ ];
9
15
 
10
- private wrapperClasses = ['srl-grid']
16
+ private wrapperClasses = ['srl-grid'];
11
17
 
12
18
  constructor(config: PDFNestedContainerMarkerConfig = {}) {
13
- const { selector = '.srl-nested-container' } = config
19
+ const { selector = '.srl-nested-container' } = config;
14
20
 
15
- this.containers = document.querySelectorAll(selector)
21
+ this.containers = document.querySelectorAll(selector);
16
22
 
17
23
  if (this.containers.length === 0) {
18
- return
24
+ return;
19
25
  }
20
26
 
21
- this.markContainers()
27
+ this.markContainers();
22
28
  }
23
29
 
24
30
  private markContainers(): void {
25
31
  this.containers.forEach((container) => {
26
- const firstElement = this.findEdgeElement(container, 'first')
27
- const lastElement = this.findEdgeElement(container, 'last')
32
+ const firstElement = this.findEdgeElement(container, 'first');
33
+ const lastElement = this.findEdgeElement(container, 'last');
28
34
 
29
- const firstClass = firstElement ? this.getRelevantClass(firstElement) : null
30
- const lastClass = lastElement ? this.getRelevantClass(lastElement) : null
35
+ const firstClass = firstElement
36
+ ? this.getRelevantClass(firstElement)
37
+ : null;
38
+ const lastClass = lastElement ? this.getRelevantClass(lastElement) : null;
31
39
 
32
40
  if (firstClass) {
33
- container.classList.add(`${firstClass}-first`)
41
+ container.classList.add(`${firstClass}-first`);
34
42
  }
35
43
 
36
44
  if (lastClass) {
37
- container.classList.add(`${lastClass}-last`)
45
+ container.classList.add(`${lastClass}-last`);
38
46
  }
39
- })
47
+ });
40
48
  }
41
49
 
42
- private findEdgeElement(root: HTMLElement, direction: 'first' | 'last'): HTMLElement | null {
43
- const children = Array.from(root.children) as HTMLElement[]
44
-
45
- const orderedChildren = direction === 'first' ? children : [...children].reverse()
50
+ private findEdgeElement(
51
+ root: HTMLElement,
52
+ direction: 'first' | 'last',
53
+ ): HTMLElement | null {
54
+ const children = Array.from(root.children) as HTMLElement[];
55
+ const orderedChildren =
56
+ direction === 'first' ? children : [...children].reverse();
46
57
 
47
58
  for (const child of orderedChildren) {
59
+ const relevantClass = this.getRelevantClass(child);
60
+
61
+ if (relevantClass) {
62
+ return child;
63
+ }
64
+
48
65
  if (this.isLayoutWrapper(child)) {
49
- const nestedElement = this.findEdgeElement(child, direction)
66
+ const nestedElement = this.findEdgeElement(child, direction);
50
67
 
51
68
  if (nestedElement) {
52
- return nestedElement
69
+ return nestedElement;
53
70
  }
54
71
 
55
- continue
72
+ continue;
56
73
  }
57
74
 
58
- const relevantClass = this.getRelevantClass(child)
59
-
60
- if (relevantClass) {
61
- return child
62
- }
63
-
64
- const nestedElement = this.findEdgeElement(child, direction)
75
+ const nestedElement = this.findEdgeElement(child, direction);
65
76
 
66
77
  if (nestedElement) {
67
- return nestedElement
78
+ return nestedElement;
68
79
  }
69
80
  }
70
81
 
71
- return null
82
+ return null;
72
83
  }
73
84
 
74
85
  private isLayoutWrapper(el: HTMLElement): boolean {
75
- const classes = Array.from(el.classList)
86
+ const classes = Array.from(el.classList);
76
87
 
77
88
  if (classes.some((cls) => this.wrapperClasses.includes(cls))) {
78
- return true
89
+ return true;
79
90
  }
80
91
 
81
92
  if (classes.some((cls) => cls.includes('__'))) {
82
- return true
93
+ return true;
83
94
  }
84
95
 
85
96
  if (el.hasAttribute('doc-container') && !this.getRelevantClass(el)) {
86
- return true
97
+ return true;
87
98
  }
88
99
 
89
- return false
100
+ return false;
90
101
  }
91
102
 
92
103
  private getRelevantClass(el: HTMLElement): string | null {
93
- const classes = Array.from(el.classList)
104
+ const classes = Array.from(el.classList);
94
105
 
95
106
  const relevant = classes.find((cls) => {
96
- if (!cls.startsWith('srl-')) return false
97
- if (this.excludedClasses.includes(cls)) return false
98
- if (cls.includes('__')) return false
99
- if (this.wrapperClasses.includes(cls)) return false
100
- if (cls.endsWith('-first')) return false
101
- if (cls.endsWith('-last')) return false
102
-
103
- return true
104
- })
105
-
106
- return relevant || null
107
+ if (!cls.startsWith('srl-')) return false;
108
+ if (this.excludedClasses.includes(cls)) return false;
109
+ if (cls.includes('__')) return false;
110
+ if (this.wrapperClasses.includes(cls)) return false;
111
+ if (cls.endsWith('-first')) return false;
112
+ if (cls.endsWith('-last')) return false;
113
+ if (cls.startsWith('srl-text-alignment-')) return false;
114
+
115
+ return true;
116
+ });
117
+
118
+ return relevant || null;
107
119
  }
108
120
  }
109
121
 
110
- export default PDFNestedContainers
122
+ export default PDFNestedContainers;
@@ -1,59 +0,0 @@
1
- @use "srl";
2
- @use "srl/system";
3
- @use "sass:list";
4
-
5
- @mixin srl-component-margin($spacing-rules) {
6
- @each $pair, $margin in $spacing-rules {
7
- $from: list.nth($pair, 1);
8
- $to: list.nth($pair, 2);
9
-
10
- @if $to == '*' {
11
- #{$from} + * {
12
- @include srl.spacer-margin-top($margin);
13
- }
14
- } @else {
15
- #{$from} + #{$to} {
16
- @include srl.spacer-margin-top($margin);
17
- }
18
- }
19
-
20
- @if system.$build == "pdf" {
21
- @if $to == '*' {
22
- #{$from} + *,
23
- #{$from}-last + * {
24
- @include srl.spacer-margin-top($margin);
25
- }
26
- } @else {
27
- #{$from} + #{$to},
28
- #{$from} + #{$to}-first,
29
- #{$from}-last + #{$to},
30
- #{$from}-last + #{$to}-first {
31
- @include srl.spacer-margin-top($margin);
32
- }
33
- }
34
- } @else {
35
- $wrappers: null;
36
-
37
- @if system.$build != "xbrl" {
38
- $wrappers: ('.srl-nested-container');
39
- } @else {
40
- $wrappers: ('.srl-nested-container', '.ixbrl-element');
41
- }
42
- @each $wrapper in $wrappers {
43
- @if $to == '*' {
44
- #{$from} + #{$wrapper}:has(:first-child),
45
- #{$wrapper}:has(#{$from}:last-child) + * {
46
- @include srl.spacer-margin-top($margin);
47
- }
48
- } @else {
49
- #{$from} + #{$wrapper}:has(#{$to}:first-child),
50
- #{$wrapper}:has(#{$from}:last-child) + #{$to},
51
- #{$wrapper}:has(#{$from}:first-child) + #{$wrapper}:has(#{$to}:last-child),
52
- #{$wrapper}:has(#{$from}:last-child) + #{$wrapper}:has(#{$to}:first-child) {
53
- @include srl.spacer-margin-top($margin);
54
- }
55
- }
56
- }
57
- }
58
- }
59
- }