@simple-reporting/base 1.0.13 → 1.0.15
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.
- package/dev/package.json +14 -14
- package/dev/src/assets/scss/editor.scss +45 -0
- package/dev/src/assets/scss/general.scss +1 -0
- package/dev/tsconfig.json +1 -1
- package/dev/vite.config.ts +1 -1
- package/livingdocs/040.Media/010.table/table/download.vue +494 -0
- package/livingdocs/040.Media/010.table/table/responsive.vue +104 -0
- package/livingdocs/040.Media/010.table/table.html +2 -2
- package/livingdocs/040.Media/010.table/table.vue +26 -0
- package/livingdocs/040.Media/030.video/ld-conf.json +1 -1
- package/livingdocs/100.Misc/010.anchor/anchor.html +3 -6
- package/livingdocs/100.Misc/010.anchor/scss/editor.scss +1 -12
- package/livingdocs/110.PDF/010.pdf-pagebreak/pdf-pagebreak.html +2 -2
- package/livingdocs/110.PDF/010.pdf-pagebreak/scss/editor.scss +0 -8
- package/livingdocs/110.PDF/030.pdf-publication-title/pdf-publication-title.html +2 -5
- package/livingdocs/110.PDF/030.pdf-publication-title/scss/editor.scss +0 -11
- package/livingdocs/110.PDF/040.pdf-chapter-title/pdf-chapter-title.html +2 -5
- package/livingdocs/110.PDF/040.pdf-chapter-title/scss/editor.scss +0 -5
- package/package.json +7 -7
- package/plugins/viteSrlPlugin.d.ts +2 -0
- package/{srl/plugins/viteSrlPlugin.ts → plugins/viteSrlPlugin.js} +114 -86
- package/scripts/prepare.d.ts +1 -1
- package/scripts/prepare.js +3 -58
- package/scripts/vue/components.d.ts +1 -0
- package/scripts/vue/components.js +94 -0
- package/srl/components/Srl/Article/{DialogButton.vue → Dialog/Button.vue} +1 -1
- package/srl/components/Srl/Menu/Item/Content.vue +7 -14
- package/srl/components/Srl/Menu/Item.vue +5 -7
- package/srl/components/Srl/{Menu/List.vue → Menu.vue} +2 -3
- package/srl/components/Srl/Note/Accordion/Content.vue +1 -1
- package/srl/components/Srl/Page/Dialog.vue +1 -1
- package/srl/plugins/asyncLdComponent.ts +2 -2
- package/srl/plugins/asyncSrlComponents.ts +2 -0
- package/srl/plugins/initProject.ts +1 -1
- package/srl/plugins/vueSrlPlugin.ts +3 -20
- package/srl/tsconfig.srl.json +89 -0
- package/srl/types/components.d.ts +3 -14
- package/srl/types/global.d.ts +7 -0
- package/srl/types/nswow.d.ts +14 -14
- /package/srl/components/{Srl/Page/App.vue → App.vue} +0 -0
- /package/srl/components/Srl/Menu/Item/Content/{IconAfter.vue → Icon/After.vue} +0 -0
- /package/srl/components/Srl/Menu/Item/Content/{IconBefore.vue → Icon/Before.vue} +0 -0
- /package/srl/components/Srl/Menu/Item/Content/{ImageAfter.vue → Image/After.vue} +0 -0
- /package/srl/components/Srl/Menu/Item/Content/{ImageBefore.vue → Image/Before.vue} +0 -0
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import folders from '../folders.js';
|
|
2
|
+
import { join, relative } from 'node:path/posix';
|
|
3
|
+
import { existsSync, readdirSync, statSync, writeFileSync } from 'node:fs';
|
|
4
|
+
|
|
5
|
+
function toPascalAfterSlash(str) {
|
|
6
|
+
return str.replace(/\/(.)/g, (_, c) => c.toUpperCase());
|
|
7
|
+
}
|
|
8
|
+
function readVueDir(entryPath, prefix = '') {
|
|
9
|
+
const componentsPath = join(entryPath, 'components');
|
|
10
|
+
const baseDir = join(componentsPath, 'Srl');
|
|
11
|
+
const result = {};
|
|
12
|
+
|
|
13
|
+
function search(dir) {
|
|
14
|
+
for (const entry of readdirSync(dir)) {
|
|
15
|
+
const fullPath = join(dir, entry);
|
|
16
|
+
if (statSync(fullPath).isDirectory()) {
|
|
17
|
+
search(fullPath);
|
|
18
|
+
} else if (entry.endsWith('.vue')) {
|
|
19
|
+
const path = relative(componentsPath, fullPath);
|
|
20
|
+
let name = path.slice(0, -4);
|
|
21
|
+
name = toPascalAfterSlash(name);
|
|
22
|
+
name = name.replaceAll('/', '');
|
|
23
|
+
|
|
24
|
+
result[name] = {
|
|
25
|
+
component: `${prefix}components/${path}`,
|
|
26
|
+
type: relative(folders.srlTypes, fullPath)
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
if (existsSync(baseDir) && statSync(baseDir).isDirectory()) {
|
|
33
|
+
search(baseDir);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
return result;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export async function vueComponents() {
|
|
40
|
+
const srlComponents = readVueDir(folders.srlRoot, '#');
|
|
41
|
+
const appComponents = readVueDir(folders.srlSrc, '@/');
|
|
42
|
+
|
|
43
|
+
const components = []
|
|
44
|
+
const types = []
|
|
45
|
+
|
|
46
|
+
for (const [name, info] of Object.entries(srlComponents)) {
|
|
47
|
+
const componentPath = appComponents[name] ? appComponents[name].component : info.component
|
|
48
|
+
const typePath = appComponents[name] ? appComponents[name].type : info.type
|
|
49
|
+
components.push(
|
|
50
|
+
`app.component('${name}', defineAsyncComponent(() => import('${componentPath}')));`,
|
|
51
|
+
)
|
|
52
|
+
types.push({
|
|
53
|
+
name: name,
|
|
54
|
+
type: ` type ${name} = typeof import('${typePath}')['default'];`,
|
|
55
|
+
})
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
for (const [name, info] of Object.entries(appComponents)) {
|
|
59
|
+
if (!srlComponents[name]) {
|
|
60
|
+
components.push(
|
|
61
|
+
`app.component('${name}', defineAsyncComponent(() => import('${info.component}')));`,
|
|
62
|
+
)
|
|
63
|
+
types.push({
|
|
64
|
+
name: name,
|
|
65
|
+
type: ` type ${name} = typeof import('${info.type}')['default'];`,
|
|
66
|
+
})
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
writeFileSync(join(folders.srlPlugins, 'asyncSrlComponents.ts'),
|
|
71
|
+
`import { defineAsyncComponent } from 'vue';
|
|
72
|
+
export default function asyncSrlComponents(app) {
|
|
73
|
+
${components.join('\n ')}
|
|
74
|
+
}
|
|
75
|
+
`, 'utf8');
|
|
76
|
+
|
|
77
|
+
const componentsInterface = types.map(t => {
|
|
78
|
+
return ` ${t.name}: ${t.name};`
|
|
79
|
+
})
|
|
80
|
+
|
|
81
|
+
writeFileSync(join(folders.srlTypes, 'components.d.ts'),
|
|
82
|
+
`export {};
|
|
83
|
+
declare global {
|
|
84
|
+
${types.map(t=>t.type).join("\n")}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
interface _GlobalComponents {
|
|
88
|
+
${componentsInterface.join("\n")}
|
|
89
|
+
}
|
|
90
|
+
declare module '@vue/runtime-core' {
|
|
91
|
+
export interface GlobalComponents extends _GlobalComponents {}
|
|
92
|
+
}
|
|
93
|
+
`, 'utf8');
|
|
94
|
+
}
|
|
@@ -11,7 +11,7 @@ const config = useConfig();
|
|
|
11
11
|
const articles = useArticles();
|
|
12
12
|
const id = ref<string>(`srl-page__dialog-${useId()}`);
|
|
13
13
|
const content = ref<string>('');
|
|
14
|
-
const dialog = ref<
|
|
14
|
+
const dialog = ref<SrlPageDialog | null>(null);
|
|
15
15
|
async function loadContent() {
|
|
16
16
|
const article = articles.value.find((article) => article.uuid === props.uuid);
|
|
17
17
|
if (article) {
|
|
@@ -1,11 +1,4 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
-
import MenuItemContentText from './Content/Text.vue';
|
|
3
|
-
import MenuItemContentImage from './Content/Image.vue';
|
|
4
|
-
import MenuItemContentImageBefore from './Content/ImageBefore.vue';
|
|
5
|
-
import MenuItemContentImageAfter from './Content/ImageAfter.vue';
|
|
6
|
-
import MenuItemContentIcon from './Content/Icon.vue';
|
|
7
|
-
import MenuItemContentIconBefore from './Content/IconBefore.vue';
|
|
8
|
-
import MenuItemContentIconAfter from './Content/IconAfter.vue';
|
|
9
2
|
|
|
10
3
|
const props = defineProps<{
|
|
11
4
|
item: NsWowNavigationItem
|
|
@@ -15,43 +8,43 @@ const props = defineProps<{
|
|
|
15
8
|
</script>
|
|
16
9
|
|
|
17
10
|
<template>
|
|
18
|
-
<
|
|
11
|
+
<SrlMenuItemContentIcon
|
|
19
12
|
v-if="props.item.icon"
|
|
20
13
|
:item="props.item"
|
|
21
14
|
:depth="props.depth"
|
|
22
15
|
:disableClasses="props.disableClasses"
|
|
23
16
|
/>
|
|
24
|
-
<
|
|
17
|
+
<SrlMenuItemContentIconBefore
|
|
25
18
|
v-else-if="props.item.iconBefore"
|
|
26
19
|
:item="props.item"
|
|
27
20
|
:depth="props.depth"
|
|
28
21
|
:disableClasses="props.disableClasses"
|
|
29
22
|
/>
|
|
30
|
-
<
|
|
23
|
+
<SrlMenuItemContentIconAfter
|
|
31
24
|
v-else-if="props.item.iconAfter"
|
|
32
25
|
:item="props.item"
|
|
33
26
|
:depth="props.depth"
|
|
34
27
|
:disableClasses="props.disableClasses"
|
|
35
28
|
/>
|
|
36
|
-
<
|
|
29
|
+
<SrlMenuItemContentImage
|
|
37
30
|
v-else-if="props.item.img"
|
|
38
31
|
:item="props.item"
|
|
39
32
|
:depth="props.depth"
|
|
40
33
|
:disableClasses="props.disableClasses"
|
|
41
34
|
/>
|
|
42
|
-
<
|
|
35
|
+
<SrlMenuItemContentImageBefore
|
|
43
36
|
v-else-if="props.item.imgBefore"
|
|
44
37
|
:item="props.item"
|
|
45
38
|
:depth="props.depth"
|
|
46
39
|
:disableClasses="props.disableClasses"
|
|
47
40
|
/>
|
|
48
|
-
<
|
|
41
|
+
<SrlMenuItemContentImageAfter
|
|
49
42
|
v-else-if="props.item.imgAfter"
|
|
50
43
|
:item="props.item"
|
|
51
44
|
:depth="props.depth"
|
|
52
45
|
:disableClasses="props.disableClasses"
|
|
53
46
|
/>
|
|
54
|
-
<
|
|
47
|
+
<SrlMenuItemContentText
|
|
55
48
|
v-else
|
|
56
49
|
:item="props.item"
|
|
57
50
|
:depth="props.depth"
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
2
|
import { computed, nextTick, ref, useId } from 'vue'
|
|
3
|
-
import MenuItemContent from './Item/Content.vue'
|
|
4
|
-
import MenuList from './List.vue'
|
|
5
3
|
import type { RouterLink } from 'vue-router'
|
|
6
4
|
import { isExternalPath } from '#utils/uri'
|
|
7
5
|
|
|
@@ -187,7 +185,7 @@ const classListItem = computed(() => {
|
|
|
187
185
|
@keydown.shift.tab.exact="back"
|
|
188
186
|
@keydown.esc.stop.prevent="close"
|
|
189
187
|
>
|
|
190
|
-
<
|
|
188
|
+
<SrlMenuItemContent
|
|
191
189
|
:item="props.item"
|
|
192
190
|
:depth="props.depth"
|
|
193
191
|
:disableClasses="props.disableClasses"
|
|
@@ -212,7 +210,7 @@ const classListItem = computed(() => {
|
|
|
212
210
|
@keydown.shift.tab.exact="back"
|
|
213
211
|
@keydown.esc.stop.prevent="close"
|
|
214
212
|
>
|
|
215
|
-
<
|
|
213
|
+
<SrlMenuItemContent
|
|
216
214
|
:item="props.item"
|
|
217
215
|
:depth="props.depth"
|
|
218
216
|
:disableClasses="props.disableClasses"
|
|
@@ -237,7 +235,7 @@ const classListItem = computed(() => {
|
|
|
237
235
|
@keydown.shift.tab.exact="back"
|
|
238
236
|
@keydown.esc.stop.prevent="close"
|
|
239
237
|
>
|
|
240
|
-
<
|
|
238
|
+
<SrlMenuItemContent
|
|
241
239
|
:item="props.item"
|
|
242
240
|
:depth="props.depth"
|
|
243
241
|
:disableClasses="props.disableClasses"
|
|
@@ -265,13 +263,13 @@ const classListItem = computed(() => {
|
|
|
265
263
|
@keydown.shift.tab.exact="back"
|
|
266
264
|
@keydown.esc.stop.prevent="close"
|
|
267
265
|
>
|
|
268
|
-
<
|
|
266
|
+
<SrlMenuItemContent
|
|
269
267
|
:item="props.item"
|
|
270
268
|
:depth="props.depth"
|
|
271
269
|
:disableClasses="props.disableClasses"
|
|
272
270
|
/>
|
|
273
271
|
</button>
|
|
274
|
-
<
|
|
272
|
+
<SrlMenu
|
|
275
273
|
v-if="props.item.children"
|
|
276
274
|
ref="menu"
|
|
277
275
|
:id="`${props.name}-${id}`"
|
|
@@ -51,7 +51,6 @@
|
|
|
51
51
|
* />
|
|
52
52
|
*/
|
|
53
53
|
import { computed, ref } from 'vue'
|
|
54
|
-
import MenuItem from './Item.vue'
|
|
55
54
|
|
|
56
55
|
type BackButtonItem = {
|
|
57
56
|
title?: string
|
|
@@ -108,7 +107,7 @@ const emit = defineEmits([
|
|
|
108
107
|
'tab',
|
|
109
108
|
'back',
|
|
110
109
|
])
|
|
111
|
-
const items = ref<
|
|
110
|
+
const items = ref<SrlMenuItem[]>([])
|
|
112
111
|
|
|
113
112
|
const opened = defineModel('opened', { type: Boolean, default: true })
|
|
114
113
|
|
|
@@ -247,7 +246,7 @@ defineExpose({
|
|
|
247
246
|
@keydown.left.prevent.stop="focusClickable(menuItems.length - 1)"
|
|
248
247
|
>
|
|
249
248
|
<template v-for="(item, index) in menuItems" :key="index">
|
|
250
|
-
<
|
|
249
|
+
<SrlMenuItem
|
|
251
250
|
ref="items"
|
|
252
251
|
:item="item"
|
|
253
252
|
:name="props.name"
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { defineAsyncComponent } from 'vue'
|
|
2
|
-
export default function asyncLdComponent(app) {}
|
|
1
|
+
import { defineAsyncComponent } from 'vue'
|
|
2
|
+
export default function asyncLdComponent(app) {}
|
|
@@ -5,7 +5,7 @@ import srlVuePlugin from '#plugins/vueSrlPlugin';
|
|
|
5
5
|
|
|
6
6
|
import '#imports/app.scss';
|
|
7
7
|
|
|
8
|
-
import SrlPageApp from '#components/
|
|
8
|
+
import SrlPageApp from '#components/App.vue';
|
|
9
9
|
import router from '@/router';
|
|
10
10
|
|
|
11
11
|
export default async function initProject() {
|
|
@@ -1,27 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import SrlAriaTabChain from '#components/Srl/Aria/TabChain.vue';
|
|
3
|
-
import SrlArticleAutoload from '#components/Srl/Article/Autoload.vue';
|
|
4
|
-
import SrlArticleRoot from '#components/Srl/Article/Root.vue';
|
|
5
|
-
import SrlArticleDialogButton from '#components/Srl/Article/DialogButton.vue';
|
|
6
|
-
import SrlMenu from '#components/Srl/Menu/List.vue';
|
|
7
|
-
import SrlPageDialog from '#components/Srl/Page/Dialog.vue';
|
|
8
|
-
|
|
1
|
+
import { type App } from 'vue'
|
|
9
2
|
import asyncLdComponent from './asyncLdComponent.ts';
|
|
3
|
+
import asyncSrlComponents from '#plugins/asyncSrlComponents.ts';
|
|
10
4
|
|
|
11
5
|
export default {
|
|
12
6
|
install(app: App) {
|
|
13
|
-
app
|
|
14
|
-
app.component('SrlArticleAutoload', defineComponent(SrlArticleAutoload));
|
|
15
|
-
app.component('SrlArticleRoot', defineComponent(SrlArticleRoot));
|
|
16
|
-
app.component(
|
|
17
|
-
'SrlArticleDialogButton',
|
|
18
|
-
defineComponent(SrlArticleDialogButton),
|
|
19
|
-
);
|
|
20
|
-
app.component('SrlPageDialog', defineComponent(SrlPageDialog));
|
|
21
|
-
app.component('SrlMenu', defineComponent(SrlMenu));
|
|
22
|
-
app.component('SrlNoteAccordion', defineAsyncComponent(() => import('#components/Srl/Note/Accordion.vue')));
|
|
23
|
-
app.component('SrlNoteAccordionToggle', defineAsyncComponent(() => import('#components/Srl/Note/Accordion/Toggle.vue')));
|
|
24
|
-
app.component('SrlNoteAccordionContent', defineAsyncComponent(() => import('#components/Srl/Note/Accordion/Content.vue')));
|
|
7
|
+
asyncSrlComponents(app)
|
|
25
8
|
asyncLdComponent(app);
|
|
26
9
|
},
|
|
27
10
|
};
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
{
|
|
2
|
+
"extends": "@vue/tsconfig/tsconfig.dom.json",
|
|
3
|
+
"include": [
|
|
4
|
+
"../env.d.ts",
|
|
5
|
+
"../src/**/*",
|
|
6
|
+
"../src/**/*.vue",
|
|
7
|
+
"./**/*",
|
|
8
|
+
"./**/*.vue",
|
|
9
|
+
"../livingdocs/**/*",
|
|
10
|
+
"../livingdocs/**/*.vue",
|
|
11
|
+
"./**/*.d.ts"
|
|
12
|
+
],
|
|
13
|
+
"exclude": [
|
|
14
|
+
"../src/**/__tests__/*"
|
|
15
|
+
],
|
|
16
|
+
"compilerOptions": {
|
|
17
|
+
"composite": true,
|
|
18
|
+
"tsBuildInfoFile": "../node_modules/.tmp/tsconfig.app.tsbuildinfo",
|
|
19
|
+
"baseUrl": ".",
|
|
20
|
+
"paths": {
|
|
21
|
+
"@/*": [
|
|
22
|
+
"../src/*"
|
|
23
|
+
],
|
|
24
|
+
"~/*": [
|
|
25
|
+
"../*"
|
|
26
|
+
],
|
|
27
|
+
"#srl": [
|
|
28
|
+
"./"
|
|
29
|
+
],
|
|
30
|
+
"#srl/*": [
|
|
31
|
+
"./*"
|
|
32
|
+
],
|
|
33
|
+
"#components": [
|
|
34
|
+
"./components"
|
|
35
|
+
],
|
|
36
|
+
"#components/*": [
|
|
37
|
+
"./components/*"
|
|
38
|
+
],
|
|
39
|
+
"#composables": [
|
|
40
|
+
"./composables"
|
|
41
|
+
],
|
|
42
|
+
"#composables/*": [
|
|
43
|
+
"./composables/*"
|
|
44
|
+
],
|
|
45
|
+
"#utils": [
|
|
46
|
+
"./utils"
|
|
47
|
+
],
|
|
48
|
+
"#utils/*": [
|
|
49
|
+
"./utils/*"
|
|
50
|
+
],
|
|
51
|
+
"#plugins": [
|
|
52
|
+
"./plugins"
|
|
53
|
+
],
|
|
54
|
+
"#plugins/*": [
|
|
55
|
+
"./plugins/*"
|
|
56
|
+
],
|
|
57
|
+
"#types": [
|
|
58
|
+
"./types"
|
|
59
|
+
],
|
|
60
|
+
"#types/*": [
|
|
61
|
+
"./types/*"
|
|
62
|
+
],
|
|
63
|
+
"#imports": [
|
|
64
|
+
"./imports"
|
|
65
|
+
],
|
|
66
|
+
"#imports/*": [
|
|
67
|
+
"./imports/*"
|
|
68
|
+
],
|
|
69
|
+
"#ld": [
|
|
70
|
+
"../livingdocs"
|
|
71
|
+
],
|
|
72
|
+
"#ld/*": [
|
|
73
|
+
"../livingdocs/*"
|
|
74
|
+
],
|
|
75
|
+
"assets": [
|
|
76
|
+
"../src/assets"
|
|
77
|
+
],
|
|
78
|
+
"assets/*": [
|
|
79
|
+
"../src/assets/*"
|
|
80
|
+
],
|
|
81
|
+
"srl": [
|
|
82
|
+
"./srl"
|
|
83
|
+
],
|
|
84
|
+
"srl/*": [
|
|
85
|
+
"./srl/*"
|
|
86
|
+
]
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
@@ -1,17 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
interface
|
|
4
|
-
app: App;
|
|
5
|
-
}
|
|
6
|
-
interface _GlobalComponents {
|
|
7
|
-
SrlAriaTabChain: (typeof import('../components/Srl/Aria/TabChain.vue'))['default'];
|
|
8
|
-
SrlArticleAutoload: (typeof import('../components/Srl/Article/Autoload.vue'))['default'];
|
|
9
|
-
SrlArticleDialogButton: (typeof import('../components/Srl/Article/DialogButton.vue'))['default'];
|
|
10
|
-
SrlArticleRoot: (typeof import('../components/Srl/Article/Root.vue'))['default'];
|
|
11
|
-
SrlMenu: (typeof import('../components/Srl/Menu/List.vue'))['default'];
|
|
12
|
-
SrlPageDialog: (typeof import('../components/Srl/Page/Dialog.vue'))['default'];
|
|
13
|
-
}
|
|
14
|
-
|
|
1
|
+
export {}
|
|
2
|
+
declare global {}
|
|
3
|
+
interface _GlobalComponents {}
|
|
15
4
|
declare module '@vue/runtime-core' {
|
|
16
5
|
export interface GlobalComponents extends _GlobalComponents {}
|
|
17
6
|
}
|
package/srl/types/nswow.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export {};
|
|
2
2
|
declare global {
|
|
3
|
-
|
|
3
|
+
type NsWowSettings = {
|
|
4
4
|
languages: string[];
|
|
5
5
|
defaultLanguage: string;
|
|
6
6
|
shortBreadcrumb: boolean;
|
|
@@ -10,7 +10,7 @@ declare global {
|
|
|
10
10
|
categories: string[];
|
|
11
11
|
};
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
interface NsWowArticle {
|
|
14
14
|
uuid: string;
|
|
15
15
|
name: string;
|
|
16
16
|
translatedTitle: string;
|
|
@@ -23,11 +23,11 @@ declare global {
|
|
|
23
23
|
status: string;
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
interface NsWowArticles {
|
|
27
27
|
[locale: string]: NsWowArticle[];
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
type NsWowConfig = {
|
|
31
31
|
locale: string;
|
|
32
32
|
settings: NsWowSettings;
|
|
33
33
|
articles: NsWowArticles;
|
|
@@ -40,15 +40,15 @@ declare global {
|
|
|
40
40
|
};
|
|
41
41
|
};
|
|
42
42
|
|
|
43
|
-
|
|
43
|
+
type NsWowTranslations = {
|
|
44
44
|
[locale: string]: NsWowTranslation;
|
|
45
45
|
};
|
|
46
46
|
|
|
47
|
-
|
|
47
|
+
type NsWowTranslation = {
|
|
48
48
|
[key: string]: string;
|
|
49
49
|
};
|
|
50
50
|
|
|
51
|
-
|
|
51
|
+
interface NsWowMenu {
|
|
52
52
|
label: string;
|
|
53
53
|
type: string;
|
|
54
54
|
page?: string;
|
|
@@ -57,11 +57,11 @@ declare global {
|
|
|
57
57
|
submenuEntries?: NsWowMenu[];
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
-
|
|
60
|
+
interface NsWowMenus {
|
|
61
61
|
[menu: string]: NsWowMenu[];
|
|
62
62
|
}
|
|
63
63
|
|
|
64
|
-
|
|
64
|
+
interface NsWowResponseRouting {
|
|
65
65
|
version: string;
|
|
66
66
|
pages: NsWowArticle[];
|
|
67
67
|
menu: {
|
|
@@ -69,7 +69,7 @@ declare global {
|
|
|
69
69
|
};
|
|
70
70
|
}
|
|
71
71
|
|
|
72
|
-
|
|
72
|
+
interface NsWowDownload {
|
|
73
73
|
type: string;
|
|
74
74
|
title: string;
|
|
75
75
|
fileType: string;
|
|
@@ -77,19 +77,19 @@ declare global {
|
|
|
77
77
|
artifact: string;
|
|
78
78
|
}
|
|
79
79
|
|
|
80
|
-
|
|
80
|
+
type NsWowDownloads = {
|
|
81
81
|
version?: string;
|
|
82
82
|
structure: NsWowDownload[];
|
|
83
83
|
annualReport?: NsWowDownload;
|
|
84
84
|
};
|
|
85
85
|
|
|
86
|
-
|
|
86
|
+
type NsWowSearchList = {
|
|
87
87
|
article: NsWowArticle;
|
|
88
88
|
href: string;
|
|
89
89
|
words: string;
|
|
90
90
|
};
|
|
91
91
|
|
|
92
|
-
|
|
92
|
+
type NsWowNavigationItem = {
|
|
93
93
|
label: string;
|
|
94
94
|
title?: string;
|
|
95
95
|
icon?: string;
|
|
@@ -116,7 +116,7 @@ declare global {
|
|
|
116
116
|
children?: NsWowNavigationItem[];
|
|
117
117
|
};
|
|
118
118
|
|
|
119
|
-
|
|
119
|
+
type NsWowPageData = {
|
|
120
120
|
time: number;
|
|
121
121
|
article: NsWowArticle | null;
|
|
122
122
|
content: string;
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|