sveltacular 0.0.73 → 0.0.75
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/README.md +31 -31
- package/dist/forms/bool-box/bool-box.svelte +3 -3
- package/dist/forms/button/button.svelte +14 -7
- package/dist/forms/button/button.svelte.d.ts +1 -0
- package/dist/forms/check-box/check-box-group.svelte +14 -14
- package/dist/forms/check-box/check-box.svelte +23 -23
- package/dist/forms/combo/new-or-existing-combo.svelte +56 -56
- package/dist/forms/date-box/date-box.svelte +26 -26
- package/dist/forms/file-area/file-area.svelte +31 -31
- package/dist/forms/file-box/file-box.svelte +23 -23
- package/dist/forms/form-field.svelte +7 -7
- package/dist/forms/form-footer.svelte +15 -15
- package/dist/forms/form-header.svelte +9 -9
- package/dist/forms/form-label.svelte +5 -5
- package/dist/forms/form-section.svelte +14 -14
- package/dist/forms/form.svelte +7 -7
- package/dist/forms/info-box/info-box.svelte +19 -19
- package/dist/forms/list-box/list-box.svelte +44 -44
- package/dist/forms/money-box/money-box.svelte +54 -54
- package/dist/forms/number-box/number-box.svelte +31 -31
- package/dist/forms/phone-box/phone-box.svelte +50 -50
- package/dist/forms/radio-group/radio-box.svelte +15 -15
- package/dist/forms/radio-group/radio-group.svelte +12 -12
- package/dist/forms/switch-box/switch-box.svelte +16 -16
- package/dist/forms/text-area/text-area.svelte +10 -10
- package/dist/forms/text-box/text-box.svelte +34 -34
- package/dist/forms/url-box/url-box.svelte +14 -14
- package/dist/generic/address/address.svelte +16 -16
- package/dist/generic/card/card-container.svelte +7 -7
- package/dist/generic/card/card.svelte +10 -10
- package/dist/generic/date/date-time.svelte +3 -3
- package/dist/generic/divider/divider.svelte +3 -3
- package/dist/generic/dot/dot.svelte +5 -5
- package/dist/generic/dropdown-item/dropdown-item.svelte +35 -0
- package/dist/generic/dropdown-item/dropdown-item.svelte.d.ts +22 -0
- package/dist/generic/email/email.svelte +12 -12
- package/dist/generic/empty/empty.svelte +14 -14
- package/dist/generic/header/header.svelte +17 -17
- package/dist/generic/link/link.svelte +13 -13
- package/dist/generic/list/list-item.svelte +19 -19
- package/dist/generic/list/list.svelte +12 -12
- package/dist/generic/menu/menu.svelte +38 -38
- package/dist/generic/notice/notice.svelte +25 -25
- package/dist/generic/overlay.svelte +8 -8
- package/dist/generic/panel/panel.svelte +10 -10
- package/dist/generic/phone/phone.svelte +16 -16
- package/dist/generic/phone/phone.svelte.d.ts +1 -1
- package/dist/generic/pill/pill.svelte +7 -7
- package/dist/generic/scorecard/scorecard.svelte +10 -10
- package/dist/generic/section/section.svelte +10 -10
- package/dist/generic/toaster/toaster.svelte +6 -6
- package/dist/icons/angle-right-icon.svelte +11 -11
- package/dist/icons/angle-up-icon.svelte +9 -9
- package/dist/icons/check-icon.svelte +17 -17
- package/dist/icons/envelope-icon.svelte +8 -8
- package/dist/icons/folder-open-icon.svelte +12 -12
- package/dist/icons/hamburger-icon.svelte +15 -15
- package/dist/icons/home-icon.svelte +7 -7
- package/dist/icons/link-icon.svelte +15 -15
- package/dist/icons/mobile-phone-icon.svelte +5 -5
- package/dist/icons/phone-icon.svelte +9 -9
- package/dist/icons/svg-icon.svelte +5 -5
- package/dist/icons/upload-icon.svelte +9 -9
- package/dist/images/icon.svelte +5 -5
- package/dist/images/image.svelte +28 -28
- package/dist/index.d.ts +13 -0
- package/dist/index.js +14 -0
- package/dist/layout/flex-col.svelte +10 -10
- package/dist/layout/flex-item.svelte +5 -5
- package/dist/layout/flex-row.svelte +13 -13
- package/dist/layout/grid.svelte +17 -17
- package/dist/modals/alert.svelte +24 -24
- package/dist/modals/confirm.svelte +27 -27
- package/dist/modals/dialog-body.svelte +5 -5
- package/dist/modals/dialog-close-button.svelte +7 -7
- package/dist/modals/dialog-footer.svelte +9 -9
- package/dist/modals/dialog-header.svelte +5 -5
- package/dist/modals/dialog-window.svelte +9 -9
- package/dist/modals/modal.svelte +12 -12
- package/dist/modals/prompt.svelte +29 -29
- package/dist/navigation/accordian/accordian.svelte +17 -17
- package/dist/navigation/app-bar/app-bar.svelte +7 -7
- package/dist/navigation/app-bar/app-branding.svelte +18 -18
- package/dist/navigation/app-bar/app-logo.svelte +11 -11
- package/dist/navigation/app-bar/app-nav-item.svelte +14 -14
- package/dist/navigation/app-bar/app-nav.svelte +12 -12
- package/dist/navigation/breadcrumbs/breadcrumbs.svelte +25 -25
- package/dist/navigation/dropdown-button/dropdown-button.svelte +97 -0
- package/dist/navigation/dropdown-button/dropdown-button.svelte.d.ts +21 -0
- package/dist/navigation/pagination/pagination.svelte +27 -27
- package/dist/navigation/side-bar/side-bar.svelte +10 -10
- package/dist/navigation/tabs/tab-group.svelte +20 -20
- package/dist/navigation/tabs/tab.svelte +13 -13
- package/dist/navigation/wizard/wizard-step.svelte +12 -12
- package/dist/navigation/wizard/wizard.svelte +27 -27
- package/dist/placeholders/loading.svelte +9 -9
- package/dist/placeholders/progress.svelte +9 -9
- package/dist/placeholders/skeleton-input.svelte +43 -43
- package/dist/placeholders/skeleton-text.svelte +5 -5
- package/dist/tables/data-grid.svelte +83 -83
- package/dist/tables/table-body.svelte +3 -3
- package/dist/tables/table-caption.svelte +7 -7
- package/dist/tables/table-cell.svelte +7 -7
- package/dist/tables/table-footer-cell.svelte +21 -21
- package/dist/tables/table-footer-row.svelte +3 -3
- package/dist/tables/table-footer.svelte +13 -13
- package/dist/tables/table-header-cell.svelte +7 -7
- package/dist/tables/table-header-row.svelte +4 -4
- package/dist/tables/table-header.svelte +14 -14
- package/dist/tables/table-row.svelte +16 -16
- package/dist/tables/table.svelte +11 -11
- package/dist/timeline/timeline-item.svelte +26 -26
- package/dist/timeline/timeline.svelte +5 -5
- package/dist/typography/code-block.svelte +7 -7
- package/dist/typography/headline.svelte +19 -19
- package/dist/typography/paragraph.svelte +13 -13
- package/dist/typography/subtitle.svelte +7 -7
- package/dist/typography/text.svelte +11 -11
- package/package.json +101 -101
|
@@ -50,39 +50,39 @@ const onInput = (e) => {
|
|
|
50
50
|
}
|
|
51
51
|
dipatch("input", cleanValue);
|
|
52
52
|
};
|
|
53
|
-
</script>
|
|
54
|
-
|
|
55
|
-
<FormField {size}>
|
|
56
|
-
{#if $$slots.default}
|
|
57
|
-
<FormLabel {id} {required}><slot /></FormLabel>
|
|
58
|
-
{/if}
|
|
59
|
-
<div class="input {disabled ? 'disabled' : 'enabled'}">
|
|
60
|
-
{#if prefix}
|
|
61
|
-
<div class="prefix">{prefix}</div>
|
|
62
|
-
{/if}
|
|
63
|
-
<input
|
|
64
|
-
{id}
|
|
65
|
-
{placeholder}
|
|
66
|
-
bind:value
|
|
67
|
-
{...{ type }}
|
|
68
|
-
{disabled}
|
|
69
|
-
{readonly}
|
|
70
|
-
{required}
|
|
71
|
-
{maxlength}
|
|
72
|
-
{minlength}
|
|
73
|
-
{pattern}
|
|
74
|
-
on:keypress={onKeyPress}
|
|
75
|
-
on:input={onInput}
|
|
76
|
-
/>
|
|
77
|
-
{#if suffix}
|
|
78
|
-
<div class="suffix">{suffix}</div>
|
|
79
|
-
{/if}
|
|
80
|
-
</div>
|
|
81
|
-
{#if helperText}
|
|
82
|
-
<div class="helper-text">{helperText}</div>
|
|
83
|
-
{/if}
|
|
84
|
-
</FormField>
|
|
85
|
-
|
|
53
|
+
</script>
|
|
54
|
+
|
|
55
|
+
<FormField {size}>
|
|
56
|
+
{#if $$slots.default}
|
|
57
|
+
<FormLabel {id} {required}><slot /></FormLabel>
|
|
58
|
+
{/if}
|
|
59
|
+
<div class="input {disabled ? 'disabled' : 'enabled'}">
|
|
60
|
+
{#if prefix}
|
|
61
|
+
<div class="prefix">{prefix}</div>
|
|
62
|
+
{/if}
|
|
63
|
+
<input
|
|
64
|
+
{id}
|
|
65
|
+
{placeholder}
|
|
66
|
+
bind:value
|
|
67
|
+
{...{ type }}
|
|
68
|
+
{disabled}
|
|
69
|
+
{readonly}
|
|
70
|
+
{required}
|
|
71
|
+
{maxlength}
|
|
72
|
+
{minlength}
|
|
73
|
+
{pattern}
|
|
74
|
+
on:keypress={onKeyPress}
|
|
75
|
+
on:input={onInput}
|
|
76
|
+
/>
|
|
77
|
+
{#if suffix}
|
|
78
|
+
<div class="suffix">{suffix}</div>
|
|
79
|
+
{/if}
|
|
80
|
+
</div>
|
|
81
|
+
{#if helperText}
|
|
82
|
+
<div class="helper-text">{helperText}</div>
|
|
83
|
+
{/if}
|
|
84
|
+
</FormField>
|
|
85
|
+
|
|
86
86
|
<style>.input {
|
|
87
87
|
display: flex;
|
|
88
88
|
align-items: center;
|
|
@@ -136,4 +136,4 @@ const onInput = (e) => {
|
|
|
136
136
|
font-size: 0.75rem;
|
|
137
137
|
line-height: 1.25rem;
|
|
138
138
|
padding: 0.25rem;
|
|
139
|
-
}</style>
|
|
139
|
+
}</style>
|
|
@@ -11,17 +11,17 @@ const onInput = () => {
|
|
|
11
11
|
value = urlParts[1];
|
|
12
12
|
}
|
|
13
13
|
};
|
|
14
|
-
</script>
|
|
15
|
-
|
|
16
|
-
<TextBox
|
|
17
|
-
bind:value
|
|
18
|
-
type="text"
|
|
19
|
-
{placeholder}
|
|
20
|
-
prefix={protocol + '://'}
|
|
21
|
-
{size}
|
|
22
|
-
on:input={onInput}
|
|
23
|
-
on:change={onInput}
|
|
24
|
-
allowSpaces={false}
|
|
25
|
-
>
|
|
26
|
-
<slot />
|
|
27
|
-
</TextBox>
|
|
14
|
+
</script>
|
|
15
|
+
|
|
16
|
+
<TextBox
|
|
17
|
+
bind:value
|
|
18
|
+
type="text"
|
|
19
|
+
{placeholder}
|
|
20
|
+
prefix={protocol + '://'}
|
|
21
|
+
{size}
|
|
22
|
+
on:input={onInput}
|
|
23
|
+
on:change={onInput}
|
|
24
|
+
allowSpaces={false}
|
|
25
|
+
>
|
|
26
|
+
<slot />
|
|
27
|
+
</TextBox>
|
|
@@ -11,21 +11,21 @@ $:
|
|
|
11
11
|
flatAddress = nobr(
|
|
12
12
|
`${streetAddress}, ${city}, ${region} ${postalCode}, ${country}`.replace(/,\s+/g, ", ")
|
|
13
13
|
);
|
|
14
|
-
</script>
|
|
15
|
-
|
|
16
|
-
<address>
|
|
17
|
-
<a href="https://maps.google.com/?q={flatAddress}" target="_blank" rel="noopener">
|
|
18
|
-
{#each streetAddressArray as line}
|
|
19
|
-
<div>{line}</div>
|
|
20
|
-
{/each}
|
|
21
|
-
<div>
|
|
22
|
-
{city}, {region}
|
|
23
|
-
{country}
|
|
24
|
-
{postalCode}
|
|
25
|
-
</div>
|
|
26
|
-
</a>
|
|
27
|
-
</address>
|
|
28
|
-
|
|
14
|
+
</script>
|
|
15
|
+
|
|
16
|
+
<address>
|
|
17
|
+
<a href="https://maps.google.com/?q={flatAddress}" target="_blank" rel="noopener">
|
|
18
|
+
{#each streetAddressArray as line}
|
|
19
|
+
<div>{line}</div>
|
|
20
|
+
{/each}
|
|
21
|
+
<div>
|
|
22
|
+
{city}, {region}
|
|
23
|
+
{country}
|
|
24
|
+
{postalCode}
|
|
25
|
+
</div>
|
|
26
|
+
</a>
|
|
27
|
+
</address>
|
|
28
|
+
|
|
29
29
|
<style>address {
|
|
30
30
|
display: block;
|
|
31
31
|
margin-bottom: 1rem;
|
|
@@ -37,4 +37,4 @@ address a {
|
|
|
37
37
|
}
|
|
38
38
|
address a:hover {
|
|
39
39
|
text-decoration: underline;
|
|
40
|
-
}</style>
|
|
40
|
+
}</style>
|
|
@@ -10,12 +10,12 @@ setContext("CardContainer", {
|
|
|
10
10
|
});
|
|
11
11
|
$:
|
|
12
12
|
count = cards.length;
|
|
13
|
-
</script>
|
|
14
|
-
|
|
15
|
-
<ul data-count={count} class="{spacing} {align}">
|
|
16
|
-
<slot />
|
|
17
|
-
</ul>
|
|
18
|
-
|
|
13
|
+
</script>
|
|
14
|
+
|
|
15
|
+
<ul data-count={count} class="{spacing} {align}">
|
|
16
|
+
<slot />
|
|
17
|
+
</ul>
|
|
18
|
+
|
|
19
19
|
<style>ul {
|
|
20
20
|
list-style: none;
|
|
21
21
|
padding: 0;
|
|
@@ -58,4 +58,4 @@ ul.space-between {
|
|
|
58
58
|
}
|
|
59
59
|
ul.space-around {
|
|
60
60
|
justify-content: space-around;
|
|
61
|
-
}</style>
|
|
61
|
+
}</style>
|
|
@@ -16,15 +16,15 @@ const container = getContext("CardContainer");
|
|
|
16
16
|
if (container) {
|
|
17
17
|
container.register(id);
|
|
18
18
|
}
|
|
19
|
-
</script>
|
|
20
|
-
|
|
21
|
-
<li {role} {id} on:click={onClick} class="{size} {role}">
|
|
22
|
-
{#if title}
|
|
23
|
-
<strong>{title}</strong>
|
|
24
|
-
{/if}
|
|
25
|
-
<slot />
|
|
26
|
-
</li>
|
|
27
|
-
|
|
19
|
+
</script>
|
|
20
|
+
|
|
21
|
+
<li {role} {id} on:click={onClick} class="{size} {role}">
|
|
22
|
+
{#if title}
|
|
23
|
+
<strong>{title}</strong>
|
|
24
|
+
{/if}
|
|
25
|
+
<slot />
|
|
26
|
+
</li>
|
|
27
|
+
|
|
28
28
|
<style>li {
|
|
29
29
|
display: inline-block;
|
|
30
30
|
vertical-align: top;
|
|
@@ -60,4 +60,4 @@ li.lg {
|
|
|
60
60
|
}
|
|
61
61
|
li.xl {
|
|
62
62
|
max-width: 30rem;
|
|
63
|
-
}</style>
|
|
63
|
+
}</style>
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
<script>export let color = "#b7b7b7";
|
|
2
2
|
export let shadow = false;
|
|
3
3
|
export let size = "md";
|
|
4
|
-
</script>
|
|
5
|
-
|
|
6
|
-
<span style="background: {color}" class="{size} {shadow ? 'shadow' : ''}" />
|
|
7
|
-
|
|
4
|
+
</script>
|
|
5
|
+
|
|
6
|
+
<span style="background: {color}" class="{size} {shadow ? 'shadow' : ''}" />
|
|
7
|
+
|
|
8
8
|
<style>span {
|
|
9
9
|
display: inline-block;
|
|
10
10
|
width: 0.5rem;
|
|
@@ -25,4 +25,4 @@ span.lg {
|
|
|
25
25
|
span.xl {
|
|
26
26
|
width: 1rem;
|
|
27
27
|
height: 1rem;
|
|
28
|
-
}</style>
|
|
28
|
+
}</style>
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
<script>import { createEventDispatcher } from "svelte";
|
|
2
|
+
export let href = void 0;
|
|
3
|
+
export let target = void 0;
|
|
4
|
+
export let tabindex = 0;
|
|
5
|
+
const dispatch = createEventDispatcher();
|
|
6
|
+
const onClick = () => {
|
|
7
|
+
dispatch("click");
|
|
8
|
+
};
|
|
9
|
+
</script>
|
|
10
|
+
|
|
11
|
+
{#if !href}
|
|
12
|
+
<span class="item" on:click={() => onClick()} on:keyup={() => onClick()} role="link" {tabindex}>
|
|
13
|
+
<slot />
|
|
14
|
+
</span>
|
|
15
|
+
{:else}
|
|
16
|
+
<a {href} {target} class="item" on:click={() => onClick()} {tabindex}>
|
|
17
|
+
<slot />
|
|
18
|
+
</a>
|
|
19
|
+
{/if}
|
|
20
|
+
|
|
21
|
+
<style>.item {
|
|
22
|
+
display: block;
|
|
23
|
+
cursor: pointer;
|
|
24
|
+
padding: 0.5rem 1rem;
|
|
25
|
+
text-decoration: none;
|
|
26
|
+
font-size: 0.875rem;
|
|
27
|
+
font-weight: 500;
|
|
28
|
+
line-height: 1.25rem;
|
|
29
|
+
font-family: var(--base-font-family, sans-serif);
|
|
30
|
+
white-space: nowrap;
|
|
31
|
+
}
|
|
32
|
+
.item:hover {
|
|
33
|
+
background-color: var(--button-secondary-hover-bg, #333);
|
|
34
|
+
color: var(--button-secondary-hover-fg, #fff);
|
|
35
|
+
}</style>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
href?: string | undefined;
|
|
5
|
+
target?: string | undefined;
|
|
6
|
+
tabindex?: number | undefined;
|
|
7
|
+
};
|
|
8
|
+
events: {
|
|
9
|
+
click: CustomEvent<void>;
|
|
10
|
+
} & {
|
|
11
|
+
[evt: string]: CustomEvent<any>;
|
|
12
|
+
};
|
|
13
|
+
slots: {
|
|
14
|
+
default: {};
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
export type DropdownItemProps = typeof __propDef.props;
|
|
18
|
+
export type DropdownItemEvents = typeof __propDef.events;
|
|
19
|
+
export type DropdownItemSlots = typeof __propDef.slots;
|
|
20
|
+
export default class DropdownItem extends SvelteComponent<DropdownItemProps, DropdownItemEvents, DropdownItemSlots> {
|
|
21
|
+
}
|
|
22
|
+
export {};
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
<script>import EnvelopeIcon from "../../icons/envelope-icon.svelte";
|
|
2
2
|
export let emailAddress = "";
|
|
3
|
-
</script>
|
|
4
|
-
|
|
5
|
-
<a href="mailto:{emailAddress}" title="Email Address">
|
|
6
|
-
<span class="icon">
|
|
7
|
-
<EnvelopeIcon />
|
|
8
|
-
</span>
|
|
9
|
-
<span class="address">
|
|
10
|
-
{emailAddress}
|
|
11
|
-
</span>
|
|
12
|
-
</a>
|
|
13
|
-
|
|
3
|
+
</script>
|
|
4
|
+
|
|
5
|
+
<a href="mailto:{emailAddress}" title="Email Address">
|
|
6
|
+
<span class="icon">
|
|
7
|
+
<EnvelopeIcon />
|
|
8
|
+
</span>
|
|
9
|
+
<span class="address">
|
|
10
|
+
{emailAddress}
|
|
11
|
+
</span>
|
|
12
|
+
</a>
|
|
13
|
+
|
|
14
14
|
<style>a {
|
|
15
15
|
color: inherit;
|
|
16
16
|
text-decoration: none;
|
|
@@ -27,4 +27,4 @@ a .icon {
|
|
|
27
27
|
}
|
|
28
28
|
a:hover .address {
|
|
29
29
|
text-decoration: underline;
|
|
30
|
-
}</style>
|
|
30
|
+
}</style>
|
|
@@ -3,19 +3,19 @@ export let size = "md";
|
|
|
3
3
|
export let orientation = "vertical";
|
|
4
4
|
export let reverse = false;
|
|
5
5
|
export let align = "center";
|
|
6
|
-
</script>
|
|
7
|
-
|
|
8
|
-
<div class="empty {size} {orientation} {reverse ? 'reverse' : ''} {align}">
|
|
9
|
-
{#if $$slots.default}
|
|
10
|
-
<div class="icon">
|
|
11
|
-
<slot />
|
|
12
|
-
</div>
|
|
13
|
-
{/if}
|
|
14
|
-
<div class="text">
|
|
15
|
-
{text}
|
|
16
|
-
</div>
|
|
17
|
-
</div>
|
|
18
|
-
|
|
6
|
+
</script>
|
|
7
|
+
|
|
8
|
+
<div class="empty {size} {orientation} {reverse ? 'reverse' : ''} {align}">
|
|
9
|
+
{#if $$slots.default}
|
|
10
|
+
<div class="icon">
|
|
11
|
+
<slot />
|
|
12
|
+
</div>
|
|
13
|
+
{/if}
|
|
14
|
+
<div class="text">
|
|
15
|
+
{text}
|
|
16
|
+
</div>
|
|
17
|
+
</div>
|
|
18
|
+
|
|
19
19
|
<style>.empty {
|
|
20
20
|
display: flex;
|
|
21
21
|
flex-direction: column;
|
|
@@ -80,4 +80,4 @@ export let align = "center";
|
|
|
80
80
|
.xl .icon {
|
|
81
81
|
height: 4rem;
|
|
82
82
|
width: 4rem;
|
|
83
|
-
}</style>
|
|
83
|
+
}</style>
|
|
@@ -7,22 +7,22 @@ export let level = section?.level || 2;
|
|
|
7
7
|
export let title = section?.title || "";
|
|
8
8
|
export let subtitle = "";
|
|
9
9
|
export let underline = false;
|
|
10
|
-
</script>
|
|
11
|
-
|
|
12
|
-
<header class:underline data-level={level}>
|
|
13
|
-
<FlexRow>
|
|
14
|
-
<hgroup>
|
|
15
|
-
<Headline {level}>{title}</Headline>
|
|
16
|
-
{#if subtitle}
|
|
17
|
-
<Subtitle {level}>{subtitle}</Subtitle>
|
|
18
|
-
{/if}
|
|
19
|
-
</hgroup>
|
|
20
|
-
<div>
|
|
21
|
-
<slot />
|
|
22
|
-
</div>
|
|
23
|
-
</FlexRow>
|
|
24
|
-
</header>
|
|
25
|
-
|
|
10
|
+
</script>
|
|
11
|
+
|
|
12
|
+
<header class:underline data-level={level}>
|
|
13
|
+
<FlexRow>
|
|
14
|
+
<hgroup>
|
|
15
|
+
<Headline {level}>{title}</Headline>
|
|
16
|
+
{#if subtitle}
|
|
17
|
+
<Subtitle {level}>{subtitle}</Subtitle>
|
|
18
|
+
{/if}
|
|
19
|
+
</hgroup>
|
|
20
|
+
<div>
|
|
21
|
+
<slot />
|
|
22
|
+
</div>
|
|
23
|
+
</FlexRow>
|
|
24
|
+
</header>
|
|
25
|
+
|
|
26
26
|
<style>header {
|
|
27
27
|
margin-bottom: 1rem;
|
|
28
28
|
font-family: var(--base-headline-font-family, sans-serif);
|
|
@@ -30,4 +30,4 @@ export let underline = false;
|
|
|
30
30
|
header.underline {
|
|
31
31
|
padding-bottom: 0.5rem;
|
|
32
32
|
border-bottom: solid 1px #ccc;
|
|
33
|
-
}</style>
|
|
33
|
+
}</style>
|
|
@@ -3,18 +3,18 @@ export let target = void 0;
|
|
|
3
3
|
export let underline = "none";
|
|
4
4
|
export let disabled = false;
|
|
5
5
|
export let display = "inline";
|
|
6
|
-
</script>
|
|
7
|
-
|
|
8
|
-
{#if disabled}
|
|
9
|
-
<span class="link disabled underline-{underline} {display}">
|
|
10
|
-
<slot />
|
|
11
|
-
</span>
|
|
12
|
-
{:else}
|
|
13
|
-
<a {href} {target} class="link underline-{underline} {display}">
|
|
14
|
-
<slot />
|
|
15
|
-
</a>
|
|
16
|
-
{/if}
|
|
17
|
-
|
|
6
|
+
</script>
|
|
7
|
+
|
|
8
|
+
{#if disabled}
|
|
9
|
+
<span class="link disabled underline-{underline} {display}">
|
|
10
|
+
<slot />
|
|
11
|
+
</span>
|
|
12
|
+
{:else}
|
|
13
|
+
<a {href} {target} class="link underline-{underline} {display}">
|
|
14
|
+
<slot />
|
|
15
|
+
</a>
|
|
16
|
+
{/if}
|
|
17
|
+
|
|
18
18
|
<style>.link {
|
|
19
19
|
text-decoration: underline;
|
|
20
20
|
}
|
|
@@ -33,4 +33,4 @@ export let display = "inline";
|
|
|
33
33
|
}
|
|
34
34
|
.link[href].underline-hover:hover {
|
|
35
35
|
text-decoration: underline;
|
|
36
|
-
}</style>
|
|
36
|
+
}</style>
|
|
@@ -2,22 +2,22 @@
|
|
|
2
2
|
import { listContext } from "./list.js";
|
|
3
3
|
const ctx = getContext(listContext);
|
|
4
4
|
const listStyle = ctx.style || "none";
|
|
5
|
-
</script>
|
|
6
|
-
|
|
7
|
-
<li class="{listStyle}">
|
|
8
|
-
<slot />
|
|
9
|
-
</li>
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
<style>
|
|
13
|
-
li.striped {
|
|
14
|
-
background-color: var(--list-row-bg, #fff);
|
|
15
|
-
color: var(--list-row-fg, #000);
|
|
16
|
-
padding: 0.5rem;
|
|
17
|
-
|
|
18
|
-
&:nth-of-type(odd) {
|
|
19
|
-
background-color: var(--list-row-alt-bg, #eee);
|
|
20
|
-
color: var(--list-row-alt-fg, #000);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
</style>
|
|
5
|
+
</script>
|
|
6
|
+
|
|
7
|
+
<li class="{listStyle}">
|
|
8
|
+
<slot />
|
|
9
|
+
</li>
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
<style>
|
|
13
|
+
li.striped {
|
|
14
|
+
background-color: var(--list-row-bg, #fff);
|
|
15
|
+
color: var(--list-row-fg, #000);
|
|
16
|
+
padding: 0.5rem;
|
|
17
|
+
|
|
18
|
+
&:nth-of-type(odd) {
|
|
19
|
+
background-color: var(--list-row-alt-bg, #eee);
|
|
20
|
+
color: var(--list-row-alt-fg, #000);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
</style>
|
|
@@ -6,18 +6,18 @@ const ctx = {
|
|
|
6
6
|
style
|
|
7
7
|
};
|
|
8
8
|
setContext(listContext, ctx);
|
|
9
|
-
</script>
|
|
10
|
-
|
|
11
|
-
{#if type === 'unordered'}
|
|
12
|
-
<ul class="{style}">
|
|
13
|
-
<slot />
|
|
14
|
-
</ul>
|
|
15
|
-
{:else}
|
|
16
|
-
<ol>
|
|
17
|
-
<slot />
|
|
18
|
-
</ol>
|
|
19
|
-
{/if}
|
|
20
|
-
|
|
9
|
+
</script>
|
|
10
|
+
|
|
11
|
+
{#if type === 'unordered'}
|
|
12
|
+
<ul class="{style}">
|
|
13
|
+
<slot />
|
|
14
|
+
</ul>
|
|
15
|
+
{:else}
|
|
16
|
+
<ol>
|
|
17
|
+
<slot />
|
|
18
|
+
</ol>
|
|
19
|
+
{/if}
|
|
20
|
+
|
|
21
21
|
<style>.none {
|
|
22
22
|
list-style-type: none;
|
|
23
23
|
padding-left: 0.5rem;
|
|
@@ -24,43 +24,43 @@ const scrollToItem = (index) => {
|
|
|
24
24
|
};
|
|
25
25
|
$:
|
|
26
26
|
highlightIndex >= 0 && scrollToItem(highlightIndex);
|
|
27
|
-
</script>
|
|
28
|
-
|
|
29
|
-
<ul role="listbox" class="menu {open ? 'open' : 'closed'} {size}">
|
|
30
|
-
{#if instructions}
|
|
31
|
-
<li class="instructions">{instructions}</li>
|
|
32
|
-
{/if}
|
|
33
|
-
{#each items as item, i}
|
|
34
|
-
<li
|
|
35
|
-
on:click={() => selectItem(item)}
|
|
36
|
-
on:keypress={() => selectItem(item)}
|
|
37
|
-
role="option"
|
|
38
|
-
aria-selected={item.value === value}
|
|
39
|
-
data-index={i}
|
|
40
|
-
>
|
|
41
|
-
<div class:selected={i == highlightIndex}>
|
|
42
|
-
<FlexRow>
|
|
43
|
-
<FlexItem grow>
|
|
44
|
-
{#if searchText}
|
|
45
|
-
{@html item.name.replace(
|
|
46
|
-
new RegExp(searchText, 'gi'),
|
|
47
|
-
(match) => `<strong>${match}</strong>`
|
|
48
|
-
)}
|
|
49
|
-
{:else}
|
|
50
|
-
{item.name}
|
|
51
|
-
{/if}
|
|
52
|
-
</FlexItem>
|
|
53
|
-
<FlexItem>
|
|
54
|
-
{#if item.value === value}
|
|
55
|
-
<span class="check"><CheckIcon /></span>
|
|
56
|
-
{/if}
|
|
57
|
-
</FlexItem>
|
|
58
|
-
</FlexRow>
|
|
59
|
-
</div>
|
|
60
|
-
</li>
|
|
61
|
-
{/each}
|
|
62
|
-
</ul>
|
|
63
|
-
|
|
27
|
+
</script>
|
|
28
|
+
|
|
29
|
+
<ul role="listbox" class="menu {open ? 'open' : 'closed'} {size}">
|
|
30
|
+
{#if instructions}
|
|
31
|
+
<li class="instructions">{instructions}</li>
|
|
32
|
+
{/if}
|
|
33
|
+
{#each items as item, i}
|
|
34
|
+
<li
|
|
35
|
+
on:click={() => selectItem(item)}
|
|
36
|
+
on:keypress={() => selectItem(item)}
|
|
37
|
+
role="option"
|
|
38
|
+
aria-selected={item.value === value}
|
|
39
|
+
data-index={i}
|
|
40
|
+
>
|
|
41
|
+
<div class:selected={i == highlightIndex}>
|
|
42
|
+
<FlexRow>
|
|
43
|
+
<FlexItem grow>
|
|
44
|
+
{#if searchText}
|
|
45
|
+
{@html item.name.replace(
|
|
46
|
+
new RegExp(searchText, 'gi'),
|
|
47
|
+
(match) => `<strong>${match}</strong>`
|
|
48
|
+
)}
|
|
49
|
+
{:else}
|
|
50
|
+
{item.name}
|
|
51
|
+
{/if}
|
|
52
|
+
</FlexItem>
|
|
53
|
+
<FlexItem>
|
|
54
|
+
{#if item.value === value}
|
|
55
|
+
<span class="check"><CheckIcon /></span>
|
|
56
|
+
{/if}
|
|
57
|
+
</FlexItem>
|
|
58
|
+
</FlexRow>
|
|
59
|
+
</div>
|
|
60
|
+
</li>
|
|
61
|
+
{/each}
|
|
62
|
+
</ul>
|
|
63
|
+
|
|
64
64
|
<style>.menu {
|
|
65
65
|
position: relative;
|
|
66
66
|
width: 8rem;
|
|
@@ -113,4 +113,4 @@ $:
|
|
|
113
113
|
display: inline-block;
|
|
114
114
|
width: 1rem;
|
|
115
115
|
height: 1rem;
|
|
116
|
-
}</style>
|
|
116
|
+
}</style>
|