@softwareone/spi-sv5-library 1.14.3 → 1.15.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 (89) hide show
  1. package/dist/components/accordion/Accordion.svelte +14 -23
  2. package/dist/components/announcement/Announcement.svelte +53 -61
  3. package/dist/components/avatar/Avatar.svelte +30 -12
  4. package/dist/components/avatar/Avatar.svelte.d.ts +2 -2
  5. package/dist/components/button/Button.svelte +41 -44
  6. package/dist/components/card/Card.svelte +4 -6
  7. package/dist/components/chips/Chips.svelte +37 -36
  8. package/dist/components/chips/Chips.svelte.d.ts +1 -1
  9. package/dist/components/confirmation/Confirmation.svelte +6 -6
  10. package/dist/components/confirmation/Confirmation.svelte.d.ts +2 -2
  11. package/dist/components/controls/attach-file/AttachFile.svelte +18 -41
  12. package/dist/components/controls/attach-file/FileManager.svelte +16 -30
  13. package/dist/components/controls/attach-file/Warnings.svelte +13 -15
  14. package/dist/components/controls/input/Input.svelte +46 -72
  15. package/dist/components/controls/input/InputIcon.svelte +13 -13
  16. package/dist/components/controls/label/Label.svelte +5 -9
  17. package/dist/components/controls/radio-group/RadioGroup.svelte +25 -39
  18. package/dist/components/controls/select/Select.svelte +49 -71
  19. package/dist/components/controls/textarea/TextArea.svelte +36 -45
  20. package/dist/components/controls/toggle/Toggle.svelte +35 -37
  21. package/dist/components/delete-confirmation/DeleteConfirmation.svelte +3 -5
  22. package/dist/components/error-page/ErrorPage.svelte +9 -18
  23. package/dist/components/footer/Footer.svelte +9 -14
  24. package/dist/components/footer/Footer.svelte.d.ts +0 -1
  25. package/dist/components/footer/FooterLogo.svelte +16 -0
  26. package/dist/components/footer/FooterLogo.svelte.d.ts +26 -0
  27. package/dist/components/form/Form.svelte +1 -1
  28. package/dist/components/header/Header.svelte +39 -45
  29. package/dist/components/header/HeaderAccount.svelte +21 -33
  30. package/dist/components/header/HeaderLoader.svelte +13 -8
  31. package/dist/components/highlight-panel/HighlightPanel.svelte +29 -34
  32. package/dist/components/home/Home.svelte +18 -36
  33. package/dist/components/link/Link.svelte +1 -1
  34. package/dist/components/menu/Menu.svelte +16 -21
  35. package/dist/components/menu/MenuItem.svelte +25 -29
  36. package/dist/components/menu/Sidebar.svelte +32 -40
  37. package/dist/components/menu/utils.d.ts +1 -1
  38. package/dist/components/menu/utils.js +6 -7
  39. package/dist/components/modal/Modal.svelte +8 -11
  40. package/dist/components/modal/ModalContent.svelte +3 -3
  41. package/dist/components/modal/ModalFooter.svelte +5 -5
  42. package/dist/components/modal/ModalHeader.svelte +6 -11
  43. package/dist/components/notification/Notification.svelte +20 -27
  44. package/dist/components/processing/Processing.svelte +9 -16
  45. package/dist/components/progress-page/ProgressPage.svelte +13 -18
  46. package/dist/components/progress-wizard/ProgressWizard.svelte +43 -54
  47. package/dist/components/search/Search.svelte +24 -29
  48. package/dist/components/spinner/Spinner.svelte +1 -1
  49. package/dist/components/switcher/Switcher.svelte +14 -23
  50. package/dist/components/table/ActionsColumn.svelte +13 -33
  51. package/dist/components/table/AdvancedFilter.svelte +39 -74
  52. package/dist/components/table/Body.svelte +9 -18
  53. package/dist/components/table/ColumnVisibilityDropdown.svelte +24 -55
  54. package/dist/components/table/Footer.svelte +2 -4
  55. package/dist/components/table/Header.svelte +23 -44
  56. package/dist/components/table/PageSize.svelte +24 -36
  57. package/dist/components/table/Pagination.svelte +49 -35
  58. package/dist/components/table/RowCheckBox.svelte +5 -12
  59. package/dist/components/table/Skeleton.svelte +16 -25
  60. package/dist/components/table/Table.svelte +50 -38
  61. package/dist/components/table/Table.svelte.d.ts +5 -1
  62. package/dist/components/table/types.d.ts +9 -1
  63. package/dist/components/table/utils.d.ts +5 -1
  64. package/dist/components/table/utils.js +8 -8
  65. package/dist/components/tabs/Tabs.svelte +16 -20
  66. package/dist/components/toast/Toast.svelte +27 -30
  67. package/dist/components/tooltip/Tooltip.svelte +15 -19
  68. package/dist/components/waffle/Waffle.svelte +9 -13
  69. package/dist/components/waffle/WaffleItems.svelte +10 -13
  70. package/dist/styles/index.css +3 -0
  71. package/dist/styles/reset.css +19 -0
  72. package/dist/styles/tokens/index.css +2 -0
  73. package/dist/styles/tokens/primitives/borders.css +17 -0
  74. package/dist/styles/tokens/primitives/colors.css +41 -0
  75. package/dist/styles/tokens/primitives/index.css +7 -0
  76. package/dist/styles/tokens/primitives/motion.css +11 -0
  77. package/dist/styles/tokens/primitives/opacity.css +6 -0
  78. package/dist/styles/tokens/primitives/shadows.css +11 -0
  79. package/dist/styles/tokens/primitives/sizing.css +19 -0
  80. package/dist/styles/tokens/primitives/typography.css +13 -0
  81. package/dist/styles/tokens/semantic/colors.css +78 -0
  82. package/dist/styles/tokens/semantic/index.css +2 -0
  83. package/dist/styles/tokens/semantic/shadows.css +9 -0
  84. package/dist/styles/utilities.css +73 -0
  85. package/dist/utils/index.d.ts +1 -0
  86. package/dist/utils/index.js +1 -0
  87. package/dist/utils/url.d.ts +3 -0
  88. package/dist/utils/url.js +15 -0
  89. package/package.json +3 -2
