@casinogate/ui 0.0.4 → 1.0.1

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 (219) hide show
  1. package/README.md +886 -90
  2. package/dist/app.d.ts +1 -1
  3. package/dist/app.html +9 -9
  4. package/dist/assets/css/root.css +585 -0
  5. package/dist/assets/css/theme.css +2 -0
  6. package/dist/components/button/button.stories.svelte +2 -2
  7. package/dist/components/checkbox/checkbox.stories.svelte +2 -2
  8. package/dist/components/checkbox/components/checkbox.root.svelte +2 -2
  9. package/dist/components/checkbox/index.js +1 -1
  10. package/dist/components/collapsible/collapsible.stories.svelte +2 -2
  11. package/dist/components/collapsible/components/collapsaible.svelte.js +1 -1
  12. package/dist/components/collapsible/components/collapsaible.trigger.svelte +2 -2
  13. package/dist/components/data-table/README.md +1285 -0
  14. package/dist/components/data-table/components/data-table.body.svelte +33 -0
  15. package/dist/components/data-table/components/data-table.body.svelte.d.ts +8 -0
  16. package/dist/components/data-table/components/data-table.cell.svelte +48 -0
  17. package/dist/components/data-table/components/data-table.cell.svelte.d.ts +10 -0
  18. package/dist/components/data-table/components/data-table.head.svelte +48 -0
  19. package/dist/components/data-table/components/data-table.head.svelte.d.ts +10 -0
  20. package/dist/components/data-table/components/data-table.header.svelte +41 -0
  21. package/dist/components/data-table/components/data-table.header.svelte.d.ts +7 -0
  22. package/dist/components/data-table/components/data-table.resize-handler.svelte +31 -0
  23. package/dist/components/data-table/components/data-table.resize-handler.svelte.d.ts +7 -0
  24. package/dist/components/data-table/components/data-table.root.svelte +55 -0
  25. package/dist/components/data-table/components/data-table.root.svelte.d.ts +34 -0
  26. package/dist/components/data-table/components/data-table.row.svelte +35 -0
  27. package/dist/components/data-table/components/data-table.row.svelte.d.ts +7 -0
  28. package/dist/components/data-table/components/data-table.sort-button.svelte +51 -0
  29. package/dist/components/data-table/components/data-table.sort-button.svelte.d.ts +7 -0
  30. package/dist/components/data-table/components/data-table.svelte.d.ts +139 -0
  31. package/dist/components/data-table/components/data-table.svelte.js +248 -0
  32. package/dist/components/data-table/components/data-table.table.svelte +33 -0
  33. package/dist/components/data-table/components/data-table.table.svelte.d.ts +8 -0
  34. package/dist/components/data-table/components/flex-render.svelte +32 -0
  35. package/dist/components/data-table/components/flex-render.svelte.d.ts +30 -0
  36. package/dist/components/data-table/data-table.stories.svelte +327 -0
  37. package/dist/components/data-table/data-table.stories.svelte.d.ts +4 -0
  38. package/dist/components/data-table/data-table.svelte +118 -0
  39. package/dist/components/data-table/data-table.svelte.d.ts +32 -0
  40. package/dist/components/data-table/index.js +27 -0
  41. package/dist/components/data-table/models/create-table.svelte.d.ts +19 -0
  42. package/dist/components/data-table/models/create-table.svelte.js +35 -0
  43. package/dist/components/data-table/models/index.d.ts +1 -0
  44. package/dist/components/data-table/models/index.js +1 -0
  45. package/dist/components/data-table/styles.d.ts +176 -0
  46. package/dist/components/data-table/styles.js +83 -0
  47. package/dist/components/data-table/types.d.ts +1 -0
  48. package/dist/components/data-table/types.js +1 -0
  49. package/dist/components/data-table/utils/index.d.ts +4 -0
  50. package/dist/components/data-table/utils/index.js +4 -0
  51. package/dist/components/data-table/utils/pagination-state.svelte.d.ts +10 -0
  52. package/dist/components/data-table/utils/pagination-state.svelte.js +26 -0
  53. package/dist/components/data-table/utils/render-helper.d.ts +90 -0
  54. package/dist/components/data-table/utils/render-helper.js +99 -0
  55. package/dist/components/data-table/utils/resize-state.svelte.d.ts +10 -0
  56. package/dist/components/data-table/utils/resize-state.svelte.js +23 -0
  57. package/dist/components/data-table/utils/row-models.d.ts +7 -0
  58. package/dist/components/data-table/utils/row-models.js +7 -0
  59. package/dist/components/data-table/utils/row-selection-state.svelte.d.ts +10 -0
  60. package/dist/components/data-table/utils/row-selection-state.svelte.js +23 -0
  61. package/dist/components/icons/caret-down.svelte +12 -0
  62. package/dist/components/icons/caret-down.svelte.d.ts +3 -0
  63. package/dist/components/icons/caret-up.svelte +12 -0
  64. package/dist/components/icons/caret-up.svelte.d.ts +3 -0
  65. package/dist/components/icons/check.svelte +12 -0
  66. package/dist/components/icons/check.svelte.d.ts +3 -0
  67. package/dist/components/icons/chevron-down.svelte +12 -0
  68. package/dist/components/icons/chevron-down.svelte.d.ts +3 -0
  69. package/dist/components/icons/chevron-left.svelte +12 -0
  70. package/dist/components/icons/chevron-left.svelte.d.ts +3 -0
  71. package/dist/components/icons/chevron-right.svelte +12 -0
  72. package/dist/components/icons/chevron-right.svelte.d.ts +3 -0
  73. package/dist/components/icons/chevron-small-down.svelte +14 -0
  74. package/dist/components/icons/chevron-small-down.svelte.d.ts +3 -0
  75. package/dist/components/icons/chevron-small-left.svelte +14 -0
  76. package/dist/components/icons/chevron-small-left.svelte.d.ts +3 -0
  77. package/dist/components/icons/chevron-small-right.svelte +14 -0
  78. package/dist/components/icons/chevron-small-right.svelte.d.ts +3 -0
  79. package/dist/components/icons/chevron-small-up.svelte +14 -0
  80. package/dist/components/icons/chevron-small-up.svelte.d.ts +3 -0
  81. package/dist/components/icons/chevron-up.svelte +12 -0
  82. package/dist/components/icons/chevron-up.svelte.d.ts +3 -0
  83. package/dist/components/icons/dots.svelte +20 -0
  84. package/dist/components/icons/dots.svelte.d.ts +3 -0
  85. package/dist/components/icons/error.svelte +12 -0
  86. package/dist/components/icons/error.svelte.d.ts +3 -0
  87. package/dist/components/icons/eye-crossed.svelte +14 -0
  88. package/dist/components/icons/eye-crossed.svelte.d.ts +3 -0
  89. package/dist/components/icons/eye.svelte +17 -0
  90. package/dist/components/icons/eye.svelte.d.ts +3 -0
  91. package/dist/components/icons/index.d.ts +22 -0
  92. package/dist/components/icons/index.js +21 -0
  93. package/dist/components/icons/info.svelte +12 -0
  94. package/dist/components/icons/info.svelte.d.ts +3 -0
  95. package/dist/components/icons/minus.svelte +12 -0
  96. package/dist/components/icons/minus.svelte.d.ts +3 -0
  97. package/dist/components/icons/sort.svelte +16 -0
  98. package/dist/components/icons/sort.svelte.d.ts +3 -0
  99. package/dist/components/icons/spinner.svelte +9 -0
  100. package/dist/components/icons/spinner.svelte.d.ts +3 -0
  101. package/dist/components/icons/success.svelte +12 -0
  102. package/dist/components/icons/success.svelte.d.ts +3 -0
  103. package/dist/components/icons/types.d.ts +2 -0
  104. package/dist/components/icons/types.js +1 -0
  105. package/dist/components/icons/warning.svelte +12 -0
  106. package/dist/components/icons/warning.svelte.d.ts +3 -0
  107. package/dist/components/input/index.d.ts +6 -0
  108. package/dist/components/input/index.js +5 -0
  109. package/dist/components/input/input.password.svelte +38 -0
  110. package/dist/components/input/input.password.svelte.d.ts +7 -0
  111. package/dist/components/input/input.stories.svelte +41 -0
  112. package/dist/components/input/input.stories.svelte.d.ts +19 -0
  113. package/dist/components/input/input.svelte +65 -0
  114. package/dist/components/input/input.svelte.d.ts +12 -0
  115. package/dist/components/input/styles.d.ts +141 -0
  116. package/dist/components/input/styles.js +64 -0
  117. package/dist/components/pagination/components/pagination.ellipsis.svelte +27 -0
  118. package/dist/components/pagination/components/pagination.ellipsis.svelte.d.ts +7 -0
  119. package/dist/components/pagination/components/pagination.item.svelte +16 -0
  120. package/dist/components/pagination/components/pagination.item.svelte.d.ts +5 -0
  121. package/dist/components/pagination/components/pagination.next-button.svelte +28 -0
  122. package/dist/components/pagination/components/pagination.next-button.svelte.d.ts +5 -0
  123. package/dist/components/pagination/components/pagination.prev-button.svelte +28 -0
  124. package/dist/components/pagination/components/pagination.prev-button.svelte.d.ts +5 -0
  125. package/dist/components/pagination/components/pagination.root.svelte +29 -0
  126. package/dist/components/pagination/components/pagination.root.svelte.d.ts +6 -0
  127. package/dist/components/pagination/index.d.ts +16 -0
  128. package/dist/components/pagination/index.js +16 -0
  129. package/dist/components/pagination/pagination.stories.svelte +69 -0
  130. package/dist/components/pagination/pagination.stories.svelte.d.ts +19 -0
  131. package/dist/components/pagination/presets/basic.svelte +31 -0
  132. package/dist/components/pagination/presets/basic.svelte.d.ts +5 -0
  133. package/dist/components/pagination/presets/index.d.ts +1 -0
  134. package/dist/components/pagination/presets/index.js +1 -0
  135. package/dist/components/pagination/styles.d.ts +98 -0
  136. package/dist/components/pagination/styles.js +51 -0
  137. package/dist/components/segment/components/segment.item.svelte +38 -0
  138. package/dist/components/segment/components/segment.item.svelte.d.ts +9 -0
  139. package/dist/components/segment/components/segment.root.svelte +66 -0
  140. package/dist/components/segment/components/segment.root.svelte.d.ts +13 -0
  141. package/dist/components/segment/components/segment.thumb.svelte +0 -0
  142. package/dist/components/segment/components/segment.thumb.svelte.d.ts +26 -0
  143. package/dist/components/segment/components/segmet.svelte.d.ts +43 -0
  144. package/dist/components/segment/components/segmet.svelte.js +74 -0
  145. package/dist/components/segment/index.d.ts +7 -0
  146. package/dist/components/segment/index.js +6 -0
  147. package/dist/components/segment/segment.stories.svelte +43 -0
  148. package/dist/components/segment/segment.stories.svelte.d.ts +18 -0
  149. package/dist/components/segment/styles.d.ts +107 -0
  150. package/dist/components/segment/styles.js +58 -0
  151. package/dist/components/select/components/select.content.svelte +0 -0
  152. package/dist/components/select/components/select.content.svelte.d.ts +26 -0
  153. package/dist/components/select/components/select.item.svelte +0 -0
  154. package/dist/components/select/components/select.item.svelte.d.ts +26 -0
  155. package/dist/components/select/components/select.root.svelte +27 -0
  156. package/dist/components/select/components/select.root.svelte.d.ts +6 -0
  157. package/dist/components/select/components/select.trigger.svelte +52 -0
  158. package/dist/components/select/components/select.trigger.svelte.d.ts +10 -0
  159. package/dist/components/select/components/select.viewport.svelte +0 -0
  160. package/dist/components/select/components/select.viewport.svelte.d.ts +26 -0
  161. package/dist/components/select/index.d.ts +7 -0
  162. package/dist/components/select/index.js +6 -0
  163. package/dist/components/select/select.stories.svelte +53 -0
  164. package/dist/components/select/select.stories.svelte.d.ts +18 -0
  165. package/dist/components/select/styles.d.ts +149 -0
  166. package/dist/components/select/styles.js +93 -0
  167. package/dist/components/skeleton/index.d.ts +1 -0
  168. package/dist/components/skeleton/index.js +1 -0
  169. package/dist/components/skeleton/skeleton.stories.svelte +121 -0
  170. package/dist/components/skeleton/skeleton.stories.svelte.d.ts +19 -0
  171. package/dist/components/skeleton/skeleton.svelte +25 -0
  172. package/dist/components/skeleton/skeleton.svelte.d.ts +8 -0
  173. package/dist/components/skeleton/styles.d.ts +78 -0
  174. package/dist/components/skeleton/styles.js +30 -0
  175. package/dist/components/spinner/index.d.ts +1 -0
  176. package/dist/components/spinner/index.js +1 -0
  177. package/dist/components/spinner/spinner.stories.svelte +29 -0
  178. package/dist/components/spinner/spinner.stories.svelte.d.ts +19 -0
  179. package/dist/components/spinner/spinner.svelte +24 -0
  180. package/dist/components/spinner/spinner.svelte.d.ts +9 -0
  181. package/dist/components/switch/index.d.ts +7 -2
  182. package/dist/components/switch/index.js +6 -3
  183. package/dist/components/switch/model/index.d.ts +1 -1
  184. package/dist/components/switch/model/index.js +1 -1
  185. package/dist/components/switch/model/switch-model.svelte.d.ts +1 -1
  186. package/dist/components/switch/model/switch-model.svelte.js +1 -1
  187. package/dist/components/switch/presets/basic.svelte +14 -0
  188. package/dist/components/switch/presets/basic.svelte.d.ts +5 -0
  189. package/dist/components/switch/switch.stories.svelte +16 -9
  190. package/dist/components/switch/switch.stories.svelte.d.ts +1 -0
  191. package/dist/components/toast/toast.component.svelte +2 -5
  192. package/dist/components/toast/toast.stories.svelte +2 -2
  193. package/dist/index.d.ts +10 -1
  194. package/dist/index.js +10 -1
  195. package/dist/internal/mocks/data-table.d.ts +9 -0
  196. package/dist/internal/mocks/data-table.js +146 -0
  197. package/dist/internal/types/common.d.ts +1 -0
  198. package/dist/internal/utils/attrs.d.ts +3 -0
  199. package/dist/internal/utils/attrs.js +9 -0
  200. package/dist/internal/utils/objects.d.ts +12 -0
  201. package/dist/internal/utils/objects.js +52 -0
  202. package/dist/internal/utils/tailwindcss.js +1 -0
  203. package/package.json +9 -2
  204. package/dist/assets/icons/check.svg +0 -4
  205. package/dist/assets/icons/chevron-down.svg +0 -4
  206. package/dist/assets/icons/chevron-left.svg +0 -4
  207. package/dist/assets/icons/chevron-right.svg +0 -4
  208. package/dist/assets/icons/chevron-small-down.svg +0 -4
  209. package/dist/assets/icons/chevron-small-left.svg +0 -4
  210. package/dist/assets/icons/chevron-small-right.svg +0 -4
  211. package/dist/assets/icons/chevron-small-up.svg +0 -4
  212. package/dist/assets/icons/chevron-up.svg +0 -4
  213. package/dist/assets/icons/error.svg +0 -4
  214. package/dist/assets/icons/info.svg +0 -4
  215. package/dist/assets/icons/minus.svg +0 -4
  216. package/dist/assets/icons/success.svg +0 -4
  217. package/dist/assets/icons/warning.svg +0 -3
  218. package/dist/internal/types/attrs.d.ts +0 -1
  219. package/dist/internal/types/attrs.js +0 -3
