@softwareone/spi-sv5-library 0.1.2 → 1.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 (56) hide show
  1. package/dist/Avatar/Avatar.svelte +33 -0
  2. package/dist/Avatar/Avatar.svelte.d.ts +10 -0
  3. package/dist/Breadcrumbs/Breadcrumbs.svelte +10 -20
  4. package/dist/Button/Button.svelte +59 -119
  5. package/dist/Button/Button.svelte.d.ts +8 -6
  6. package/dist/Card/Card.svelte +18 -44
  7. package/dist/Card/Card.svelte.d.ts +1 -1
  8. package/dist/Chips/Chips.svelte +25 -28
  9. package/dist/Chips/Chips.svelte.d.ts +2 -1
  10. package/dist/Chips/chipsState.svelte.d.ts +7 -0
  11. package/dist/Chips/chipsState.svelte.js +8 -0
  12. package/dist/ErrorPage/ErrorPage.svelte +98 -0
  13. package/dist/ErrorPage/ErrorPage.svelte.d.ts +8 -0
  14. package/dist/Footer/Footer.svelte +29 -135
  15. package/dist/Footer/Footer.svelte.d.ts +1 -1
  16. package/dist/Form/Input/Input.svelte +398 -0
  17. package/dist/Form/Input/Input.svelte.d.ts +14 -0
  18. package/dist/Form/Input/InputIcon.svelte +97 -0
  19. package/dist/Form/Input/InputIcon.svelte.d.ts +9 -0
  20. package/dist/Form/TextArea/TextArea.svelte +258 -0
  21. package/dist/Form/TextArea/TextArea.svelte.d.ts +13 -0
  22. package/dist/Form/Toggle/Toggle.svelte +120 -0
  23. package/dist/{Toggle → Form/Toggle}/Toggle.svelte.d.ts +4 -3
  24. package/dist/Header/Header.svelte +65 -100
  25. package/dist/Header/Header.svelte.d.ts +7 -2
  26. package/dist/Header/HeaderAccount.svelte +6 -29
  27. package/dist/HighlightPanel/HighlightPanel.svelte +125 -0
  28. package/dist/HighlightPanel/HighlightPanel.svelte.d.ts +10 -0
  29. package/dist/HighlightPanel/highlightPanelState.svelte.d.ts +35 -0
  30. package/dist/HighlightPanel/highlightPanelState.svelte.js +13 -0
  31. package/dist/Menu/Menu.svelte +158 -0
  32. package/dist/Menu/Menu.svelte.d.ts +8 -0
  33. package/dist/Menu/MenuItem.svelte +153 -0
  34. package/dist/Menu/MenuItem.svelte.d.ts +11 -0
  35. package/dist/Menu/Sidebar.svelte +228 -0
  36. package/dist/Menu/Sidebar.svelte.d.ts +11 -0
  37. package/dist/Menu/SidebarState.svelte.d.ts +6 -0
  38. package/dist/Menu/SidebarState.svelte.js +1 -0
  39. package/dist/Modal/Modal.svelte +2 -3
  40. package/dist/Modal/ModalContent.svelte +11 -18
  41. package/dist/Modal/ModalFooter.svelte +10 -14
  42. package/dist/Modal/ModalHeader.svelte +7 -9
  43. package/dist/ProgressWizard/ProgressWizard.svelte +355 -0
  44. package/dist/ProgressWizard/ProgressWizard.svelte.d.ts +16 -0
  45. package/dist/Tabs/Tabs.svelte +111 -0
  46. package/dist/Tabs/Tabs.svelte.d.ts +8 -0
  47. package/dist/Tabs/tabsState.svelte.d.ts +7 -0
  48. package/dist/Tabs/tabsState.svelte.js +1 -0
  49. package/dist/Toast/Toast.svelte +7 -12
  50. package/dist/Tooltip/Tooltip.svelte +168 -0
  51. package/dist/Tooltip/Tooltip.svelte.d.ts +13 -0
  52. package/dist/assets/icons/feedback.svg +5 -0
  53. package/dist/index.d.ts +25 -8
  54. package/dist/index.js +23 -9
  55. package/package.json +4 -2
  56. package/dist/Toggle/Toggle.svelte +0 -170
