@simple-reporting/base 1.0.32 → 1.0.34

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 (104) hide show
  1. package/dev/package.json +2 -1
  2. package/dev/pdf/pdf-configuration-debug.xml +3 -0
  3. package/dev/pdf/pdf-configuration.xml +3 -0
  4. package/dev/src/assets/scss/app.scss +5 -0
  5. package/dev/src/assets/scss/components/note/accordion.scss +1 -1
  6. package/dev/src/assets/scss/pdf.scss +4 -0
  7. package/dev/srl.config.json +1 -1
  8. package/dev/vite.config.ts +4 -1
  9. package/devTools/SrlDevTools.vue +234 -0
  10. package/devTools/assets/Svg/Check.vue +7 -0
  11. package/devTools/assets/Svg/Close.vue +5 -0
  12. package/devTools/assets/Svg/Eye.vue +16 -0
  13. package/devTools/assets/Svg/Info.vue +7 -0
  14. package/devTools/assets/Svg/Settings.vue +5 -0
  15. package/devTools/assets/Svg/Uncheck.vue +7 -0
  16. package/devTools/box/Content.vue +93 -0
  17. package/devTools/components/BoxPanel.vue +23 -0
  18. package/devTools/components/Content.vue +17 -0
  19. package/devTools/config.ts +34 -0
  20. package/devTools/dialog/Colors.vue +33 -0
  21. package/devTools/dialog/Grid.vue +111 -0
  22. package/devTools/dialog/Settings.vue +62 -0
  23. package/devTools/dialog/Spacer.vue +110 -0
  24. package/devTools/dialog/ViewPort.vue +33 -0
  25. package/devTools/panel/Content.vue +50 -0
  26. package/devTools/settings.ts +28 -0
  27. package/devTools/utils/index.ts +7 -0
  28. package/devTools/utils/wheelResizeHandler.ts +19 -0
  29. package/livingdocs/010.Titles/020.title-h2/scss/editor.scss +8 -0
  30. package/livingdocs/010.Titles/020.title-h2/scss/general.scss +0 -11
  31. package/livingdocs/010.Titles/020.title-h2/scss/pdf.scss +16 -0
  32. package/livingdocs/010.Titles/020.title-h2/scss/web.scss +16 -0
  33. package/livingdocs/010.Titles/030.title-h3/scss/editor.scss +8 -0
  34. package/livingdocs/010.Titles/030.title-h3/scss/general.scss +0 -11
  35. package/livingdocs/010.Titles/030.title-h3/scss/pdf.scss +16 -0
  36. package/livingdocs/010.Titles/030.title-h3/scss/web.scss +16 -0
  37. package/livingdocs/010.Titles/040.title-h4/scss/editor.scss +8 -0
  38. package/livingdocs/010.Titles/040.title-h4/scss/general.scss +0 -11
  39. package/livingdocs/010.Titles/040.title-h4/scss/pdf.scss +16 -0
  40. package/livingdocs/010.Titles/040.title-h4/scss/web.scss +16 -0
  41. package/livingdocs/020.Text/060.quote-with-portrait/scss/web.scss +1 -1
  42. package/livingdocs/020.Text/070.footnote-container/scss/web.scss +1 -1
  43. package/livingdocs/030.Lists/010.unordered-list/scss/pdf.scss +4 -0
  44. package/livingdocs/030.Lists/020.ordered-list/scss/pdf.scss +5 -0
  45. package/livingdocs/030.Lists/030.alphanumeric-list/scss/pdf.scss +5 -0
  46. package/livingdocs/030.Lists/040.list-item/scss/pdf.scss +4 -0
  47. package/livingdocs/040.Media/010.table/scss/general.scss +6 -7
  48. package/livingdocs/040.Media/010.table/scss/web.scss +7 -1
  49. package/livingdocs/040.Media/010.table/scss/xbrl.scss +16 -1
  50. package/livingdocs/040.Media/020.image/scss/editor.scss +1 -1
  51. package/livingdocs/040.Media/020.image/scss/general.scss +1 -1
  52. package/livingdocs/040.Media/020.image/scss/web.scss +1 -1
  53. package/livingdocs/040.Media/030.video/scss/web.scss +1 -1
  54. package/livingdocs/060.Buttons/020.button/scss/general.scss +1 -1
  55. package/livingdocs/080.CV/010.cv/scss/web.scss +1 -1
  56. package/livingdocs/080.CV/020.cv-time-span/scss/web.scss +1 -1
  57. package/livingdocs/100.Misc/010.anchor/anchor.html +7 -2
  58. package/livingdocs/110.PDF/010.pdf-pagebreak/pdf-pagebreak.html +7 -2
  59. package/livingdocs/110.PDF/020.pdf-column-container/ld-conf.json +2 -1
  60. package/livingdocs/110.PDF/020.pdf-column-container/pdf-column-container.html +21 -3
  61. package/livingdocs/110.PDF/020.pdf-column-container/properties.json +15 -0
  62. package/livingdocs/110.PDF/020.pdf-column-container/scss/editor.scss +8 -0
  63. package/livingdocs/110.PDF/020.pdf-column-container/scss/pdf.scss +14 -0
  64. package/livingdocs/110.PDF/021.pdf-columnbreak/ld-conf.json +5 -0
  65. package/livingdocs/110.PDF/021.pdf-columnbreak/pdf-columnbreak.html +10 -0
  66. package/livingdocs/110.PDF/021.pdf-columnbreak/scss/editor.scss +12 -0
  67. package/livingdocs/110.PDF/021.pdf-columnbreak/scss/general.scss +5 -0
  68. package/livingdocs/110.PDF/021.pdf-columnbreak/scss/pdf.scss +6 -0
  69. package/livingdocs/110.PDF/021.pdf-columnbreak/scss/web.scss +1 -0
  70. package/livingdocs/110.PDF/021.pdf-columnbreak/scss/word.scss +0 -0
  71. package/livingdocs/110.PDF/021.pdf-columnbreak/scss/xbrl.scss +1 -0
  72. package/livingdocs/110.PDF/030.pdf-publication-title/pdf-publication-title.html +1 -0
  73. package/livingdocs/110.PDF/040.pdf-chapter-title/pdf-chapter-title.html +1 -0
  74. package/livingdocs/110.PDF/050.pdf-chapter-navigation-container/pdf-chapter-navigation.html +1 -0
  75. package/livingdocs/110.PDF/050.pdf-chapter-navigation-container/scss/editor.scss +1 -1
  76. package/livingdocs/110.PDF/060.pdf-chapter-navigation-item/pdf-chapter-navigation-item.html +2 -0
  77. package/livingdocs/110.PDF/070.pdf-cover/pdf-cover.html +7 -1
  78. package/livingdocs/110.PDF/080.pdf-toc-page/pdf-toc-page.html +7 -1
  79. package/livingdocs/110.PDF/080.pdf-toc-page/scss/pdf.scss +7 -0
  80. package/livingdocs/110.PDF/090.pdf-toc-item-title/pdf-toc-item-title.html +7 -1
  81. package/livingdocs/110.PDF/100.pdf-toc-item/pdf-toc-item.html +8 -1
  82. package/livingdocs/110.PDF/100.pdf-toc-item/scss/general.scss +6 -1
  83. package/livingdocs/110.PDF/100.pdf-toc-item/scss/pdf.scss +10 -0
  84. package/package.json +8 -3
  85. package/plugins/viteSrlPlugin.js +19 -6
  86. package/scripts/build.d.ts +2 -0
  87. package/scripts/build.js +68 -3
  88. package/scripts/css/stripMediaFromCss.d.ts +17 -0
  89. package/scripts/css/stripMediaFromCss.js +147 -0
  90. package/scripts/vue/components.js +9 -2
  91. package/srl/.srl/App.vue +7 -1
  92. package/srl/.srl/components/Srl/Article/Accordion.vue +1 -0
  93. package/srl/.srl/components/Srl/Article/Root.vue +4 -4
  94. package/srl/.srl/components/Srl/Category/Accordion/Toggle.vue +2 -1
  95. package/srl/.srl/components/Srl/Menu/Item.vue +58 -24
  96. package/srl/.srl/components/Srl/Menu.vue +43 -17
  97. package/srl/.srl/composables/config.ts +3 -2
  98. package/srl/.srl/composables/index.ts +3 -0
  99. package/srl/.srl/composables/menu.ts +6 -3
  100. package/srl/.srl/composables/srlConfig.ts +3 -0
  101. package/srl/.srl/types/global.d.ts +11 -0
  102. package/srl/.srl/types/nswow.d.ts +5 -0
  103. package/srl/.srl/utils/index.ts +27 -25
  104. package/srl/.srl/utils/object.ts +60 -0