@@ -39,7 +39,7 @@
39
39
  aria-labelledby="waffle-title"
40
40
  aria-modal="true"
41
41
  >
42
- <h2 class="waffle-title">SoftwareOne Cloud</h2>
42
+ <h2 class="waffle-title spi-text-semibold-2">SoftwareOne Cloud</h2>
43
43
 
44
44
  <div class="waffle-content">
45
45
  <ul class="waffle-grid" role="list">
@@ -57,7 +57,7 @@
57
57
  .waffle-backdrop {
58
58
  position: fixed;
59
59
  inset: 0;
60
- background: rgba(243, 244, 246, 0.5);
60
+ background: var(--spi-color-backdrop);
61
61
  cursor: pointer;
62
62
  z-index: 30;
63
63
  }
@@ -66,31 +66,27 @@
66
66
  position: absolute;
67
67
  display: flex;
68
68
  flex-direction: column;
69
- border-radius: 8px;
70
- background: #fff;
71
- box-shadow:
72
- 0 10px 15px -3px rgba(0, 0, 0, 0.1),
73
- 0 4px 6px -2px rgba(0, 0, 0, 0.05);
74
- top: 80px;
69
+ border-radius: var(--spi-rounded-lg);
70
+ background: var(--spi-color-surface-default);
71
+ box-shadow: var(--spi-shadow-dropdown);
72
+ top: var(--spi-size-20);
75
73
  left: 0;
76
74
  z-index: 40;
77
75
  width: 600px;
78
76
  }
79
77
 
80
78
  .waffle-content {
81
- padding: 20px 24px 24px 24px;
79
+ padding: var(--spi-size-5) var(--spi-size-6) var(--spi-size-6) var(--spi-size-6);
82
80
  }