@@ -0,0 +1,13 @@
1
+ import type { Snippet } from 'svelte';
2
+ type Position = 'top' | 'bottom' | 'left' | 'right';
3
+ type Width = 'xs' | 'sm' | 'md';
4
+ interface TooltipProps {
5
+ content: string;
6
+ position?: Position;
7
+ width?: Width;
8
+ class?: string;
9
+ children: Snippet;
10
+ }
11
+ declare const Tooltip: import("svelte").Component<TooltipProps, {}, "">;
12
+ type Tooltip = ReturnType<typeof Tooltip>;
13
+ export default Tooltip;
@@ -0,0 +1,5 @@
1
+ <svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M28 22.4C29.0902 21.3906 29.9629 20.1693 30.5647 18.8109C31.1665 17.4526 31.4848 15.9856 31.5 14.5C31.5 7.7 24.8 2.5 16.5 2.5C8.2 2.5 1.5 7.7 1.5 14.5C1.5 21.3 8.2 26.8 16.5 26.8C17.9145 26.7937 19.3236 26.6259 20.7 26.3L28.5 29.5L28 22.4Z" stroke="black" stroke-linecap="round" stroke-linejoin="round"/>
3
+ <path d="M16.5 8.5V16.5" stroke="black" stroke-linecap="round" stroke-linejoin="round"/>
4
+ <path d="M16.5 22C17.1904 22 17.75 21.4404 17.75 20.75C17.75 20.0596 17.1904 19.5 16.5 19.5C15.8096 19.5 15.25 20.0596 15.25 20.75C15.25 21.4404 15.8096 22 16.5 22Z" fill="black"/>
5
+ </svg>
package/dist/index.d.ts CHANGED
@@ -1,13 +1,30 @@
1
+ import Avatar from './Avatar/Avatar.svelte';
2
+ import Breadcrumbs from './Breadcrumbs/Breadcrumbs.svelte';
3
+ import { addBreadcrumbsNameMap, type BreadcrumbsNameMap } from './Breadcrumbs/breadcrumbsState.svelte.js';
1
4
  import Button from './Button/Button.svelte';
5
+ import Card from './Card/Card.svelte';
6
+ import Chips from './Chips/Chips.svelte';
7
+ import { ChipType } from './Chips/chipsState.svelte.js';
8
+ import ErrorPage from './ErrorPage/ErrorPage.svelte';
9
+ import Footer from './Footer/Footer.svelte';
10
+ import Input from './Form/Input/Input.svelte';
11
+ import Toggle from './Form/Toggle/Toggle.svelte';
12
+ import TextArea from './Form/TextArea/TextArea.svelte';
13
+ import Header from './Header/Header.svelte';
14
+ import HeaderAccount from './Header/HeaderAccount.svelte';
15
+ import HeaderLoader from './Header/HeaderLoader.svelte';
16
+ import HeaderLogo from './Header/HeaderLogo.svelte';
17
+ import HighlightPanel from './HighlightPanel/HighlightPanel.svelte';
18
+ import { ColumnType, ImageType, type HighlightPanelColumn } from './HighlightPanel/highlightPanelState.svelte.js';
19
+ import Menu from './Menu/Menu.svelte';
20
+ import Sidebar from './Menu/Sidebar.svelte';
21
+ import type { MenuItem } from './Menu/SidebarState.svelte';
2
22
  import Modal from './Modal/Modal.svelte';
23
+ import ProgressWizard from './ProgressWizard/ProgressWizard.svelte';
3
24
  import Spinner from './Spinner/Spinner.svelte';
25
+ import Tabs from './Tabs/Tabs.svelte';
26
+ import type { Tab } from './Tabs/tabsState.svelte.js';
4
27
  import Toaster from './Toast/Toast.svelte';
5
28
  import { addToast, type Toast } from './Toast/toastState.svelte';
6
- import Toggle from './Toggle/Toggle.svelte';
7
- import Header from './Header/Header.svelte';
8
- import Breadcrumbs from './Breadcrumbs/Breadcrumbs.svelte';
9
- import { addBreadcrumbsNameMap, type BreadcrumbsNameMap } from './Breadcrumbs/breadcrumbsState.svelte.js';
10
- import Chips from './Chips/Chips.svelte';
11
- import Footer from './Footer/Footer.svelte';
12
- import Card from './Card/Card.svelte';
13
- export { Button, Modal, Spinner, Toaster, addToast, type Toast, Toggle, Header, Breadcrumbs, addBreadcrumbsNameMap, type BreadcrumbsNameMap, Chips, Footer, Card };
29
+ import Tooltip from './Tooltip/Tooltip.svelte';
30
+ export { addBreadcrumbsNameMap, addToast, Avatar, Breadcrumbs, Button, Card, Chips, ChipType, ColumnType, ErrorPage, Footer, Header, HeaderAccount, HeaderLoader, HeaderLogo, HighlightPanel, ImageType, Input, Menu, TextArea, Modal, ProgressWizard, Sidebar, Spinner, Tabs, Toaster, Toggle, Tooltip, type BreadcrumbsNameMap, type HighlightPanelColumn, type MenuItem, type Tab, type Toast };
package/dist/index.js CHANGED
@@ -1,14 +1,28 @@
1
- // Reexport your entry components here
1
+ import Avatar from './Avatar/Avatar.svelte';
2
+ import Breadcrumbs from './Breadcrumbs/Breadcrumbs.svelte';
3
+ import { addBreadcrumbsNameMap } from './Breadcrumbs/breadcrumbsState.svelte.js';
2
4
  import Button from './Button/Button.svelte';
