@makolabs/ripple 0.0.1 → 0.0.3

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 (144) hide show
  1. package/README.md +575 -8
  2. package/dist/adapters/storage/BaseAdapter.d.ts +20 -0
  3. package/dist/adapters/storage/BaseAdapter.js +171 -0
  4. package/dist/adapters/storage/S3Adapter.d.ts +21 -0
  5. package/dist/adapters/storage/S3Adapter.js +194 -0
  6. package/dist/adapters/storage/index.d.ts +3 -0
  7. package/dist/adapters/storage/index.js +3 -0
  8. package/dist/adapters/storage/types.d.ts +102 -0
  9. package/dist/adapters/storage/types.js +4 -0
  10. package/dist/button/Button.svelte +48 -0
  11. package/dist/button/Button.svelte.d.ts +4 -0
  12. package/dist/button/button.d.ts +113 -0
  13. package/dist/button/button.js +168 -0
  14. package/dist/charts/Chart.svelte +545 -0
  15. package/dist/charts/Chart.svelte.d.ts +4 -0
  16. package/dist/drawer/Drawer.svelte +224 -0
  17. package/dist/drawer/Drawer.svelte.d.ts +4 -0
  18. package/dist/drawer/drawer.d.ts +160 -0
  19. package/dist/drawer/drawer.js +80 -0
  20. package/dist/elements/accordion/Accordion.svelte +98 -0
  21. package/dist/elements/accordion/Accordion.svelte.d.ts +4 -0
  22. package/dist/elements/accordion/accordion.d.ts +227 -0
  23. package/dist/elements/accordion/accordion.js +138 -0
  24. package/dist/elements/alert/Alert.svelte +57 -0
  25. package/dist/elements/alert/Alert.svelte.d.ts +4 -0
  26. package/dist/elements/badge/Badge.svelte +43 -0
  27. package/dist/elements/badge/Badge.svelte.d.ts +4 -0
  28. package/dist/elements/badge/badge.d.ts +181 -0
  29. package/dist/elements/badge/badge.js +65 -0
  30. package/dist/elements/dropdown/Dropdown.svelte +234 -0
  31. package/dist/elements/dropdown/Dropdown.svelte.d.ts +4 -0
  32. package/dist/elements/dropdown/Select.svelte +333 -0
  33. package/dist/elements/dropdown/Select.svelte.d.ts +4 -0
  34. package/dist/elements/dropdown/dropdown.d.ts +251 -0
  35. package/dist/elements/dropdown/dropdown.js +95 -0
  36. package/dist/elements/dropdown/select.d.ts +200 -0
  37. package/dist/elements/dropdown/select.js +82 -0
  38. package/dist/elements/file-upload/FileUpload.svelte +135 -0
  39. package/dist/elements/file-upload/FileUpload.svelte.d.ts +4 -0
  40. package/dist/elements/file-upload/FilesPreview.svelte +93 -0
  41. package/dist/elements/file-upload/FilesPreview.svelte.d.ts +4 -0
  42. package/dist/elements/progress/Progress.svelte +145 -0
  43. package/dist/elements/progress/Progress.svelte.d.ts +4 -0
  44. package/dist/elements/timeline/Timeline.svelte +92 -0
  45. package/dist/elements/timeline/Timeline.svelte.d.ts +7 -0
  46. package/dist/file-browser/FileBrowser.svelte +877 -0
  47. package/dist/file-browser/FileBrowser.svelte.d.ts +14 -0
  48. package/dist/file-browser/index.d.ts +1 -0
  49. package/dist/file-browser/index.js +1 -0
  50. package/dist/filters/CompactFilters.svelte +147 -0
  51. package/dist/filters/CompactFilters.svelte.d.ts +4 -0
  52. package/dist/filters/index.d.ts +1 -0
  53. package/dist/filters/index.js +1 -0
  54. package/dist/forms/Checkbox.svelte +54 -0
  55. package/dist/forms/Checkbox.svelte.d.ts +4 -0
  56. package/dist/forms/DateRange.svelte +493 -0
  57. package/dist/forms/DateRange.svelte.d.ts +4 -0
  58. package/dist/forms/Form.svelte +39 -0
  59. package/dist/forms/Form.svelte.d.ts +4 -0
  60. package/dist/forms/Input.svelte +86 -0
  61. package/dist/forms/Input.svelte.d.ts +4 -0
  62. package/dist/forms/NumberInput.svelte +159 -0
  63. package/dist/forms/NumberInput.svelte.d.ts +4 -0
  64. package/dist/forms/RadioInputs.svelte +64 -0
  65. package/dist/forms/RadioInputs.svelte.d.ts +4 -0
  66. package/dist/forms/RadioPill.svelte +66 -0
  67. package/dist/forms/RadioPill.svelte.d.ts +4 -0
  68. package/dist/forms/Slider.svelte +342 -0
  69. package/dist/forms/Slider.svelte.d.ts +4 -0
  70. package/dist/forms/Tags.svelte +181 -0
  71. package/dist/forms/Tags.svelte.d.ts +4 -0
  72. package/dist/forms/Toggle.svelte +132 -0
  73. package/dist/forms/Toggle.svelte.d.ts +4 -0
  74. package/dist/forms/slider.d.ts +143 -0
  75. package/dist/forms/slider.js +62 -0
  76. package/dist/header/Breadcrumbs.svelte +73 -0
  77. package/dist/header/Breadcrumbs.svelte.d.ts +4 -0
  78. package/dist/header/PageHeader.svelte +68 -0
  79. package/dist/header/PageHeader.svelte.d.ts +4 -0
  80. package/dist/header/breadcrumbs.d.ts +226 -0
  81. package/dist/header/breadcrumbs.js +87 -0
  82. package/dist/helper/cls.d.ts +1 -0
  83. package/dist/helper/cls.js +4 -0
  84. package/dist/helper/date.d.ts +7 -0
  85. package/dist/helper/date.js +15 -0
  86. package/dist/helper/nav.svelte.d.ts +6 -0
  87. package/dist/helper/nav.svelte.js +23 -0
  88. package/dist/index.d.ts +856 -1
  89. package/dist/index.js +78 -1
  90. package/dist/layout/card/Card.svelte +41 -0
  91. package/dist/layout/card/Card.svelte.d.ts +4 -0
  92. package/dist/layout/card/MetricCard.svelte +64 -0
  93. package/dist/layout/card/MetricCard.svelte.d.ts +4 -0
  94. package/dist/layout/card/StatsCard.svelte +266 -0
  95. package/dist/layout/card/StatsCard.svelte.d.ts +4 -0
  96. package/dist/layout/card/card.d.ts +128 -0
  97. package/dist/layout/card/card.js +51 -0
  98. package/dist/layout/card/metric-card.d.ts +49 -0
  99. package/dist/layout/card/metric-card.js +10 -0
  100. package/dist/layout/card/stats-card.d.ts +191 -0
  101. package/dist/layout/card/stats-card.js +73 -0
  102. package/dist/layout/navbar/Navbar.svelte +206 -0
  103. package/dist/layout/navbar/Navbar.svelte.d.ts +4 -0
  104. package/dist/layout/navbar/navbar.d.ts +205 -0
  105. package/dist/layout/navbar/navbar.js +98 -0
  106. package/dist/layout/sidebar/NavGroup.svelte +91 -0
  107. package/dist/layout/sidebar/NavGroup.svelte.d.ts +4 -0
  108. package/dist/layout/sidebar/NavItem.svelte +29 -0
  109. package/dist/layout/sidebar/NavItem.svelte.d.ts +4 -0
  110. package/dist/layout/sidebar/Sidebar.svelte +193 -0
  111. package/dist/layout/sidebar/Sidebar.svelte.d.ts +4 -0
  112. package/dist/layout/table/Cells.svelte +111 -0
  113. package/dist/layout/table/Cells.svelte.d.ts +27 -0
  114. package/dist/layout/table/Table.svelte +790 -0
  115. package/dist/layout/table/Table.svelte.d.ts +4 -0
  116. package/dist/layout/table/table.d.ts +256 -0
  117. package/dist/layout/table/table.js +141 -0
  118. package/dist/layout/tabs/Tab.svelte +60 -0
  119. package/dist/layout/tabs/Tab.svelte.d.ts +4 -0
  120. package/dist/layout/tabs/TabContent.svelte +30 -0
  121. package/dist/layout/tabs/TabContent.svelte.d.ts +4 -0
  122. package/dist/layout/tabs/TabGroup.svelte +62 -0
  123. package/dist/layout/tabs/TabGroup.svelte.d.ts +4 -0
  124. package/dist/layout/tabs/tabs.d.ts +140 -0
  125. package/dist/layout/tabs/tabs.js +298 -0
  126. package/dist/modal/Modal.svelte +207 -0
  127. package/dist/modal/Modal.svelte.d.ts +4 -0
  128. package/dist/modal/modal.d.ts +211 -0
  129. package/dist/modal/modal.js +81 -0
  130. package/dist/sonner/sonner.svelte +13 -0
  131. package/dist/sonner/sonner.svelte.d.ts +4 -0
  132. package/dist/types/variants.d.ts +1 -0
  133. package/dist/types/variants.js +1 -0
  134. package/dist/utils/Portal.svelte +108 -0
  135. package/dist/utils/Portal.svelte.d.ts +8 -0
  136. package/dist/utils/dateUtils.d.ts +7 -0
  137. package/dist/utils/dateUtils.js +26 -0
  138. package/dist/variants.d.ts +30 -0
  139. package/dist/variants.js +36 -0
  140. package/package.json +39 -6
  141. package/dist/layout/Card.svelte +0 -179
  142. package/dist/layout/Card.svelte.d.ts +0 -208
  143. package/dist/layout/index.d.ts +0 -1
  144. package/dist/layout/index.js +0 -1
