@hyvor/design 0.0.66 → 0.0.68

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/dist/components/ActionList/ActionList.svelte +2 -7
  2. package/dist/components/ActionList/ActionListGroup.svelte +24 -29
  3. package/dist/components/ActionList/ActionListItem.svelte +86 -88
  4. package/dist/components/ActionList/Selected.svelte +17 -20
  5. package/dist/components/Avatar/Avatar.svelte +7 -11
  6. package/dist/components/Avatar/AvatarStack.svelte +16 -20
  7. package/dist/components/Base/Base.svelte +3 -3
  8. package/dist/components/Box/Box.svelte +8 -8
  9. package/dist/components/Button/Button.svelte +33 -42
  10. package/dist/components/Button/ButtonGroup.svelte +6 -6
  11. package/dist/components/Callout/Callout.svelte +88 -86
  12. package/dist/components/Callout/Callout.svelte.d.ts +1 -0
  13. package/dist/components/Checkbox/Checkbox.svelte +113 -121
  14. package/dist/components/CodeBlock/CodeBlock.svelte +26 -23
  15. package/dist/components/CodeBlock/getCode.js +6 -6
  16. package/dist/components/CodeBlock/hljs.scss +189 -191
  17. package/dist/components/CodeBlock/prism.scss +370 -7
  18. package/dist/components/ColorPicker/ColorPicker.svelte +42 -42
  19. package/dist/components/Dark/DarkProvider.svelte +9 -9
  20. package/dist/components/Dark/DarkToggle.svelte +7 -10
  21. package/dist/components/Divider/Divider.svelte +6 -7
  22. package/dist/components/Dropdown/Dropdown.svelte +33 -108
  23. package/dist/components/Dropdown/DropdownContent.svelte +120 -0
  24. package/dist/components/Dropdown/DropdownContent.svelte.d.ts +24 -0
  25. package/dist/components/FormControl/Caption.svelte +9 -9
  26. package/dist/components/FormControl/FormControl.svelte +18 -18
  27. package/dist/components/FormControl/InputGroup.svelte +7 -8
  28. package/dist/components/FormControl/Label.svelte +5 -5
  29. package/dist/components/FormControl/Validation.svelte +18 -16
  30. package/dist/components/FormControl/Validation.svelte.d.ts +1 -1
  31. package/dist/components/HyvorBar/BarProducts.svelte +52 -0
  32. package/dist/components/HyvorBar/BarProducts.svelte.d.ts +39 -0
  33. package/dist/components/HyvorBar/BarSupport.svelte +119 -0
  34. package/dist/components/HyvorBar/BarSupport.svelte.d.ts +19 -0
  35. package/dist/components/HyvorBar/BarUpdates.svelte +58 -0
  36. package/dist/components/HyvorBar/BarUpdates.svelte.d.ts +18 -0
  37. package/dist/components/HyvorBar/BarUpdatesList.svelte +134 -0
  38. package/dist/components/HyvorBar/BarUpdatesList.svelte.d.ts +18 -0
  39. package/dist/components/HyvorBar/BarUser.svelte +60 -0
  40. package/dist/components/HyvorBar/BarUser.svelte.d.ts +16 -0
  41. package/dist/components/HyvorBar/BarUserPreview.svelte +42 -0
  42. package/dist/components/HyvorBar/BarUserPreview.svelte.d.ts +14 -0
  43. package/dist/components/HyvorBar/HyvorBar.svelte +150 -0
  44. package/dist/components/HyvorBar/HyvorBar.svelte.d.ts +19 -0
  45. package/dist/components/HyvorBar/bar.d.ts +33 -0
  46. package/dist/components/HyvorBar/bar.js +74 -0
  47. package/dist/components/HyvorBar/img/G2.svelte +9 -0
  48. package/dist/components/HyvorBar/img/G2.svelte.d.ts +23 -0
  49. package/dist/components/HyvorBar/img/Trustpilot.svelte +11 -0
  50. package/dist/components/HyvorBar/img/Trustpilot.svelte.d.ts +23 -0
  51. package/dist/components/IconButton/IconButton.svelte +19 -23
  52. package/dist/components/IconMessage/IconMessage.svelte +84 -47
  53. package/dist/components/IconMessage/IconMessage.svelte.d.ts +9 -1
  54. package/dist/components/Internationalization/InternationalizationProvider.svelte +2 -2
  55. package/dist/components/Internationalization/InternationalizationProvider.svelte.d.ts +1 -1
  56. package/dist/components/Internationalization/LanguageToggle.svelte +33 -36
  57. package/dist/components/Internationalization/LanguageToggle.svelte.d.ts +2 -2
  58. package/dist/components/Internationalization/T.svelte.d.ts +3 -3
  59. package/dist/components/Internationalization/i18n.d.ts +4 -4
  60. package/dist/components/Internationalization/i18n.js +13 -11
  61. package/dist/components/Internationalization/t.d.ts +3 -3
  62. package/dist/components/Internationalization/t.js +4 -4
  63. package/dist/components/Internationalization/types.d.ts +1 -1
  64. package/dist/components/Link/Link.svelte +53 -58
  65. package/dist/components/Loader/LoadButton.svelte +15 -29
  66. package/dist/components/Loader/Loader.svelte +56 -69
  67. package/dist/components/Modal/ConfirmModalProvider.svelte +18 -36
  68. package/dist/components/Modal/Modal.svelte +134 -164
  69. package/dist/components/Modal/ModalFooter.svelte +23 -26
  70. package/dist/components/Modal/confirm.d.ts +1 -1
  71. package/dist/components/Modal/confirm.js +4 -4
  72. package/dist/components/Modal/modal-types.d.ts +2 -2
  73. package/dist/components/NavLink/NavLink.svelte +78 -86
  74. package/dist/components/Radio/Radio.svelte +23 -31
  75. package/dist/components/Slider/Slider.svelte +71 -80
  76. package/dist/components/Slider/Slider.svelte.d.ts +0 -1
  77. package/dist/components/SplitControl/SplitControl.svelte +28 -42
  78. package/dist/components/Switch/Switch.svelte +60 -65
  79. package/dist/components/TabNav/TabNav.svelte +6 -10
  80. package/dist/components/TabNav/TabNavItem.svelte +36 -43
  81. package/dist/components/Table/Table.svelte +7 -4
  82. package/dist/components/Table/TableRow.svelte +23 -23
  83. package/dist/components/Tag/Tag.svelte +28 -36
  84. package/dist/components/Text/Text.svelte +15 -22
  85. package/dist/components/TextInput/TextInput.svelte +26 -26
  86. package/dist/components/Textarea/Textarea.svelte +42 -50
  87. package/dist/components/Textarea/Textarea.svelte.d.ts +1 -1
  88. package/dist/components/Toast/ToastIcon.svelte +29 -31
  89. package/dist/components/Toast/ToastMessage.svelte +33 -39
  90. package/dist/components/Toast/ToastProvider.svelte +16 -16
  91. package/dist/components/Toast/cleaner.js +5 -5
  92. package/dist/components/Toast/toast.d.ts +2 -2
  93. package/dist/components/Toast/toast.js +10 -10
  94. package/dist/components/Tooltip/Tooltip.svelte +82 -83
  95. package/dist/components/directives/clickOutside.js +4 -4
  96. package/dist/components/directives/debounce.d.ts +1 -0
  97. package/dist/components/directives/debounce.js +8 -0
  98. package/dist/components/index.d.ts +1 -0
  99. package/dist/components/index.js +1 -0
  100. package/dist/index.css +31 -33
  101. package/dist/marketing/Container/Container.svelte +8 -8
  102. package/dist/marketing/Docs/Content/Content.svelte +8 -7
  103. package/dist/marketing/Docs/Content/DocsImage.svelte +52 -62
  104. package/dist/marketing/Docs/Docs.svelte +21 -24
  105. package/dist/marketing/Docs/Nav/Nav.svelte +21 -22
  106. package/dist/marketing/Docs/Nav/NavCategory.svelte +28 -28
  107. package/dist/marketing/Docs/Nav/NavItem.svelte +21 -24
  108. package/dist/marketing/Docs/Sidebar/Sidebar.svelte +22 -25
  109. package/dist/marketing/Docs/Toc.svelte +17 -19
  110. package/dist/marketing/Document/Document.svelte +59 -0
  111. package/dist/marketing/Document/Document.svelte.d.ts +19 -0
  112. package/dist/marketing/Document/DocumentTitle.svelte +63 -0
  113. package/dist/marketing/Document/DocumentTitle.svelte.d.ts +20 -0
  114. package/dist/marketing/Footer/Footer.svelte +111 -119
  115. package/dist/marketing/Footer/FooterLinkList.svelte +24 -26
  116. package/dist/marketing/Header/Header.svelte +7 -15
  117. package/dist/marketing/Logo/LogoBlogs.svelte +41 -0
  118. package/dist/marketing/Logo/LogoBlogs.svelte.d.ts +16 -0
  119. package/dist/marketing/Logo/LogoCore.svelte +41 -0
  120. package/dist/marketing/Logo/LogoCore.svelte.d.ts +16 -0
  121. package/dist/marketing/Logo/LogoFortguard.svelte +49 -0
  122. package/dist/marketing/Logo/LogoFortguard.svelte.d.ts +16 -0
  123. package/dist/marketing/Logo/LogoTalk.svelte +27 -0
  124. package/dist/marketing/Logo/LogoTalk.svelte.d.ts +16 -0
  125. package/dist/marketing/index.d.ts +1 -0
  126. package/dist/marketing/index.js +1 -0
  127. package/dist/stores/dark.js +8 -8
  128. package/dist/variables.scss +41 -48
  129. package/package.json +59 -58