5
+ import Card from './Card/Card.svelte';
6
+ import Chips from './Chips/Chips.svelte';
7
+ import { ChipType } from './Chips/chipsState.svelte.js';
8
+ import ErrorPage from './ErrorPage/ErrorPage.svelte';
9
+ import Footer from './Footer/Footer.svelte';
10
+ import Input from './Form/Input/Input.svelte';
11
+ import Toggle from './Form/Toggle/Toggle.svelte';
12
+ import TextArea from './Form/TextArea/TextArea.svelte';
13
+ import Header from './Header/Header.svelte';
14
+ import HeaderAccount from './Header/HeaderAccount.svelte';
15
+ import HeaderLoader from './Header/HeaderLoader.svelte';
16
+ import HeaderLogo from './Header/HeaderLogo.svelte';
17
+ import HighlightPanel from './HighlightPanel/HighlightPanel.svelte';
18
+ import { ColumnType, ImageType } from './HighlightPanel/highlightPanelState.svelte.js';
19
+ import Menu from './Menu/Menu.svelte';
20
+ import Sidebar from './Menu/Sidebar.svelte';
3
21
  import Modal from './Modal/Modal.svelte';
22
+ import ProgressWizard from './ProgressWizard/ProgressWizard.svelte';
4
23
  import Spinner from './Spinner/Spinner.svelte';
24
+ import Tabs from './Tabs/Tabs.svelte';
5
25
  import Toaster from './Toast/Toast.svelte';
6
26
  import { addToast } from './Toast/toastState.svelte';
7
- import Toggle from './Toggle/Toggle.svelte';
8
- import Header from './Header/Header.svelte';
9
- import Breadcrumbs from './Breadcrumbs/Breadcrumbs.svelte';
10
- import { addBreadcrumbsNameMap } from './Breadcrumbs/breadcrumbsState.svelte.js';
11
- import Chips from './Chips/Chips.svelte';
12
- import Footer from './Footer/Footer.svelte';
13
- import Card from './Card/Card.svelte';
14
- export { Button, Modal, Spinner, Toaster, addToast, Toggle, Header, Breadcrumbs, addBreadcrumbsNameMap, Chips, Footer, Card };
27
+ import Tooltip from './Tooltip/Tooltip.svelte';
28
+ export { addBreadcrumbsNameMap, addToast, Avatar, Breadcrumbs, Button, Card, Chips, ChipType, ColumnType, ErrorPage, Footer, Header, HeaderAccount, HeaderLoader, HeaderLogo, HighlightPanel, ImageType, Input, Menu, TextArea, Modal, ProgressWizard, Sidebar, Spinner, Tabs, Toaster, Toggle, Tooltip };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@softwareone/spi-sv5-library",
3
- "version": "0.1.2",
3
+ "version": "1.0.0",
4
4
  "description": "Svelte components",
5
5
  "keywords": [
6
6
  "svelte",
@@ -59,6 +59,8 @@
59
59
  },
60
60
  "dependencies": {
61
61
  "@sveltejs/kit": "^2.16.0",
62
- "lucide-svelte": "^0.475.0"
62
+ "http-status-codes": "^2.3.0",
63
+ "lucide-svelte": "^0.475.0",
64
+ "zod": "^3.24.4"
63
65
  }
64
66
  }