@@ -0,0 +1,111 @@
1
+ <script setup lang="ts">
2
+ import { computed } from 'vue'
3
+ import { useSrlConfig } from '#composables'
4
+
5
+ import { NTable, NGrid, NGridItem, NH2 } from 'naive-ui'
6
+
7
+ const srlConfig = useSrlConfig()
8
+
9
+ type GridView = {
10
+ name: string,
11
+ columns: number,
12
+ section: {
13
+ from: number,
14
+ to?: number
15
+ },
16
+ gap: {
17
+ column: string | number,
18
+ row: string | number
19
+ },
20
+ padding?: string | number,
21
+ maxWidth?: string | number
22
+ }
23
+
24
+ const gridView = computed<GridView[]>(() => {
25
+ const list = []
26
+ const breakpoints = Object.keys(srlConfig.value.grid.breakpoints)
27
+ breakpoints.forEach((breakpoint, index) => {
28
+ const item: GridView = {
29
+ name: breakpoint,
30
+ columns: srlConfig.value.grid.columns[breakpoint],
31
+ section: {
32
+ from: srlConfig.value.grid.breakpoints[breakpoint],
33
+ },
34
+ gap: {
35
+ column: 0,
36
+ row: 0,
37
+ }
38
+ }
39
+
40
+ if (breakpoints[(index + 1)]) {
41
+ item.section.to = srlConfig.value.grid.breakpoints[breakpoints[(index + 1)]] - 1
42
+ }
43
+
44
+ if (srlConfig.value.grid.containers[breakpoint]['padding']) {
45
+ item.padding = srlConfig.value.grid.containers[breakpoint]['padding']
46
+ }
47
+
48
+ if (srlConfig.value.grid.containers[breakpoint]['max-width']) {
49
+ item.maxWidth = srlConfig.value.grid.containers[breakpoint]['max-width']
50
+ }
51
+
52
+
53
+ if (srlConfig.value.grid.gutter[breakpoint]['gap']) {
54
+ item.gap.column = srlConfig.value.grid.gutter[breakpoint]['gap']
55
+ item.gap.row = srlConfig.value.grid.gutter[breakpoint]['gap']
56
+ } else {
57
+ if (srlConfig.value.grid.gutter[breakpoint]['column-gap']) {
58
+ item.gap.column = srlConfig.value.grid.gutter[breakpoint]['column-gap']
59
+ }
60
+ item.gap.row = srlConfig.value.grid.gutter[breakpoint]['row-gap']??item.gap.column
61
+ }
62
+
63
+ list.push(item)
64
+ })
65
+ return list
66
+ })
67
+
68
+ </script>
69
+
70
+ <template>
71
+ <NGrid cols="1 s:2 m:3 l:4" responsive="screen" x-gap="20" y-gap="20">
72
+
73
+ <NGridItem v-for="item in gridView" :key="item.name">
74
+ <NH2 v-text="item.name"/>
75
+ <NTable striped>
76
+ <tbody>
77
+ <tr>
78
+ <td>columns</td>
79
+ <td v-text="item.columns"/>
80
+ </tr>
81
+ <tr v-if="item.name !== 'print'">
82
+ <td>from</td>
83
+ <td v-text="item.section.from + 'px / ' + (item.section.from / 16) + 'rem'"/>
84
+ </tr>
85
+ <tr v-if="item.name !== 'print' && item.section.to">
86
+ <td>to</td>
87
+ <td v-text="item.section.to + 'px / ' + (item.section.to / 16) + 'rem'"/>
88
+ </tr>
89
+ <tr v-if="item.padding">
90
+ <td>padding</td>
91
+ <td v-text="typeof item.padding === 'number' ? item.padding + 'px / ' + (item.padding / 16) + 'rem' : item.padding"/>
92
+ </tr>
93
+ <tr v-if="item.maxWidth">
94
+ <td>max-width</td>
95
+ <td v-text="typeof item.maxWidth === 'number' ? item.maxWidth + 'px / ' + (item.maxWidth/ 16) + 'rem' : item.maxWidth"/>
96
+ </tr>
97
+ <tr>
98
+ <td>column-gap</td>
99
+ <td v-text="typeof item.gap.column === 'number' ? item.gap.column + 'px / ' + (item.gap.column / 16) + 'rem' : item.gap.column"></td>
100
+ </tr>
101
+ <tr>
102
+ <td>row-gap</td>
103
+ <td v-text="typeof item.gap.row === 'number' ? item.gap.row + 'px / ' + (item.gap.row / 16) + 'rem' : item.gap.row"></td>
104
+ </tr>
105
+ </tbody>
106
+ </NTable>
107
+
108
+ </NGridItem>
109
+
110
+ </NGrid>
111
+ </template>
@@ -0,0 +1,62 @@
1
+ <script setup lang="ts">
2
+ import { config, sizeOptions } from '../config.ts'
3
+ import { settings } from '../settings.ts'
4
+
5
+ import { NSelect, NSlider, NSwitch, NTable, NText, NFlex } from 'naive-ui'
6
+ </script>
7
+
8
+ <template>
9
+
10
+ <NTable>
11
+ <tbody>
12
+ <tr>
13
+ <td>
14
+ <NText strong>Dark Mode</NText>
15
+ </td>
16
+ <td>
17
+ <NSwitch v-model:value="settings.darkMode" />
18
+ </td>
19
+ </tr>
20
+ <tr>
21
+ <td>
22
+ <NText strong>Size</NText>
23
+ </td>
24
+ <td>
25
+ <NSelect
26
+ v-model:value="settings.size"
27
+ size="small"
28
+ :options="sizeOptions.map(s => ({ label: s, value: s }))"
29
+ />
30
+ </td>
31
+ </tr>
32
+ <tr>
33
+ <td>
34
+ <NText strong>Position</NText>
35
+ </td>
36
+ <td>
37
+ <NSelect
38
+ v-model:value="settings.position"
39
+ size="small"
40
+ :options="config.positions.map(p => ({ label: p, value: p }))"
41
+ />
42
+ </td>
43
+ </tr>
44
+ <tr>
45
+ <td>
46
+ <NText strong>Opacity</NText>
47
+ </td>
48
+ <td>
49
+ <NFlex justify="center">
50
+ <NText v-text="settings.opacity"/>
51
+ </NFlex>
52
+ <NSlider
53
+ v-model:value="settings.opacity"
54
+ :min="0.1"
55
+ :max="1"
56
+ :step="0.1"
57
+ />
58
+ </td>
59
+ </tr>
60
+ </tbody>
61
+ </NTable>
62
+ </template>
@@ -0,0 +1,110 @@
1
+ <script setup lang="ts">
2
+ import { NGrid, NGridItem, NH2, NTable } from 'naive-ui'
3
+ import { useSrlConfig } from '#composables'
4
+ import { computed } from 'vue'
5
+
6
+ const srlConfig = useSrlConfig()
7
+
8
+ type SpacerItem = {
9
+ name: string
10
+ size: number | string
11
+ alias: string | null
12
+ only?: SpacerItemMedia[]
13
+ up?: SpacerItemMedia[]
14
+ down?: SpacerItemMedia[]
15
+ }
16
+
17
+ type SpacerItemMedia = {
18
+ name: string
19
+ size: number | string
20
+ }
21
+
22
+ const spacerView = computed<SpacerItem[]>(() => {
23
+ const res = []
24
+ for (const [key, item] of Object.entries(srlConfig.value.spacer.spacer)) {
25
+ const i: SpacerItem = {
26
+ name: key,
27
+ size: item.size,
28
+ alias: item.alias??null,
29
+ }
30
+
31
+ if (item.media) {
32
+ for (const [media, value] of Object.entries(item.media)) {
33
+ if (['up', 'down'].includes(media)) {
34
+ for (const [m, s] of Object.entries(value as object)) {
35
+ if (!i[media]) { i[media] = [] }
36
+ i[media].push({
37
+ name: m,
38
+ size: s.size ?? s,
39
+ })
40
+ }
41
+ } else {
42
+ if (!i.only) { i.only = [] }
43
+ i.only.push({
44
+ name: media,
45
+ size: value.size ?? value,
46
+ })
47
+ }
48
+ }
49
+ }
50
+
51
+ res.push(i)
52
+ }
53
+
54
+ return res;
55
+ })
56
+
57
+ </script>
58
+
59
+ <template>
60
+ <NGrid cols="1 s:2 m:3 l:4" responsive="screen" x-gap="20" y-gap="20">
61
+ <NGridItem v-for="item in spacerView" :key="item.name">
62
+ <NH2>
63
+ {{item.name}}
64
+ <template v-if="item.alias">( {{item.alias}} )</template>
65
+ </NH2>
66
+ <NTable striped>
67
+ <tbody>
68
+ <tr>
69
+ <td v-text="'size'"/>
70
+ <td colspan="2" v-text="typeof item.size === 'number' ? item.size + 'px / ' + (item.size / 16) + 'rem' : item.size" />
71
+ </tr>
72
+ <template v-if="item.only">
73
+ <template v-for="(only, index) in item.only">
74
+ <tr>
75
+ <td class="v-top" v-if="index === 0" :rowspan="item.only.length" v-text="'only'"/>
76
+ <td v-text="only.name"/>
77
+ <td v-text="typeof only.size === 'number' ? only.size + 'px / ' + (only.size / 16) + 'rem' : only.size" />
78
+ </tr>
79
+ </template>
80
+ </template>
81
+ <template v-if="item.up">
82
+ <template v-for="(up, index) in item.up">
83
+ <tr>
84
+ <td class="v-top" v-if="index === 0" :rowspan="item.up.length" v-text="'up'"/>
85
+ <td v-text="up.name"/>
86
+ <td v-text="typeof up.size === 'number' ? up.size + 'px / ' + (up.size / 16) + 'rem' : up.size" />
87
+ </tr>
88
+ </template>
89
+ </template>
90
+ <template v-if="item.down">
91
+ <template v-for="(down, index) in item.down">
92
+ <tr>
93
+ <td class="v-top" v-if="index === 0" :rowspan="item.down.length" v-text="'down'"/>
94
+ <td v-text="down.name"/>
95
+ <td v-text="typeof down.size === 'number' ? down.size + 'px / ' + (down.size / 16) + 'rem' : down.size" />
96
+ </tr>
97
+ </template>
98
+ </template>
99
+ </tbody>
100
+ </NTable>
101
+ </NGridItem>
102
+
103
+ </NGrid>
104
+ </template>
105
+
106
+ <style scoped lang="scss">
107
+ .v-top {
108
+ vertical-align: top;
109
+ }
110
+ </style>
@@ -0,0 +1,33 @@
1
+ <script setup lang="ts">
2
+ import { useViewPort, useSrlConfig } from '#composables'
3
+ import { NTable, NH2, NText } from 'naive-ui'
4
+
5
+ const srlConfig = useSrlConfig()
6
+ const viewPort = useViewPort()
7
+ </script>
8
+
9
+ <template>
10
+ <NTable striped>
11
+ <tbody>
12
+ <tr>
13
+ <td>window.innerWidth</td>
14
+ <td v-text="viewPort.innerWidth" />
15
+ </tr>
16
+ <tr>
17
+ <td>ViewPort</td>
18
+ <td v-text="viewPort.viewPort" />
19
+ </tr>
20
+ </tbody>
21
+ </NTable>
22
+ <NH2>Breakpoints</NH2>
23
+ <NTable striped>
24
+ <tbody>
25
+ <tr v-for="(value, breakpoint) in srlConfig.grid.breakpoints" :key="breakpoint">
26
+ <td>
27
+ <NText strong v-text="breakpoint" :type="breakpoint === viewPort.viewPort?'error':'default'"></NText>
28
+ </td>
29
+ <td v-text="value" />
30
+ </tr>
31
+ </tbody>
32
+ </NTable>
33
+ </template>
@@ -0,0 +1,50 @@
1
+ <script setup lang="ts">
2
+ import { settings } from '../settings.ts'
3
+ import { NButton, NIcon } from 'naive-ui'
4
+ import { SettingsOutline, Eye, EyeOff } from '@vicons/ionicons5'
5
+
6
+ function toggleActive() {
7
+ settings.value.active = !settings.value.active
8
+ }
9
+
10
+ const dialogContent = defineModel('dialogContent', {
11
+ type: String as () => SrlDevToolsDialog,
12
+ default: null
13
+ })
14
+
15
+ function dialogToggle(target: SrlDevToolsDialog) {
16
+ dialogContent.value = dialogContent.value === target ? null : target
17
+ }
18
+ </script>
19
+
20
+ <template>
21
+
22
+ <NButton
23
+ v-if="settings.active"
24
+ quaternary
25
+ circle
26
+ size="tiny"
27
+ @click="dialogToggle('settings')"
28
+ >
29
+ <template #icon>
30
+ <NIcon :component="SettingsOutline" />
31
+ </template>
32
+ </NButton>
33
+
34
+ <NButton
35
+ quaternary
36
+ circle
37
+ size="tiny"
38
+ @click="toggleActive"
39
+ :type="settings.active?'default':'error'"
40
+ >
41
+ <template #icon>
42
+ <NIcon :component="settings.active?Eye:EyeOff" />
43
+ </template>
44
+ </NButton>
45
+
46
+ </template>
47
+
48
+ <style scoped lang="scss">
49
+
50
+ </style>
@@ -0,0 +1,28 @@
1
+ import { computed, ref, watch } from 'vue'
2
+ import { config } from './config'
3
+
4
+ export const settings = ref<SrlDevToolsSettings>(config.value.defaultSettings)
5
+
6
+ const storedSettings = localStorage.getItem(config.value.settingsNamespace)
7
+ if (storedSettings) {
8
+ try {
9
+ settings.value = JSON.parse(storedSettings)
10
+ } catch {}
11
+ }
12
+
13
+ watch(
14
+ settings.value,
15
+ (newSettings) => {
16
+ localStorage.setItem(config.value.settingsNamespace, JSON.stringify(newSettings))
17
+ },
18
+ { immediate: true }
19
+ )
20
+
21
+ export const isDefaultSettings = computed(() => {
22
+ return JSON.stringify(settings.value) === JSON.stringify(config.value.defaultSettings)
23
+ })
24
+
25
+ export default {
26
+ settings,
27
+ isDefaultSettings,
28
+ }
@@ -0,0 +1,7 @@
1
+ import { wheelResizeHandler as _wheelResizeHandler } from './wheelResizeHandler.ts'
2
+
3
+ export const wheelResizeHandler = _wheelResizeHandler
4
+
5
+ export default {
6
+ wheelResizeHandler,
7
+ }
@@ -0,0 +1,19 @@
1
+ import { settings } from '../settings.ts'
2
+ import { sizeOptions } from '../config.ts'
3
+
4
+ export function wheelResizeHandler(e: WheelEvent) {
5
+ if (!settings.value.active || !settings.value.mouseResize) return
6
+ e.stopPropagation()
7
+ e.preventDefault()
8
+ const options = sizeOptions.value
9
+ const currentIdx = options.indexOf(settings.value.size)
10
+ if (e.deltaY > 0 && currentIdx < options.length - 1) {
11
+ settings.value.size = options[currentIdx + 1]
12
+ } else if (e.deltaY < 0 && currentIdx > 0) {
13
+ settings.value.size = options[currentIdx - 1]
14
+ }
15
+ }
16
+
17
+ export default {
18
+ wheelResizeHandler,
19
+ }
@@ -1 +1,9 @@
1
+ @use 'srl';
2
+ @use 'sass:map';
1
3
  @use "web";
