@websline/system-components 1.3.23 → 1.3.25

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 (27) hide show
  1. package/dist/assets/fonts/borna-bold-webfont.woff +0 -0
  2. package/dist/assets/fonts/borna-bold-webfont.woff2 +0 -0
  3. package/dist/assets/fonts/borna-bolditalic-webfont.woff +0 -0
  4. package/dist/assets/fonts/borna-bolditalic-webfont.woff2 +0 -0
  5. package/dist/assets/fonts/borna-medium-webfont.woff +0 -0
  6. package/dist/assets/fonts/borna-medium-webfont.woff2 +0 -0
  7. package/dist/assets/fonts/borna-mediumitalic-webfont.woff +0 -0
  8. package/dist/assets/fonts/borna-mediumitalic-webfont.woff2 +0 -0
  9. package/dist/assets/fonts/borna-regular-webfont.woff +0 -0
  10. package/dist/assets/fonts/borna-regular-webfont.woff2 +0 -0
  11. package/dist/assets/fonts/borna-regularitalic-webfont.woff +0 -0
  12. package/dist/assets/fonts/borna-regularitalic-webfont.woff2 +0 -0
  13. package/dist/assets/fonts/borna-semibold-webfont.woff +0 -0
  14. package/dist/assets/fonts/borna-semibold-webfont.woff2 +0 -0
  15. package/dist/assets/fonts/borna-semibolditalic-webfont.woff +0 -0
  16. package/dist/assets/fonts/borna-semibolditalic-webfont.woff2 +0 -0
  17. package/dist/assets/masks/checkmark.svg +1 -0
  18. package/dist/assets/masks/chevron-down.svg +1 -0
  19. package/dist/components/atoms/icon/components/index.d.ts +111 -0
  20. package/dist/components/atoms/icon/components/index.js +111 -0
  21. package/dist/components/atoms/icon/index.js +1 -6
  22. package/dist/components/molecules/toggleGroup/ToggleGroupItem.svelte +25 -26
  23. package/dist/components/molecules/toggleGroup/toggleGroupItem.variants.d.ts +15 -45
  24. package/dist/components/molecules/toggleGroup/toggleGroupItem.variants.js +12 -25
  25. package/dist/index.css +222 -0
  26. package/dist/webfonts.css +83 -0
  27. package/package.json +31 -24
