@functionalcms/svelte-components 3.5.20 → 4.0.0-pre-2.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.
Files changed (129) hide show
  1. package/css/functional.css +1 -1
  2. package/css/functional.css.map +1 -1
  3. package/dist/auth/authenticationHandle.js +0 -4
  4. package/dist/auth/redisSessionProvider.js +1 -2
  5. package/dist/auth/sessionIdGenerator.d.ts +1 -1
  6. package/dist/components/form/Button.svelte +379 -0
  7. package/dist/components/form/Button.svelte.d.ts +27 -0
  8. package/dist/components/form/Input.d.ts +21 -0
  9. package/dist/components/form/Input.js +23 -0
  10. package/dist/components/form/Input.svelte +142 -177
  11. package/dist/components/form/Input.svelte.d.ts +24 -46
  12. package/dist/components/{Banner.svelte → layouts/Banner.svelte} +5 -5
  13. package/dist/components/layouts/DefaultLayout.svelte +5 -5
  14. package/dist/components/layouts/DefaultLayout.svelte.d.ts +4 -4
  15. package/dist/components/layouts/SimpleFooter.svelte +4 -4
  16. package/dist/components/layouts/SimpleFooter.svelte.d.ts +3 -3
  17. package/dist/components/layouts/Well.svelte +46 -0
  18. package/dist/components/layouts/Well.svelte.d.ts +12 -0
  19. package/dist/components/menu/CollapsibleMenu.svelte +2 -2
  20. package/dist/components/menu/CollapsibleMenu.svelte.d.ts +3 -16
  21. package/dist/components/menu/DynamicMenu.svelte +25 -13
  22. package/dist/components/menu/DynamicMenu.svelte.d.ts +10 -28
  23. package/dist/components/menu/HamburgerMenu.svelte +29 -21
  24. package/dist/components/menu/HamburgerMenu.svelte.d.ts +11 -24
  25. package/dist/components/menu/ListMenu.svelte +53 -0
  26. package/dist/components/menu/ListMenu.svelte.d.ts +17 -0
  27. package/dist/components/menu/{Menu.d.ts → types.d.ts} +2 -0
  28. package/dist/components/menu/{Menu.js → types.js} +5 -0
  29. package/dist/components/presentation/Card.svelte +77 -92
  30. package/dist/components/presentation/Card.svelte.d.ts +10 -13
  31. package/dist/components/presentation/{Carusele.d.ts → Carousel.d.ts} +1 -1
  32. package/dist/components/presentation/Carousel.svelte +98 -1
  33. package/dist/components/presentation/Carousel.svelte.d.ts +14 -15
  34. package/dist/components/{agnostic/Disclose → presentation}/Disclose.svelte +2 -2
  35. package/dist/components/presentation/Drawer.svelte +131 -0
  36. package/dist/components/presentation/Drawer.svelte.d.ts +13 -0
  37. package/dist/components/presentation/Gallery.svelte +7 -7
  38. package/dist/components/presentation/Gallery.svelte.d.ts +3 -3
  39. package/dist/components/presentation/ImageCompare.svelte +39 -46
  40. package/dist/components/presentation/ImageCompare.svelte.d.ts +8 -26
  41. package/dist/components/presentation/Link.svelte +362 -0
  42. package/dist/components/presentation/Link.svelte.d.ts +27 -0
  43. package/dist/components/presentation/Logo.svelte +36 -0
  44. package/dist/components/presentation/Logo.svelte.d.ts +8 -0
  45. package/dist/components/presentation/ShowItem.d.ts +7 -7
  46. package/dist/components/presentation/ShowItem.js +1 -8
  47. package/dist/index-server.d.ts +0 -1
  48. package/dist/index-server.js +0 -3
  49. package/dist/index.d.ts +17 -22
  50. package/dist/index.js +40 -57
  51. package/dist/server-side/getServices.d.ts +1 -1
  52. package/dist/server-side/types.d.ts +1 -2
  53. package/dist/utils.d.ts +1 -0
  54. package/dist/utils.js +54 -0
  55. package/package.json +27 -24
  56. package/dist/components/CssHelper.d.ts +0 -1
  57. package/dist/components/CssHelper.js +0 -3
  58. package/dist/components/Link.svelte +0 -349
  59. package/dist/components/Link.svelte.d.ts +0 -48
  60. package/dist/components/Logo.svelte +0 -38
  61. package/dist/components/Logo.svelte.d.ts +0 -28
  62. package/dist/components/Spacer.svelte +0 -22
  63. package/dist/components/Spacer.svelte.d.ts +0 -6
  64. package/dist/components/Well.svelte +0 -40
  65. package/dist/components/Well.svelte.d.ts +0 -12
  66. package/dist/components/agnostic/Button/Button.svelte +0 -371
  67. package/dist/components/agnostic/Button/Button.svelte.d.ts +0 -52
  68. package/dist/components/agnostic/Button/ButtonGroup.svelte +0 -21
  69. package/dist/components/agnostic/Button/ButtonGroup.svelte.d.ts +0 -32
  70. package/dist/components/agnostic/Button/button-base.css +0 -12
  71. package/dist/components/agnostic/Button/button-core.css +0 -237
  72. package/dist/components/agnostic/Button/button-empty.css +0 -31
  73. package/dist/components/agnostic/Button/button-group.css +0 -8
  74. package/dist/components/agnostic/Close/Close.svelte +0 -124
  75. package/dist/components/agnostic/Close/Close.svelte.d.ts +0 -25
  76. package/dist/components/agnostic/Close/api.d.ts +0 -1
  77. package/dist/components/agnostic/Divider/Divider.svelte +0 -141
  78. package/dist/components/agnostic/Divider/Divider.svelte.d.ts +0 -24
  79. package/dist/components/agnostic/Divider/api.d.ts +0 -3
  80. package/dist/components/agnostic/Divider/api.js +0 -1
  81. package/dist/components/agnostic/Loader/Loader.svelte +0 -116
  82. package/dist/components/agnostic/Loader/Loader.svelte.d.ts +0 -22
  83. package/dist/components/agnostic/animation.css +0 -37
  84. package/dist/components/blog/BlogDescription.svelte +0 -9
  85. package/dist/components/blog/BlogDescription.svelte.d.ts +0 -23
  86. package/dist/components/blog/BlogPost.d.ts +0 -13
  87. package/dist/components/blog/BlogPost.js +0 -1
  88. package/dist/components/blog/BlogTitle.svelte +0 -19
  89. package/dist/components/blog/BlogTitle.svelte.d.ts +0 -23
  90. package/dist/components/blog/blog.d.ts +0 -8
  91. package/dist/components/blog/blog.js +0 -29
  92. package/dist/components/converters/ShowItemToNavigationItems.d.ts +0 -3
  93. package/dist/components/converters/ShowItemToNavigationItems.js +0 -10
  94. package/dist/components/form/DateTimePicker.svelte +0 -59
  95. package/dist/components/form/DateTimePicker.svelte.d.ts +0 -18
  96. package/dist/components/form/InputAddonItem.svelte +0 -42
  97. package/dist/components/form/InputAddonItem.svelte.d.ts +0 -31
  98. package/dist/components/form/InputTypes.d.ts +0 -9
  99. package/dist/components/form/InputTypes.js +0 -10
  100. package/dist/components/form/Select.svelte +0 -157
  101. package/dist/components/form/Select.svelte.d.ts +0 -34
  102. package/dist/components/form/Switch.svelte +0 -275
  103. package/dist/components/form/Switch.svelte.d.ts +0 -30
  104. package/dist/components/menu/Menu.svelte +0 -526
  105. package/dist/components/menu/Menu.svelte.d.ts +0 -33
  106. package/dist/components/menu/MenuItem.svelte +0 -121
  107. package/dist/components/menu/MenuItem.svelte.d.ts +0 -39
  108. package/dist/components/menu/NavigationItems.svelte +0 -44
  109. package/dist/components/menu/NavigationItems.svelte.d.ts +0 -32
  110. package/dist/components/menu/authentication.d.ts +0 -1
  111. package/dist/components/menu/authentication.js +0 -6
  112. package/dist/components/presentation/Carousel/carousel-content.svelte +0 -35
  113. package/dist/components/presentation/Carousel/carousel-content.svelte.d.ts +0 -28
  114. package/dist/components/presentation/Carousel/carousel-item.svelte +0 -25
  115. package/dist/components/presentation/Carousel/carousel-item.svelte.d.ts +0 -28
  116. package/dist/components/presentation/Carousel/carousel-next.svelte +0 -39
  117. package/dist/components/presentation/Carousel/carousel-next.svelte.d.ts +0 -18
  118. package/dist/components/presentation/Carousel/carousel-previous.svelte +0 -40
  119. package/dist/components/presentation/Carousel/carousel-previous.svelte.d.ts +0 -18
  120. package/dist/components/presentation/Carousel/carousel.svelte +0 -99
  121. package/dist/components/presentation/Carousel/carousel.svelte.d.ts +0 -31
  122. package/dist/components/presentation/Carousel/context.d.ts +0 -32
  123. package/dist/components/presentation/Carousel/context.js +0 -12
  124. package/dist/components/presentation/Carusele.js +0 -5
  125. /package/dist/components/{Markdown.svelte → content/Markdown.svelte} +0 -0
  126. /package/dist/components/{Markdown.svelte.d.ts → content/Markdown.svelte.d.ts} +0 -0
  127. /package/dist/components/{Banner.svelte.d.ts → layouts/Banner.svelte.d.ts} +0 -0
  128. /package/dist/components/{agnostic/Close/api.js → presentation/Carousel.js} +0 -0
  129. /package/dist/components/{agnostic/Disclose → presentation}/Disclose.svelte.d.ts +0 -0
