@softwareone/spi-sv5-library 0.1.3 → 1.1.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.
- package/README.md +75 -19
- package/dist/Avatar/Avatar.svelte +33 -0
- package/dist/Avatar/Avatar.svelte.d.ts +10 -0
- package/dist/Breadcrumbs/Breadcrumbs.svelte +10 -20
- package/dist/Button/Button.svelte +66 -115
- package/dist/Button/Button.svelte.d.ts +8 -6
- package/dist/Card/Card.svelte +18 -44
- package/dist/Card/Card.svelte.d.ts +1 -1
- package/dist/Chips/Chips.svelte +40 -46
- package/dist/Chips/Chips.svelte.d.ts +2 -1
- package/dist/Chips/chipsState.svelte.d.ts +7 -0
- package/dist/Chips/chipsState.svelte.js +8 -0
- package/dist/ErrorPage/ErrorPage.svelte +96 -0
- package/dist/ErrorPage/ErrorPage.svelte.d.ts +7 -0
- package/dist/Footer/Footer.svelte +29 -135
- package/dist/Footer/Footer.svelte.d.ts +1 -1
- package/dist/Form/Input/Input.svelte +393 -0
- package/dist/Form/Input/Input.svelte.d.ts +14 -0
- package/dist/Form/Input/InputIcon.svelte +97 -0
- package/dist/Form/Input/InputIcon.svelte.d.ts +9 -0
- package/dist/Form/TextArea/TextArea.svelte +260 -0
- package/dist/Form/TextArea/TextArea.svelte.d.ts +13 -0
- package/dist/Form/Toggle/Toggle.svelte +120 -0
- package/dist/{Toggle → Form/Toggle}/Toggle.svelte.d.ts +4 -3
- package/dist/Header/Header.svelte +54 -136
- package/dist/Header/Header.svelte.d.ts +2 -2
- package/dist/Header/HeaderAccount.svelte +14 -35
- package/dist/Header/HeaderLoader.svelte +2 -2
- package/dist/Header/HeaderLogo.svelte +7 -4
- package/dist/Header/HeaderLogo.svelte.d.ts +14 -6
- package/dist/HighlightPanel/HighlightPanel.svelte +125 -0
- package/dist/HighlightPanel/HighlightPanel.svelte.d.ts +10 -0
- package/dist/HighlightPanel/highlightPanelState.svelte.d.ts +35 -0
- package/dist/HighlightPanel/highlightPanelState.svelte.js +13 -0
- package/dist/Menu/Menu.svelte +158 -0
- package/dist/Menu/Menu.svelte.d.ts +8 -0
- package/dist/Menu/MenuItem.svelte +149 -0
- package/dist/Menu/MenuItem.svelte.d.ts +11 -0
- package/dist/Menu/Sidebar.svelte +228 -0
- package/dist/Menu/Sidebar.svelte.d.ts +11 -0
- package/dist/Menu/SidebarState.svelte.d.ts +6 -0
- package/dist/Menu/SidebarState.svelte.js +1 -0
- package/dist/Modal/Modal.svelte +81 -29
- package/dist/Modal/Modal.svelte.d.ts +2 -9
- package/dist/Modal/ModalContent.svelte +8 -88
- package/dist/Modal/ModalContent.svelte.d.ts +2 -3
- package/dist/Modal/ModalFooter.svelte +21 -66
- package/dist/Modal/ModalFooter.svelte.d.ts +5 -5
- package/dist/Modal/ModalHeader.svelte +50 -34
- package/dist/Modal/ModalHeader.svelte.d.ts +5 -4
- package/dist/Modal/modalState.svelte.d.ts +15 -0
- package/dist/Modal/modalState.svelte.js +1 -0
- package/dist/ProgressWizard/ProgressWizard.svelte +273 -294
- package/dist/ProgressWizard/ProgressWizard.svelte.d.ts +11 -13
- package/dist/ProgressWizard/progressWizardState.svelte.d.ts +6 -0
- package/dist/ProgressWizard/progressWizardState.svelte.js +1 -0
- package/dist/Search/Search.svelte +154 -0
- package/dist/Search/Search.svelte.d.ts +10 -0
- package/dist/Tabs/Tabs.svelte +111 -0
- package/dist/Tabs/Tabs.svelte.d.ts +8 -0
- package/dist/Tabs/tabsState.svelte.d.ts +7 -0
- package/dist/Tabs/tabsState.svelte.js +1 -0
- package/dist/Toast/Toast.svelte +116 -49
- package/dist/Toast/toastState.svelte.d.ts +7 -3
- package/dist/Toast/toastState.svelte.js +13 -10
- package/dist/Tooltip/Tooltip.svelte +168 -0
- package/dist/Tooltip/Tooltip.svelte.d.ts +13 -0
- package/dist/assets/icons/feedback.svg +5 -0
- package/dist/index.d.ts +28 -8
- package/dist/index.js +24 -9
- package/package.json +4 -5
- package/dist/Toggle/Toggle.svelte +0 -170
package/dist/Chips/Chips.svelte
CHANGED
|
@@ -1,77 +1,71 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
+
import { ChipType } from './chipsState.svelte.js';
|
|
3
|
+
|
|
2
4
|
interface ChipsProps {
|
|
3
|
-
type?:
|
|
5
|
+
type?: ChipType;
|
|
4
6
|
text?: string;
|
|
5
7
|
}
|
|
6
8
|
|
|
7
|
-
let { type, text }: ChipsProps =
|
|
8
|
-
|
|
9
|
-
type = type || 'info';
|
|
10
|
-
text = text || type.charAt(0).toUpperCase() + type.slice(1); // Default to capitalized type
|
|
11
|
-
|
|
12
|
-
let className = `chip chip-${type}`;
|
|
9
|
+
let { type = ChipType.Info, text = type.charAt(0).toUpperCase() + type.slice(1) }: ChipsProps =
|
|
10
|
+
$props();
|
|
13
11
|
</script>
|
|
14
12
|
|
|
15
|
-
<div class={
|
|
13
|
+
<div class="chip {type}">
|
|
16
14
|
{text}
|
|
17
15
|
</div>
|
|
18
16
|
|
|
19
17
|
<style>
|
|
20
|
-
/* Base chip styles */
|
|
21
18
|
.chip {
|
|
22
|
-
display: inline-
|
|
19
|
+
display: inline-block;
|
|
20
|
+
font-size: 14px;
|
|
21
|
+
font-weight: 500;
|
|
22
|
+
line-height: 20px;
|
|
23
|
+
background: var(--chip-bg);
|
|
24
|
+
color: var(--chip-text);
|
|
23
25
|
padding: 2px 8px;
|
|
24
|
-
align-items: center;
|
|
25
|
-
gap: 8px;
|
|
26
26
|
border-radius: 4px;
|
|
27
|
-
|
|
28
|
-
font-size: 14px;
|
|
29
|
-
font-style: normal;
|
|
30
|
-
font-weight: 400;
|
|
31
|
-
line-height: 20px; /* 142.857% */
|
|
32
|
-
|
|
33
|
-
/* Default colors (can be overridden by specific types) */
|
|
34
|
-
background: var(--chip-bg, #eaecff);
|
|
35
|
-
color: var(--chip-text, #3520bf);
|
|
27
|
+
cursor: default;
|
|
36
28
|
}
|
|
37
29
|
|
|
38
30
|
.chip:hover {
|
|
39
|
-
background: var(--chip-hover
|
|
31
|
+
background: var(--chip-bg-hover);
|
|
40
32
|
}
|
|
41
33
|
|
|
42
34
|
.chip:focus {
|
|
43
|
-
|
|
44
|
-
box-shadow: 0px 0px 0px 3px var(--chip-hover, #959bff);
|
|
35
|
+
box-shadow: 0px 0px 0px 3px #959bff;
|
|
45
36
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
--chip-
|
|
50
|
-
--chip-
|
|
51
|
-
--chip-hover: var(--alerts-info-2, #959bff);
|
|
37
|
+
.chip.info {
|
|
38
|
+
--chip-text: #3520bf;
|
|
39
|
+
--chip-bg: #eaecff;
|
|
40
|
+
--chip-text-hover: #2b1999;
|
|
41
|
+
--chip-bg-hover: #959bff;
|
|
52
42
|
}
|
|
53
43
|
|
|
54
|
-
.chip
|
|
55
|
-
--chip-
|
|
56
|
-
--chip-
|
|
57
|
-
--chip-hover:
|
|
44
|
+
.chip.success {
|
|
45
|
+
--chip-text: #00784d;
|
|
46
|
+
--chip-bg: #e6f9f2;
|
|
47
|
+
--chip-text-hover: #005838;
|
|
48
|
+
--chip-bg-hover: #80e1ae;
|
|
58
49
|
}
|
|
59
50
|
|
|
60
|
-
.chip
|
|
61
|
-
--chip-
|
|
62
|
-
--chip-
|
|
63
|
-
--chip-hover:
|
|
51
|
+
.chip.warning {
|
|
52
|
+
--chip-text: #a15d26;
|
|
53
|
+
--chip-bg: #fdf2e9;
|
|
54
|
+
--chip-text-hover: #733f11;
|
|
55
|
+
--chip-bg-hover: #f1b178;
|
|
64
56
|
}
|
|
65
57
|
|
|
66
|
-
.chip
|
|
67
|
-
--chip-
|
|
68
|
-
--chip-
|
|
69
|
-
--chip-hover:
|
|
58
|
+
.chip.error {
|
|
59
|
+
--chip-text: #bb1425;
|
|
60
|
+
--chip-bg: #fce8ea;
|
|
61
|
+
--chip-text-hover: #8f101d;
|
|
62
|
+
--chip-bg-hover: #ee8c96;
|
|
70
63
|
}
|
|
71
64
|
|
|
72
|
-
.chip
|
|
73
|
-
--chip-
|
|
74
|
-
--chip-
|
|
75
|
-
--chip-hover:
|
|
65
|
+
.chip.neutral {
|
|
66
|
+
--chip-text: #434952;
|
|
67
|
+
--chip-bg: #f4f6f8;
|
|
68
|
+
--chip-text-hover: #25282d;
|
|
69
|
+
--chip-bg-hover: #e0e5e8;
|
|
76
70
|
}
|
|
77
71
|
</style>
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { goto } from '$app/navigation';
|
|
3
|
+
import { page } from '$app/state';
|
|
4
|
+
|
|
5
|
+
import FeedbackIcon from '../assets/icons/feedback.svg';
|
|
6
|
+
import { Button } from '../index.js';
|
|
7
|
+
|
|
8
|
+
interface ErrorPageProps {
|
|
9
|
+
status: number;
|
|
10
|
+
title?: string;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
let { status, title }: ErrorPageProps = $props();
|
|
14
|
+
|
|
15
|
+
const errorTitle: Record<number, string> = {
|
|
16
|
+
[404]: 'Page not found',
|
|
17
|
+
[403]: 'Access denied',
|
|
18
|
+
[500]: 'An unexpected error occurred'
|
|
19
|
+
};
|
|
20
|
+
</script>
|
|
21
|
+
|
|
22
|
+
<section class="feedback-container">
|
|
23
|
+
<img src={FeedbackIcon} class="feedback-icon" alt="Feedback icon" />
|
|
24
|
+
|
|
25
|
+
<div class="feedback-detail">
|
|
26
|
+
<h1>{title || errorTitle[status]}</h1>
|
|
27
|
+
{#if status === 404}
|
|
28
|
+
<div>
|
|
29
|
+
<p>We couldn’t find the page:</p>
|
|
30
|
+
<p class="link">{page.url}</p>
|
|
31
|
+
</div>
|
|
32
|
+
{/if}
|
|
33
|
+
</div>
|
|
34
|
+
|
|
35
|
+
<p class="feedback-information">
|
|
36
|
+
You can get to safety by either going to our homepage, by going to the previous page or by
|
|
37
|
+
<br />
|
|
38
|
+
<span class="link">contacting our support</span>.
|
|
39
|
+
</p>
|
|
40
|
+
|
|
41
|
+
<div class="feedback-footer">
|
|
42
|
+
<Button variant="outline" onclick={() => window.history.back()}>Back</Button>
|
|
43
|
+
<Button variant="primary" onclick={() => goto(page.url.origin)}>Go home</Button>
|
|
44
|
+
</div>
|
|
45
|
+
</section>
|
|
46
|
+
|
|
47
|
+
<style>
|
|
48
|
+
.feedback-container {
|
|
49
|
+
display: flex;
|
|
50
|
+
flex-direction: column;
|
|
51
|
+
margin-left: auto;
|
|
52
|
+
margin-right: auto;
|
|
53
|
+
width: 350px;
|
|
54
|
+
padding: 24px;
|
|
55
|
+
gap: 32px;
|
|
56
|
+
border-radius: 16px;
|
|
57
|
+
background-color: #fff;
|
|
58
|
+
box-shadow:
|
|
59
|
+
0px 1px 16px rgba(107, 113, 128, 0.1),
|
|
60
|
+
0px 1px 3px rgba(107, 113, 128, 0.2);
|
|
61
|
+
align-items: center;
|
|
62
|
+
text-align: center;
|
|
63
|
+
font-size: 14px;
|
|
64
|
+
line-height: 20px;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.feedback-icon {
|
|
68
|
+
width: 100px;
|
|
69
|
+
height: 100px;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.feedback-detail {
|
|
73
|
+
display: flex;
|
|
74
|
+
flex-direction: column;
|
|
75
|
+
gap: 8px;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.feedback-detail > h1 {
|
|
79
|
+
font-size: 24px;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.feedback-detail .link {
|
|
83
|
+
word-break: break-all;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.feedback-footer {
|
|
87
|
+
display: flex;
|
|
88
|
+
flex-direction: row;
|
|
89
|
+
justify-content: space-between;
|
|
90
|
+
align-self: stretch;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.link {
|
|
94
|
+
color: #472aff;
|
|
95
|
+
}
|
|
96
|
+
</style>
|
|
@@ -1,162 +1,56 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
interface FooterProps {
|
|
3
|
-
|
|
3
|
+
homeUrl?: string;
|
|
4
4
|
}
|
|
5
|
-
|
|
6
|
-
let { isInternal }: FooterProps = $props();
|
|
7
|
-
|
|
8
|
-
isInternal = isInternal ?? false;
|
|
5
|
+
let { homeUrl = '/' }: FooterProps = $props();
|
|
9
6
|
</script>
|
|
10
7
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
<article class="footer-links">
|
|
26
|
-
<div class="footer-link">Privacy Supplement - Cloud Control Platform</div>
|
|
27
|
-
<div class="footer-link">© 2024 SoftwareOne. All rights reserved</div>
|
|
28
|
-
</article>
|
|
29
|
-
</section>
|
|
30
|
-
{:else}
|
|
31
|
-
<div class="logo-legal-section">
|
|
32
|
-
<div class="logo">
|
|
33
|
-
<div class="powered-by">Powered by</div>
|
|
34
|
-
<div class="software-one">
|
|
35
|
-
<svg
|
|
36
|
-
width="120"
|
|
37
|
-
height="43"
|
|
38
|
-
viewBox="0 0 120 43"
|
|
39
|
-
fill="none"
|
|
40
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
8
|
+
<div class="footer-section">
|
|
9
|
+
<a href={homeUrl} title="Home">
|
|
10
|
+
<img alt="SoftwareOne logo" class="logo-image" src="/softwareone-logo-white.svg" />
|
|
11
|
+
</a>
|
|
12
|
+
<ul class="links">
|
|
13
|
+
<li>
|
|
14
|
+
<a href="mailto:support@softwareone.com" title="support@softwareone.com">Support</a>
|
|
15
|
+
</li>
|
|
16
|
+
<li>
|
|
17
|
+
<a
|
|
18
|
+
href="https://softwareone.atlassian.net/wiki/spaces/MA/pages/4642996240/GDAP+Manual"
|
|
19
|
+
title="GDAP Manual"
|
|
20
|
+
target="_blank"
|
|
21
|
+
rel="noopener noreferrer">Documentation</a
|
|
41
22
|
>
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
fill="white"
|
|
49
|
-
/>
|
|
50
|
-
</svg>
|
|
51
|
-
</div>
|
|
52
|
-
</div>
|
|
53
|
-
<div class="legal">
|
|
54
|
-
<div class="legal-text">
|
|
55
|
-
SoftwareONE is a trademark of SoftwareONE, Inc. "The Software Licensing Experts" is a
|
|
56
|
-
service mark of SoftwareONE, Inc. VAR assist is a trademark of SoftwareONE, Inc. "It pays to
|
|
57
|
-
partner" is a service mark of SoftwareONE, Incorporated. All other trademarks, service marks
|
|
58
|
-
or trade names appearing herein are the property of their respective owners.
|
|
59
|
-
</div>
|
|
60
|
-
<div class="legal-text">Privacy Statement | Terms of Service</div>
|
|
61
|
-
</div>
|
|
23
|
+
</li>
|
|
24
|
+
</ul>
|
|
25
|
+
<ul class="legal">
|
|
26
|
+
<li>Privacy Supplement - Cloud Control Platform</li>
|
|
27
|
+
<li>© 2025 SoftwareOne. All rights reserved</li>
|
|
28
|
+
</ul>
|
|
62
29
|
</div>
|
|
63
|
-
{/if}
|
|
64
30
|
|
|
65
31
|
<style>
|
|
66
|
-
/* Footer sticks to the bottom */
|
|
67
32
|
.footer-section {
|
|
68
33
|
background-color: #25282d;
|
|
69
34
|
display: flex;
|
|
70
|
-
flex-direction: row;
|
|
71
35
|
gap: 96px;
|
|
72
36
|
align-items: center;
|
|
73
37
|
justify-content: center;
|
|
74
38
|
padding: 24px;
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
.footer-logo {
|
|
78
|
-
display: flex;
|
|
79
|
-
justify-content: center;
|
|
39
|
+
color: white;
|
|
80
40
|
}
|
|
81
41
|
|
|
82
42
|
.logo-image {
|
|
83
43
|
width: 192px;
|
|
84
44
|
}
|
|
85
45
|
|
|
86
|
-
.footer-links
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
font-family: 'Haas Grotesk Display Pro', sans-serif;
|
|
92
|
-
font-size: 16px;
|
|
93
|
-
font-weight: 400;
|
|
94
|
-
color: white;
|
|
95
|
-
padding-bottom: 4px;
|
|
96
|
-
text-decoration: none;
|
|
46
|
+
.footer-section .links,
|
|
47
|
+
.footer-section .legal {
|
|
48
|
+
display: flex;
|
|
49
|
+
flex-direction: column;
|
|
50
|
+
gap: 4px;
|
|
97
51
|
}
|
|
98
52
|
|
|
99
|
-
.footer-
|
|
100
|
-
color: #fff;
|
|
101
|
-
cursor: pointer;
|
|
53
|
+
.footer-section a:hover {
|
|
102
54
|
text-decoration: underline;
|
|
103
55
|
}
|
|
104
|
-
|
|
105
|
-
.logo-legal-section {
|
|
106
|
-
display: inline-flex;
|
|
107
|
-
height: 118.35px;
|
|
108
|
-
width: 100%;
|
|
109
|
-
align-items: center;
|
|
110
|
-
justify-content: space-between;
|
|
111
|
-
padding: 10px 20px;
|
|
112
|
-
position: absolute;
|
|
113
|
-
bottom: 0;
|
|
114
|
-
left: 0;
|
|
115
|
-
margin-left:24px;
|
|
116
|
-
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
.legal-text {
|
|
120
|
-
font-size: 12px;
|
|
121
|
-
color: #6b7180;
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
.logo-legal-section {
|
|
125
|
-
display: inline-flex;
|
|
126
|
-
height: 118.35px;
|
|
127
|
-
width: 1440px;
|
|
128
|
-
align-items: center;
|
|
129
|
-
justify-content: start;
|
|
130
|
-
gap: 20px;
|
|
131
|
-
padding: 6px;
|
|
132
|
-
}
|
|
133
|
-
.logo {
|
|
134
|
-
display: inline-flex;
|
|
135
|
-
flex-direction: column;
|
|
136
|
-
align-items: start;
|
|
137
|
-
justify-content: start;
|
|
138
|
-
gap: 2px;
|
|
139
|
-
}
|
|
140
|
-
.powered-by {
|
|
141
|
-
font-family: 'Haas Grot Text', sans-serif;
|
|
142
|
-
font-size: 14px;
|
|
143
|
-
font-weight: 500;
|
|
144
|
-
line-height: 1.5;
|
|
145
|
-
color: #6b7180;
|
|
146
|
-
}
|
|
147
|
-
.legal {
|
|
148
|
-
display: inline-flex;
|
|
149
|
-
flex-grow: 1;
|
|
150
|
-
flex-direction: column;
|
|
151
|
-
align-items: start;
|
|
152
|
-
justify-content: start;
|
|
153
|
-
gap: 2px;
|
|
154
|
-
}
|
|
155
|
-
.legal-text {
|
|
156
|
-
font-family: 'Haas Grot Text', sans-serif;
|
|
157
|
-
width: 100%;
|
|
158
|
-
font-size: 12px;
|
|
159
|
-
font-weight: 500;
|
|
160
|
-
color: #6b7180;
|
|
161
|
-
}
|
|
162
56
|
</style>
|