@@ -13,16 +13,12 @@ onMount(() => {
13
13
  });
14
14
  </script>
15
15
 
16
- <div
17
- class="tab-nav"
18
- {...$$restProps}
19
- >
20
- <slot />
16
+ <div class="tab-nav" {...$$restProps}>
17
+ <slot />
21
18
  </div>
22
19
 
23
-
24
20
  <style>
25
- div {
26
- display: flex;
27
- }
28
- </style>
21
+ div {
22
+ display: flex;
23
+ }
24
+ </style>
@@ -9,49 +9,42 @@ function handleClick() {
9
9
  }
10
10
  </script>
11
11
 
12
- <button
13
- class="tab"
14
- class:active={isActive}
15
- on:click={handleClick}
16
- {...$$restProps}
17
-
18
- on:click
19
- >
20
- {#if $$slots.start}
21
- <span class="start">
22
- <slot name="start" />
23
- </span>
24
- {/if}
25
- <slot />
26
- {#if $$slots.end}
27
- <span class="end">
28
- <slot name="end" />
29
- </span>
30
- {/if}
12
+ <button class="tab" class:active={isActive} on:click={handleClick} {...$$restProps} on:click>
13
+ {#if $$slots.start}
14
+ <span class="start">
15
+ <slot name="start" />
16
+ </span>
17
+ {/if}
18
+ <slot />
19
+ {#if $$slots.end}
20
+ <span class="end">
21
+ <slot name="end" />
22
+ </span>
23
+ {/if}
31
24
  </button>
32
25
 
33
26
  <style>
34
- .tab {
35
- position: relative;
36
- padding: 10px 15px;
37
- border-bottom: 3px solid #f1f1f1;
38
- cursor: pointer;
39
- font-weight: 600;
40
- display: flex;
41
- align-items: center;
42
- }
43
- .tab.active {
44
- border-bottom-color: var(--accent);
45
- color: var(--accent);
46
- }
47
- .start {
48
- display: inline-flex;
49
- margin-right: 7px;
50
- align-items: center;
51
- }
52
- .end {
53
- display: inline-flex;
54
- margin-left: 4px;
55
- align-items: center;
56
- }
57
- </style>
27
+ .tab {
28
+ position: relative;
29
+ padding: 10px 15px;
30
+ border-bottom: 3px solid #f1f1f1;
31
+ cursor: pointer;
32
+ font-weight: 600;
33
+ display: flex;
34
+ align-items: center;
35
+ }
36
+ .tab.active {
37
+ border-bottom-color: var(--accent);
38
+ color: var(--accent);
39
+ }
40
+ .start {
41
+ display: inline-flex;
42
+ margin-right: 7px;
43
+ align-items: center;
44
+ }
45
+ .end {
46
+ display: inline-flex;
47
+ margin-left: 4px;
48
+ align-items: center;
49
+ }
50
+ </style>
@@ -3,9 +3,12 @@ export let hover = false;
3
3
  const hoverCss = hover ? "--local-hover-color: var(--hover);" : "";
4
4
  </script>
5
5
 
6
- <div class="table" style="
6
+ <div
7
+ class="table"
8
+ style="
7
9
  --local-columns: {columns};
8
10
  {hoverCss}
9
- ">
10
- <slot />
11
- </div>
11
+ "
12
+ >
13
+ <slot />
14
+ </div>
@@ -1,28 +1,28 @@
1
1
  <script>export let head = false;
2
2
  </script>
3
3
 
4
+ <div class:head {...$$props}>
5
+ <slot />
6
+ </div>
7
+
4
8
  <style>
5
- div {
6
- display: grid;
7
- padding: 8px 18px;
8
- border-radius: 20px;
9
- align-items: flex-start;
10
- grid-template-columns: var(--local-columns);
11
- }
12
- div.head {
13
- font-weight: 600;
14
- background: var(--accent-lightest);
15
- margin-bottom: 5px;
16
- }
17
- div:hover:not(.head) {
18
- background-color: var(--local-hover-color);
19
- }
20
- div > :global(*) {
21
- padding-right: 5px;
22
- word-wrap: break-word;
23
- }
9
+ div {
10
+ display: grid;
11
+ padding: 8px 18px;
12
+ border-radius: 20px;
13
+ align-items: flex-start;
14
+ grid-template-columns: var(--local-columns);
15
+ }
16
+ div.head {
17
+ font-weight: 600;
18
+ background: var(--accent-lightest);
19
+ margin-bottom: 5px;
20
+ }
21
+ div:hover:not(.head) {
22
+ background-color: var(--local-hover-color);
23
+ }
24
+ div > :global(*) {
25
+ padding-right: 5px;
26
+ word-wrap: break-word;
27
+ }
24
28
  </style>
25
-
26
- <div class:head={head} {...$$props}>
27
- <slot />
28
- </div>
@@ -13,47 +13,39 @@ if (outline) {
13
13
  let tabindex = interactive ? 0 : void 0;
14
14
  </script>
15
15
 
16
-
17
16
  <svelte:element
18
- this={as}
19
- role={interactive ? 'button' : undefined}
20
- tabindex={tabindex}
21
- class="button color-{color} style-{styleClass} size-{size}"
22
- class:interactive
23
- class:has-start={$$slots.start}
24
- class:has-end={$$slots.end}
25
- {...$$restProps}
26
-
27
- on:keyup
28
- on:keydown
29
- on:keypress
30
- on:focus
31
- on:blur
32
- on:click
33
- on:mouseover
34
- on:mouseenter
35
- on:mouseleave
36
- on:change
37
-
38
- style:background-color={bg}
39
- style:color={fg}
17
+ this={as}
18
+ role={interactive ? 'button' : undefined}
19
+ {tabindex}
20
+ class="button color-{color} style-{styleClass} size-{size}"
21
+ class:interactive
22
+ class:has-start={$$slots.start}
23
+ class:has-end={$$slots.end}
24
+ {...$$restProps}
25
+ on:keyup
26
+ on:keydown
27
+ on:keypress
28
+ on:focus
29
+ on:blur
30
+ on:click
31
+ on:mouseover
32
+ on:mouseenter
33
+ on:mouseleave
34
+ on:change
35
+ style:background-color={bg}
36
+ style:color={fg}
40
37
  >
38
+ {#if $$slots.start}
39
+ <slot name="start" />
40
+ {/if}
41
41
 
42
- {#if $$slots.start}
43
- <slot name="start" />
44
- {/if}
45
-
46
- <slot />
47
-
48
- {#if $$slots.end}
49
- <slot name="end" />
50
- {/if}
42
+ <slot />
51
43
 
44
+ {#if $$slots.end}
45
+ <slot name="end" />
46
+ {/if}
52
47
  </svelte:element>
53
48
 
54
-
55
-
56
-
57
49
  <style>span {
58
50
  vertical-align: middle;
59
51
  border-radius: 20px;
@@ -183,4 +175,4 @@ span.style-outline-fill.color-orange {
183
175
  opacity: 0.5 !important;
184
176
  cursor: not-allowed;
185
177
  box-shadow: none !important;
186
- }</style>
178
+ }</style>
@@ -4,28 +4,21 @@ export let normal = false;
4
4
  export let bold = false;
5
5
  </script>
6
6
 
7
- <span
8
- class:light
9
- class:small
10
- class:normal
11
- class:bold
12
-
13
- {...$$restProps}
14
- >
15
- <slot />
7
+ <span class:light class:small class:normal class:bold {...$$restProps}>
8
+ <slot />
16
9
  </span>
17
10
 
18
11
  <style>
19
- span.light {
20
- color: var(--text-light);
21
- }
22
- span.small {
23
- font-size: 0.8em;
24
- }
25
- span.normal {
26
- font-weight: 400;
27
- }
28
- span.bold {
29
- font-weight: 600;
30
- }
31
- </style>
12
+ span.light {
13
+ color: var(--text-light);
14
+ }
15
+ span.small {
16
+ font-size: 0.8em;
17
+ }
18
+ span.normal {
19
+ font-weight: 400;
20
+ }
21
+ span.bold {
22
+ font-weight: 600;
23
+ }
24
+ </style>
@@ -6,34 +6,34 @@ export let input = {};
6
6
  </script>
7
7
 
8
8
  <label class="input-wrap state-{state} size-{size}" class:block>
9
- {#if $$slots.start}
10
- <span class="slot start">
11
- <slot name="start" />
12
- </span>
13
- {/if}
9
+ {#if $$slots.start}
10
+ <span class="slot start">
11
+ <slot name="start" />
12
+ </span>
13
+ {/if}
14
14
 
15
- <input
16
- {...$$restProps}
17
- bind:value
18
- bind:this={input}
19
- on:keyup
20
- on:keydown
21
- on:keypress
22
- on:focus
23
- on:blur
24
- on:click
25
- on:mouseover
26
- on:mouseenter
27
- on:mouseleave
28
- on:change
29
- on:input
30
- />
15
+ <input
16
+ {...$$restProps}
17
+ bind:value
18
+ bind:this={input}
19
+ on:keyup
20
+ on:keydown
21
+ on:keypress
22
+ on:focus
23
+ on:blur
24
+ on:click
25
+ on:mouseover
26
+ on:mouseenter
27
+ on:mouseleave
28
+ on:change
29
+ on:input
30
+ />
31
31
 
32
- {#if $$slots.end}
33
- <span class="slot end">
34
- <slot name="end" />
35
- </span>
36
- {/if}
32
+ {#if $$slots.end}
33
+ <span class="slot end">
34
+ <slot name="end" />
35
+ </span>
36
+ {/if}
37
37
  </label>
38
38
 
39
39
  <style>.slot {
@@ -6,56 +6,48 @@ export let state = "default";
6
6
  export let textarea = {};
7
7
  </script>
8
8
 
9
-
10
- <span class="input-wrap state-{state}"
11
- class:block
12
- on:click={() => textarea.focus()}
13
- on:keydown={(e) => {
14
- if (e.key === 'Enter') {
15
- textarea.focus();
16
- }
17
- }}
18
- role="textbox"
19
- tabindex="0"
9
+ <span
10
+ class="input-wrap state-{state}"
11
+ class:block
12
+ on:click={() => textarea.focus()}
13
+ on:keydown={(e) => {
14
+ if (e.key === 'Enter') {
15
+ textarea.focus();
16
+ }
17
+ }}
18
+ role="textbox"
19
+ tabindex="0"
20
20
  >
21
-
22
- {#if $$slots.start}
23
- <span class="slot start"
24
-
25
- >
26
- <slot name="start" />
27
- </span>
28
- {/if}
29
-
30
- <textarea
31
- bind:value={value}
32
- bind:this={textarea}
33
-
34
-
35
- on:keyup
36
- on:keydown
37
- on:keypress
38
- on:focus
39
- on:blur
40
- on:click
41
- on:mouseover
42
- on:mouseenter
43
- on:mouseleave
44
- on:change
45
- on:input
46
-
47
- {rows}
48
- {cols}
49
-
50
- {...$$restProps}
51
-
52
- ></textarea>
53
-
54
- {#if $$slots.end}
55
- <span class="slot end">
56
- <slot name="end" />
57
- </span>
58
- {/if}
21
+ {#if $$slots.start}
22
+ <span class="slot start">
23
+ <slot name="start" />
24
+ </span>
25
+ {/if}
26
+
27
+ <textarea
28
+ bind:value
29
+ bind:this={textarea}
30
+ on:keyup
31
+ on:keydown
32
+ on:keypress
33
+ on:focus
34
+ on:blur
35
+ on:click
36
+ on:mouseover
37
+ on:mouseenter
38
+ on:mouseleave
39
+ on:change
40
+ on:input
41
+ {rows}
42
+ {cols}
43
+ {...$$restProps}
44
+ ></textarea>
45
+
46
+ {#if $$slots.end}
47
+ <span class="slot end">
48
+ <slot name="end" />
49
+ </span>
50
+ {/if}
59
51
  </span>
60
52
 
61
53
  <style>.input-wrap {
@@ -137,4 +129,4 @@ export let textarea = {};
137
129
  }
138
130
  .input-wrap textarea:focus {
139
131
  outline: none;
140
- }</style>
132
+ }</style>
@@ -2,7 +2,7 @@ import { SvelteComponent } from "svelte";
2
2
  declare const __propDef: {
3
3
  props: {
4
4
  [x: string]: any;
5
- value?: string | undefined;
5
+ value?: any;
6
6
  block?: boolean | undefined;
7
7
  rows?: number | undefined;
8
8
  cols?: number | undefined;
@@ -15,38 +15,36 @@ $:
15
15
  }[toast.type] || "inherit";
16
16
  </script>
17
17
 
18
- <span
19
- style:color={color}
20
- >
21
- {#if toast.type === 'success'}
22
- <IconCheckCircleFill />
23
- {:else if toast.type === 'error'}
24
- <IconXCircleFill />
25
- {:else if toast.type === 'warning'}
26
- <IconExclamationCircleFill />
27
- {:else if toast.type === 'info'}
28
- <IconInfoCircleFill />
29
- {:else if toast.type === 'loading'}
30
- <Loader size="small" />
31
- {/if}
18
+ <span style:color>
19
+ {#if toast.type === 'success'}
20
+ <IconCheckCircleFill />
21
+ {:else if toast.type === 'error'}
22
+ <IconXCircleFill />
23
+ {:else if toast.type === 'warning'}
24
+ <IconExclamationCircleFill />
25
+ {:else if toast.type === 'info'}
26
+ <IconInfoCircleFill />
27
+ {:else if toast.type === 'loading'}
28
+ <Loader size="small" />
29
+ {/if}
32
30
  </span>
33
31
 
34
32
  <style>
35
- span {
36
- display: inline-flex;
37
- align-items: center;
38
- justify-content: center;
39
- animation: scale 0.2s ease-in-out;
40
- }
33
+ span {
34
+ display: inline-flex;
35
+ align-items: center;
36
+ justify-content: center;
37
+ animation: scale 0.2s ease-in-out;
38
+ }
41
39
 
42
- @keyframes scale {
43
- 0% {
44
- transform: scale(0.5);
45
- opacity: 0.4;
46
- }
47
- 100% {
48
- transform: scale(1);
49
- opacity: 1;
50
- }
51
- }
52
- </style>
40
+ @keyframes scale {
41
+ 0% {
42
+ transform: scale(0.5);
43
+ opacity: 0.4;
44
+ }
45
+ 100% {
46
+ transform: scale(1);
47
+ opacity: 1;
48
+ }
49
+ }
50
+ </style>
@@ -3,46 +3,40 @@ import { fade } from "svelte/transition";
3
3
  export let toast;
4
4
  </script>
5
5
 
6
- <div
7
- class="toast"
8
- out:fade={{ duration: 200 }}
9
- in:fade={{duration: 50}}
10
- >
11
-
12
- {#if toast.type !== 'blank'}
13
- <div class="icon-wrap">
14
- <ToastIcon {toast} />
15
- </div>
16
- {/if}
17
-
18
- <div class="message-wrap">
19
- {#if typeof toast.message === 'string' || toast.message === null}
20
- {@html toast.message }
21
- {:else}
22
- <svelte:component this={toast.message} {toast} />
23
- {/if}
24
- </div>
6
+ <div class="toast" out:fade={{ duration: 200 }} in:fade={{ duration: 50 }}>
7
+ {#if toast.type !== 'blank'}
8
+ <div class="icon-wrap">
9
+ <ToastIcon {toast} />
10
+ </div>
11
+ {/if}
25
12
 
13
+ <div class="message-wrap">
14
+ {#if typeof toast.message === 'string' || toast.message === null}
15
+ {@html toast.message}
16
+ {:else}
17
+ <svelte:component this={toast.message} {toast} />
18
+ {/if}
19
+ </div>
26
20
  </div>
27
21
 
28
22
  <style>
29
- .toast {
30
- margin-bottom: 10px;
31
- box-shadow: 0 0 10px 2px rgba(0, 0, 0, 0.1);
32
- border-radius: var(--box-radius);
33
- background-color: var(--box-background);
34
- padding: 8px 20px;
35
- display: flex;
36
- align-items: center;
37
- max-width: 350px;
38
- pointer-events: initial;
39
- }
40
- .toast:first-child {
41
- margin-top: 10px;
42
- }
43
- .icon-wrap {
44
- margin-right: 8px;
45
- display: inline-flex;
46
- align-items: center;
47
- }
48
- </style>
23
+ .toast {
24
+ margin-bottom: 10px;
25
+ box-shadow: 0 0 10px 2px rgba(0, 0, 0, 0.1);
26
+ border-radius: var(--box-radius);
27
+ background-color: var(--box-background);
28
+ padding: 8px 20px;
29
+ display: flex;
30
+ align-items: center;
31
+ max-width: 350px;
32
+ pointer-events: initial;
33
+ }
34
+ .toast:first-child {
35
+ margin-top: 10px;
36
+ }
37
+ .icon-wrap {
38
+ margin-right: 8px;
39
+ display: inline-flex;
40
+ align-items: center;
41
+ }
42
+ </style>
@@ -5,22 +5,22 @@ useCleaner();
5
5
  </script>
6
6
 
7
7
  <div id="toasts-wrap">
8
- {#each $toastStore as toast (toast.id)}
9
- <ToastMessage {toast} />
10
- {/each}
8
+ {#each $toastStore as toast (toast.id)}
9
+ <ToastMessage {toast} />
10
+ {/each}
11
11
  </div>
12
12
 
13
13
  <style>
14
- #toasts-wrap {
15
- position: fixed;
16
- top: 0;
17
- left: 0;
18
- width: 100%;
19
- z-index: 20000000;
20
- display: flex;
21
- flex-direction: column;
22
- align-items: center;
23
- justify-content: center;
24
- pointer-events: none;
25
- }
26
- </style>
14
+ #toasts-wrap {
15
+ position: fixed;
16
+ top: 0;
17
+ left: 0;
18
+ width: 100%;
19
+ z-index: 20000000;
20
+ display: flex;
21
+ flex-direction: column;
22
+ align-items: center;
23
+ justify-content: center;
24
+ pointer-events: none;
25
+ }
26
+ </style>