@soleil-se/config-svelte 1.26.2 → 1.27.0
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/CHANGELOG.md +4 -0
- package/components/Checkbox/Component.svelte +8 -1
- package/components/CheckboxGroup/Component.svelte +10 -1
- package/components/CheckboxGroup/types.d.ts +1 -0
- package/components/CustomList/Component.svelte +7 -1
- package/components/CustomSelector/Component.svelte +13 -2
- package/components/CustomSelector/types.d.ts +1 -0
- package/components/DropdownSelector/Component.svelte +10 -1
- package/components/DropdownSelector/types.d.ts +30 -0
- package/components/ImageSelector/Component.svelte +9 -1
- package/components/InputField/Component.svelte +1 -2
- package/components/LinkSelector/Component.svelte +27 -20
- package/components/ListSelector/Component.svelte +14 -3
- package/components/ListSelector/types.d.ts +23 -0
- package/components/Modal/Component.svelte +3 -0
- package/components/NodeSelector/Component.svelte +12 -2
- package/components/NodeSelector/types.d.ts +23 -0
- package/components/NumberSpinner/Component.svelte +12 -1
- package/components/Panel/Component.svelte +4 -1
- package/components/RadioGroup/Component.svelte +10 -1
- package/components/RadioGroup/types.d.ts +1 -0
- package/components/RepositoryNodeSelector/Component.svelte +17 -1
- package/components/RepositoryNodeSelector/types.d.ts +23 -0
- package/components/SelectField/Component.svelte +8 -1
- package/components/SelectField/types.d.ts +1 -0
- package/components/TagSelector/Component.svelte +9 -3
- package/components/TextList/Component.svelte +8 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,10 @@ All notable changes to this project will be documented in this file.
|
|
|
7
7
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
8
8
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
9
9
|
|
|
10
|
+
## [1.26.3] - 2024-06-28
|
|
11
|
+
|
|
12
|
+
- Update dependencies.
|
|
13
|
+
|
|
10
14
|
## [1.26.2] - 2024-05-23
|
|
11
15
|
|
|
12
16
|
- More lenient `@sitevision/api` peer dependency range.
|
|
@@ -5,12 +5,19 @@
|
|
|
5
5
|
const values = window.CONFIG_VALUES || {};
|
|
6
6
|
const dispatch = createEventDispatcher();
|
|
7
7
|
|
|
8
|
+
/** @type {string} */
|
|
8
9
|
export let id = generateId();
|
|
10
|
+
/** @type {string} */
|
|
9
11
|
export let label;
|
|
12
|
+
/** @type {string} */
|
|
10
13
|
export let name;
|
|
14
|
+
/** @type {boolean} */
|
|
11
15
|
export let disabled = false;
|
|
16
|
+
/** @type {boolean} */
|
|
12
17
|
export let checked = false;
|
|
18
|
+
/** @type {boolean} */
|
|
13
19
|
export let show = true;
|
|
20
|
+
/** @type {boolean} */
|
|
14
21
|
export let value;
|
|
15
22
|
value = name ? values[name] ?? value ?? checked : value;
|
|
16
23
|
|
|
@@ -27,7 +34,7 @@
|
|
|
27
34
|
@component
|
|
28
35
|
A checkbox component.
|
|
29
36
|
|
|
30
|
-
[README](https://docs.
|
|
37
|
+
[README](https://docs.soleil.se/packages/soleil/svelte-config/components/checkbox/)
|
|
31
38
|
-->
|
|
32
39
|
|
|
33
40
|
<div class="form-group {className}" class:hidden={!show}>
|
|
@@ -5,17 +5,26 @@
|
|
|
5
5
|
const values = window.CONFIG_VALUES || {};
|
|
6
6
|
const dispatch = createEventDispatcher();
|
|
7
7
|
|
|
8
|
+
/** @type {string} */
|
|
8
9
|
export let id = generateId();
|
|
10
|
+
/** @type {string} */
|
|
9
11
|
export let name;
|
|
12
|
+
/** @type {import('./types.d.ts').Option[]} */
|
|
10
13
|
export let options;
|
|
14
|
+
/** @type {string} */
|
|
11
15
|
export let legend;
|
|
16
|
+
/** @type {boolean} */
|
|
12
17
|
export let legendVisuallyHidden = false;
|
|
18
|
+
/** @type {boolean} */
|
|
13
19
|
export let disabled = false;
|
|
20
|
+
/** @type {boolean} */
|
|
14
21
|
export let show = true;
|
|
22
|
+
/** @type {string[]} */
|
|
15
23
|
export let value = [];
|
|
16
24
|
value = name ? values[name] || value : value;
|
|
17
25
|
|
|
18
26
|
let className = '';
|
|
27
|
+
/** @type {string} */
|
|
19
28
|
export { className as class };
|
|
20
29
|
|
|
21
30
|
function isChecked(option) {
|
|
@@ -37,7 +46,7 @@
|
|
|
37
46
|
@component
|
|
38
47
|
A checkbox group component.
|
|
39
48
|
|
|
40
|
-
[README](https://docs.
|
|
49
|
+
[README](https://docs.soleil.se/packages/soleil/svelte-config/components/checkboxgroup/)
|
|
41
50
|
-->
|
|
42
51
|
|
|
43
52
|
<fieldset class="form-group {className}" class:hidden={!show}>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type Option = ({string} | {label: string, value: string})[]
|
|
@@ -13,11 +13,17 @@
|
|
|
13
13
|
const configValues = window.CONFIG_VALUES || {};
|
|
14
14
|
const dispatch = createEventDispatcher();
|
|
15
15
|
|
|
16
|
+
/** @type {string} */
|
|
16
17
|
export let label;
|
|
18
|
+
/** @type {boolean} */
|
|
17
19
|
export let required = false;
|
|
20
|
+
/** @type {string} */
|
|
18
21
|
export let name = undefined;
|
|
22
|
+
/** @type {boolean} */
|
|
19
23
|
export let disabled = false;
|
|
24
|
+
/** @type {boolean} */
|
|
20
25
|
export let show = true;
|
|
26
|
+
/** @type {string} */
|
|
21
27
|
export let icon;
|
|
22
28
|
|
|
23
29
|
export let value = [];
|
|
@@ -99,7 +105,7 @@
|
|
|
99
105
|
Custom list component for adding multiple modal windows containting configuration components and
|
|
100
106
|
sorting them.
|
|
101
107
|
|
|
102
|
-
[README](https://docs.
|
|
108
|
+
[README](https://docs.soleil.se/packages/soleil/svelte-config/components/customlist/)
|
|
103
109
|
-->
|
|
104
110
|
|
|
105
111
|
{#each Object.keys(modals) as id (id)}
|
|
@@ -6,18 +6,29 @@
|
|
|
6
6
|
const values = window.CONFIG_VALUES || {};
|
|
7
7
|
const dispatch = createEventDispatcher();
|
|
8
8
|
|
|
9
|
+
/** @type {string} */
|
|
9
10
|
export let id = generateId();
|
|
11
|
+
/** @type {string} */
|
|
10
12
|
export let label;
|
|
13
|
+
/** @type {string} */
|
|
11
14
|
export let name = undefined;
|
|
15
|
+
/** @type {string} */
|
|
12
16
|
export let placeholder = i18n('placeholder');
|
|
17
|
+
/** @type {import('./types.d.ts').Option[]} */
|
|
13
18
|
export let options = [];
|
|
19
|
+
/** @type {boolean} */
|
|
14
20
|
export let searchable = false;
|
|
21
|
+
/** @type {boolean} */
|
|
15
22
|
export let removable = true;
|
|
23
|
+
/** @type {boolean} */
|
|
16
24
|
export let required = false;
|
|
25
|
+
/** @type {boolean} */
|
|
17
26
|
export let disabled = false;
|
|
27
|
+
/** @type {boolean} */
|
|
18
28
|
export let multiple = false;
|
|
29
|
+
/** @type {boolean} */
|
|
19
30
|
export let show = true;
|
|
20
|
-
|
|
31
|
+
/** @type {string | string[]} */
|
|
21
32
|
export let value = multiple ? [] : '';
|
|
22
33
|
|
|
23
34
|
value = !removable && !multiple ? value || options[0]?.value || options[0] || '' : value;
|
|
@@ -69,7 +80,7 @@
|
|
|
69
80
|
@component
|
|
70
81
|
Wrapper component for Sitevision [Custom selector](https://developer.sitevision.se/docs/webapps/webapps-2/configuration/sitevision-components#h-Customselectorsince91).
|
|
71
82
|
|
|
72
|
-
[README](https://docs.
|
|
83
|
+
[README](https://docs.soleil.se/packages/soleil/svelte-config/components/customselector/)
|
|
73
84
|
-->
|
|
74
85
|
|
|
75
86
|
<div class="form-group {className}" class:hidden={!show}>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type Option = ({string} | {label: string, value: string})[]
|
|
@@ -5,14 +5,23 @@
|
|
|
5
5
|
const values = window.CONFIG_VALUES || {};
|
|
6
6
|
const dispatch = createEventDispatcher();
|
|
7
7
|
|
|
8
|
+
/** @type {string} */
|
|
8
9
|
export let id = generateId();
|
|
10
|
+
/** @type {string} */
|
|
9
11
|
export let label;
|
|
12
|
+
/** @type {string} */
|
|
10
13
|
export let name = undefined;
|
|
11
|
-
|
|
14
|
+
/** @type {import('./types.d.ts').Type} */
|
|
15
|
+
export let type = 'metadata';
|
|
16
|
+
/** @type {import('./types.d.ts').Selectable} */
|
|
12
17
|
export let selectable = [];
|
|
18
|
+
/** @type {boolean} */
|
|
13
19
|
export let required = false;
|
|
20
|
+
/** @type {boolean} */
|
|
14
21
|
export let disabled = false;
|
|
22
|
+
/** @type {boolean} */
|
|
15
23
|
export let show = true;
|
|
24
|
+
/** @type {string} */
|
|
16
25
|
export let value = '';
|
|
17
26
|
|
|
18
27
|
selectable = Array.isArray(selectable) ? selectable.join(',') : selectable;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export type NodeType =
|
|
2
|
+
"sv:metadataDateDefinition" |
|
|
3
|
+
"sv:metadataUserDefinition" |
|
|
4
|
+
"sv:metadataDirectoryDefinition" |
|
|
5
|
+
"sv:metadataTextDefinition" |
|
|
6
|
+
"sv:metadataSingleDefinition" |
|
|
7
|
+
"sv:metadataMultipleDefinition" |
|
|
8
|
+
"sv:metadataSystemLinkDefinition" |
|
|
9
|
+
"sv:metadataSystemIntegerDefinition" |
|
|
10
|
+
"sv:metadataSystemTextDefinition" |
|
|
11
|
+
"sv:metadataSystemDefinition" |
|
|
12
|
+
"sv:metadataLinkDefinition" |
|
|
13
|
+
"sv:metadataTextPortletDefinition" |
|
|
14
|
+
"sv:metadataImagePortletDefinition" |
|
|
15
|
+
"sv:metadataKeywordDefinition" |
|
|
16
|
+
"sv:metadataRelatedInformationDefinition" |
|
|
17
|
+
"sv:metadataMediaPortletDefinition" |
|
|
18
|
+
"sv:metadataSingleTagDefinition" |
|
|
19
|
+
"sv:metadataMultipleTagDefinition";
|
|
20
|
+
|
|
21
|
+
export type Selectable = NodeType | NodeType[]
|
|
22
|
+
|
|
23
|
+
export type Type =
|
|
24
|
+
"metadata" |
|
|
25
|
+
"template" |
|
|
26
|
+
"oauth2-configuration" |
|
|
27
|
+
"virtual-group" |
|
|
28
|
+
"search-index" |
|
|
29
|
+
"font" |
|
|
30
|
+
"color"
|
|
@@ -11,14 +11,22 @@
|
|
|
11
11
|
|
|
12
12
|
const values = window.CONFIG_VALUES || {};
|
|
13
13
|
|
|
14
|
+
/** @type {string} */
|
|
14
15
|
export let name = undefined;
|
|
16
|
+
/** @type {string} */
|
|
15
17
|
export let heading = i18n('heading');
|
|
18
|
+
/** @type {boolean} */
|
|
16
19
|
export let required = false;
|
|
20
|
+
/** @type {string} */
|
|
17
21
|
export let node;
|
|
22
|
+
/** @type {string} */
|
|
18
23
|
export let alt;
|
|
19
24
|
alt = name ? values[`${name}Alt`] ?? alt : alt;
|
|
25
|
+
/** @type {boolean} */
|
|
20
26
|
export let hideDecorative = false;
|
|
27
|
+
/** @type {boolean} */
|
|
21
28
|
export let decorative = false;
|
|
29
|
+
/** @type {boolean} */
|
|
22
30
|
export let show;
|
|
23
31
|
$: decorative = hideDecorative ? false : decorative;
|
|
24
32
|
|
|
@@ -65,7 +73,7 @@
|
|
|
65
73
|
@component
|
|
66
74
|
Custom panel component for selecting an image.
|
|
67
75
|
|
|
68
|
-
[README](https://docs.
|
|
76
|
+
[README](https://docs.soleil.se/packages/soleil/svelte-config/components/imageselector/)
|
|
69
77
|
-->
|
|
70
78
|
|
|
71
79
|
<Panel {heading} {show}>
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
<script>
|
|
2
|
-
/* eslint-disable no-undef-init */
|
|
3
2
|
import { createEventDispatcher } from 'svelte';
|
|
4
3
|
import { prefixHttps } from '../../actions';
|
|
5
4
|
import { generateId } from '../../utils';
|
|
@@ -51,7 +50,7 @@
|
|
|
51
50
|
@component
|
|
52
51
|
Component for input fields and textareas.
|
|
53
52
|
|
|
54
|
-
[README](https://docs.
|
|
53
|
+
[README](https://docs.soleil.se/packages/soleil/svelte-config/components/inputfield/)
|
|
55
54
|
-->
|
|
56
55
|
|
|
57
56
|
<div class="form-group {className}" class:hidden={!show}>
|
|
@@ -12,12 +12,19 @@
|
|
|
12
12
|
|
|
13
13
|
const dispatch = createEventDispatcher();
|
|
14
14
|
|
|
15
|
+
/** @type {string} */
|
|
15
16
|
export let heading = i18n('heading');
|
|
17
|
+
/** @type {string} */
|
|
16
18
|
export let name;
|
|
19
|
+
/** @type {boolean} */
|
|
17
20
|
export let disabled = false;
|
|
21
|
+
/** @type {boolean} */
|
|
18
22
|
export let required = false;
|
|
23
|
+
/** @type {('internal' | 'external' | 'file' | 'mail' | 'tel')} */
|
|
19
24
|
export let types = ['internal', 'external', 'file'];
|
|
25
|
+
/** @type {boolean} */
|
|
20
26
|
export let show;
|
|
27
|
+
/** @type {object} */
|
|
21
28
|
export let value;
|
|
22
29
|
|
|
23
30
|
value = getSavedValue({ value, name, types });
|
|
@@ -58,19 +65,19 @@
|
|
|
58
65
|
@component
|
|
59
66
|
Custom panel component for selecting a link.
|
|
60
67
|
|
|
61
|
-
[README](https://docs.
|
|
68
|
+
[README](https://docs.soleil.se/packages/soleil/svelte-config/components/linkselector/)
|
|
62
69
|
-->
|
|
63
70
|
|
|
64
|
-
<Panel
|
|
71
|
+
<Panel class={className} {heading} {required} {show}>
|
|
65
72
|
<slot name="top" />
|
|
66
73
|
{#if selectableTypes.length > 1}
|
|
67
74
|
<div class="sr-legend form-group">
|
|
68
75
|
<RadioGroup
|
|
69
|
-
bind:value={value.type}
|
|
70
76
|
name={name ? `${name}Type` : ''}
|
|
71
|
-
options={selectableTypes}
|
|
72
77
|
{disabled}
|
|
73
78
|
legend="Länktyp"
|
|
79
|
+
options={selectableTypes}
|
|
80
|
+
bind:value={value.type}
|
|
74
81
|
on:change={onChange}
|
|
75
82
|
/>
|
|
76
83
|
</div>
|
|
@@ -79,66 +86,66 @@
|
|
|
79
86
|
<div class="sr-label form-group form-group--internal" use:showAction={isInternal}>
|
|
80
87
|
<NodeSelector
|
|
81
88
|
name={name && isInternal ? `${name}Value` : undefined}
|
|
82
|
-
bind:value={selected.internal}
|
|
83
89
|
{disabled}
|
|
84
|
-
type="page-selector"
|
|
85
90
|
label={i18n('internal')}
|
|
86
|
-
on:change={onChange}
|
|
87
91
|
required={required && isInternal}
|
|
92
|
+
type="page-selector"
|
|
93
|
+
bind:value={selected.internal}
|
|
94
|
+
on:change={onChange}
|
|
88
95
|
/>
|
|
89
96
|
</div>
|
|
90
97
|
<div class="sr-label form-group form-group--external" use:showAction={isExternal}>
|
|
91
98
|
<InputField
|
|
92
99
|
name={name && isExternal ? `${name}Value` : undefined}
|
|
93
|
-
bind:value={selected.external}
|
|
94
100
|
{disabled}
|
|
95
101
|
label={i18n('external')}
|
|
102
|
+
required={required && isExternal}
|
|
96
103
|
type="url"
|
|
104
|
+
bind:value={selected.external}
|
|
97
105
|
on:change={onChange}
|
|
98
|
-
required={required && isExternal}
|
|
99
106
|
/>
|
|
100
107
|
</div>
|
|
101
108
|
<div class="sr-label form-group form-group--file" use:showAction={isFile}>
|
|
102
109
|
<NodeSelector
|
|
103
110
|
name={name && isFile ? `${name}Value` : undefined}
|
|
104
|
-
bind:value={selected.file}
|
|
105
111
|
{disabled}
|
|
106
|
-
type="file-selector"
|
|
107
112
|
label={i18n('file')}
|
|
108
|
-
on:change={onChange}
|
|
109
113
|
required={required && isFile}
|
|
114
|
+
type="file-selector"
|
|
115
|
+
bind:value={selected.file}
|
|
116
|
+
on:change={onChange}
|
|
110
117
|
/>
|
|
111
118
|
</div>
|
|
112
119
|
|
|
113
120
|
<div class="sr-label form-group form-group--mail" use:showAction={isMail}>
|
|
114
121
|
<InputField
|
|
115
122
|
name={name && isMail ? `${name}Value` : undefined}
|
|
116
|
-
|
|
123
|
+
action={prefixMail}
|
|
117
124
|
{disabled}
|
|
118
125
|
label={i18n('mail')}
|
|
119
|
-
action={prefixMail}
|
|
120
|
-
on:change={onChange}
|
|
121
126
|
required={required && isMail}
|
|
127
|
+
bind:value={selected.mail}
|
|
128
|
+
on:change={onChange}
|
|
122
129
|
/>
|
|
123
130
|
</div>
|
|
124
131
|
<div class="sr-label form-group form-group--tel" use:showAction={isTel}>
|
|
125
132
|
<InputField
|
|
126
133
|
name={name && isTel ? `${name}Value` : undefined}
|
|
127
|
-
|
|
134
|
+
action={prefixTel}
|
|
128
135
|
{disabled}
|
|
129
136
|
label={i18n('tel')}
|
|
137
|
+
required={required && isTel}
|
|
130
138
|
type="tel"
|
|
131
|
-
|
|
139
|
+
bind:value={selected.tel}
|
|
132
140
|
on:change={onChange}
|
|
133
|
-
required={required && isTel}
|
|
134
141
|
/>
|
|
135
142
|
</div>
|
|
136
143
|
<Checkbox
|
|
137
|
-
class="form-group--new-window"
|
|
138
|
-
bind:value={value.newWindow}
|
|
139
144
|
name={name ? `${name}NewWindow` : ''}
|
|
145
|
+
class="form-group--new-window"
|
|
140
146
|
{disabled}
|
|
141
147
|
label={i18n('newTab')}
|
|
148
|
+
bind:value={value.newWindow}
|
|
142
149
|
on:change={onChange}
|
|
143
150
|
/>
|
|
144
151
|
<slot name="bottom" />
|
|
@@ -5,19 +5,30 @@
|
|
|
5
5
|
const values = window.CONFIG_VALUES || {};
|
|
6
6
|
const dispatch = createEventDispatcher();
|
|
7
7
|
|
|
8
|
+
/** @type {string} */
|
|
8
9
|
export let id = generateId();
|
|
10
|
+
/** @type {string} */
|
|
9
11
|
export let name;
|
|
12
|
+
/** @type {string} */
|
|
10
13
|
export let label;
|
|
11
|
-
|
|
14
|
+
/** @type {import('./types.d.ts').Type} */
|
|
15
|
+
export let type = 'page';
|
|
16
|
+
/** @type {boolean} */
|
|
12
17
|
export let required = false;
|
|
18
|
+
/** @type {boolean} */
|
|
13
19
|
export let disabled = false;
|
|
20
|
+
/** @type {boolean} */
|
|
14
21
|
export let sortable = false;
|
|
22
|
+
/** @type {boolean} */
|
|
15
23
|
export let show = true;
|
|
24
|
+
/** Selectable types, all types are not available in all types of lists.
|
|
25
|
+
* @type {import('./types.d.ts').Selectable} */
|
|
16
26
|
export let selectable = [];
|
|
27
|
+
/** @type {string[]} */
|
|
17
28
|
export let value = [];
|
|
18
29
|
|
|
19
30
|
selectable = Array.isArray(selectable) ? selectable.join(',') : selectable;
|
|
20
|
-
//
|
|
31
|
+
// Sitevision saves as an object, we need the value as comma separated string.
|
|
21
32
|
value = (values[name] ?? value).map((v) => v.value || v);
|
|
22
33
|
const onChange = (val) => {
|
|
23
34
|
value = val ? val.split(',') : [];
|
|
@@ -46,7 +57,7 @@
|
|
|
46
57
|
@component
|
|
47
58
|
Wrapper for Sitevision [list components](https://developer.sitevision.se/docs/webapps/webapps-2/configuration/sitevision-components#h-Listcomponents).
|
|
48
59
|
|
|
49
|
-
[README](https://docs.
|
|
60
|
+
[README](https://docs.soleil.se/packages/soleil/svelte-config/components/listselector/)
|
|
50
61
|
-->
|
|
51
62
|
|
|
52
63
|
<div class="form-group" class:disabled class:hidden={!show}>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export type NodeType =
|
|
2
|
+
"sv:sitePage" |
|
|
3
|
+
"sv:page" |
|
|
4
|
+
"sv:article" |
|
|
5
|
+
"sv:archive" |
|
|
6
|
+
"sv:folder" |
|
|
7
|
+
"sv:link" |
|
|
8
|
+
"sv:structurePage" |
|
|
9
|
+
"sv:structureFolder" |
|
|
10
|
+
"sv:structureLink" |
|
|
11
|
+
"sv:collaborationGroupPage" |
|
|
12
|
+
"sv:collaborationGroupFolder"|
|
|
13
|
+
"sv:file" |
|
|
14
|
+
"sv:image";
|
|
15
|
+
|
|
16
|
+
export type Selectable = NodeType | NodeType[]
|
|
17
|
+
|
|
18
|
+
export type Type =
|
|
19
|
+
"page" |;
|
|
20
|
+
"file" |;
|
|
21
|
+
"image" |;
|
|
22
|
+
"user" |;
|
|
23
|
+
"userfield";
|
|
@@ -9,8 +9,11 @@
|
|
|
9
9
|
import i18n from './i18n';
|
|
10
10
|
import updateGlobalValues from './api/updateGlobalValues';
|
|
11
11
|
|
|
12
|
+
/** @type {string} */
|
|
12
13
|
export let title;
|
|
14
|
+
/** @type {boolean} */
|
|
13
15
|
export let open = false;
|
|
16
|
+
/** @type {HTMLElement} */
|
|
14
17
|
export let element;
|
|
15
18
|
|
|
16
19
|
const dispatch = createEventDispatcher();
|
|
@@ -6,16 +6,26 @@
|
|
|
6
6
|
const values = window.CONFIG_VALUES || {};
|
|
7
7
|
const dispatch = createEventDispatcher();
|
|
8
8
|
|
|
9
|
+
/** @type {string} */
|
|
9
10
|
export let id = generateId();
|
|
10
11
|
export let label;
|
|
11
|
-
|
|
12
|
+
/** @type {import('./types.d.ts').Type} */
|
|
13
|
+
export let type = 'page';
|
|
14
|
+
/** @type {string} */
|
|
12
15
|
export let name;
|
|
16
|
+
/** @type {boolean} */
|
|
13
17
|
export let required = false;
|
|
18
|
+
/** @type {boolean} */
|
|
14
19
|
export let disabled = false;
|
|
20
|
+
/** @type {boolean} */
|
|
15
21
|
export let readonly = false;
|
|
22
|
+
/** @type {boolean} */
|
|
16
23
|
export let removable = true;
|
|
24
|
+
/** @type {import('./types.d.ts').Selectable} */
|
|
17
25
|
export let selectable = [];
|
|
26
|
+
/** @type {string} */
|
|
18
27
|
export let value = '';
|
|
28
|
+
/** @type {boolean} */
|
|
19
29
|
export let show = true;
|
|
20
30
|
|
|
21
31
|
selectable = Array.isArray(selectable) ? selectable.join(',') : selectable;
|
|
@@ -59,7 +69,7 @@
|
|
|
59
69
|
@component
|
|
60
70
|
Wrapper for Sitevision [input components](https://developer.sitevision.se/docs/webapps/webapps-2/configuration/sitevision-components) used for selecting nodes.
|
|
61
71
|
|
|
62
|
-
[README](https://docs.
|
|
72
|
+
[README](https://docs.soleil.se/packages/soleil/svelte-config/components/nodeselector/)
|
|
63
73
|
-->
|
|
64
74
|
|
|
65
75
|
<div class="form-group {className}" class:hidden={!show}>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export type NodeType =
|
|
2
|
+
"sv:sitePage" |
|
|
3
|
+
"sv:page" |
|
|
4
|
+
"sv:article" |
|
|
5
|
+
"sv:archive" |
|
|
6
|
+
"sv:folder" |
|
|
7
|
+
"sv:link" |
|
|
8
|
+
"sv:structurePage" |
|
|
9
|
+
"sv:structureFolder" |
|
|
10
|
+
"sv:structureLink" |
|
|
11
|
+
"sv:collaborationGroupPage" |
|
|
12
|
+
"sv:collaborationGroupFolder";
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
export type Selectable = NodeType | NodeType[]
|
|
16
|
+
|
|
17
|
+
export type Type =
|
|
18
|
+
"page" |
|
|
19
|
+
"file" |
|
|
20
|
+
"image" |
|
|
21
|
+
"user" |
|
|
22
|
+
"content-node" |
|
|
23
|
+
"link";
|
|
@@ -5,16 +5,27 @@
|
|
|
5
5
|
const values = window.CONFIG_VALUES || {};
|
|
6
6
|
const dispatch = createEventDispatcher();
|
|
7
7
|
|
|
8
|
+
/** @type {string} */
|
|
8
9
|
export let id = generateId();
|
|
10
|
+
/** @type {string} */
|
|
9
11
|
export let name;
|
|
12
|
+
/** @type {string} */
|
|
10
13
|
export let label;
|
|
14
|
+
/** @type {number} */
|
|
11
15
|
export let min;
|
|
16
|
+
/** @type {number} */
|
|
12
17
|
export let max;
|
|
18
|
+
/** @type {number} */
|
|
13
19
|
export let step = 1;
|
|
20
|
+
/** @type {boolean} */
|
|
14
21
|
export let disabled = false;
|
|
22
|
+
/** @type {boolean} */
|
|
15
23
|
export let readonly = false;
|
|
24
|
+
/** @type {boolean} */
|
|
16
25
|
export let show = true;
|
|
26
|
+
/** @type {string} */
|
|
17
27
|
export let suffix;
|
|
28
|
+
/** @type {number} */
|
|
18
29
|
export let value = min || 1;
|
|
19
30
|
value = Number(name ? values[name] ?? value : value);
|
|
20
31
|
value = min && value < Number(min) ? min : value;
|
|
@@ -45,7 +56,7 @@
|
|
|
45
56
|
@component
|
|
46
57
|
Wrapper for Sitevision [number spinner](https://developer.sitevision.se/docs/webapps/webapps-2/configuration/sitevision-components).
|
|
47
58
|
|
|
48
|
-
[README](https://docs.
|
|
59
|
+
[README](https://docs.soleil.se/packages/soleil/svelte-config/components/numberspinner/)
|
|
49
60
|
-->
|
|
50
61
|
|
|
51
62
|
<div class="form-group {className}" class:hidden={!show}>
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
<script>
|
|
2
2
|
import i18n from './i18n';
|
|
3
3
|
|
|
4
|
+
/** @type {string} */
|
|
4
5
|
export let heading = i18n('settings');
|
|
6
|
+
/** @type {boolean} */
|
|
5
7
|
export let required = false;
|
|
8
|
+
/** @type {boolean} */
|
|
6
9
|
export let show = true;
|
|
7
10
|
|
|
8
11
|
let className = '';
|
|
@@ -14,7 +17,7 @@
|
|
|
14
17
|
@component
|
|
15
18
|
A panel component.
|
|
16
19
|
|
|
17
|
-
[README](https://docs.
|
|
20
|
+
[README](https://docs.soleil.se/packages/soleil/svelte-config/components/panel/)
|
|
18
21
|
-->
|
|
19
22
|
|
|
20
23
|
<div class="panel panel-default {className}" class:hidden={!show}>
|
|
@@ -5,14 +5,23 @@
|
|
|
5
5
|
const values = window.CONFIG_VALUES || {};
|
|
6
6
|
const dispatch = createEventDispatcher();
|
|
7
7
|
|
|
8
|
+
/** @type {string} */
|
|
8
9
|
export let id = generateId();
|
|
10
|
+
/** @type {string} */
|
|
9
11
|
export let name;
|
|
12
|
+
/** @type {import('./types.d.ts').Option[]} */
|
|
10
13
|
export let options = [];
|
|
14
|
+
/** @type {string} */
|
|
11
15
|
export let legend;
|
|
16
|
+
/** @type {string} */
|
|
12
17
|
export let label;
|
|
18
|
+
/** @type {boolean} */
|
|
13
19
|
export let legendVisuallyHidden = false;
|
|
20
|
+
/** @type {boolean} */
|
|
14
21
|
export let disabled = false;
|
|
22
|
+
/** @type {boolean} */
|
|
15
23
|
export let show = true;
|
|
24
|
+
/** @type {string} */
|
|
16
25
|
export let value = options[0]?.value ?? options[0] ?? '';
|
|
17
26
|
value = name ? values[name] ?? value : value;
|
|
18
27
|
|
|
@@ -33,7 +42,7 @@
|
|
|
33
42
|
@component
|
|
34
43
|
A radio group component.
|
|
35
44
|
|
|
36
|
-
[README](https://docs.
|
|
45
|
+
[README](https://docs.soleil.se/packages/soleil/svelte-config/components/radiogroup/)
|
|
37
46
|
-->
|
|
38
47
|
|
|
39
48
|
<fieldset class="form-group" class:hidden={!show}>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type Option = ({string} | {label: string, value: string})[]
|
|
@@ -5,16 +5,25 @@
|
|
|
5
5
|
import CustomSelector from '../CustomSelector';
|
|
6
6
|
import i18n from './i18n';
|
|
7
7
|
|
|
8
|
+
/** @type {string} */
|
|
8
9
|
export let id;
|
|
10
|
+
/** @type {string} */
|
|
9
11
|
export let label;
|
|
12
|
+
/** @type {string} */
|
|
10
13
|
export let name;
|
|
14
|
+
/** @type {boolean} */
|
|
11
15
|
export let searchable;
|
|
16
|
+
/** @type {boolean} */
|
|
12
17
|
export let required;
|
|
18
|
+
/** @type {boolean} */
|
|
13
19
|
export let disabled;
|
|
20
|
+
/** @type {boolean} */
|
|
14
21
|
export let multiple;
|
|
22
|
+
/** @type {boolean} */
|
|
15
23
|
export let show;
|
|
24
|
+
/** @type {string} */
|
|
16
25
|
export let value;
|
|
17
|
-
|
|
26
|
+
/** @type {import('./types.d.ts').Type} */
|
|
18
27
|
export let type;
|
|
19
28
|
|
|
20
29
|
let options = [];
|
|
@@ -52,6 +61,13 @@
|
|
|
52
61
|
});
|
|
53
62
|
</script>
|
|
54
63
|
|
|
64
|
+
<!--
|
|
65
|
+
@component
|
|
66
|
+
Component for selecting one or multiple nodes from a repository.
|
|
67
|
+
|
|
68
|
+
[README](https://docs.soleil.se/packages/soleil/svelte-config/components/repositorynodeselector/)
|
|
69
|
+
-->
|
|
70
|
+
|
|
55
71
|
<CustomSelector
|
|
56
72
|
{id}
|
|
57
73
|
{name}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export type Type =
|
|
2
|
+
'alias' |
|
|
3
|
+
'named-reference' |
|
|
4
|
+
'rss-feed' |
|
|
5
|
+
'rating-type' |
|
|
6
|
+
'responsive-breakpoint' |
|
|
7
|
+
'role' |
|
|
8
|
+
'site-cookie' |
|
|
9
|
+
'tag-group' |
|
|
10
|
+
'tag' |
|
|
11
|
+
'user-field' |
|
|
12
|
+
'addon' |
|
|
13
|
+
'data-store' |
|
|
14
|
+
'decoration' |
|
|
15
|
+
'default-image' |
|
|
16
|
+
'externaltopicintegration' |
|
|
17
|
+
'icon' |
|
|
18
|
+
'list-style' |
|
|
19
|
+
'module-element-draft' |
|
|
20
|
+
'module-element' |
|
|
21
|
+
'restApp' |
|
|
22
|
+
'topic' |
|
|
23
|
+
'webApp';
|
|
@@ -5,12 +5,19 @@
|
|
|
5
5
|
const values = window.CONFIG_VALUES || {};
|
|
6
6
|
const dispatch = createEventDispatcher();
|
|
7
7
|
|
|
8
|
+
/** @type {string} */
|
|
8
9
|
export let id = generateId();
|
|
10
|
+
/** @type {string} */
|
|
9
11
|
export let label;
|
|
12
|
+
/** @type {string} */
|
|
10
13
|
export let name;
|
|
14
|
+
/** @type {string} */
|
|
11
15
|
export let required = false;
|
|
16
|
+
/** @type {string} */
|
|
12
17
|
export let disabled = false;
|
|
18
|
+
/** @type {string} */
|
|
13
19
|
export let show = true;
|
|
20
|
+
/** @type {import('./types.d.ts').Option[]} */
|
|
14
21
|
export let options = [];
|
|
15
22
|
|
|
16
23
|
export let value;
|
|
@@ -24,7 +31,7 @@
|
|
|
24
31
|
@component
|
|
25
32
|
A select field component.
|
|
26
33
|
|
|
27
|
-
[README](https://docs.
|
|
34
|
+
[README](https://docs.soleil.se/packages/soleil/svelte-config/components/selectfield/)
|
|
28
35
|
-->
|
|
29
36
|
<div class="form-group" class:hidden={!show}>
|
|
30
37
|
<label class="control-label {required ? 'control-label--required' : ''}" for={id}>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type Option = ({string} | {label: string, value: string})[]
|
|
@@ -6,19 +6,25 @@
|
|
|
6
6
|
const values = window.CONFIG_VALUES || {};
|
|
7
7
|
const dispatch = createEventDispatcher();
|
|
8
8
|
|
|
9
|
+
/** @type {string} */
|
|
9
10
|
export let id = generateId();
|
|
11
|
+
/** @type {string} */
|
|
10
12
|
export let label;
|
|
13
|
+
/** @type {string} */
|
|
11
14
|
export let name;
|
|
15
|
+
/** @type {boolean} */
|
|
12
16
|
export let required = false;
|
|
17
|
+
/** @type {boolean} */
|
|
13
18
|
export let disabled = false;
|
|
19
|
+
/** @type {boolean} */
|
|
14
20
|
export let show = true;
|
|
15
|
-
|
|
21
|
+
/** @type {string} */
|
|
16
22
|
export let value = '';
|
|
17
23
|
|
|
18
|
-
selectable = Array.isArray(selectable) ? selectable.join(',') : selectable;
|
|
19
24
|
value = name ? values[name] ?? value : value;
|
|
20
25
|
|
|
21
26
|
let className = '';
|
|
27
|
+
/** @type {string} */
|
|
22
28
|
export { className as class };
|
|
23
29
|
|
|
24
30
|
$: isRequired = required && !disabled;
|
|
@@ -48,7 +54,7 @@
|
|
|
48
54
|
@component
|
|
49
55
|
Wrapper for Sitevision [tag selector](https://developer.sitevision.se/docs/webapps/webapps-2/configuration/sitevision-components).
|
|
50
56
|
|
|
51
|
-
[README](https://docs.
|
|
57
|
+
[README](https://docs.soleil.se/packages/soleil/svelte-config/components/tagselector/)
|
|
52
58
|
-->
|
|
53
59
|
|
|
54
60
|
<div class="form-group {className}" class:hidden={!show}>
|
|
@@ -11,12 +11,19 @@
|
|
|
11
11
|
const values = window.CONFIG_VALUES || {};
|
|
12
12
|
const dispatch = createEventDispatcher();
|
|
13
13
|
|
|
14
|
+
/** @type {string} */
|
|
14
15
|
export let id = generateId();
|
|
16
|
+
/** @type {string} */
|
|
15
17
|
export let label;
|
|
18
|
+
/** @type {boolean} */
|
|
16
19
|
export let required = false;
|
|
20
|
+
/** @type {string} */
|
|
17
21
|
export let name = undefined;
|
|
22
|
+
/** @type {boolean} */
|
|
18
23
|
export let disabled = false;
|
|
24
|
+
/** @type {boolean} */
|
|
19
25
|
export let show = true;
|
|
26
|
+
/** @type {string[]} */
|
|
20
27
|
export let value = [];
|
|
21
28
|
value = name ? values[name] ?? value : value;
|
|
22
29
|
|
|
@@ -73,7 +80,7 @@
|
|
|
73
80
|
@component
|
|
74
81
|
Custom list component for adding multiple text values and sorting them.
|
|
75
82
|
|
|
76
|
-
[README](https://docs.
|
|
83
|
+
[README](https://docs.soleil.se/packages/soleil/svelte-config/components/textlist/)
|
|
77
84
|
-->
|
|
78
85
|
|
|
79
86
|
<div class="form-group" class:hidden={!show}>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@soleil-se/config-svelte",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.27.0",
|
|
4
4
|
"main": "./index.js",
|
|
5
5
|
"module": "./index.js",
|
|
6
6
|
"svelte": "./index.js",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"svelte-preprocess": "^5.1.4"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@soleil-se/config-validate": "^1.2.
|
|
27
|
+
"@soleil-se/config-validate": "^1.2.1",
|
|
28
28
|
"a11y-dialog": "7.5.2",
|
|
29
29
|
"svelte-dnd-action": "^0.9.44"
|
|
30
30
|
},
|