spaper 1.4.0 → 2.0.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 (206) hide show
  1. package/README.md +20 -59
  2. package/dist/components/Alert.svelte +83 -0
  3. package/dist/components/Alert.svelte.d.ts +15 -0
  4. package/dist/components/Article.svelte +63 -0
  5. package/dist/components/Article.svelte.d.ts +17 -0
  6. package/dist/components/Avatar/Avatar.svelte +102 -0
  7. package/dist/components/Avatar/Avatar.svelte.d.ts +16 -0
  8. package/dist/components/Avatar/AvatarGroup.svelte +21 -0
  9. package/dist/components/Avatar/AvatarGroup.svelte.d.ts +9 -0
  10. package/dist/components/Avatar/index.d.ts +2 -0
  11. package/dist/components/Avatar/index.js +2 -0
  12. package/dist/components/Breadcrumb.svelte +33 -0
  13. package/dist/components/Breadcrumb.svelte.d.ts +12 -0
  14. package/dist/components/Button.svelte +174 -0
  15. package/dist/components/Button.svelte.d.ts +33 -0
  16. package/dist/components/Card.svelte +101 -0
  17. package/dist/components/Card.svelte.d.ts +22 -0
  18. package/dist/components/Carousel/Carousel.svelte +204 -0
  19. package/dist/components/Carousel/Carousel.svelte.d.ts +27 -0
  20. package/dist/components/Carousel/CarouselItem.svelte +48 -0
  21. package/dist/components/Carousel/CarouselItem.svelte.d.ts +7 -0
  22. package/{components → dist/components}/Carousel/index.d.ts +1 -0
  23. package/dist/components/Carousel/types.d.ts +22 -0
  24. package/dist/components/CloseButton.svelte +34 -0
  25. package/dist/components/CloseButton.svelte.d.ts +8 -0
  26. package/dist/components/Collapsible.svelte +64 -0
  27. package/dist/components/Collapsible.svelte.d.ts +16 -0
  28. package/dist/components/CopyButton.svelte +54 -0
  29. package/dist/components/CopyButton.svelte.d.ts +13 -0
  30. package/dist/components/Divider.svelte +9 -0
  31. package/dist/components/Divider.svelte.d.ts +6 -0
  32. package/dist/components/Form/Checkbox.svelte +54 -0
  33. package/dist/components/Form/Checkbox.svelte.d.ts +15 -0
  34. package/dist/components/Form/Input.svelte +105 -0
  35. package/dist/components/Form/Input.svelte.d.ts +21 -0
  36. package/dist/components/Form/NumberInput/DecrementButton.svelte +14 -0
  37. package/dist/components/Form/NumberInput/DecrementButton.svelte.d.ts +9 -0
  38. package/dist/components/Form/NumberInput/IncrementButton.svelte +14 -0
  39. package/dist/components/Form/NumberInput/IncrementButton.svelte.d.ts +9 -0
  40. package/dist/components/Form/NumberInput/NumberInput.svelte +227 -0
  41. package/dist/components/Form/NumberInput/NumberInput.svelte.d.ts +34 -0
  42. package/dist/components/Form/Radio.svelte +42 -0
  43. package/dist/components/Form/Radio.svelte.d.ts +13 -0
  44. package/dist/components/Form/Select.svelte +61 -0
  45. package/dist/components/Form/Select.svelte.d.ts +12 -0
  46. package/dist/components/Form/Slider.svelte +129 -0
  47. package/dist/components/Form/Slider.svelte.d.ts +22 -0
  48. package/dist/components/Form/Switch.svelte +101 -0
  49. package/dist/components/Form/Switch.svelte.d.ts +22 -0
  50. package/dist/components/Form/index.d.ts +9 -0
  51. package/{components → dist/components}/Form/index.js +1 -2
  52. package/dist/components/Hero.svelte +78 -0
  53. package/dist/components/Hero.svelte.d.ts +17 -0
  54. package/dist/components/Icon.svelte +102 -0
  55. package/dist/components/Icon.svelte.d.ts +27 -0
  56. package/dist/components/Modal/Modal.svelte +120 -0
  57. package/dist/components/Modal/Modal.svelte.d.ts +19 -0
  58. package/dist/components/Modal/index.d.ts +12 -0
  59. package/dist/components/Modal/index.js +30 -0
  60. package/dist/components/Navbar.svelte +98 -0
  61. package/dist/components/Navbar.svelte.d.ts +11 -0
  62. package/dist/components/Pagination/Arrow.svelte +29 -0
  63. package/dist/components/Pagination/Arrow.svelte.d.ts +8 -0
  64. package/dist/components/Pagination/NavigationButton.svelte +33 -0
  65. package/dist/components/Pagination/NavigationButton.svelte.d.ts +13 -0
  66. package/dist/components/Pagination/Pagination.svelte +209 -0
  67. package/dist/components/Pagination/Pagination.svelte.d.ts +32 -0
  68. package/{components → dist/components}/Pagination/arrow-dimension.js +3 -3
  69. package/{components → dist/components}/Pagination/index.d.ts +1 -1
  70. package/dist/components/Popover.svelte +64 -0
  71. package/dist/components/Popover.svelte.d.ts +17 -0
  72. package/dist/components/Progress.svelte +87 -0
  73. package/dist/components/Progress.svelte.d.ts +19 -0
  74. package/dist/components/ScrollTop.svelte +79 -0
  75. package/dist/components/ScrollTop.svelte.d.ts +17 -0
  76. package/dist/components/Skeleton.svelte +104 -0
  77. package/dist/components/Skeleton.svelte.d.ts +21 -0
  78. package/dist/components/Spinner.svelte +59 -0
  79. package/dist/components/Spinner.svelte.d.ts +16 -0
  80. package/dist/components/Table/Table.svelte +292 -0
  81. package/dist/components/Table/Table.svelte.d.ts +25 -0
  82. package/dist/components/Table/TableColumn.svelte +62 -0
  83. package/dist/components/Table/TableColumn.svelte.d.ts +15 -0
  84. package/dist/components/Table/context.d.ts +13 -0
  85. package/dist/components/Table/context.js +1 -0
  86. package/dist/components/Table/index.d.ts +2 -0
  87. package/dist/components/Table/index.js +2 -0
  88. package/dist/components/Tabs/Tab.svelte +90 -0
  89. package/dist/components/Tabs/Tab.svelte.d.ts +14 -0
  90. package/dist/components/Tabs/Tabs.svelte +138 -0
  91. package/dist/components/Tabs/Tabs.svelte.d.ts +13 -0
  92. package/{components → dist/components}/Tabs/utils.d.ts +4 -3
  93. package/dist/components/Tag.svelte +38 -0
  94. package/dist/components/Tag.svelte.d.ts +10 -0
  95. package/dist/components/Toast/Toast.svelte +105 -0
  96. package/dist/components/Toast/Toast.svelte.d.ts +6 -0
  97. package/dist/components/Toast/ToastContainer.svelte +101 -0
  98. package/dist/components/Toast/ToastContainer.svelte.d.ts +8 -0
  99. package/{components → dist/components}/Toast/index.d.ts +19 -5
  100. package/dist/components/Toast/index.js +100 -0
  101. package/dist/icons.d.ts +3 -0
  102. package/dist/icons.js +2 -0
  103. package/dist/index.d.ts +31 -0
  104. package/{index.js → dist/index.js} +10 -5
  105. package/dist/type-icons.d.ts +4 -0
  106. package/dist/type-icons.js +9 -0
  107. package/dist/types.d.ts +29 -0
  108. package/dist/utils.d.ts +16 -0
  109. package/dist/utils.js +44 -0
  110. package/package.json +70 -68
  111. package/components/Alert.svelte +0 -34
  112. package/components/Alert.svelte.d.ts +0 -21
  113. package/components/Article.svelte +0 -39
  114. package/components/Article.svelte.d.ts +0 -26
  115. package/components/Badge.svelte +0 -16
  116. package/components/Badge.svelte.d.ts +0 -20
  117. package/components/Breadcrumb.svelte +0 -17
  118. package/components/Breadcrumb.svelte.d.ts +0 -21
  119. package/components/Button.svelte +0 -41
  120. package/components/Button.svelte.d.ts +0 -30
  121. package/components/Card.svelte +0 -70
  122. package/components/Card.svelte.d.ts +0 -32
  123. package/components/Carousel/Carousel.svelte +0 -128
  124. package/components/Carousel/Carousel.svelte.d.ts +0 -35
  125. package/components/Carousel/CarouselItem.svelte +0 -32
  126. package/components/Carousel/CarouselItem.svelte.d.ts +0 -18
  127. package/components/Carousel/types.d.ts +0 -14
  128. package/components/CloseButton.svelte +0 -23
  129. package/components/CloseButton.svelte.d.ts +0 -19
  130. package/components/Collapsible.svelte +0 -49
  131. package/components/Collapsible.svelte.d.ts +0 -21
  132. package/components/CopyButton.svelte +0 -43
  133. package/components/CopyButton.svelte.d.ts +0 -24
  134. package/components/Form/Checkbox.svelte +0 -37
  135. package/components/Form/Checkbox.svelte.d.ts +0 -26
  136. package/components/Form/Form.svelte +0 -22
  137. package/components/Form/Form.svelte.d.ts +0 -26
  138. package/components/Form/Input.svelte +0 -67
  139. package/components/Form/Input.svelte.d.ts +0 -28
  140. package/components/Form/NumberInput/DecrementButton.svelte +0 -9
  141. package/components/Form/NumberInput/DecrementButton.svelte.d.ts +0 -19
  142. package/components/Form/NumberInput/IncrementButton.svelte +0 -9
  143. package/components/Form/NumberInput/IncrementButton.svelte.d.ts +0 -19
  144. package/components/Form/NumberInput/NumberInput.svelte +0 -129
  145. package/components/Form/NumberInput/NumberInput.svelte.d.ts +0 -36
  146. package/components/Form/Radio.svelte +0 -26
  147. package/components/Form/Radio.svelte.d.ts +0 -25
  148. package/components/Form/Select.svelte +0 -40
  149. package/components/Form/Select.svelte.d.ts +0 -24
  150. package/components/Form/Slider.svelte +0 -124
  151. package/components/Form/Slider.svelte.d.ts +0 -30
  152. package/components/Form/Switch.svelte +0 -71
  153. package/components/Form/index.d.ts +0 -10
  154. package/components/Form/style.scss +0 -4
  155. package/components/Hero.svelte +0 -78
  156. package/components/Hero.svelte.d.ts +0 -26
  157. package/components/Layout/Col.svelte +0 -25
  158. package/components/Layout/Col.svelte.d.ts +0 -27
  159. package/components/Layout/Row.svelte +0 -24
  160. package/components/Layout/Row.svelte.d.ts +0 -26
  161. package/components/Layout/index.d.ts +0 -2
  162. package/components/Layout/index.js +0 -2
  163. package/components/Modal/Modal.svelte +0 -62
  164. package/components/Modal/Modal.svelte.d.ts +0 -28
  165. package/components/Modal/index.d.ts +0 -13
  166. package/components/Modal/index.js +0 -17
  167. package/components/Navbar.svelte +0 -40
  168. package/components/Navbar.svelte.d.ts +0 -22
  169. package/components/Pagination/Arrow.svelte +0 -17
  170. package/components/Pagination/Arrow.svelte.d.ts +0 -19
  171. package/components/Pagination/NavigationButton.svelte +0 -23
  172. package/components/Pagination/NavigationButton.svelte.d.ts +0 -23
  173. package/components/Pagination/Pagination.svelte +0 -137
  174. package/components/Pagination/Pagination.svelte.d.ts +0 -36
  175. package/components/Popover.svelte +0 -62
  176. package/components/Popover.svelte.d.ts +0 -25
  177. package/components/Progress.svelte +0 -39
  178. package/components/Progress.svelte.d.ts +0 -25
  179. package/components/Skeleton.svelte +0 -55
  180. package/components/Skeleton.svelte.d.ts +0 -22
  181. package/components/Table.svelte +0 -73
  182. package/components/Table.svelte.d.ts +0 -24
  183. package/components/Tabs/Tab.svelte +0 -52
  184. package/components/Tabs/Tab.svelte.d.ts +0 -20
  185. package/components/Tabs/Tabs.svelte +0 -90
  186. package/components/Tabs/Tabs.svelte.d.ts +0 -25
  187. package/components/Toast/Toast.svelte +0 -91
  188. package/components/Toast/Toast.svelte.d.ts +0 -26
  189. package/components/Toast/ToastContainer.svelte +0 -37
  190. package/components/Toast/ToastContainer.svelte.d.ts +0 -18
  191. package/components/Toast/index.js +0 -37
  192. package/index.d.ts +0 -23
  193. package/types.d.ts +0 -16
  194. package/utils.d.ts +0 -16
  195. package/utils.js +0 -34
  196. /package/{components → dist/components}/Carousel/index.js +0 -0
  197. /package/{components → dist/components}/Carousel/types.js +0 -0
  198. /package/{components → dist/components}/Form/NumberInput/index.d.ts +0 -0
  199. /package/{components → dist/components}/Form/NumberInput/index.js +0 -0
  200. /package/{components → dist/components}/Pagination/arrow-dimension.d.ts +0 -0
  201. /package/{components → dist/components}/Pagination/index.js +0 -0
  202. /package/{components → dist/components}/Tabs/index.d.ts +0 -0
  203. /package/{components → dist/components}/Tabs/index.js +0 -0
  204. /package/{components → dist/components}/Tabs/utils.js +0 -0
  205. /package/{components → dist/components}/style.scss +0 -0
  206. /package/{types.js → dist/types.js} +0 -0