@@ -0,0 +1,33 @@
1
+ <script lang="ts" module>
2
+ type DataTableBodyPropsWithoutHTML = WithElementRef<WithChildren<{}>>;
3
+
4
+ export type DataTableBodyProps = DataTableBodyPropsWithoutHTML &
5
+ Without<PrimitiveDivAttributes, DataTableBodyPropsWithoutHTML>;
6
+ </script>
7
+
8
+ <script lang="ts">
9
+ import type { PrimitiveDivAttributes } from '../../../internal/types/html-attributes.js';
10
+ import { cn } from '../../../internal/utils/common.js';
11
+ import { useId, type WithChildren } from 'bits-ui';
12
+ import { box, mergeProps, type WithElementRef, type Without } from 'svelte-toolbelt';
13
+ import { DataTableStylesContext } from '../styles.js';
14
+ import { DataTableBodyState } from './data-table.svelte.js';
15
+
16
+ let { ref = $bindable(null), id = useId(), children, class: className, ...restProps }: DataTableBodyProps = $props();
17
+
18
+ const bodyState = DataTableBodyState.create({
19
+ ref: box.with(
20
+ () => ref,
21
+ (v) => (ref = v)
22
+ ),
23
+ id: box.with(() => id),
24
+ });
25
+
26
+ const styles = DataTableStylesContext.get();
27
+
28
+ const mergedProps = $derived(mergeProps(restProps, bodyState.props));
29
+ </script>
30
+
31
+ <tbody class={cn(styles.current.body(), className)} {...mergedProps}>
32
+ {@render children?.()}
33
+ </tbody>
@@ -0,0 +1,8 @@
1
+ type DataTableBodyPropsWithoutHTML = WithElementRef<WithChildren<{}>>;
2
+ export type DataTableBodyProps = DataTableBodyPropsWithoutHTML & Without<PrimitiveDivAttributes, DataTableBodyPropsWithoutHTML>;
3
+ import type { PrimitiveDivAttributes } from '../../../internal/types/html-attributes.js';
4
+ import { type WithChildren } from 'bits-ui';
5
+ import { type WithElementRef, type Without } from 'svelte-toolbelt';
6
+ declare const DataTable: import("svelte").Component<DataTableBodyProps, {}, "ref">;
7
+ type DataTable = ReturnType<typeof DataTable>;
8
+ export default DataTable;
@@ -0,0 +1,48 @@
1
+ <script lang="ts" module>
2
+ type DataTableCellPropsWithoutHTML = WithElementRef<
3
+ WithChildren<{
4
+ cell: Cell<any, unknown> | null;
5
+ }>
6
+ >;
7
+
8
+ export type DataTableCellProps = DataTableCellPropsWithoutHTML &
9
+ Without<PrimitiveTdAttributes, DataTableCellPropsWithoutHTML>;
10
+ </script>
11
+
12
+ <script lang="ts">
13
+ import { DataTableStylesContext } from '../styles.js';
14
+
15
+ import { DataTableCellState } from './data-table.svelte.js';
16
+
17
+ import type { PrimitiveTdAttributes } from '../../../internal/types/html-attributes.js';
18
+ import { cn } from '../../../internal/utils/common.js';
19
+ import type { Cell } from '@tanstack/table-core';
20
+ import { useId } from 'bits-ui';
21
+ import { box, mergeProps, type WithChildren, type WithElementRef, type Without } from 'svelte-toolbelt';
22
+
23
+ let {
24
+ ref = $bindable(null),
25
+ id = useId(),
26
+ children,
27
+ class: className,
28
+ cell,
29
+ ...restProps
30
+ }: DataTableCellProps = $props();
31
+
32
+ const cellState = DataTableCellState.create({
33
+ ref: box.with(
34
+ () => ref,
35
+ (v) => (ref = v)
36
+ ),
37
+ id: box.with(() => id),
38
+ cell: box.with(() => cell),
39
+ });
40
+
41
+ const styles = DataTableStylesContext.get();
42
+
43
+ const mergedProps = $derived(mergeProps(restProps, cellState.props));
44
+ </script>
45
+
46
+ <td class={cn(styles.current.cell(), className)} {...mergedProps}>
47
+ {@render children?.()}
48
+ </td>
@@ -0,0 +1,10 @@
1
+ type DataTableCellPropsWithoutHTML = WithElementRef<WithChildren<{
2
+ cell: Cell<any, unknown> | null;
3
+ }>>;
4
+ export type DataTableCellProps = DataTableCellPropsWithoutHTML & Without<PrimitiveTdAttributes, DataTableCellPropsWithoutHTML>;
5
+ import type { PrimitiveTdAttributes } from '../../../internal/types/html-attributes.js';
6
+ import type { Cell } from '@tanstack/table-core';
7
+ import { type WithChildren, type WithElementRef, type Without } from 'svelte-toolbelt';
8
+ declare const DataTable: import("svelte").Component<DataTableCellProps, {}, "ref">;
9
+ type DataTable = ReturnType<typeof DataTable>;
10
+ export default DataTable;
@@ -0,0 +1,48 @@
1
+ <script lang="ts" module>
2
+ type DataTableHeadPropsWithoutHTML = WithElementRef<
3
+ WithChildren<{
4
+ header: Header<any, unknown>;
5
+ }>
6
+ >;
7
+
8
+ export type DataTableHeadProps = DataTableHeadPropsWithoutHTML &
9
+ Without<PrimitiveDivAttributes, DataTableHeadPropsWithoutHTML>;
10
+ </script>
11
+
12
+ <script lang="ts">
13
+ import { DataTableStylesContext } from '../styles.js';
14
+
15
+ import { DataTableHeadState } from './data-table.svelte.js';
16
+
17
+ import type { PrimitiveDivAttributes } from '../../../internal/types/html-attributes.js';
18
+ import { cn } from '../../../internal/utils/common.js';
19
+ import type { Header } from '@tanstack/table-core';
20
+ import { useId } from 'bits-ui';
21
+ import { box, mergeProps, type WithChildren, type WithElementRef, type Without } from 'svelte-toolbelt';
22
+
23
+ let {
24
+ ref = $bindable(null),
25
+ id = useId(),
26
+ children,
27
+ class: className,
28
+ header,
29
+ ...restProps
30
+ }: DataTableHeadProps = $props();
31
+
32
+ const headState = DataTableHeadState.create({
33
+ ref: box.with(
34
+ () => ref,
35
+ (v) => (ref = v)
36
+ ),
37
+ id: box.with(() => id),
38
+ header: box.with(() => header),
39
+ });
40
+
41
+ const styles = DataTableStylesContext.get();
42
+
43
+ const mergedProps = $derived(mergeProps(restProps, headState.props));
44
+ </script>
45
+
46
+ <th class={cn(styles.current.head(), className)} {...mergedProps}>
47
+ {@render children?.()}
48
+ </th>
@@ -0,0 +1,10 @@
1
+ type DataTableHeadPropsWithoutHTML = WithElementRef<WithChildren<{
2
+ header: Header<any, unknown>;
3
+ }>>;
4
+ export type DataTableHeadProps = DataTableHeadPropsWithoutHTML & Without<PrimitiveDivAttributes, DataTableHeadPropsWithoutHTML>;
5
+ import type { PrimitiveDivAttributes } from '../../../internal/types/html-attributes.js';
6
+ import type { Header } from '@tanstack/table-core';
7
+ import { type WithChildren, type WithElementRef, type Without } from 'svelte-toolbelt';
8
+ declare const DataTable: import("svelte").Component<DataTableHeadProps, {}, "ref">;
9
+ type DataTable = ReturnType<typeof DataTable>;
10
+ export default DataTable;
@@ -0,0 +1,41 @@
1
+ <script lang="ts" module>
2
+ type DataTableHeaderPropsWithoutHTML = WithElementRef<WithChildren<{}>>;
3
+
4
+ export type DataTableHeaderProps = DataTableHeaderPropsWithoutHTML &
5
+ Without<PrimitiveDivAttributes, DataTableHeaderPropsWithoutHTML>;
6
+ </script>
7
+
8
+ <script lang="ts">
9
+ import { DataTableHeaderState } from './data-table.svelte.js';
10
+
11
+ import { DataTableStylesContext } from '../styles.js';
12
+
13
+ import type { PrimitiveDivAttributes } from '../../../internal/types/html-attributes.js';
14
+ import { cn } from '../../../internal/utils/common.js';
15
+ import { useId } from 'bits-ui';
16
+ import { box, mergeProps, type WithChildren, type WithElementRef, type Without } from 'svelte-toolbelt';
17
+
18
+ let {
19
+ ref = $bindable(null),
20
+ children,
21
+ class: className,
22
+ id = useId(),
23
+ ...restProps
24
+ }: DataTableHeaderProps = $props();
25
+
26
+ const headerState = DataTableHeaderState.create({
27
+ ref: box.with(
28
+ () => ref,
29
+ (v) => (ref = v)
30
+ ),
31
+ id: box.with(() => id),
32
+ });
33
+
34
+ const styles = DataTableStylesContext.get();
35
+
36
+ const mergedProps = $derived(mergeProps(restProps, headerState.props));
37
+ </script>
38
+
39
+ <thead class={cn(styles.current.header(), className)} {...mergedProps}>
40
+ {@render children?.()}
41
+ </thead>
@@ -0,0 +1,7 @@
1
+ type DataTableHeaderPropsWithoutHTML = WithElementRef<WithChildren<{}>>;
2
+ export type DataTableHeaderProps = DataTableHeaderPropsWithoutHTML & Without<PrimitiveDivAttributes, DataTableHeaderPropsWithoutHTML>;
3
+ import type { PrimitiveDivAttributes } from '../../../internal/types/html-attributes.js';
4
+ import { type WithChildren, type WithElementRef, type Without } from 'svelte-toolbelt';
5
+ declare const DataTable: import("svelte").Component<DataTableHeaderProps, {}, "ref">;
6
+ type DataTable = ReturnType<typeof DataTable>;
7
+ export default DataTable;
@@ -0,0 +1,31 @@
1
+ <script lang="ts" module>
2
+ type DataTableResizeHandlerPropsWithoutHTML = WithElementRef<{}>;
3
+
4
+ export type DataTableResizeHandlerProps = DataTableResizeHandlerPropsWithoutHTML &
5
+ Without<PrimitiveDivAttributes, DataTableResizeHandlerPropsWithoutHTML>;
6
+ </script>
7
+
8
+ <script lang="ts">
9
+ import type { PrimitiveDivAttributes } from '../../../internal/types/html-attributes.js';
10
+ import { cn } from '../../../internal/utils/common.js';
11
+ import { useId } from 'bits-ui';
12
+ import { box, mergeProps, type WithElementRef, type Without } from 'svelte-toolbelt';
13
+ import { DataTableStylesContext } from '../styles.js';
14
+ import { DataTableResizeHandlerState } from './data-table.svelte.js';
15
+
16
+ let { ref = $bindable(null), id = useId(), class: className, ...restProps }: DataTableResizeHandlerProps = $props();
17
+
18
+ const resizeHandlerState = DataTableResizeHandlerState.create({
19
+ ref: box.with(
20
+ () => ref,
21
+ (v) => (ref = v)
22
+ ),
23
+ id: box.with(() => id),
24
+ });
25
+
26
+ const styles = DataTableStylesContext.get();
27
+
28
+ const mergedProps = $derived(mergeProps(restProps, resizeHandlerState.props));
29
+ </script>
30
+
31
+ <div class={cn(styles.current.resizeHandler(), className)} {...mergedProps}></div>
@@ -0,0 +1,7 @@
1
+ type DataTableResizeHandlerPropsWithoutHTML = WithElementRef<{}>;
2
+ export type DataTableResizeHandlerProps = DataTableResizeHandlerPropsWithoutHTML & Without<PrimitiveDivAttributes, DataTableResizeHandlerPropsWithoutHTML>;
3
+ import type { PrimitiveDivAttributes } from '../../../internal/types/html-attributes.js';
4
+ import { type WithElementRef, type Without } from 'svelte-toolbelt';
5
+ declare const DataTable: import("svelte").Component<DataTableResizeHandlerProps, {}, "ref">;
6
+ type DataTable = ReturnType<typeof DataTable>;
7
+ export default DataTable;
@@ -0,0 +1,55 @@
1
+ <script lang="ts" module>
2
+ type DataTableRootPropsWithoutHTML<TData extends RowData> = WithElementRef<
3
+ WithChildren<{
4
+ table: CreateTableReturn<TData>;
5
+ }>
6
+ > &
7
+ DataTableVariantsProps;
8
+
9
+ export type DataTableRootProps<TData extends RowData> = DataTableRootPropsWithoutHTML<TData> &
10
+ Without<PrimitiveDivAttributes, DataTableRootPropsWithoutHTML<TData>>;
11
+ </script>
12
+
13
+ <script lang="ts" generics="TData extends RowData">
14
+ import type { CreateTableReturn } from '../models/create-table.svelte.js';
15
+ import type { PrimitiveDivAttributes } from '../../../internal/types/html-attributes.js';
16
+ import { cn } from '../../../internal/utils/common.js';
17
+ import type { RowData } from '@tanstack/table-core';
18
+ import { useId, type Without } from 'bits-ui';
19
+ import { box, mergeProps, type WithChildren, type WithElementRef } from 'svelte-toolbelt';
20
+ import { DataTableStylesContext, dataTableVariants, type DataTableVariantsProps } from '../styles.js';
21
+ import { DataTableRootState } from './data-table.svelte.js';
22
+
23
+ let {
24
+ table,
25
+ ref = $bindable(null),
26
+ id = useId(),
27
+ class: className,
28
+ variant = 'primary',
29
+ stripped = true,
30
+ align = 'start',
31
+ rounded = 'sm',
32
+ resizable = false,
33
+ children,
34
+ ...restProps
35
+ }: DataTableRootProps<TData> = $props();
36
+
37
+ const rootState = DataTableRootState.create({
38
+ table: box.with(() => table),
39
+ id: box.with(() => id),
40
+ ref: box.with(
41
+ () => ref,
42
+ (v) => (ref = v)
43
+ ),
44
+ });
45
+
46
+ const variants = $derived(dataTableVariants({ variant, stripped, align, rounded, resizable }));
47
+
48
+ DataTableStylesContext.set(box.with(() => variants));
49
+
50
+ const mergedProps = $derived(mergeProps(restProps, rootState.props));
51
+ </script>
52
+
53
+ <div class={cn(variants.root(), className)} {...mergedProps}>
54
+ {@render children?.()}
55
+ </div>
@@ -0,0 +1,34 @@
1
+ type DataTableRootPropsWithoutHTML<TData extends RowData> = WithElementRef<WithChildren<{
2
+ table: CreateTableReturn<TData>;
3
+ }>> & DataTableVariantsProps;
4
+ export type DataTableRootProps<TData extends RowData> = DataTableRootPropsWithoutHTML<TData> & Without<PrimitiveDivAttributes, DataTableRootPropsWithoutHTML<TData>>;
5
+ import type { CreateTableReturn } from '../models/create-table.svelte.js';
6
+ import type { PrimitiveDivAttributes } from '../../../internal/types/html-attributes.js';
7
+ import type { RowData } from '@tanstack/table-core';
8
+ import { type Without } from 'bits-ui';
9
+ import { type WithChildren, type WithElementRef } from 'svelte-toolbelt';
10
+ import { type DataTableVariantsProps } from '../styles.js';
11
+ declare function $$render<TData extends RowData>(): {
12
+ props: DataTableRootProps<TData>;
13
+ exports: {};
14
+ bindings: "ref";
15
+ slots: {};
16
+ events: {};
17
+ };
18
+ declare class __sveltets_Render<TData extends RowData> {
19
+ props(): ReturnType<typeof $$render<TData>>['props'];
20
+ events(): ReturnType<typeof $$render<TData>>['events'];
21
+ slots(): ReturnType<typeof $$render<TData>>['slots'];
22
+ bindings(): "ref";
23
+ exports(): {};
24
+ }
25
+ interface $$IsomorphicComponent {
26
+ new <TData extends RowData>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<TData>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<TData>['props']>, ReturnType<__sveltets_Render<TData>['events']>, ReturnType<__sveltets_Render<TData>['slots']>> & {
27
+ $$bindings?: ReturnType<__sveltets_Render<TData>['bindings']>;
28
+ } & ReturnType<__sveltets_Render<TData>['exports']>;
29
+ <TData extends RowData>(internal: unknown, props: ReturnType<__sveltets_Render<TData>['props']> & {}): ReturnType<__sveltets_Render<TData>['exports']>;
30
+ z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
31
+ }
32
+ declare const DataTable: $$IsomorphicComponent;
33
+ type DataTable<TData extends RowData> = InstanceType<typeof DataTable<TData>>;
34
+ export default DataTable;
@@ -0,0 +1,35 @@
1
+ <script lang="ts" module>
2
+ type DataTableRowPropsWithoutHTML = WithElementRef<WithChildren<{}>>;
3
+
4
+ export type DataTableRowProps = DataTableRowPropsWithoutHTML &
5
+ Without<PrimitiveDivAttributes, DataTableRowPropsWithoutHTML>;
6
+ </script>
7
+
8
+ <script lang="ts">
9
+ import { DataTableStylesContext } from '../styles.js';
10
+
11
+ import { DataTableRowState } from './data-table.svelte.js';
12
+
13
+ import type { PrimitiveDivAttributes } from '../../../internal/types/html-attributes.js';
14
+ import { cn } from '../../../internal/utils/common.js';
15
+ import { useId } from 'bits-ui';
16
+ import { box, mergeProps, type WithChildren, type WithElementRef, type Without } from 'svelte-toolbelt';
17
+
18
+ let { ref = $bindable(null), id = useId(), children, class: className, ...restProps }: DataTableRowProps = $props();
19
+
20
+ const rowState = DataTableRowState.create({
21
+ ref: box.with(
22
+ () => ref,
23
+ (v) => (ref = v)
24
+ ),
25
+ id: box.with(() => id),
26
+ });
27
+
28
+ const styles = DataTableStylesContext.get();
29
+
30
+ const mergedProps = $derived(mergeProps(restProps, rowState.props));
31
+ </script>
32
+
33
+ <tr class={cn(styles.current.row(), className)} {...mergedProps}>
34
+ {@render children?.()}
35
+ </tr>
@@ -0,0 +1,7 @@
1
+ type DataTableRowPropsWithoutHTML = WithElementRef<WithChildren<{}>>;
2
+ export type DataTableRowProps = DataTableRowPropsWithoutHTML & Without<PrimitiveDivAttributes, DataTableRowPropsWithoutHTML>;
3
+ import type { PrimitiveDivAttributes } from '../../../internal/types/html-attributes.js';
4
+ import { type WithChildren, type WithElementRef, type Without } from 'svelte-toolbelt';
5
+ declare const DataTable: import("svelte").Component<DataTableRowProps, {}, "ref">;
6
+ type DataTable = ReturnType<typeof DataTable>;
7
+ export default DataTable;
@@ -0,0 +1,51 @@
1
+ <script lang="ts" module>
2
+ type DataTableSortButtonPropsWithoutHTML = WithElementRef<WithChild<{}>>;
3
+
4
+ export type DataTableSortButtonProps = DataTableSortButtonPropsWithoutHTML &
5
+ Without<PrimitiveButtonAttributes, DataTableSortButtonPropsWithoutHTML>;
6
+ </script>
7
+
8
+ <script lang="ts">
9
+ import { SortIcon } from '../../icons/index.js';
10
+ import type { PrimitiveButtonAttributes } from '../../../internal/types/html-attributes.js';
11
+ import { cn } from '../../../internal/utils/common.js';
12
+ import { useId } from 'bits-ui';
13
+ import { box, mergeProps, type WithChild, type WithElementRef, type Without } from 'svelte-toolbelt';
14
+ import { DataTableStylesContext } from '../styles.js';
15
+ import { DataTableSortButtonState } from './data-table.svelte.js';
16
+
17
+ let {
18
+ ref = $bindable(null),
19
+ id = useId(),
20
+ class: className,
21
+ children,
22
+ child,
23
+ ...restProps
24
+ }: DataTableSortButtonProps = $props();
25
+
26
+ const sortButtonState = DataTableSortButtonState.create({
27
+ ref: box.with(
28
+ () => ref,
29
+ (v) => (ref = v)
30
+ ),
31
+ id: box.with(() => id),
32
+ });
33
+
34
+ const styles = DataTableStylesContext.get();
35
+
36
+ const mergedProps = $derived(
37
+ mergeProps(restProps, sortButtonState.props, { class: cn(styles.current.sortButton(), className) })
38
+ );
39
+ </script>
40
+
41
+ {#if child}
42
+ {@render child?.({ props: mergedProps })}
43
+ {:else}
44
+ <button {...mergedProps}>
45
+ {#if children}
46
+ {@render children?.()}
47
+ {:else}
48
+ <SortIcon />
49
+ {/if}
50
+ </button>
51
+ {/if}
@@ -0,0 +1,7 @@
1
+ type DataTableSortButtonPropsWithoutHTML = WithElementRef<WithChild<{}>>;
2
+ export type DataTableSortButtonProps = DataTableSortButtonPropsWithoutHTML & Without<PrimitiveButtonAttributes, DataTableSortButtonPropsWithoutHTML>;
3
+ import type { PrimitiveButtonAttributes } from '../../../internal/types/html-attributes.js';
4
+ import { type WithChild, type WithElementRef, type Without } from 'svelte-toolbelt';
5
+ declare const DataTable: import("svelte").Component<DataTableSortButtonProps, {}, "ref">;
6
+ type DataTable = ReturnType<typeof DataTable>;
7
+ export default DataTable;
@@ -0,0 +1,139 @@
1
+ import type { CreateTableReturn } from '../models/create-table.svelte.js';
2
+ import type { RefAttachment } from '../../../internal/types/common.js';
3
+ import type { Cell, Header, RowData } from '@tanstack/table-core';
4
+ import { type ReadableBoxedValues, type WithRefProps } from 'svelte-toolbelt';
5
+ type DataTableRootOpts<TData extends RowData> = WithRefProps<ReadableBoxedValues<{
6
+ table: CreateTableReturn<TData>;
7
+ }>>;
8
+ export declare class DataTableRootState<TData extends RowData> {
9
+ static create<TData extends RowData>(opts: DataTableRootOpts<TData>): DataTableRootState<any>;
10
+ readonly opts: DataTableRootOpts<TData>;
11
+ readonly attachment: RefAttachment;
12
+ observedRow: HTMLElement | null;
13
+ columnSizingVars: {
14
+ [key: string]: number;
15
+ };
16
+ constructor(opts: DataTableRootOpts<TData>);
17
+ onLastRowReached: () => void;
18
+ readonly props: {
19
+ readonly id: string;
20
+ readonly "data-slot": "root";
21
+ readonly style: {
22
+ readonly [key: string]: number;
23
+ };
24
+ };
25
+ }
26
+ type DataTableTableOpts = WithRefProps<{}>;
27
+ export declare class DataTableTableState {
28
+ static create(opts: DataTableTableOpts): DataTableTableState;
29
+ readonly opts: DataTableTableOpts;
30
+ readonly attachment: RefAttachment;
31
+ constructor(opts: DataTableTableOpts);
32
+ readonly props: {
33
+ readonly id: string;
34
+ readonly "data-slot": "table";
35
+ };
36
+ }
37
+ type DataTableHeaderOpts = WithRefProps<{}>;
38
+ export declare class DataTableHeaderState {
39
+ static create(opts: DataTableHeaderOpts): DataTableHeaderState;
40
+ readonly opts: DataTableHeaderOpts;
41
+ readonly attachment: RefAttachment;
42
+ constructor(opts: DataTableHeaderOpts);
43
+ readonly props: {
44
+ readonly id: string;
45
+ readonly "data-slot": "header";
46
+ };
47
+ }
48
+ type DataTableRowOpts = WithRefProps<{}>;
49
+ export declare class DataTableRowState {
50
+ static create(opts: DataTableRowOpts): DataTableRowState;
51
+ readonly opts: DataTableRowOpts;
52
+ readonly attachment: RefAttachment;
53
+ readonly rootState: DataTableRootState<any>;
54
+ constructor(opts: DataTableRowOpts, root: DataTableRootState<any>);
55
+ readonly props: {
56
+ readonly id: string;
57
+ readonly "data-slot": "row";
58
+ };
59
+ }
60
+ type DataTableBodyOpts = WithRefProps<{}>;
61
+ export declare class DataTableBodyState {
62
+ #private;
63
+ static create(opts: DataTableBodyOpts): DataTableBodyState;
64
+ readonly opts: DataTableBodyOpts;
65
+ readonly attachment: RefAttachment;
66
+ readonly rootState: DataTableRootState<any>;
67
+ constructor(opts: DataTableBodyOpts, root: DataTableRootState<any>);
68
+ readonly props: {
69
+ readonly id: string;
70
+ readonly "data-slot": "body";
71
+ };
72
+ }
73
+ type DataTableHeadOpts = WithRefProps<ReadableBoxedValues<{
74
+ header: Header<any, unknown>;
75
+ }>>;
76
+ export declare class DataTableHeadState {
77
+ #private;
78
+ static create(opts: DataTableHeadOpts): DataTableHeadState;
79
+ readonly opts: DataTableHeadOpts;
80
+ readonly attachment: RefAttachment;
81
+ readonly rootState: DataTableRootState<any>;
82
+ constructor(opts: DataTableHeadOpts, root: DataTableRootState<any>);
83
+ readonly props: {
84
+ readonly id: string;
85
+ readonly "data-slot": "head";
86
+ readonly 'data-id': string;
87
+ readonly style: {
88
+ readonly width: `calc(${number} * 1px)`;
89
+ };
90
+ readonly colspan: number;
91
+ };
92
+ }
93
+ type DataTableCellOpts = WithRefProps<ReadableBoxedValues<{
94
+ cell: Cell<any, unknown> | null;
95
+ }>>;
96
+ export declare class DataTableCellState {
97
+ #private;
98
+ static create(opts: DataTableCellOpts): DataTableCellState;
99
+ readonly opts: DataTableCellOpts;
100
+ readonly attachment: RefAttachment;
101
+ readonly rootState: DataTableRootState<any>;
102
+ constructor(opts: DataTableCellOpts, root: DataTableRootState<any>);
103
+ readonly props: {
104
+ readonly id: string;
105
+ readonly "data-slot": "cell";
106
+ readonly style: {
107
+ readonly width: `calc(${number} * 1px)`;
108
+ };
109
+ };
110
+ }
111
+ type DataTableSortButtonOpts = WithRefProps<{}>;
112
+ export declare class DataTableSortButtonState {
113
+ static create(opts: DataTableSortButtonOpts): DataTableSortButtonState;
114
+ readonly opts: DataTableSortButtonOpts;
115
+ readonly attachment: RefAttachment;
116
+ readonly headState: DataTableHeadState;
117
+ constructor(opts: DataTableSortButtonOpts, head: DataTableHeadState);
118
+ readonly props: {
119
+ readonly "data-slot": "sort-button";
120
+ readonly id: string;
121
+ };
122
+ }
123
+ type DataTableResizeHandlerOpts = WithRefProps<{}>;
124
+ export declare class DataTableResizeHandlerState {
125
+ #private;
126
+ static create(opts: DataTableResizeHandlerOpts): DataTableResizeHandlerState;
127
+ readonly opts: DataTableResizeHandlerOpts;
128
+ readonly attachment: RefAttachment;
129
+ readonly headState: DataTableHeadState;
130
+ constructor(opts: DataTableResizeHandlerOpts, head: DataTableHeadState);
131
+ readonly props: {
132
+ readonly id: string;
133
+ readonly "data-slot": "resize-handler";
134
+ readonly ondblclick: () => void;
135
+ readonly onmousedown: (event: unknown) => void;
136
+ readonly ontouchstart: (event: unknown) => void;
137
+ };
138
+ }
139
+ export {};