4
+
5
+ $number-width: srl.spacer-get(map.get(srl.$meta, title, number-width));
6
+
7
+ .srl-title-h2__number.doc-no-placeholder + .srl-title-h2__text {
8
+ width: calc(100% - #{$number-width});
9
+ }
@@ -1,7 +1,4 @@
1
1
  @use 'srl';
2
- @use "sass:map";
3
-
4
- $number-width: srl.spacer-get(map.get(srl.$meta, title, number-width));
5
2
 
6
3
  .srl-title-h2 {
7
4
  @include srl.typography-title-h2();
@@ -21,12 +18,4 @@ $number-width: srl.spacer-get(map.get(srl.$meta, title, number-width));
21
18
 
22
19
  .srl-title-h2__number-text-container {
23
20
  display: flex;
24
- }
25
-
26
- .srl-title-h2__number {
27
- width: $number-width;
28
- }
29
-
30
- .srl-title-h2__text {
31
- width: calc(100% - #{$number-width});
32
21
  }
@@ -0,0 +1,16 @@
1
+ @use 'srl';
2
+ @use 'sass:map';
3
+
4
+ $number-width: srl.spacer-get(map.get(srl.$meta, title, number-width-pdf));
5
+
6
+ .srl-title-h2__number {
7
+ width: $number-width;
8
+ }
9
+
10
+ .srl-title-h2__number + .srl-title-h2__text {
11
+ width: calc(100% - #{$number-width});
12
+ }
13
+
14
+ .srl-title-h2__number:empty + .srl-title-h2__text {
15
+ width: 100%;
16
+ }
@@ -0,0 +1,16 @@
1
+ @use 'srl';
2
+ @use 'sass:map';
3
+
4
+ $number-width: srl.spacer-get(map.get(srl.$meta, title, number-width));
5
+
6
+ .srl-title-h2__number {
7
+ width: $number-width;
8
+ }
9
+
10
+ .srl-title-h2__number + .srl-title-h2__text {
11
+ width: calc(100% - #{$number-width});
12
+ }
13
+
14
+ .srl-title-h2__number:empty + .srl-title-h2__text {
15
+ width: 100%;
16
+ }
@@ -1 +1,9 @@
1
+ @use 'srl';
2
+ @use 'sass:map';
1
3
  @use "web";
4
+
5
+ $number-width: srl.spacer-get(map.get(srl.$meta, title, number-width));
6
+
7
+ .srl-title-h3__number.doc-no-placeholder + .srl-title-h3__text {
8
+ width: calc(100% - #{$number-width});
9
+ }
@@ -1,7 +1,4 @@
1
1
  @use 'srl';
2
- @use "sass:map";
3
-
4
- $number-width: srl.spacer-get(map.get(srl.$meta, title, number-width));
5
2
 
6
3
  .srl-title-h3 {
7
4
  @include srl.typography-title-h3();
@@ -9,12 +6,4 @@ $number-width: srl.spacer-get(map.get(srl.$meta, title, number-width));
9
6
 
10
7
  .srl-title-h3__number-text-container {
11
8
  display: flex;
12
- }
13
-
14
- .srl-title-h3__number {
15
- width: $number-width;
16
- }
17
-
18
- .srl-title-h3__text {
19
- width: calc(100% - #{$number-width});
20
9
  }
@@ -0,0 +1,16 @@
1
+ @use 'srl';
2
+ @use 'sass:map';
3
+
4
+ $number-width: srl.spacer-get(map.get(srl.$meta, title, number-width-pdf));
5
+
6
+ .srl-title-h3__number {
7
+ width: $number-width;
8
+ }
9
+
10
+ .srl-title-h3__number + .srl-title-h3__text {
11
+ width: calc(100% - #{$number-width});
12
+ }
13
+
14
+ .srl-title-h3__number:empty + .srl-title-h3__text {
15
+ width: 100%;
16
+ }
@@ -0,0 +1,16 @@
1
+ @use 'srl';
2
+ @use 'sass:map';
3
+
4
+ $number-width: srl.spacer-get(map.get(srl.$meta, title, number-width));
5
+
6
+ .srl-title-h3__number {
7
+ width: $number-width;
8
+ }
9
+
10
+ .srl-title-h3__number + .srl-title-h3__text {
11
+ width: calc(100% - #{$number-width});
12
+ }
13
+
14
+ .srl-title-h3__number:empty + .srl-title-h3__text {
15
+ width: 100%;
16
+ }
@@ -1 +1,9 @@
1
+ @use 'srl';
2
+ @use 'sass:map';
1
3
  @use "web";
4
+
5
+ $number-width: srl.spacer-get(map.get(srl.$meta, title, number-width));
6
+
7
+ .srl-title-h4__number.doc-no-placeholder + .srl-title-h4__text {
8
+ width: calc(100% - #{$number-width});
9
+ }
@@ -1,7 +1,4 @@
1
1
  @use 'srl';
2
- @use "sass:map";
3
-
4
- $number-width: srl.spacer-get(map.get(srl.$meta, title, number-width));
5
2
 
6
3
  .srl-title-h4 {
7
4
  @include srl.typography-title-h4();
@@ -9,12 +6,4 @@ $number-width: srl.spacer-get(map.get(srl.$meta, title, number-width));
9
6
 
10
7
  .srl-title-h4__number-text-container {
11
8
  display: flex;
12
- }
13
-
14
- .srl-title-h4__number {
15
- width: $number-width;
16
- }
17
-
18
- .srl-title-h4__text {
19
- width: calc(100% - #{$number-width});
20
9
  }
@@ -0,0 +1,16 @@
1
+ @use 'srl';
2
+ @use "sass:map";
3
+
4
+ $number-width: srl.spacer-get(map.get(srl.$meta, title, number-width-pdf));
5
+
6
+ .srl-title-h4__number {
7
+ width: $number-width;
8
+ }
9
+
10
+ .srl-title-h4__number + .srl-title-h4__text {
11
+ width: calc(100% - #{$number-width});
12
+ }
13
+
14
+ .srl-title-h4__number:empty + .srl-title-h4__text {
15
+ width: 100%;
16
+ }
@@ -0,0 +1,16 @@
1
+ @use 'srl';
2
+ @use "sass:map";
3
+
4
+ $number-width: srl.spacer-get(map.get(srl.$meta, title, number-width));
5
+
6
+ .srl-title-h4__number {
7
+ width: $number-width;
8
+ }
9
+
10
+ .srl-title-h4__number + .srl-title-h4__text {
11
+ width: calc(100% - #{$number-width});
12
+ }
13
+
14
+ .srl-title-h4__number:empty + .srl-title-h4__text {
15
+ width: 100%;
16
+ }
@@ -1,5 +1,5 @@
1
1
  @use 'srl';
2
- @use "assets/scss/placeholders";
2
+ @use "@/assets/scss/placeholders";
3
3
 
4
4
  .srl-quote__figure {
5
5
  .srl-quote--with-image & {
@@ -1,5 +1,5 @@
1
1
  @use "srl";
2
- @use "assets/scss/placeholders";
2
+ @use "@/assets/scss/placeholders";
3
3
 
4
4
  .srl-footnote-container:not(.srl-grid) {
5
5
  @extend %srl-regular-width;
@@ -6,3 +6,7 @@ $number-width: srl.system-size-unit(map.get(srl.$meta, footnote, number-width-pd
6
6
  .srl-table-list {
7
7
  margin-left: $number-width;
8
8
  }
9
+
10
+ .srl-list-group__list {
11
+ -ro-pdf-tag-type: L;
12
+ }
@@ -0,0 +1,5 @@
1
+ @use 'srl';
2
+
3
+ .srl-list-group__list {
4
+ -ro-pdf-tag-type: L;
5
+ }
@@ -0,0 +1,5 @@
1
+ @use 'srl';
2
+
3
+ .srl-list-group__list {
4
+ -ro-pdf-tag-type: L;
5
+ }
@@ -4,11 +4,15 @@
4
4
  $marker-width: srl.system-size-unit(map.get(srl.$meta, list, marker-width-pdf));
5
5
 
6
6
  .srl-list-group__item {
7
+ -ro-pdf-tag-type: LI;
8
+
7
9
  &:before {
8
10
  width: $marker-width;
11
+ -ro-pdf-tag-type: Lbl;
9
12
  }
10
13
  }
11
14
 
12
15
  .srl-list-group__item-text {
13
16
  width: calc(100% - #{$marker-width});
17
+ -ro-pdf-tag-type: LBody;
14
18
  }