83
81
 
84
82
  .waffle-title {
85
- padding: 24px 24px 0 24px;
86
- font-size: 14px;
87
- font-weight: 600;
83
+ padding: var(--spi-size-6) var(--spi-size-6) 0 var(--spi-size-6);
88
84
  text-align: center;
89
85
  }
90
86
 
91
87
  .waffle-grid {
92
88
  display: grid;
93
89
  grid-template-columns: repeat(3, 1fr);
94
- gap: 16px;
90
+ gap: var(--spi-size-4);
95
91
  }
96
92
  </style>
@@ -10,7 +10,7 @@
10
10
 
11
11
  <button type="button" onclick={onclickwaffleitems} class="waffle-item-button">
12
12
  <img src={iconUrl} alt="" aria-hidden="true" class="waffle-item-img" />
13
- <h3 class="waffle-title">
13
+ <h3 class="waffle-title spi-text-medium-2">
14
14
  {title}
15
15
  </h3>
16
16
  </button>
@@ -24,39 +24,36 @@
24
24
  flex-direction: column;
25
25
  align-items: center;
26
26
  justify-content: center;
27
- border-radius: 8px;
27
+ border-radius: var(--spi-rounded-lg);
28
28
  text-align: center;
29
29
  border: none;
30
30
  background: transparent;
31
31
  cursor: pointer;
32
- transition: background-color 0.2s ease-in-out;
32
+ transition: background-color var(--spi-duration-normal) var(--spi-ease-in-out);
33
33
  }
34
34
 
35
35
  .waffle-item-button:hover {
36
- background: #f4f6f8;
36
+ background: var(--spi-color-surface-subtle);
37
37
  }
38
38
 
39
39
  .waffle-item-button:focus,
40
40
  .waffle-item-button:focus-visible {
41
- background: #eaecff;
41
+ background: var(--spi-color-primary-lighter);
42
42
  }
43
43
 
44
44
  .waffle-item-img {
45
- width: 40px;
46
- height: 40px;
47
- margin-bottom: 12px;
45
+ width: var(--spi-size-10);
46
+ height: var(--spi-size-10);
47
+ margin-bottom: var(--spi-size-3);
48
48
  filter: invert(27%) sepia(99%) saturate(4729%) hue-rotate(240deg) brightness(101%)
49
49
  contrast(106%);
50
50
  }
51
51
 
52
52
  .waffle-title {
53
- color: #000;
54
- font-weight: 500;
55
- font-size: inherit;
53
+ color: var(--spi-color-text-primary);
56
54
  word-break: break-words;
57
- line-height: 1.25;
58
55
  text-align: center;
59
- padding: 0 4px;
56
+ padding: 0 var(--spi-size-1);
60
57
  margin: 0;
61
58
  }
62
59
  </style>
