@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 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.soleilit.se/03.packages/@soleil&svelte-config/components/Checkbox/)
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.soleilit.se/03.packages/@soleil&svelte-config/components/CheckboxGroup/)
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.soleilit.se/03.packages/@soleil&svelte-config/components/CustomList/)
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.soleilit.se/03.packages/@soleil&svelte-config/components/CustomSelector/)
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
- export let type = 'metadata-selector';
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.soleilit.se/03.packages/@soleil&svelte-config/components/ImageSelector/)
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.soleilit.se/03.packages/@soleil&svelte-config/components/InputField/)
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.soleilit.se/03.packages/@soleil&svelte-config/components/LinkSelector/)
68
+ [README](https://docs.soleil.se/packages/soleil/svelte-config/components/linkselector/)
62
69
  -->
63
70
 
64
- <Panel {heading} class={className} {required} {show}>
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
- bind:value={selected.mail}
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
- bind:value={selected.tel}
134
+ action={prefixTel}
128
135
  {disabled}
129
136
  label={i18n('tel')}
137
+ required={required && isTel}
130
138
  type="tel"
131
- action={prefixTel}
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
- export let type = 'page-list';
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
- // SiteVision saves as an object, we need the value as comma separated string.
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.soleilit.se/03.packages/@soleil&svelte-config/components/ListSelector/)
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
- export let type = 'page-selector';
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.soleilit.se/03.packages/@soleil&svelte-config/components/NodeSelector/)
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.soleilit.se/03.packages/@soleil&svelte-config/components/NumberSpinner/)
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.soleilit.se/03.packages/@soleil&svelte-config/components/Panel/)
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.soleilit.se/03.packages/@soleil&svelte-config/components/RadioGroup/)
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.soleilit.se/03.packages/@soleil&svelte-config/components/SelectField/)
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
- export let selectable = [];
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.soleilit.se/03.packages/@soleil&svelte-config/components/TagSelector/)
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.soleilit.se/03.packages/@soleil&svelte-config/components/TextList/)
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.26.2",
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.0",
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
  },