@@ -0,0 +1,226 @@
1
+ type BreadcrumbItem = {
2
+ label: string;
3
+ href: string;
4
+ current?: boolean;
5
+ };
6
+ export declare const breadcrumbs: import("tailwind-variants").TVReturnType<{
7
+ size: {
8
+ xs: {
9
+ base: string;
10
+ };
11
+ sm: {
12
+ base: string;
13
+ };
14
+ base: {
15
+ base: string;
16
+ };
17
+ lg: {
18
+ base: string;
19
+ };
20
+ };
21
+ weight: {
22
+ normal: {
23
+ item: string;
24
+ };
25
+ medium: {
26
+ item: string;
27
+ };
28
+ semibold: {
29
+ item: string;
30
+ };
31
+ bold: {
32
+ item: string;
33
+ };
34
+ };
35
+ color: {
36
+ default: {
37
+ item: string;
38
+ wrapper: string;
39
+ };
40
+ primary: {
41
+ item: string;
42
+ wrapper: string;
43
+ };
44
+ secondary: {
45
+ item: string;
46
+ wrapper: string;
47
+ };
48
+ info: {
49
+ item: string;
50
+ wrapper: string;
51
+ };
52
+ success: {
53
+ item: string;
54
+ wrapper: string;
55
+ };
56
+ warning: {
57
+ item: string;
58
+ wrapper: string;
59
+ };
60
+ danger: {
61
+ item: string;
62
+ wrapper: string;
63
+ };
64
+ };
65
+ active: {
66
+ true: {
67
+ item: string;
68
+ };
69
+ false: {
70
+ item: string;
71
+ };
72
+ };
73
+ }, {
74
+ base: string;
75
+ list: string;
76
+ item: string;
77
+ separator: string;
78
+ wrapper: string;
79
+ }, undefined, {
80
+ size: {
81
+ xs: {
82
+ base: string;
83
+ };
84
+ sm: {
85
+ base: string;
86
+ };
87
+ base: {
88
+ base: string;
89
+ };
90
+ lg: {
91
+ base: string;
92
+ };
93
+ };
94
+ weight: {
95
+ normal: {
96
+ item: string;
97
+ };
98
+ medium: {
99
+ item: string;
100
+ };
101
+ semibold: {
102
+ item: string;
103
+ };
104
+ bold: {
105
+ item: string;
106
+ };
107
+ };
108
+ color: {
109
+ default: {
110
+ item: string;
111
+ wrapper: string;
112
+ };
113
+ primary: {
114
+ item: string;
115
+ wrapper: string;
116
+ };
117
+ secondary: {
118
+ item: string;
119
+ wrapper: string;
120
+ };
121
+ info: {
122
+ item: string;
123
+ wrapper: string;
124
+ };
125
+ success: {
126
+ item: string;
127
+ wrapper: string;
128
+ };
129
+ warning: {
130
+ item: string;
131
+ wrapper: string;
132
+ };
133
+ danger: {
134
+ item: string;
135
+ wrapper: string;
136
+ };
137
+ };
138
+ active: {
139
+ true: {
140
+ item: string;
141
+ };
142
+ false: {
143
+ item: string;
144
+ };
145
+ };
146
+ }, {
147
+ base: string;
148
+ list: string;
149
+ item: string;
150
+ separator: string;
151
+ wrapper: string;
152
+ }, import("tailwind-variants").TVReturnType<{
153
+ size: {
154
+ xs: {
155
+ base: string;
156
+ };
157
+ sm: {
158
+ base: string;
159
+ };
160
+ base: {
161
+ base: string;
162
+ };
163
+ lg: {
164
+ base: string;
165
+ };
166
+ };
167
+ weight: {
168
+ normal: {
169
+ item: string;
170
+ };
171
+ medium: {
172
+ item: string;
173
+ };
174
+ semibold: {
175
+ item: string;
176
+ };
177
+ bold: {
178
+ item: string;
179
+ };
180
+ };
181
+ color: {
182
+ default: {
183
+ item: string;
184
+ wrapper: string;
185
+ };
186
+ primary: {
187
+ item: string;
188
+ wrapper: string;
189
+ };
190
+ secondary: {
191
+ item: string;
192
+ wrapper: string;
193
+ };
194
+ info: {
195
+ item: string;
196
+ wrapper: string;
197
+ };
198
+ success: {
199
+ item: string;
200
+ wrapper: string;
201
+ };
202
+ warning: {
203
+ item: string;
204
+ wrapper: string;
205
+ };
206
+ danger: {
207
+ item: string;
208
+ wrapper: string;
209
+ };
210
+ };
211
+ active: {
212
+ true: {
213
+ item: string;
214
+ };
215
+ false: {
216
+ item: string;
217
+ };
218
+ };
219
+ }, {
220
+ base: string;
221
+ list: string;
222
+ item: string;
223
+ separator: string;
224
+ wrapper: string;
225
+ }, undefined, unknown, unknown, undefined>>;
226
+ export type { BreadcrumbItem };
@@ -0,0 +1,87 @@
1
+ import { tv } from 'tailwind-variants';
2
+ export const breadcrumbs = tv({
3
+ slots: {
4
+ base: 'flex',
5
+ list: 'flex flex-wrap items-center space-x-2.5',
6
+ item: 'flex items-center whitespace-nowrap',
7
+ separator: 'flex items-center',
8
+ wrapper: 'flex items-center gap-2.5'
9
+ },
10
+ variants: {
11
+ size: {
12
+ xs: {
13
+ base: 'items-center text-xs'
14
+ },
15
+ sm: {
16
+ base: 'items-center text-sm'
17
+ },
18
+ base: {
19
+ base: 'items-center text-base'
20
+ },
21
+ lg: {
22
+ base: 'items-center text-lg'
23
+ }
24
+ },
25
+ weight: {
26
+ normal: {
27
+ item: 'font-normal'
28
+ },
29
+ medium: {
30
+ item: 'font-medium'
31
+ },
32
+ semibold: {
33
+ item: 'font-semibold'
34
+ },
35
+ bold: {
36
+ item: 'font-bold'
37
+ }
38
+ },
39
+ color: {
40
+ default: {
41
+ item: 'hover:text-default-700',
42
+ wrapper: 'text-default-500'
43
+ },
44
+ primary: {
45
+ item: 'hover:text-primary-700',
46
+ wrapper: 'text-primary-500'
47
+ },
48
+ secondary: {
49
+ item: 'hover:text-secondary-700',
50
+ wrapper: 'text-secondary-500'
51
+ },
52
+ info: {
53
+ item: 'hover:text-info-700',
54
+ wrapper: 'text-info-500'
55
+ },
56
+ success: {
57
+ item: 'hover:text-success-700',
58
+ wrapper: 'text-success-500'
59
+ },
60
+ warning: {
61
+ item: 'hover:text-warning-700',
62
+ wrapper: 'text-warning-500'
63
+ },
64
+ danger: {
65
+ item: 'hover:text-danger-700',
66
+ wrapper: 'text-danger-500'
67
+ }
68
+ },
69
+ active: {
70
+ true: {
71
+ item: 'text-current font-semibold'
72
+ },
73
+ false: {
74
+ item: ''
75
+ }
76
+ }
77
+ },
78
+ compoundVariants: [
79
+ // Additional compound variants can be added here if needed
80
+ ],
81
+ defaultVariants: {
82
+ size: 'sm',
83
+ weight: 'medium',
84
+ color: 'default',
85
+ active: false
86
+ }
87
+ });
@@ -1,2 +1,3 @@
1
1
  import { type ClassValue } from 'clsx';
