@streamscloud/kit 0.17.0 → 0.19.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 (91) hide show
  1. package/dist/ui/badge/cmp.badge.svelte +4 -0
  2. package/dist/ui/badge/cmp.badge.svelte.d.ts +1 -0
  3. package/dist/ui/page-toolbar/cmp.reorderable-checkbox-list.svelte +131 -0
  4. package/dist/ui/page-toolbar/cmp.reorderable-checkbox-list.svelte.d.ts +31 -0
  5. package/dist/ui/page-toolbar/cmp.toolbar-checkbox.svelte +14 -0
  6. package/dist/ui/page-toolbar/cmp.toolbar-checkbox.svelte.d.ts +19 -0
  7. package/dist/ui/page-toolbar/cmp.toolbar-divider.svelte +19 -0
  8. package/dist/ui/page-toolbar/cmp.toolbar-divider.svelte.d.ts +35 -0
  9. package/dist/ui/page-toolbar/cmp.toolbar-filter-select.svelte +143 -0
  10. package/dist/ui/page-toolbar/cmp.toolbar-filter-select.svelte.d.ts +68 -0
  11. package/dist/ui/page-toolbar/cmp.toolbar-icon-button.svelte +71 -0
  12. package/dist/ui/page-toolbar/cmp.toolbar-icon-button.svelte.d.ts +32 -0
  13. package/dist/ui/page-toolbar/cmp.toolbar-option.svelte +189 -0
  14. package/dist/ui/page-toolbar/cmp.toolbar-option.svelte.d.ts +47 -0
  15. package/dist/ui/page-toolbar/cmp.toolbar-popover.svelte +23 -8
  16. package/dist/ui/page-toolbar/cmp.toolbar-popover.svelte.d.ts +14 -6
  17. package/dist/ui/page-toolbar/cmp.toolbar-section-title.svelte +46 -0
  18. package/dist/ui/page-toolbar/cmp.toolbar-section-title.svelte.d.ts +24 -0
  19. package/dist/ui/page-toolbar/cmp.toolbar-sort-select.svelte +31 -0
  20. package/dist/ui/page-toolbar/cmp.toolbar-sort-select.svelte.d.ts +44 -0
  21. package/dist/ui/page-toolbar/{cmp.toolbar-switch-item.svelte → cmp.toolbar-switch.svelte} +10 -10
  22. package/dist/ui/page-toolbar/{cmp.toolbar-switch-item.svelte.d.ts → cmp.toolbar-switch.svelte.d.ts} +2 -2
  23. package/dist/ui/page-toolbar/cmp.toolbar-toggle.svelte +14 -0
  24. package/dist/ui/page-toolbar/cmp.toolbar-toggle.svelte.d.ts +19 -0
  25. package/dist/ui/page-toolbar/cmp.toolbar-view-controls.svelte +51 -0
  26. package/dist/ui/page-toolbar/cmp.toolbar-view-controls.svelte.d.ts +27 -0
  27. package/dist/ui/page-toolbar/index.d.ts +12 -7
  28. package/dist/ui/page-toolbar/index.js +11 -6
  29. package/dist/ui/page-toolbar/reorderable-checkbox-list-localization.d.ts +5 -0
  30. package/dist/ui/page-toolbar/reorderable-checkbox-list-localization.js +17 -0
  31. package/dist/ui/page-toolbar/toolbar-filter-select-localization.d.ts +5 -0
  32. package/dist/ui/page-toolbar/toolbar-filter-select-localization.js +20 -0
  33. package/dist/ui/page-toolbar/toolbar-sort-select-localization.d.ts +3 -0
  34. package/dist/ui/page-toolbar/toolbar-sort-select-localization.js +9 -0
  35. package/dist/ui/page-toolbar/toolbar-view-controls-localization.d.ts +5 -0
  36. package/dist/ui/page-toolbar/toolbar-view-controls-localization.js +17 -0
  37. package/dist/ui/page-toolbar/types.d.ts +1 -1
  38. package/dist/ui/select/index.d.ts +1 -0
  39. package/dist/ui/select/index.js +1 -0
  40. package/dist/ui/select/select-listbox.svelte +11 -5
  41. package/dist/ui/select/select-listbox.svelte.d.ts +1 -1
  42. package/dist/ui/table/_table-styles.scss +156 -0
  43. package/dist/ui/table/cmp.table-draggable.svelte +338 -0
  44. package/dist/ui/table/cmp.table-draggable.svelte.d.ts +79 -0
  45. package/dist/ui/table/cmp.table.svelte +96 -265
  46. package/dist/ui/table/cmp.table.svelte.d.ts +16 -8
  47. package/dist/ui/table/index.d.ts +1 -0
  48. package/dist/ui/table/index.js +1 -0
  49. package/dist/ui/table/table-cells/index.d.ts +1 -12
  50. package/dist/ui/table/table-cells/index.js +1 -12
  51. package/dist/ui/table/table-cells/table-cell.svelte +77 -0
  52. package/dist/ui/table/table-cells/{table-select-cell.svelte.d.ts → table-cell.svelte.d.ts} +12 -6
  53. package/dist/ui/table/table-column-models.svelte.d.ts +1 -2
  54. package/dist/ui/table/table-column-models.svelte.js +0 -1
  55. package/dist/ui/table/table-columns-manager/cmp.table-columns-manager.svelte +20 -47
  56. package/dist/ui/table/table-columns-manager/cmp.table-columns-manager.svelte.d.ts +3 -7
  57. package/dist/ui/table/table-columns-manager/table-columns-manager-localization.d.ts +1 -1
  58. package/dist/ui/table/table-columns-manager/table-columns-manager-localization.js +7 -7
  59. package/dist/ui/table/table-localization.d.ts +0 -2
  60. package/dist/ui/table/table-localization.js +0 -14
  61. package/dist/ui/table/table-model.svelte.d.ts +2 -3
  62. package/dist/ui/table/table-model.svelte.js +5 -35
  63. package/dist/ui/table/table-view.svelte.d.ts +14 -0
  64. package/dist/ui/table/table-view.svelte.js +32 -0
  65. package/dist/ui/table/types.d.ts +5 -28
  66. package/dist/ui/toggle/cmp.toggle.svelte +32 -26
  67. package/dist/ui/toggle/cmp.toggle.svelte.d.ts +2 -0
  68. package/dist/ui/tree/cmp.tree-node-view.svelte +16 -10
  69. package/dist/ui/tree/cmp.tree-node-view.svelte.d.ts +2 -2
  70. package/dist/ui/tree/cmp.tree.svelte +14 -30
  71. package/dist/ui/tree/cmp.tree.svelte.d.ts +5 -5
  72. package/dist/ui/tree/tree-keyboard.svelte.d.ts +9 -0
  73. package/dist/ui/tree/tree-keyboard.svelte.js +107 -0
  74. package/dist/ui/tree/tree-node.svelte.d.ts +7 -3
  75. package/dist/ui/tree/tree-node.svelte.js +32 -16
  76. package/package.json +1 -1
  77. package/dist/ui/page-toolbar/cmp.reorderable-toggle-list.svelte +0 -153
  78. package/dist/ui/page-toolbar/cmp.reorderable-toggle-list.svelte.d.ts +0 -20
  79. package/dist/ui/page-toolbar/cmp.toolbar-checkbox-item.svelte +0 -19
  80. package/dist/ui/page-toolbar/cmp.toolbar-checkbox-item.svelte.d.ts +0 -12
  81. package/dist/ui/page-toolbar/cmp.toolbar-panel-button.svelte +0 -42
  82. package/dist/ui/page-toolbar/cmp.toolbar-panel-button.svelte.d.ts +0 -20
  83. package/dist/ui/page-toolbar/cmp.toolbar-panel.svelte +0 -57
  84. package/dist/ui/page-toolbar/cmp.toolbar-panel.svelte.d.ts +0 -19
  85. package/dist/ui/page-toolbar/cmp.toolbar-toggle-item.svelte +0 -16
  86. package/dist/ui/page-toolbar/cmp.toolbar-toggle-item.svelte.d.ts +0 -12
  87. package/dist/ui/table/table-cells/table-select-cell.svelte +0 -28
  88. package/dist/ui/table/table-cells/table-text-input-cell.svelte +0 -69
  89. package/dist/ui/table/table-cells/table-text-input-cell.svelte.d.ts +0 -38
  90. package/dist/ui/tree/tree-navigation.svelte.d.ts +0 -14
  91. package/dist/ui/tree/tree-navigation.svelte.js +0 -99