@@ -1,62 +0,0 @@
1
- <div {...$$restProps}
2
- { ...{[`popover-${position}`]: label} }
3
- class={`${$$restProps.class} ${bgClass(background)}`}
4
- class:inline
5
- class:active={always || active}>
6
- <slot />
7
- </div>
8
-
9
- <script >;
10
- export let label = '';
11
- export let position = 'top';
12
- export let inline = true;
13
- export let background = 'primary';
14
- export let active = false;
15
- export let always = false;
16
- function bgClass(color) {
17
- return `popover-${color}`;
18
- }
19
- </script>
20
-
21
- <style >.inline {
22
- display: inline;
23
- }
24
-
25
- [popover-top].popover-primary::after, [popover-right].popover-primary::after,
26
- [popover-bottom].popover-primary::after, [popover-left].popover-primary::after {
27
- background-color: var(--primary-light);
28
- color: var(--muted-dark);
29
- }
30
-
31
- [popover-top].popover-secondary::after, [popover-right].popover-secondary::after,
32
- [popover-bottom].popover-secondary::after, [popover-left].popover-secondary::after {
33
- background-color: var(--secondary-light);
34
- color: var(--muted-dark);
35
- }
36
-
37
- [popover-top].popover-success::after, [popover-right].popover-success::after,
38
- [popover-bottom].popover-success::after, [popover-left].popover-success::after {
39
- background-color: var(--success-light);
40
- color: var(--muted-dark);
41
- }
42
-
43
- [popover-top].popover-warning::after, [popover-right].popover-warning::after,
44
- [popover-bottom].popover-warning::after, [popover-left].popover-warning::after {
45
- background-color: var(--warning-light);
46
- color: var(--muted-dark);
47
- }
48
-
49
- [popover-top].popover-danger::after, [popover-right].popover-danger::after,
50
- [popover-bottom].popover-danger::after, [popover-left].popover-danger::after {
51
- background-color: var(--danger-light);
52
- color: var(--muted-dark);
53
- }
54
-
55
- [popover-top], [popover-right],
56
- [popover-bottom], [popover-left] {
57
- margin: 0;
58
- }
59
- [popover-top].active::after, [popover-right].active::after,
60
- [popover-bottom].active::after, [popover-left].active::after {
61
- opacity: 1;
62
- }</style>
@@ -1,25 +0,0 @@
1
- import { SvelteComponentTyped } from "svelte";
2
- import type { PaperType, Position } from "../types";
3
- declare const __propDef: {
4
- props: {
5
- [x: string]: any;
6
- label?: string;
7
- position?: Position;
8
- inline?: boolean;
9
- background?: PaperType;
10
- active?: boolean;
11
- always?: boolean;
12
- };
13
- events: {
14
- [evt: string]: CustomEvent<any>;
15
- };
16
- slots: {
17
- default: {};
18
- };
19
- };
20
- export declare type PopoverProps = typeof __propDef.props;
21
- export declare type PopoverEvents = typeof __propDef.events;
22
- export declare type PopoverSlots = typeof __propDef.slots;
23
- export default class Popover extends SvelteComponentTyped<PopoverProps, PopoverEvents, PopoverSlots> {
24
- }
25
- export {};
@@ -1,39 +0,0 @@
1
- <div {...$$restProps}
2
- class={`progress ${$$restProps.class ?? ''}`}
3
- class:margin-bottom={marginBottom}>
4
- <div class={`bar ${type} w-${cappedValue}`}
5
- class:striped class:infinite>
6
- {#if $$slots.default}
7
- <slot />
8
- {:else if showValue}
9
- {cappedValue}%
10
- {/if}
11
- </div>
12
- </div>
13
-
14
- <script >;
15
- export let value = 50;
16
- export let type = 'primary';
17
- export let showValue = false;
18
- export let striped = false;
19
- export let infinite = false;
20
- export let marginBottom = true;
21
- let cappedValue;
22
- $: cappedValue = Math.max(Math.min(+value, 100), 0);
23
- </script>
24
-
25
- <style>
26
- .bar.infinite {
27
- position: relative;
28
- animation: in-progress 3s infinite;
29
- }
30
-
31
- @keyframes in-progress {
32
- from {
33
- right: 100%;
34
- }
35
- to {
36
- right: -100%;
37
- }
38
- }
39
- </style>
@@ -1,25 +0,0 @@
1
- import { SvelteComponentTyped } from "svelte";
2
- import type { PaperType } from "../types";
3
- declare const __propDef: {
4
- props: {
5
- [x: string]: any;
6
- value?: number | string;
7
- type?: PaperType;
8
- showValue?: boolean;
9
- striped?: boolean;
10
- infinite?: boolean;
11
- marginBottom?: boolean;
12
- };
13
- events: {
14
- [evt: string]: CustomEvent<any>;
15
- };
16
- slots: {
17
- default: {};
18
- };
19
- };
20
- export declare type ProgressProps = typeof __propDef.props;
21
- export declare type ProgressEvents = typeof __propDef.events;
22
- export declare type ProgressSlots = typeof __propDef.slots;
23
- export default class Progress extends SvelteComponentTyped<ProgressProps, ProgressEvents, ProgressSlots> {
24
- }
25
- export {};
@@ -1,55 +0,0 @@
1
- {#if active}
2
- {#each { length: count } as _}
3
- {@const borderType = Math.floor(Math.random() * 6 + 1)}
4
- <div {...$$restProps}
5
- aria-hidden="true"
6
- aria-valuetext={ariaValueText}
7
- tabindex="-1"
8
- role="progressbar"
9
- class="{$$restProps.class ?? ''} border border-{borderType} margin-small"
10
- class:animated
11
- class:circle
12
- class:inline>
13
- </div>
14
- {/each}
15
- {/if}
16
-
17
- <script >export let active = true;
18
- export let count = 1;
19
- export let animated = true;
20
- export let circle = false;
21
- export let inline = false;
22
- export let ariaValueText = 'Loading...';
23
- </script>
24
-
25
- <style >:global(.dark) div {
26
- --mid-gradient: var(--primary-dark);
27
- }
28
-
29
- div {
30
- cursor: progress;
31
- border-color: transparent;
32
- width: var(--width, auto);
33
- min-height: 1rem;
34
- height: var(--height, 100%);
35
- background: var(--muted-light-10);
36
- background: linear-gradient(95deg, var(--muted-light-10) 5%, var(--mid-gradient, var(--muted-light)) 20%, var(--muted-light-10) 50%);
37
- background-size: 200% 100%;
38
- }
39
- div.circle {
40
- border-radius: 50%;
41
- }
42
- div.inline {
43
- display: inline-block;
44
- }
45
-
46
- @media (prefers-reduced-motion: no-preference) {
47
- .animated {
48
- animation: loading 2s linear infinite alternate;
49
- }
50
- }
51
- @keyframes loading {
52
- to {
53
- background-position-x: -200%;
54
- }
55
- }</style>
@@ -1,22 +0,0 @@
1
- import { SvelteComponentTyped } from "svelte";
2
- declare const __propDef: {
3
- props: {
4
- [x: string]: any;
5
- active?: boolean;
6
- count?: number;
7
- animated?: boolean;
8
- circle?: boolean;
9
- inline?: boolean;
10
- ariaValueText?: string;
11
- };
12
- events: {
13
- [evt: string]: CustomEvent<any>;
14
- };
15
- slots: {};
16
- };
17
- export declare type SkeletonProps = typeof __propDef.props;
18
- export declare type SkeletonEvents = typeof __propDef.events;
19
- export declare type SkeletonSlots = typeof __propDef.slots;
20
- export default class Skeleton extends SvelteComponentTyped<SkeletonProps, SkeletonEvents, SkeletonSlots> {
21
- }
22
- export {};
@@ -1,73 +0,0 @@
1
- <table {...$$restProps}
2
- class:table-alternating={striped}
3
- class:table-hover={hoverable}>
4
- {#if showHeader}
5
- <thead>
6
- <tr>
7
- {#each columns as column}
8
- <th class={headerCLass}>
9
- {#if typeof column === 'string'}
10
- {column}
11
- {:else}
12
- {column.label ?? column.field}
13
- {/if}
14
- </th>
15
- {/each}
16
- </tr>
17
- </thead>
18
- {/if}
19
- <tbody>
20
- {#each data as row}
21
- <tr>
22
- {#each getRowFiltered(row) as [columnName, val]}
23
- <td class={cellCLass}>
24
- {#if (tmpCol = hasContentFn(getColumnFromName(columnName)))}
25
- {#if tmpCol.html}
26
- {@html tmpCol.content(val)}
27
- {:else}
28
- {tmpCol.content(val)}
29
- {/if}
30
- {:else}
31
- {#if hasHTMLProp(getColumnFromName(columnName))}
32
- {@html val}
33
- {:else}
34
- {val}
35
- {/if}
36
- {/if}
37
- </td>
38
- {/each}
39
- </tr>
40
- {/each}
41
- </tbody>
42
- </table>
43
-
44
- <script >;
45
- let tmpCol;
46
- export let columns = [];
47
- export let data = [];
48
- export let striped = false;
49
- export let hoverable = false;
50
- export let showHeader = true;
51
- export let headerCLass = '';
52
- export let cellCLass = '';
53
- function getColumnFromName(name) {
54
- return columns[displayedFields.indexOf(name)];
55
- }
56
- function hasContentFn(col) {
57
- return isColumnObj(col) && col.content && col;
58
- }
59
- function hasHTMLProp(col) {
60
- return isColumnObj(col) && col.html && col;
61
- }
62
- function isColumnObj(arg) {
63
- return arg.field;
64
- }
65
- function getRowFiltered(row) {
66
- return Object.entries(row).filter(([key, _val]) => displayedFields.includes(key));
67
- }
68
- $: if (!columns.length) {
69
- columns = Object.keys(data[0] || {});
70
- }
71
- let displayedFields;
72
- $: displayedFields = columns.length ? columns.map((column) => (typeof column === 'string' ? column : column.field)) : (data[0] ? Object.keys(data[0]) : []);
73
- </script>
@@ -1,24 +0,0 @@
1
- import { SvelteComponentTyped } from "svelte";
2
- import type { TableColumn as Column } from '../types';
3
- declare const __propDef: {
4
- props: {
5
- [x: string]: any;
6
- columns?: Column[];
7
- data?: {}[];
8
- striped?: boolean;
9
- hoverable?: boolean;
10
- showHeader?: boolean;
11
- headerCLass?: string;
12
- cellCLass?: string;
13
- };
14
- events: {
15
- [evt: string]: CustomEvent<any>;
16
- };
17
- slots: {};
18
- };
19
- export declare type TableProps = typeof __propDef.props;
20
- export declare type TableEvents = typeof __propDef.events;
21
- export declare type TableSlots = typeof __propDef.slots;
22
- export default class Table extends SvelteComponentTyped<TableProps, TableEvents, TableSlots> {
23
- }
24
- export {};
@@ -1,52 +0,0 @@
1
- <div {...$$restProps}
2
- class="{$$restProps.class ?? ''} content margin"
3
- class:content--active={active}
4
- id={getId(label, 'content')}
5
- aria-hidden={!active}
6
- aria-labelledby={getId(label, 'label')}
7
- role="tabpanel"
8
- tabindex={active ? 0 : -1}>
9
- {#if $$slots.header}
10
- <div bind:this={header}
11
- style="display: none">
12
- <slot name="header" />
13
- </div>
14
- {/if}
15
- <slot />
16
- </div>
17
-
18
- <script >import { onMount, onDestroy, getContext } from 'svelte';
19
- ;
20
- import { getId } from './utils';
21
- export let label;
22
- const key = {};
23
- let active = false;
24
- let header;
25
- $: if (header) {
26
- header.firstChild
27
- .removeAttribute('slot');
28
- }
29
- const tabsData = getContext('tabs');
30
- if (!tabsData)
31
- throw new Error('Tab should be nested inside a Tabs');
32
- $: tabsData.tabs.update(tabs => (tabs.map(t => t.key === key ? Object.assign(Object.assign({}, t), { label, header }) : t)));
33
- onMount(() => {
34
- tabsData.tabs.update(tabs => [...tabs, {
35
- key,
36
- label,
37
- header,
38
- show: () => active = true,
39
- hide: () => active = false,
40
- }
41
- ]);
42
- });
43
- onDestroy(() => {
44
- tabsData.tabs.update(tabs => (tabs.filter(t => t.key !== key)));
45
- });
46
- </script>
47
-
48
- <style>
49
- .content--active {
50
- display: block !important;
51
- }
52
- </style>
@@ -1,20 +0,0 @@
1
- import { SvelteComponentTyped } from "svelte";
2
- declare const __propDef: {
3
- props: {
4
- [x: string]: any;
5
- label: string;
6
- };
7
- events: {
8
- [evt: string]: CustomEvent<any>;
9
- };
10
- slots: {
11
- header: {};
12
- default: {};
13
- };
14
- };
15
- export declare type TabProps = typeof __propDef.props;
16
- export declare type TabEvents = typeof __propDef.events;
17
- export declare type TabSlots = typeof __propDef.slots;
18
- export default class Tab extends SvelteComponentTyped<TabProps, TabEvents, TabSlots> {
19
- }
20
- export {};
@@ -1,90 +0,0 @@
1
- <div {...$$restProps}
2
- class="row flex-{placement} tabs {$$restProps.class ?? ''}"
3
- style="text-align: {contentAlign}">
4
- {#each $tabs as { label, header }, index}
5
- {@const selected = index == activeTab}
6
- <div class="tabs-label-header"
7
- class:tabs-label-header--active={selected}
8
- id={getId(label, 'label')}
9
- aria-selected={selected}
10
- aria-controls={getId(label, 'content')}
11
- role="tab"
12
- tabindex={selected ? 0 : -1}
13
- on:click={showContent.bind(null, index)}
14
- on:keypress>
15
- {#if header}
16
- {@html header.innerHTML}
17
- {:else}
18
- {label}
19
- {/if}
20
- </div>
21
- {/each}
22
-
23
- <slot />
24
- </div>
25
-
26
- <script >import { onMount, setContext, createEventDispatcher } from 'svelte';
27
- import { writable } from 'svelte/store';
28
- ;
29
- ;
30
- import { getId } from './utils';
31
- export let activeTab = 0;
32
- export let placement = 'spaces';
33
- export let contentAlign = 'left';
34
- const dispatch = createEventDispatcher();
35
- const tabs = writable([]);
36
- const tabsData = {
37
- activeTab,
38
- tabs,
39
- };
40
- setContext('tabs', tabsData);
41
- onMount(() => {
42
- if (isNaN(Number(activeTab)))
43
- activeTab = 0;
44
- if (!$tabs.length)
45
- return;
46
- $tabs[activeTab].show();
47
- });
48
- function showContent(index) {
49
- dispatch('change', index);
50
- activeTab = index;
51
- updateTabsVisility();
52
- }
53
- function updateTabsVisility() {
54
- $tabs.forEach((tab, idx) => {
55
- if (idx == activeTab)
56
- tab.show();
57
- else
58
- tab.hide();
59
- });
60
- }
61
- $: activeTab && updateTabsVisility();
62
- </script>
63
-
64
- <style >.tabs-label-header {
65
- cursor: pointer;
66
- color: var(--primary-light);
67
- display: inline-block;
68
- font-weight: 600;
69
- margin: 0 0 -1px;
70
- padding: 0.75rem;
71
- text-align: center;
72
- }
73
- .tabs-label-header:hover:not(.tabs-label-header--active) {
74
- color: var(--muted);
75
- }
76
- .tabs-label-header--active {
77
- color: var(--primary);
78
- border-bottom: 3px solid var(--secondary);
79
- }
80
-
81
- :global(.tabs input) {
82
- display: block;
83
- }
84
-
85
- :global(.tabs label) {
86
- all: inherit;
87
- }
88
- :global(.tabs label):hover {
89
- all: inherit;
90
- }</style>
@@ -1,25 +0,0 @@
1
- import { SvelteComponentTyped } from "svelte";
2
- import type { PaperFlexPlacement } from '../../types';
3
- declare const __propDef: {
4
- props: {
5
- [x: string]: any;
6
- activeTab?: number | string;
7
- placement?: PaperFlexPlacement;
8
- contentAlign?: string;
9
- };
10
- events: {
11
- keypress: KeyboardEvent;
12
- change: CustomEvent<any>;
13
- } & {
14
- [evt: string]: CustomEvent<any>;
15
- };
16
- slots: {
17
- default: {};
18
- };
19
- };
20
- export declare type TabsProps = typeof __propDef.props;
21
- export declare type TabsEvents = typeof __propDef.events;
22
- export declare type TabsSlots = typeof __propDef.slots;
23
- export default class Tabs extends SvelteComponentTyped<TabsProps, TabsEvents, TabsSlots> {
24
- }
25
- export {};
@@ -1,91 +0,0 @@
1
- {#if active}
2
- <div class={classes}
3
- bind:this={toastElement}
4
- on:mouseenter={pause}
5
- on:mouseleave={dismiss}
6
- in:fly={{ y: position.includes('top') ? -100 : 100 }}
7
- out:fade={{ duration: TRANSITION_OUT_DURATION }}
8
- role="alert">
9
- {@html message}
10
- {#if dismissible||indefinite}
11
- <CloseButton ariaLabel={closeAriaLabel}
12
- on:click={close} />
13
- {/if}
14
- </div>
15
- {/if}
16
-
17
- <script >import { onMount } from 'svelte';
18
- import { fly, fade } from 'svelte/transition';
19
- ;
20
- ;
21
- import { computeClasses } from '../../utils';
22
- import ToastContainer, { containerClass } from './ToastContainer.svelte';
23
- import CloseButton from '../CloseButton.svelte';
24
- export let message;
25
- export let type = 'primary';
26
- export let duration = 2000;
27
- export let position = 'top-right';
28
- export let pauseOnHover = false;
29
- export let dismissible = false;
30
- export let indefinite = false;
31
- export let closeAriaLabel = 'close';
32
- export let onClose = null;
33
- const TRANSITION_OUT_DURATION = 300;
34
- let active = true;
35
- let toastElement;
36
- let timeoutId;
37
- $: containerSelector = `.${containerClass}.${position}`;
38
- $: classes = `alert margin-small shadow ${computeClasses('alert', { type })}`;
39
- onMount(() => {
40
- insert();
41
- if (!indefinite) {
42
- timeoutId = window.setTimeout(close, duration);
43
- }
44
- if (timeoutId) {
45
- return () => clearTimeout(timeoutId);
46
- }
47
- });
48
- function pause() {
49
- if (!pauseOnHover || indefinite)
50
- return;
51
- clearTimeout(timeoutId);
52
- }
53
- function dismiss() {
54
- if (!pauseOnHover || indefinite)
55
- return;
56
- close();
57
- }
58
- function close() {
59
- active = false;
60
- removeContainer();
61
- onClose === null || onClose === void 0 ? void 0 : onClose();
62
- }
63
- function getContainer() {
64
- return document.querySelector(containerSelector);
65
- }
66
- function setupContainer() {
67
- new ToastContainer({
68
- target: document.body,
69
- props: { position },
70
- });
71
- return getContainer();
72
- }
73
- function insert() {
74
- const container = getContainer() || setupContainer();
75
- container.insertAdjacentElement('afterbegin', toastElement);
76
- }
77
- function removeContainer() {
78
- const container = getContainer();
79
- setTimeout(() => {
80
- if (container.children.length === 1) {
81
- container.remove();
82
- }
83
- }, TRANSITION_OUT_DURATION);
84
- }
85
- </script>
86
-
87
- <style>
88
- div {
89
- width: 250px;
90
- }
91
- </style>
@@ -1,26 +0,0 @@
1
- import { SvelteComponentTyped } from "svelte";
2
- import type { PaperType } from '../../types';
3
- import type { ToastPosition } from './';
4
- declare const __propDef: {
5
- props: {
6
- message: string;
7
- type?: PaperType;
8
- duration?: number;
9
- position?: ToastPosition;
10
- pauseOnHover?: boolean;
11
- dismissible?: boolean;
12
- indefinite?: boolean;
13
- closeAriaLabel?: string;
14
- onClose?: Function;
15
- };
16
- events: {
17
- [evt: string]: CustomEvent<any>;
18
- };
19
- slots: {};
20
- };
21
- export declare type ToastProps = typeof __propDef.props;
22
- export declare type ToastEvents = typeof __propDef.events;
23
- export declare type ToastSlots = typeof __propDef.slots;
24
- export default class Toast extends SvelteComponentTyped<ToastProps, ToastEvents, ToastSlots> {
25
- }
26
- export {};
@@ -1,37 +0,0 @@
1
- <div class="{containerClass} {position}">
2
- </div>
3
-
4
- <script context="module">export const containerClass = 'paper-toast-container';
5
- </script>
6
-
7
- <script >;
8
- export let position = 'top-right';
9
- </script>
10
-
11
- <style >:global(.paper-toast-container:is(.top, .bottom) > div) {
12
- align-self: center;
13
- }
14
-
15
- :global(.paper-toast-container:is([class*=right]) > div) {
16
- align-self: end;
17
- }
18
-
19
- div {
20
- height: 0;
21
- position: fixed;
22
- display: flex;
23
- width: 100%;
24
- padding: 2em;
25
- z-index: 9999;
26
- flex-direction: column;
27
- }
28
- div[class*=top] {
29
- top: 0;
30
- }
31
- div[class*=bottom] {
32
- bottom: 0;
33
- flex-direction: column-reverse;
34
- }
35
- div[class*=left] {
36
- left: 0;
37
- }</style>
@@ -1,18 +0,0 @@
1
- import { SvelteComponentTyped } from "svelte";
2
- export declare const containerClass = "paper-toast-container";
3
- import type { ToastPosition } from './';
4
- declare const __propDef: {
5
- props: {
6
- position?: ToastPosition;
7
- };
8
- events: {
9
- [evt: string]: CustomEvent<any>;
10
- };
11
- slots: {};
12
- };
13
- export declare type ToastContainerProps = typeof __propDef.props;
14
- export declare type ToastContainerEvents = typeof __propDef.events;
15
- export declare type ToastContainerSlots = typeof __propDef.slots;
16
- export default class ToastContainer extends SvelteComponentTyped<ToastContainerProps, ToastContainerEvents, ToastContainerSlots> {
17
- }
18
- export {};