@@ -1,116 +0,0 @@
1
- <style>
2
- .loader {
3
- --loading-color: var(--functional-loading-color, var(--functional-dark));
4
- --loading-size: var(--fluid-16);
5
- --loading-size-small: var(--fluid-12);
6
- --loading-size-large: var(--fluid-18);
7
-
8
- position: relative;
9
- box-sizing: border-box;
10
- animation: blink 1s infinite;
11
- animation-delay: 250ms;
12
-
13
- /* Make up for negative positioning */
14
- margin-left: var(--loading-size);
15
-
16
- /* Initially set zero until aria-busy becomes true */
17
- opacity: 0%;
18
- }
19
-
20
- .loader,
21
- .loader::before,
22
- .loader::after {
23
- width: calc(var(--loading-size) / 2);
24
- height: calc(var(--loading-size) / 2);
25
- border-radius: var(--fluid-6);
26
- background-color: var(--loading-color);
27
- }
28
-
29
- /* SMALL */
30
- .loader-small,
31
- .loader-small::before,
32
- .loader-small::after {
33
- width: calc(var(--loading-size-small) / 2);
34
- height: calc(var(--loading-size-small) / 2);
35
- }
36
-
37
- /* LARGE */
38
- .loader-large,
39
- .loader-large::before,
40
- .loader-large::after {
41
- width: calc(var(--loading-size-large) / 2);
42
- height: calc(var(--loading-size-large) / 2);
43
- border-radius: var(--fluid-8);
44
- }
45
-
46
- .loader::before,
47
- .loader::after {
48
- content: "";
49
- display: inline-block;
50
- position: absolute;
51
- top: 0;
52
- animation: blink 1s infinite;
53
- }
54
-
55
- .loader::before {
56
- left: calc(-1 * var(--loading-size));
57
- animation-delay: 0s;
58
- }
59
-
60
- .loader::after {
61
- left: var(--loading-size);
62
- animation-delay: 500ms;
63
- }
64
-
65
- /* SMALL */
66
- .loader-small::before {
67
- left: calc(-1 * var(--loading-size-small));
68
- }
69
-
70
- .loader-small::after {
71
- left: var(--loading-size-small);
72
- }
73
-
74
- /* LARGE */
75
- .loader-large::before {
76
- left: calc(-1 * var(--loading-size-large));
77
- animation-delay: 0s;
78
- }
79
-
80
- .loader-large::after {
81
- left: var(--loading-size-large);
82
- }
83
-
84
- /**
85
- * Setting aria-busy to true results in corresponding opacity change to visually show spinner.
86
- */
87
- .loader[aria-busy="true"] {
88
- opacity: 100%;
89
- }
90
-
91
- @keyframes blink {
92
- 50% {
93
- background-color: transparent;
94
- }
95
- }
96
-
97
- @media (prefers-reduced-motion), (update: slow) {
98
- .loader,
99
- .loader::before,
100
- .loader::after {
101
- transition-duration: 0.001ms !important;
102
- }
103
- }
104
-
105
- </style>
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(" ");
112
- </script>
113
-
114
- <div class={loaderClasses} role="status" aria-live="polite" aria-busy="true">
115
- <span class="screenreader-only">{ariaLabel}</span>
116
- </div>
@@ -1,22 +0,0 @@
1
- interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
2
- new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
3
- $$bindings?: Bindings;
4
- } & Exports;
5
- (internal: unknown, props: Props & {
6
- $$events?: Events;
7
- $$slots?: Slots;
8
- }): Exports & {
9
- $set?: any;
10
- $on?: any;
11
- };
12
- z_$$bindings?: Bindings;
13
- }
14
- declare const Loader: $$__sveltets_2_IsomorphicComponent<{
15
- ariaLabel?: string;
16
- size?: "small" | "large" | "";
17
- loaderClasses?: string;
18
- }, {
19
- [evt: string]: CustomEvent<any>;
20
- }, {}, {}, string>;
21
- type Loader = InstanceType<typeof Loader>;
22
- export default Loader;
@@ -1,37 +0,0 @@
1
- .fade-in {
2
- animation: fade-in var(--functional-timing-fast) both;
3
- }
4
-
5
- .slide-up {
6
- animation: slide-up var(--functional-timing-slow) var(--functional-timing-fast)
7
- both;
8
- }
9
-
10
- /**
11
- * Cannot use two separate CSS classes with animation: foo, bar
12
- * as the later class will overwrite the first (so this combines)
13
- */
14
- .slide-up-fade-in {
15
- animation: fade-in var(--functional-timing-fast) both,
16
- slide-up var(--functional-timing-slow) var(--functional-timing-fast) both;
17
- }
18
-
19
- @keyframes fade-in {
20
- from {
21
- opacity: 0%;
22
- }
23
- }
24
-
25
- @keyframes slide-up {
26
- from {
27
- transform: translateY(10%);
28
- }
29
- }
30
-
31
- @media (prefers-reduced-motion), (update: slow) {
32
- .slide-up-fade-in,
33
- .fade-in,
34
- .slide-up {
35
- transition-duration: 0.001ms !important;
36
- }
37
- }
@@ -1,9 +0,0 @@
1
- <script lang="ts">
2
- export let description: string;
3
- export let css: string = "";
4
- </script>
5
-
6
- <div class={css}>
7
- <p>{description}</p>
8
- <slot name="readMore"></slot>
9
- </div>
@@ -1,23 +0,0 @@
1
- interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
2
- new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
3
- $$bindings?: Bindings;
4
- } & Exports;
5
- (internal: unknown, props: Props & {
6
- $$events?: Events;
7
- $$slots?: Slots;
8
- }): Exports & {
9
- $set?: any;
10
- $on?: any;
11
- };
12
- z_$$bindings?: Bindings;
13
- }
14
- declare const BlogDescription: $$__sveltets_2_IsomorphicComponent<{
15
- description: string;
16
- css?: string;
17
- }, {
18
- [evt: string]: CustomEvent<any>;
19
- }, {
20
- readMore: {};
21
- }, {}, string>;
22
- type BlogDescription = InstanceType<typeof BlogDescription>;
23
- export default BlogDescription;
@@ -1,13 +0,0 @@
1
- export interface BlogPost {
2
- slug: string;
3
- title: string;
4
- author: string;
5
- description: string;
6
- date: string;
7
- published: boolean;
8
- }
9
- export interface MdsvexFile {
10
- default: import('svelte/internal').SvelteComponent;
11
- metadata: Record<string, string>;
12
- }
13
- export type MdsvexResolver = () => Promise<MdsvexFile>;
@@ -1 +0,0 @@
1
- export {};
@@ -1,19 +0,0 @@
1
- <script lang="ts">
2
- export let slug = '';
3
- export let path: string = '';
4
- export let title: string;
5
- export let css: string = "";
6
-
7
- const href = `${path}/${slug}`;
8
- const isLink = slug != '';
9
- </script>
10
-
11
- <h1 class={css}>
12
- {#if isLink}
13
- <a {href}>
14
- {title}
15
- </a>
16
- {:else}
17
- {title}
18
- {/if}
19
- </h1>
@@ -1,23 +0,0 @@
1
- interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
2
- new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
3
- $$bindings?: Bindings;
4
- } & Exports;
5
- (internal: unknown, props: Props & {
6
- $$events?: Events;
7
- $$slots?: Slots;
8
- }): Exports & {
9
- $set?: any;
10
- $on?: any;
11
- };
12
- z_$$bindings?: Bindings;
13
- }
14
- declare const BlogTitle: $$__sveltets_2_IsomorphicComponent<{
15
- slug?: string;
16
- path?: string;
17
- title: string;
18
- css?: string;
19
- }, {
20
- [evt: string]: CustomEvent<any>;
21
- }, {}, {}, string>;
22
- type BlogTitle = InstanceType<typeof BlogTitle>;
23
- export default BlogTitle;
@@ -1,8 +0,0 @@
1
- import type { BlogPost } from "./BlogPost.js";
2
- export declare function listAllPosts(page?: number, postCount?: number): Promise<{
3
- posts: BlogPost[];
4
- }>;
5
- export declare function importPost(loadEvent: any): Promise<{
6
- component: any;
7
- frontmatter: Record<string, string>;
8
- }>;
@@ -1,29 +0,0 @@
1
- const MAX_POSTS = 25;
2
- const slugFromPath = (path) => path.match(/([\w-]+)\.(svelte\.md|md|svx)/i)?.[1] ?? null;
3
- export async function listAllPosts(page = 0, postCount = MAX_POSTS) {
4
- const modules = import.meta.glob(`/src/posts/*.{md,svx,svelte.md}`);
5
- const postPromises = Object.entries(modules).map(([path, resolver]) => resolver().then((post) => ({
6
- slug: slugFromPath(path),
7
- ...post.metadata
8
- })));
9
- const posts = await Promise.all(postPromises);
10
- const publishedPosts = posts.filter((post) => post.published).slice(page, postCount);
11
- publishedPosts.sort((a, b) => (new Date(a.date) > new Date(b.date) ? -1 : 1));
12
- return { posts: publishedPosts };
13
- }
14
- export async function importPost(loadEvent) {
15
- const modules = import.meta.glob(`/src/posts/*.{md,svx,svelte.md}`);
16
- let match = {};
17
- for (const [path, resolver] of Object.entries(modules)) {
18
- if (slugFromPath(path) === loadEvent.params.slug) {
19
- match = { path, resolver: resolver };
20
- break;
21
- }
22
- }
23
- const post = await match?.resolver?.();
24
- return {
25
- component: post.default,
26
- frontmatter: post.metadata
27
- };
28
- }
29
- ;
@@ -1,3 +0,0 @@
1
- import { HeaderNavigationItem } from "../menu/Menu.js";
2
- import type { ShowItem } from "../presentation/ShowItem.js";
3
- export declare function convertShowItemsToNavigationItems(showItems: Array<ShowItem>): Array<HeaderNavigationItem>;
@@ -1,10 +0,0 @@
1
- import { HeaderNavigationItem, Visiblity } from "../menu/Menu.js";
2
- export function convertShowItemsToNavigationItems(showItems) {
3
- const navItems = showItems
4
- .map((item) => ({
5
- name: item?.title,
6
- path: item?.path,
7
- visiblity: Visiblity.Always,
8
- }));
9
- return navItems;
10
- }
@@ -1,59 +0,0 @@
1
- <!-- <script lang='ts'>
2
- import { DatePicker } from 'date-picker-svelte';
3
-
4
- export let label = '';
5
- export let id = '';
6
- export let labelCss = '';
7
- export let isLabelHidden = false;
8
- export let helpText = '';
9
- export let invalidText = '';
10
- export let hasLeftAddon = false;
11
- export let hasRightAddon = false;
12
- export let isInvalid = false;
13
- export let isInline = false;
14
- export let isRounded = false;
15
- export let isDisabled = undefined;
16
- export let css = '';
17
- export let isSkinned = true;
18
- export let isUnderlinedWithBackground = false;
19
- export let isUnderlined = false;
20
- export let size: 'small' | 'large' | '' = '';
21
-
22
-
23
- export let value?: Date | null = new Date();
24
- export let timePrecision?: "minute" | "second" | "millisecond" | null;
25
- export let min?: Date;
26
- export let max?: Date;
27
- export let locale?: Locale;
28
- export let browseWithoutSelecting?: boolean;
29
-
30
-
31
- $: labelClasses = [
32
- "label",
33
- isInvalid ? "label-error" : "",
34
- isInline ? "label-inline" : "",
35
- size ? `label-${size}` : "",
36
- isLabelHidden ? "screenreader-only" : "",
37
- labelCss ? labelCss : "",
38
- ].filter(c => c).join(" ");
39
-
40
- $: inputClasses = [
41
- isSkinned ? "input" : "input-base",
42
- isRounded ? "input-rounded" : "",
43
- isUnderlined ? "input-underlined" : "",
44
- hasLeftAddon ? "input-has-left-addon" : "",
45
- hasRightAddon ? "input-has-right-addon" : "",
46
- isDisabled ? "disabled" : "",
47
- isInvalid ? "input-error" : "",
48
- isInline ? "input-inline" : "",
49
- isUnderlinedWithBackground ? "input-underlined-bg" : "",
50
- css ? css : "",
51
- size ? `input-${size}` : "",
52
- ].filter(c => c).join(" ");
53
-
54
- </script>
55
-
56
- <div class="w-100">
57
- <label class={labelClasses} for={id}>{label}</label>
58
- <DatePicker />
59
- </div> -->
@@ -1,18 +0,0 @@
1
- interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
2
- new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
3
- $$bindings?: Bindings;
4
- } & Exports;
5
- (internal: unknown, props: {
6
- $$events?: Events;
7
- $$slots?: Slots;
8
- }): Exports & {
9
- $set?: any;
10
- $on?: any;
11
- };
12
- z_$$bindings?: Bindings;
13
- }
14
- declare const DateTimePicker: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
15
- [evt: string]: CustomEvent<any>;
16
- }, {}, {}, string>;
17
- type DateTimePicker = InstanceType<typeof DateTimePicker>;
18
- export default DateTimePicker;
@@ -1,42 +0,0 @@
1
- <script lang="ts">
2
- export let css = '';
3
- export let addonLeft = false;
4
- export let addonRight = false;
5
- $: klasses = [
6
- addonLeft ? 'input-addon-left' : '',
7
- addonRight ? 'input-addon-right' : '',
8
- css ? `${css}` : ''
9
- ]
10
- .filter((c) => c)
11
- .join(' ');
12
- </script>
13
-
14
- <div class={klasses}>
15
- <slot />
16
- </div>
17
-
18
- <style>
19
- /*
20
- * Input addons e.g. icons inside the input
21
- */
22
- .input-addon-right,
23
- .input-addon-left {
24
- display: flex;
25
- align-items: center;
26
- justify-content: center;
27
- position: absolute;
28
- top: 0;
29
-
30
- /* This allows an icon to sit in the vertical center regardless
31
- of if we've applied input-large or input-small */
32
- min-height: 100%;
33
- }
34
-
35
- .input-addon-left {
36
- left: var(--functional-input-side-padding);
37
- }
38
-
39
- .input-addon-right {
40
- right: var(--functional-input-side-padding);
41
- }
42
- </style>
@@ -1,31 +0,0 @@
1
- interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
2
- new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
3
- $$bindings?: Bindings;
4
- } & Exports;
5
- (internal: unknown, props: Props & {
6
- $$events?: Events;
7
- $$slots?: Slots;
8
- }): Exports & {
9
- $set?: any;
10
- $on?: any;
11
- };
12
- z_$$bindings?: Bindings;
13
- }
14
- type $$__sveltets_2_PropsWithChildren<Props, Slots> = Props & (Slots extends {
15
- default: any;
16
- } ? Props extends Record<string, never> ? any : {
17
- children?: any;
18
- } : {});
19
- declare const InputAddonItem: $$__sveltets_2_IsomorphicComponent<$$__sveltets_2_PropsWithChildren<{
20
- css?: string;
21
- addonLeft?: boolean;
22
- addonRight?: boolean;
23
- }, {
24
- default: {};
25
- }>, {
26
- [evt: string]: CustomEvent<any>;
27
- }, {
28
- default: {};
29
- }, {}, string>;
30
- type InputAddonItem = InstanceType<typeof InputAddonItem>;
31
- export default InputAddonItem;
@@ -1,9 +0,0 @@
1
- export declare enum Types {
2
- Text = "",
3
- TeaxtArea = "textarea",
4
- Email = "type=\"email\"",
5
- Password = "type=\"password\"",
6
- Search = "type=\"search\"",
7
- EmaTelephoneil = "type=\"tel\"",
8
- Number = "type=\"number\""
9
- }
@@ -1,10 +0,0 @@
1
- export var Types;
2
- (function (Types) {
3
- Types["Text"] = "";
4
- Types["TeaxtArea"] = "textarea";
5
- Types["Email"] = "type=\"email\"";
6
- Types["Password"] = "type=\"password\"";
7
- Types["Search"] = "type=\"search\"";
8
- Types["EmaTelephoneil"] = "type=\"tel\"";
9
- Types["Number"] = "type=\"number\"";
10
- })(Types || (Types = {}));
@@ -1,157 +0,0 @@
1
- <style>
2
- .select,
3
- .select-base {
4
- display: block;
5
- width: 100%;
6
- /* stylelint-disable-next-line property-no-vendor-prefix */
7
- -webkit-appearance: none;
8
- /* stylelint-disable-next-line property-no-vendor-prefix */
9
- -moz-appearance: none;
10
- appearance: none;
11
- }
12
-
13
- .select,
14
- .select-skin {
15
- padding: var(--fluid-6) var(--fluid-32) var(--fluid-6) var(--fluid-12);
16
- -moz-padding-start: calc(var(--fluid-12) - 3px);
17
- font-size: var(--fluid-16);
18
- font-weight: 400;
19
- line-height: 1.5;
20
- color: var(--functional-dark);
21
- border: 1px solid var(--functional-select-border-color, var(--functional-gray-light));
22
- border-radius: var(--functional-radius);
23
- transition:
24
- border-color var(--functional-timing-fast) ease-in-out,
25
- box-shadow var(--functional-timing-fast) ease-in-out;
26
- }
27
-
28
- /* Only shows the down arrow SVG if in single mode */
29
- .select:not([multiple]) {
30
- background-color: inherit;
31
- background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23333330' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
32
- background-repeat: no-repeat;
33
- background-position: right var(--fluid-12) center;
34
- background-size: var(--fluid-16) var(--fluid-12);
35
- }
36
-
37
- .select:focus {
38
- border-color: var(--functional-focus-ring-color);
39
- box-shadow: 0 0 0 var(--functional-focus-ring-outline-width) var(--functional-focus-ring-color);
40
-
41
- /* Needed for High Contrast mode */
42
- outline:
43
- var(--functional-focus-ring-outline-width) var(--functional-focus-ring-outline-style)
44
- var(--functional-focus-ring-outline-color);
45
- transition: box-shadow var(--functional-timing-fast) ease-out;
46
- }
47
-
48
- .select-base,
49
- .select:disabled {
50
- background-color: var(--functional-disabled-bg);
51
- }
52
-
53
- .select-base,
54
- .select:-moz-focusring {
55
- color: transparent;
56
- text-shadow: 0 0 0 var(--functional-dark);
57
- }
58
-
59
- @media (prefers-reduced-motion), (update: slow) {
60
- .select,
61
- .select-base,
62
- .select:focus {
63
- transition: none;
64
- }
65
- }
66
-
67
- .select-small {
68
- padding-top: var(--fluid-4);
69
- padding-bottom: var(--fluid-4);
70
- padding-left: var(--fluid-8);
71
- font-size: var(--fluid-14);
72
- }
73
-
74
- .select-large {
75
- padding-top: var(--fluid-8);
76
- padding-bottom: var(--fluid-8);
77
- padding-left: var(--fluid-16);
78
- font-size: var(--fluid-18);
79
- }
80
-
81
- </style>
82
-
83
- <script lang="ts">
84
- import { createEventDispatcher } from "svelte";
85
-
86
- export let uniqueId = "";
87
- export let name = "";
88
- export let labelCopy = "";
89
- export let options = [];
90
- export let size: "small" | "large" | "" = "";
91
- export let multipleSize = 1;
92
- export let isMultiple = false;
93
- export let defaultOptionLabel = "Please select an option";
94
- export let isDisabled = false;
95
- export let isSkinned = true;
96
- export let css = "";
97
-
98
- // singleSelected can be used for two-way bindings
99
- export let singleSelected = "";
100
-
101
- // If we don't make it seems Svelte gets confused:
102
- // https://github.com/sveltejs/svelte/issues/5644
103
- // And so we cannot share singleSelected above :(
104
- export let multiSelected = [];
105
-
106
- const dispatch = createEventDispatcher();
107
- // This will emit an event object that has a event.detail prop
108
- // This will contain the value of the selected option value. See
109
- // https://svelte.dev/docs#createEventDispatcher
110
- const changeHandler = () => {
111
- dispatch("selected", isMultiple ? multiSelected : singleSelected);
112
- };
113
-
114
- $: disable = isDisabled;
115
- $: classes = [
116
- isSkinned ? "select" : "select-base",
117
- size ? `select-${size}` : "",
118
- css ? `${css}` : "",
119
- ]
120
- .filter((cl) => cl)
121
- .join(" ");
122
-
123
- </script>
124
-
125
- <label class="screenreader-only" for={uniqueId}> {labelCopy} </label>
126
- {#if isMultiple}
127
- <select
128
- id={uniqueId}
129
- class={classes}
130
- name={name}
131
- disabled={disable}
132
- multiple
133
- size={multipleSize}
134
- bind:value={multiSelected}
135
- on:change={changeHandler}
136
- >
137
- {#each options as { value, label }}
138
- <option value={value}>{label}</option>
139
- {/each}
140
- </select>
141
- {:else}
142
- <select
143
- id={uniqueId}
144
- class={classes}
145
- name={name}
146
- disabled={disable}
147
- bind:value={singleSelected}
148
- on:change={changeHandler}
149
- >
150
- <option value="" disabled selected>
151
- {defaultOptionLabel}
152
- </option>
153
- {#each options as { value, label }}
154
- <option value={value}>{label}</option>
155
- {/each}
156
- </select>
157
- {/if}