@@ -0,0 +1,3 @@
1
+ @import './tokens/index.css';
2
+ @import './reset.css';
3
+ @import './utilities.css';
@@ -0,0 +1,19 @@
1
+ *,
2
+ *::before,
3
+ *::after {
4
+ margin: 0;
5
+ padding: 0;
6
+ box-sizing: border-box;
7
+ }
8
+
9
+ ul,
10
+ ol,
11
+ li,
12
+ summary {
13
+ list-style: none;
14
+ }
15
+
16
+ a {
17
+ text-decoration: none;
18
+ color: inherit;
19
+ }
@@ -0,0 +1,2 @@
1
+ @import './primitives/index.css';
2
+ @import './semantic/index.css';
@@ -0,0 +1,17 @@
1
+ :root {
2
+ --spi-border-1: 1px;
3
+ --spi-border-2: 2px;
4
+ --spi-border-3: 3px;
5
+ --spi-border-4: 4px;
6
+ --spi-border-5: 5px;
7
+
8
+ --spi-rounded-none: 0;
9
+ --spi-rounded-xs: 2px;
10
+ --spi-rounded-sm: 4px;
11
+ --spi-rounded-md: 6px;
12
+ --spi-rounded-lg: 8px;
13
+ --spi-rounded-xl: 12px;
14
+ --spi-rounded-2xl: 16px;
15
+ --spi-rounded-3xl: 24px;
16
+ --spi-rounded-full: 9999px;
17
+ }
@@ -0,0 +1,41 @@
1
+ :root {
2
+ --spi-color-violet-1: #eaecff;
3
+ --spi-color-violet-2: #959bff;
4
+ --spi-color-violet-3: #472aff;
5
+ --spi-color-violet-4: #3520bf;
6
+ --spi-color-violet-5: #2b1999;
7
+
8
+ --spi-color-red-1: #fce8ea;
9
+ --spi-color-red-2: #ee8c96;
10
+ --spi-color-red-3: #dc182c;
11
+ --spi-color-red-4: #bb1425;
12
+ --spi-color-red-5: #8f101d;
13
+
14
+ --spi-color-gray-1: #f4f6f8;
15
+ --spi-color-gray-2: #e0e5e8;
16
+ --spi-color-gray-3: #aeb1b9;
17
+ --spi-color-gray-4: #6b7180;
18
+ --spi-color-gray-5: #434952;
19
+ --spi-color-gray-6: #25282d;
20
+
21
+ --spi-color-green-1: #e6f9f2;
22
+ --spi-color-green-2: #80e1ae;
23
+ --spi-color-green-3: #008556;
24
+ --spi-color-green-4: #00784d;
25
+ --spi-color-green-5: #005838;
26
+
27
+ --spi-color-blue-1: #cae4ff;
28
+ --spi-color-blue-2: #4da6ff;
29
+ --spi-color-blue-3: #2775c4;
30
+ --spi-color-blue-4: #1f5c99;
31
+ --spi-color-blue-5: #174475;
32
+
33
+ --spi-color-orange-1: #fdf2e9;
34
+ --spi-color-orange-2: #f1b178;
35
+ --spi-color-orange-3: #e87d1e;
36
+ --spi-color-orange-4: #733f11;
37
+ --spi-color-orange-5: #4d2a0b;
38
+
39
+ --spi-color-white: #ffffff;
40
+ --spi-color-black: #000000;
41
+ }
@@ -0,0 +1,7 @@
1
+ @import './borders.css';
2
+ @import './colors.css';
3
+ @import './motion.css';
4
+ @import './opacity.css';
5
+ @import './shadows.css';
6
+ @import './sizing.css';
7
+ @import './typography.css';
@@ -0,0 +1,11 @@
1
+ :root {
2
+ --spi-duration-fast: 100ms;
3
+ --spi-duration-normal: 200ms;
4
+ --spi-duration-slow: 300ms;
5
+ --spi-duration-slower: 500ms;
6
+
7
+ --spi-ease-default: ease;
8
+ --spi-ease-in: ease-in;
9
+ --spi-ease-out: ease-out;
10
+ --spi-ease-in-out: ease-in-out;
11
+ }
@@ -0,0 +1,6 @@
1
+ :root {
2
+ --spi-opacity-0: 0;
3
+ --spi-opacity-50: 0.5;
4
+ --spi-opacity-100: 1;
5
+ --spi-opacity-disabled: 0.4;
6
+ }
@@ -0,0 +1,11 @@
1
+ :root {
2
+ --spi-shadow-sm: 0 1px 16px 0 rgba(107, 113, 128, 0.1), 0 1px 3px 0 rgba(107, 113, 128, 0.2);
3
+
4
+ --spi-shadow-md:
5
+ 0 1px 10px 0 rgba(51, 56, 64, 0.12), 0 2px 4px -1px rgba(51, 56, 64, 0.2),
6
+ 0 4px 5px 0 rgba(51, 56, 64, 0.14);
7
+
8
+ --spi-shadow-lg:
9
+ 0 4px 5px 0 rgba(51, 56, 64, 0.15), 0 1px 3px 0 rgba(51, 56, 64, 0.2),
10
+ 0 1px 16px 0 rgba(51, 56, 64, 0.1);
11
+ }
@@ -0,0 +1,19 @@
1
+ :root {
2
+ --spi-size-1: 4px;
3
+ --spi-size-2: 8px;
4
+ --spi-size-3: 12px;
5
+ --spi-size-4: 16px;
6
+ --spi-size-5: 20px;
7
+ --spi-size-6: 24px;
8
+ --spi-size-7: 28px;
9
+ --spi-size-8: 32px;
10
+ --spi-size-9: 36px;
11
+ --spi-size-10: 40px;
12
+ --spi-size-11: 44px;
13
+ --spi-size-12: 48px;
14
+ --spi-size-14: 56px;
15
+ --spi-size-16: 64px;
16
+ --spi-size-18: 72px;
17
+ --spi-size-20: 80px;
18
+ --spi-size-24: 96px;
19
+ }
@@ -0,0 +1,13 @@
1
+ :root {
2
+ --spi-font-size-xs: 0.75rem; /* 12px */
3
+ --spi-font-size-sm: 0.875rem; /* 14px */
4
+ --spi-font-size-md: 1rem; /* 16px */
5
+ --spi-font-size-lg: 1.125rem; /* 18px */
6
+ --spi-font-size-xl: 1.25rem; /* 20px */
7
+ --spi-font-size-2xl: 1.5rem; /* 24px */
8
+
9
+ --spi-font-weight-regular: 400;
10
+ --spi-font-weight-medium: 500;
11
+ --spi-font-weight-semibold: 600;
12
+ --spi-font-weight-bold: 700;
13
+ }
@@ -0,0 +1,78 @@
1
+ :root {
2
+ /* Primary */
3
+ --spi-color-primary-lighter: var(--spi-color-violet-1);
4
+ --spi-color-primary-light: var(--spi-color-violet-2);
5
+ --spi-color-primary-base: var(--spi-color-violet-3);
6
+ --spi-color-primary-dark: var(--spi-color-violet-4);
7
+ --spi-color-primary-darker: var(--spi-color-violet-5);
8
+
9
+ /* Danger */
10
+ --spi-color-danger-lighter: var(--spi-color-red-1);
11
+ --spi-color-danger-light: var(--spi-color-red-2);
12
+ --spi-color-danger-base: var(--spi-color-red-3);
13
+ --spi-color-danger-dark: var(--spi-color-red-4);
14
+ --spi-color-danger-darker: var(--spi-color-red-5);
15
+
16
+ /* Neutral */
17
+ --spi-color-neutral-lighter: var(--spi-color-gray-1);
18
+ --spi-color-neutral-light: var(--spi-color-gray-2);
19
+ --spi-color-neutral-base: var(--spi-color-gray-3);
20
+ --spi-color-neutral-dark: var(--spi-color-gray-4);
21
+ --spi-color-neutral-darker: var(--spi-color-gray-5);
22
+ --spi-color-neutral-darkest: var(--spi-color-gray-6);
23
+
24
+ /* Success */
25
+ --spi-color-success-lighter: var(--spi-color-green-1);
26
+ --spi-color-success-light: var(--spi-color-green-2);
27
+ --spi-color-success-base: var(--spi-color-green-3);
28
+ --spi-color-success-dark: var(--spi-color-green-4);
29
+ --spi-color-success-darker: var(--spi-color-green-5);
30
+
31
+ /* Warning */
32
+ --spi-color-warning-lighter: var(--spi-color-orange-1);
33
+ --spi-color-warning-light: var(--spi-color-orange-2);
34
+ --spi-color-warning-base: var(--spi-color-orange-3);
35
+ --spi-color-warning-dark: var(--spi-color-orange-4);
36
+ --spi-color-warning-darker: var(--spi-color-orange-5);
37
+
38
+ /* Info */
39
+ --spi-color-info-lighter: var(--spi-color-blue-1);
40
+ --spi-color-info-light: var(--spi-color-blue-2);
41
+ --spi-color-info-base: var(--spi-color-blue-3);
42
+ --spi-color-info-dark: var(--spi-color-blue-4);
43
+ --spi-color-info-darker: var(--spi-color-blue-5);
44
+
45
+ /* Text */
46
+ --spi-color-text-primary: var(--spi-color-black);
47
+ --spi-color-text-secondary: var(--spi-color-gray-5);
48
+ --spi-color-text-muted: var(--spi-color-gray-4);
49
+ --spi-color-text-placeholder: var(--spi-color-gray-4);
50
+ --spi-color-text-disabled: var(--spi-color-gray-3);
51
+ --spi-color-text-inverse: var(--spi-color-white);
52
+ --spi-color-text-link: var(--spi-color-violet-3);
53
+ --spi-color-text-danger: var(--spi-color-red-3);
54
+ --spi-color-text-success: var(--spi-color-green-3);
55
+ --spi-color-text-warning: var(--spi-color-orange-3);
56
+ --spi-color-text-info: var(--spi-color-blue-3);
57
+
58
+ /* Surface */
59
+ --spi-color-surface-default: var(--spi-color-white);
60
+ --spi-color-surface-subtle: var(--spi-color-gray-1);
61
+ --spi-color-surface-muted: var(--spi-color-gray-2);
62
+ --spi-color-surface-inverse: var(--spi-color-gray-5);
63
+ --spi-color-backdrop: color-mix(in srgb, var(--spi-color-gray-2) 52%, transparent);
64
+
65
+ /* Border */
66
+ --spi-color-border-default: var(--spi-color-gray-2);
67
+ --spi-color-border-medium: var(--spi-color-gray-3);
68
+ --spi-color-border-strong: var(--spi-color-gray-4);
69
+ --spi-color-border-focus: var(--spi-color-violet-3);
70
+ --spi-color-border-danger: var(--spi-color-red-3);
71
+ --spi-color-border-success: var(--spi-color-green-3);
72
+
73
+ /* Interactive states */
74
+ --spi-color-focus-ring: var(--spi-color-violet-1);
75
+ --spi-color-disabled-bg: var(--spi-color-gray-2);
76
+ --spi-color-disabled-text: var(--spi-color-gray-3);
77
+ --spi-color-disabled-border: var(--spi-color-gray-4);
78
+ }
@@ -0,0 +1,2 @@
1
+ @import './colors.css';
2
+ @import './shadows.css';
@@ -0,0 +1,9 @@
1
+ :root {
2
+ --spi-shadow-card: var(--spi-shadow-sm);
3
+ --spi-shadow-card-hover: var(--spi-shadow-md);
4
+ --spi-shadow-dropdown: var(--spi-shadow-lg);
5
+
6
+ --spi-shadow-focus-primary: 0 0 0 var(--spi-border-3) var(--spi-color-focus-ring);
7
+ --spi-shadow-focus-danger: 0 0 0 var(--spi-border-3) var(--spi-color-danger-lighter);
8
+ --spi-shadow-focus-success: 0 0 0 var(--spi-border-3) var(--spi-color-success-lighter);
9
+ }
@@ -0,0 +1,73 @@
1
+ :is(.spi-text-regular-1, .spi-text-medium-1, .spi-text-semibold-1, .spi-text-bold-1) {
2
+ font-size: var(--spi-font-size-xs);
3
+ line-height: 1.33;
4
+ }
5
+
6
+ :is(.spi-text-regular-2, .spi-text-medium-2, .spi-text-semibold-2, .spi-text-bold-2) {
7
+ font-size: var(--spi-font-size-sm);
8
+ line-height: 1.42;
9
+ }
10
+
11
+ :is(.spi-text-regular-3, .spi-text-medium-3, .spi-text-semibold-3, .spi-text-bold-3) {
12
+ font-size: var(--spi-font-size-md);
13
+ line-height: 1.5;
14
+ }
15
+
16
+ :is(.spi-text-regular-4, .spi-text-medium-4, .spi-text-semibold-4, .spi-text-bold-4) {
17
+ font-size: var(--spi-font-size-lg);
18
+ line-height: 1.555556;
19
+ }
20
+
21
+ :is(.spi-text-regular-5, .spi-text-medium-5, .spi-text-semibold-5, .spi-text-bold-5) {
22
+ font-size: var(--spi-font-size-xl);
23
+ line-height: 1.4;
24
+ }
25
+
26
+ :is(.spi-text-regular-6, .spi-text-medium-6, .spi-text-semibold-6, .spi-text-bold-6) {
27
+ font-size: var(--spi-font-size-2xl);
28
+ line-height: 1.333333;
29
+ }
30
+
31
+ :is(
32
+ .spi-text-regular-1,
33
+ .spi-text-regular-2,
34
+ .spi-text-regular-3,
35
+ .spi-text-regular-4,
36
+ .spi-text-regular-5,
37
+ .spi-text-regular-6
38
+ ) {
39
+ font-weight: var(--spi-font-weight-regular);
40
+ }
41
+
42
+ :is(
43
+ .spi-text-medium-1,
44
+ .spi-text-medium-2,
45
+ .spi-text-medium-3,
46
+ .spi-text-medium-4,
47
+ .spi-text-medium-5,
48
+ .spi-text-medium-6
49
+ ) {
50
+ font-weight: var(--spi-font-weight-medium);
51
+ }
52
+
53
+ :is(
54
+ .spi-text-semibold-1,
55
+ .spi-text-semibold-2,
56
+ .spi-text-semibold-3,
57
+ .spi-text-semibold-4,
58
+ .spi-text-semibold-5,
59
+ .spi-text-semibold-6
60
+ ) {
61
+ font-weight: var(--spi-font-weight-semibold);
62
+ }
63
+
64
+ :is(
65
+ .spi-text-bold-1,
66
+ .spi-text-bold-2,
67
+ .spi-text-bold-3,
68
+ .spi-text-bold-4,
69
+ .spi-text-bold-5,
70
+ .spi-text-bold-6
71
+ ) {
72
+ font-weight: var(--spi-font-weight-bold);
73
+ }
@@ -0,0 +1 @@
1
+ export * from './url.js';
@@ -0,0 +1 @@
1
+ export * from './url.js';
@@ -0,0 +1,3 @@
1
+ export declare const getNormalizedPathname: () => string;
2
+ export declare const getFirstPathSegment: (pathname: string) => string;
3
+ export declare const existRoute: (url: string, pathname: string) => boolean;
@@ -0,0 +1,15 @@
1
+ import { base } from '$app/paths';
2
+ import { page } from '$app/state';
3
+ export const getNormalizedPathname = () => {
4
+ const pathname = page.url.pathname;
5
+ const withoutBase = base && pathname.startsWith(base) ? pathname.slice(base.length) : pathname;
6
+ return withoutBase.replace(/^\/v\d+\//, '/');
7
+ };
8
+ export const getFirstPathSegment = (pathname) => {
9
+ const matchedPath = /^\/[^/]+/.exec(pathname);
10
+ return matchedPath?.[0] ?? '/';
11
+ };
12
+ export const existRoute = (url, pathname) => {
13
+ const regex = new RegExp(`${url}(?![\\w-])`);
14
+ return regex.test(pathname);
15
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@softwareone/spi-sv5-library",
3
- "version": "1.14.3",
3
+ "version": "1.15.0",
4
4
  "description": "Svelte components",
5
5
  "keywords": [
6
6
  "svelte",
@@ -46,7 +46,8 @@
46
46
  "./table": {
47
47
  "types": "./dist/components/table/index.d.ts",
48
48
  "svelte": "./dist/components/table/index.js"
49
- }
49
+ },
50
+ "./styles": "./dist/styles/index.css"
50
51
  },
51
52
  "peerDependencies": {
52
53
  "@tanstack/table-core": "^8.21.3",