@@ -1,170 +0,0 @@
1
- <script lang="ts">
2
- import { Check, X } from 'lucide-svelte';
3
-
4
- interface ToggleProps {
5
- status?: 'on' | 'off';
6
- disabled?: boolean;
7
- onToggle?: () => void;
8
- }
9
-
10
- let { status, disabled, onToggle }: ToggleProps = $props();
11
-
12
- status = status || 'off';
13
- disabled = disabled || false;
14
-
15
- if (!onToggle) {
16
- onToggle = () => {
17
- if (status === 'on') {
18
- status = 'off';
19
- } else {
20
- status = 'on';
21
- }
22
- };
23
- }
24
-
25
- </script>
26
-
27
- {#if status === 'off'}
28
- {#if disabled}
29
- <div class="toggle-container">
30
- <button class="toggle-off-disabled">
31
- <div class="toggle-icon-off-disabled">
32
- <X size="14" />
33
- </div>
34
- </button>
35
- </div>
36
- {:else}
37
- <div class="toggle-container">
38
- <button class="toggle-off" onclick={onToggle}>
39
- <div class="toggle-icon-off">
40
- <X size="14" />
41
- </div>
42
- </button>
43
- </div>
44
- {/if}
45
- {:else}
46
- {#if disabled}
47
- <div class="toggle-container">
48
- <button class="toggle-on-disabled">
49
- <div class="toggle-icon-on-disabled">
50
- <Check size="14" />
51
- </div>
52
- </button>
53
- </div>
54
- {:else}
55
- <div class="toggle-container">
56
- <button class="toggle-on" onclick={onToggle}>
57
- <div class="toggle-icon-on">
58
- <Check size="14" />
59
- </div>
60
- </button>
61
- </div>
62
- {/if}
63
- {/if}
64
-
65
-
66
- <style>
67
- .toggle-container {
68
- display: inline-flex;
69
- align-items: flex-start;
70
- gap: 10px;
71
- }
72
- .toggle-container:hover .toggle-on {
73
- background: var(--brand-primary, #3520BF);
74
- border: 2px solid var(--brand-primary, #3520BF);
75
- color: var(--brand-primary, #3520BF);
76
- }
77
- .toggle-container:hover .toggle-off {
78
- border: 2px solid var(--brand-primary, #434952);
79
- }
80
- .toggle-container:hover .toggle-icon-off {
81
- border: 2px solid var(--brand-primary, #434952);
82
- background: var(--brand-white, #434952);
83
- }
84
- .toggle-on {
85
- display: flex;
86
- width: 40px;
87
- padding: 2px;
88
- justify-content: flex-end;
89
- align-items: center;
90
- gap: 10px;
91
- border-radius: 12px;
92
- border: 2px solid var(--brand-primary, #472aff);
93
- background: var(--brand-primary, #472aff);
94
- cursor: pointer;
95
- color: var(--brand-primary, #472aff);
96
- }
97
- .toggle-icon-on {
98
- display: flex;
99
- flex-direction: column;
100
- align-items: flex-start;
101
- gap: 10px;
102
- border-radius: var(--Card-radius, 16px);
103
- border: 2px solid var(--brand-primary, #fff);
104
- background: var(--brand-white, #fff);
105
- }
106
- .toggle-off {
107
- display: flex;
108
- width: 40px;
109
- padding: 2px;
110
- justify-content: flex-start;
111
- align-items: center;
112
- gap: 10px;
113
- border-radius: 12px;
114
- border: 2px solid var(--brand-primary, #6b7180);
115
- background: var(--brand-primary, #fff);
116
- color: var(--brand-primary, #fff);
117
- cursor: pointer;
118
- }
119
- .toggle-icon-off {
120
- display: flex;
121
- flex-direction: column;
122
- align-items: flex-start;
123
- gap: 10px;
124
- border-radius: var(--Card-radius, 16px);
125
- border: 2px solid var(--brand-primary, #6b7180);
126
- background: var(--brand-white, #6b7180);
127
- }
128
- .toggle-on-disabled {
129
- display: flex;
130
- width: 40px;
131
- padding: 2px;
132
- justify-content: flex-end;
133
- align-items: center;
134
- gap: 10px;
135
- border-radius: 12px;
136
- border: 2px solid var(--brand-primary, #6B7180);
137
- background: var(--brand-primary, #6B7180);
138
- }
139
- .toggle-icon-on-disabled {
140
- display: flex;
141
- flex-direction: column;
142
- align-items: flex-start;
143
- gap: 10px;
144
- border-radius: var(--Card-radius, 16px);
145
- border: 2px solid var(--brand-primary, #fff);
146
- background: var(--brand-white, #fff);
147
- color: var(--brand-primary, #6B7180);
148
- }
149
- .toggle-off-disabled {
150
- display: flex;
151
- width: 40px;
152
- padding: 2px;
153
- justify-content: flex-start;
154
- align-items: center;
155
- gap: 10px;
156
- border-radius: 12px;
157
- border: 2px solid var(--brand-primary, #6b7180);
158
- background: var(--brand-primary, #E0E5E8);
159
- }
160
- .toggle-icon-off-disabled {
161
- display: flex;
162
- flex-direction: column;
163
- align-items: flex-start;
164
- gap: 10px;
165
- border-radius: var(--Card-radius, 16px);
166
- border: 2px solid var(--brand-primary, #6b7180);
167
- background: var(--brand-white, #6b7180);
168
- color: var(--brand-primary, #fff);
169
- }
170
- </style>