@streamscloud/kit 0.17.0 → 0.18.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.
- package/dist/ui/badge/cmp.badge.svelte +4 -0
- package/dist/ui/badge/cmp.badge.svelte.d.ts +1 -0
- package/dist/ui/page-toolbar/cmp.reorderable-checkbox-list.svelte +131 -0
- package/dist/ui/page-toolbar/cmp.reorderable-checkbox-list.svelte.d.ts +31 -0
- package/dist/ui/page-toolbar/cmp.toolbar-checkbox.svelte +14 -0
- package/dist/ui/page-toolbar/cmp.toolbar-checkbox.svelte.d.ts +19 -0
- package/dist/ui/page-toolbar/cmp.toolbar-divider.svelte +19 -0
- package/dist/ui/page-toolbar/cmp.toolbar-divider.svelte.d.ts +35 -0
- package/dist/ui/page-toolbar/cmp.toolbar-filter-select.svelte +143 -0
- package/dist/ui/page-toolbar/cmp.toolbar-filter-select.svelte.d.ts +68 -0
- package/dist/ui/page-toolbar/cmp.toolbar-icon-button.svelte +71 -0
- package/dist/ui/page-toolbar/cmp.toolbar-icon-button.svelte.d.ts +32 -0
- package/dist/ui/page-toolbar/cmp.toolbar-option.svelte +189 -0
- package/dist/ui/page-toolbar/cmp.toolbar-option.svelte.d.ts +47 -0
- package/dist/ui/page-toolbar/cmp.toolbar-popover.svelte +23 -8
- package/dist/ui/page-toolbar/cmp.toolbar-popover.svelte.d.ts +14 -6
- package/dist/ui/page-toolbar/cmp.toolbar-section-title.svelte +46 -0
- package/dist/ui/page-toolbar/cmp.toolbar-section-title.svelte.d.ts +24 -0
- package/dist/ui/page-toolbar/cmp.toolbar-sort-select.svelte +31 -0
- package/dist/ui/page-toolbar/cmp.toolbar-sort-select.svelte.d.ts +44 -0
- package/dist/ui/page-toolbar/{cmp.toolbar-switch-item.svelte → cmp.toolbar-switch.svelte} +10 -10
- package/dist/ui/page-toolbar/{cmp.toolbar-switch-item.svelte.d.ts → cmp.toolbar-switch.svelte.d.ts} +2 -2
- package/dist/ui/page-toolbar/cmp.toolbar-toggle.svelte +14 -0
- package/dist/ui/page-toolbar/cmp.toolbar-toggle.svelte.d.ts +19 -0
- package/dist/ui/page-toolbar/cmp.toolbar-view-controls.svelte +51 -0
- package/dist/ui/page-toolbar/cmp.toolbar-view-controls.svelte.d.ts +27 -0
- package/dist/ui/page-toolbar/index.d.ts +12 -7
- package/dist/ui/page-toolbar/index.js +11 -6
- package/dist/ui/page-toolbar/reorderable-checkbox-list-localization.d.ts +5 -0
- package/dist/ui/page-toolbar/reorderable-checkbox-list-localization.js +17 -0
- package/dist/ui/page-toolbar/toolbar-filter-select-localization.d.ts +5 -0
- package/dist/ui/page-toolbar/toolbar-filter-select-localization.js +20 -0
- package/dist/ui/page-toolbar/toolbar-sort-select-localization.d.ts +3 -0
- package/dist/ui/page-toolbar/toolbar-sort-select-localization.js +9 -0
- package/dist/ui/page-toolbar/toolbar-view-controls-localization.d.ts +5 -0
- package/dist/ui/page-toolbar/toolbar-view-controls-localization.js +17 -0
- package/dist/ui/page-toolbar/types.d.ts +1 -1
- package/dist/ui/select/index.d.ts +1 -0
- package/dist/ui/select/index.js +1 -0
- package/dist/ui/select/select-listbox.svelte +11 -5
- package/dist/ui/select/select-listbox.svelte.d.ts +1 -1
- package/dist/ui/table/_table-styles.scss +156 -0
- package/dist/ui/table/cmp.table-draggable.svelte +338 -0
- package/dist/ui/table/cmp.table-draggable.svelte.d.ts +79 -0
- package/dist/ui/table/cmp.table.svelte +96 -265
- package/dist/ui/table/cmp.table.svelte.d.ts +16 -8
- package/dist/ui/table/index.d.ts +1 -0
- package/dist/ui/table/index.js +1 -0
- package/dist/ui/table/table-cells/index.d.ts +1 -12
- package/dist/ui/table/table-cells/index.js +1 -12
- package/dist/ui/table/table-cells/table-cell.svelte +77 -0
- package/dist/ui/table/table-cells/{table-select-cell.svelte.d.ts → table-cell.svelte.d.ts} +12 -6
- package/dist/ui/table/table-column-models.svelte.d.ts +1 -2
- package/dist/ui/table/table-column-models.svelte.js +0 -1
- package/dist/ui/table/table-columns-manager/cmp.table-columns-manager.svelte +20 -47
- package/dist/ui/table/table-columns-manager/cmp.table-columns-manager.svelte.d.ts +3 -7
- package/dist/ui/table/table-columns-manager/table-columns-manager-localization.d.ts +1 -1
- package/dist/ui/table/table-columns-manager/table-columns-manager-localization.js +7 -7
- package/dist/ui/table/table-localization.d.ts +0 -2
- package/dist/ui/table/table-localization.js +0 -14
- package/dist/ui/table/table-model.svelte.d.ts +2 -3
- package/dist/ui/table/table-model.svelte.js +5 -35
- package/dist/ui/table/table-view.svelte.d.ts +14 -0
- package/dist/ui/table/table-view.svelte.js +32 -0
- package/dist/ui/table/types.d.ts +5 -28
- package/dist/ui/toggle/cmp.toggle.svelte +32 -26
- package/dist/ui/toggle/cmp.toggle.svelte.d.ts +2 -0
- package/dist/ui/tree/cmp.tree-node-view.svelte +7 -2
- package/dist/ui/tree/cmp.tree.svelte +9 -1
- package/dist/ui/tree/cmp.tree.svelte.d.ts +1 -1
- package/dist/ui/tree/tree-navigation.svelte.d.ts +2 -0
- package/dist/ui/tree/tree-navigation.svelte.js +3 -0
- package/package.json +1 -1
- package/dist/ui/page-toolbar/cmp.reorderable-toggle-list.svelte +0 -153
- package/dist/ui/page-toolbar/cmp.reorderable-toggle-list.svelte.d.ts +0 -20
- package/dist/ui/page-toolbar/cmp.toolbar-checkbox-item.svelte +0 -19
- package/dist/ui/page-toolbar/cmp.toolbar-checkbox-item.svelte.d.ts +0 -12
- package/dist/ui/page-toolbar/cmp.toolbar-panel-button.svelte +0 -42
- package/dist/ui/page-toolbar/cmp.toolbar-panel-button.svelte.d.ts +0 -20
- package/dist/ui/page-toolbar/cmp.toolbar-panel.svelte +0 -57
- package/dist/ui/page-toolbar/cmp.toolbar-panel.svelte.d.ts +0 -19
- package/dist/ui/page-toolbar/cmp.toolbar-toggle-item.svelte +0 -16
- package/dist/ui/page-toolbar/cmp.toolbar-toggle-item.svelte.d.ts +0 -12
- package/dist/ui/table/table-cells/table-select-cell.svelte +0 -28
- package/dist/ui/table/table-cells/table-text-input-cell.svelte +0 -69
- package/dist/ui/table/table-cells/table-text-input-cell.svelte.d.ts +0 -38
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
<script lang="ts">import { Icon } from '../icon';
|
|
2
|
-
import { Toggle } from '../toggle';
|
|
3
|
-
import IconReorderDotsVertical from '@fluentui/svg-icons/icons/re_order_dots_vertical_20_regular.svg?raw';
|
|
4
|
-
import { flip } from 'svelte/animate';
|
|
5
|
-
import { dndzone } from 'svelte-dnd-action';
|
|
6
|
-
let { items, on } = $props();
|
|
7
|
-
const reorderableItems = $derived(items.filter((i) => !i.fixed));
|
|
8
|
-
const fixedItems = $derived(items.filter((i) => i.fixed));
|
|
9
|
-
let dndItems = $state.raw([]);
|
|
10
|
-
$effect(() => {
|
|
11
|
-
dndItems = reorderableItems.map(({ id, label, enabled }) => ({ id, label, enabled }));
|
|
12
|
-
});
|
|
13
|
-
const flipDurationMs = 200;
|
|
14
|
-
const emitChange = (reordered) => {
|
|
15
|
-
const merged = [
|
|
16
|
-
...fixedItems.map(({ id, label, enabled, fixed }) => ({ id, label, enabled, fixed })),
|
|
17
|
-
...reordered.map(({ id, label, enabled }) => ({ id, label, enabled }))
|
|
18
|
-
];
|
|
19
|
-
on.change(merged);
|
|
20
|
-
};
|
|
21
|
-
const handleConsider = (e) => {
|
|
22
|
-
dndItems = e.detail.items;
|
|
23
|
-
};
|
|
24
|
-
const handleFinalize = (e) => {
|
|
25
|
-
emitChange(e.detail.items);
|
|
26
|
-
};
|
|
27
|
-
const handleToggle = (id, enabled) => {
|
|
28
|
-
emitChange(dndItems.map((i) => (i.id === id ? { ...i, enabled } : i)));
|
|
29
|
-
};
|
|
30
|
-
const handleFixedToggle = (id, enabled) => {
|
|
31
|
-
const updatedFixed = fixedItems.map(({ id: fId, label, enabled: fEnabled, fixed }) => ({
|
|
32
|
-
id: fId,
|
|
33
|
-
label,
|
|
34
|
-
enabled: fId === id ? enabled : fEnabled,
|
|
35
|
-
fixed
|
|
36
|
-
}));
|
|
37
|
-
on.change([...updatedFixed, ...dndItems.map(({ id, label, enabled }) => ({ id, label, enabled }))]);
|
|
38
|
-
};
|
|
39
|
-
</script>
|
|
40
|
-
|
|
41
|
-
<div class="reorderable-toggle-list">
|
|
42
|
-
{#each fixedItems as item (item.id)}
|
|
43
|
-
<div class="reorderable-toggle-list__item">
|
|
44
|
-
<div class="reorderable-toggle-list__drag-handle reorderable-toggle-list__drag-handle--hidden">
|
|
45
|
-
<Icon src={IconReorderDotsVertical} />
|
|
46
|
-
</div>
|
|
47
|
-
<div class="reorderable-toggle-list__label">
|
|
48
|
-
{item.label}
|
|
49
|
-
</div>
|
|
50
|
-
<div class="reorderable-toggle-list__toggle">
|
|
51
|
-
<Toggle
|
|
52
|
-
checked={item.enabled}
|
|
53
|
-
on={{
|
|
54
|
-
change: (value) => handleFixedToggle(item.id, value)
|
|
55
|
-
}} />
|
|
56
|
-
</div>
|
|
57
|
-
</div>
|
|
58
|
-
{/each}
|
|
59
|
-
<div
|
|
60
|
-
class="reorderable-toggle-list__dnd"
|
|
61
|
-
use:dndzone={{
|
|
62
|
-
items: dndItems,
|
|
63
|
-
dropTargetStyle: {},
|
|
64
|
-
flipDurationMs,
|
|
65
|
-
morphDisabled: true
|
|
66
|
-
}}
|
|
67
|
-
onconsider={handleConsider}
|
|
68
|
-
onfinalize={handleFinalize}>
|
|
69
|
-
{#each dndItems as item (item.id)}
|
|
70
|
-
<div class="reorderable-toggle-list__item" animate:flip={{ duration: flipDurationMs }}>
|
|
71
|
-
<div class="reorderable-toggle-list__drag-handle">
|
|
72
|
-
<Icon src={IconReorderDotsVertical} />
|
|
73
|
-
</div>
|
|
74
|
-
<div class="reorderable-toggle-list__label">
|
|
75
|
-
{item.label}
|
|
76
|
-
</div>
|
|
77
|
-
<div class="reorderable-toggle-list__toggle">
|
|
78
|
-
<Toggle
|
|
79
|
-
checked={item.enabled}
|
|
80
|
-
on={{
|
|
81
|
-
change: (value) => handleToggle(item.id, value)
|
|
82
|
-
}} />
|
|
83
|
-
</div>
|
|
84
|
-
</div>
|
|
85
|
-
{/each}
|
|
86
|
-
</div>
|
|
87
|
-
</div>
|
|
88
|
-
|
|
89
|
-
<!--
|
|
90
|
-
@component
|
|
91
|
-
A reorderable list of toggle items with drag-and-drop support. Fixed items appear above the reorderable zone.
|
|
92
|
-
|
|
93
|
-
### CSS Custom Properties
|
|
94
|
-
| Property | Description | Default |
|
|
95
|
-
|---|---|---|
|
|
96
|
-
| `--sc-kit--reorderable-toggle-list--label--color` | Label text color | `var(--sc-kit--color--text--primary)` |
|
|
97
|
-
| `--sc-kit--reorderable-toggle-list--handle--color` | Drag handle icon color | `var(--sc-kit--color--text--secondary)` |
|
|
98
|
-
| `--sc-kit--reorderable-toggle-list--handle--background` | Drag handle background | `var(--sc-kit--color--bg--element)` |
|
|
99
|
-
-->
|
|
100
|
-
|
|
101
|
-
<style>.reorderable-toggle-list {
|
|
102
|
-
--_reorderable-toggle-list--label--color: var(--sc-kit--reorderable-toggle-list--label--color, var(--sc-kit--color--text--primary));
|
|
103
|
-
--_reorderable-toggle-list--handle--color: var(--sc-kit--reorderable-toggle-list--handle--color, var(--sc-kit--color--text--secondary));
|
|
104
|
-
--_reorderable-toggle-list--handle--background: var(--sc-kit--reorderable-toggle-list--handle--background, var(--sc-kit--color--bg--element));
|
|
105
|
-
display: flex;
|
|
106
|
-
flex-direction: column;
|
|
107
|
-
gap: var(--sc-kit--space--3);
|
|
108
|
-
}
|
|
109
|
-
.reorderable-toggle-list__dnd {
|
|
110
|
-
display: flex;
|
|
111
|
-
flex-direction: column;
|
|
112
|
-
gap: var(--sc-kit--space--3);
|
|
113
|
-
}
|
|
114
|
-
.reorderable-toggle-list__item {
|
|
115
|
-
display: flex;
|
|
116
|
-
align-items: center;
|
|
117
|
-
gap: var(--sc-kit--space--3);
|
|
118
|
-
padding: var(--sc-kit--space--1) var(--sc-kit--space--2);
|
|
119
|
-
}
|
|
120
|
-
.reorderable-toggle-list__drag-handle {
|
|
121
|
-
--sc-kit--icon--size: 1rem;
|
|
122
|
-
--sc-kit--icon--color: var(--_reorderable-toggle-list--handle--color);
|
|
123
|
-
display: flex;
|
|
124
|
-
align-items: center;
|
|
125
|
-
justify-content: center;
|
|
126
|
-
height: 1.375rem;
|
|
127
|
-
padding-inline: 0.1875rem;
|
|
128
|
-
border-radius: var(--sc-kit--radius--sm) 0 0 var(--sc-kit--radius--sm);
|
|
129
|
-
cursor: grab;
|
|
130
|
-
background: var(--_reorderable-toggle-list--handle--background);
|
|
131
|
-
}
|
|
132
|
-
.reorderable-toggle-list__drag-handle:active {
|
|
133
|
-
cursor: grabbing;
|
|
134
|
-
}
|
|
135
|
-
.reorderable-toggle-list__drag-handle--hidden {
|
|
136
|
-
visibility: hidden;
|
|
137
|
-
}
|
|
138
|
-
.reorderable-toggle-list__label {
|
|
139
|
-
flex: 1;
|
|
140
|
-
min-width: 0;
|
|
141
|
-
font-size: var(--sc-kit--font-size--md);
|
|
142
|
-
font-weight: var(--sc-kit--font-weight--regular);
|
|
143
|
-
line-height: var(--sc-kit--line-height--md);
|
|
144
|
-
color: var(--_reorderable-toggle-list--label--color);
|
|
145
|
-
text-overflow: ellipsis;
|
|
146
|
-
max-width: 100%;
|
|
147
|
-
white-space: nowrap;
|
|
148
|
-
overflow: hidden;
|
|
149
|
-
}
|
|
150
|
-
.reorderable-toggle-list__toggle {
|
|
151
|
-
flex-shrink: 0;
|
|
152
|
-
margin-left: auto;
|
|
153
|
-
}</style>
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import type { ReorderableToggleItem } from './types';
|
|
2
|
-
type Props = {
|
|
3
|
-
items: ReorderableToggleItem[];
|
|
4
|
-
on: {
|
|
5
|
-
change: (items: ReorderableToggleItem[]) => void;
|
|
6
|
-
};
|
|
7
|
-
};
|
|
8
|
-
/**
|
|
9
|
-
* A reorderable list of toggle items with drag-and-drop support. Fixed items appear above the reorderable zone.
|
|
10
|
-
*
|
|
11
|
-
* ### CSS Custom Properties
|
|
12
|
-
* | Property | Description | Default |
|
|
13
|
-
* |---|---|---|
|
|
14
|
-
* | `--sc-kit--reorderable-toggle-list--label--color` | Label text color | `var(--sc-kit--color--text--primary)` |
|
|
15
|
-
* | `--sc-kit--reorderable-toggle-list--handle--color` | Drag handle icon color | `var(--sc-kit--color--text--secondary)` |
|
|
16
|
-
* | `--sc-kit--reorderable-toggle-list--handle--background` | Drag handle background | `var(--sc-kit--color--bg--element)` |
|
|
17
|
-
*/
|
|
18
|
-
declare const Cmp: import("svelte").Component<Props, {}, "">;
|
|
19
|
-
type Cmp = ReturnType<typeof Cmp>;
|
|
20
|
-
export default Cmp;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
<script lang="ts">import { Checkbox } from '../checkbox';
|
|
2
|
-
const { checked, children, on } = $props();
|
|
3
|
-
</script>
|
|
4
|
-
|
|
5
|
-
<div class="toolbar-checkbox-item">
|
|
6
|
-
<Checkbox checked={checked} label={children} on={{ change: (value) => on?.change?.(value) }} />
|
|
7
|
-
</div>
|
|
8
|
-
|
|
9
|
-
<!--
|
|
10
|
-
@component
|
|
11
|
-
A checkbox item for toolbar panels. Wraps the kit Checkbox with toolbar-appropriate sizing.
|
|
12
|
-
-->
|
|
13
|
-
|
|
14
|
-
<style>.toolbar-checkbox-item {
|
|
15
|
-
padding: var(--sc-kit--space--1) var(--sc-kit--space--2);
|
|
16
|
-
overflow: hidden;
|
|
17
|
-
--sc-kit--checkbox--gap: var(--sc-kit--space--5);
|
|
18
|
-
--sc-kit--checkbox--icon--size: 1.125rem;
|
|
19
|
-
}</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 checkbox item for toolbar panels. Wraps the kit Checkbox with toolbar-appropriate sizing. */
|
|
10
|
-
declare const Cmp: import("svelte").Component<Props, {}, "">;
|
|
11
|
-
type Cmp = ReturnType<typeof Cmp>;
|
|
12
|
-
export default Cmp;
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
<script lang="ts">const { children, on } = $props();
|
|
2
|
-
export {};
|
|
3
|
-
</script>
|
|
4
|
-
|
|
5
|
-
<button type="button" class="toolbar-panel-button" onclick={() => on?.click?.()}>
|
|
6
|
-
{@render children()}
|
|
7
|
-
</button>
|
|
8
|
-
|
|
9
|
-
<!--
|
|
10
|
-
@component
|
|
11
|
-
A text-row button for toolbar panels / popovers (rendered inside `<ToolbarPanel>` / `<ToolbarPopover>`).
|
|
12
|
-
For the toolbar's primary action area use `<ToolbarButton>` instead.
|
|
13
|
-
|
|
14
|
-
### CSS Custom Properties
|
|
15
|
-
| Property | Description | Default |
|
|
16
|
-
|---|---|---|
|
|
17
|
-
| `--sc-kit--toolbar-panel-button--color` | Text color | `var(--sc-kit--color--text--primary)` |
|
|
18
|
-
| `--sc-kit--toolbar-panel-button--color-hover` | Text color on hover | `var(--sc-kit--color--accent)` |
|
|
19
|
-
-->
|
|
20
|
-
|
|
21
|
-
<style>.toolbar-panel-button {
|
|
22
|
-
--_toolbar-panel-button--color: var(--sc-kit--toolbar-panel-button--color, var(--sc-kit--color--text--primary));
|
|
23
|
-
--_toolbar-panel-button--color-hover: var(--sc-kit--toolbar-panel-button--color-hover, var(--sc-kit--color--accent));
|
|
24
|
-
appearance: none;
|
|
25
|
-
background: transparent;
|
|
26
|
-
border: 0;
|
|
27
|
-
text-align: inherit;
|
|
28
|
-
cursor: pointer;
|
|
29
|
-
font-size: var(--sc-kit--font-size--md);
|
|
30
|
-
font-weight: var(--sc-kit--font-weight--regular);
|
|
31
|
-
line-height: var(--sc-kit--line-height--md);
|
|
32
|
-
color: var(--_toolbar-panel-button--color);
|
|
33
|
-
padding: var(--sc-kit--space--1) var(--sc-kit--space--2);
|
|
34
|
-
max-width: 100%;
|
|
35
|
-
text-overflow: ellipsis;
|
|
36
|
-
max-width: 100%;
|
|
37
|
-
white-space: nowrap;
|
|
38
|
-
overflow: hidden;
|
|
39
|
-
}
|
|
40
|
-
.toolbar-panel-button:hover {
|
|
41
|
-
color: var(--_toolbar-panel-button--color-hover);
|
|
42
|
-
}</style>
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import type { Snippet } from 'svelte';
|
|
2
|
-
type Props = {
|
|
3
|
-
children: Snippet;
|
|
4
|
-
on?: {
|
|
5
|
-
click?: () => void;
|
|
6
|
-
};
|
|
7
|
-
};
|
|
8
|
-
/**
|
|
9
|
-
* A text-row button for toolbar panels / popovers (rendered inside `<ToolbarPanel>` / `<ToolbarPopover>`).
|
|
10
|
-
* For the toolbar's primary action area use `<ToolbarButton>` instead.
|
|
11
|
-
*
|
|
12
|
-
* ### CSS Custom Properties
|
|
13
|
-
* | Property | Description | Default |
|
|
14
|
-
* |---|---|---|
|
|
15
|
-
* | `--sc-kit--toolbar-panel-button--color` | Text color | `var(--sc-kit--color--text--primary)` |
|
|
16
|
-
* | `--sc-kit--toolbar-panel-button--color-hover` | Text color on hover | `var(--sc-kit--color--accent)` |
|
|
17
|
-
*/
|
|
18
|
-
declare const Cmp: import("svelte").Component<Props, {}, "">;
|
|
19
|
-
type Cmp = ReturnType<typeof Cmp>;
|
|
20
|
-
export default Cmp;
|
|
@@ -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;
|