@@ -1,57 +0,0 @@
1
- <script lang="ts">const { title, children, footer } = $props();
2
- export {};
3
- </script>
4
-
5
- <div class="toolbar-panel">
6
- <div class="toolbar-panel__title">{title}</div>
7
- <div class="toolbar-panel__body">
8
- {@render children()}
9
- {#if footer}
10
- <div class="toolbar-panel__divider"></div>
11
- {@render footer()}
12
- {/if}
13
- </div>
14
- </div>
15
-
16
- <!--
17
- @component
18
- A panel container used inside toolbar dropdowns. Provides a title, body area, and optional footer.
19
-
20
- ### CSS Custom Properties
21
- | Property | Description | Default |
22
- |---|---|---|
23
- | `--sc-kit--toolbar-panel--width` | Panel width | `21.875rem` |
24
- | `--sc-kit--toolbar-panel--title--color` | Title text color | `var(--sc-kit--color--text--primary)` |
25
- | `--sc-kit--toolbar-panel--divider--color` | Divider line color | `var(--sc-kit--color--border)` |
26
- -->
27
-
28
- <style>.toolbar-panel {
29
- --_toolbar-panel--width: var(--sc-kit--toolbar-panel--width, 21.875rem);
30
- --_toolbar-panel--title--color: var(--sc-kit--toolbar-panel--title--color, var(--sc-kit--color--text--primary));
31
- --_toolbar-panel--divider--color: var(--sc-kit--toolbar-panel--divider--color, var(--sc-kit--color--border));
32
- width: var(--_toolbar-panel--width);
33
- padding: var(--sc-kit--space--6);
34
- }
35
- .toolbar-panel__title {
36
- font-size: var(--sc-kit--font-size--md);
37
- font-weight: var(--sc-kit--font-weight--semibold);
38
- line-height: var(--sc-kit--line-height--md);
39
- color: var(--_toolbar-panel--title--color);
40
- margin-bottom: var(--sc-kit--space--2);
41
- min-width: 0;
42
- text-overflow: ellipsis;
43
- max-width: 100%;
44
- white-space: nowrap;
45
- overflow: hidden;
46
- }
47
- .toolbar-panel__body {
48
- display: flex;
49
- flex-direction: column;
50
- gap: var(--sc-kit--space--4);
51
- padding-block: var(--sc-kit--space--2);
52
- }
53
- .toolbar-panel__divider {
54
- height: 1px;
55
- background: var(--_toolbar-panel--divider--color);
56
- margin: var(--sc-kit--space--1) var(--sc-kit--space--2);
57
- }</style>
@@ -1,19 +0,0 @@
1
- import type { Snippet } from 'svelte';
2
- type Props = {
3
- title: string;
4
- children: Snippet;
5
- footer?: Snippet;
6
- };
7
- /**
8
- * A panel container used inside toolbar dropdowns. Provides a title, body area, and optional footer.
9
- *
10
- * ### CSS Custom Properties
11
- * | Property | Description | Default |
12
- * |---|---|---|
13
- * | `--sc-kit--toolbar-panel--width` | Panel width | `21.875rem` |
14
- * | `--sc-kit--toolbar-panel--title--color` | Title text color | `var(--sc-kit--color--text--primary)` |
15
- * | `--sc-kit--toolbar-panel--divider--color` | Divider line color | `var(--sc-kit--color--border)` |
16
- */
17
- declare const Cmp: import("svelte").Component<Props, {}, "">;
18
- type Cmp = ReturnType<typeof Cmp>;
19
- export default Cmp;
@@ -1,16 +0,0 @@
1
- <script lang="ts">import { Toggle } from '../toggle';
2
- const { checked, children, on } = $props();
3
- </script>
4
-
5
- <div class="toolbar-toggle-item">
6
- <Toggle checked={checked} label={children} layout="spread" on={{ change: (value) => on?.change?.(value) }} />
7
- </div>
8
-
9
- <!--
10
- @component
11
- A toggle item for toolbar panels. Wraps the kit Toggle with toolbar-appropriate padding.
12
- -->
13
-
14
- <style>.toolbar-toggle-item {
15
- padding: var(--sc-kit--space--1) var(--sc-kit--space--2);
16
- }</style>
@@ -1,12 +0,0 @@
1
- import type { Snippet } from 'svelte';
2
- type Props = {
3
- checked: boolean;
4
- children: Snippet;
5
- on?: {
6
- change?: (value: boolean) => void;
7
- };
8
- };
9
- /** A toggle item for toolbar panels. Wraps the kit Toggle with toolbar-appropriate padding. */
10
- declare const Cmp: import("svelte").Component<Props, {}, "">;
11
- type Cmp = ReturnType<typeof Cmp>;
12
- export default Cmp;
@@ -1,28 +0,0 @@
1
- <script lang="ts" generics="T extends {id: string}">import { Singleselect } from '../../select';
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
- {#if column.clearable}
12
- <Singleselect
13
- clearable
14
- placeholder={column.placeholder || ' '}
15
- value={getValueForColumn(column, item)}
16
- options={column.optionsFactory(item)}
17
- disabled={(column.disabledFactory && column.disabledFactory(item)) || false}
18
- on={{ change: (v) => onSelected(v) }} />
19
- {:else}
20
- <Singleselect
21
- clearable={false}
22
- placeholder={column.placeholder || ' '}
23
- value={getValueForColumn(column, item)}
24
- options={column.optionsFactory(item)}
25
- disabled={(column.disabledFactory && column.disabledFactory(item)) || false}
26
- on={{ change: (v) => onSelected(v) }} />
27
- {/if}
28
- {/if}
@@ -1,69 +0,0 @@
1
- <script lang="ts" generics="T extends {id: string}">import { Input } from '../../input';
2
- import { LineClamp } from '../../line-clamp';
3
- import { NumeralInput } from '../../numeral-input';
4
- import { untrack } from 'svelte';
5
- let { item, column } = $props();
6
- let errorText = $state('');
7
- const onInput = async (val) => {
8
- item[column.id] = val === null ? '' : String(val);
9
- await validate();
10
- if (column.onInput) {
11
- column.onInput(item, item[column.id]);
12
- }
13
- };
14
- const validate = async () => {
15
- if (!column.validationSchema) {
16
- return;
17
- }
18
- try {
19
- await column.validationSchema.validate(item[column.id]);
20
- errorText = '';
21
- }
22
- catch (error) {
23
- const err = error;
24
- if (err.name !== 'ValidationError') {
25
- throw error;
26
- }
27
- errorText = err.message;
28
- return;
29
- }
30
- finally {
31
- if (column.onValidated) {
32
- column.onValidated(item, errorText);
33
- }
34
- }
35
- };
36
- $effect(() => {
37
- untrack(() => void validate());
38
- });
39
- </script>
40
-
41
- <div class="table-text-input-cell" class:table-text-input-cell--errored={!!errorText}>
42
- {#if column.inputType === 'number'}
43
- <NumeralInput clearable value={item[column.id]} on={{ input: onInput }} />
44
- {:else}
45
- <Input value={item[column.id]} on={{ input: onInput }} />
46
- {/if}
47
- {#if errorText}
48
- <div class="table-text-input-cell__error">
49
- <LineClamp maxLines={2}>{errorText}</LineClamp>
50
- </div>
51
- {/if}
52
- </div>
53
-
54
- <style>.table-text-input-cell {
55
- position: relative;
56
- font-size: var(--_table--cell--font-size);
57
- padding-top: 1.5em;
58
- margin-bottom: 1.5em;
59
- }
60
- .table-text-input-cell__error {
61
- position: absolute;
62
- top: calc(100% + 0.1em);
63
- left: 0;
64
- right: 0;
65
- display: block;
66
- color: var(--sc-kit--color--danger);
67
- font-size: 0.6875rem;
68
- font-weight: 400;
69
- }</style>
@@ -1,38 +0,0 @@
1
- import type { ITableTextInputColumn } from '../types';
2
- declare function $$render<T extends {
3
- id: string;
4
- }>(): {
5
- props: {
6
- item: any;
7
- column: ITableTextInputColumn<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 TableTextInputCell: $$IsomorphicComponent;
35
- type TableTextInputCell<T extends {
36
- id: string;
37
- }> = InstanceType<typeof TableTextInputCell<T>>;
38
- export default TableTextInputCell;
@@ -1,14 +0,0 @@
1
- import type { TreeNode } from './tree-node.svelte';
2
- export declare class TreeNavigation {
3
- activeId: string | null;
4
- hasFocus: boolean;
5
- private _getRoots;
6
- constructor(getRoots: () => readonly TreeNode[]);
7
- itemId(node: TreeNode): string;
8
- focus(): void;
9
- blur(): void;
10
- setActive(node: TreeNode): void;
11
- ensureActive(): void;
12
- handleKeydown(e: KeyboardEvent): void;
13
- private _visibleNodes;
14
- }
@@ -1,99 +0,0 @@
1
- export class TreeNavigation {
2
- activeId = $state(null);
3
- hasFocus = $state(false);
4
- _getRoots;
5
- constructor(getRoots) {
6
- this._getRoots = getRoots;
7
- }
8
- itemId(node) {
9
- return `tree-item-${node.id}`;
10
- }
11
- focus() {
12
- this.hasFocus = true;
13
- this.ensureActive();
14
- }
15
- blur() {
16
- this.hasFocus = false;
17
- }
18
- setActive(node) {
19
- this.activeId = node.id;
20
- }
21
- ensureActive() {
22
- const visible = this._visibleNodes();
23
- if (this.activeId !== null && visible.some((n) => n.id === this.activeId)) {
24
- return;
25
- }
26
- const selected = visible.find((n) => n.selected);
27
- this.activeId = (selected ?? visible[0])?.id ?? null;
28
- }
29
- handleKeydown(e) {
30
- const visible = this._visibleNodes();
31
- if (!visible.length) {
32
- return;
33
- }
34
- const index = visible.findIndex((n) => n.id === this.activeId);
35
- const current = index < 0 ? null : visible[index];
36
- switch (e.key) {
37
- case 'ArrowDown':
38
- e.preventDefault();
39
- this.activeId = visible[index < 0 ? 0 : Math.min(index + 1, visible.length - 1)].id;
40
- break;
41
- case 'ArrowUp':
42
- e.preventDefault();
43
- this.activeId = visible[index <= 0 ? 0 : index - 1].id;
44
- break;
45
- case 'ArrowRight':
46
- e.preventDefault();
47
- if (!current) {
48
- this.activeId = visible[0].id;
49
- }
50
- else if (current.children.length) {
51
- if (current.expanded) {
52
- this.activeId = current.children[0].id;
53
- }
54
- else {
55
- current.expand();
56
- }
57
- }
58
- break;
59
- case 'ArrowLeft':
60
- e.preventDefault();
61
- if (!current) {
62
- this.activeId = visible[0].id;
63
- }
64
- else if (current.expanded && current.children.length) {
65
- current.collapse();
66
- }
67
- else if (current.parent && visible.includes(current.parent)) {
68
- this.activeId = current.parent.id;
69
- }
70
- break;
71
- case 'Home':
72
- e.preventDefault();
73
- this.activeId = visible[0].id;
74
- break;
75
- case 'End':
76
- e.preventDefault();
77
- this.activeId = visible[visible.length - 1].id;
78
- break;
79
- case 'Enter':
80
- case ' ':
81
- e.preventDefault();
82
- current?.select({ explicitly: true });
83
- break;
84
- }
85
- }
86
- _visibleNodes() {
87
- const result = [];
88
- const walk = (nodes) => {
89
- for (const node of nodes) {
90
- result.push(node);
91
- if (node.expanded && node.children.length) {
92
- walk(node.children);
93
- }
94
- }
95
- };
96
- walk(this._getRoots());
97
- return result;
98
- }
99
- }