2
2
  export declare function cn(...inputs: ClassValue[]): string;
3
+ export declare const tv: import("tailwind-variants").CreateTV;
@@ -1,5 +1,9 @@
1
1
  import { clsx } from 'clsx';
2
2
  import { twMerge } from 'tailwind-merge';
3
+ import { createTV } from 'tailwind-variants';
3
4
  export function cn(...inputs) {
4
5
  return twMerge(clsx(inputs));
5
6
  }
7
+ export const tv = createTV({
8
+ twMerge: true
9
+ });
@@ -0,0 +1,7 @@
1
+ export declare const DATE_FORMAT: {
2
+ ISO: string;
3
+ READABLE: string;
4
+ SHORT: string;
5
+ };
6
+ export declare function formatDateTime(time: Date | string, format?: string): string;
7
+ export declare function getRelativeTime(time: Date | string): string;
@@ -0,0 +1,15 @@
1
+ import dayjs from 'dayjs';
2
+ import relativeTime from 'dayjs/plugin/relativeTime.js';
3
+ dayjs.extend(relativeTime);
4
+ export const DATE_FORMAT = {
5
+ ISO: 'YYYY-MM-DDTHH:mm:ssZ',
6
+ READABLE: 'MMM D, YYYY h:mm A',
7
+ SHORT: 'MM/DD/YYYY HH:mm'
8
+ };
9
+ export function formatDateTime(time, format = DATE_FORMAT.READABLE) {
10
+ return dayjs(time).format(format);
11
+ }
12
+ export function getRelativeTime(time) {
13
+ const date = dayjs(time);
14
+ return date.fromNow();
15
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Check if a URL matches the current route
3
+ * @param href - The URL to check
4
+ * @param exact - Whether to require an exact match
5
+ */
6
+ export declare function isRouteActive(href: string, exact?: boolean): boolean;
@@ -0,0 +1,23 @@
1
+ import { page } from '$app/state';
2
+ /**
3
+ * Check if a URL matches the current route
4
+ * @param href - The URL to check
5
+ * @param exact - Whether to require an exact match
6
+ */
7
+ export function isRouteActive(href, exact = false) {
8
+ const currentPath = page.url.pathname;
9
+ if (exact) {
10
+ return currentPath === href;
11
+ }
12
+ // Home page special case
13
+ if (href === '/' && currentPath === '/') {
14
+ return true;
15
+ }
16
+ // Check if the current path starts with href, but ensure it's a complete segment
17
+ if (href !== '/' && currentPath.startsWith(href)) {
18
+ // Check if the next character after href is a slash or the end of the string
19
+ const nextChar = currentPath.charAt(href.length);
20
+ return nextChar === '' || nextChar === '/';
21
+ }
22
+ return false;
23
+ }