@@ -0,0 +1 @@
1
+ <svg height="16" width="16" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M20 6L9 19L4 13.0909" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 25" fill="none"><path d="M18 9.5332L12 15.5332L6 9.5332" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>
@@ -0,0 +1,111 @@
1
+ export { default as Academy } from "./Academy.svelte";
2
+ export { default as Add } from "./Add.svelte";
3
+ export { default as Ai } from "./Ai.svelte";
4
+ export { default as AiStars } from "./AiStars.svelte";
5
+ export { default as AlignBottom } from "./AlignBottom.svelte";
6
+ export { default as AlignBottomOne } from "./AlignBottomOne.svelte";
7
+ export { default as AlignCenter } from "./AlignCenter.svelte";
8
+ export { default as AlignCenterOne } from "./AlignCenterOne.svelte";
9
+ export { default as AlignLeft } from "./AlignLeft.svelte";
10
+ export { default as AlignMiddle } from "./AlignMiddle.svelte";
11
+ export { default as AlignMiddleOne } from "./AlignMiddleOne.svelte";
12
+ export { default as AlignRight } from "./AlignRight.svelte";
13
+ export { default as AlignRightOne } from "./AlignRightOne.svelte";
14
+ export { default as AlignTop } from "./AlignTop.svelte";
15
+ export { default as AlignTopOne } from "./AlignTopOne.svelte";
16
+ export { default as ArrowDown } from "./ArrowDown.svelte";
17
+ export { default as ArrowUp } from "./ArrowUp.svelte";
18
+ export { default as Attach } from "./Attach.svelte";
19
+ export { default as Bed } from "./Bed.svelte";
20
+ export { default as Block } from "./Block.svelte";
21
+ export { default as Bold } from "./Bold.svelte";
22
+ export { default as BoxIn } from "./BoxIn.svelte";
23
+ export { default as BoxOut } from "./BoxOut.svelte";
24
+ export { default as Calendar } from "./Calendar.svelte";
25
+ export { default as Check } from "./Check.svelte";
26
+ export { default as CheckboxStack } from "./CheckboxStack.svelte";
27
+ export { default as ChevronDoubleLeft } from "./ChevronDoubleLeft.svelte";
28
+ export { default as ChevronDoubleRight } from "./ChevronDoubleRight.svelte";
29
+ export { default as ChevronDown } from "./ChevronDown.svelte";
30
+ export { default as Clipboard } from "./Clipboard.svelte";
31
+ export { default as Close } from "./Close.svelte";
32
+ export { default as CloseSmall } from "./CloseSmall.svelte";
33
+ export { default as Computer } from "./Computer.svelte";
34
+ export { default as Connect } from "./Connect.svelte";
35
+ export { default as ConnectCrossed } from "./ConnectCrossed.svelte";
36
+ export { default as ContactCard } from "./ContactCard.svelte";
37
+ export { default as Controlling } from "./Controlling.svelte";
38
+ export { default as Coupons } from "./Coupons.svelte";
39
+ export { default as Crop } from "./Crop.svelte";
40
+ export { default as Dashboard } from "./Dashboard.svelte";
41
+ export { default as Database } from "./Database.svelte";
42
+ export { default as Download } from "./Download.svelte";
43
+ export { default as Dragger } from "./Dragger.svelte";
44
+ export { default as Envelope } from "./Envelope.svelte";
45
+ export { default as Envelopes } from "./Envelopes.svelte";
46
+ export { default as Expand } from "./Expand.svelte";
47
+ export { default as Eye } from "./Eye.svelte";
48
+ export { default as EyeCrossed } from "./EyeCrossed.svelte";
49
+ export { default as FilePDF } from "./FilePDF.svelte";
50
+ export { default as Filter } from "./Filter.svelte";
51
+ export { default as FocalPoint } from "./FocalPoint.svelte";
52
+ export { default as FolderPlus } from "./FolderPlus.svelte";
53
+ export { default as Food } from "./Food.svelte";
54
+ export { default as Funnel } from "./Funnel.svelte";
55
+ export { default as Globe } from "./Globe.svelte";
56
+ export { default as History } from "./History.svelte";
57
+ export { default as Hourglass } from "./Hourglass.svelte";
58
+ export { default as Inbox } from "./Inbox.svelte";
59
+ export { default as Info } from "./Info.svelte";
60
+ export { default as Intergration } from "./Intergration.svelte";
61
+ export { default as Italic } from "./Italic.svelte";
62
+ export { default as Layout } from "./Layout.svelte";
63
+ export { default as Link } from "./Link.svelte";
64
+ export { default as LinkAi } from "./LinkAi.svelte";
65
+ export { default as ListOrdered } from "./ListOrdered.svelte";
66
+ export { default as ListTasks } from "./ListTasks.svelte";
67
+ export { default as ListUnordered } from "./ListUnordered.svelte";
68
+ export { default as Lock } from "./Lock.svelte";
69
+ export { default as Menu } from "./Menu.svelte";
70
+ export { default as Minus } from "./Minus.svelte";
71
+ export { default as Notifications } from "./Notifications.svelte";
72
+ export { default as Offer } from "./Offer.svelte";
73
+ export { default as Out } from "./Out.svelte";
74
+ export { default as Overflow } from "./Overflow.svelte";
75
+ export { default as Page } from "./Page.svelte";
76
+ export { default as PageClock } from "./PageClock.svelte";
77
+ export { default as PageEdit } from "./PageEdit.svelte";
78
+ export { default as PageLayout } from "./PageLayout.svelte";
79
+ export { default as Pages } from "./Pages.svelte";
80
+ export { default as Payment } from "./Payment.svelte";
81
+ export { default as Pencil } from "./Pencil.svelte";
82
+ export { default as Phone } from "./Phone.svelte";
83
+ export { default as Picture } from "./Picture.svelte";
84
+ export { default as Print } from "./Print.svelte";
85
+ export { default as Redo } from "./Redo.svelte";
86
+ export { default as Refresh } from "./Refresh.svelte";
87
+ export { default as RefreshCircle } from "./RefreshCircle.svelte";
88
+ export { default as Replace } from "./Replace.svelte";
89
+ export { default as Report } from "./Report.svelte";
90
+ export { default as Resource } from "./Resource.svelte";
91
+ export { default as SEO } from "./SEO.svelte";
92
+ export { default as Search } from "./Search.svelte";
93
+ export { default as Settings } from "./Settings.svelte";
94
+ export { default as Shop } from "./Shop.svelte";
95
+ export { default as Smartphone } from "./Smartphone.svelte";
96
+ export { default as Sort } from "./Sort.svelte";
97
+ export { default as SpacingL } from "./SpacingL.svelte";
98
+ export { default as SpacingM } from "./SpacingM.svelte";
99
+ export { default as SpacingNone } from "./SpacingNone.svelte";
100
+ export { default as SpacingS } from "./SpacingS.svelte";
101
+ export { default as SpacingXL } from "./SpacingXL.svelte";
102
+ export { default as Star } from "./Star.svelte";
103
+ export { default as StyleGuide } from "./StyleGuide.svelte";
104
+ export { default as Tablet } from "./Tablet.svelte";
105
+ export { default as Translate } from "./Translate.svelte";
106
+ export { default as TranslateCrossed } from "./TranslateCrossed.svelte";
107
+ export { default as Trash } from "./Trash.svelte";
108
+ export { default as Underline } from "./Underline.svelte";
109
+ export { default as Undo } from "./Undo.svelte";
110
+ export { default as WebslineSupport } from "./WebslineSupport.svelte";
111
+ export { default as Width } from "./Width.svelte";
@@ -0,0 +1,111 @@
1
+ export { default as Academy } from "./Academy.svelte";
2
+ export { default as Add } from "./Add.svelte";
3
+ export { default as Ai } from "./Ai.svelte";
4
+ export { default as AiStars } from "./AiStars.svelte";
5
+ export { default as AlignBottom } from "./AlignBottom.svelte";
6
+ export { default as AlignBottomOne } from "./AlignBottomOne.svelte";
7
+ export { default as AlignCenter } from "./AlignCenter.svelte";
8
+ export { default as AlignCenterOne } from "./AlignCenterOne.svelte";
9
+ export { default as AlignLeft } from "./AlignLeft.svelte";
10
+ export { default as AlignMiddle } from "./AlignMiddle.svelte";
11
+ export { default as AlignMiddleOne } from "./AlignMiddleOne.svelte";
12
+ export { default as AlignRight } from "./AlignRight.svelte";
13
+ export { default as AlignRightOne } from "./AlignRightOne.svelte";
14
+ export { default as AlignTop } from "./AlignTop.svelte";
15
+ export { default as AlignTopOne } from "./AlignTopOne.svelte";
16
+ export { default as ArrowDown } from "./ArrowDown.svelte";
17
+ export { default as ArrowUp } from "./ArrowUp.svelte";
18
+ export { default as Attach } from "./Attach.svelte";
19
+ export { default as Bed } from "./Bed.svelte";
20
+ export { default as Block } from "./Block.svelte";
21
+ export { default as Bold } from "./Bold.svelte";
22
+ export { default as BoxIn } from "./BoxIn.svelte";
23
+ export { default as BoxOut } from "./BoxOut.svelte";
24
+ export { default as Calendar } from "./Calendar.svelte";
25
+ export { default as Check } from "./Check.svelte";
26
+ export { default as CheckboxStack } from "./CheckboxStack.svelte";
27
+ export { default as ChevronDoubleLeft } from "./ChevronDoubleLeft.svelte";
28
+ export { default as ChevronDoubleRight } from "./ChevronDoubleRight.svelte";
29
+ export { default as ChevronDown } from "./ChevronDown.svelte";
30
+ export { default as Clipboard } from "./Clipboard.svelte";
31
+ export { default as Close } from "./Close.svelte";
32
+ export { default as CloseSmall } from "./CloseSmall.svelte";
33
+ export { default as Computer } from "./Computer.svelte";
34
+ export { default as Connect } from "./Connect.svelte";
35
+ export { default as ConnectCrossed } from "./ConnectCrossed.svelte";
36
+ export { default as ContactCard } from "./ContactCard.svelte";
37
+ export { default as Controlling } from "./Controlling.svelte";
38
+ export { default as Coupons } from "./Coupons.svelte";
39
+ export { default as Crop } from "./Crop.svelte";
40
+ export { default as Dashboard } from "./Dashboard.svelte";
41
+ export { default as Database } from "./Database.svelte";
42
+ export { default as Download } from "./Download.svelte";
43
+ export { default as Dragger } from "./Dragger.svelte";
44
+ export { default as Envelope } from "./Envelope.svelte";
45
+ export { default as Envelopes } from "./Envelopes.svelte";
46
+ export { default as Expand } from "./Expand.svelte";
47
+ export { default as Eye } from "./Eye.svelte";
48
+ export { default as EyeCrossed } from "./EyeCrossed.svelte";
49
+ export { default as FilePDF } from "./FilePDF.svelte";
50
+ export { default as Filter } from "./Filter.svelte";
51
+ export { default as FocalPoint } from "./FocalPoint.svelte";
52
+ export { default as FolderPlus } from "./FolderPlus.svelte";
53
+ export { default as Food } from "./Food.svelte";
54
+ export { default as Funnel } from "./Funnel.svelte";
55
+ export { default as Globe } from "./Globe.svelte";
56
+ export { default as History } from "./History.svelte";
57
+ export { default as Hourglass } from "./Hourglass.svelte";
58
+ export { default as Inbox } from "./Inbox.svelte";
59
+ export { default as Info } from "./Info.svelte";
60
+ export { default as Intergration } from "./Intergration.svelte";
61
+ export { default as Italic } from "./Italic.svelte";
62
+ export { default as Layout } from "./Layout.svelte";
63
+ export { default as Link } from "./Link.svelte";
64
+ export { default as LinkAi } from "./LinkAi.svelte";
65
+ export { default as ListOrdered } from "./ListOrdered.svelte";
66
+ export { default as ListTasks } from "./ListTasks.svelte";
67
+ export { default as ListUnordered } from "./ListUnordered.svelte";
68
+ export { default as Lock } from "./Lock.svelte";
69
+ export { default as Menu } from "./Menu.svelte";
70
+ export { default as Minus } from "./Minus.svelte";
71
+ export { default as Notifications } from "./Notifications.svelte";
72
+ export { default as Offer } from "./Offer.svelte";
73
+ export { default as Out } from "./Out.svelte";
74
+ export { default as Overflow } from "./Overflow.svelte";
75
+ export { default as Page } from "./Page.svelte";
76
+ export { default as PageClock } from "./PageClock.svelte";
77
+ export { default as PageEdit } from "./PageEdit.svelte";
78
+ export { default as PageLayout } from "./PageLayout.svelte";
79
+ export { default as Pages } from "./Pages.svelte";
80
+ export { default as Payment } from "./Payment.svelte";
81
+ export { default as Pencil } from "./Pencil.svelte";
82
+ export { default as Phone } from "./Phone.svelte";
83
+ export { default as Picture } from "./Picture.svelte";
84
+ export { default as Print } from "./Print.svelte";
85
+ export { default as Redo } from "./Redo.svelte";
86
+ export { default as Refresh } from "./Refresh.svelte";
87
+ export { default as RefreshCircle } from "./RefreshCircle.svelte";
88
+ export { default as Replace } from "./Replace.svelte";
89
+ export { default as Report } from "./Report.svelte";
90
+ export { default as Resource } from "./Resource.svelte";
91
+ export { default as SEO } from "./SEO.svelte";
92
+ export { default as Search } from "./Search.svelte";
93
+ export { default as Settings } from "./Settings.svelte";
94
+ export { default as Shop } from "./Shop.svelte";
95
+ export { default as Smartphone } from "./Smartphone.svelte";
96
+ export { default as Sort } from "./Sort.svelte";
97
+ export { default as SpacingL } from "./SpacingL.svelte";
98
+ export { default as SpacingM } from "./SpacingM.svelte";
99
+ export { default as SpacingNone } from "./SpacingNone.svelte";
100
+ export { default as SpacingS } from "./SpacingS.svelte";
101
+ export { default as SpacingXL } from "./SpacingXL.svelte";
102
+ export { default as Star } from "./Star.svelte";
103
+ export { default as StyleGuide } from "./StyleGuide.svelte";
104
+ export { default as Tablet } from "./Tablet.svelte";
105
+ export { default as Translate } from "./Translate.svelte";
106
+ export { default as TranslateCrossed } from "./TranslateCrossed.svelte";
107
+ export { default as Trash } from "./Trash.svelte";
108
+ export { default as Underline } from "./Underline.svelte";
109
+ export { default as Undo } from "./Undo.svelte";
110
+ export { default as WebslineSupport } from "./WebslineSupport.svelte";
111
+ export { default as Width } from "./Width.svelte";
@@ -1,12 +1,7 @@
1
1
  // paths within the components folder are imported as component names automatically
