@onsvisual/svelte-components 0.1.89-component.toolbar → 0.1.89
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/dist/@types/index.d.ts +1 -10
- package/dist/@types/inputs/AccessibleSelect/AccessibleSelect.svelte.d.ts +49 -0
- package/dist/@types/inputs/AccessibleSelect/options.d.ts +6 -0
- package/dist/@types/inputs/Button/Button.svelte.d.ts +4 -2
- package/dist/@types/inputs/Dropdown/Dropdown.svelte.d.ts +2 -2
- package/dist/@types/inputs/Select/Select.svelte.d.ts +12 -12
- package/dist/css/main.css +1 -1
- package/dist/index.js +1 -10
- package/dist/inputs/AccessibleSelect/AccessibleSelect.svelte +170 -0
- package/dist/inputs/AccessibleSelect/options.js +263 -0
- package/dist/inputs/Button/Button.svelte +6 -0
- package/package.json +6 -16
- package/dist/@types/inputs/ButtonGroup/ButtonGroup.svelte.d.ts +0 -33
- package/dist/@types/inputs/ButtonGroup/ButtonGroupItem.svelte.d.ts +0 -25
- package/dist/@types/inputs/Toolbar/HelpModal.svelte.d.ts +0 -19
- package/dist/@types/inputs/Toolbar/Icon.svelte.d.ts +0 -31
- package/dist/@types/inputs/Toolbar/ToolControl.svelte.d.ts +0 -27
- package/dist/@types/inputs/Toolbar/ToolControls.svelte.d.ts +0 -27
- package/dist/@types/inputs/Toolbar/Toolbar.svelte.d.ts +0 -33
- package/dist/@types/inputs/Toolbar/ToolbarButton.svelte.d.ts +0 -29
- package/dist/@types/inputs/Toolbar/ToolbarDivider.svelte.d.ts +0 -16
- package/dist/@types/inputs/Toolbar/ToolbarsContainer.svelte.d.ts +0 -16
- package/dist/inputs/ButtonGroup/ButtonGroup.svelte +0 -54
- package/dist/inputs/ButtonGroup/ButtonGroupItem.svelte +0 -104
- package/dist/inputs/Toolbar/HelpModal.svelte +0 -220
- package/dist/inputs/Toolbar/Icon.svelte +0 -136
- package/dist/inputs/Toolbar/ToolControl.svelte +0 -19
- package/dist/inputs/Toolbar/ToolControls.svelte +0 -8
- package/dist/inputs/Toolbar/Toolbar.svelte +0 -66
- package/dist/inputs/Toolbar/ToolbarButton.svelte +0 -104
- package/dist/inputs/Toolbar/ToolbarDivider.svelte +0 -28
- package/dist/inputs/Toolbar/ToolbarsContainer.svelte +0 -52
- /package/dist/layout/{BackLink → Backlink}/Backlink.svelte +0 -0
package/dist/index.js
CHANGED
|
@@ -41,6 +41,7 @@ export { default as Titleblock } from "./layout/Titleblock/Titleblock.svelte";
|
|
|
41
41
|
export { default as Twisty } from "./layout/Twisty/Twisty.svelte";
|
|
42
42
|
|
|
43
43
|
// Inputs
|
|
44
|
+
export { default as AccessibleSelect } from "./inputs/AccessibleSelect/AccessibleSelect.svelte";
|
|
44
45
|
export { default as Button } from "./inputs/Button/Button.svelte";
|
|
45
46
|
export { default as Checkbox } from "./inputs/Checkbox/Checkbox.svelte";
|
|
46
47
|
export { default as Checkboxes } from "./inputs/Checkboxes/Checkboxes.svelte";
|
|
@@ -52,16 +53,6 @@ export { default as Radio } from "./inputs/Radios/Radio.svelte";
|
|
|
52
53
|
export { default as Radios } from "./inputs/Radios/Radios.svelte";
|
|
53
54
|
export { default as Select } from "./inputs/Select/Select.svelte";
|
|
54
55
|
export { default as Textarea } from "./inputs/Textarea/Textarea.svelte";
|
|
55
|
-
export { default as HelpModal } from "./inputs/Toolbar/HelpModal.svelte";
|
|
56
|
-
export { default as Icon } from "./inputs/Toolbar/Icon.svelte";
|
|
57
|
-
export { default as Toolbar } from "./inputs/Toolbar/Toolbar.svelte";
|
|
58
|
-
export { default as ToolbarButton } from "./inputs/Toolbar/ToolbarButton.svelte";
|
|
59
|
-
export { default as ToolbarDivider } from "./inputs/Toolbar/ToolbarDivider.svelte";
|
|
60
|
-
export { default as ToolbarsContainer } from "./inputs/Toolbar/ToolbarsContainer.svelte";
|
|
61
|
-
export { default as ToolControl } from "./inputs/Toolbar/ToolControl.svelte";
|
|
62
|
-
export { default as ToolControls } from "./inputs/Toolbar/ToolControls.svelte";
|
|
63
|
-
export { default as ButtonGroup } from "./inputs/ButtonGroup/ButtonGroup.svelte";
|
|
64
|
-
export { default as ButtonGroupItem } from "./inputs/ButtonGroup/ButtonGroupItem.svelte";
|
|
65
56
|
|
|
66
57
|
// Decorators
|
|
67
58
|
export { default as Blockquote } from "./decorators/Blockquote/Blockquote.svelte";
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
import { createEventDispatcher } from "svelte";
|
|
3
|
+
import accessibleAutocomplete from "accessible-autocomplete";
|
|
4
|
+
|
|
5
|
+
const dispatch = createEventDispatcher();
|
|
6
|
+
const sleep = (ms = 1000) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
7
|
+
const chevron = (opts) =>
|
|
8
|
+
`<svg class="${opts?.className}" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" viewBox="0 0 11.75 7.7" width="18" style="z-index:1"><path fill="currentColor" d="m1.37.15 4.5 5.1 4.5-5.1a.37.37 0 0 1 .6 0l.7.7a.45.45 0 0 1 0 .5l-5.5 6.2a.37.37 0 0 1-.6 0l-5.5-6.1a.64.64 0 0 1 0-.6l.7-.7a.64.64 0 0 1 .6 0Z"></path></svg>`;
|
|
9
|
+
|
|
10
|
+
let inputElement;
|
|
11
|
+
let hideMenu = false;
|
|
12
|
+
|
|
13
|
+
export let value = null;
|
|
14
|
+
export let options = [];
|
|
15
|
+
export let id = "autocomplete";
|
|
16
|
+
export let label = "Select an option";
|
|
17
|
+
export let hideLabel = false;
|
|
18
|
+
export let mode = "default";
|
|
19
|
+
export let clearable = true;
|
|
20
|
+
export let autoClear = false;
|
|
21
|
+
export let placeholder = mode === "search" ? "Enter text" : "Select one";
|
|
22
|
+
// export let idKey = "id";
|
|
23
|
+
export let labelKey = "label";
|
|
24
|
+
export let groupKey = null;
|
|
25
|
+
export let loadOptions = (query, populateResults) => {
|
|
26
|
+
const filteredResults = options.filter((opt) =>
|
|
27
|
+
opt[labelKey].match(new RegExp(`\\b${query.replace(/[^\w\s]/gi, "")}`, "i"))
|
|
28
|
+
);
|
|
29
|
+
populateResults(filteredResults);
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
function inputValueTemplate(result) {
|
|
33
|
+
return result && result[labelKey];
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
function suggestionTemplate(result) {
|
|
37
|
+
return (
|
|
38
|
+
result &&
|
|
39
|
+
(groupKey
|
|
40
|
+
? `${result[labelKey]} <span class="muted-text">${result[groupKey]}</span>`
|
|
41
|
+
: result[labelKey])
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
function select(option) {
|
|
46
|
+
value = option;
|
|
47
|
+
dispatch("change", value);
|
|
48
|
+
if (value && autoClear) clearInput();
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
function inputChange(e) {
|
|
52
|
+
if (!e.target.value) select(null);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
async function clearInput() {
|
|
56
|
+
hideMenu = true;
|
|
57
|
+
await sleep(0);
|
|
58
|
+
inputElement.value = "";
|
|
59
|
+
await sleep(100);
|
|
60
|
+
inputElement.focus();
|
|
61
|
+
await sleep(0);
|
|
62
|
+
inputElement.blur();
|
|
63
|
+
hideMenu = false;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
function initAutocomplete(element, params) {
|
|
67
|
+
accessibleAutocomplete({
|
|
68
|
+
element,
|
|
69
|
+
id,
|
|
70
|
+
name: `${id}-input`,
|
|
71
|
+
source: loadOptions,
|
|
72
|
+
autoselect: mode === "search",
|
|
73
|
+
onConfirm: select,
|
|
74
|
+
confirmOnBlur: false,
|
|
75
|
+
placeholder,
|
|
76
|
+
displayMenu: "overlay",
|
|
77
|
+
showAllValues: mode === "default",
|
|
78
|
+
dropdownArrow: chevron,
|
|
79
|
+
minLength: mode === "search" ? 3 : 0,
|
|
80
|
+
templates: {
|
|
81
|
+
inputValue: inputValueTemplate,
|
|
82
|
+
suggestion: suggestionTemplate,
|
|
83
|
+
},
|
|
84
|
+
});
|
|
85
|
+
inputElement = document.getElementById(id);
|
|
86
|
+
inputElement.addEventListener("blur", inputChange);
|
|
87
|
+
}
|
|
88
|
+
</script>
|
|
89
|
+
|
|
90
|
+
<svelte:head>
|
|
91
|
+
<link
|
|
92
|
+
rel="stylesheet"
|
|
93
|
+
href="https://alphagov.github.io/accessible-autocomplete/dist/accessible-autocomplete.min.css"
|
|
94
|
+
/>
|
|
95
|
+
</svelte:head>
|
|
96
|
+
|
|
97
|
+
<div class="ons-field">
|
|
98
|
+
{#if label}<label for="{id}" class="ons-label" class:ons-u-vh="{hideLabel}">{label}</label>{/if}
|
|
99
|
+
<div class="ons-autocomplete-wrapper">
|
|
100
|
+
<div
|
|
101
|
+
id="{id}-container"
|
|
102
|
+
class="ons-autocomplete"
|
|
103
|
+
class:hide-menu="{hideMenu}"
|
|
104
|
+
use:initAutocomplete
|
|
105
|
+
></div>
|
|
106
|
+
{#if clearable && !autoClear && value}
|
|
107
|
+
<button
|
|
108
|
+
title="Clear selection"
|
|
109
|
+
aria-label="Clear selection"
|
|
110
|
+
on:click="{clearInput}"
|
|
111
|
+
class="ons-autocomplete-clear"
|
|
112
|
+
>
|
|
113
|
+
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" viewBox="0 0 14 14" width="18">
|
|
114
|
+
<path
|
|
115
|
+
fill="currentColor"
|
|
116
|
+
d="M13.6 1 l -0.71 -0.71 a 0.5 0.5 0 0 0 -0.71 0 l -5.25 5.25 l -5.25 -5.25 a 0.51 0.51 0 0 0 -0.71 0 l -0.71 0.71 a 0.5 0.5 0 0 0 0 0.71 l 5.25 5.25 l -5.25 5.25 a 0.5 0.5 0 0 0 0 0.71 l 0.71 0.71 a 0.5 0.5 0 0 0 0.71 0 l 5.25 -5.25 l 5.25 5.25 a 0.5 0.5 0 0 0 0.71 0 l 0.71 -0.71 a 0.5 0.5 0 0 0 0 -0.71 l -5.25 -5.25 l 5.25 -5.25 a 0.5 0.5 0 0 0 0 -0.71Z"
|
|
117
|
+
></path>
|
|
118
|
+
</svg>
|
|
119
|
+
</button>
|
|
120
|
+
{/if}
|
|
121
|
+
</div>
|
|
122
|
+
</div>
|
|
123
|
+
|
|
124
|
+
<style>
|
|
125
|
+
.ons-autocomplete-wrapper {
|
|
126
|
+
position: relative;
|
|
127
|
+
}
|
|
128
|
+
.ons-autocomplete-clear {
|
|
129
|
+
position: absolute;
|
|
130
|
+
display: flex;
|
|
131
|
+
align-items: center;
|
|
132
|
+
align-content: center;
|
|
133
|
+
z-index: 1;
|
|
134
|
+
right: 3px;
|
|
135
|
+
top: calc(50% - 14px);
|
|
136
|
+
height: 28px;
|
|
137
|
+
width: 28px;
|
|
138
|
+
border: none;
|
|
139
|
+
background: white;
|
|
140
|
+
}
|
|
141
|
+
.ons-autocomplete-clear:focus {
|
|
142
|
+
outline: 3px solid #fbc900 !important;
|
|
143
|
+
}
|
|
144
|
+
.hide-menu :global(.autocomplete__menu) {
|
|
145
|
+
display: none;
|
|
146
|
+
}
|
|
147
|
+
.ons-autocomplete :global(.autocomplete__input) {
|
|
148
|
+
border-radius: 3px !important;
|
|
149
|
+
border-width: 1px !important;
|
|
150
|
+
background: white;
|
|
151
|
+
}
|
|
152
|
+
.ons-autocomplete :global(.autocomplete__input--focused) {
|
|
153
|
+
box-shadow: inset 0 0 0 1px black !important;
|
|
154
|
+
outline-color: #fbc900 !important;
|
|
155
|
+
}
|
|
156
|
+
.ons-autocomplete :global(.autocomplete__dropdown-arrow-down) {
|
|
157
|
+
width: 18px !important;
|
|
158
|
+
transform: translateY(-2px);
|
|
159
|
+
}
|
|
160
|
+
.ons-autocomplete :global(.muted-text) {
|
|
161
|
+
opacity: 0.8;
|
|
162
|
+
font-size: smaller;
|
|
163
|
+
}
|
|
164
|
+
.ons-autocomplete-wrapper :global(*) {
|
|
165
|
+
font-size: 18px;
|
|
166
|
+
}
|
|
167
|
+
.ons-autocomplete-wrapper :global(.autocomplete__hint),
|
|
168
|
+
.ons-autocomplete-wrapper :global(.autocomplete__input) {
|
|
169
|
+
height: 40px;
|
|
170
|
+
}</style>
|
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
export default [
|
|
2
|
+
{ id: "AF", label: "Afghanistan", group: "Asia" },
|
|
3
|
+
{ id: "AX", label: "Åland Islands", group: "Europe" },
|
|
4
|
+
{ id: "AL", label: "Albania", group: "Europe" },
|
|
5
|
+
{ id: "DZ", label: "Algeria", group: "Africa" },
|
|
6
|
+
{ id: "AS", label: "American Samoa", group: "Oceania" },
|
|
7
|
+
{ id: "AD", label: "Andorra", group: "Europe" },
|
|
8
|
+
{ id: "AO", label: "Angola", group: "Africa" },
|
|
9
|
+
{ id: "AI", label: "Anguilla", group: "Americas" },
|
|
10
|
+
{ id: "AQ", label: "Antarctica", group: "" },
|
|
11
|
+
{ id: "AG", label: "Antigua and Barbuda", group: "Americas" },
|
|
12
|
+
{ id: "AR", label: "Argentina", group: "Americas" },
|
|
13
|
+
{ id: "AM", label: "Armenia", group: "Asia" },
|
|
14
|
+
{ id: "AW", label: "Aruba", group: "Americas" },
|
|
15
|
+
{ id: "AU", label: "Australia", group: "Oceania" },
|
|
16
|
+
{ id: "AT", label: "Austria", group: "Europe" },
|
|
17
|
+
{ id: "AZ", label: "Azerbaijan", group: "Asia" },
|
|
18
|
+
{ id: "BS", label: "Bahamas", group: "Americas" },
|
|
19
|
+
{ id: "BH", label: "Bahrain", group: "Asia" },
|
|
20
|
+
{ id: "BD", label: "Bangladesh", group: "Asia" },
|
|
21
|
+
{ id: "BB", label: "Barbados", group: "Americas" },
|
|
22
|
+
{ id: "BY", label: "Belarus", group: "Europe" },
|
|
23
|
+
{ id: "BE", label: "Belgium", group: "Europe" },
|
|
24
|
+
{ id: "BZ", label: "Belize", group: "Americas" },
|
|
25
|
+
{ id: "BJ", label: "Benin", group: "Africa" },
|
|
26
|
+
{ id: "BM", label: "Bermuda", group: "Americas" },
|
|
27
|
+
{ id: "BT", label: "Bhutan", group: "Asia" },
|
|
28
|
+
{ id: "BO", label: "Bolivia, Plurinational State of", group: "Americas" },
|
|
29
|
+
{ id: "BQ", label: "Bonaire, Sint Eustatius and Saba", group: "Americas" },
|
|
30
|
+
{ id: "BA", label: "Bosnia and Herzegovina", group: "Europe" },
|
|
31
|
+
{ id: "BW", label: "Botswana", group: "Africa" },
|
|
32
|
+
{ id: "BV", label: "Bouvet Island", group: "Americas" },
|
|
33
|
+
{ id: "BR", label: "Brazil", group: "Americas" },
|
|
34
|
+
{ id: "IO", label: "British Indian Ocean Territory", group: "Africa" },
|
|
35
|
+
{ id: "BN", label: "Brunei Darussalam", group: "Asia" },
|
|
36
|
+
{ id: "BG", label: "Bulgaria", group: "Europe" },
|
|
37
|
+
{ id: "BF", label: "Burkina Faso", group: "Africa" },
|
|
38
|
+
{ id: "BI", label: "Burundi", group: "Africa" },
|
|
39
|
+
{ id: "CV", label: "Cabo Verde", group: "Africa" },
|
|
40
|
+
{ id: "KH", label: "Cambodia", group: "Asia" },
|
|
41
|
+
{ id: "CM", label: "Cameroon", group: "Africa" },
|
|
42
|
+
{ id: "CA", label: "Canada", group: "Americas" },
|
|
43
|
+
{ id: "KY", label: "Cayman Islands", group: "Americas" },
|
|
44
|
+
{ id: "CF", label: "Central African Republic", group: "Africa" },
|
|
45
|
+
{ id: "TD", label: "Chad", group: "Africa" },
|
|
46
|
+
{ id: "CL", label: "Chile", group: "Americas" },
|
|
47
|
+
{ id: "CN", label: "China", group: "Asia" },
|
|
48
|
+
{ id: "CX", label: "Christmas Island", group: "Oceania" },
|
|
49
|
+
{ id: "CC", label: "Cocos (Keeling) Islands", group: "Oceania" },
|
|
50
|
+
{ id: "CO", label: "Colombia", group: "Americas" },
|
|
51
|
+
{ id: "KM", label: "Comoros", group: "Africa" },
|
|
52
|
+
{ id: "CG", label: "Congo", group: "Africa" },
|
|
53
|
+
{ id: "CD", label: "Congo, Democratic Republic of the", group: "Africa" },
|
|
54
|
+
{ id: "CK", label: "Cook Islands", group: "Oceania" },
|
|
55
|
+
{ id: "CR", label: "Costa Rica", group: "Americas" },
|
|
56
|
+
{ id: "CI", label: "Côte d'Ivoire", group: "Africa" },
|
|
57
|
+
{ id: "HR", label: "Croatia", group: "Europe" },
|
|
58
|
+
{ id: "CU", label: "Cuba", group: "Americas" },
|
|
59
|
+
{ id: "CW", label: "Curaçao", group: "Americas" },
|
|
60
|
+
{ id: "CY", label: "Cyprus", group: "Asia" },
|
|
61
|
+
{ id: "CZ", label: "Czechia", group: "Europe" },
|
|
62
|
+
{ id: "DK", label: "Denmark", group: "Europe" },
|
|
63
|
+
{ id: "DJ", label: "Djibouti", group: "Africa" },
|
|
64
|
+
{ id: "DM", label: "Dominica", group: "Americas" },
|
|
65
|
+
{ id: "DO", label: "Dominican Republic", group: "Americas" },
|
|
66
|
+
{ id: "EC", label: "Ecuador", group: "Americas" },
|
|
67
|
+
{ id: "EG", label: "Egypt", group: "Africa" },
|
|
68
|
+
{ id: "SV", label: "El Salvador", group: "Americas" },
|
|
69
|
+
{ id: "GQ", label: "Equatorial Guinea", group: "Africa" },
|
|
70
|
+
{ id: "ER", label: "Eritrea", group: "Africa" },
|
|
71
|
+
{ id: "EE", label: "Estonia", group: "Europe" },
|
|
72
|
+
{ id: "SZ", label: "Eswatini", group: "Africa" },
|
|
73
|
+
{ id: "ET", label: "Ethiopia", group: "Africa" },
|
|
74
|
+
{ id: "FK", label: "Falkland Islands (Malvinas)", group: "Americas" },
|
|
75
|
+
{ id: "FO", label: "Faroe Islands", group: "Europe" },
|
|
76
|
+
{ id: "FJ", label: "Fiji", group: "Oceania" },
|
|
77
|
+
{ id: "FI", label: "Finland", group: "Europe" },
|
|
78
|
+
{ id: "FR", label: "France", group: "Europe" },
|
|
79
|
+
{ id: "GF", label: "French Guiana", group: "Americas" },
|
|
80
|
+
{ id: "PF", label: "French Polynesia", group: "Oceania" },
|
|
81
|
+
{ id: "TF", label: "French Southern Territories", group: "Africa" },
|
|
82
|
+
{ id: "GA", label: "Gabon", group: "Africa" },
|
|
83
|
+
{ id: "GM", label: "Gambia", group: "Africa" },
|
|
84
|
+
{ id: "GE", label: "Georgia", group: "Asia" },
|
|
85
|
+
{ id: "DE", label: "Germany", group: "Europe" },
|
|
86
|
+
{ id: "GH", label: "Ghana", group: "Africa" },
|
|
87
|
+
{ id: "GI", label: "Gibraltar", group: "Europe" },
|
|
88
|
+
{ id: "GR", label: "Greece", group: "Europe" },
|
|
89
|
+
{ id: "GL", label: "Greenland", group: "Americas" },
|
|
90
|
+
{ id: "GD", label: "Grenada", group: "Americas" },
|
|
91
|
+
{ id: "GP", label: "Guadeloupe", group: "Americas" },
|
|
92
|
+
{ id: "GU", label: "Guam", group: "Oceania" },
|
|
93
|
+
{ id: "GT", label: "Guatemala", group: "Americas" },
|
|
94
|
+
{ id: "GG", label: "Guernsey", group: "Europe" },
|
|
95
|
+
{ id: "GN", label: "Guinea", group: "Africa" },
|
|
96
|
+
{ id: "GW", label: "Guinea-Bissau", group: "Africa" },
|
|
97
|
+
{ id: "GY", label: "Guyana", group: "Americas" },
|
|
98
|
+
{ id: "HT", label: "Haiti", group: "Americas" },
|
|
99
|
+
{ id: "HM", label: "Heard Island and McDonald Islands", group: "Oceania" },
|
|
100
|
+
{ id: "VA", label: "Holy See", group: "Europe" },
|
|
101
|
+
{ id: "HN", label: "Honduras", group: "Americas" },
|
|
102
|
+
{ id: "HK", label: "Hong Kong", group: "Asia" },
|
|
103
|
+
{ id: "HU", label: "Hungary", group: "Europe" },
|
|
104
|
+
{ id: "IS", label: "Iceland", group: "Europe" },
|
|
105
|
+
{ id: "IN", label: "India", group: "Asia" },
|
|
106
|
+
{ id: "ID", label: "Indonesia", group: "Asia" },
|
|
107
|
+
{ id: "IR", label: "Iran, Islamic Republic of", group: "Asia" },
|
|
108
|
+
{ id: "IQ", label: "Iraq", group: "Asia" },
|
|
109
|
+
{ id: "IE", label: "Ireland", group: "Europe" },
|
|
110
|
+
{ id: "IM", label: "Isle of Man", group: "Europe" },
|
|
111
|
+
{ id: "IL", label: "Israel", group: "Asia" },
|
|
112
|
+
{ id: "IT", label: "Italy", group: "Europe" },
|
|
113
|
+
{ id: "JM", label: "Jamaica", group: "Americas" },
|
|
114
|
+
{ id: "JP", label: "Japan", group: "Asia" },
|
|
115
|
+
{ id: "JE", label: "Jersey", group: "Europe" },
|
|
116
|
+
{ id: "JO", label: "Jordan", group: "Asia" },
|
|
117
|
+
{ id: "KZ", label: "Kazakhstan", group: "Asia" },
|
|
118
|
+
{ id: "KE", label: "Kenya", group: "Africa" },
|
|
119
|
+
{ id: "KI", label: "Kiribati", group: "Oceania" },
|
|
120
|
+
{ id: "KP", label: "Korea, Democratic People's Republic of", group: "Asia" },
|
|
121
|
+
{ id: "KR", label: "Korea, Republic of", group: "Asia" },
|
|
122
|
+
{ id: "KW", label: "Kuwait", group: "Asia" },
|
|
123
|
+
{ id: "KG", label: "Kyrgyzstan", group: "Asia" },
|
|
124
|
+
{ id: "LA", label: "Lao People's Democratic Republic", group: "Asia" },
|
|
125
|
+
{ id: "LV", label: "Latvia", group: "Europe" },
|
|
126
|
+
{ id: "LB", label: "Lebanon", group: "Asia" },
|
|
127
|
+
{ id: "LS", label: "Lesotho", group: "Africa" },
|
|
128
|
+
{ id: "LR", label: "Liberia", group: "Africa" },
|
|
129
|
+
{ id: "LY", label: "Libya", group: "Africa" },
|
|
130
|
+
{ id: "LI", label: "Liechtenstein", group: "Europe" },
|
|
131
|
+
{ id: "LT", label: "Lithuania", group: "Europe" },
|
|
132
|
+
{ id: "LU", label: "Luxembourg", group: "Europe" },
|
|
133
|
+
{ id: "MO", label: "Macao", group: "Asia" },
|
|
134
|
+
{ id: "MG", label: "Madagascar", group: "Africa" },
|
|
135
|
+
{ id: "MW", label: "Malawi", group: "Africa" },
|
|
136
|
+
{ id: "MY", label: "Malaysia", group: "Asia" },
|
|
137
|
+
{ id: "MV", label: "Maldives", group: "Asia" },
|
|
138
|
+
{ id: "ML", label: "Mali", group: "Africa" },
|
|
139
|
+
{ id: "MT", label: "Malta", group: "Europe" },
|
|
140
|
+
{ id: "MH", label: "Marshall Islands", group: "Oceania" },
|
|
141
|
+
{ id: "MQ", label: "Martinique", group: "Americas" },
|
|
142
|
+
{ id: "MR", label: "Mauritania", group: "Africa" },
|
|
143
|
+
{ id: "MU", label: "Mauritius", group: "Africa" },
|
|
144
|
+
{ id: "YT", label: "Mayotte", group: "Africa" },
|
|
145
|
+
{ id: "MX", label: "Mexico", group: "Americas" },
|
|
146
|
+
{ id: "FM", label: "Micronesia, Federated States of", group: "Oceania" },
|
|
147
|
+
{ id: "MD", label: "Moldova, Republic of", group: "Europe" },
|
|
148
|
+
{ id: "MC", label: "Monaco", group: "Europe" },
|
|
149
|
+
{ id: "MN", label: "Mongolia", group: "Asia" },
|
|
150
|
+
{ id: "ME", label: "Montenegro", group: "Europe" },
|
|
151
|
+
{ id: "MS", label: "Montserrat", group: "Americas" },
|
|
152
|
+
{ id: "MA", label: "Morocco", group: "Africa" },
|
|
153
|
+
{ id: "MZ", label: "Mozambique", group: "Africa" },
|
|
154
|
+
{ id: "MM", label: "Myanmar", group: "Asia" },
|
|
155
|
+
{ id: "NA", label: "Namibia", group: "Africa" },
|
|
156
|
+
{ id: "NR", label: "Nauru", group: "Oceania" },
|
|
157
|
+
{ id: "NP", label: "Nepal", group: "Asia" },
|
|
158
|
+
{ id: "NL", label: "Netherlands, Kingdom of the", group: "Europe" },
|
|
159
|
+
{ id: "NC", label: "New Caledonia", group: "Oceania" },
|
|
160
|
+
{ id: "NZ", label: "New Zealand", group: "Oceania" },
|
|
161
|
+
{ id: "NI", label: "Nicaragua", group: "Americas" },
|
|
162
|
+
{ id: "NE", label: "Niger", group: "Africa" },
|
|
163
|
+
{ id: "NG", label: "Nigeria", group: "Africa" },
|
|
164
|
+
{ id: "NU", label: "Niue", group: "Oceania" },
|
|
165
|
+
{ id: "NF", label: "Norfolk Island", group: "Oceania" },
|
|
166
|
+
{ id: "MK", label: "North Macedonia", group: "Europe" },
|
|
167
|
+
{ id: "MP", label: "Northern Mariana Islands", group: "Oceania" },
|
|
168
|
+
{ id: "NO", label: "Norway", group: "Europe" },
|
|
169
|
+
{ id: "OM", label: "Oman", group: "Asia" },
|
|
170
|
+
{ id: "PK", label: "Pakistan", group: "Asia" },
|
|
171
|
+
{ id: "PW", label: "Palau", group: "Oceania" },
|
|
172
|
+
{ id: "PS", label: "Palestine, State of", group: "Asia" },
|
|
173
|
+
{ id: "PA", label: "Panama", group: "Americas" },
|
|
174
|
+
{ id: "PG", label: "Papua New Guinea", group: "Oceania" },
|
|
175
|
+
{ id: "PY", label: "Paraguay", group: "Americas" },
|
|
176
|
+
{ id: "PE", label: "Peru", group: "Americas" },
|
|
177
|
+
{ id: "PH", label: "Philippines", group: "Asia" },
|
|
178
|
+
{ id: "PN", label: "Pitcairn", group: "Oceania" },
|
|
179
|
+
{ id: "PL", label: "Poland", group: "Europe" },
|
|
180
|
+
{ id: "PT", label: "Portugal", group: "Europe" },
|
|
181
|
+
{ id: "PR", label: "Puerto Rico", group: "Americas" },
|
|
182
|
+
{ id: "QA", label: "Qatar", group: "Asia" },
|
|
183
|
+
{ id: "RE", label: "Réunion", group: "Africa" },
|
|
184
|
+
{ id: "RO", label: "Romania", group: "Europe" },
|
|
185
|
+
{ id: "RU", label: "Russian Federation", group: "Europe" },
|
|
186
|
+
{ id: "RW", label: "Rwanda", group: "Africa" },
|
|
187
|
+
{ id: "BL", label: "Saint Barthélemy", group: "Americas" },
|
|
188
|
+
{
|
|
189
|
+
id: "SH",
|
|
190
|
+
label: "Saint Helena, Ascension and Tristan da Cunha",
|
|
191
|
+
group: "Africa",
|
|
192
|
+
},
|
|
193
|
+
{ id: "KN", label: "Saint Kitts and Nevis", group: "Americas" },
|
|
194
|
+
{ id: "LC", label: "Saint Lucia", group: "Americas" },
|
|
195
|
+
{ id: "MF", label: "Saint Martin (French part)", group: "Americas" },
|
|
196
|
+
{ id: "PM", label: "Saint Pierre and Miquelon", group: "Americas" },
|
|
197
|
+
{ id: "VC", label: "Saint Vincent and the Grenadines", group: "Americas" },
|
|
198
|
+
{ id: "WS", label: "Samoa", group: "Oceania" },
|
|
199
|
+
{ id: "SM", label: "San Marino", group: "Europe" },
|
|
200
|
+
{ id: "ST", label: "Sao Tome and Principe", group: "Africa" },
|
|
201
|
+
{ id: "SA", label: "Saudi Arabia", group: "Asia" },
|
|
202
|
+
{ id: "SN", label: "Senegal", group: "Africa" },
|
|
203
|
+
{ id: "RS", label: "Serbia", group: "Europe" },
|
|
204
|
+
{ id: "SC", label: "Seychelles", group: "Africa" },
|
|
205
|
+
{ id: "SL", label: "Sierra Leone", group: "Africa" },
|
|
206
|
+
{ id: "SG", label: "Singapore", group: "Asia" },
|
|
207
|
+
{ id: "SX", label: "Sint Maarten (Dutch part)", group: "Americas" },
|
|
208
|
+
{ id: "SK", label: "Slovakia", group: "Europe" },
|
|
209
|
+
{ id: "SI", label: "Slovenia", group: "Europe" },
|
|
210
|
+
{ id: "SB", label: "Solomon Islands", group: "Oceania" },
|
|
211
|
+
{ id: "SO", label: "Somalia", group: "Africa" },
|
|
212
|
+
{ id: "ZA", label: "South Africa", group: "Africa" },
|
|
213
|
+
{
|
|
214
|
+
id: "GS",
|
|
215
|
+
label: "South Georgia and the South Sandwich Islands",
|
|
216
|
+
group: "Americas",
|
|
217
|
+
},
|
|
218
|
+
{ id: "SS", label: "South Sudan", group: "Africa" },
|
|
219
|
+
{ id: "ES", label: "Spain", group: "Europe" },
|
|
220
|
+
{ id: "LK", label: "Sri Lanka", group: "Asia" },
|
|
221
|
+
{ id: "SD", label: "Sudan", group: "Africa" },
|
|
222
|
+
{ id: "SR", label: "Suriname", group: "Americas" },
|
|
223
|
+
{ id: "SJ", label: "Svalbard and Jan Mayen", group: "Europe" },
|
|
224
|
+
{ id: "SE", label: "Sweden", group: "Europe" },
|
|
225
|
+
{ id: "CH", label: "Switzerland", group: "Europe" },
|
|
226
|
+
{ id: "SY", label: "Syrian Arab Republic", group: "Asia" },
|
|
227
|
+
{ id: "TW", label: "Taiwan, Province of China", group: "" },
|
|
228
|
+
{ id: "TJ", label: "Tajikistan", group: "Asia" },
|
|
229
|
+
{ id: "TZ", label: "Tanzania, United Republic of", group: "Africa" },
|
|
230
|
+
{ id: "TH", label: "Thailand", group: "Asia" },
|
|
231
|
+
{ id: "TL", label: "Timor-Leste", group: "Asia" },
|
|
232
|
+
{ id: "TG", label: "Togo", group: "Africa" },
|
|
233
|
+
{ id: "TK", label: "Tokelau", group: "Oceania" },
|
|
234
|
+
{ id: "TO", label: "Tonga", group: "Oceania" },
|
|
235
|
+
{ id: "TT", label: "Trinidad and Tobago", group: "Americas" },
|
|
236
|
+
{ id: "TN", label: "Tunisia", group: "Africa" },
|
|
237
|
+
{ id: "TR", label: "Türkiye", group: "Asia" },
|
|
238
|
+
{ id: "TM", label: "Turkmenistan", group: "Asia" },
|
|
239
|
+
{ id: "TC", label: "Turks and Caicos Islands", group: "Americas" },
|
|
240
|
+
{ id: "TV", label: "Tuvalu", group: "Oceania" },
|
|
241
|
+
{ id: "UG", label: "Uganda", group: "Africa" },
|
|
242
|
+
{ id: "UA", label: "Ukraine", group: "Europe" },
|
|
243
|
+
{ id: "AE", label: "United Arab Emirates", group: "Asia" },
|
|
244
|
+
{
|
|
245
|
+
id: "GB",
|
|
246
|
+
label: "United Kingdom of Great Britain and Northern Ireland",
|
|
247
|
+
group: "Europe",
|
|
248
|
+
},
|
|
249
|
+
{ id: "US", label: "United States of America", group: "Americas" },
|
|
250
|
+
{ id: "UM", label: "United States Minor Outlying Islands", group: "Oceania" },
|
|
251
|
+
{ id: "UY", label: "Uruguay", group: "Americas" },
|
|
252
|
+
{ id: "UZ", label: "Uzbekistan", group: "Asia" },
|
|
253
|
+
{ id: "VU", label: "Vanuatu", group: "Oceania" },
|
|
254
|
+
{ id: "VE", label: "Venezuela, Bolivarian Republic of", group: "Americas" },
|
|
255
|
+
{ id: "VN", label: "Viet Nam", group: "Asia" },
|
|
256
|
+
{ id: "VG", label: "Virgin Islands (British)", group: "Americas" },
|
|
257
|
+
{ id: "VI", label: "Virgin Islands (U.S.)", group: "Americas" },
|
|
258
|
+
{ id: "WF", label: "Wallis and Futuna", group: "Oceania" },
|
|
259
|
+
{ id: "EH", label: "Western Sahara", group: "Africa" },
|
|
260
|
+
{ id: "YE", label: "Yemen", group: "Asia" },
|
|
261
|
+
{ id: "ZM", label: "Zambia", group: "Africa" },
|
|
262
|
+
{ id: "ZW", label: "Zimbabwe", group: "Africa" },
|
|
263
|
+
];
|
|
@@ -49,12 +49,18 @@
|
|
|
49
49
|
* @type {string}
|
|
50
50
|
*/
|
|
51
51
|
export let arialabel = "";
|
|
52
|
+
/**
|
|
53
|
+
* filename if link is used for a file download
|
|
54
|
+
* @type {string|null}
|
|
55
|
+
*/
|
|
56
|
+
export let download = null;
|
|
52
57
|
</script>
|
|
53
58
|
|
|
54
59
|
{#if href}
|
|
55
60
|
<a
|
|
56
61
|
href="{!disabled ? href : null}"
|
|
57
62
|
role="button"
|
|
63
|
+
download="{download}"
|
|
58
64
|
class="ons-btn ons-btn--link ons-js-submit-btn"
|
|
59
65
|
class:ons-btn--small="{small}"
|
|
60
66
|
class:ons-btn--secondary="{variant === 'secondary'}"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@onsvisual/svelte-components",
|
|
3
|
-
"version": "0.1.89
|
|
3
|
+
"version": "0.1.89",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"private": false,
|
|
6
6
|
"homepage": "https://onsvisual.github.io/svelte-components",
|
|
@@ -17,8 +17,7 @@
|
|
|
17
17
|
"build": "npm-run-all build:package build:docs",
|
|
18
18
|
"deploy": "gh-pages -d docs -t true",
|
|
19
19
|
"prepublishOnly": "npm run build:package",
|
|
20
|
-
"postversion": "git push origin && git push origin --tags"
|
|
21
|
-
"watch:package": "npx nodemon --ext svelte,js,ts --ignore dist/ --exec 'npm run build:package'"
|
|
20
|
+
"postversion": "git push origin && git push origin --tags"
|
|
22
21
|
},
|
|
23
22
|
"license": "MIT",
|
|
24
23
|
"types": "./dist/@types/index.d.ts",
|
|
@@ -58,6 +57,7 @@
|
|
|
58
57
|
"@types/react-syntax-highlighter": "^15.5.7",
|
|
59
58
|
"@typescript-eslint/eslint-plugin": "^5.59.0",
|
|
60
59
|
"@typescript-eslint/parser": "^5.59.0",
|
|
60
|
+
"accessible-autocomplete": "^3.0.1",
|
|
61
61
|
"autoprefixer": "^10.4.14",
|
|
62
62
|
"babel-loader": "^9.1.2",
|
|
63
63
|
"change-case": "^4.1.2",
|
|
@@ -71,8 +71,6 @@
|
|
|
71
71
|
"fs-extra": "^11.1.1",
|
|
72
72
|
"gh-pages": "^6.2.0",
|
|
73
73
|
"kleur": "^4.1.5",
|
|
74
|
-
"nanoid": "^5.0.9",
|
|
75
|
-
"nodemon": "^3.1.9",
|
|
76
74
|
"npm-run-all": "^4.1.5",
|
|
77
75
|
"postcss": "^8.4.24",
|
|
78
76
|
"postcss-load-config": "^4.0.1",
|
|
@@ -129,10 +127,10 @@
|
|
|
129
127
|
"./decorators/Divider/Divider.svelte": "./dist/decorators/Divider/Divider.svelte",
|
|
130
128
|
"./decorators/Em/Em.svelte": "./dist/decorators/Em/Em.svelte",
|
|
131
129
|
"./globals.d.ts": "./dist/globals.d.ts",
|
|
130
|
+
"./inputs/AccessibleSelect/AccessibleSelect.svelte": "./dist/inputs/AccessibleSelect/AccessibleSelect.svelte",
|
|
131
|
+
"./inputs/AccessibleSelect/options": "./dist/inputs/AccessibleSelect/options.js",
|
|
132
132
|
"./inputs/Button/Button.svelte": "./dist/inputs/Button/Button.svelte",
|
|
133
133
|
"./inputs/Button/Icon.svelte": "./dist/inputs/Button/Icon.svelte",
|
|
134
|
-
"./inputs/ButtonGroup/ButtonGroup.svelte": "./dist/inputs/ButtonGroup/ButtonGroup.svelte",
|
|
135
|
-
"./inputs/ButtonGroup/ButtonGroupItem.svelte": "./dist/inputs/ButtonGroup/ButtonGroupItem.svelte",
|
|
136
134
|
"./inputs/Checkbox/Checkbox.svelte": "./dist/inputs/Checkbox/Checkbox.svelte",
|
|
137
135
|
"./inputs/Checkboxes/Checkboxes.svelte": "./dist/inputs/Checkboxes/Checkboxes.svelte",
|
|
138
136
|
"./inputs/Dropdown/Dropdown.svelte": "./dist/inputs/Dropdown/Dropdown.svelte",
|
|
@@ -143,21 +141,13 @@
|
|
|
143
141
|
"./inputs/Radios/Radios.svelte": "./dist/inputs/Radios/Radios.svelte",
|
|
144
142
|
"./inputs/Select/Select.svelte": "./dist/inputs/Select/Select.svelte",
|
|
145
143
|
"./inputs/Textarea/Textarea.svelte": "./dist/inputs/Textarea/Textarea.svelte",
|
|
146
|
-
"./inputs/Toolbar/HelpModal.svelte": "./dist/inputs/Toolbar/HelpModal.svelte",
|
|
147
|
-
"./inputs/Toolbar/Icon.svelte": "./dist/inputs/Toolbar/Icon.svelte",
|
|
148
|
-
"./inputs/Toolbar/ToolControl.svelte": "./dist/inputs/Toolbar/ToolControl.svelte",
|
|
149
|
-
"./inputs/Toolbar/ToolControls.svelte": "./dist/inputs/Toolbar/ToolControls.svelte",
|
|
150
|
-
"./inputs/Toolbar/Toolbar.svelte": "./dist/inputs/Toolbar/Toolbar.svelte",
|
|
151
|
-
"./inputs/Toolbar/ToolbarButton.svelte": "./dist/inputs/Toolbar/ToolbarButton.svelte",
|
|
152
|
-
"./inputs/Toolbar/ToolbarDivider.svelte": "./dist/inputs/Toolbar/ToolbarDivider.svelte",
|
|
153
|
-
"./inputs/Toolbar/ToolbarsContainer.svelte": "./dist/inputs/Toolbar/ToolbarsContainer.svelte",
|
|
154
144
|
"./js/docsPage": "./dist/js/docsPage.js",
|
|
155
145
|
"./js/utils": "./dist/js/utils.js",
|
|
156
146
|
"./js/withParams": "./dist/js/withParams.js",
|
|
157
147
|
"./layout/Accordion/Accordion.svelte": "./dist/layout/Accordion/Accordion.svelte",
|
|
158
148
|
"./layout/Accordion/AccordionItem.svelte": "./dist/layout/Accordion/AccordionItem.svelte",
|
|
159
149
|
"./layout/AnalyticsBanner/AnalyticsBanner.svelte": "./dist/layout/AnalyticsBanner/AnalyticsBanner.svelte",
|
|
160
|
-
"./layout/
|
|
150
|
+
"./layout/Backlink/Backlink.svelte": "./dist/layout/Backlink/Backlink.svelte",
|
|
161
151
|
"./layout/Breadcrumb/Breadcrumb.svelte": "./dist/layout/Breadcrumb/Breadcrumb.svelte",
|
|
162
152
|
"./layout/Cards/Card.svelte": "./dist/layout/Cards/Card.svelte",
|
|
163
153
|
"./layout/Cards/Cards.svelte": "./dist/layout/Cards/Cards.svelte",
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/** @typedef {typeof __propDef.props} ButtonGroupProps */
|
|
2
|
-
/** @typedef {typeof __propDef.events} ButtonGroupEvents */
|
|
3
|
-
/** @typedef {typeof __propDef.slots} ButtonGroupSlots */
|
|
4
|
-
export default class ButtonGroup extends SvelteComponentTyped<{
|
|
5
|
-
value: any;
|
|
6
|
-
legend?: string;
|
|
7
|
-
name?: string;
|
|
8
|
-
visuallyHideLegend?: boolean;
|
|
9
|
-
}, {
|
|
10
|
-
[evt: string]: CustomEvent<any>;
|
|
11
|
-
}, {
|
|
12
|
-
default: {};
|
|
13
|
-
}> {
|
|
14
|
-
}
|
|
15
|
-
export type ButtonGroupProps = typeof __propDef.props;
|
|
16
|
-
export type ButtonGroupEvents = typeof __propDef.events;
|
|
17
|
-
export type ButtonGroupSlots = typeof __propDef.slots;
|
|
18
|
-
import { SvelteComponentTyped } from "svelte";
|
|
19
|
-
declare const __propDef: {
|
|
20
|
-
props: {
|
|
21
|
-
value: any;
|
|
22
|
-
legend?: string;
|
|
23
|
-
name?: string;
|
|
24
|
-
visuallyHideLegend?: boolean;
|
|
25
|
-
};
|
|
26
|
-
events: {
|
|
27
|
-
[evt: string]: CustomEvent<any>;
|
|
28
|
-
};
|
|
29
|
-
slots: {
|
|
30
|
-
default: {};
|
|
31
|
-
};
|
|
32
|
-
};
|
|
33
|
-
export {};
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/** @typedef {typeof __propDef.props} ButtonGroupItemProps */
|
|
2
|
-
/** @typedef {typeof __propDef.events} ButtonGroupItemEvents */
|
|
3
|
-
/** @typedef {typeof __propDef.slots} ButtonGroupItemSlots */
|
|
4
|
-
export default class ButtonGroupItem extends SvelteComponentTyped<{
|
|
5
|
-
label?: string;
|
|
6
|
-
value?: string;
|
|
7
|
-
}, {
|
|
8
|
-
[evt: string]: CustomEvent<any>;
|
|
9
|
-
}, {}> {
|
|
10
|
-
}
|
|
11
|
-
export type ButtonGroupItemProps = typeof __propDef.props;
|
|
12
|
-
export type ButtonGroupItemEvents = typeof __propDef.events;
|
|
13
|
-
export type ButtonGroupItemSlots = typeof __propDef.slots;
|
|
14
|
-
import { SvelteComponentTyped } from "svelte";
|
|
15
|
-
declare const __propDef: {
|
|
16
|
-
props: {
|
|
17
|
-
label?: string;
|
|
18
|
-
value?: string;
|
|
19
|
-
};
|
|
20
|
-
events: {
|
|
21
|
-
[evt: string]: CustomEvent<any>;
|
|
22
|
-
};
|
|
23
|
-
slots: {};
|
|
24
|
-
};
|
|
25
|
-
export {};
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { SvelteComponentTyped } from "svelte";
|
|
2
|
-
declare const __propDef: {
|
|
3
|
-
props: {
|
|
4
|
-
triggerElement?: HTMLElement | null;
|
|
5
|
-
onClose: () => void;
|
|
6
|
-
};
|
|
7
|
-
events: {
|
|
8
|
-
[evt: string]: CustomEvent<any>;
|
|
9
|
-
};
|
|
10
|
-
slots: {
|
|
11
|
-
default: {};
|
|
12
|
-
};
|
|
13
|
-
};
|
|
14
|
-
export type HelpModalProps = typeof __propDef.props;
|
|
15
|
-
export type HelpModalEvents = typeof __propDef.events;
|
|
16
|
-
export type HelpModalSlots = typeof __propDef.slots;
|
|
17
|
-
export default class HelpModal extends SvelteComponentTyped<HelpModalProps, HelpModalEvents, HelpModalSlots> {
|
|
18
|
-
}
|
|
19
|
-
export {};
|