@stubber/ui 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. package/README.md +17 -0
  2. package/dist/Typography.svelte +129 -0
  3. package/dist/Typography.svelte.d.ts +23 -0
  4. package/dist/assets/docs-icon.svg +11 -0
  5. package/dist/assets/stubber-icon.svg +3 -0
  6. package/dist/atoms/Button.svelte +70 -0
  7. package/dist/atoms/Button.svelte.d.ts +24 -0
  8. package/dist/atoms/IconButton.svelte +0 -0
  9. package/dist/atoms/IconButton.svelte.d.ts +23 -0
  10. package/dist/atoms/SpinnerMessage.svelte +7 -0
  11. package/dist/atoms/SpinnerMessage.svelte.d.ts +16 -0
  12. package/dist/atoms/TextOnlyButton.svelte +70 -0
  13. package/dist/atoms/TextOnlyButton.svelte.d.ts +24 -0
  14. package/dist/components/Accordion.svelte +47 -0
  15. package/dist/components/Accordion.svelte.d.ts +14 -0
  16. package/dist/components/AdvancedSwitch.svelte +20 -0
  17. package/dist/components/AdvancedSwitch.svelte.d.ts +14 -0
  18. package/dist/components/Alert.svelte +34 -0
  19. package/dist/components/Alert.svelte.d.ts +25 -0
  20. package/dist/components/Breadcrumbs.svelte +64 -0
  21. package/dist/components/Breadcrumbs.svelte.d.ts +33 -0
  22. package/dist/components/Chip.svelte +53 -0
  23. package/dist/components/Chip.svelte.d.ts +33 -0
  24. package/dist/components/HorizontalTabs.svelte +32 -0
  25. package/dist/components/HorizontalTabs.svelte.d.ts +25 -0
  26. package/dist/components/IconButton.svelte +165 -0
  27. package/dist/components/IconButton.svelte.d.ts +43 -0
  28. package/dist/components/Inputs/PasswordInput.svelte +76 -0
  29. package/dist/components/Inputs/PasswordInput.svelte.d.ts +21 -0
  30. package/dist/components/Inputs/SelectInput.css +143 -0
  31. package/dist/components/Inputs/SelectInput.svelte +18 -0
  32. package/dist/components/Inputs/SelectInput.svelte.d.ts +22 -0
  33. package/dist/components/Inputs/TextInput.svelte +76 -0
  34. package/dist/components/Inputs/TextInput.svelte.d.ts +21 -0
  35. package/dist/components/Modal.svelte +25 -0
  36. package/dist/components/Modal.svelte.d.ts +31 -0
  37. package/dist/components/ModalIcon.svelte +19 -0
  38. package/dist/components/ModalIcon.svelte.d.ts +17 -0
  39. package/dist/components/NavProfile.svelte +70 -0
  40. package/dist/components/NavProfile.svelte.d.ts +29 -0
  41. package/dist/components/OrgSwitcher.svelte +193 -0
  42. package/dist/components/OrgSwitcher.svelte.d.ts +33 -0
  43. package/dist/components/PasswordStrengthItem.svelte +10 -0
  44. package/dist/components/PasswordStrengthItem.svelte.d.ts +17 -0
  45. package/dist/components/PasswordStrengthValidator.svelte +57 -0
  46. package/dist/components/PasswordStrengthValidator.svelte.d.ts +17 -0
  47. package/dist/components/PrimaryButton.svelte +182 -0
  48. package/dist/components/PrimaryButton.svelte.d.ts +47 -0
  49. package/dist/components/ProfileMenu.svelte +58 -0
  50. package/dist/components/ProfileMenu.svelte.d.ts +35 -0
  51. package/dist/components/SideNav/SideNavExample.svelte +47 -0
  52. package/dist/components/SideNav/SideNavExample.svelte.d.ts +23 -0
  53. package/dist/components/SideNav/SideNavItem.svelte +54 -0
  54. package/dist/components/SideNav/SideNavItem.svelte.d.ts +35 -0
  55. package/dist/components/SideNav/SideNavTitle.svelte +7 -0
  56. package/dist/components/SideNav/SideNavTitle.svelte.d.ts +23 -0
  57. package/dist/components/Tabs.svelte +102 -0
  58. package/dist/components/Tabs.svelte.d.ts +14 -0
  59. package/dist/components/Toast.svelte +49 -0
  60. package/dist/components/Toast.svelte.d.ts +18 -0
  61. package/dist/components/Tooltip.svelte +80 -0
  62. package/dist/components/Tooltip.svelte.d.ts +29 -0
  63. package/dist/components/alert-dialog/alert-dialog-action.svelte +16 -0
  64. package/dist/components/alert-dialog/alert-dialog-action.svelte.d.ts +23 -0
  65. package/dist/components/alert-dialog/alert-dialog-cancel.svelte +16 -0
  66. package/dist/components/alert-dialog/alert-dialog-cancel.svelte.d.ts +23 -0
  67. package/dist/components/alert-dialog/alert-dialog-content.svelte +23 -0
  68. package/dist/components/alert-dialog/alert-dialog-content.svelte.d.ts +17 -0
  69. package/dist/components/alert-dialog/alert-dialog-description.svelte +12 -0
  70. package/dist/components/alert-dialog/alert-dialog-description.svelte.d.ts +17 -0
  71. package/dist/components/alert-dialog/alert-dialog-footer.svelte +11 -0
  72. package/dist/components/alert-dialog/alert-dialog-footer.svelte.d.ts +17 -0
  73. package/dist/components/alert-dialog/alert-dialog-header.svelte +8 -0
  74. package/dist/components/alert-dialog/alert-dialog-header.svelte.d.ts +17 -0
  75. package/dist/components/alert-dialog/alert-dialog-overlay.svelte +17 -0
  76. package/dist/components/alert-dialog/alert-dialog-overlay.svelte.d.ts +15 -0
  77. package/dist/components/alert-dialog/alert-dialog-portal.svelte +6 -0
  78. package/dist/components/alert-dialog/alert-dialog-portal.svelte.d.ts +17 -0
  79. package/dist/components/alert-dialog/alert-dialog-title.svelte +10 -0
  80. package/dist/components/alert-dialog/alert-dialog-title.svelte.d.ts +17 -0
  81. package/dist/components/alert-dialog/index.d.ts +13 -0
  82. package/dist/components/alert-dialog/index.js +15 -0
  83. package/dist/components/badge/badge.svelte +16 -0
  84. package/dist/components/badge/badge.svelte.d.ts +22 -0
  85. package/dist/components/badge/index.d.ts +60 -0
  86. package/dist/components/badge/index.js +17 -0
  87. package/dist/components/breadcrumb/breadcrumb-ellipsis.svelte +16 -0
  88. package/dist/components/breadcrumb/breadcrumb-ellipsis.svelte.d.ts +17 -0
  89. package/dist/components/breadcrumb/breadcrumb-item.svelte +9 -0
  90. package/dist/components/breadcrumb/breadcrumb-item.svelte.d.ts +19 -0
  91. package/dist/components/breadcrumb/breadcrumb-link.svelte +22 -0
  92. package/dist/components/breadcrumb/breadcrumb-link.svelte.d.ts +22 -0
  93. package/dist/components/breadcrumb/breadcrumb-list.svelte +16 -0
  94. package/dist/components/breadcrumb/breadcrumb-list.svelte.d.ts +19 -0
  95. package/dist/components/breadcrumb/breadcrumb-page.svelte +16 -0
  96. package/dist/components/breadcrumb/breadcrumb-page.svelte.d.ts +21 -0
  97. package/dist/components/breadcrumb/breadcrumb-separator.svelte +17 -0
  98. package/dist/components/breadcrumb/breadcrumb-separator.svelte.d.ts +19 -0
  99. package/dist/components/breadcrumb/breadcrumb.svelte +8 -0
  100. package/dist/components/breadcrumb/breadcrumb.svelte.d.ts +19 -0
  101. package/dist/components/breadcrumb/index.d.ts +8 -0
  102. package/dist/components/breadcrumb/index.js +10 -0
  103. package/dist/components/button/button.svelte +20 -0
  104. package/dist/components/button/button.svelte.d.ts +16 -0
  105. package/dist/components/button/index.d.ts +110 -0
  106. package/dist/components/button/index.js +28 -0
  107. package/dist/components/card/card-content.svelte +8 -0
  108. package/dist/components/card/card-content.svelte.d.ts +17 -0
  109. package/dist/components/card/card-description.svelte +8 -0
  110. package/dist/components/card/card-description.svelte.d.ts +17 -0
  111. package/dist/components/card/card-footer.svelte +8 -0
  112. package/dist/components/card/card-footer.svelte.d.ts +17 -0
  113. package/dist/components/card/card-header.svelte +8 -0
  114. package/dist/components/card/card-header.svelte.d.ts +17 -0
  115. package/dist/components/card/card-title.svelte +13 -0
  116. package/dist/components/card/card-title.svelte.d.ts +20 -0
  117. package/dist/components/card/card.svelte +11 -0
  118. package/dist/components/card/card.svelte.d.ts +17 -0
  119. package/dist/components/card/index.d.ts +8 -0
  120. package/dist/components/card/index.js +9 -0
  121. package/dist/components/checkbox/checkbox.svelte +28 -0
  122. package/dist/components/checkbox/checkbox.svelte.d.ts +13 -0
  123. package/dist/components/checkbox/index.d.ts +2 -0
  124. package/dist/components/checkbox/index.js +4 -0
  125. package/dist/components/dialog/dialog-content.svelte +31 -0
  126. package/dist/components/dialog/dialog-content.svelte.d.ts +17 -0
  127. package/dist/components/dialog/dialog-description.svelte +12 -0
  128. package/dist/components/dialog/dialog-description.svelte.d.ts +17 -0
  129. package/dist/components/dialog/dialog-footer.svelte +11 -0
  130. package/dist/components/dialog/dialog-footer.svelte.d.ts +17 -0
  131. package/dist/components/dialog/dialog-header.svelte +8 -0
  132. package/dist/components/dialog/dialog-header.svelte.d.ts +17 -0
  133. package/dist/components/dialog/dialog-overlay.svelte +17 -0
  134. package/dist/components/dialog/dialog-overlay.svelte.d.ts +15 -0
  135. package/dist/components/dialog/dialog-portal.svelte +6 -0
  136. package/dist/components/dialog/dialog-portal.svelte.d.ts +17 -0
  137. package/dist/components/dialog/dialog-title.svelte +12 -0
  138. package/dist/components/dialog/dialog-title.svelte.d.ts +17 -0
  139. package/dist/components/dialog/index.d.ts +12 -0
  140. package/dist/components/dialog/index.js +14 -0
  141. package/dist/components/fields/Checkbox.svelte +24 -0
  142. package/dist/components/fields/Checkbox.svelte.d.ts +27 -0
  143. package/dist/components/fields/Radio.svelte +30 -0
  144. package/dist/components/fields/Radio.svelte.d.ts +27 -0
  145. package/dist/components/fields/StandardInput.svelte +47 -0
  146. package/dist/components/fields/StandardInput.svelte.d.ts +31 -0
  147. package/dist/components/input/index.d.ts +23 -0
  148. package/dist/components/input/index.js +4 -0
  149. package/dist/components/input/input.svelte +33 -0
  150. package/dist/components/input/input.svelte.d.ts +14 -0
  151. package/dist/components/label/index.d.ts +2 -0
  152. package/dist/components/label/index.js +4 -0
  153. package/dist/components/label/label.svelte +16 -0
  154. package/dist/components/label/label.svelte.d.ts +15 -0
  155. package/dist/components/radio-group/index.d.ts +5 -0
  156. package/dist/components/radio-group/index.js +7 -0
  157. package/dist/components/radio-group/radio-group-item.svelte +22 -0
  158. package/dist/components/radio-group/radio-group-item.svelte.d.ts +13 -0
  159. package/dist/components/radio-group/radio-group.svelte +10 -0
  160. package/dist/components/radio-group/radio-group.svelte.d.ts +17 -0
  161. package/dist/components/scroll-area/index.d.ts +3 -0
  162. package/dist/components/scroll-area/index.js +5 -0
  163. package/dist/components/scroll-area/scroll-area-scrollbar.svelte +21 -0
  164. package/dist/components/scroll-area/scroll-area-scrollbar.svelte.d.ts +23 -0
  165. package/dist/components/scroll-area/scroll-area.svelte +24 -0
  166. package/dist/components/scroll-area/scroll-area.svelte.d.ts +27 -0
  167. package/dist/components/select/index.d.ts +11 -0
  168. package/dist/components/select/index.js +13 -0
  169. package/dist/components/select/select-content.svelte +33 -0
  170. package/dist/components/select/select-content.svelte.d.ts +15 -0
  171. package/dist/components/select/select-item.svelte +34 -0
  172. package/dist/components/select/select-item.svelte.d.ts +15 -0
  173. package/dist/components/select/select-label.svelte +12 -0
  174. package/dist/components/select/select-label.svelte.d.ts +17 -0
  175. package/dist/components/select/select-separator.svelte +7 -0
  176. package/dist/components/select/select-separator.svelte.d.ts +15 -0
  177. package/dist/components/select/select-trigger.svelte +21 -0
  178. package/dist/components/select/select-trigger.svelte.d.ts +31 -0
  179. package/dist/components/separator/index.d.ts +2 -0
  180. package/dist/components/separator/index.js +4 -0
  181. package/dist/components/separator/separator.svelte +18 -0
  182. package/dist/components/separator/separator.svelte.d.ts +15 -0
  183. package/dist/components/sheet/index.d.ts +114 -0
  184. package/dist/components/sheet/index.js +79 -0
  185. package/dist/components/sheet/sheet-content.svelte +38 -0
  186. package/dist/components/sheet/sheet-content.svelte.d.ts +29 -0
  187. package/dist/components/sheet/sheet-description.svelte +9 -0
  188. package/dist/components/sheet/sheet-description.svelte.d.ts +17 -0
  189. package/dist/components/sheet/sheet-footer.svelte +11 -0
  190. package/dist/components/sheet/sheet-footer.svelte.d.ts +17 -0
  191. package/dist/components/sheet/sheet-header.svelte +8 -0
  192. package/dist/components/sheet/sheet-header.svelte.d.ts +17 -0
  193. package/dist/components/sheet/sheet-overlay.svelte +23 -0
  194. package/dist/components/sheet/sheet-overlay.svelte.d.ts +15 -0
  195. package/dist/components/sheet/sheet-portal.svelte +9 -0
  196. package/dist/components/sheet/sheet-portal.svelte.d.ts +17 -0
  197. package/dist/components/sheet/sheet-title.svelte +12 -0
  198. package/dist/components/sheet/sheet-title.svelte.d.ts +17 -0
  199. package/dist/components/sonner/index.d.ts +1 -0
  200. package/dist/components/sonner/index.js +1 -0
  201. package/dist/components/sonner/sonner.svelte +16 -0
  202. package/dist/components/sonner/sonner.svelte.d.ts +15 -0
  203. package/dist/components/switch/index.d.ts +2 -0
  204. package/dist/components/switch/index.js +4 -0
  205. package/dist/components/switch/switch.svelte +30 -0
  206. package/dist/components/switch/switch.svelte.d.ts +13 -0
  207. package/dist/components/tabs/index.d.ts +6 -0
  208. package/dist/components/tabs/index.js +8 -0
  209. package/dist/components/tabs/tabs-content.svelte +17 -0
  210. package/dist/components/tabs/tabs-content.svelte.d.ts +17 -0
  211. package/dist/components/tabs/tabs-list.svelte +15 -0
  212. package/dist/components/tabs/tabs-list.svelte.d.ts +17 -0
  213. package/dist/components/tabs/tabs-trigger.svelte +18 -0
  214. package/dist/components/tabs/tabs-trigger.svelte.d.ts +15 -0
  215. package/dist/components/textarea/index.d.ts +19 -0
  216. package/dist/components/textarea/index.js +4 -0
  217. package/dist/components/textarea/textarea.svelte +28 -0
  218. package/dist/components/textarea/textarea.svelte.d.ts +14 -0
  219. package/dist/components/tooltip/index.d.ts +5 -0
  220. package/dist/components/tooltip/index.js +7 -0
  221. package/dist/components/tooltip/tooltip-content.svelte +24 -0
  222. package/dist/components/tooltip/tooltip-content.svelte.d.ts +17 -0
  223. package/dist/decorators/DecoratorHorizontalTabs.svelte +3 -0
  224. package/dist/decorators/DecoratorHorizontalTabs.svelte.d.ts +27 -0
  225. package/dist/decorators/DecoratorTransparentButton.svelte +3 -0
  226. package/dist/decorators/DecoratorTransparentButton.svelte.d.ts +27 -0
  227. package/dist/decorators/FixedWidthDecorator.svelte +3 -0
  228. package/dist/decorators/FixedWidthDecorator.svelte.d.ts +27 -0
  229. package/dist/index.d.ts +21 -0
  230. package/dist/index.js +29 -0
  231. package/dist/utils/actions.d.ts +4 -0
  232. package/dist/utils/actions.js +20 -0
  233. package/dist/utils/shadcn-utils.d.ts +13 -0
  234. package/dist/utils/shadcn-utils.js +119 -0
  235. package/package.json +68 -0