2
2
  // e.g. ./components/subDir/testIcon.svelte -> subDirTestIcon
3
3
  // Check the icon story in Storybook to easily extract the icon name
4
- // NOTE: this doesn't return anything outside of this package, so a custom import is required in the consuming project
5
- const moduleRegistry = import.meta.glob("./**/*.svelte", {
6
- eager: true,
7
- base: "./components",
8
- import: "default",
9
- });
4
+ import * as moduleRegistry from "./components/index.js";
10
5
 
11
6
  const registry = {};
12
7
 
@@ -44,31 +44,30 @@
44
44
  });
45
45
  </script>
46
46
 
47
- <div class={stylesByVariant.base({ class: baseClass })} {...rest}>
48
- <button
49
- class={stylesByVariant.button({ class: className })}
50
- role="tab"
51
- onclick={() => {
52
- store.update(localeValue);
53
- }}
54
- type="button">
47
+ <button
48
+ class={stylesByVariant.base({ class: baseClass || className })}
49
+ role="tab"
50
+ onclick={() => {
51
+ store.update(localeValue);
52
+ }}
53
+ type="button"
54
+ {...rest}>
55
+ {#if icon}
56
+ <Icon
57
+ class={stylesByVariant.icon()}
58
+ name={icon}
59
+ size={variant === "tabs" || size === "small" ? 16 : 24} />
60
+ {/if}
61
+ {#if children}
55
62
  <div class={stylesByVariant.content()}>
56
- {#if icon}
57
- <Icon
58
- class={stylesByVariant.icon()}
59
- name={icon}
60
- size={variant === "tabs" || size === "small" ? 16 : 24} />
61
- {/if}
62
- <span class={stylesByVariant.span()}>
63
- {@render children?.()}
64
- </span>
63
+ {@render children()}
65
64
  </div>
66
- {#if isActive}
67
- <div
68
- class={stylesByVariant.trigger({ appearance })}
69
- in:send={{ key: "active-tab" }}
70
- out:receive={{ key: "active-tab" }}>
71
- </div>
72
- {/if}
73
- </button>
74
- </div>
65
+ {/if}
66
+ {#if isActive}
67
+ <div
68
+ class={stylesByVariant.trigger({ appearance })}
69
+ in:send={{ key: "active-tab" }}
70
+ out:receive={{ key: "active-tab" }}>
71
+ </div>
72
+ {/if}
73
+ </button>
@@ -1,161 +1,131 @@
1
1
  export const toggleGroupItemVariants: import("tailwind-variants").TVReturnType<{
2
2
  isActive: {
3
3
  true: {
4
- button: string;
4
+ base: string;
5
5
  };
6
6
  false: {
7
- button: string;
7
+ base: string;
8
8
  };
9
9
  };
10
10
  size: {
11
- small: {
12
- button: string;
13
- };
14
11
  medium: {
15
- button: string;
16
- span: string;
12
+ content: string;
17
13
  };
18
14
  };
19
15
  width: {
20
16
  full: {
21
17
  base: string;
22
- button: string;
23
18
  };
24
19
  };
25
20
  }, {
26
21
  base: string;
27
- button: string;
28
22
  content: string;
29
23
  icon: string;
30
- span: string;
31
24
  trigger: string;
32
25
  }, undefined, {
33
26
  isActive: {
34
27
  true: {
35
- button: string;
28
+ base: string;
36
29
  };
37
30
  false: {
38
- button: string;
31
+ base: string;
39
32
  };
40
33
  };
41
34
  size: {
42
- small: {
43
- button: string;
44
- };
45
35
  medium: {
46
- button: string;
47
- span: string;
36
+ content: string;
48
37
  };
49
38
  };
50
39
  width: {
51
40
  full: {
52
41
  base: string;
53
- button: string;
54
42
  };
55
43
  };
56
44
  }, {
57
45
  base: string;
58
- button: string;
59
46
  content: string;
60
47
  icon: string;
61
- span: string;
62
48
  trigger: string;
63
49
  }, import("tailwind-variants").TVReturnType<{
64
50
  isActive: {
65
51
  true: {
66
- button: string;
52
+ base: string;
67
53
  };
68
54
  false: {
69
- button: string;
55
+ base: string;
70
56
  };
71
57
  };
72
58
  size: {
73
- small: {
74
- button: string;
75
- };
76
59
  medium: {
77
- button: string;
78
- span: string;
60
+ content: string;
79
61
  };
80
62
  };
81
63
  width: {
82
64
  full: {
83
65
  base: string;
84
- button: string;
85
66
  };
86
67
  };
87
68
  }, {
88
69
  base: string;
89
- button: string;
90
70
  content: string;
91
71
  icon: string;
92
- span: string;
93
72
  trigger: string;
94
73
  }, undefined, unknown, unknown, undefined>>;
95
74
  export const toggleGroupItemTabVariants: import("tailwind-variants").TVReturnType<{
96
75
  isActive: {
97
76
  true: {
98
- button: string;
77
+ base: string;
99
78
  };
100
79
  false: {
101
- button: string;
80
+ base: string;
102
81
  };
103
82
  };
104
83
  width: {
105
84
  full: {
106
85
  base: string;
107
- button: string;
108
86
  };
109
87
  };
110
88
  }, {
111
89
  base: string;
112
- button: string;
113
90
  content: string;
114
91
  icon: string;
115
- span: string;
116
92
  trigger: string;
117
93
  }, undefined, {
118
94
  isActive: {
119
95
  true: {
120
- button: string;
96
+ base: string;
121
97
  };
122
98
  false: {
123
- button: string;
99
+ base: string;
124
100
  };
125
101
  };
126
102
  width: {
127
103
  full: {
128
104
  base: string;
129
- button: string;
130
105
  };
131
106
  };
132
107
  }, {
133
108
  base: string;
134
- button: string;
135
109
  content: string;
136
110
  icon: string;
137
- span: string;
138
111
  trigger: string;
139
112
  }, import("tailwind-variants").TVReturnType<{
140
113
  isActive: {
141
114
  true: {
142
- button: string;
115
+ base: string;
143
116
  };
144
117
  false: {
145
- button: string;
118
+ base: string;
146
119
  };
147
120
  };
148
121
  width: {
149
122
  full: {
150
123
  base: string;
151
- button: string;
152
124
  };
153
125
  };
154
126
  }, {
155
127
  base: string;
156
- button: string;
157
128
  content: string;
158
129
  icon: string;
159
- span: string;
160
130
  trigger: string;
161
131
  }, undefined, unknown, unknown, undefined>>;
@@ -2,36 +2,28 @@ import { tv } from "../../../utils/tailwind.js";
2
2
 
3
3
  const toggleGroupItemVariants = tv({
4
4
  slots: {
5
- base: "relative h-full whitespace-nowrap",
6
- button:
7
- "block h-full cursor-pointer rounded-sm bg-transparent ui-select-label font-medium transition-[background,color]",
8
- content: "relative z-2 flex items-center justify-center",
9
- icon: "shrink-0",
10
- span: "",
5
+ base: "relative inline-flex h-full cursor-pointer items-center justify-center rounded-sm bg-transparent px-1 ui-select-label font-medium whitespace-nowrap transition-[background,color]",
6
+ content: "relative z-2",
7
+ icon: "relative z-2 shrink-0",
11
8
  trigger: "absolute inset-0 z-1 rounded-sm bg-white shadow-sm",
12
9
  },
13
10
  variants: {
14
11
  isActive: {
15
12
  true: {
16
- button: "text-neutral-900 dark:text-neutral-200",
13
+ base: "text-neutral-900 dark:text-neutral-200",
17
14
  },
18
15
  false: {
19
- button: "text-neutral-500",
16
+ base: "text-neutral-500",
20
17
  },
21
18
  },
22
19
  size: {
23
- small: {
24
- button: "px-1",
25
- },
26
20
  medium: {
27
- button: "px-2.5",
28
- span: "px-2",
21
+ content: "px-2",
29
22
  },
30
23
  },
31
24
  width: {
32
25
  full: {
33
26
  base: "w-full",
34
- button: "w-full",
35
27
  },
36
28
  },
37
29
  },
@@ -39,16 +31,14 @@ const toggleGroupItemVariants = tv({
39
31
  {
40
32
  appearance: "default",
41
33
  class: {
42
- button:
43
- "hover:bg-neutral-300 hover:text-neutral-900 dark:hover:bg-neutral-600 dark:hover:text-white",
34
+ base: "hover:bg-neutral-300 hover:text-neutral-900 dark:hover:bg-neutral-600 dark:hover:text-white",
44
35
  trigger: "dark:bg-neutral-700",
45
36
  },
46
37
  },
47
38
  {
48
39
  appearance: "raised",
49
40
  class: {
50
- button:
51
- "hover:bg-neutral-100 hover:text-neutral-900 dark:hover:bg-neutral-600 dark:hover:text-white",
41
+ base: "hover:bg-neutral-100 hover:text-neutral-900 dark:hover:bg-neutral-600 dark:hover:text-white",
52
42
  trigger: "dark:bg-neutral-800",
53
43
  },
54
44
  },
@@ -57,26 +47,23 @@ const toggleGroupItemVariants = tv({
57
47
 
58
48
  const toggleGroupItemTabVariants = tv({
59
49
  slots: {
60
- base: "relative h-full whitespace-nowrap text-neutral-900 dark:text-neutral-200",
61
- button: "h-full cursor-pointer ui-button-default transition-[color]",
62
- content: "flex items-center justify-center gap-1",
50
+ base: "relative inline-flex h-full cursor-pointer items-center justify-center gap-1 ui-button-default whitespace-nowrap transition-[color]",
51
+ content: "",
63
52
  icon: "shrink-0",
64
- span: "",
65
53
  trigger: "absolute -bottom-px left-0 h-0.5 w-full rounded-t-xs bg-current",
66
54
  },
67
55
  variants: {
68
56
  isActive: {
69
57
  true: {
70
- button: "text-current",
58
+ base: "text-neutral-900 dark:text-neutral-200",
71
59
  },
72
60
  false: {
73
- button: "text-neutral-500 hover:text-current",
61
+ base: "text-neutral-500 hover:text-neutral-900 dark:hover:text-neutral-200",
74
62
  },
75
63
  },
76
64
  width: {
77
65
  full: {
78
66
  base: "w-full",
79
- button: "w-full",
80
67
  },
81
68
  },
82
69
  },
package/dist/index.css ADDED
@@ -0,0 +1,222 @@
1
+ @plugin "@tailwindcss/forms";
2
+ @plugin "@tailwindcss/typography";
3
+
4
+ @custom-variant dark (&:where(.dark, .dark *));
5
+
6
+ @utility display-1 {
7
+ font-size: 2.5625rem;
8
+ font-weight: 400;
9
+ letter-spacing: -0.05em;
10
+ line-height: 1.25;
11
+ }
12
+ @utility display-2 {
13
+ font-size: 2.125rem;
14
+ font-weight: 400;
15
+ letter-spacing: -0.05em;
16
+ line-height: 1.25;
17
+ }
18
+
19
+ @utility heading-h1 {
20
+ font-size: 1.75rem;
21
+ font-weight: 500;
22
+ letter-spacing: -0.04em;
23
+ line-height: 1.25;
24
+ }
25
+ @utility heading-h2 {
26
+ font-size: 1.4375rem;
27
+ font-weight: 500;
28
+ letter-spacing: -0.03em;
29
+ line-height: 1.28;
30
+ }
31
+ @utility heading-h3 {
32
+ font-size: 1.1875rem;
33
+ font-weight: 500;
34
+ letter-spacing: -0.01em;
35
+ line-height: 1.25;
36
+ }
37
+ @utility heading-h4 {
38
+ font-size: 1rem;
39
+ font-weight: 500;
40
+ letter-spacing: 0em;
41
+ line-height: 1.25;
42
+ }
43
+
44
+ @utility body-lead {
45
+ font-size: 1.2rem;
46
+ font-weight: 400;
47
+ letter-spacing: -0.01em;
48
+ line-height: 1.4;
49
+ }
50
+ @utility body-default {
51
+ font-size: 1rem;
52
+ font-weight: 400;
53
+ letter-spacing: 0em;
54
+ line-height: 1.5;
55
+ }
56
+ @utility body-small {
57
+ font-size: 0.875rem;
58
+ font-weight: 400;
59
+ letter-spacing: 0em;
60
+ line-height: 1.5;
61
+ }
62
+
63
+ @utility ui-title-1 {
64
+ font-size: 1.1875rem;
65
+ font-weight: 500;
66
+ letter-spacing: -0.01em;
67
+ line-height: 1.25;
68
+ }
69
+ @utility ui-title-2 {
70
+ font-size: 1rem;
71
+ font-weight: 500;
72
+ letter-spacing: 0em;
73
+ line-height: 1.25;
74
+ }
75
+ @utility ui-select-label {
76
+ font-size: 0.875rem;
77
+ font-weight: 400;
78
+ letter-spacing: 0.005em;
79
+ line-height: 1.4;
80
+ }
81
+ @utility ui-caption-helper {
82
+ font-size: 0.75rem;
83
+ font-weight: 400;
84
+ letter-spacing: 0.02em;
85
+ line-height: 1.5;
86
+ }
87
+ @utility ui-button-default {
88
+ font-size: 0.875rem;
89
+ font-weight: 500;
90
+ letter-spacing: 0.005em;
91
+ line-height: 1.4;
92
+ }
93
+ @utility ui-button-small {
94
+ font-size: 0.75rem;
95
+ font-weight: 500;
96
+ letter-spacing: 0.02em;
97
+ line-height: 1.5;
98
+ }
99
+ @utility ui-tag-badge {
100
+ font-size: 0.75rem;
101
+ font-weight: 500;
102
+ letter-spacing: 0.02em;
103
+ line-height: 1.4;
104
+ }
105
+
106
+ /* ==========================================================================
107
+ Z-INDEX UTILITIES
108
+ --------------------------------------------------------------------------
109
+ - AppBar sits above the main content
110
+ - Drawer overlays the AppBar
111
+ - Modal covers everything except Snackbar and Tooltip
112
+ - Snackbar appears above Modals
113
+ - Tooltip is always the topmost layer
114
+ ========================================================================== */
115
+
116
+ @utility z-appbar {
117
+ z-index: 1100;
118
+ }
119
+ @utility z-drawer {
120
+ z-index: 1200;
121
+ }
122
+ @utility z-modal-backdrop {
123
+ z-index: calc(1299 + var(--bits-dialog-depth, 0));
124
+ }
125
+ @utility z-modal {
126
+ z-index: calc(1300 + var(--bits-dialog-depth, 0));
127
+ }
128
+ @utility z-snackbar {
129
+ z-index: 1400;
130
+ }
131
+ @utility z-tooltip {
132
+ z-index: 1500;
133
+ }
134
+
135
+ @theme {
136
+ --font-body: "Borna", "sans-serif";
137
+ --font-sans: "Borna", sans-serif;
138
+
139
+ /* Box Shadows */
140
+
141
+ --shadow-sm: 0 2px 16px 0 rgba(0, 0, 0, 0.08);
142
+ --shadow-toggle: 0 2px 4px 0 rgba(0, 0, 0, 0.24);
143
+
144
+ /* Neutral Colors */
145
+ --color-neutral-50: #ffffff;
146
+ --color-neutral-100: #f1f1f2;
147
+ --color-neutral-200: #e4e4e2;
148
+ --color-neutral-300: #dadad8;
149
+ --color-neutral-400: #c1bfb8;
150
+ --color-neutral-500: #92908d;
151
+ --color-neutral-600: #75736f;
152
+ --color-neutral-700: #464441;
153
+ --color-neutral-800: #232220;
154
+ --color-neutral-900: #121110;
155
+ --color-neutral-1000: #000000;
156
+
157
+ /* Blue */
158
+ --color-blue-100: #d8efff;
159
+ --color-blue-200: #bce1ff;
160
+ --color-blue-300: #7fc1fd;
161
+ --color-blue-400: #3194fe;
162
+ --color-blue-500: #0000ff;
163
+ --color-blue-600: #00069f;
164
+ --color-blue-700: #00056f;
165
+ --color-blue-800: #00033f;
166
+ --color-blue-900: #000227;
167
+
168
+ /* Yellow */
169
+ --color-yellow-100: #fff3cd;
170
+ --color-yellow-200: #fff69c;
171
+ --color-yellow-300: #ffda6a;
172
+ --color-yellow-400: #ffcd39;
173
+ --color-yellow-500: #ffc107;
174
+ --color-yellow-600: #cc9a06;
175
+ --color-yellow-700: #997404;
176
+ --color-yellow-800: #664d03;
177
+ --color-yellow-900: #332701;
178
+
179
+ /* Orange */
180
+ --color-orange-100: #fae2d2;
181
+ --color-orange-200: #f5cda5;
182
+ --color-orange-300: #f2b67a;
183
+ --color-orange-400: #ee9e51;
184
+ --color-orange-500: #eb8632;
185
+ --color-orange-600: #bc6b27;
186
+ --color-orange-700: #8d511c;
187
+ --color-orange-800: #5e3512;
188
+ --color-orange-900: #2f1a07;
189
+
190
+ /* Red */
191
+ --color-red-100: #facbbf;
192
+ --color-red-200: #f6ad99;
193
+ --color-red-300: #f38e74;
194
+ --color-red-400: #ef704e;
195
+ --color-red-500: #ec5228;
196
+ --color-red-600: #ca4522;
197
+ --color-red-700: #872c14;
198
+ --color-red-800: #65200d;
199
+ --color-red-900: #431306;
200
+
201
+ /* Purple */
202
+ --color-purple-100: #ddcffa;
203
+ --color-purple-200: #bca0f6;
204
+ --color-purple-300: #9b72f1;
205
+ --color-purple-400: #7b43ee;
206
+ --color-purple-500: #5d15eb;
207
+ --color-purple-600: #4a11bc;
208
+ --color-purple-700: #370d8d;
209
+ --color-purple-800: #25075e;
210
+ --color-purple-900: #12032e;
211
+
212
+ /* Green */
213
+ --color-green-100: #e0eed4;
214
+ --color-green-200: #c5deaf;
215
+ --color-green-300: #abcf8b;
216
+ --color-green-400: #90bf66;
217
+ --color-green-500: #76b041;
218
+ --color-green-600: #5e8d34;
219
+ --color-green-700: #476a27;
220
+ --color-green-800: #2f461a;
221
+ --color-green-900: #18230d;
222
+ }
@@ -0,0 +1,83 @@
1
+ @font-face {
2
+ font-family: "Borna";
3
+ src:
4
+ url("@websline/system-components/assets/fonts/borna-regular-webfont.woff2")
5
+ format("woff2"),
6
+ url("@websline/system-components/assets/fonts/borna-regular-webfont.woff")
7
+ format("woff");
8
+ font-weight: 400;
9
+ font-style: normal;
10
+ }
11
+ @font-face {
12
+ font-family: "Borna";
13
+ src:
14
+ url("@websline/system-components/assets/fonts/borna-regularitalic-webfont.woff2")
15
+ format("woff2"),
16
+ url("@websline/system-components/assets/fonts/borna-regularitalic-webfont.woff")
17
+ format("woff");
18
+ font-weight: 400;
19
+ font-style: italic;
20
+ }
21
+
22
+ @font-face {
23
+ font-family: "Borna";
24
+ src:
25
+ url("@websline/system-components/assets/fonts/borna-medium-webfont.woff2")
26
+ format("woff2"),
27
+ url("@websline/system-components/assets/fonts/borna-medium-webfont.woff")
28
+ format("woff");
29
+ font-weight: 500;
30
+ font-style: normal;
31
+ }
32
+ @font-face {
33
+ font-family: "Borna";
34
+ src:
35
+ url("@websline/system-components/assets/fonts/borna-mediumitalic-webfont.woff2")
36
+ format("woff2"),
37
+ url("@websline/system-components/assets/fonts/borna-mediumitalic-webfont.woff")
38
+ format("woff");
39
+ font-weight: 500;
40
+ font-style: italic;
41
+ }
42
+
43
+ @font-face {
44
+ font-family: "Borna";
45
+ src:
46
+ url("@websline/system-components/assets/fonts/borna-semibold-webfont.woff2")
47
+ format("woff2"),
48
+ url("@websline/system-components/assets/fonts/borna-semibold-webfont.woff")
49
+ format("woff");
50
+ font-weight: 600;
51
+ font-style: normal;
52
+ }
53
+ @font-face {
54
+ font-family: "Borna";
55
+ src:
56
+ url("@websline/system-components/assets/fonts/borna-semibolditalic-webfont.woff2")
57
+ format("woff2"),
58
+ url("@websline/system-components/assets/fonts/borna-semibolditalic-webfont.woff")
59
+ format("woff");
60
+ font-weight: 600;
61
+ font-style: italic;
62
+ }
63
+
64
+ @font-face {
65
+ font-family: "Borna";
66
+ src:
67
+ url("@websline/system-components/assets/fonts/borna-bold-webfont.woff2")
68
+ format("woff2"),
69
+ url("@websline/system-components/assets/fonts/borna-bold-webfont.woff")
70
+ format("woff");
71
+ font-weight: 700;
72
+ font-style: normal;
73
+ }
74
+ @font-face {
75
+ font-family: "Borna";
76
+ src:
77
+ url("@websline/system-components/assets/fonts/borna-bolditalic-webfont.woff2")
78
+ format("woff2"),
79
+ url("@websline/system-components/assets/fonts/borna-bolditalic-webfont.woff")
80
+ format("woff");
81
+ font-weight: 700;
82
+ font-style: italic;
83
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@websline/system-components",
3
- "version": "1.3.23",
3
+ "version": "1.3.25",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -22,18 +22,25 @@
22
22
  "exports": {
23
23
  ".": {
24
24
  "types": "./dist/index.d.ts",
25
- "svelte": "./dist/index.js"
25
+ "svelte": "./dist/index.js",
26
+ "style": "./dist/index.css"
27
+ },
28
+ "./assets/*": "./dist/assets/*",
29
+ "./components/*": "./dist/components/*",
30
+ "./utils/*": "./dist/utils/*",
31
+ "./webfonts.css": {
32
+ "style": "./dist/webfonts.css"
26
33
  }
27
34
  },
28
35
  "dependencies": {
29
- "@tiptap/core": "^3.20.2",
30
- "@tiptap/extension-color": "^3.20.2",
31
- "@tiptap/extension-highlight": "^3.20.2",
32
- "@tiptap/extension-placeholder": "^3.20.2",
33
- "@tiptap/extension-text-align": "^3.20.2",
34
- "@tiptap/extension-text-style": "^3.20.2",
35
- "@tiptap/pm": "^3.20.2",
36
- "@tiptap/starter-kit": "^3.20.2",
36
+ "@tiptap/core": "^3.20.4",
37
+ "@tiptap/extension-color": "^3.20.4",
38
+ "@tiptap/extension-highlight": "^3.20.4",
39
+ "@tiptap/extension-placeholder": "^3.20.4",
40
+ "@tiptap/extension-text-align": "^3.20.4",
41
+ "@tiptap/extension-text-style": "^3.20.4",
42
+ "@tiptap/pm": "^3.20.4",
43
+ "@tiptap/starter-kit": "^3.20.4",
37
44
  "bits-ui": "^2.16.3",
38
45
  "dompurify": "^3.3.3",
39
46
  "tailwind-variants": "^3.2.2",
@@ -44,23 +51,23 @@
44
51
  },
45
52
  "devDependencies": {
46
53
  "@eslint/compat": "^2.0.3",
47
- "@eslint/js": "^9.39.4",
48
- "@storybook/addon-a11y": "^10.2.19",
49
- "@storybook/addon-docs": "^10.2.19",
50
- "@storybook/addon-svelte-csf": "^5.0.11",
51
- "@storybook/sveltekit": "^10.2.19",
54
+ "@eslint/js": "^10.0.1",
55
+ "@storybook/addon-a11y": "^10.3.0",
56
+ "@storybook/addon-docs": "^10.3.0",
57
+ "@storybook/addon-svelte-csf": "^5.0.12",
58
+ "@storybook/sveltekit": "^10.3.0",
52
59
  "@sveltejs/adapter-auto": "^7.0.1",
53
60
  "@sveltejs/kit": "^2.55.0",
54
61
  "@sveltejs/package": "^2.5.7",
55
- "@sveltejs/vite-plugin-svelte": "^6.2.4",
62
+ "@sveltejs/vite-plugin-svelte": "^7.0.0",
56
63
  "@tailwindcss/forms": "^0.5.11",
57
64
  "@tailwindcss/typography": "^0.5.19",
58
- "@tailwindcss/vite": "^4.2.1",
65
+ "@tailwindcss/vite": "^4.2.2",
59
66
  "@types/node": "^25.5.0",
60
67
  "@vitest/browser": "^4.1.0",
61
- "eslint": "^9.39.4",
68
+ "eslint": "^10.0.3",
62
69
  "eslint-config-prettier": "^10.1.8",
63
- "eslint-plugin-storybook": "^10.2.19",
70
+ "eslint-plugin-storybook": "^10.3.0",
64
71
  "eslint-plugin-svelte": "^3.15.2",
65
72
  "globals": "^17.4.0",
66
73
  "playwright": "^1.58.2",
@@ -69,11 +76,11 @@
69
76
  "prettier-plugin-svelte": "^3.5.1",
70
77
  "prettier-plugin-tailwindcss": "^0.7.2",
71
78
  "publint": "^0.3.18",
72
- "storybook": "^10.2.19",
73
- "svelte": "^5.53.12",
74
- "tailwindcss": "^4.2.1",
79
+ "storybook": "^10.3.0",
80
+ "svelte": "^5.54.0",
81
+ "tailwindcss": "^4.2.2",
75
82
  "typescript": "^5.9.3",
76
- "vite": "^7.3.1",
83
+ "vite": "^8.0.1",
77
84
  "vitest": "^4.1.0",
78
85
  "vitest-browser-svelte": "^2.1.0"
79
86
  },
@@ -82,7 +89,7 @@
82
89
  ],
83
90
  "scripts": {
84
91
  "dev": "vite dev",
85
- "build": "vite build && npm run prepack",
92
+ "build": "vite build",
86
93
  "format": "prettier --write .",
87
94
  "lint": "prettier --check . && eslint .",
88
95
  "test:unit": "vitest",