@streamscloud/kit 0.2.10 → 0.2.12

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 (75) hide show
  1. package/dist/styles/_responsive.scss +48 -0
  2. package/dist/ui/button/cmp.button.svelte +2 -2
  3. package/dist/ui/button/cmp.button.svelte.d.ts +2 -2
  4. package/dist/ui/button/cmp.options-button.svelte +2 -2
  5. package/dist/ui/button/resources/button-base.svelte +3 -3
  6. package/dist/ui/button/resources/button-theme.svelte +2 -2
  7. package/dist/ui/dropdown/cmp.dropdown.svelte +8 -3
  8. package/dist/ui/icon-text/cmp.icon-text.svelte +2 -2
  9. package/dist/ui/icon-text/cmp.icon-text.svelte.d.ts +2 -0
  10. package/dist/ui/player/carousel/cmp.carousel.svelte +20 -11
  11. package/dist/ui/player/carousel/cmp.carousel.svelte.d.ts +4 -0
  12. package/dist/ui/seek-bar/cmp.seek-bar.svelte +5 -3
  13. package/dist/ui/table/cmp.table.svelte +419 -0
  14. package/dist/ui/table/cmp.table.svelte.d.ts +74 -0
  15. package/dist/ui/table/index.d.ts +7 -0
  16. package/dist/ui/table/index.js +5 -0
  17. package/dist/ui/table/service.d.ts +7 -0
  18. package/dist/ui/table/service.js +17 -0
  19. package/dist/ui/table/table-cells/index.d.ts +13 -0
  20. package/dist/ui/table/table-cells/index.js +13 -0
  21. package/dist/ui/table/table-cells/table-actions-cell.svelte +53 -0
  22. package/dist/ui/table/table-cells/table-actions-cell.svelte.d.ts +18 -0
  23. package/dist/ui/table/table-cells/table-badge-cell.svelte +15 -0
  24. package/dist/ui/table/table-cells/table-badge-cell.svelte.d.ts +38 -0
  25. package/dist/ui/table/table-cells/table-button-cell.svelte +20 -0
  26. package/dist/ui/table/table-cells/table-button-cell.svelte.d.ts +38 -0
  27. package/dist/ui/table/table-cells/table-by-cell.svelte +105 -0
  28. package/dist/ui/table/table-cells/table-by-cell.svelte.d.ts +38 -0
  29. package/dist/ui/table/table-cells/table-checkbox-cell.svelte +21 -0
  30. package/dist/ui/table/table-cells/table-checkbox-cell.svelte.d.ts +38 -0
  31. package/dist/ui/table/table-cells/table-custom-cell.svelte +5 -0
  32. package/dist/ui/table/table-cells/table-custom-cell.svelte.d.ts +38 -0
  33. package/dist/ui/table/table-cells/table-hideable-cell.svelte +7 -0
  34. package/dist/ui/table/table-cells/table-hideable-cell.svelte.d.ts +39 -0
  35. package/dist/ui/table/table-cells/table-icon-cell.svelte +53 -0
  36. package/dist/ui/table/table-cells/table-icon-cell.svelte.d.ts +48 -0
  37. package/dist/ui/table/table-cells/table-image-cell.svelte +64 -0
  38. package/dist/ui/table/table-cells/table-image-cell.svelte.d.ts +39 -0
  39. package/dist/ui/table/table-cells/table-move-row-cell.svelte +29 -0
  40. package/dist/ui/table/table-cells/table-move-row-cell.svelte.d.ts +9 -0
  41. package/dist/ui/table/table-cells/table-select-cell.svelte +22 -0
  42. package/dist/ui/table/table-cells/table-select-cell.svelte.d.ts +38 -0
  43. package/dist/ui/table/table-cells/table-text-cell.svelte +60 -0
  44. package/dist/ui/table/table-cells/table-text-cell.svelte.d.ts +47 -0
  45. package/dist/ui/table/table-cells/table-text-input-cell.svelte +83 -0
  46. package/dist/ui/table/table-cells/table-text-input-cell.svelte.d.ts +38 -0
  47. package/dist/ui/table/table-column-models.svelte.d.ts +28 -0
  48. package/dist/ui/table/table-column-models.svelte.js +57 -0
  49. package/dist/ui/table/table-columns-manager/cmp.table-columns-manager.svelte +86 -0
  50. package/dist/ui/table/table-columns-manager/cmp.table-columns-manager.svelte.d.ts +46 -0
  51. package/dist/ui/table/table-columns-manager/table-columns-manager-localization.d.ts +4 -0
  52. package/dist/ui/table/table-columns-manager/table-columns-manager-localization.js +19 -0
  53. package/dist/ui/table/table-group-actions/cmp.table-group-actions.svelte +56 -0
  54. package/dist/ui/table/table-group-actions/cmp.table-group-actions.svelte.d.ts +40 -0
  55. package/dist/ui/table/table-group-actions/table-group-actions-localization.d.ts +3 -0
  56. package/dist/ui/table/table-group-actions/table-group-actions-localization.js +12 -0
  57. package/dist/ui/table/table-group-actions/types.svelte.d.ts +8 -0
  58. package/dist/ui/table/table-group-actions/types.svelte.js +1 -0
  59. package/dist/ui/table/table-headers/index.d.ts +3 -0
  60. package/dist/ui/table/table-headers/index.js +3 -0
  61. package/dist/ui/table/table-headers/table-checkbox-header.svelte +18 -0
  62. package/dist/ui/table/table-headers/table-checkbox-header.svelte.d.ts +41 -0
  63. package/dist/ui/table/table-headers/table-header-sortable-localization.d.ts +7 -0
  64. package/dist/ui/table/table-headers/table-header-sortable-localization.js +40 -0
  65. package/dist/ui/table/table-headers/table-header-sortable.svelte +94 -0
  66. package/dist/ui/table/table-headers/table-header-sortable.svelte.d.ts +12 -0
  67. package/dist/ui/table/table-headers/table-header.svelte +18 -0
  68. package/dist/ui/table/table-headers/table-header.svelte.d.ts +10 -0
  69. package/dist/ui/table/table-localization.d.ts +6 -0
  70. package/dist/ui/table/table-localization.js +33 -0
  71. package/dist/ui/table/table-model.svelte.d.ts +42 -0
  72. package/dist/ui/table/table-model.svelte.js +207 -0
  73. package/dist/ui/table/types.d.ts +144 -0
  74. package/dist/ui/table/types.js +1 -0
  75. package/package.json +5 -1
