@functionalcms/svelte-components 3.0.5 → 3.0.7
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/components/Banner.svelte +5 -3
- package/dist/components/Link.svelte +54 -44
- package/dist/components/Logo.svelte +15 -3
- package/dist/components/Spacer.svelte +10 -7
- package/dist/components/Well.svelte +15 -12
- package/dist/components/agnostic/Alert/Alert.svelte +64 -57
- package/dist/components/agnostic/Avatar/Avatar.svelte +19 -15
- package/dist/components/agnostic/Breadcrumb/Breadcrumb.svelte +19 -10
- package/dist/components/agnostic/Button/Button.svelte +60 -35
- package/dist/components/agnostic/Button/ButtonGroup.svelte +4 -3
- package/dist/components/agnostic/Card/Card.svelte +22 -18
- package/dist/components/agnostic/ChoiceInput/ChoiceInput.svelte +87 -59
- package/dist/components/agnostic/Close/Close.svelte +11 -7
- package/dist/components/agnostic/Dialog/Dialog.svelte +64 -42
- package/dist/components/agnostic/Dialog/SvelteA11yDialog.svelte +76 -51
- package/dist/components/agnostic/Disclose/Disclose.svelte +15 -9
- package/dist/components/agnostic/Divider/Divider.svelte +137 -135
- package/dist/components/agnostic/Divider/Divider.svelte.d.ts +5 -8
- package/dist/components/agnostic/Drawer/Drawer.svelte +20 -16
- package/dist/components/agnostic/EmptyState/EmptyState.svelte +10 -7
- package/dist/components/agnostic/Header/Header.svelte +22 -15
- package/dist/components/agnostic/Header/HeaderNav.svelte +4 -3
- package/dist/components/agnostic/Header/HeaderNavItem.svelte +3 -2
- package/dist/components/agnostic/Icon/Icon.svelte +28 -20
- package/dist/components/agnostic/Loader/Loader.svelte +6 -3
- package/dist/components/agnostic/Progress/Progress.svelte +5 -4
- package/dist/components/agnostic/Spinner/Spinner.svelte +6 -3
- package/dist/components/agnostic/Table/Table.svelte +191 -134
- package/dist/components/agnostic/Tabs/TabButtonCustom.svelte +24 -12
- package/dist/components/agnostic/Tabs/Tabs.svelte +173 -104
- package/dist/components/agnostic/Tag/Tag.svelte +14 -10
- package/dist/components/agnostic/Tag/TagSlots.svelte +2 -1
- package/dist/components/agnostic/Toasts/Toasts.svelte +29 -19
- package/dist/components/agnostic/Tooltip/Tooltip.svelte +85 -68
- package/dist/components/agnostic/Tooltip/TooltipSlots.svelte +2 -1
- package/dist/components/blog/BlogDescription.svelte +6 -4
- package/dist/components/blog/BlogTitle.svelte +8 -6
- package/dist/components/form/Input.svelte +81 -52
- package/dist/components/form/Input.svelte.d.ts +2 -2
- package/dist/components/form/Select.svelte +40 -24
- package/dist/components/layouts/DefaultLayout.svelte +8 -5
- package/dist/components/layouts/Meta.svelte +7 -6
- package/dist/components/layouts/SimpleFooter.svelte +13 -3
- package/dist/components/layouts/Tracker.svelte +2 -1
- package/dist/components/layouts/TwoColumnsLayout.svelte +3 -2
- package/dist/components/menu/CollapsibleMenu.svelte +18 -13
- package/dist/components/menu/DynamicMenu.svelte +16 -10
- package/dist/components/menu/DynamicMenu.svelte.d.ts +1 -1
- package/dist/components/menu/HamburgerMenu.svelte +24 -18
- package/dist/components/menu/Menu.svelte +279 -219
- package/dist/components/menu/MenuItem.svelte +14 -10
- package/dist/components/menu/NavigationItems.svelte +18 -12
- package/dist/components/presentation/Carusel.svelte +77 -72
- package/dist/components/presentation/Gallery.svelte +14 -8
- package/package.json +9 -10
|
@@ -1,139 +1,141 @@
|
|
|
1
|
-
<script
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export let
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { DividerJustify, DividerTypes, DividerSizes } from './api';
|
|
3
|
+
|
|
4
|
+
export let isVertical = false;
|
|
5
|
+
|
|
6
|
+
// start, end (centered by default)
|
|
7
|
+
export let justify: DividerJustify = '';
|
|
8
|
+
// info, success, error, warning
|
|
9
|
+
export let type: DividerTypes = '';
|
|
10
|
+
// small (default is medium) large xlarge
|
|
11
|
+
export let size: DividerSizes = '';
|
|
12
|
+
|
|
13
|
+
const dividerClasses: string = [
|
|
14
|
+
'divider',
|
|
15
|
+
isVertical ? 'divider-vertical' : '',
|
|
16
|
+
justify ? `divider-justify-${justify}` : '',
|
|
17
|
+
size ? `divider-${size}` : '',
|
|
18
|
+
type ? `divider-${type}` : ''
|
|
19
|
+
]
|
|
20
|
+
.filter((cl) => cl.length)
|
|
21
|
+
.join(' ');
|
|
13
22
|
</script>
|
|
14
23
|
|
|
15
|
-
<div class={dividerClasses}>
|
|
16
|
-
{#if slots && slots.dividerContent}
|
|
17
|
-
<div class="divider-content">
|
|
18
|
-
<slot name="dividerContent" />
|
|
19
|
-
</div>
|
|
20
|
-
{/if}
|
|
21
|
-
</div>
|
|
22
|
-
<style>
|
|
23
|
-
.divider {
|
|
24
|
-
display: flex;
|
|
25
|
-
justify-content: center;
|
|
26
|
-
align-items: center;
|
|
27
|
-
white-space: nowrap;
|
|
28
|
-
width: 100%;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
.divider::before,
|
|
32
|
-
.divider::after {
|
|
33
|
-
content: "";
|
|
34
|
-
background-color: var(--functional-gray-mid);
|
|
35
|
-
height: var(--fluid-2);
|
|
36
|
-
flex-grow: 1;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
.divider-small::before,
|
|
40
|
-
.divider-small::after {
|
|
41
|
-
height: 1px;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
.divider-large::before,
|
|
45
|
-
.divider-large::after {
|
|
46
|
-
height: var(--fluid-4);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
.divider-xlarge::before,
|
|
50
|
-
.divider-xlarge::after {
|
|
51
|
-
height: var(--fluid-6);
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
.divider-justify-end::after,
|
|
55
|
-
.divider-justify-start::before {
|
|
56
|
-
flex-grow: 0;
|
|
57
|
-
flex-basis: 3%;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
.divider-content {
|
|
61
|
-
padding-inline-start: var(--fluid-16);
|
|
62
|
-
padding-inline-end: var(--fluid-16);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
.divider-vertical {
|
|
66
|
-
height: auto;
|
|
67
|
-
margin: 0 var(--fluid-16);
|
|
68
|
-
width: var(--fluid-16);
|
|
69
|
-
flex-direction: column;
|
|
70
|
-
align-self: stretch;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
.divider-vertical::before,
|
|
74
|
-
.divider-vertical::after {
|
|
75
|
-
width: var(--fluid-2);
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
.divider-vertical.divider-small::before,
|
|
79
|
-
.divider-vertical.divider-small::after {
|
|
80
|
-
width: 1px;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
.divider-vertical.divider-large::before,
|
|
84
|
-
.divider-vertical.divider-large::after {
|
|
85
|
-
width: var(--fluid-4);
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
.divider-vertical.divider-xlarge::before,
|
|
89
|
-
.divider-vertical.divider-xlarge::after {
|
|
90
|
-
width: var(--fluid-6);
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
.divider-vertical .divider-content {
|
|
94
|
-
padding-inline-start: var(--fluid-24);
|
|
95
|
-
padding-inline-end: var(--fluid-24);
|
|
96
|
-
|
|
97
|
-
/* Since we're vertical we need space from line above/below */
|
|
98
|
-
padding-block-start: var(--fluid-6);
|
|
99
|
-
padding-block-end: var(--fluid-6);
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
.divider-warning::before,
|
|
103
|
-
.divider-warning::after {
|
|
104
|
-
background-color: var(--functional-warning-border);
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
.divider-warning .divider-content {
|
|
108
|
-
color: var(--functional-warning-border);
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
.divider-error::before,
|
|
112
|
-
.divider-error::after {
|
|
113
|
-
background-color: var(--functional-error);
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
.divider-error .divider-content {
|
|
117
|
-
color: var(--functional-error);
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
.divider-success::before,
|
|
121
|
-
.divider-success::after {
|
|
122
|
-
background-color: var(--functional-action);
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
.divider-success .divider-content {
|
|
126
|
-
color: var(--functional-action);
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
.divider-info::before,
|
|
130
|
-
.divider-info::after {
|
|
131
|
-
background-color: var(--functional-primary);
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
.divider-info .divider-content {
|
|
135
|
-
color: var(--functional-primary);
|
|
136
|
-
}
|
|
24
|
+
<div class={dividerClasses}></div>
|
|
137
25
|
|
|
26
|
+
<style>
|
|
27
|
+
.divider {
|
|
28
|
+
display: flex;
|
|
29
|
+
justify-content: center;
|
|
30
|
+
align-items: center;
|
|
31
|
+
white-space: nowrap;
|
|
32
|
+
width: 100%;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.divider::before,
|
|
36
|
+
.divider::after {
|
|
37
|
+
content: '';
|
|
38
|
+
background-color: var(--functional-gray-mid);
|
|
39
|
+
height: var(--fluid-2);
|
|
40
|
+
flex-grow: 1;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.divider-small::before,
|
|
44
|
+
.divider-small::after {
|
|
45
|
+
height: 1px;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.divider-large::before,
|
|
49
|
+
.divider-large::after {
|
|
50
|
+
height: var(--fluid-4);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.divider-xlarge::before,
|
|
54
|
+
.divider-xlarge::after {
|
|
55
|
+
height: var(--fluid-6);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.divider-justify-end::after,
|
|
59
|
+
.divider-justify-start::before {
|
|
60
|
+
flex-grow: 0;
|
|
61
|
+
flex-basis: 3%;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.divider-content {
|
|
65
|
+
padding-inline-start: var(--fluid-16);
|
|
66
|
+
padding-inline-end: var(--fluid-16);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.divider-vertical {
|
|
70
|
+
height: auto;
|
|
71
|
+
margin: 0 var(--fluid-16);
|
|
72
|
+
width: var(--fluid-16);
|
|
73
|
+
flex-direction: column;
|
|
74
|
+
align-self: stretch;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.divider-vertical::before,
|
|
78
|
+
.divider-vertical::after {
|
|
79
|
+
width: var(--fluid-2);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.divider-vertical.divider-small::before,
|
|
83
|
+
.divider-vertical.divider-small::after {
|
|
84
|
+
width: 1px;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.divider-vertical.divider-large::before,
|
|
88
|
+
.divider-vertical.divider-large::after {
|
|
89
|
+
width: var(--fluid-4);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.divider-vertical.divider-xlarge::before,
|
|
93
|
+
.divider-vertical.divider-xlarge::after {
|
|
94
|
+
width: var(--fluid-6);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.divider-vertical .divider-content {
|
|
98
|
+
padding-inline-start: var(--fluid-24);
|
|
99
|
+
padding-inline-end: var(--fluid-24);
|
|
100
|
+
|
|
101
|
+
/* Since we're vertical we need space from line above/below */
|
|
102
|
+
padding-block-start: var(--fluid-6);
|
|
103
|
+
padding-block-end: var(--fluid-6);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.divider-warning::before,
|
|
107
|
+
.divider-warning::after {
|
|
108
|
+
background-color: var(--functional-warning-border);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.divider-warning .divider-content {
|
|
112
|
+
color: var(--functional-warning-border);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.divider-error::before,
|
|
116
|
+
.divider-error::after {
|
|
117
|
+
background-color: var(--functional-error);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
.divider-error .divider-content {
|
|
121
|
+
color: var(--functional-error);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
.divider-success::before,
|
|
125
|
+
.divider-success::after {
|
|
126
|
+
background-color: var(--functional-action);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
.divider-success .divider-content {
|
|
130
|
+
color: var(--functional-action);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
.divider-info::before,
|
|
134
|
+
.divider-info::after {
|
|
135
|
+
background-color: var(--functional-primary);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
.divider-info .divider-content {
|
|
139
|
+
color: var(--functional-primary);
|
|
140
|
+
}
|
|
138
141
|
</style>
|
|
139
|
-
|
|
@@ -2,18 +2,15 @@ import { SvelteComponentTyped } from "svelte";
|
|
|
2
2
|
import type { DividerJustify, DividerTypes, DividerSizes } from './api';
|
|
3
3
|
declare const __propDef: {
|
|
4
4
|
props: {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
size?: DividerSizes | undefined;
|
|
5
|
+
isVertical?: boolean;
|
|
6
|
+
justify?: DividerJustify;
|
|
7
|
+
type?: DividerTypes;
|
|
8
|
+
size?: DividerSizes;
|
|
10
9
|
};
|
|
11
10
|
events: {
|
|
12
11
|
[evt: string]: CustomEvent<any>;
|
|
13
12
|
};
|
|
14
|
-
slots: {
|
|
15
|
-
dividerContent: {};
|
|
16
|
-
};
|
|
13
|
+
slots: {};
|
|
17
14
|
};
|
|
18
15
|
export type DividerProps = typeof __propDef.props;
|
|
19
16
|
export type DividerEvents = typeof __propDef.events;
|
|
@@ -1,19 +1,23 @@
|
|
|
1
|
-
<script
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
export let
|
|
16
|
-
export let
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { DrawerRoles } from './api';
|
|
3
|
+
import Dialog from "../Dialog/Dialog.svelte";
|
|
4
|
+
import { createEventDispatcher } from "svelte";
|
|
5
|
+
const dispatch = createEventDispatcher();
|
|
6
|
+
|
|
7
|
+
let drawerInstance;
|
|
8
|
+
const assignDrawerRef = (ev) => {
|
|
9
|
+
drawerInstance = ev.detail.instance;
|
|
10
|
+
dispatch("instance", {
|
|
11
|
+
instance: drawerInstance,
|
|
12
|
+
});
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export let id;
|
|
16
|
+
export let drawerRoot;
|
|
17
|
+
export let placement;
|
|
18
|
+
export let title;
|
|
19
|
+
export let role: DrawerRoles = "dialog";
|
|
20
|
+
export let isAnimationFadeIn = true;
|
|
17
21
|
</script>
|
|
18
22
|
<Dialog
|
|
19
23
|
id={id}
|
|
@@ -28,13 +28,16 @@
|
|
|
28
28
|
|
|
29
29
|
</style>
|
|
30
30
|
|
|
31
|
-
<script
|
|
32
|
-
export let
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
31
|
+
<script lang="ts">
|
|
32
|
+
export let isRounded = false;
|
|
33
|
+
export let isBordered = false;
|
|
34
|
+
const emptyClasses: string = [
|
|
35
|
+
"empty",
|
|
36
|
+
isRounded ? "empty-rounded" : "",
|
|
37
|
+
isBordered ? "empty-bordered" : "",
|
|
38
|
+
]
|
|
39
|
+
.filter((cl) => cl.length)
|
|
40
|
+
.join(" ");
|
|
38
41
|
</script>
|
|
39
42
|
|
|
40
43
|
<div class={emptyClasses}>
|
|
@@ -78,21 +78,28 @@
|
|
|
78
78
|
|
|
79
79
|
</style>
|
|
80
80
|
|
|
81
|
-
<script
|
|
82
|
-
export let
|
|
83
|
-
export let
|
|
84
|
-
export let
|
|
85
|
-
export let
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
81
|
+
<script lang="ts">
|
|
82
|
+
export let isSticky = false;
|
|
83
|
+
export let isSkinned = true;
|
|
84
|
+
export let isHeaderContentStart = false;
|
|
85
|
+
export let isHeaderContentEnd = false;
|
|
86
|
+
export let css = "";
|
|
87
|
+
|
|
88
|
+
const klasses: string = [
|
|
89
|
+
isSkinned ? "header" : "header-base",
|
|
90
|
+
isSticky ? "header-sticky" : "",
|
|
91
|
+
css ? `${css}` : "",
|
|
92
|
+
]
|
|
93
|
+
.filter((cl) => cl.length)
|
|
94
|
+
.join(" ");
|
|
95
|
+
|
|
96
|
+
const headerContentClasses: string = [
|
|
97
|
+
"header-content",
|
|
98
|
+
isHeaderContentStart ? "header-content-start" : "",
|
|
99
|
+
isHeaderContentEnd ? "header-content-end" : "",
|
|
100
|
+
]
|
|
101
|
+
.filter((cl) => cl.length)
|
|
102
|
+
.join(" ");
|
|
96
103
|
</script>
|
|
97
104
|
|
|
98
105
|
<nav class={klasses}>
|
|
@@ -16,9 +16,10 @@
|
|
|
16
16
|
|
|
17
17
|
</style>
|
|
18
18
|
|
|
19
|
-
<script
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
<script lang="ts">
|
|
20
|
+
export let css = "";
|
|
21
|
+
const containerClasses = [css ? `${css}` : ""].filter((c) => c.length);
|
|
22
|
+
</script>
|
|
22
23
|
|
|
23
24
|
<nav class={containerClasses}>
|
|
24
25
|
<ul class="header-nav">
|
|
@@ -21,8 +21,9 @@
|
|
|
21
21
|
|
|
22
22
|
</style>
|
|
23
23
|
|
|
24
|
-
<script
|
|
25
|
-
let
|
|
24
|
+
<script lang="ts">
|
|
25
|
+
export let css = "";
|
|
26
|
+
let klasses: string = ["header-nav-item", css ? `${css}` : ""].filter(cl => cl && cl.length).join(' ');
|
|
26
27
|
</script>
|
|
27
28
|
|
|
28
29
|
<li class={klasses}>
|
|
@@ -153,26 +153,34 @@
|
|
|
153
153
|
}
|
|
154
154
|
</style>
|
|
155
155
|
|
|
156
|
-
<script
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
export let
|
|
160
|
-
let
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
156
|
+
<script lang="ts">
|
|
157
|
+
import { onMount } from 'svelte';
|
|
158
|
+
import type { IconSize, IconType } from './api';
|
|
159
|
+
export let type: IconType = '';
|
|
160
|
+
export let size: IconSize = 14;
|
|
161
|
+
export let isSkinned = true;
|
|
162
|
+
let spanRef;
|
|
163
|
+
|
|
164
|
+
const iconClasses = [
|
|
165
|
+
"screenreader-only",
|
|
166
|
+
isSkinned ? "icon" : "icon-base",
|
|
167
|
+
type ? `icon-${type}` : "",
|
|
168
|
+
size ? `icon-${size}` : "",
|
|
169
|
+
]
|
|
170
|
+
.filter((cls) => cls)
|
|
171
|
+
.join(" ");
|
|
172
|
+
|
|
173
|
+
onMount(() => {
|
|
174
|
+
const svg = spanRef.querySelector("svg");
|
|
175
|
+
svg.classList.add("icon-svg");
|
|
176
|
+
if (svg) {
|
|
177
|
+
if (size) svg.classList.add(`icon-svg-${size}`);
|
|
178
|
+
if (type) svg.classList.add(`icon-svg-${type}`);
|
|
179
|
+
|
|
180
|
+
// Now that we've setup our SVG classes we can visually unhide the icon
|
|
181
|
+
spanRef.classList.remove("screenreader-only");
|
|
182
|
+
}
|
|
183
|
+
});
|
|
176
184
|
</script>
|
|
177
185
|
|
|
178
186
|
<span bind:this={spanRef} class={iconClasses}>
|
|
@@ -103,9 +103,12 @@
|
|
|
103
103
|
}
|
|
104
104
|
|
|
105
105
|
</style>
|
|
106
|
-
<script
|
|
107
|
-
export let
|
|
108
|
-
export let
|
|
106
|
+
<script lang="ts">
|
|
107
|
+
export let ariaLabel = "Loading…";
|
|
108
|
+
export let size: "small" | "large" | "" = "";
|
|
109
|
+
export let loaderClasses: string = ["loader", size ? `loader-${size}` : ""]
|
|
110
|
+
.filter((c) => c)
|
|
111
|
+
.join(" ");
|
|
109
112
|
</script>
|
|
110
113
|
|
|
111
114
|
<div class={loaderClasses} role="status" aria-live="polite" aria-busy="true">
|
|
@@ -41,10 +41,11 @@
|
|
|
41
41
|
|
|
42
42
|
</style>
|
|
43
43
|
|
|
44
|
-
<script
|
|
45
|
-
export let
|
|
46
|
-
export let
|
|
47
|
-
let
|
|
44
|
+
<script lang="ts">
|
|
45
|
+
export let value = 0;
|
|
46
|
+
export let max;
|
|
47
|
+
export let css = "";
|
|
48
|
+
let klasses: string = ["progress", css ? `${css}` : ""].filter(cl => cl && cl.length).join(' ');
|
|
48
49
|
</script>
|
|
49
50
|
|
|
50
51
|
<progress class={klasses} value={value} max={max}></progress>
|
|
@@ -95,9 +95,12 @@
|
|
|
95
95
|
|
|
96
96
|
</style>
|
|
97
97
|
|
|
98
|
-
<script
|
|
99
|
-
export let
|
|
100
|
-
|
|
98
|
+
<script lang="ts">
|
|
99
|
+
export let ariaLabel = "Loading…";
|
|
100
|
+
export let size: "small" | "large" | "xlarge" | "" = "";
|
|
101
|
+
$: spinnerClasses = ["spinner", size ? `spinner-${size}` : ""]
|
|
102
|
+
.filter((c) => c)
|
|
103
|
+
.join(" ");
|
|
101
104
|
</script>
|
|
102
105
|
|
|
103
106
|
<div class={spinnerClasses} role="status" aria-live="polite" aria-busy="true">
|