@softwareone/spi-sv5-library 1.14.0 → 1.14.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +221 -91
- package/dist/{Accordion → components/accordion}/Accordion.svelte +2 -7
- package/dist/{Accordion → components/accordion}/Accordion.svelte.d.ts +2 -2
- package/dist/{Announcement → components/announcement}/Announcement.svelte +1 -1
- package/dist/{Announcement → components/announcement}/Announcement.svelte.d.ts +1 -1
- package/dist/{Avatar → components/avatar}/Avatar.svelte +2 -2
- package/dist/{Avatar → components/avatar}/Avatar.svelte.d.ts +2 -2
- package/dist/{Button → components/button}/Button.svelte +2 -2
- package/dist/{Button → components/button}/Button.svelte.d.ts +2 -2
- package/dist/{Card → components/card}/Card.svelte +2 -2
- package/dist/{Card → components/card}/Card.svelte.d.ts +2 -2
- package/dist/{Chips → components/chips}/Chips.svelte +3 -3
- package/dist/components/chips/Chips.svelte.d.ts +8 -0
- package/dist/{Confirmation → components/confirmation}/Confirmation.svelte +1 -1
- package/dist/{Controls/AttachFile → components/controls/attach-file}/AttachFile.svelte +2 -2
- package/dist/{Controls/AttachFile → components/controls/attach-file}/AttachFile.svelte.d.ts +1 -1
- package/dist/{Controls/AttachFile → components/controls/attach-file}/Warnings.svelte +2 -2
- package/dist/{Controls/AttachFile → components/controls/attach-file}/Warnings.svelte.d.ts +2 -2
- package/dist/{Controls/Input → components/controls/input}/Input.svelte +4 -4
- package/dist/{Controls/Input → components/controls/input}/Input.svelte.d.ts +3 -3
- package/dist/{Controls/Label → components/controls/label}/Label.svelte +2 -2
- package/dist/{Controls/Label → components/controls/label}/Label.svelte.d.ts +1 -1
- package/dist/{Controls/RadioGroup → components/controls/radio-group}/RadioGroup.svelte +5 -5
- package/dist/{Controls/RadioGroup → components/controls/radio-group}/RadioGroup.svelte.d.ts +4 -4
- package/dist/{Controls/Select → components/controls/select}/Select.svelte +24 -12
- package/dist/{Controls/Select → components/controls/select}/Select.svelte.d.ts +4 -4
- package/dist/{Controls/TextArea → components/controls/textarea}/TextArea.svelte +4 -4
- package/dist/{Controls/TextArea → components/controls/textarea}/TextArea.svelte.d.ts +3 -3
- package/dist/{Controls/Toggle → components/controls/toggle}/Toggle.svelte +4 -4
- package/dist/components/controls/toggle/Toggle.svelte.d.ts +10 -0
- package/dist/{DeleteConfirmation → components/delete-confirmation}/DeleteConfirmation.svelte +3 -3
- package/dist/{DeleteConfirmation → components/delete-confirmation}/DeleteConfirmation.svelte.d.ts +2 -2
- package/dist/{ErrorPage → components/error-page}/ErrorPage.svelte +4 -4
- package/dist/{ErrorPage → components/error-page}/ErrorPage.svelte.d.ts +2 -2
- package/dist/{Footer → components/footer}/Footer.svelte +3 -2
- package/dist/{Footer → components/footer}/Footer.svelte.d.ts +2 -2
- package/dist/{Form → components/form}/Form.svelte +2 -2
- package/dist/components/form/index.d.ts +5 -0
- package/dist/components/form/index.js +4 -0
- package/dist/{Header → components/header}/Header.svelte +7 -7
- package/dist/{Header → components/header}/Header.svelte.d.ts +4 -4
- package/dist/{Header → components/header}/HeaderAccount.svelte +1 -1
- package/dist/{Header → components/header}/HeaderAccount.svelte.d.ts +1 -1
- package/dist/{HighlightPanel → components/highlight-panel}/HighlightPanel.svelte +3 -3
- package/dist/{HighlightPanel → components/highlight-panel}/HighlightPanel.svelte.d.ts +3 -3
- package/dist/components/highlight-panel/enums.d.ts +12 -0
- package/dist/{HighlightPanel/highlightPanelState.svelte.d.ts → components/highlight-panel/types.d.ts} +2 -13
- package/dist/{Home → components/home}/Home.svelte +3 -3
- package/dist/components/home/Home.svelte.d.ts +8 -0
- package/dist/components/index.d.ts +50 -0
- package/dist/components/index.js +39 -0
- package/dist/{Menu → components/menu}/Menu.svelte +3 -3
- package/dist/components/menu/Menu.svelte.d.ts +8 -0
- package/dist/{Menu → components/menu}/MenuItem.svelte +4 -4
- package/dist/{Menu → components/menu}/MenuItem.svelte.d.ts +3 -3
- package/dist/{Menu → components/menu}/Sidebar.svelte +1 -1
- package/dist/{Menu → components/menu}/Sidebar.svelte.d.ts +1 -1
- package/dist/{Menu/MenuState.svelte.d.ts → components/menu/types.d.ts} +0 -1
- package/dist/components/menu/utils.d.ts +2 -0
- package/dist/{Modal → components/modal}/Modal.svelte +1 -1
- package/dist/{Modal → components/modal}/Modal.svelte.d.ts +1 -1
- package/dist/{Modal → components/modal}/ModalContent.svelte +2 -2
- package/dist/{Modal → components/modal}/ModalContent.svelte.d.ts +2 -2
- package/dist/{Modal → components/modal}/ModalFooter.svelte +2 -2
- package/dist/{Modal → components/modal}/ModalFooter.svelte.d.ts +1 -1
- package/dist/{Modal → components/modal}/ModalHeader.svelte +1 -1
- package/dist/{Modal → components/modal}/ModalHeader.svelte.d.ts +1 -1
- package/dist/{Notification → components/notification}/Notification.svelte +10 -1
- package/dist/{Notification/notificationState.svelte.d.ts → components/notification/Notification.svelte.d.ts} +4 -2
- package/dist/{Processing → components/processing}/Processing.svelte +9 -3
- package/dist/components/processing/Processing.svelte.d.ts +9 -0
- package/dist/{ProgressPage → components/progress-page}/ProgressPage.svelte +4 -4
- package/dist/{ProgressPage → components/progress-page}/ProgressPage.svelte.d.ts +3 -3
- package/dist/{ProgressWizard → components/progress-wizard}/ProgressWizard.svelte +3 -3
- package/dist/{ProgressWizard → components/progress-wizard}/ProgressWizard.svelte.d.ts +3 -3
- package/dist/{ProgressWizard → components/progress-wizard}/context.d.ts +1 -1
- package/dist/{ProgressWizard/progressWizardState.svelte.d.ts → components/progress-wizard/types.d.ts} +0 -1
- package/dist/components/progress-wizard/utils.d.ts +2 -0
- package/dist/{Spinner → components/spinner}/Spinner.svelte +2 -2
- package/dist/{Spinner → components/spinner}/Spinner.svelte.d.ts +2 -2
- package/dist/{Switcher → components/switcher}/Switcher.svelte +3 -3
- package/dist/components/switcher/Switcher.svelte.d.ts +8 -0
- package/dist/{Table → components/table}/AdvancedFilter.svelte +2 -2
- package/dist/{Table → components/table}/Header.svelte +2 -2
- package/dist/{Table → components/table}/Pagination.svelte +1 -1
- package/dist/{Table → components/table}/Table.svelte +2 -2
- package/dist/{Table → components/table}/adapter/index.d.ts +1 -1
- package/dist/{Table → components/table}/adapter/index.js +1 -1
- package/dist/{Table → components/table}/index.d.ts +6 -5
- package/dist/{Table → components/table}/index.js +4 -4
- package/dist/{Tabs → components/tabs}/Tabs.svelte +3 -3
- package/dist/{Tabs → components/tabs}/Tabs.svelte.d.ts +3 -3
- package/dist/{Toast → components/toast}/Toast.svelte +3 -3
- package/dist/components/toast/Toast.svelte.d.ts +6 -0
- package/dist/components/toast/state.svelte.d.ts +11 -0
- package/dist/components/toast/types.d.ts +7 -0
- package/dist/components/toast/types.js +1 -0
- package/dist/{Tooltip → components/tooltip}/Tooltip.svelte +2 -2
- package/dist/{Tooltip → components/tooltip}/Tooltip.svelte.d.ts +2 -2
- package/dist/{Waffle → components/waffle}/Waffle.svelte +2 -1
- package/dist/{Waffle → components/waffle}/Waffle.svelte.d.ts +1 -1
- package/dist/components/waffle/types.js +1 -0
- package/dist/index.d.ts +1 -61
- package/dist/index.js +1 -55
- package/package.json +5 -5
- package/dist/Breadcrumbs/Breadcrumbs.svelte +0 -78
- package/dist/Breadcrumbs/Breadcrumbs.svelte.d.ts +0 -18
- package/dist/Breadcrumbs/breadcrumbsState.svelte.d.ts +0 -8
- package/dist/Breadcrumbs/breadcrumbsState.svelte.js +0 -24
- package/dist/Chips/Chips.svelte.d.ts +0 -8
- package/dist/Controls/Toggle/Toggle.svelte.d.ts +0 -10
- package/dist/Form/index.d.ts +0 -6
- package/dist/Form/index.js +0 -11
- package/dist/Home/Home.svelte.d.ts +0 -8
- package/dist/Menu/Menu.svelte.d.ts +0 -8
- package/dist/Notification/Notification.svelte.d.ts +0 -4
- package/dist/Processing/Processing.svelte.d.ts +0 -4
- package/dist/Processing/processingState.svelte.d.ts +0 -6
- package/dist/Switcher/Switcher.svelte.d.ts +0 -8
- package/dist/Toast/Toast.svelte.d.ts +0 -6
- package/dist/Toast/toastState.svelte.d.ts +0 -16
- /package/dist/{Announcement/AnnouncementState.svelte.d.ts → components/announcement/types.d.ts} +0 -0
- /package/dist/{Form → components/announcement}/types.js +0 -0
- /package/dist/{Chips/chipsState.svelte.d.ts → components/chips/enums.d.ts} +0 -0
- /package/dist/{Chips/chipsState.svelte.js → components/chips/enums.js} +0 -0
- /package/dist/{Confirmation → components/confirmation}/Confirmation.svelte.d.ts +0 -0
- /package/dist/{Controls/AttachFile → components/controls/attach-file}/FileManager.svelte +0 -0
- /package/dist/{Controls/AttachFile → components/controls/attach-file}/FileManager.svelte.d.ts +0 -0
- /package/dist/{Controls/Input → components/controls/input}/InputIcon.svelte +0 -0
- /package/dist/{Controls/Input → components/controls/input}/InputIcon.svelte.d.ts +0 -0
- /package/dist/{Controls/Label/labelState.svelte.d.ts → components/controls/label/types.d.ts} +0 -0
- /package/dist/{Announcement/AnnouncementState.svelte.js → components/controls/label/types.js} +0 -0
- /package/dist/{Controls/RadioGroup/radioGroupState.svelte.d.ts → components/controls/radio-group/types.d.ts} +0 -0
- /package/dist/{Controls/Label/labelState.svelte.js → components/controls/radio-group/types.js} +0 -0
- /package/dist/{Controls/Select/selectState.svelte.d.ts → components/controls/select/types.d.ts} +0 -0
- /package/dist/{Controls/RadioGroup/radioGroupState.svelte.js → components/controls/select/types.js} +0 -0
- /package/dist/{Form → components/form}/Form.svelte.d.ts +0 -0
- /package/dist/{Form → components/form}/context.d.ts +0 -0
- /package/dist/{Form → components/form}/context.js +0 -0
- /package/dist/{Form → components/form}/types.d.ts +0 -0
- /package/dist/{Controls/Select/selectState.svelte.js → components/form/types.js} +0 -0
- /package/dist/{Form/helper.d.ts → components/form/utils.d.ts} +0 -0
- /package/dist/{Form/helper.js → components/form/utils.js} +0 -0
- /package/dist/{Form → components/form}/zod-validations.d.ts +0 -0
- /package/dist/{Form → components/form}/zod-validations.js +0 -0
- /package/dist/{Header → components/header}/HeaderLoader.svelte +0 -0
- /package/dist/{Header → components/header}/HeaderLoader.svelte.d.ts +0 -0
- /package/dist/{Header → components/header}/HeaderLogo.svelte +0 -0
- /package/dist/{Header → components/header}/HeaderLogo.svelte.d.ts +0 -0
- /package/dist/{HighlightPanel/highlightPanelState.svelte.js → components/highlight-panel/enums.js} +0 -0
- /package/dist/{Modal/modalState.svelte.js → components/highlight-panel/types.js} +0 -0
- /package/dist/{Link → components/link}/Link.svelte +0 -0
- /package/dist/{Link → components/link}/Link.svelte.d.ts +0 -0
- /package/dist/{Notification/notificationState.svelte.js → components/menu/types.js} +0 -0
- /package/dist/{Menu/MenuState.svelte.js → components/menu/utils.js} +0 -0
- /package/dist/{Modal/modalState.svelte.d.ts → components/modal/types.d.ts} +0 -0
- /package/dist/{Processing/processingState.svelte.js → components/modal/types.js} +0 -0
- /package/dist/{ProgressWizard → components/progress-wizard}/context.js +0 -0
- /package/dist/{Switcher/switcherState.svelte.js → components/progress-wizard/types.js} +0 -0
- /package/dist/{ProgressWizard/progressWizardState.svelte.js → components/progress-wizard/utils.js} +0 -0
- /package/dist/{Search → components/search}/Search.svelte +0 -0
- /package/dist/{Search → components/search}/Search.svelte.d.ts +0 -0
- /package/dist/{Switcher/switcherState.svelte.d.ts → components/switcher/types.d.ts} +0 -0
- /package/dist/{Waffle/waffleState.svelte.js → components/switcher/types.js} +0 -0
- /package/dist/{Table → components/table}/ActionsColumn.svelte +0 -0
- /package/dist/{Table → components/table}/ActionsColumn.svelte.d.ts +0 -0
- /package/dist/{Table → components/table}/AdvancedFilter.svelte.d.ts +0 -0
- /package/dist/{Table → components/table}/Body.svelte +0 -0
- /package/dist/{Table → components/table}/Body.svelte.d.ts +0 -0
- /package/dist/{Table → components/table}/ColumnVisibilityDropdown.svelte +0 -0
- /package/dist/{Table → components/table}/ColumnVisibilityDropdown.svelte.d.ts +0 -0
- /package/dist/{Table → components/table}/Footer.svelte +0 -0
- /package/dist/{Table → components/table}/Footer.svelte.d.ts +0 -0
- /package/dist/{Table → components/table}/Header.svelte.d.ts +0 -0
- /package/dist/{Table → components/table}/PageSize.svelte +0 -0
- /package/dist/{Table → components/table}/PageSize.svelte.d.ts +0 -0
- /package/dist/{Table → components/table}/Pagination.svelte.d.ts +0 -0
- /package/dist/{Table → components/table}/RowCheckBox.svelte +0 -0
- /package/dist/{Table → components/table}/RowCheckBox.svelte.d.ts +0 -0
- /package/dist/{Table → components/table}/Skeleton.svelte +0 -0
- /package/dist/{Table → components/table}/Skeleton.svelte.d.ts +0 -0
- /package/dist/{Table → components/table}/Table.svelte.d.ts +0 -0
- /package/dist/{Table → components/table}/adapter/flex-render.svelte +0 -0
- /package/dist/{Table → components/table}/adapter/flex-render.svelte.d.ts +0 -0
- /package/dist/{Table → components/table}/adapter/render-component.d.ts +0 -0
- /package/dist/{Table → components/table}/adapter/render-component.js +0 -0
- /package/dist/{Table → components/table}/adapter/table.svelte.d.ts +0 -0
- /package/dist/{Table → components/table}/adapter/table.svelte.js +0 -0
- /package/dist/{Table → components/table}/consts.d.ts +0 -0
- /package/dist/{Table → components/table}/consts.js +0 -0
- /package/dist/{Table → components/table}/context.d.ts +0 -0
- /package/dist/{Table → components/table}/context.js +0 -0
- /package/dist/{Table → components/table}/excel-setting.d.ts +0 -0
- /package/dist/{Table → components/table}/excel-setting.js +0 -0
- /package/dist/{Table → components/table}/excel.d.ts +0 -0
- /package/dist/{Table → components/table}/excel.js +0 -0
- /package/dist/{Table → components/table}/tanstack-types.d.ts +0 -0
- /package/dist/{Table → components/table}/types.d.ts +0 -0
- /package/dist/{Table → components/table}/types.js +0 -0
- /package/dist/{Table/util.d.ts → components/table/utils.d.ts} +0 -0
- /package/dist/{Table/util.js → components/table/utils.js} +0 -0
- /package/dist/{Tabs/tabsState.svelte.d.ts → components/tabs/types.d.ts} +0 -0
- /package/dist/{Tabs/tabsState.svelte.js → components/tabs/types.js} +0 -0
- /package/dist/{Toast/toastState.svelte.js → components/toast/state.svelte.js} +0 -0
- /package/dist/{Waffle → components/waffle}/WaffleItems.svelte +0 -0
- /package/dist/{Waffle → components/waffle}/WaffleItems.svelte.d.ts +0 -0
- /package/dist/{Waffle/waffleState.svelte.d.ts → components/waffle/types.d.ts} +0 -0
package/README.md
CHANGED
|
@@ -1,102 +1,232 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @softwareone/spi-sv5-library
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
SoftwareOne's Svelte 5 UI component library — a collection of accessible, composable components for building modern web applications with Svelte 5 (runes) and SvelteKit 2.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
[](https://www.npmjs.com/package/@softwareone/spi-sv5-library)
|
|
6
|
+
[](LICENSE)
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Requirements
|
|
11
|
+
|
|
12
|
+
- **Svelte** `^5.0.0`
|
|
13
|
+
- **Node** `22+`
|
|
6
14
|
|
|
7
|
-
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Installation
|
|
8
18
|
|
|
9
19
|
```bash
|
|
10
|
-
npm install @softwareone/
|
|
20
|
+
npm install @softwareone/spi-sv5-library
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### Optional peer dependencies
|
|
24
|
+
|
|
25
|
+
Install only what you use:
|
|
26
|
+
|
|
27
|
+
| Peer dependency | Required for |
|
|
28
|
+
| ------------------------------------------------- | ------------------------------------ |
|
|
29
|
+
| `material-icons` + `material-icons-outlined` | Icon rendering across all components |
|
|
30
|
+
| `sveltekit-superforms` + `zod` | `@softwareone/spi-sv5-library/form` |
|
|
31
|
+
| `@tanstack/table-core` + `exceljs` + `file-saver` | `@softwareone/spi-sv5-library/table` |
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Quick start
|
|
36
|
+
|
|
37
|
+
```svelte
|
|
38
|
+
<script lang="ts">
|
|
39
|
+
import { Button, Modal } from '@softwareone/spi-sv5-library';
|
|
40
|
+
|
|
41
|
+
let showModal = $state(false);
|
|
42
|
+
</script>
|
|
43
|
+
|
|
44
|
+
<Button onclick={() => (showModal = true)}>Open modal</Button>
|
|
45
|
+
|
|
46
|
+
<Modal bind:showModal title="Hello">
|
|
47
|
+
<p>Modal content goes here.</p>
|
|
48
|
+
</Modal>
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Components
|
|
54
|
+
|
|
55
|
+
### Layout & Navigation
|
|
56
|
+
|
|
57
|
+
| Component | Description |
|
|
58
|
+
| ---------- | ----------------------------------------------------------------------------------- |
|
|
59
|
+
| `Header` | Full application bar with built-in menu, account, loader, waffle, and announcements |
|
|
60
|
+
| `Footer` | Application footer |
|
|
61
|
+
| `Sidebar` | Collapsible navigation sidebar |
|
|
62
|
+
| `Tabs` | Tabbed content navigation |
|
|
63
|
+
| `Switcher` | Segmented option switcher |
|
|
64
|
+
|
|
65
|
+
### Feedback & Overlays
|
|
66
|
+
|
|
67
|
+
| Component | Description |
|
|
68
|
+
| ------------------------- | ----------------------------------------------- |
|
|
69
|
+
| `Modal` | Dialog overlay with header, content, and footer |
|
|
70
|
+
| `ConfirmationModal` | Pre-built confirmation dialog |
|
|
71
|
+
| `DeleteConfirmationModal` | Pre-built delete confirmation dialog |
|
|
72
|
+
| `Toast` | Toast notification system |
|
|
73
|
+
| `Notification` | Inline alert/notification banner |
|
|
74
|
+
| `Spinner` | Loading spinner |
|
|
75
|
+
| `Processing` | Full-screen processing overlay |
|
|
76
|
+
| `Tooltip` | Hover tooltip |
|
|
77
|
+
|
|
78
|
+
### Data Display
|
|
79
|
+
|
|
80
|
+
| Component | Description |
|
|
81
|
+
| ---------------- | --------------------------------------------- |
|
|
82
|
+
| `Card` | Content container with optional header/footer |
|
|
83
|
+
| `Accordion` | Collapsible content sections |
|
|
84
|
+
| `HighlightPanel` | Key-value panel with configurable columns |
|
|
85
|
+
| `Chips` | Tag / badge chips |
|
|
86
|
+
| `Avatar` | User avatar — image or initials fallback |
|
|
87
|
+
| `ProgressWizard` | Multi-step wizard with step validation |
|
|
88
|
+
| `ProgressPage` | Linear step-by-step progress page |
|
|
89
|
+
|
|
90
|
+
### Forms & Controls
|
|
91
|
+
|
|
92
|
+
| Component | Description |
|
|
93
|
+
| ------------ | -------------------------- |
|
|
94
|
+
| `Input` | Text input |
|
|
95
|
+
| `TextArea` | Multi-line text input |
|
|
96
|
+
| `Select` | Dropdown select |
|
|
97
|
+
| `RadioGroup` | Radio button group |
|
|
98
|
+
| `Toggle` | On/off toggle switch |
|
|
99
|
+
| `AttachFile` | File attachment picker |
|
|
100
|
+
| `Label` | Form label |
|
|
101
|
+
| `Search` | Search input with debounce |
|
|
102
|
+
|
|
103
|
+
### General
|
|
104
|
+
|
|
105
|
+
| Component | Description |
|
|
106
|
+
| ----------- | ----------------------- |
|
|
107
|
+
| `Button` | Action button |
|
|
108
|
+
| `Link` | Styled anchor |
|
|
109
|
+
| `Home` | Application home layout |
|
|
110
|
+
| `ErrorPage` | Error state page |
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## Sub-packages
|
|
115
|
+
|
|
116
|
+
### Form components
|
|
117
|
+
|
|
118
|
+
Integrates with [`sveltekit-superforms`](https://superforms.rocks/) and [`zod`](https://zod.dev/).
|
|
119
|
+
|
|
120
|
+
```ts
|
|
121
|
+
import { ... } from '@softwareone/spi-sv5-library/form';
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### Table component
|
|
125
|
+
|
|
126
|
+
Advanced data table built on [`@tanstack/table-core`](https://tanstack.com/table) with sorting, filtering, pagination, column visibility, and Excel export.
|
|
127
|
+
|
|
128
|
+
```ts
|
|
129
|
+
import { ... } from '@softwareone/spi-sv5-library/table';
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## API reference
|
|
135
|
+
|
|
136
|
+
### Header
|
|
137
|
+
|
|
138
|
+
```svelte
|
|
139
|
+
<Header
|
|
140
|
+
title="My App"
|
|
141
|
+
homeUrl="/"
|
|
142
|
+
accountName="Contoso"
|
|
143
|
+
accountDescription="Microsoft Partner"
|
|
144
|
+
userName="John Doe"
|
|
145
|
+
{menuItems}
|
|
146
|
+
{waffleItems}
|
|
147
|
+
{profileMenuItems}
|
|
148
|
+
{announcementItems}
|
|
149
|
+
onreadannouncementitems={() => {}}
|
|
150
|
+
/>
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### Button
|
|
154
|
+
|
|
155
|
+
```svelte
|
|
156
|
+
<Button
|
|
157
|
+
variant="primary" <!-- 'primary' | 'secondary' | 'outline' | 'outline-none' -->
|
|
158
|
+
variantColor="primary" <!-- 'primary' | 'danger' -->
|
|
159
|
+
>
|
|
160
|
+
Label
|
|
161
|
+
</Button>
|
|
11
162
|
```
|
|
12
163
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
Input,
|
|
32
|
-
Menu,
|
|
33
|
-
Modal,
|
|
34
|
-
ProgressWizard,
|
|
35
|
-
Sidebar,
|
|
36
|
-
Tabs,
|
|
37
|
-
TextArea,
|
|
38
|
-
Toaster,
|
|
39
|
-
Toggle,
|
|
40
|
-
Tooltip
|
|
41
|
-
} from '@softwareone/swo-spi-svelte5-library';
|
|
164
|
+
### Modal
|
|
165
|
+
|
|
166
|
+
```svelte
|
|
167
|
+
<script lang="ts">
|
|
168
|
+
let showModal = $state(false);
|
|
169
|
+
</script>
|
|
170
|
+
|
|
171
|
+
<Modal
|
|
172
|
+
bind:showModal
|
|
173
|
+
title="Confirm action"
|
|
174
|
+
width="xs" <!-- 'xs' | 'md' | 'lg' | 'xl' -->
|
|
175
|
+
>
|
|
176
|
+
<p>Body content.</p>
|
|
177
|
+
|
|
178
|
+
{#snippet footer()}
|
|
179
|
+
<Button onclick={() => (showModal = false)}>Close</Button>
|
|
180
|
+
{/snippet}
|
|
181
|
+
</Modal>
|
|
42
182
|
```
|
|
43
183
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
type
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
184
|
+
### Tabs
|
|
185
|
+
|
|
186
|
+
```svelte
|
|
187
|
+
<script lang="ts">
|
|
188
|
+
import type { Tab } from '@softwareone/spi-sv5-library';
|
|
189
|
+
const tabs: Tab[] = [
|
|
190
|
+
{ index: 0, label: 'Overview' },
|
|
191
|
+
{ index: 1, label: 'Settings' }
|
|
192
|
+
];
|
|
193
|
+
let active = $state(0);
|
|
194
|
+
</script>
|
|
195
|
+
|
|
196
|
+
<Tabs {tabs} bind:activeTab={active} onchange={(i) => console.log(i)} />
|
|
56
197
|
```
|
|
57
198
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
- ColumnType
|
|
93
|
-
- HighlightPanelColumn
|
|
94
|
-
- ImageType
|
|
95
|
-
- Menu
|
|
96
|
-
- MenuItem
|
|
97
|
-
- Modal
|
|
98
|
-
- ModalProps
|
|
99
|
-
- ProgressWizard
|
|
100
|
-
- ProgressWizardStep
|
|
101
|
-
- Tab
|
|
102
|
-
- Toast
|
|
199
|
+
---
|
|
200
|
+
|
|
201
|
+
## Exported types
|
|
202
|
+
|
|
203
|
+
```ts
|
|
204
|
+
import type {
|
|
205
|
+
AnnouncementItem,
|
|
206
|
+
HighlightPanelColumn,
|
|
207
|
+
HomeItem,
|
|
208
|
+
MainMenu,
|
|
209
|
+
MenuItem,
|
|
210
|
+
SubMenuItem,
|
|
211
|
+
ModalProps,
|
|
212
|
+
ProgressWizardStep,
|
|
213
|
+
RadioOption,
|
|
214
|
+
SelectOption,
|
|
215
|
+
SwitcherOption,
|
|
216
|
+
Tab,
|
|
217
|
+
ToastNotification,
|
|
218
|
+
WaffleItem
|
|
219
|
+
} from '@softwareone/spi-sv5-library';
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
## Exported enums
|
|
223
|
+
|
|
224
|
+
```ts
|
|
225
|
+
import { ChipType, ColumnType, ImageType } from '@softwareone/spi-sv5-library';
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
---
|
|
229
|
+
|
|
230
|
+
## License
|
|
231
|
+
|
|
232
|
+
MIT © SoftwareOne
|
|
@@ -1,19 +1,14 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import type { Snippet } from 'svelte';
|
|
3
3
|
|
|
4
|
-
interface
|
|
4
|
+
interface Props {
|
|
5
5
|
title: string;
|
|
6
6
|
disableBorder?: boolean;
|
|
7
7
|
isOpen?: boolean;
|
|
8
8
|
children: Snippet;
|
|
9
9
|
}
|
|
10
10
|
|
|
11
|
-
let {
|
|
12
|
-
title,
|
|
13
|
-
disableBorder = false,
|
|
14
|
-
isOpen = $bindable(false),
|
|
15
|
-
children
|
|
16
|
-
}: AccordionProps = $props();
|
|
11
|
+
let { title, disableBorder = false, isOpen = $bindable(false), children }: Props = $props();
|
|
17
12
|
|
|
18
13
|
const toggleAccordion = () => {
|
|
19
14
|
isOpen = !isOpen;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { Snippet } from 'svelte';
|
|
2
|
-
interface
|
|
2
|
+
interface Props {
|
|
3
3
|
title: string;
|
|
4
4
|
disableBorder?: boolean;
|
|
5
5
|
isOpen?: boolean;
|
|
6
6
|
children: Snippet;
|
|
7
7
|
}
|
|
8
|
-
declare const Accordion: import("svelte").Component<
|
|
8
|
+
declare const Accordion: import("svelte").Component<Props, {}, "isOpen">;
|
|
9
9
|
type Accordion = ReturnType<typeof Accordion>;
|
|
10
10
|
export default Accordion;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
type BackgroundColor = '#472AFF' | '#25282D';
|
|
3
3
|
type TextColor = '#333840' | '#FFFFFF';
|
|
4
4
|
|
|
5
|
-
interface
|
|
5
|
+
interface Props {
|
|
6
6
|
text: string;
|
|
7
7
|
backgroundColor?: BackgroundColor;
|
|
8
8
|
textColor?: TextColor;
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
backgroundColor = '#25282D',
|
|
15
15
|
textColor = '#FFFFFF',
|
|
16
16
|
keepOrder = false
|
|
17
|
-
}:
|
|
17
|
+
}: Props = $props();
|
|
18
18
|
|
|
19
19
|
const avatarSrc = (text: string): string => {
|
|
20
20
|
const defaultValue = 'SO';
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
type BackgroundColor = '#472AFF' | '#25282D';
|
|
2
2
|
type TextColor = '#333840' | '#FFFFFF';
|
|
3
|
-
interface
|
|
3
|
+
interface Props {
|
|
4
4
|
text: string;
|
|
5
5
|
backgroundColor?: BackgroundColor;
|
|
6
6
|
textColor?: TextColor;
|
|
7
7
|
keepOrder?: boolean;
|
|
8
8
|
}
|
|
9
|
-
declare const Avatar: import("svelte").Component<
|
|
9
|
+
declare const Avatar: import("svelte").Component<Props, {}, "">;
|
|
10
10
|
type Avatar = ReturnType<typeof Avatar>;
|
|
11
11
|
export default Avatar;
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
type Variant = 'primary' | 'secondary' | 'outline' | 'outline-none';
|
|
7
7
|
type VariantColor = 'primary' | 'danger';
|
|
8
8
|
|
|
9
|
-
interface
|
|
9
|
+
interface Props extends HTMLButtonAttributes {
|
|
10
10
|
variant?: Variant;
|
|
11
11
|
variantColor?: VariantColor;
|
|
12
12
|
loading?: boolean;
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
disabled = false,
|
|
21
21
|
children,
|
|
22
22
|
...props
|
|
23
|
-
}:
|
|
23
|
+
}: Props = $props();
|
|
24
24
|
|
|
25
25
|
const clearButtonFocus: Attachment<HTMLButtonElement> = (element: HTMLButtonElement) => {
|
|
26
26
|
if (loading) element.blur();
|
|
@@ -2,12 +2,12 @@ import type { Snippet } from 'svelte';
|
|
|
2
2
|
import type { HTMLButtonAttributes } from 'svelte/elements';
|
|
3
3
|
type Variant = 'primary' | 'secondary' | 'outline' | 'outline-none';
|
|
4
4
|
type VariantColor = 'primary' | 'danger';
|
|
5
|
-
interface
|
|
5
|
+
interface Props extends HTMLButtonAttributes {
|
|
6
6
|
variant?: Variant;
|
|
7
7
|
variantColor?: VariantColor;
|
|
8
8
|
loading?: boolean;
|
|
9
9
|
children: Snippet;
|
|
10
10
|
}
|
|
11
|
-
declare const Button: import("svelte").Component<
|
|
11
|
+
declare const Button: import("svelte").Component<Props, {}, "">;
|
|
12
12
|
type Button = ReturnType<typeof Button>;
|
|
13
13
|
export default Button;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import type { Snippet } from 'svelte';
|
|
3
3
|
|
|
4
|
-
interface
|
|
4
|
+
interface Props {
|
|
5
5
|
children?: Snippet;
|
|
6
6
|
disablePadding?: boolean;
|
|
7
7
|
}
|
|
8
8
|
|
|
9
|
-
let { children, disablePadding = false }:
|
|
9
|
+
let { children, disablePadding = false }: Props = $props();
|
|
10
10
|
</script>
|
|
11
11
|
|
|
12
12
|
<div class={['card', !disablePadding && 'padding']}>
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { Snippet } from 'svelte';
|
|
2
|
-
interface
|
|
2
|
+
interface Props {
|
|
3
3
|
children?: Snippet;
|
|
4
4
|
disablePadding?: boolean;
|
|
5
5
|
}
|
|
6
|
-
declare const Card: import("svelte").Component<
|
|
6
|
+
declare const Card: import("svelte").Component<Props, {}, "">;
|
|
7
7
|
type Card = ReturnType<typeof Card>;
|
|
8
8
|
export default Card;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import { ChipType } from './
|
|
2
|
+
import { ChipType } from './enums.js';
|
|
3
3
|
|
|
4
|
-
interface
|
|
4
|
+
interface Props {
|
|
5
5
|
type?: ChipType;
|
|
6
6
|
text?: string;
|
|
7
7
|
}
|
|
8
8
|
|
|
9
|
-
let { type = ChipType.Info, text = type.charAt(0).toUpperCase() + type.slice(1) }:
|
|
9
|
+
let { type = ChipType.Info, text = type.charAt(0).toUpperCase() + type.slice(1) }: Props =
|
|
10
10
|
$props();
|
|
11
11
|
</script>
|
|
12
12
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import type { Attachment } from 'svelte/attachments';
|
|
3
3
|
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
4
|
+
import { Label, Notification } from '../../../index.js';
|
|
5
|
+
import type { LabelProps } from '../label/types.js';
|
|
6
6
|
import FileManager from './FileManager.svelte';
|
|
7
7
|
import Warnings from './Warnings.svelte';
|
|
8
8
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
interface
|
|
1
|
+
interface Props {
|
|
2
2
|
validationMessages: string[];
|
|
3
3
|
}
|
|
4
|
-
declare const Warnings: import("svelte").Component<
|
|
4
|
+
declare const Warnings: import("svelte").Component<Props, {}, "">;
|
|
5
5
|
type Warnings = ReturnType<typeof Warnings>;
|
|
6
6
|
export default Warnings;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import type { HTMLInputAttributes } from 'svelte/elements';
|
|
3
3
|
|
|
4
|
-
import Label from '../
|
|
5
|
-
import type { LabelProps } from '../
|
|
4
|
+
import Label from '../label/Label.svelte';
|
|
5
|
+
import type { LabelProps } from '../label/types.js';
|
|
6
6
|
import InputIcon from './InputIcon.svelte';
|
|
7
7
|
|
|
8
8
|
type InputType = 'text' | 'password' | 'number' | 'date' | 'money';
|
|
9
9
|
|
|
10
|
-
interface
|
|
10
|
+
interface Props extends Omit<HTMLInputAttributes, 'type' | 'value'>, LabelProps {
|
|
11
11
|
type?: InputType;
|
|
12
12
|
value?: string | number | null;
|
|
13
13
|
error?: string | string[];
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
disableValidationColor = false,
|
|
32
32
|
infoTooltip,
|
|
33
33
|
...props
|
|
34
|
-
}:
|
|
34
|
+
}: Props = $props();
|
|
35
35
|
|
|
36
36
|
let isPasswordVisible = $state(false);
|
|
37
37
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { HTMLInputAttributes } from 'svelte/elements';
|
|
2
|
-
import type { LabelProps } from '../
|
|
2
|
+
import type { LabelProps } from '../label/types.js';
|
|
3
3
|
type InputType = 'text' | 'password' | 'number' | 'date' | 'money';
|
|
4
|
-
interface
|
|
4
|
+
interface Props extends Omit<HTMLInputAttributes, 'type' | 'value'>, LabelProps {
|
|
5
5
|
type?: InputType;
|
|
6
6
|
value?: string | number | null;
|
|
7
7
|
error?: string | string[];
|
|
@@ -9,6 +9,6 @@ interface InputProps extends Omit<HTMLInputAttributes, 'type' | 'value'>, LabelP
|
|
|
9
9
|
currency?: string;
|
|
10
10
|
disableValidationColor?: boolean;
|
|
11
11
|
}
|
|
12
|
-
declare const Input: import("svelte").Component<
|
|
12
|
+
declare const Input: import("svelte").Component<Props, {}, "value">;
|
|
13
13
|
type Input = ReturnType<typeof Input>;
|
|
14
14
|
export default Input;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import { Tooltip } from '
|
|
3
|
-
import type { LabelProps } from './
|
|
2
|
+
import { Tooltip } from '../../../index.js';
|
|
3
|
+
import type { LabelProps } from './types.js';
|
|
4
4
|
|
|
5
5
|
let { label, id, required, optional, infoTooltip }: LabelProps = $props();
|
|
6
6
|
</script>
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import Label from '../
|
|
3
|
-
import type { LabelProps } from '../
|
|
4
|
-
import type { OptionValueType, RadioOption } from './
|
|
2
|
+
import Label from '../label/Label.svelte';
|
|
3
|
+
import type { LabelProps } from '../label/types.js';
|
|
4
|
+
import type { OptionValueType, RadioOption } from './types.js';
|
|
5
5
|
|
|
6
|
-
interface
|
|
6
|
+
interface Props extends LabelProps {
|
|
7
7
|
options: string[] | RadioOption[];
|
|
8
8
|
name: string;
|
|
9
9
|
value?: OptionValueType;
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
row = false,
|
|
26
26
|
description,
|
|
27
27
|
onchange
|
|
28
|
-
}:
|
|
28
|
+
}: Props = $props();
|
|
29
29
|
|
|
30
30
|
const isStringArray = (items: string[] | RadioOption[]): items is string[] =>
|
|
31
31
|
typeof items[0] === 'string';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { LabelProps } from '../
|
|
2
|
-
import type { OptionValueType, RadioOption } from './
|
|
3
|
-
interface
|
|
1
|
+
import type { LabelProps } from '../label/types.js';
|
|
2
|
+
import type { OptionValueType, RadioOption } from './types.js';
|
|
3
|
+
interface Props extends LabelProps {
|
|
4
4
|
options: string[] | RadioOption[];
|
|
5
5
|
name: string;
|
|
6
6
|
value?: OptionValueType;
|
|
@@ -9,6 +9,6 @@ interface RadioGroupProps extends LabelProps {
|
|
|
9
9
|
description?: string;
|
|
10
10
|
onchange?: (value: OptionValueType) => void;
|
|
11
11
|
}
|
|
12
|
-
declare const RadioGroup: import("svelte").Component<
|
|
12
|
+
declare const RadioGroup: import("svelte").Component<Props, {}, "value">;
|
|
13
13
|
type RadioGroup = ReturnType<typeof RadioGroup>;
|
|
14
14
|
export default RadioGroup;
|