@@ -0,0 +1,38 @@
1
+ import type { ITableBadgeColumn } from '../types';
2
+ declare function $$render<T extends {
3
+ id: string;
4
+ }>(): {
5
+ props: {
6
+ item: T;
7
+ column: ITableBadgeColumn<T>;
8
+ };
9
+ exports: {};
10
+ bindings: "";
11
+ slots: {};
12
+ events: {};
13
+ };
14
+ declare class __sveltets_Render<T extends {
15
+ id: string;
16
+ }> {
17
+ props(): ReturnType<typeof $$render<T>>['props'];
18
+ events(): ReturnType<typeof $$render<T>>['events'];
19
+ slots(): ReturnType<typeof $$render<T>>['slots'];
20
+ bindings(): "";
21
+ exports(): {};
22
+ }
23
+ interface $$IsomorphicComponent {
24
+ new <T extends {
25
+ id: string;
26
+ }>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T>['props']>, ReturnType<__sveltets_Render<T>['events']>, ReturnType<__sveltets_Render<T>['slots']>> & {
27
+ $$bindings?: ReturnType<__sveltets_Render<T>['bindings']>;
28
+ } & ReturnType<__sveltets_Render<T>['exports']>;
29
+ <T extends {
30
+ id: string;
31
+ }>(internal: unknown, props: ReturnType<__sveltets_Render<T>['props']> & {}): ReturnType<__sveltets_Render<T>['exports']>;
32
+ z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
33
+ }
34
+ declare const TableBadgeCell: $$IsomorphicComponent;
35
+ type TableBadgeCell<T extends {
36
+ id: string;
37
+ }> = InstanceType<typeof TableBadgeCell<T>>;
38
+ export default TableBadgeCell;
@@ -0,0 +1,20 @@
1
+ <script lang="ts" generics="T extends {id: string}">import { Button } from '../../button';
2
+ let { item, column } = $props();
3
+ const getValueForColumn = (column, item) => (column.valueFactory ? column.valueFactory(item) : String(item[column.id]));
4
+ const variant = $derived(column.styleFactory ? column.styleFactory(item) : null);
5
+ const size = $derived(column.sizeFactory ? column.sizeFactory(item) : null);
6
+ const handleClick = (e) => {
7
+ e.stopPropagation();
8
+ column.onClick?.(item);
9
+ };
10
+ </script>
11
+
12
+ {#if getValueForColumn(column, item) !== null}
13
+ <div class="table-button-cell">
14
+ <Button variant={variant} size={size} on={{ click: handleClick }}>{getValueForColumn(column, item)}</Button>
15
+ </div>
16
+ {/if}
17
+
18
+ <style>.table-button-cell {
19
+ width: 100%;
20
+ }</style>
@@ -0,0 +1,38 @@
1
+ import type { ITableButtonColumn } from '../types';
2
+ declare function $$render<T extends {
3
+ id: string;
4
+ }>(): {
5
+ props: {
6
+ item: T;
7
+ column: ITableButtonColumn<T>;
8
+ };
9
+ exports: {};
10
+ bindings: "";
11
+ slots: {};
12
+ events: {};
13
+ };
14
+ declare class __sveltets_Render<T extends {
15
+ id: string;
16
+ }> {
17
+ props(): ReturnType<typeof $$render<T>>['props'];
18
+ events(): ReturnType<typeof $$render<T>>['events'];
19
+ slots(): ReturnType<typeof $$render<T>>['slots'];
20
+ bindings(): "";
21
+ exports(): {};
22
+ }
23
+ interface $$IsomorphicComponent {
24
+ new <T extends {
25
+ id: string;
26
+ }>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T>['props']>, ReturnType<__sveltets_Render<T>['events']>, ReturnType<__sveltets_Render<T>['slots']>> & {
27
+ $$bindings?: ReturnType<__sveltets_Render<T>['bindings']>;
28
+ } & ReturnType<__sveltets_Render<T>['exports']>;
29
+ <T extends {
30
+ id: string;
31
+ }>(internal: unknown, props: ReturnType<__sveltets_Render<T>['props']> & {}): ReturnType<__sveltets_Render<T>['exports']>;
32
+ z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
33
+ }
34
+ declare const TableButtonCell: $$IsomorphicComponent;
35
+ type TableButtonCell<T extends {
36
+ id: string;
37
+ }> = InstanceType<typeof TableButtonCell<T>>;
38
+ export default TableButtonCell;
@@ -0,0 +1,105 @@
1
+ <script lang="ts" generics="T extends {id: string}">import { DateHelper } from '../../../core/utils';
2
+ import { ImageRound } from '../../image';
3
+ import { Tooltip } from '../../tooltip';
4
+ let { item, column } = $props();
5
+ const fmt = (d, options) => new Intl.DateTimeFormat(undefined, options).format(d);
6
+ const timeFormat = { hour: '2-digit', minute: '2-digit', hour12: false };
7
+ const dateFormat = { day: '2-digit' };
8
+ const monthFormat = { month: 'short' };
9
+ const yearFormat = { year: '2-digit' };
10
+ const getValueForColumn = (column, item) => (column.valueFactory ? column.valueFactory(item) : item[column.id])?.toString();
11
+ const getDateValueForColumn = (column, item) => {
12
+ const value = getValueForColumn(column, item);
13
+ return value ? DateHelper.toDate(value) : null;
14
+ };
15
+ const dateTime = $derived(getDateValueForColumn(column, item));
16
+ const by = $derived(column.byValueFactory ? column.byValueFactory(item) : null);
17
+ const getHref = (by) => {
18
+ return column.hrefFactory ? column.hrefFactory(by) : null;
19
+ };
20
+ const navigateToUser = (event, by) => {
21
+ if (column.onNavigate) {
22
+ event.stopPropagation();
23
+ event.preventDefault();
24
+ column.onNavigate(by);
25
+ }
26
+ };
27
+ </script>
28
+
29
+ <span class="table-by-cell">
30
+ {#if dateTime}
31
+ {#if by}
32
+ <span class="table-by-cell__by">
33
+ <Tooltip position="bottom" offset={5}>
34
+ {#snippet trigger()}
35
+ {@const href = getHref(by)}
36
+ {#if href}
37
+ <a href={href} onclick={(e) => navigateToUser(e, by)} class="table-by-cell__by-image">
38
+ <ImageRound src={by.image} />
39
+ </a>
40
+ {:else}
41
+ <span class="table-by-cell__by-image">
42
+ <ImageRound src={by.image} />
43
+ </span>
44
+ {/if}
45
+ {/snippet}
46
+ <div class="table-by-cell__by-name">
47
+ {by.name}
48
+ </div>
49
+ </Tooltip>
50
+ </span>
51
+ {/if}
52
+ <span class="table-by-cell__date">
53
+ {fmt(dateTime, dateFormat)}.
54
+ <span class="table-by-cell__month">{fmt(dateTime, monthFormat)}</span>
55
+ {#if dateTime.getFullYear() !== new Date().getFullYear()}
56
+ .{fmt(dateTime, yearFormat)}
57
+ {/if}
58
+ <span>&nbsp;&middot;&nbsp;</span>
59
+ {fmt(dateTime, timeFormat)}
60
+ </span>
61
+ {:else}
62
+ <div class="table-by-cell__no-date">-</div>
63
+ {/if}
64
+ </span>
65
+
66
+ <style>.table-by-cell {
67
+ --_table-by-cell--font-size: var(--sc-kit--table--cell--font-size, 0.875em);
68
+ --_table-by-cell--no-date--color: var(--sc-color--text-paragraph, #9ca3af);
69
+ height: 3.125em;
70
+ min-height: 3.125em;
71
+ max-height: 3.125em;
72
+ display: inline-flex;
73
+ flex-wrap: nowrap;
74
+ }
75
+ .table-by-cell__date {
76
+ font-size: var(--_table-by-cell--font-size);
77
+ display: flex;
78
+ align-items: center;
79
+ justify-content: center;
80
+ flex-wrap: nowrap;
81
+ white-space: nowrap;
82
+ }
83
+ .table-by-cell__no-date {
84
+ font-size: var(--_table-by-cell--font-size);
85
+ color: var(--_table-by-cell--no-date--color);
86
+ display: flex;
87
+ align-items: center;
88
+ justify-content: center;
89
+ height: 100%;
90
+ }
91
+ .table-by-cell__month {
92
+ text-transform: lowercase;
93
+ }
94
+ .table-by-cell__by {
95
+ margin-right: 0.625em;
96
+ }
97
+ .table-by-cell__by-image {
98
+ display: flex;
99
+ align-items: center;
100
+ width: var(--_table-by-cell--image--size, 1.5em);
101
+ }
102
+ .table-by-cell__by-name {
103
+ font-size: var(--_table-by-cell--font-size);
104
+ padding: 1em;
105
+ }</style>
@@ -0,0 +1,38 @@
1
+ import type { ITableByColumn } from '../types';
2
+ declare function $$render<T extends {
3
+ id: string;
4
+ }>(): {
5
+ props: {
6
+ item: T;
7
+ column: ITableByColumn<T>;
8
+ };
9
+ exports: {};
10
+ bindings: "";
11
+ slots: {};
12
+ events: {};
13
+ };
14
+ declare class __sveltets_Render<T extends {
15
+ id: string;
16
+ }> {
17
+ props(): ReturnType<typeof $$render<T>>['props'];
18
+ events(): ReturnType<typeof $$render<T>>['events'];
19
+ slots(): ReturnType<typeof $$render<T>>['slots'];
20
+ bindings(): "";
21
+ exports(): {};
22
+ }
23
+ interface $$IsomorphicComponent {
24
+ new <T extends {
25
+ id: string;
26
+ }>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T>['props']>, ReturnType<__sveltets_Render<T>['events']>, ReturnType<__sveltets_Render<T>['slots']>> & {
27
+ $$bindings?: ReturnType<__sveltets_Render<T>['bindings']>;
28
+ } & ReturnType<__sveltets_Render<T>['exports']>;
29
+ <T extends {
30
+ id: string;
31
+ }>(internal: unknown, props: ReturnType<__sveltets_Render<T>['props']> & {}): ReturnType<__sveltets_Render<T>['exports']>;
32
+ z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
33
+ }
34
+ declare const TableByCell: $$IsomorphicComponent;
35
+ type TableByCell<T extends {
36
+ id: string;
37
+ }> = InstanceType<typeof TableByCell<T>>;
38
+ export default TableByCell;
@@ -0,0 +1,21 @@
1
+ <script lang="ts" generics="T extends {id: string}">import { Checkbox } from '../../checkbox';
2
+ let { item, selection } = $props();
3
+ const selected = $derived(!!selection.items.find((x) => x.id === item.id));
4
+ const disabled = $derived(!selected && !!selection.limit && selection.items.length >= selection.limit);
5
+ const toggle = () => {
6
+ if (selected) {
7
+ selection.remove(item);
8
+ }
9
+ else {
10
+ selection.add(item);
11
+ }
12
+ };
13
+ </script>
14
+
15
+ <div class="table-checkbox-cell">
16
+ <Checkbox checked={selected} disabled={disabled} on={{ change: toggle }} />
17
+ </div>
18
+
19
+ <style>.table-checkbox-cell {
20
+ font-size: var(--_table--cell--font-size);
21
+ }</style>
@@ -0,0 +1,38 @@
1
+ import type { Repository } from '../../../core/repository';
2
+ declare function $$render<T extends {
3
+ id: string;
4
+ }>(): {
5
+ props: {
6
+ item: T;
7
+ selection: Repository<T>;
8
+ };
9
+ exports: {};
10
+ bindings: "";
11
+ slots: {};
12
+ events: {};
13
+ };
14
+ declare class __sveltets_Render<T extends {
15
+ id: string;
16
+ }> {
17
+ props(): ReturnType<typeof $$render<T>>['props'];
18
+ events(): ReturnType<typeof $$render<T>>['events'];
19
+ slots(): ReturnType<typeof $$render<T>>['slots'];
20
+ bindings(): "";
21
+ exports(): {};
22
+ }
23
+ interface $$IsomorphicComponent {
24
+ new <T extends {
25
+ id: string;
26
+ }>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T>['props']>, ReturnType<__sveltets_Render<T>['events']>, ReturnType<__sveltets_Render<T>['slots']>> & {
27
+ $$bindings?: ReturnType<__sveltets_Render<T>['bindings']>;
28
+ } & ReturnType<__sveltets_Render<T>['exports']>;
29
+ <T extends {
30
+ id: string;
31
+ }>(internal: unknown, props: ReturnType<__sveltets_Render<T>['props']> & {}): ReturnType<__sveltets_Render<T>['exports']>;
32
+ z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
33
+ }
34
+ declare const TableCheckboxCell: $$IsomorphicComponent;
35
+ type TableCheckboxCell<T extends {
36
+ id: string;
37
+ }> = InstanceType<typeof TableCheckboxCell<T>>;
38
+ export default TableCheckboxCell;
@@ -0,0 +1,5 @@
1
+ <script lang="ts" generics="T extends {id: string}">import { DynamicComponent } from '../../dynamic-component';
2
+ let { item, column } = $props();
3
+ </script>
4
+
5
+ <DynamicComponent model={column.componentFactory(item)} />
@@ -0,0 +1,38 @@
1
+ import type { ITableCustomColumn } from '../types';
2
+ declare function $$render<T extends {
3
+ id: string;
4
+ }>(): {
5
+ props: {
6
+ item: T;
7
+ column: ITableCustomColumn<T>;
8
+ };
9
+ exports: {};
10
+ bindings: "";
11
+ slots: {};
12
+ events: {};
13
+ };
14
+ declare class __sveltets_Render<T extends {
15
+ id: string;
16
+ }> {
17
+ props(): ReturnType<typeof $$render<T>>['props'];
18
+ events(): ReturnType<typeof $$render<T>>['events'];
19
+ slots(): ReturnType<typeof $$render<T>>['slots'];
20
+ bindings(): "";
21
+ exports(): {};
22
+ }
23
+ interface $$IsomorphicComponent {
24
+ new <T extends {
25
+ id: string;
26
+ }>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T>['props']>, ReturnType<__sveltets_Render<T>['events']>, ReturnType<__sveltets_Render<T>['slots']>> & {
27
+ $$bindings?: ReturnType<__sveltets_Render<T>['bindings']>;
28
+ } & ReturnType<__sveltets_Render<T>['exports']>;
29
+ <T extends {
30
+ id: string;
31
+ }>(internal: unknown, props: ReturnType<__sveltets_Render<T>['props']> & {}): ReturnType<__sveltets_Render<T>['exports']>;
32
+ z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
33
+ }
34
+ declare const TableCustomCell: $$IsomorphicComponent;
35
+ type TableCustomCell<T extends {
36
+ id: string;
37
+ }> = InstanceType<typeof TableCustomCell<T>>;
38
+ export default TableCustomCell;
@@ -0,0 +1,7 @@
1
+ <script lang="ts" generics="T extends {id: string}">let { column, children } = $props();
2
+ export {};
3
+ </script>
4
+
5
+ {#if !column.hidden}
6
+ {@render children()}
7
+ {/if}
@@ -0,0 +1,39 @@
1
+ import type { ResolvedColumn } from '../table-column-models.svelte';
2
+ import type { Snippet } from 'svelte';
3
+ declare function $$render<T extends {
4
+ id: string;
5
+ }>(): {
6
+ props: {
7
+ column: ResolvedColumn<T>;
8
+ children: Snippet;
9
+ };
10
+ exports: {};
11
+ bindings: "";
12
+ slots: {};
13
+ events: {};
14
+ };
15
+ declare class __sveltets_Render<T extends {
16
+ id: string;
17
+ }> {
18
+ props(): ReturnType<typeof $$render<T>>['props'];
19
+ events(): ReturnType<typeof $$render<T>>['events'];
20
+ slots(): ReturnType<typeof $$render<T>>['slots'];
21
+ bindings(): "";
22
+ exports(): {};
23
+ }
24
+ interface $$IsomorphicComponent {
25
+ new <T extends {
26
+ id: string;
27
+ }>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T>['props']>, ReturnType<__sveltets_Render<T>['events']>, ReturnType<__sveltets_Render<T>['slots']>> & {
28
+ $$bindings?: ReturnType<__sveltets_Render<T>['bindings']>;
29
+ } & ReturnType<__sveltets_Render<T>['exports']>;
30
+ <T extends {
31
+ id: string;
32
+ }>(internal: unknown, props: ReturnType<__sveltets_Render<T>['props']> & {}): ReturnType<__sveltets_Render<T>['exports']>;
33
+ z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
34
+ }
35
+ declare const TableHideableCell: $$IsomorphicComponent;
36
+ type TableHideableCell<T extends {
37
+ id: string;
38
+ }> = InstanceType<typeof TableHideableCell<T>>;
39
+ export default TableHideableCell;
@@ -0,0 +1,53 @@
1
+ <script lang="ts" generics="T extends {id: string}">import { Icon } from '../../icon';
2
+ import { Tooltip } from '../../tooltip';
3
+ let { item, column } = $props();
4
+ const iconSrc = $derived(column.iconSrcFactory ? column.iconSrcFactory(item) : String(item[column.id]));
5
+ const iconColor = $derived(column.colorFactory ? column.colorFactory(item) : null);
6
+ const cssWidth = (column) => {
7
+ if (column?.fixedCssWidth) {
8
+ return `width: ${column.fixedCssWidth};`;
9
+ }
10
+ return 'width: auto;';
11
+ };
12
+ </script>
13
+
14
+ <div class="table-icon-cell" style={cssWidth(column)}>
15
+ {#if column.tooltipTextFactory && column.tooltipTextFactory(item)}
16
+ <Tooltip>
17
+ {#snippet trigger()}
18
+ <Icon src={iconSrc} color={iconColor} />
19
+ {/snippet}
20
+ <div class="table-icon-cell__tooltip">
21
+ {column.tooltipTextFactory(item)}
22
+ </div>
23
+ </Tooltip>
24
+ {:else}
25
+ <Icon src={iconSrc} color={iconColor} />
26
+ {/if}
27
+ </div>
28
+
29
+ <!--
30
+ @component
31
+ Icon cell for table rows. Displays an icon with optional tooltip.
32
+
33
+ ### CSS Custom Properties
34
+ | Property | Description | Default |
35
+ |---|---|---|
36
+ | `--sc-kit--table-icon-cell--tooltip--color` | Tooltip text color | `white` |
37
+ | `--sc-kit--table-icon-cell--tooltip--background` | Tooltip background color | `black` |
38
+ | `--sc-kit--table-icon-cell--tooltip--opacity` | Tooltip opacity | `70%` |
39
+ -->
40
+
41
+ <style>.table-icon-cell {
42
+ --_table-icon-cell--tooltip--color: var(--sc-kit--table-icon-cell--tooltip--color, #ffffff);
43
+ --_table-icon-cell--tooltip--background: var(--sc-kit--table-icon-cell--tooltip--background, #000000);
44
+ --_table-icon-cell--tooltip--opacity: var(--sc-kit--table-icon-cell--tooltip--opacity, 70%);
45
+ }
46
+ .table-icon-cell__tooltip {
47
+ background-color: var(--_table-icon-cell--tooltip--background);
48
+ font-size: 0.875em;
49
+ padding: 0.5714em 1.1429em;
50
+ border-radius: 0.2857em;
51
+ color: var(--_table-icon-cell--tooltip--color);
52
+ opacity: var(--_table-icon-cell--tooltip--opacity);
53
+ }</style>
@@ -0,0 +1,48 @@
1
+ import type { ITableIconColumn } from '../types';
2
+ declare function $$render<T extends {
3
+ id: string;
4
+ }>(): {
5
+ props: {
6
+ item: T;
7
+ column: ITableIconColumn<T>;
8
+ };
9
+ exports: {};
10
+ bindings: "";
11
+ slots: {};
12
+ events: {};
13
+ };
14
+ declare class __sveltets_Render<T extends {
15
+ id: string;
16
+ }> {
17
+ props(): ReturnType<typeof $$render<T>>['props'];
18
+ events(): ReturnType<typeof $$render<T>>['events'];
19
+ slots(): ReturnType<typeof $$render<T>>['slots'];
20
+ bindings(): "";
21
+ exports(): {};
22
+ }
23
+ interface $$IsomorphicComponent {
24
+ new <T extends {
25
+ id: string;
26
+ }>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T>['props']>, ReturnType<__sveltets_Render<T>['events']>, ReturnType<__sveltets_Render<T>['slots']>> & {
27
+ $$bindings?: ReturnType<__sveltets_Render<T>['bindings']>;
28
+ } & ReturnType<__sveltets_Render<T>['exports']>;
29
+ <T extends {
30
+ id: string;
31
+ }>(internal: unknown, props: ReturnType<__sveltets_Render<T>['props']> & {}): ReturnType<__sveltets_Render<T>['exports']>;
32
+ z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
33
+ }
34
+ /**
35
+ * Icon cell for table rows. Displays an icon with optional tooltip.
36
+ *
37
+ * ### CSS Custom Properties
38
+ * | Property | Description | Default |
39
+ * |---|---|---|
40
+ * | `--sc-kit--table-icon-cell--tooltip--color` | Tooltip text color | `white` |
41
+ * | `--sc-kit--table-icon-cell--tooltip--background` | Tooltip background color | `black` |
42
+ * | `--sc-kit--table-icon-cell--tooltip--opacity` | Tooltip opacity | `70%` |
43
+ */
44
+ declare const TableIconCell: $$IsomorphicComponent;
45
+ type TableIconCell<T extends {
46
+ id: string;
47
+ }> = InstanceType<typeof TableIconCell<T>>;
48
+ export default TableIconCell;
@@ -0,0 +1,64 @@
1
+ <script lang="ts" generics="T extends {id: string}">import { Image, ImageRound } from '../../image';
2
+ import { ProportionalContainer } from '../../proportional-container';
3
+ let { item, column, centered } = $props();
4
+ const getValueForColumn = (column, item) => (column.valueFactory ? column.valueFactory(item) : String(item[column.id]));
5
+ </script>
6
+
7
+ <div class="table-image-cell" class:table-image-cell--centered={centered} style={column.sizeCss ? `--_table-image-cell--image--size: ${column.sizeCss}` : ''}>
8
+ {#if column.format === 'circle'}
9
+ <div class="table-image-cell__image">
10
+ <ImageRound src={getValueForColumn(column, item)} />
11
+ </div>
12
+ {:else if column.format === 'square-contain'}
13
+ <div class="table-image-cell__image table-image-cell__image--contain" class:table-image-cell__image--fill-cell={column.sizeCss}>
14
+ <Image src={getValueForColumn(column, item)} />
15
+ </div>
16
+ {:else if column.format === 'square-cover'}
17
+ <div class="table-image-cell__image table-image-cell__image--cover" class:table-image-cell__image--fill-cell={column.sizeCss}>
18
+ <ProportionalContainer ratio={column.coverAspectRatio ?? 1}>
19
+ <div class="table-image-cell__cover-image-placer">
20
+ <Image src={getValueForColumn(column, item)} />
21
+ </div>
22
+ </ProportionalContainer>
23
+ </div>
24
+ {/if}
25
+ </div>
26
+
27
+ <style>.table-image-cell {
28
+ display: flex;
29
+ height: 3.125em;
30
+ min-height: 3.125em;
31
+ max-height: 3.125em;
32
+ align-items: center;
33
+ }
34
+ .table-image-cell--centered {
35
+ justify-content: center;
36
+ }
37
+ .table-image-cell__image {
38
+ display: flex;
39
+ justify-content: center;
40
+ align-items: center;
41
+ border-radius: 0.25em;
42
+ overflow: hidden;
43
+ width: var(--_table-image-cell--image--size, 2em);
44
+ height: var(--_table-image-cell--image--size, 2em);
45
+ --sc-kit--image--object-fit: cover;
46
+ }
47
+ .table-image-cell__image--fill-cell {
48
+ height: var(--_table-image-cell--image--size) !important;
49
+ min-height: var(--_table-image-cell--image--size);
50
+ max-height: var(--_table-image-cell--image--size);
51
+ }
52
+ .table-image-cell__image--contain {
53
+ --sc-kit--image--object-fit: contain;
54
+ height: 2.5em;
55
+ }
56
+ .table-image-cell__image--cover {
57
+ height: 2.5em;
58
+ }
59
+ .table-image-cell__cover-image-placer {
60
+ width: 100%;
61
+ height: 100%;
62
+ border-radius: 0.25em;
63
+ overflow: hidden;
64
+ }</style>
@@ -0,0 +1,39 @@
1
+ import type { ITableImageColumn } from '../types';
2
+ declare function $$render<T extends {
3
+ id: string;
4
+ }>(): {
5
+ props: {
6
+ item: T;
7
+ column: ITableImageColumn<T>;
8
+ centered: boolean;
9
+ };
10
+ exports: {};
11
+ bindings: "";
12
+ slots: {};
13
+ events: {};
14
+ };
15
+ declare class __sveltets_Render<T extends {
16
+ id: string;
17
+ }> {
18
+ props(): ReturnType<typeof $$render<T>>['props'];
19
+ events(): ReturnType<typeof $$render<T>>['events'];
20
+ slots(): ReturnType<typeof $$render<T>>['slots'];
21
+ bindings(): "";
22
+ exports(): {};
23
+ }
24
+ interface $$IsomorphicComponent {
25
+ new <T extends {
26
+ id: string;
27
+ }>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T>['props']>, ReturnType<__sveltets_Render<T>['events']>, ReturnType<__sveltets_Render<T>['slots']>> & {
28
+ $$bindings?: ReturnType<__sveltets_Render<T>['bindings']>;
29
+ } & ReturnType<__sveltets_Render<T>['exports']>;
30
+ <T extends {
31
+ id: string;
32
+ }>(internal: unknown, props: ReturnType<__sveltets_Render<T>['props']> & {}): ReturnType<__sveltets_Render<T>['exports']>;
33
+ z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
34
+ }
35
+ declare const TableImageCell: $$IsomorphicComponent;
36
+ type TableImageCell<T extends {
37
+ id: string;
38
+ }> = InstanceType<typeof TableImageCell<T>>;
39
+ export default TableImageCell;
@@ -0,0 +1,29 @@
1
+ <script lang="ts">import { Icon } from '../../icon';
2
+ import IconArrowDown from '@fluentui/svg-icons/icons/arrow_down_20_regular.svg?raw';
3
+ import IconArrowUp from '@fluentui/svg-icons/icons/arrow_up_20_regular.svg?raw';
4
+ let { on } = $props();
5
+ const onUp = () => on?.up?.();
6
+ const onDown = () => on?.down?.();
7
+ </script>
8
+
9
+ <div class="move-row-cell">
10
+ <button type="button" disabled={!on.up} onclick={onUp}>
11
+ <Icon src={IconArrowUp} />
12
+ </button>
13
+ <button type="button" disabled={!on.down} onclick={onDown}>
14
+ <Icon src={IconArrowDown} />
15
+ </button>
16
+ </div>
17
+
18
+ <style>.move-row-cell {
19
+ display: flex;
20
+ flex-direction: row;
21
+ gap: 0.125rem;
22
+ justify-content: space-evenly;
23
+ --sc-kit--icon--size: 1rem;
24
+ opacity: 0;
25
+ transition: opacity 250ms cubic-bezier(0.4, 0, 0.2, 1);
26
+ }
27
+ .move-row-cell button:disabled {
28
+ --sc-kit--icon--color: #6b7280;
29
+ }</style>
@@ -0,0 +1,9 @@
1
+ type Props = {
2
+ on: {
3
+ up?: () => void;
4
+ down?: () => void;
5
+ };
6
+ };
7
+ declare const TableMoveRowCell: import("svelte").Component<Props, {}, "">;
8
+ type TableMoveRowCell = ReturnType<typeof TableMoveRowCell>;
9
+ export default TableMoveRowCell;
@@ -0,0 +1,22 @@
1
+ <script lang="ts" generics="T extends {id: string}">import { Singleselect } from '../../selects';
2
+ let { item, column } = $props();
3
+ const getValueForColumn = (column, item) => (column.valueFactory ? column.valueFactory(item) : item[column.id]);
4
+ const onSelected = (value) => {
5
+ column.onSelected(item, value);
6
+ item = item;
7
+ };
8
+ </script>
9
+
10
+ {#if !column.visibilityFactory || column.visibilityFactory(item)}
11
+ <Singleselect
12
+ placeholder={column.placeholder || ' '}
13
+ value={getValueForColumn(column, item)}
14
+ options={column.optionsFactory(item)}
15
+ disabled={(column.disabledFactory && column.disabledFactory(item)) || false}
16
+ allowReset={column.allowReset}
17
+ on={{
18
+ change: (v) => {
19
+ onSelected(v);
20
+ }
21
+ }} />
22
+ {/if}