fluentui-svelte 0.2.0 → 0.3.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/components/auto-suggest-box/auto-suggest-box.svelte +68 -56
- package/dist/components/auto-suggest-box/docs/llms.md +46 -14
- package/dist/components/auto-suggest-box/option.svelte +2 -1
- package/dist/components/avatar/docs/llms.md +20 -14
- package/dist/components/badge/docs/llms.md +29 -16
- package/dist/components/button/button.svelte +11 -5
- package/dist/components/button/docs/llms.md +33 -24
- package/dist/components/calendar-date-picker/docs/llms.md +17 -7
- package/dist/components/calendar-view/calendar-view-header.svelte +2 -2
- package/dist/components/calendar-view/calendar-view-header.svelte.d.ts +2 -17
- package/dist/components/calendar-view/calendar-view-months.svelte +1 -1
- package/dist/components/calendar-view/calendar-view-years.svelte +1 -1
- package/dist/components/calendar-view/calendar-view.svelte +66 -52
- package/dist/components/calendar-view/docs/llms.md +42 -30
- package/dist/components/card/docs/llms.md +54 -34
- package/dist/components/checkbox/docs/llms.md +18 -12
- package/dist/components/date-picker/docs/llms.md +25 -15
- package/dist/components/dialog/dialog-surface.svelte +8 -8
- package/dist/components/dialog/dialog.svelte +41 -39
- package/dist/components/dialog/docs/llms.md +59 -34
- package/dist/components/divider/docs/llms.md +14 -9
- package/dist/components/dropdown/docs/llms.md +34 -15
- package/dist/components/dropdown/dropdown.svelte +4 -2
- package/dist/components/dropdown-select/docs/llms.md +28 -14
- package/dist/components/expander/docs/llms.md +19 -12
- package/dist/components/flyout/docs/llms.md +17 -11
- package/dist/components/hyperlink/docs/llms.md +11 -7
- package/dist/components/info-bar/docs/llms.md +15 -9
- package/dist/components/label/docs/llms.md +15 -11
- package/dist/components/list-view/docs/llms.md +34 -24
- package/dist/components/list-view/list-view-item.svelte +10 -4
- package/dist/components/list-view/list-view.svelte +68 -63
- package/dist/components/menu/context-menu-trigger.svelte +45 -40
- package/dist/components/menu/docs/llms.md +63 -34
- package/dist/components/menu/menu-item-checkbox.svelte +3 -1
- package/dist/components/menu/menu-item-radio.svelte +3 -1
- package/dist/components/menu/menu-item-switch.svelte +3 -1
- package/dist/components/menu/menu-item.svelte +5 -1
- package/dist/components/menu/menu-popover.svelte +21 -10
- package/dist/components/menu/menu-trigger.svelte +22 -9
- package/dist/components/menu/menu.svelte +98 -87
- package/dist/components/number-box/docs/llms.md +10 -6
- package/dist/components/persona/docs/llms.md +19 -14
- package/dist/components/progress-bar/docs/llms.md +18 -10
- package/dist/components/progress-ring/docs/llms.md +19 -12
- package/dist/components/radio-button/docs/llms.md +13 -8
- package/dist/components/skeleton/docs/llms.md +13 -8
- package/dist/components/slider/docs/llms.md +33 -21
- package/dist/components/slider/slider.svelte +13 -11
- package/dist/components/table/docs/llms.md +531 -0
- package/dist/components/table/table-body.svelte +31 -0
- package/dist/components/table/table-body.svelte.d.ts +25 -0
- package/dist/components/table/table-cell-actions.svelte +48 -0
- package/dist/components/table/table-cell-actions.svelte.d.ts +17 -0
- package/dist/components/table/table-cell-layout.svelte +88 -0
- package/dist/components/table/table-cell-layout.svelte.d.ts +14 -0
- package/dist/components/table/table-cell.svelte +74 -0
- package/dist/components/table/table-cell.svelte.d.ts +25 -0
- package/dist/components/table/table-header-cell.svelte +257 -0
- package/dist/components/table/table-header-cell.svelte.d.ts +25 -0
- package/dist/components/table/table-header.svelte +28 -0
- package/dist/components/table/table-header.svelte.d.ts +25 -0
- package/dist/components/table/table-row.svelte +57 -0
- package/dist/components/table/table-row.svelte.d.ts +25 -0
- package/dist/components/table/table-selection-cell.svelte +89 -0
- package/dist/components/table/table-selection-cell.svelte.d.ts +25 -0
- package/dist/components/table/table.svelte +189 -0
- package/dist/components/table/table.svelte.d.ts +49 -0
- package/dist/components/table/table.svelte.js +138 -0
- package/dist/components/table/types.d.ts +287 -0
- package/dist/components/table/types.js +1 -0
- package/dist/components/text-box/docs/llms.md +23 -17
- package/dist/components/textarea/docs/llms.md +16 -7
- package/dist/components/time-picker/docs/llms.md +20 -10
- package/dist/components/toggle-switch/docs/llms.md +13 -9
- package/dist/components/tooltip/docs/llms.md +24 -10
- package/dist/components/tree-view/docs/llms.md +53 -35
- package/dist/components/tree-view/tree-view-item-content.svelte +1 -1
- package/dist/components/tree-view/tree-view-item.svelte +3 -3
- package/dist/components/tree-view/tree-view.svelte +89 -93
- package/dist/index.d.ts +9 -0
- package/dist/index.js +11 -0
- package/dist/providers/fluentui-svelte/fluentui-svelte.svelte +15 -15
- package/package.json +1 -1
|
@@ -40,9 +40,9 @@
|
|
|
40
40
|
|
|
41
41
|
const { config, methods } = context;
|
|
42
42
|
|
|
43
|
-
const
|
|
43
|
+
const size = $derived(config.size);
|
|
44
44
|
|
|
45
|
-
const itemState: TreeViewItemContext = {
|
|
45
|
+
const itemState: TreeViewItemContext = $state({
|
|
46
46
|
get disabled() {
|
|
47
47
|
return itemContext?.disabled ?? disabled;
|
|
48
48
|
},
|
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
set indeterminate(v) {
|
|
80
80
|
indeterminate = v;
|
|
81
81
|
}
|
|
82
|
-
};
|
|
82
|
+
});
|
|
83
83
|
|
|
84
84
|
setTreeViewItemContext(itemState);
|
|
85
85
|
|
|
@@ -35,106 +35,102 @@
|
|
|
35
35
|
...attributes
|
|
36
36
|
}: TreeViewProps = $props();
|
|
37
37
|
|
|
38
|
-
const config: TreeViewContext['config'] = $derived({
|
|
39
|
-
navigationMode: CONTEXT?.config.navigationMode || navigationMode,
|
|
40
|
-
size: CONTEXT?.config.size || size,
|
|
41
|
-
virtualized: CONTEXT?.config.virtualized ?? !!virtualizer,
|
|
42
|
-
virtualCount: CONTEXT?.config.virtualCount ?? virtualizer?.size
|
|
43
|
-
});
|
|
44
|
-
|
|
45
38
|
let forceVirtualRender = $state(false);
|
|
46
39
|
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
get forceVirtualRender() {
|
|
61
|
-
return CONTEXT?.state.forceVirtualRender ?? forceVirtualRender;
|
|
62
|
-
},
|
|
63
|
-
set forceVirtualRender(v) {
|
|
64
|
-
if (CONTEXT?.state.forceVirtualRender) {
|
|
65
|
-
CONTEXT.state.forceVirtualRender = v;
|
|
66
|
-
} else {
|
|
67
|
-
forceVirtualRender = v;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
const events: TreeViewContext['events'] = $derived({
|
|
73
|
-
onCheckedChange: CONTEXT?.events.onCheckedChange ?? ((e, data) => onCheckedChange?.(e, data)),
|
|
74
|
-
onOpenChange: CONTEXT?.events.onOpenChange ?? ((e, data) => onOpenChange?.(e, data))
|
|
75
|
-
});
|
|
76
|
-
|
|
77
|
-
const methods: TreeViewContext['methods'] = {
|
|
78
|
-
handleCheck: async (e, id, checked) => {
|
|
79
|
-
if (virtualizer) {
|
|
80
|
-
_state.forceVirtualRender = true;
|
|
81
|
-
await tick();
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
if (_state.selectionMode === 'single') {
|
|
85
|
-
traversalSyncSingleSelection(id, _state.TREE_NODES, checkedItems);
|
|
86
|
-
return;
|
|
40
|
+
const treeViewContext: TreeViewContext = $state({
|
|
41
|
+
config: {
|
|
42
|
+
get navigationMode() {
|
|
43
|
+
return CONTEXT?.config.navigationMode || navigationMode;
|
|
44
|
+
},
|
|
45
|
+
get size() {
|
|
46
|
+
return CONTEXT?.config.size || size;
|
|
47
|
+
},
|
|
48
|
+
get virtualized() {
|
|
49
|
+
return CONTEXT?.config.virtualized ?? !!virtualizer;
|
|
50
|
+
},
|
|
51
|
+
get virtualCount() {
|
|
52
|
+
return CONTEXT?.config.virtualCount ?? virtualizer?.size;
|
|
87
53
|
}
|
|
88
|
-
|
|
89
|
-
traversalSync(id, _state.TREE_NODES, checkedItems, checked);
|
|
90
54
|
},
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
openItems
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
_state.forceVirtualRender = false;
|
|
55
|
+
state: {
|
|
56
|
+
get openItems() {
|
|
57
|
+
return openItems;
|
|
58
|
+
},
|
|
59
|
+
get checkedItems() {
|
|
60
|
+
return checkedItems;
|
|
61
|
+
},
|
|
62
|
+
get selectionMode() {
|
|
63
|
+
return selectionMode;
|
|
64
|
+
},
|
|
65
|
+
get TREE_NODES() {
|
|
66
|
+
return CONTEXT?.state.TREE_NODES ?? TREE_NODES;
|
|
67
|
+
},
|
|
68
|
+
get forceVirtualRender() {
|
|
69
|
+
return CONTEXT?.state.forceVirtualRender ?? forceVirtualRender;
|
|
70
|
+
},
|
|
71
|
+
set forceVirtualRender(v) {
|
|
72
|
+
if (CONTEXT) {
|
|
73
|
+
CONTEXT.state.forceVirtualRender = v;
|
|
74
|
+
} else {
|
|
75
|
+
forceVirtualRender = v;
|
|
76
|
+
}
|
|
114
77
|
}
|
|
115
78
|
},
|
|
116
|
-
|
|
117
|
-
|
|
79
|
+
events: {
|
|
80
|
+
onCheckedChange: CONTEXT?.events.onCheckedChange ?? ((e, data) => onCheckedChange?.(e, data)),
|
|
81
|
+
onOpenChange: CONTEXT?.events.onOpenChange ?? ((e, data) => onOpenChange?.(e, data))
|
|
118
82
|
},
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
83
|
+
methods: {
|
|
84
|
+
handleCheck: async (e, id, checked) => {
|
|
85
|
+
const { state } = treeViewContext;
|
|
86
|
+
|
|
87
|
+
if (virtualizer) {
|
|
88
|
+
state.forceVirtualRender = true;
|
|
89
|
+
await tick();
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
if (selectionMode === 'single') {
|
|
93
|
+
traversalSyncSingleSelection(id, state.TREE_NODES, checkedItems);
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
traversalSync(id, state.TREE_NODES, checkedItems, checked);
|
|
98
|
+
},
|
|
99
|
+
openItem: (e, id) => {
|
|
100
|
+
if (openItems instanceof SvelteSet) {
|
|
101
|
+
openItems.add(id);
|
|
102
|
+
} else {
|
|
103
|
+
openItems = [...openItems, id];
|
|
104
|
+
}
|
|
105
|
+
const node = treeViewContext.state.TREE_NODES.get(id)!;
|
|
106
|
+
|
|
107
|
+
node.open = true;
|
|
108
|
+
},
|
|
109
|
+
closeItem: (e, id) => {
|
|
110
|
+
const { state } = treeViewContext;
|
|
111
|
+
|
|
112
|
+
if (openItems instanceof SvelteSet) {
|
|
113
|
+
openItems.delete(id);
|
|
114
|
+
} else {
|
|
115
|
+
openItems = openItems.filter((itemId) => itemId !== id);
|
|
116
|
+
}
|
|
117
|
+
const node = state.TREE_NODES.get(id)!;
|
|
118
|
+
|
|
119
|
+
node.open = false;
|
|
120
|
+
|
|
121
|
+
// If
|
|
122
|
+
if (virtualizer && state.forceVirtualRender) {
|
|
123
|
+
state.forceVirtualRender = false;
|
|
124
|
+
}
|
|
125
|
+
},
|
|
126
|
+
registerItem: (node) => {
|
|
127
|
+
treeViewContext.state.TREE_NODES.set(node.id, node);
|
|
128
|
+
},
|
|
129
|
+
unregisterItem: (id) => {
|
|
130
|
+
treeViewContext.state.TREE_NODES.delete(id);
|
|
131
|
+
}
|
|
136
132
|
}
|
|
137
|
-
};
|
|
133
|
+
});
|
|
138
134
|
|
|
139
135
|
setTreeViewContext(treeViewContext);
|
|
140
136
|
|
|
@@ -194,7 +190,7 @@
|
|
|
194
190
|
</script>
|
|
195
191
|
|
|
196
192
|
<!-- Render only when necessary (virtualizer perf) -->
|
|
197
|
-
{#if
|
|
193
|
+
{#if treeViewContext.state.forceVirtualRender || (treeViewContext.config.virtualized && (!IS_SUB_TREE || ITEM_CONTEXT?.open)) || !treeViewContext.config.virtualized}
|
|
198
194
|
<ul
|
|
199
195
|
class="fs-tree-view"
|
|
200
196
|
role={IS_SUB_TREE ? 'group' : 'tree'}
|
package/dist/index.d.ts
CHANGED
|
@@ -55,6 +55,15 @@ export { default as ProgressRing } from './components/progress-ring/progress-rin
|
|
|
55
55
|
export { default as RadioButton } from './components/radio-button/radio-button.svelte';
|
|
56
56
|
export { default as Skeleton } from './components/skeleton/skeleton.svelte';
|
|
57
57
|
export { default as Slider } from './components/slider/slider.svelte';
|
|
58
|
+
export { default as Table } from './components/table/table.svelte';
|
|
59
|
+
export { default as TableHeader } from './components/table/table-header.svelte';
|
|
60
|
+
export { default as TableHeaderCell } from './components/table/table-header-cell.svelte';
|
|
61
|
+
export { default as TableBody } from './components/table/table-body.svelte';
|
|
62
|
+
export { default as TableRow } from './components/table/table-row.svelte';
|
|
63
|
+
export { default as TableCell } from './components/table/table-cell.svelte';
|
|
64
|
+
export { default as TableSelectionCell } from './components/table/table-selection-cell.svelte';
|
|
65
|
+
export { default as TableCellLayout } from './components/table/table-cell-layout.svelte';
|
|
66
|
+
export { default as TableCellActions } from './components/table/table-cell-actions.svelte';
|
|
58
67
|
export { default as TextArea } from './components/textarea/textarea.svelte';
|
|
59
68
|
export { default as TextBox } from './components/text-box/text-box.svelte';
|
|
60
69
|
export { default as TextBoxButton } from './components/text-box/text-box-button.svelte';
|
package/dist/index.js
CHANGED
|
@@ -109,6 +109,17 @@ export { default as Skeleton } from './components/skeleton/skeleton.svelte';
|
|
|
109
109
|
// Start Slider Component
|
|
110
110
|
export { default as Slider } from './components/slider/slider.svelte';
|
|
111
111
|
// End Slider Component
|
|
112
|
+
// Start Table Component
|
|
113
|
+
export { default as Table } from './components/table/table.svelte';
|
|
114
|
+
export { default as TableHeader } from './components/table/table-header.svelte';
|
|
115
|
+
export { default as TableHeaderCell } from './components/table/table-header-cell.svelte';
|
|
116
|
+
export { default as TableBody } from './components/table/table-body.svelte';
|
|
117
|
+
export { default as TableRow } from './components/table/table-row.svelte';
|
|
118
|
+
export { default as TableCell } from './components/table/table-cell.svelte';
|
|
119
|
+
export { default as TableSelectionCell } from './components/table/table-selection-cell.svelte';
|
|
120
|
+
export { default as TableCellLayout } from './components/table/table-cell-layout.svelte';
|
|
121
|
+
export { default as TableCellActions } from './components/table/table-cell-actions.svelte';
|
|
122
|
+
// End Table Component
|
|
112
123
|
// Start TextArea Component
|
|
113
124
|
export { default as TextArea } from './components/textarea/textarea.svelte';
|
|
114
125
|
// End TextArea Component
|
|
@@ -20,21 +20,19 @@
|
|
|
20
20
|
// Syncing
|
|
21
21
|
let reducedMotion = $derived(userReducedMotion.current ?? prefersReducedMotion.current);
|
|
22
22
|
|
|
23
|
-
const
|
|
24
|
-
get tabspotInstance() {
|
|
25
|
-
return tabspotInstance;
|
|
26
|
-
},
|
|
27
|
-
get reducedMotion() {
|
|
28
|
-
return reducedMotion;
|
|
29
|
-
},
|
|
30
|
-
get theme() {
|
|
31
|
-
return mode.current;
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
setGlobalFSContext({
|
|
23
|
+
const context: FSProviderContext = $state({
|
|
36
24
|
config: null,
|
|
37
|
-
state:
|
|
25
|
+
state: {
|
|
26
|
+
get tabspotInstance() {
|
|
27
|
+
return tabspotInstance;
|
|
28
|
+
},
|
|
29
|
+
get reducedMotion() {
|
|
30
|
+
return reducedMotion;
|
|
31
|
+
},
|
|
32
|
+
get theme() {
|
|
33
|
+
return mode.current;
|
|
34
|
+
}
|
|
35
|
+
},
|
|
38
36
|
events: null,
|
|
39
37
|
methods: {
|
|
40
38
|
setReducedMotion: (value) => {
|
|
@@ -46,6 +44,8 @@
|
|
|
46
44
|
}
|
|
47
45
|
});
|
|
48
46
|
|
|
47
|
+
setGlobalFSContext(context);
|
|
48
|
+
|
|
49
49
|
onMount(() => {
|
|
50
50
|
tabspotInstance ??= tabspot();
|
|
51
51
|
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
$effect(() => {
|
|
58
58
|
const root = document.documentElement;
|
|
59
59
|
|
|
60
|
-
root.dataset.fsReducedMotion = String(
|
|
60
|
+
root.dataset.fsReducedMotion = String(context.state.reducedMotion);
|
|
61
61
|
|
|
62
62
|
return () => {
|
|
63
63
|
delete root.dataset.fsReducedMotion;
|