package/README.md ADDED
@@ -0,0 +1,17 @@
1
+ # Stubber UI Package
2
+
3
+ This is a sveltekit library project that contains standardized UI components to be used in Stubber Svelte apps
4
+
5
+ [Read More on the Wiki](https://wiki.stubber.zone:3443/en/npm-packages/stubber-ui-pkg)
6
+
7
+ # Getting Started
8
+
9
+ - `npm i`
10
+ - `npm run storybook`
11
+
12
+ # Publishing
13
+
14
+ - `npm version patch` to bump the version
15
+ - `git push origin master` to push the bumped version
16
+ - `npm run build` to build and package the project
17
+ - `npm publish` to publish the package
@@ -0,0 +1,129 @@
1
+ <script>
2
+ export let text = "";
3
+ </script>
4
+
5
+ <h1 class="text-surface-900 text-heading-1">h1: {text}</h1>
6
+ <h2 class="text-surface-900 text-heading-2">h2: {text}</h2>
7
+ <h3 class="text-surface-900 text-heading-3">h3: {text}</h3>
8
+ <h4 class="text-surface-900 text-heading-4">h4: {text}</h4>
9
+ <h5 class="text-surface-900 text-heading-5">h5: {text}</h5>
10
+ <h6 class="text-surface-900 text-heading-6">h6: {text}</h6>
11
+ <div class="text-surface-900 text-p-body">pb: {text}</div>
12
+ <div class="text-surface-900 text-button">bt: {text}</div>
13
+ <div class="text-surface-900 text-field">fi: {text}</div>
14
+ <div class="text-surface-900 text-placeholder">pl: {text}</div>
15
+ <div class="text-surface-900 text-code">co: {text}</div>
16
+ <div class="text-surface-900 text-label">lb: {text}</div>
17
+ <div class="text-surface-900 text-small">sm: {text}</div>
18
+
19
+ <style>
20
+ .demo-text-heading-1,
21
+ .demo-text-heading-2,
22
+ .demo-text-heading-3,
23
+ .demo-text-heading-4,
24
+ .demo-text-heading-5,
25
+ .demo-text-heading-6,
26
+ .demo-text-p-body,
27
+ .demo-text-button,
28
+ .demo-text-field,
29
+ .demo-text-placeholder,
30
+ .demo-text-code,
31
+ .demo-text-label,
32
+ .demo-text-small {
33
+ font-family: "Roboto", Arial, Helvetica, sans-serif;
34
+ letter-spacing: normal;
35
+ font-display: swap;
36
+ }
37
+
38
+ @media screen and (min-width: 320px) and (max-width: 768px) {
39
+ .demo-text-heading-1 {
40
+ font-size: calc(34px + 8 * (100vw - 320px) / 768);
41
+ font-weight: 500;
42
+ }
43
+ .demo-text-heading-2 {
44
+ font-size: calc(30px + 8 * (100vw - 320px) / 768);
45
+ font-weight: 400;
46
+ }
47
+ .demo-text-heading-3 {
48
+ font-size: calc(26px + 8 * (100vw - 320px) / 768);
49
+ font-weight: 500;
50
+ }
51
+ .demo-text-heading-4 {
52
+ font-size: calc(22px + 8 * (100vw - 320px) / 768);
53
+ font-weight: 400;
54
+ }
55
+ .demo-text-heading-5 {
56
+ font-size: calc(18px + 8 * (100vw - 320px) / 768);
57
+ font-weight: 500;
58
+ }
59
+ .demo-text-heading-6 {
60
+ font-size: calc(16px + 8 * (100vw - 320px) / 768);
61
+ font-weight: 400;
62
+ }
63
+ .demo-text-button,
64
+ .demo-text-field,
65
+ .demo-text-placeholder,
66
+ .demo-text-code {
67
+ font-size: calc(14px + 10 * (100vw - 320px) / 768);
68
+ font-weight: 400;
69
+ }
70
+ .demo-text-p-body {
71
+ font-size: calc(14px + 10 * (100vw - 320px) / 768);
72
+ font-weight: 300;
73
+ }
74
+ .demo-text-label {
75
+ font-size: calc(12px + 10 * (100vw - 320px) / 768);
76
+ font-weight: 400;
77
+ }
78
+ .demo-text-small {
79
+ font-size: calc(9px + 10 * (100vw - 320px) / 768);
80
+ font-weight: 300;
81
+ }
82
+ }
83
+
84
+ @media screen and (min-width: 768px) {
85
+ .demo-text-heading-1 {
86
+ font-size: calc(38px + 4 * (100vw - 768px) / 2400);
87
+ font-weight: 500;
88
+ }
89
+ .demo-text-heading-2 {
90
+ font-size: calc(34px + 4 * (100vw - 768px) / 2400);
91
+ font-weight: 400;
92
+ }
93
+ .demo-text-heading-3 {
94
+ font-size: calc(30px + 4 * (100vw - 768px) / 2400);
95
+ font-weight: 500;
96
+ }
97
+ .demo-text-heading-4 {
98
+ font-size: calc(26px + 4 * (100vw - 768px) / 2400);
99
+ font-weight: 400;
100
+ }
101
+ .demo-text-heading-5 {
102
+ font-size: calc(22px + 4 * (100vw - 768px) / 2400);
103
+ font-weight: 500;
104
+ }
105
+ .demo-text-heading-6 {
106
+ font-size: calc(18px + 4 * (100vw - 768px) / 2400);
107
+ font-weight: 400;
108
+ }
109
+ .demo-text-button,
110
+ .demo-text-field,
111
+ .demo-text-placeholder,
112
+ .demo-text-code {
113
+ font-size: calc(16px + 4 * (100vw - 768px) / 2400);
114
+ font-weight: 400;
115
+ }
116
+ .demo-text-p-body {
117
+ font-size: calc(16px + 4 * (100vw - 768px) / 2400);
118
+ font-weight: 300;
119
+ }
120
+ .demo-text-label {
121
+ font-size: calc(14px + 4 * (100vw - 768px) / 2400);
122
+ font-weight: 400;
123
+ }
124
+ .demo-text-small {
125
+ font-size: calc(12px + 4 * (100vw - 768px) / 2400);
126
+ font-weight: 300;
127
+ }
128
+ }
129
+ </style>
@@ -0,0 +1,23 @@
1
+ /** @typedef {typeof __propDef.props} TypographyProps */
2
+ /** @typedef {typeof __propDef.events} TypographyEvents */
3
+ /** @typedef {typeof __propDef.slots} TypographySlots */
4
+ export default class Typography extends SvelteComponent<{
5
+ text?: string | undefined;
6
+ }, {
7
+ [evt: string]: CustomEvent<any>;
8
+ }, {}> {
9
+ }
10
+ export type TypographyProps = typeof __propDef.props;
11
+ export type TypographyEvents = typeof __propDef.events;
12
+ export type TypographySlots = typeof __propDef.slots;
13
+ import { SvelteComponent } from "svelte";
14
+ declare const __propDef: {
15
+ props: {
16
+ text?: string | undefined;
17
+ };
18
+ events: {
19
+ [evt: string]: CustomEvent<any>;
20
+ };
21
+ slots: {};
22
+ };
23
+ export {};
@@ -0,0 +1,11 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="20" height="16" viewBox="0 0 20 16" fill="none">
2
+ <g clip-path="url(#clip0_6861_12999)">
3
+ <path d="M2 14.5H3V16H2C0.896875 16 0 15.1031 0 14V2C0 0.896875 0.896875 0 2 0H7.17188C7.70312 0 8.2125 0.209375 8.5875 0.584375L11.4156 3.4125C11.7906 3.7875 12 4.29688 12 4.82812V9H10.5V5H8C7.44687 5 7 4.55313 7 4V1.5H2C1.725 1.5 1.5 1.725 1.5 2V14C1.5 14.275 1.725 14.5 2 14.5ZM5.5 11H6.5C7.32812 11 8 11.6719 8 12.5V14.5C8 15.3281 7.32812 16 6.5 16H5.5C5.225 16 5 15.775 5 15.5V11.5C5 11.225 5.225 11 5.5 11ZM6 15H6.5C6.775 15 7 14.775 7 14.5V12.5C7 12.225 6.775 12 6.5 12H6V15ZM14.25 11H14.75C15.4406 11 16 11.5594 16 12.25V12.5C16 12.775 15.775 13 15.5 13C15.225 13 15 12.775 15 12.5V12.25C15 12.1125 14.8875 12 14.75 12H14.25C14.1125 12 14 12.1125 14 12.25V14.75C14 14.8875 14.1125 15 14.25 15H14.75C14.8875 15 15 14.8875 15 14.75V14.5C15 14.225 15.225 14 15.5 14C15.775 14 16 14.225 16 14.5V14.75C16 15.4406 15.4406 16 14.75 16H14.25C13.5594 16 13 15.4406 13 14.75V12.25C13 11.5594 13.5594 11 14.25 11ZM9 12.25C9 11.5594 9.55937 11 10.25 11H10.75C11.4406 11 12 11.5594 12 12.25V14.75C12 15.4406 11.4406 16 10.75 16H10.25C9.55937 16 9 15.4406 9 14.75V12.25ZM10.25 12C10.1125 12 10 12.1125 10 12.25V14.75C10 14.8875 10.1125 15 10.25 15H10.75C10.8875 15 11 14.8875 11 14.75V12.25C11 12.1125 10.8875 12 10.75 12H10.25Z" fill="#1F2933"/>
4
+ <path d="M20 15.0237C20 15.2012 19.9606 15.3639 19.8818 15.5118C19.8031 15.6598 19.698 15.7781 19.5667 15.8669C19.4354 15.9556 19.291 16 19.1335 16H17.8731C17.7155 16 17.5689 15.9556 17.4333 15.8669C17.302 15.7781 17.1969 15.6598 17.1182 15.5118C17.0394 15.3639 17 15.2012 17 15.0237V14.8018C17 14.7081 17.0284 14.6292 17.0853 14.5651C17.1466 14.4961 17.2188 14.4615 17.302 14.4615H17.4858C17.5646 14.4615 17.6324 14.4961 17.6893 14.5651C17.7505 14.6292 17.7812 14.7081 17.7812 14.8018V15.0237C17.7812 15.0483 17.7899 15.073 17.8074 15.0976C17.8293 15.1174 17.8512 15.1272 17.8731 15.1272H19.1335C19.1554 15.1272 19.1751 15.1174 19.1926 15.0976C19.2101 15.073 19.2188 15.0483 19.2188 15.0237V14.3506C19.2188 14.2964 19.1969 14.2618 19.1532 14.247L17.5777 13.5814C17.4026 13.5123 17.2626 13.3915 17.1575 13.2189C17.0525 13.0464 17 12.8565 17 12.6494V11.9837C17 11.8013 17.0394 11.6361 17.1182 11.4882C17.1969 11.3402 17.302 11.2219 17.4333 11.1331C17.5689 11.0444 17.7155 11 17.8731 11H19.1335C19.291 11 19.4354 11.0444 19.5667 11.1331C19.698 11.2219 19.8031 11.3402 19.8818 11.4882C19.9606 11.6361 20 11.8013 20 11.9837V12.1834C20 12.2771 19.9694 12.356 19.9081 12.4201C19.8512 12.4842 19.7812 12.5163 19.698 12.5163H19.5208C19.4376 12.5163 19.3654 12.4842 19.3042 12.4201C19.2473 12.356 19.2188 12.2771 19.2188 12.1834V11.9837C19.2188 11.9147 19.1904 11.8802 19.1335 11.8802H17.8731C17.8512 11.8802 17.8293 11.89 17.8074 11.9098C17.7899 11.9295 17.7812 11.9541 17.7812 11.9837V12.6494C17.7812 12.7086 17.8031 12.7456 17.8468 12.7604L19.4289 13.426C19.5996 13.4951 19.7374 13.6159 19.8425 13.7885C19.9475 13.961 20 14.1484 20 14.3506V15.0237Z" fill="#1F2933"/>
5
+ </g>
6
+ <defs>
7
+ <clipPath id="clip0_6861_12999">
8
+ <rect width="20" height="16" fill="white"/>
9
+ </clipPath>
10
+ </defs>
11
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 25 25" fill="none">
2
+ <path d="M7.61689 14.6343L10.8968 15.9102C11.4032 13.8552 12.313 12.4971 13.9648 12.4971C16.7206 12.4971 17.9514 16.0483 21.9114 16.0483C22.7829 16.0483 23.9136 15.8925 25 15.3046V18.7529C25 22.2043 22.2 25 18.7434 25H0L2.33483 21.8721L0 18.7529L2.32599 15.625L0 12.5059L2.33483 9.37794L0 6.25588L2.33483 3.12794L0 0H18.7345C22.1941 0 25 2.80162 25 6.25588V8.15793C25 9.0134 24.8381 9.86888 24.47 10.6391C23.9165 11.7974 23.1068 12.5059 21.932 12.5059C19.1674 12.5059 17.9337 8.96343 13.9854 8.96343C11.9833 8.96343 8.67389 9.78069 7.61689 14.6343Z" fill="#0967D2"/>
3
+ </svg>
@@ -0,0 +1,70 @@
1
+ <script>export let label;
2
+ export let type = "button";
3
+ export let icon = "";
4
+ export let color = "primary";
5
+ export let size = "md";
6
+ export let style = "block";
7
+ export let disabled = false;
8
+ let isIcon = false;
9
+ $:
10
+ isIcon = icon !== "";
11
+ let colorClass;
12
+ let sizeClass;
13
+ let iconSizeClass;
14
+ let styleClass;
15
+ $:
16
+ switch (color) {
17
+ case "primary":
18
+ colorClass = "bg-primary-400 hover:bg-primary-500 focus:bg-primary-300";
19
+ break;
20
+ case "surface":
21
+ colorClass = "bg-surface-400 hover:bg-surface-500 focus:bg-surface-300";
22
+ break;
23
+ case "success":
24
+ colorClass = "bg-success-400 hover:bg-success-500 focus:bg-success-300";
25
+ break;
26
+ case "warning":
27
+ colorClass = "bg-warning-500 hover:bg-warning-600 focus:bg-warning-400";
28
+ break;
29
+ }
30
+ $:
31
+ switch (size) {
32
+ case "sm":
33
+ sizeClass = "text-label-sm";
34
+ iconSizeClass = "fa-xs";
35
+ break;
36
+ case "md":
37
+ sizeClass = "text-label-md";
38
+ iconSizeClass = "fa-sm";
39
+ break;
40
+ case "lg":
41
+ sizeClass = "text-label-lg";
42
+ iconSizeClass = "fa-md";
43
+ break;
44
+ }
45
+ $:
46
+ switch (style) {
47
+ case "block":
48
+ styleClass = "rounded-sm";
49
+ break;
50
+ case "rounded":
51
+ styleClass = "rounded-full";
52
+ break;
53
+ }
54
+ </script>
55
+
56
+ <button
57
+ on:click
58
+ {disabled}
59
+ class="{disabled
60
+ ? 'bg-surface-300'
61
+ : colorClass} py-2 px-5 align-center inline-flex flex-row items-center text-center {styleClass} "
62
+ {type}
63
+ >
64
+ <div class="flex flex-row items-center space-x-2">
65
+ {#if isIcon}
66
+ <i class="text-white fa-fw fa-solid {iconSizeClass} fa-{icon}" />
67
+ {/if}
68
+ <p class="{sizeClass} text-white">{label}</p>
69
+ </div>
70
+ </button>
@@ -0,0 +1,24 @@
1
+ import { SvelteComponent } from "svelte";
2
+ declare const __propDef: {
3
+ props: {
4
+ label: string;
5
+ type?: "button" | "reset" | "submit" | undefined;
6
+ icon?: string | undefined;
7
+ color?: "primary" | "surface" | "success" | "warning" | undefined;
8
+ size?: "sm" | "md" | "lg" | undefined;
9
+ style?: "block" | "rounded" | undefined;
10
+ disabled?: boolean | undefined;
11
+ };
12
+ events: {
13
+ click: MouseEvent;
14
+ } & {
15
+ [evt: string]: CustomEvent<any>;
16
+ };
17
+ slots: {};
18
+ };
19
+ export type ButtonProps = typeof __propDef.props;
20
+ export type ButtonEvents = typeof __propDef.events;
21
+ export type ButtonSlots = typeof __propDef.slots;
22
+ export default class Button extends SvelteComponent<ButtonProps, ButtonEvents, ButtonSlots> {
23
+ }
24
+ export {};
File without changes
@@ -0,0 +1,23 @@
1
+ /** @typedef {typeof __propDef.props} IconButtonProps */
2
+ /** @typedef {typeof __propDef.events} IconButtonEvents */
3
+ /** @typedef {typeof __propDef.slots} IconButtonSlots */
4
+ export default class IconButton extends SvelteComponent<{
5
+ [x: string]: never;
6
+ }, {
7
+ [evt: string]: CustomEvent<any>;
8
+ }, {}> {
9
+ }
10
+ export type IconButtonProps = typeof __propDef.props;
11
+ export type IconButtonEvents = typeof __propDef.events;
12
+ export type IconButtonSlots = typeof __propDef.slots;
13
+ import { SvelteComponent } from "svelte";
14
+ declare const __propDef: {
15
+ props: {
16
+ [x: string]: never;
17
+ };
18
+ events: {
19
+ [evt: string]: CustomEvent<any>;
20
+ };
21
+ slots: {};
22
+ };
23
+ export {};
@@ -0,0 +1,7 @@
1
+ <script>export let message;
2
+ </script>
3
+
4
+ <div class="flex items-center space-x-2">
5
+ <i class="text-body-sm fas fa-rotate fa-spin text-primary-400" />
6
+ <p class="text-body-md text-primary-400">{message}</p>
7
+ </div>
@@ -0,0 +1,16 @@
1
+ import { SvelteComponent } from "svelte";
2
+ declare const __propDef: {
3
+ props: {
4
+ message: string;
5
+ };
6
+ events: {
7
+ [evt: string]: CustomEvent<any>;
8
+ };
9
+ slots: {};
10
+ };
11
+ export type SpinnerMessageProps = typeof __propDef.props;
12
+ export type SpinnerMessageEvents = typeof __propDef.events;
13
+ export type SpinnerMessageSlots = typeof __propDef.slots;
14
+ export default class SpinnerMessage extends SvelteComponent<SpinnerMessageProps, SpinnerMessageEvents, SpinnerMessageSlots> {
15
+ }
16
+ export {};
@@ -0,0 +1,70 @@
1
+ <script>export let label;
2
+ export let type = "button";
3
+ export let icon = "";
4
+ export let color = "primary";
5
+ export let size = "md";
6
+ export let style = "block";
7
+ export let disabled = false;
8
+ let isIcon = false;
9
+ $:
10
+ isIcon = icon !== "";
11
+ let colorClass;
12
+ let sizeClass;
13
+ let iconSizeClass;
14
+ let styleClass;
15
+ $:
16
+ switch (color) {
17
+ case "primary":
18
+ colorClass = "bg-white text-primary-400 hover:bg-primary-50 hover:text-primary-500 focus:bg-primary-100 focus:text-primary-500";
19
+ break;
20
+ case "surface":
21
+ colorClass = "bg-white text-surface-700 hover:bg-surface-50 hover:text-surface-800 focus:bg-surface-100 focus:text-surface-800";
22
+ break;
23
+ case "success":
24
+ colorClass = "bg-white text-success-500 hover:bg-success-50 hover:text-success-600 focus:bg-success-100 focus:text-success-600";
25
+ break;
26
+ case "warning":
27
+ colorClass = "bg-white text-warning-500 hover:bg-warning-50 hover:text-warning-600 focus:bg-warning-100 focus:text-warning-600";
28
+ break;
29
+ }
30
+ $:
31
+ switch (size) {
32
+ case "sm":
33
+ sizeClass = "text-label-sm";
34
+ iconSizeClass = "fa-xs";
35
+ break;
36
+ case "md":
37
+ sizeClass = "text-label-md";
38
+ iconSizeClass = "fa-sm";
39
+ break;
40
+ case "lg":
41
+ sizeClass = "text-label-lg";
42
+ iconSizeClass = "fa-md";
43
+ break;
44
+ }
45
+ $:
46
+ switch (style) {
47
+ case "block":
48
+ styleClass = "rounded-sm";
49
+ break;
50
+ case "rounded":
51
+ styleClass = "rounded-full";
52
+ break;
53
+ }
54
+ </script>
55
+
56
+ <button
57
+ {disabled}
58
+ on:click
59
+ class="{disabled
60
+ ? 'bg-white text-surface-500'
61
+ : colorClass} py-2 px-5 align-center inline-flex flex-row items-center text-center {styleClass} "
62
+ {type}
63
+ >
64
+ <div class="flex flex-row items-center space-x-2">
65
+ {#if isIcon}
66
+ <i class="fa-fw fa-solid {iconSizeClass} fa-{icon}" />
67
+ {/if}
68
+ <p class={sizeClass}>{label}</p>
69
+ </div>
70
+ </button>
@@ -0,0 +1,24 @@
1
+ import { SvelteComponent } from "svelte";
2
+ declare const __propDef: {
3
+ props: {
4
+ label: string;
5
+ type?: "button" | "reset" | "submit" | undefined;
6
+ icon?: string | undefined;
7
+ color?: "primary" | "surface" | "success" | "warning" | "none" | undefined;
8
+ size?: "sm" | "md" | "lg" | undefined;
9
+ style?: "block" | "rounded" | undefined;
10
+ disabled?: boolean | undefined;
11
+ };
12
+ events: {
13
+ click: MouseEvent;
14
+ } & {
15
+ [evt: string]: CustomEvent<any>;
16
+ };
17
+ slots: {};
18
+ };
19
+ export type TextOnlyButtonProps = typeof __propDef.props;
20
+ export type TextOnlyButtonEvents = typeof __propDef.events;
21
+ export type TextOnlyButtonSlots = typeof __propDef.slots;
22
+ export default class TextOnlyButton extends SvelteComponent<TextOnlyButtonProps, TextOnlyButtonEvents, TextOnlyButtonSlots> {
23
+ }
24
+ export {};
@@ -0,0 +1,47 @@
1
+ <script>import { Accordion } from "bits-ui";
2
+ import { slide } from "svelte/transition";
3
+ import { faCaretDown } from "@fortawesome/free-solid-svg-icons";
4
+ import { FontAwesomeIcon } from "@fortawesome/svelte-fontawesome";
5
+ const items = [
6
+ {
7
+ title: "What is the meaning of life?",
8
+ content: "To become a better person, to help others, and to leave the world a better place than you found it."
9
+ },
10
+ {
11
+ title: "How do I become a better person?",
12
+ content: "Read books, listen to podcasts, and surround yourself with people who inspire you."
13
+ },
14
+ {
15
+ title: "What is the best way to help others?",
16
+ content: "Give them your time, attention, and love."
17
+ }
18
+ ];
19
+ </script>
20
+
21
+
22
+ <Accordion.Root class="w-full sm:max-w-[70%]" multiple>
23
+ {#each items as item, i}
24
+ <Accordion.Item value={`${i}`} class="group border-b border-dark-10 px-1.5">
25
+ <Accordion.Header>
26
+ <Accordion.Trigger
27
+ class="flex w-full flex-1 items-center justify-between py-5 text-[15px] font-medium transition-all [&[data-state=open]>span>svg]:rotate-180"
28
+ >
29
+ {item.title}
30
+ <span
31
+ class="inline-flex size-8 items-center justify-center rounded-[7px] bg-transparent transition-all hover:bg-dark-10"
32
+ >
33
+ <!-- Use FontAwesomeIcon with the Pro CaretDown icon -->
34
+ <FontAwesomeIcon icon={faCaretDown} class="size-[18px] transition-all duration-200" />
35
+ </span>
36
+ </Accordion.Trigger>
37
+ </Accordion.Header>
38
+ <Accordion.Content
39
+ transition={slide}
40
+ transitionConfig={{ duration: 200 }}
41
+ class="pb-[25px] text-sm tracking-[-0.01em]"
42
+ >
43
+ {item.content}
44
+ </Accordion.Content>
45
+ </Accordion.Item>
46
+ {/each}
47
+ </Accordion.Root>
@@ -0,0 +1,14 @@
1
+ import { SvelteComponent } from "svelte";
2
+ declare const __propDef: {
3
+ props: Record<string, never>;
4
+ events: {
5
+ [evt: string]: CustomEvent<any>;
6
+ };
7
+ slots: {};
8
+ };
9
+ export type AccordionProps = typeof __propDef.props;
10
+ export type AccordionEvents = typeof __propDef.events;
11
+ export type AccordionSlots = typeof __propDef.slots;
12
+ export default class Accordion extends SvelteComponent<AccordionProps, AccordionEvents, AccordionSlots> {
13
+ }
14
+ export {};
@@ -0,0 +1,20 @@
1
+ <script>import { Label, Switch } from "bits-ui";
2
+ </script>
3
+
4
+ <div class="flex items-center space-x-3">
5
+ <Switch.Root
6
+ id="marketing"
7
+ class="peer inline-flex h-[36px] min-h-[36px] w-[62px] shrink-0 cursor-pointer items-center rounded-xl px-[4px] transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-300 focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-info-600 data-[state=unchecked]:bg-gray-200 shadow-lg border-2 border-white/20"
8
+ >
9
+ <Switch.Thumb
10
+ class="pointer-events-none h-[26px] w-[26px] shrink-0 rounded-lg bg-white transition-transform data-[state=checked]:translate-x-[26px] data-[state=unchecked]:translate-x-0 shadow-md flex items-center justify-center"
11
+ >
12
+ </Switch.Thumb>
13
+ </Switch.Root>
14
+
15
+
16
+
17
+ <Label.Root for="marketing" class="text-sm font-medium"
18
+ >Advanced Mode</Label.Root
19
+ >
20
+ </div>
@@ -0,0 +1,14 @@
1
+ import { SvelteComponent } from "svelte";
2
+ declare const __propDef: {
3
+ props: Record<string, never>;
4
+ events: {
5
+ [evt: string]: CustomEvent<any>;
6
+ };
7
+ slots: {};
8
+ };
9
+ export type AdvancedSwitchProps = typeof __propDef.props;
10
+ export type AdvancedSwitchEvents = typeof __propDef.events;
11
+ export type AdvancedSwitchSlots = typeof __propDef.slots;
12
+ export default class AdvancedSwitch extends SvelteComponent<AdvancedSwitchProps, AdvancedSwitchEvents, AdvancedSwitchSlots> {
13
+ }
14
+ export {};
@@ -0,0 +1,34 @@
1
+ <script>
2
+ export let type = "info";
3
+ export let message = "";
4
+
5
+ let colorClass = "";
6
+ $: switch (type) {
7
+ case "info":
8
+ colorClass = "bg-primary-300";
9
+ break;
10
+ case "success":
11
+ colorClass = "bg-success-300";
12
+ break;
13
+ case "warning":
14
+ colorClass = "bg-warning-300";
15
+ break;
16
+ case "error":
17
+ colorClass = "bg-danger-300";
18
+ break;
19
+ }
20
+ </script>
21
+
22
+ <div class="w-[280px] p-5 {colorClass} rounded-lg shadow-5">
23
+ <div class="flex">
24
+ <div class="flex items-center mr-[15px]">
25
+ <i class="text-white far fa-lg fa-circle-info" />
26
+ </div>
27
+ <div class="text-label font-normal text-white mr-2.5">
28
+ {@html message}
29
+ </div>
30
+ <div class="ml-auto flex items-center">
31
+ <i class="text-white far fa-lg fa-xmark" />
32
+ </div>
33
+ </div>
34
+ </div>
@@ -0,0 +1,25 @@
1
+ /** @typedef {typeof __propDef.props} AlertProps */
2
+ /** @typedef {typeof __propDef.events} AlertEvents */
3
+ /** @typedef {typeof __propDef.slots} AlertSlots */
4
+ export default class Alert extends SvelteComponent<{
5
+ type?: string | undefined;
6
+ message?: string | undefined;
7
+ }, {
8
+ [evt: string]: CustomEvent<any>;
9
+ }, {}> {
10
+ }
11
+ export type AlertProps = typeof __propDef.props;
12
+ export type AlertEvents = typeof __propDef.events;
13
+ export type AlertSlots = typeof __propDef.slots;
14
+ import { SvelteComponent } from "svelte";
15
+ declare const __propDef: {
16
+ props: {
17
+ type?: string | undefined;
18
+ message?: string | undefined;
19
+ };
20
+ events: {
21
+ [evt: string]: CustomEvent<any>;
22
+ };
23
+ slots: {};
24
+ };
25
+ export {};
@@ -0,0 +1,64 @@
1
+ <script>
2
+ import { createEventDispatcher } from "svelte";
3
+ import IconButton from "./IconButton.svelte";
4
+ export let breadcrumbs = []; // { label: string, href: string }
5
+ export let title = "";
6
+ export let mode = "redirect"; // redirect || button
7
+ export let reload_on_redirect = false; // false || true
8
+
9
+ const dispatch = createEventDispatcher();
10
+
11
+ function handleClick(e) {
12
+ dispatch("click", e);
13
+ }
14
+ </script>
15
+
16
+ <!-- Breadcrumbs -->
17
+ <div>
18
+ <div class="flex flex-row items-center">
19
+ {#if breadcrumbs.length >= 2}
20
+ {#if mode == "redirect"}
21
+ <a
22
+ href={breadcrumbs[breadcrumbs.length - 2].href}
23
+ data-sveltekit-reload={Boolean(reload_on_redirect)}
24
+ >
25
+ <div class="text-surface-700">
26
+ <IconButton icon="far fa-arrow-left" color="surface" variant="ghost" />
27
+ </div>
28
+ </a>
29
+ {:else if mode == "button"}
30
+ <div class="text-surface-700">
31
+ <IconButton
32
+ on:click={(e) => handleClick(breadcrumbs[breadcrumbs.length - 2].href)}
33
+ icon="far fa-arrow-left"
34
+ color="surface"
35
+ variant="ghost"
36
+ />
37
+ </div>
38
+ {/if}
39
+ {/if}
40
+ {#if breadcrumbs.length}
41
+ {#each breadcrumbs as breadcrumb, i}
42
+ {#if i == breadcrumbs.length - 1}
43
+ <h5 class="text-button font-normal text-surface-700">{breadcrumb.label}</h5>
44
+ {:else if mode == "redirect"}
45
+ <a href={breadcrumb.href} data-sveltekit-reload={Boolean(reload_on_redirect)}>
46
+ <h5 class="text-button font-normal text-surface-700 hover:text-primary-400">
47
+ {breadcrumb.label} /&nbsp;
48
+ </h5>
49
+ </a>
50
+ {:else if mode == "button"}
51
+ <button
52
+ on:click={(e) => handleClick(breadcrumb.href)}
53
+ class="text-button font-normal text-surface-700 hover:text-primary-400"
54
+ >
55
+ {breadcrumb.label} /&nbsp;
56
+ </button>
57
+ {/if}
58
+ {/each}
59
+ {/if}
60
+ </div>
61
+ {#if title}
62
+ <h6 class="text-surface-900 text-heading-5">{title}</h6>
63
+ {/if}
64
+ </div>