@iris-ui-kit/vue 0.2.37 → 0.2.39
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/admin.cjs +1 -1
- package/dist/admin.cjs.map +1 -1
- package/dist/admin.js +3 -3
- package/dist/chunk-5Q3JCKNE.js +380 -0
- package/dist/chunk-5Q3JCKNE.js.map +1 -0
- package/dist/{chunk-FZI5BGWH.js → chunk-IFRH33BT.js} +5 -5
- package/dist/chunk-IFRH33BT.js.map +1 -0
- package/dist/{chunk-S43IHHBU.js → chunk-U635XRYU.js} +27 -8
- package/dist/chunk-U635XRYU.js.map +1 -0
- package/dist/grid.cjs +398 -0
- package/dist/grid.cjs.map +1 -0
- package/dist/grid.d.cts +184 -0
- package/dist/grid.d.ts +184 -0
- package/dist/grid.js +4 -0
- package/dist/grid.js.map +1 -0
- package/dist/index.cjs +1858 -386
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +123 -30
- package/dist/index.d.ts +123 -30
- package/dist/index.js +1456 -386
- package/dist/index.js.map +1 -1
- package/dist/layouts.d.cts +2 -2
- package/dist/layouts.d.ts +2 -2
- package/dist/motion.cjs +24 -5
- package/dist/motion.cjs.map +1 -1
- package/dist/motion.d.cts +1 -1
- package/dist/motion.d.ts +1 -1
- package/dist/motion.js +1 -1
- package/package.json +7 -2
- package/dist/chunk-FZI5BGWH.js.map +0 -1
- package/dist/chunk-S43IHHBU.js.map +0 -1
package/dist/admin.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export { IrisAdminBreadcrumb, IrisAdminLayout, IrisAdminTabs, IrisNavMenu, createAdminPreferences, createTabsNav, filterNavByAccess, findNavNode, findNavPath, firstLeaf, flattenNav, isBranch, isClosable, localStorageAdminPreferencesStorage, nodeAllowsRoles, useAdminPreferences, useAdminShell, useTabsNav, visibleNav } from './chunk-
|
|
1
|
+
export { IrisAdminBreadcrumb, IrisAdminLayout, IrisAdminTabs, IrisNavMenu, createAdminPreferences, createTabsNav, filterNavByAccess, findNavNode, findNavPath, firstLeaf, flattenNav, isBranch, isClosable, localStorageAdminPreferencesStorage, nodeAllowsRoles, useAdminPreferences, useAdminShell, useTabsNav, visibleNav } from './chunk-IFRH33BT.js';
|
|
2
2
|
import './chunk-IPR5JAVF.js';
|
|
3
3
|
import './chunk-NNOF7KUH.js';
|
|
4
|
+
import './chunk-ZTPIXL7Q.js';
|
|
4
5
|
import './chunk-F77KIPOH.js';
|
|
5
6
|
import './chunk-3V46HGRC.js';
|
|
6
|
-
import './chunk-ZTPIXL7Q.js';
|
|
7
7
|
import './chunk-W3B6E5GN.js';
|
|
8
|
-
import './chunk-75GSYEJS.js';
|
|
9
8
|
import './chunk-TCAXRWT6.js';
|
|
9
|
+
import './chunk-75GSYEJS.js';
|
|
10
10
|
//# sourceMappingURL=admin.js.map
|
|
11
11
|
//# sourceMappingURL=admin.js.map
|
|
@@ -0,0 +1,380 @@
|
|
|
1
|
+
import { useStore } from './chunk-75GSYEJS.js';
|
|
2
|
+
import { shallowRef, computed, onMounted, onBeforeUnmount, watch } from 'vue';
|
|
3
|
+
import { createGridClipboardFeature, createGridRangeFeature, createGridCore, createGridEditingFeature, createGridSelectionFeature, createGridExpansionFeature, createGridRowsFeature, createGridColumnsFeature, createGridPaginationFeature, createGridSortingFeature, createGridFilteringFeature, createGridVirtualFeature } from '@iris-ui-kit/core/grid';
|
|
4
|
+
|
|
5
|
+
function defaultValue(row, column) {
|
|
6
|
+
return row[column.dataIndex ?? column.key];
|
|
7
|
+
}
|
|
8
|
+
function defaultSetValue(row, column, value) {
|
|
9
|
+
return { ...row, [column.dataIndex ?? column.key]: value };
|
|
10
|
+
}
|
|
11
|
+
function useGridClipboard(core, options) {
|
|
12
|
+
const latest = shallowRef(options);
|
|
13
|
+
if (!core.hasFeature("clipboard")) {
|
|
14
|
+
core.use(
|
|
15
|
+
createGridClipboardFeature({
|
|
16
|
+
getRows: () => latest.value.getRows?.() ?? core.invoke("getRows"),
|
|
17
|
+
getColumns: () => latest.value.getColumns(),
|
|
18
|
+
rowKeyField: latest.value.rowKeyField,
|
|
19
|
+
overflowRows: (context) => latest.value.overflowRows?.(context),
|
|
20
|
+
resolveValue: (row, column) => {
|
|
21
|
+
const resolve = latest.value.resolveValue;
|
|
22
|
+
return resolve ? resolve(row, column) : defaultValue(row, column);
|
|
23
|
+
},
|
|
24
|
+
parseValue: (text, row, column) => {
|
|
25
|
+
const parse = latest.value.parseValue;
|
|
26
|
+
return parse ? parse(text, row, column) : text;
|
|
27
|
+
},
|
|
28
|
+
setValue: (row, column, value) => latest.value.setValue?.(row, column, value) ?? defaultSetValue(row, column, value),
|
|
29
|
+
isCellEditable: (row, column, rowIndex, columnIndex) => latest.value.isCellEditable?.(row, column, rowIndex, columnIndex) ?? true,
|
|
30
|
+
reconcileRows: (sourceRows, previousRows, rows) => latest.value.reconcileRows?.(sourceRows, previousRows, rows) ?? rows,
|
|
31
|
+
commitOptions: () => {
|
|
32
|
+
const configured = latest.value.commitOptions;
|
|
33
|
+
return typeof configured === "function" ? configured() : configured ?? {};
|
|
34
|
+
},
|
|
35
|
+
onCopy: (change) => latest.value.onCopy?.(change),
|
|
36
|
+
onPaste: (change) => latest.value.onPaste?.(change)
|
|
37
|
+
})
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
const model = core.invoke("getClipboardModel");
|
|
41
|
+
return {
|
|
42
|
+
core,
|
|
43
|
+
model,
|
|
44
|
+
serialize: (format, copyWithFormat) => model.serialize(
|
|
45
|
+
format ?? latest.value.copyFormat ?? "tsv",
|
|
46
|
+
copyWithFormat ?? latest.value.copyWithFormat ?? false
|
|
47
|
+
),
|
|
48
|
+
paste: (text, range) => model.paste(text, range)
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
function useGridFeature(core, name, method, create) {
|
|
52
|
+
if (!core.hasFeature(name)) core.use(create());
|
|
53
|
+
return core.invoke(method);
|
|
54
|
+
}
|
|
55
|
+
function useGridEditing(core, options) {
|
|
56
|
+
const latest = shallowRef(options);
|
|
57
|
+
const model = useGridFeature(
|
|
58
|
+
core,
|
|
59
|
+
"editing",
|
|
60
|
+
"getEditingModel",
|
|
61
|
+
() => createGridEditingFeature({
|
|
62
|
+
getRowKey: (row, index) => latest.value.getRowKey(row, index),
|
|
63
|
+
getRowIndex: (rowKey, row, rootRows) => latest.value.getRowIndex?.(rowKey, row, rootRows),
|
|
64
|
+
getRules: (columnKey) => latest.value.getRules?.(columnKey),
|
|
65
|
+
getValue: (row, columnKey) => latest.value.getValue?.(row, columnKey) ?? row[columnKey],
|
|
66
|
+
setValue: (row, columnKey, value) => latest.value.setValue?.(row, columnKey, value) ?? { ...row, [columnKey]: value },
|
|
67
|
+
coerce: (draft, row, columnKey) => latest.value.coerce?.(draft, row, columnKey) ?? draft,
|
|
68
|
+
validate: (value, row, columnKey) => latest.value.validate?.(value, row, columnKey) ?? null,
|
|
69
|
+
isEditable: (row, columnKey) => latest.value.isEditable?.(row, columnKey) ?? true,
|
|
70
|
+
missingRowMessage: options.missingRowMessage,
|
|
71
|
+
commitOptions: () => {
|
|
72
|
+
const configured = latest.value.commitOptions;
|
|
73
|
+
return typeof configured === "function" ? configured() : configured ?? {};
|
|
74
|
+
},
|
|
75
|
+
onStateChange: (state2) => latest.value.onStateChange?.(state2),
|
|
76
|
+
onValidation: (validation) => latest.value.onValidation?.(validation),
|
|
77
|
+
onCommit: (commit) => latest.value.onCommit?.(commit)
|
|
78
|
+
})
|
|
79
|
+
);
|
|
80
|
+
const state = useStore(model.store);
|
|
81
|
+
return {
|
|
82
|
+
core,
|
|
83
|
+
model,
|
|
84
|
+
state,
|
|
85
|
+
startCellEdit: (rowKey, columnKey, initialDraft) => model.start(rowKey, columnKey, initialDraft),
|
|
86
|
+
setCellDraft: (value) => model.setDraft(value),
|
|
87
|
+
cancelCellEdit: () => model.cancelEdit(),
|
|
88
|
+
commitCellEdit: (value) => model.commitEdit(value),
|
|
89
|
+
isCellEditing: (rowKey, columnKey) => model.isEditing(rowKey, columnKey)
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
function useGridRange(core, options = {}) {
|
|
93
|
+
const latest = shallowRef(options);
|
|
94
|
+
if (!core.hasFeature("range")) {
|
|
95
|
+
core.use(
|
|
96
|
+
createGridRangeFeature({
|
|
97
|
+
onChange: (change) => latest.value.onChange?.(change)
|
|
98
|
+
})
|
|
99
|
+
);
|
|
100
|
+
}
|
|
101
|
+
const model = core.invoke("getRangeModel");
|
|
102
|
+
const state = useStore(model);
|
|
103
|
+
const range = computed(() => {
|
|
104
|
+
const { anchor, active } = state.value;
|
|
105
|
+
if (!anchor || !active) return null;
|
|
106
|
+
return {
|
|
107
|
+
start: {
|
|
108
|
+
row: Math.min(anchor.row, active.row),
|
|
109
|
+
col: Math.min(anchor.col, active.col)
|
|
110
|
+
},
|
|
111
|
+
end: {
|
|
112
|
+
row: Math.max(anchor.row, active.row),
|
|
113
|
+
col: Math.max(anchor.col, active.col)
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
});
|
|
117
|
+
return { model, state, range };
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
// src/grid/index.ts
|
|
121
|
+
function useGridCore(options = {}) {
|
|
122
|
+
const core = createGridCore(options);
|
|
123
|
+
onMounted(() => core.ready());
|
|
124
|
+
onBeforeUnmount(() => core.destroy());
|
|
125
|
+
return core;
|
|
126
|
+
}
|
|
127
|
+
function useGridFeature2(core, name, method, create) {
|
|
128
|
+
if (!core.hasFeature(name)) core.use(create());
|
|
129
|
+
return core.invoke(method);
|
|
130
|
+
}
|
|
131
|
+
function useGridSelection(core, options = {}) {
|
|
132
|
+
const latest = shallowRef(options);
|
|
133
|
+
const model = useGridFeature2(
|
|
134
|
+
core,
|
|
135
|
+
"selection",
|
|
136
|
+
"getSelectionModel",
|
|
137
|
+
() => createGridSelectionFeature({
|
|
138
|
+
mode: options.mode,
|
|
139
|
+
defaultSelected: options.value ?? options.defaultValue,
|
|
140
|
+
getKeys: () => latest.value.getKeys?.() ?? [],
|
|
141
|
+
onChange: (keys) => latest.value.onChange?.(keys)
|
|
142
|
+
})
|
|
143
|
+
);
|
|
144
|
+
const state = useStore(model.store);
|
|
145
|
+
const controlled = computed(() => options.value !== void 0);
|
|
146
|
+
watch(
|
|
147
|
+
() => options.value,
|
|
148
|
+
(value) => {
|
|
149
|
+
if (value !== void 0) model.sync(value);
|
|
150
|
+
},
|
|
151
|
+
{ immediate: true }
|
|
152
|
+
);
|
|
153
|
+
return {
|
|
154
|
+
model,
|
|
155
|
+
controlled,
|
|
156
|
+
selection: computed(() => controlled.value ? options.value ?? [] : state.value)
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
function useGridExpansion(core, options = {}) {
|
|
160
|
+
const latest = shallowRef(options);
|
|
161
|
+
const model = useGridFeature2(
|
|
162
|
+
core,
|
|
163
|
+
"expansion",
|
|
164
|
+
"getExpansionModel",
|
|
165
|
+
() => createGridExpansionFeature({
|
|
166
|
+
mode: options.mode,
|
|
167
|
+
defaultExpanded: options.defaultValue,
|
|
168
|
+
getKeys: () => latest.value.getKeys?.() ?? [],
|
|
169
|
+
onChange: (keys) => latest.value.onChange?.(keys)
|
|
170
|
+
})
|
|
171
|
+
);
|
|
172
|
+
return { model, expandedKeys: useStore(model.store) };
|
|
173
|
+
}
|
|
174
|
+
function useGridRows(core, initialRows, options = {}) {
|
|
175
|
+
const latest = shallowRef(options);
|
|
176
|
+
const model = useGridFeature2(
|
|
177
|
+
core,
|
|
178
|
+
"rows",
|
|
179
|
+
"getRowsModel",
|
|
180
|
+
() => createGridRowsFeature({
|
|
181
|
+
defaultRows: initialRows,
|
|
182
|
+
cloneDefaultRows: options.cloneDefaultRows,
|
|
183
|
+
rowKeyField: options.rowKeyField,
|
|
184
|
+
getRowKey: (row, index) => latest.value.getRowKey?.(row, index),
|
|
185
|
+
getChildren: options.getChildren,
|
|
186
|
+
setChildren: options.setChildren,
|
|
187
|
+
onBeforeRowsChange: (tx) => latest.value.onBeforeRowsChange?.(tx),
|
|
188
|
+
onRowsChange: (tx) => latest.value.onRowsChange?.(tx)
|
|
189
|
+
})
|
|
190
|
+
);
|
|
191
|
+
return { model, rows: useStore(model.store) };
|
|
192
|
+
}
|
|
193
|
+
function useGridColumns(core, options = {}) {
|
|
194
|
+
const latest = shallowRef(options);
|
|
195
|
+
const model = useGridFeature2(
|
|
196
|
+
core,
|
|
197
|
+
"columns",
|
|
198
|
+
"getColumnsModel",
|
|
199
|
+
() => createGridColumnsFeature({
|
|
200
|
+
defaultVisibility: options.visibility ?? options.defaultVisibility,
|
|
201
|
+
defaultOrder: options.order ?? options.defaultOrder,
|
|
202
|
+
defaultWidths: options.widths ?? options.defaultWidths,
|
|
203
|
+
defaultPinned: options.pinned ?? options.defaultPinned,
|
|
204
|
+
onVisibilityChange: (v) => latest.value.onVisibilityChange?.(v),
|
|
205
|
+
onOrderChange: (v) => latest.value.onOrderChange?.(v),
|
|
206
|
+
onWidthsChange: (v) => latest.value.onWidthsChange?.(v),
|
|
207
|
+
onPinnedChange: (k, v) => latest.value.onPinnedChange?.(k, v)
|
|
208
|
+
})
|
|
209
|
+
);
|
|
210
|
+
const state = useStore(model.store);
|
|
211
|
+
watch(
|
|
212
|
+
() => options.visibility,
|
|
213
|
+
(v) => v !== void 0 && model.syncVisibility(v)
|
|
214
|
+
);
|
|
215
|
+
watch(
|
|
216
|
+
() => options.order,
|
|
217
|
+
(v) => v !== void 0 && model.syncOrder(v)
|
|
218
|
+
);
|
|
219
|
+
watch(
|
|
220
|
+
() => options.widths,
|
|
221
|
+
(v) => v !== void 0 && model.syncWidths(v)
|
|
222
|
+
);
|
|
223
|
+
watch(
|
|
224
|
+
() => options.pinned,
|
|
225
|
+
(v) => v !== void 0 && model.syncPinned(v)
|
|
226
|
+
);
|
|
227
|
+
return {
|
|
228
|
+
model,
|
|
229
|
+
state,
|
|
230
|
+
setVisibility: (v) => model.setVisibility(v),
|
|
231
|
+
toggleVisibility: (k) => model.toggleVisibility(k),
|
|
232
|
+
setOrder: (v) => model.setOrder(v),
|
|
233
|
+
clearOrder: () => model.setOrder(void 0),
|
|
234
|
+
setWidth: (k, v) => model.setWidth(k, v),
|
|
235
|
+
setWidths: (v) => model.setWidths(v),
|
|
236
|
+
resetWidths: () => model.setWidths({}),
|
|
237
|
+
setPinned: (k, v) => model.setPinned(k, v)
|
|
238
|
+
};
|
|
239
|
+
}
|
|
240
|
+
function useGridPagination(core, options = {}) {
|
|
241
|
+
const latest = shallowRef(options);
|
|
242
|
+
const model = useGridFeature2(
|
|
243
|
+
core,
|
|
244
|
+
"pagination",
|
|
245
|
+
"getPaginationModel",
|
|
246
|
+
() => createGridPaginationFeature({
|
|
247
|
+
defaultPage: options.page ?? options.defaultPage,
|
|
248
|
+
defaultPageSize: options.pageSize ?? options.defaultPageSize,
|
|
249
|
+
defaultTotal: options.total ?? options.defaultTotal,
|
|
250
|
+
onChange: (change) => latest.value.onChange?.(change)
|
|
251
|
+
})
|
|
252
|
+
);
|
|
253
|
+
const pagination = useStore(model.store);
|
|
254
|
+
watch(
|
|
255
|
+
() => [options.page, options.pageSize, options.total],
|
|
256
|
+
([page, pageSize, total]) => model.sync({ page, pageSize, total }),
|
|
257
|
+
{ immediate: true }
|
|
258
|
+
);
|
|
259
|
+
return {
|
|
260
|
+
model,
|
|
261
|
+
pagination,
|
|
262
|
+
setPage: (v) => model.setPage(v),
|
|
263
|
+
setPageSize: (v) => model.setPageSize(v),
|
|
264
|
+
setPagination: (page, size) => model.set(page, size)
|
|
265
|
+
};
|
|
266
|
+
}
|
|
267
|
+
function useGridSorting(core, options = {}) {
|
|
268
|
+
const latest = shallowRef(options);
|
|
269
|
+
const model = useGridFeature2(
|
|
270
|
+
core,
|
|
271
|
+
"sorting",
|
|
272
|
+
"getSortingModel",
|
|
273
|
+
() => createGridSortingFeature({
|
|
274
|
+
mode: options.mode,
|
|
275
|
+
defaultSort: options.sort ?? options.defaultSort,
|
|
276
|
+
defaultMultiSort: options.multiSortState ?? options.defaultMultiSort,
|
|
277
|
+
onSortChange: (v) => latest.value.onSortChange?.(v),
|
|
278
|
+
onMultiSortChange: (v) => latest.value.onMultiSortChange?.(v)
|
|
279
|
+
})
|
|
280
|
+
);
|
|
281
|
+
const state = useStore(model.store);
|
|
282
|
+
watch(
|
|
283
|
+
() => options.sort,
|
|
284
|
+
(v) => v !== void 0 && model.syncSort(v)
|
|
285
|
+
);
|
|
286
|
+
watch(
|
|
287
|
+
() => options.multiSortState,
|
|
288
|
+
(v) => v !== void 0 && model.syncMultiSort(v)
|
|
289
|
+
);
|
|
290
|
+
return {
|
|
291
|
+
model,
|
|
292
|
+
sort: computed(() => options.sort !== void 0 ? options.sort : state.value.sort),
|
|
293
|
+
multiSort: computed(
|
|
294
|
+
() => options.multiSortState !== void 0 ? options.multiSortState : state.value.multiSort
|
|
295
|
+
),
|
|
296
|
+
cycleSort: (key) => model.cycleSort(key),
|
|
297
|
+
setSort: (v) => model.setSort(v),
|
|
298
|
+
cycleMultiSort: (key) => model.cycleMultiSort(key),
|
|
299
|
+
setMultiSort: (v) => model.setMultiSort(v)
|
|
300
|
+
};
|
|
301
|
+
}
|
|
302
|
+
function useGridFiltering(core, options = {}) {
|
|
303
|
+
const latest = shallowRef(options);
|
|
304
|
+
const model = useGridFeature2(
|
|
305
|
+
core,
|
|
306
|
+
"filtering",
|
|
307
|
+
"getFilteringModel",
|
|
308
|
+
() => createGridFilteringFeature({
|
|
309
|
+
defaultFilters: options.filters ?? options.defaultFilters,
|
|
310
|
+
defaultFilterValues: options.filterValues ?? options.defaultFilterValues,
|
|
311
|
+
onFiltersChange: (v) => latest.value.onFiltersChange?.(v),
|
|
312
|
+
onFilterValuesChange: (v) => latest.value.onFilterValuesChange?.(v)
|
|
313
|
+
})
|
|
314
|
+
);
|
|
315
|
+
const state = useStore(model.store);
|
|
316
|
+
watch(
|
|
317
|
+
() => options.filters,
|
|
318
|
+
(v) => v !== void 0 && model.syncFilters(v)
|
|
319
|
+
);
|
|
320
|
+
watch(
|
|
321
|
+
() => options.filterValues,
|
|
322
|
+
(v) => v !== void 0 && model.syncFilterValues(v)
|
|
323
|
+
);
|
|
324
|
+
return {
|
|
325
|
+
model,
|
|
326
|
+
filters: computed(() => options.filters ?? state.value.filters),
|
|
327
|
+
filterValues: computed(() => options.filterValues ?? state.value.filterValues)
|
|
328
|
+
};
|
|
329
|
+
}
|
|
330
|
+
function useGridVirtual(core, options) {
|
|
331
|
+
const model = useGridFeature2(
|
|
332
|
+
core,
|
|
333
|
+
"virtual",
|
|
334
|
+
"getVirtualModel",
|
|
335
|
+
() => createGridVirtualFeature({
|
|
336
|
+
count: options.items.length,
|
|
337
|
+
estimateSize: (index) => {
|
|
338
|
+
const estimate = options.estimateSize;
|
|
339
|
+
return typeof estimate === "function" ? estimate(index) : estimate;
|
|
340
|
+
},
|
|
341
|
+
viewportSize: options.viewportSize,
|
|
342
|
+
scrollOffset: options.scrollOffset,
|
|
343
|
+
buffer: options.buffer,
|
|
344
|
+
fixedSize: typeof options.estimateSize === "number" ? options.estimateSize : null,
|
|
345
|
+
getItemKey: (index) => {
|
|
346
|
+
const item = options.items[index];
|
|
347
|
+
return item !== void 0 && options.getItemKey ? options.getItemKey(item, index) : index;
|
|
348
|
+
},
|
|
349
|
+
onRangeChange: options.onRangeChange
|
|
350
|
+
})
|
|
351
|
+
);
|
|
352
|
+
watch(
|
|
353
|
+
() => options.items,
|
|
354
|
+
(items) => model.setCount(items.length)
|
|
355
|
+
);
|
|
356
|
+
watch(
|
|
357
|
+
() => options.buffer,
|
|
358
|
+
(buffer) => model.setBuffer(buffer ?? 0)
|
|
359
|
+
);
|
|
360
|
+
watch(
|
|
361
|
+
() => options.estimateSize,
|
|
362
|
+
(estimate) => {
|
|
363
|
+
model.setFixedSize(typeof estimate === "number" ? estimate : null);
|
|
364
|
+
model.remeasure();
|
|
365
|
+
}
|
|
366
|
+
);
|
|
367
|
+
watch(
|
|
368
|
+
() => options.viewportSize,
|
|
369
|
+
(size) => size !== void 0 && model.setViewportSize(size)
|
|
370
|
+
);
|
|
371
|
+
watch(
|
|
372
|
+
() => options.scrollOffset,
|
|
373
|
+
(offset) => offset !== void 0 && model.setScroll(offset)
|
|
374
|
+
);
|
|
375
|
+
return { model, state: useStore(model.store) };
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
export { useGridClipboard, useGridColumns, useGridCore, useGridEditing, useGridExpansion, useGridFiltering, useGridPagination, useGridRange, useGridRows, useGridSelection, useGridSorting, useGridVirtual };
|
|
379
|
+
//# sourceMappingURL=chunk-5Q3JCKNE.js.map
|
|
380
|
+
//# sourceMappingURL=chunk-5Q3JCKNE.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/grid/useGridClipboard.ts","../src/grid/useGridEditing.ts","../src/grid/useGridRange.ts","../src/grid/index.ts"],"names":["shallowRef","state","useGridFeature","computed"],"mappings":"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","file":"chunk-5Q3JCKNE.js","sourcesContent":["import { shallowRef } from 'vue'\nimport {\n createGridClipboardFeature,\n type GridClipboardFeatureOptions,\n type GridClipboardModel,\n type GridCore,\n} from '@iris-ui-kit/core/grid'\nimport type { TableClipboardColumn, TableClipboardRange, TableCopyFormat } from '@iris-ui-kit/core'\n\nexport type UseGridClipboardOptions<Row extends Record<string, unknown>> =\n GridClipboardFeatureOptions<Row>\n\nexport interface UseGridClipboardResult<Row extends Record<string, unknown>> {\n core: GridCore<Row>\n model: GridClipboardModel\n serialize(format?: TableCopyFormat, copyWithFormat?: boolean): string | null\n paste(text: string, range?: TableClipboardRange): boolean\n}\n\nfunction defaultValue<Row extends Record<string, unknown>>(\n row: Row,\n column: TableClipboardColumn<Row>,\n): unknown {\n return row[(column.dataIndex ?? column.key) as keyof Row]\n}\n\nfunction defaultSetValue<Row extends Record<string, unknown>>(\n row: Row,\n column: TableClipboardColumn<Row>,\n value: unknown,\n): Row {\n return { ...row, [column.dataIndex ?? column.key]: value }\n}\n\n/** Installs clipboard pure logic while leaving system clipboard I/O in Vue. */\nexport function useGridClipboard<Row extends Record<string, unknown> = Record<string, unknown>>(\n core: GridCore<Row>,\n options: UseGridClipboardOptions<Row>,\n): UseGridClipboardResult<Row> {\n const latest = shallowRef(options)\n if (!core.hasFeature('clipboard')) {\n core.use(\n createGridClipboardFeature<Row>({\n getRows: () => latest.value.getRows?.() ?? core.invoke<Row[]>('getRows'),\n getColumns: () => latest.value.getColumns(),\n rowKeyField: latest.value.rowKeyField,\n overflowRows: (context) => latest.value.overflowRows?.(context),\n resolveValue: (row, column) => {\n const resolve = latest.value.resolveValue\n return resolve ? resolve(row, column) : defaultValue(row, column)\n },\n parseValue: (text, row, column) => {\n const parse = latest.value.parseValue\n return parse ? parse(text, row, column) : text\n },\n setValue: (row, column, value) =>\n latest.value.setValue?.(row, column, value) ?? defaultSetValue(row, column, value),\n isCellEditable: (row, column, rowIndex, columnIndex) =>\n latest.value.isCellEditable?.(row, column, rowIndex, columnIndex) ?? true,\n reconcileRows: (sourceRows, previousRows, rows) =>\n latest.value.reconcileRows?.(sourceRows, previousRows, rows) ?? rows,\n commitOptions: () => {\n const configured = latest.value.commitOptions\n return typeof configured === 'function' ? configured() : (configured ?? {})\n },\n onCopy: (change) => latest.value.onCopy?.(change),\n onPaste: (change) => latest.value.onPaste?.(change),\n }),\n )\n }\n const model = core.invoke<GridClipboardModel>('getClipboardModel')\n return {\n core,\n model,\n serialize: (format, copyWithFormat) =>\n model.serialize(\n format ?? latest.value.copyFormat ?? 'tsv',\n copyWithFormat ?? latest.value.copyWithFormat ?? false,\n ),\n paste: (text, range) => model.paste(text, range),\n }\n}\n","import { shallowRef, type ShallowRef } from 'vue'\nimport {\n createGridEditingFeature,\n type GridCore,\n type GridEditingCommit,\n type GridEditingFeatureOptions,\n type GridEditingKey,\n type GridEditingModel,\n type GridEditingValidation,\n type GridFeature,\n} from '@iris-ui-kit/core/grid'\nimport type { CellEditState } from '@iris-ui-kit/core'\nimport { useStore } from '../useStore'\n\nexport interface UseGridEditingOptions<Row extends Record<string, unknown>> extends Omit<\n GridEditingFeatureOptions<Row>,\n 'onStateChange' | 'onCommit'\n> {\n onStateChange?: (state: CellEditState<GridEditingKey>) => void\n onValidation?: (validation: GridEditingValidation) => void\n onCommit?: (commit: GridEditingCommit<Row>) => void\n}\n\nexport interface UseGridEditingResult<Row extends Record<string, unknown>> {\n core: GridCore<Row>\n model: GridEditingModel\n state: Readonly<ShallowRef<CellEditState<GridEditingKey>>>\n startCellEdit(rowKey: GridEditingKey, columnKey: string, initialDraft?: unknown): boolean\n setCellDraft(value: unknown): void\n cancelCellEdit(): void\n commitCellEdit(value?: unknown): boolean\n isCellEditing(rowKey: GridEditingKey, columnKey: string): boolean\n}\n\nfunction useGridFeature<Row extends Record<string, unknown>, Model>(\n core: GridCore<Row>,\n name: string,\n method: string,\n create: () => GridFeature<Row>,\n): Model {\n if (!core.hasFeature(name)) core.use(create())\n return core.invoke<Model>(method)\n}\n\n/** Installs the framework-independent editing feature and bridges its state into Vue. */\nexport function useGridEditing<Row extends Record<string, unknown>>(\n core: GridCore<Row>,\n options: UseGridEditingOptions<Row>,\n): UseGridEditingResult<Row> {\n const latest = shallowRef(options)\n const model = useGridFeature<Row, GridEditingModel>(core, 'editing', 'getEditingModel', () =>\n createGridEditingFeature<Row>({\n getRowKey: (row, index) => latest.value.getRowKey(row, index),\n getRowIndex: (rowKey, row, rootRows) => latest.value.getRowIndex?.(rowKey, row, rootRows),\n getRules: (columnKey) => latest.value.getRules?.(columnKey),\n getValue: (row, columnKey) => latest.value.getValue?.(row, columnKey) ?? row[columnKey],\n setValue: (row, columnKey, value) =>\n latest.value.setValue?.(row, columnKey, value) ?? { ...row, [columnKey]: value },\n coerce: (draft, row, columnKey) => latest.value.coerce?.(draft, row, columnKey) ?? draft,\n validate: (value, row, columnKey) => latest.value.validate?.(value, row, columnKey) ?? null,\n isEditable: (row, columnKey) => latest.value.isEditable?.(row, columnKey) ?? true,\n missingRowMessage: options.missingRowMessage,\n commitOptions: () => {\n const configured = latest.value.commitOptions\n return typeof configured === 'function' ? configured() : (configured ?? {})\n },\n onStateChange: (state) => latest.value.onStateChange?.(state),\n onValidation: (validation) => latest.value.onValidation?.(validation),\n onCommit: (commit) => latest.value.onCommit?.(commit),\n }),\n )\n const state = useStore(model.store) as ShallowRef<CellEditState<GridEditingKey>>\n return {\n core,\n model,\n state,\n startCellEdit: (rowKey, columnKey, initialDraft) =>\n model.start(rowKey, columnKey, initialDraft),\n setCellDraft: (value) => model.setDraft(value),\n cancelCellEdit: () => model.cancelEdit(),\n commitCellEdit: (value) => model.commitEdit(value),\n isCellEditing: (rowKey, columnKey) => model.isEditing(rowKey, columnKey),\n }\n}\n","import { computed, shallowRef, type ComputedRef, type ShallowRef } from 'vue'\nimport {\n createGridRangeFeature,\n type GridCore,\n type GridRangeChange,\n type GridRangeModel,\n} from '@iris-ui-kit/core/grid'\nimport type { CellRange, CellRangeState } from '@iris-ui-kit/core'\nimport { useStore } from '../useStore'\n\nexport interface UseGridRangeOptions {\n onChange?: (change: GridRangeChange) => void\n}\n\nexport interface UseGridRangeResult {\n model: GridRangeModel\n state: Readonly<ShallowRef<CellRangeState>>\n range: ComputedRef<CellRange | null>\n}\n\n/** Installs the range feature and bridges its controller snapshot into Vue. */\nexport function useGridRange<Row extends Record<string, unknown> = Record<string, unknown>>(\n core: GridCore<Row>,\n options: UseGridRangeOptions = {},\n): UseGridRangeResult {\n const latest = shallowRef(options)\n if (!core.hasFeature('range')) {\n core.use(\n createGridRangeFeature<Row>({\n onChange: (change) => latest.value.onChange?.(change),\n }),\n )\n }\n const model = core.invoke<GridRangeModel>('getRangeModel')\n const state = useStore(model)\n const range = computed(() => {\n const { anchor, active } = state.value\n if (!anchor || !active) return null\n return {\n start: {\n row: Math.min(anchor.row, active.row),\n col: Math.min(anchor.col, active.col),\n },\n end: {\n row: Math.max(anchor.row, active.row),\n col: Math.max(anchor.col, active.col),\n },\n }\n })\n return { model, state, range }\n}\n","import {\n computed,\n onBeforeUnmount,\n onMounted,\n shallowRef,\n watch,\n type ComputedRef,\n type ShallowRef,\n} from 'vue'\nimport {\n createGridColumnsFeature,\n createGridCore,\n createGridExpansionFeature,\n createGridFilteringFeature,\n createGridPaginationFeature,\n createGridRowsFeature,\n createGridSelectionFeature,\n createGridSortingFeature,\n createGridVirtualFeature,\n type GridColumnPin,\n type GridColumnsModel,\n type GridColumnsState,\n type GridCore,\n type GridExpansionKey,\n type GridFeature,\n type GridFilterValues,\n type GridFilteringModel,\n type GridPaginationChange,\n type GridPaginationModel,\n type GridPaginationState,\n type GridRowKey,\n type GridRowsCommitOptions,\n type GridRowsModel,\n type GridRowsTransaction,\n type SelectionModel,\n type SelectionKey,\n type SelectionMode,\n type GridSortingModel,\n type GridVirtualModel,\n type GridVirtualRangeChange,\n type VirtualizerState,\n type SortState,\n} from '@iris-ui-kit/core/grid'\nimport type { ExpansionModel } from '@iris-ui-kit/core'\nimport { useStore } from '../useStore'\n\nexport interface UseGridCoreOptions<Row extends Record<string, unknown>> {\n readonly features?: readonly GridFeature<Row>[]\n}\n\n/** Vue lifecycle bridge for one framework-independent Grid Core instance. */\nexport function useGridCore<Row extends Record<string, unknown> = Record<string, unknown>>(\n options: UseGridCoreOptions<Row> = {},\n): GridCore<Row> {\n const core = createGridCore(options)\n onMounted(() => core.ready())\n onBeforeUnmount(() => core.destroy())\n return core\n}\n\nfunction useGridFeature<Row extends Record<string, unknown>, Model>(\n core: GridCore<Row>,\n name: string,\n method: string,\n create: () => GridFeature<Row>,\n): Model {\n if (!core.hasFeature(name)) core.use(create())\n return core.invoke<Model>(method)\n}\n\nexport interface UseGridSelectionOptions<K extends SelectionKey = string> {\n mode?: SelectionMode\n value?: K[]\n defaultValue?: K[]\n onChange?: (keys: K[]) => void\n getKeys?: () => readonly K[]\n}\nexport interface UseGridSelectionResult<K extends SelectionKey = string> {\n model: SelectionModel<K>\n selection: ComputedRef<K[]>\n controlled: ComputedRef<boolean>\n}\nexport function useGridSelection<\n Row extends Record<string, unknown> = Record<string, unknown>,\n K extends SelectionKey = string,\n>(core: GridCore<Row>, options: UseGridSelectionOptions<K> = {}): UseGridSelectionResult<K> {\n const latest = shallowRef(options)\n const model = useGridFeature<Row, SelectionModel<K>>(core, 'selection', 'getSelectionModel', () =>\n createGridSelectionFeature<Row, K>({\n mode: options.mode,\n defaultSelected: options.value ?? options.defaultValue,\n getKeys: () => latest.value.getKeys?.() ?? [],\n onChange: (keys) => latest.value.onChange?.(keys),\n }),\n )\n const state = useStore(model.store)\n const controlled = computed(() => options.value !== undefined)\n watch(\n () => options.value,\n (value) => {\n if (value !== undefined) model.sync(value)\n },\n { immediate: true },\n )\n return {\n model,\n controlled,\n selection: computed(() => (controlled.value ? (options.value ?? []) : state.value)),\n }\n}\n\nexport interface UseGridExpansionOptions<K extends GridExpansionKey = string> {\n mode?: 'single' | 'multiple'\n defaultValue?: K[]\n onChange?: (keys: K[]) => void\n getKeys?: () => readonly K[]\n}\nexport interface UseGridExpansionResult<K extends GridExpansionKey = string> {\n model: ExpansionModel<K>\n expandedKeys: ShallowRef<K[]>\n}\nexport function useGridExpansion<\n Row extends Record<string, unknown> = Record<string, unknown>,\n K extends GridExpansionKey = string,\n>(core: GridCore<Row>, options: UseGridExpansionOptions<K> = {}): UseGridExpansionResult<K> {\n const latest = shallowRef(options)\n const model = useGridFeature<Row, ExpansionModel<K>>(core, 'expansion', 'getExpansionModel', () =>\n createGridExpansionFeature<Row, K>({\n mode: options.mode,\n defaultExpanded: options.defaultValue,\n getKeys: () => latest.value.getKeys?.() ?? [],\n onChange: (keys) => latest.value.onChange?.(keys),\n }),\n )\n return { model, expandedKeys: useStore(model.store) as ShallowRef<K[]> }\n}\n\nexport interface UseGridRowsOptions<Row extends Record<string, unknown>, Meta = unknown> {\n /** Copy the initial seed before the rows feature stores it (default true). */\n cloneDefaultRows?: boolean\n rowKeyField?: string\n getRowKey?: (row: Row, index: number) => GridRowKey | undefined\n /** Read nested rows when the source is a tree; omitted keeps flat-row semantics. */\n getChildren?: (row: Row) => readonly Row[] | undefined\n /** Replace nested rows immutably when `getChildren` is not a direct property. */\n setChildren?: (row: Row, children: Row[]) => Row\n onBeforeRowsChange?: (transaction: GridRowsTransaction<Row, Meta>) => void\n onRowsChange?: (transaction: GridRowsTransaction<Row, Meta>) => void\n}\nexport interface UseGridRowsResult<Row extends Record<string, unknown>, Meta = unknown> {\n model: GridRowsModel<Row, Meta>\n rows: ShallowRef<Row[]>\n}\nexport function useGridRows<\n Row extends Record<string, unknown> = Record<string, unknown>,\n Meta = unknown,\n>(\n core: GridCore<Row>,\n initialRows: readonly Row[],\n options: UseGridRowsOptions<Row, Meta> = {},\n): UseGridRowsResult<Row, Meta> {\n const latest = shallowRef(options)\n const model = useGridFeature<Row, GridRowsModel<Row, Meta>>(core, 'rows', 'getRowsModel', () =>\n createGridRowsFeature<Row, Meta>({\n defaultRows: initialRows,\n cloneDefaultRows: options.cloneDefaultRows,\n rowKeyField: options.rowKeyField,\n getRowKey: (row, index) => latest.value.getRowKey?.(row, index),\n getChildren: options.getChildren,\n setChildren: options.setChildren,\n onBeforeRowsChange: (tx) => latest.value.onBeforeRowsChange?.(tx),\n onRowsChange: (tx) => latest.value.onRowsChange?.(tx),\n }),\n )\n return { model, rows: useStore(model.store) as ShallowRef<Row[]> }\n}\n\nexport interface UseGridColumnsOptions {\n visibility?: Record<string, boolean>\n defaultVisibility?: Record<string, boolean>\n onVisibilityChange?: (value: Record<string, boolean>) => void\n order?: string[]\n defaultOrder?: string[]\n orderControlled?: boolean\n onOrderChange?: (value: string[] | undefined) => void\n widths?: Record<string, number>\n defaultWidths?: Record<string, number>\n onWidthsChange?: (value: Record<string, number>) => void\n pinned?: Record<string, GridColumnPin>\n defaultPinned?: Record<string, GridColumnPin>\n onPinnedChange?: (key: string, side: GridColumnPin) => void\n}\nexport interface UseGridColumnsResult {\n model: GridColumnsModel\n state: ShallowRef<GridColumnsState>\n setVisibility(value: Record<string, boolean>): void\n toggleVisibility(key: string): void\n setOrder(value: string[] | undefined): void\n clearOrder(): void\n setWidth(key: string, width: number): void\n setWidths(value: Record<string, number>): void\n resetWidths(): void\n setPinned(key: string, side: GridColumnPin): void\n}\nexport function useGridColumns<Row extends Record<string, unknown> = Record<string, unknown>>(\n core: GridCore<Row>,\n options: UseGridColumnsOptions = {},\n): UseGridColumnsResult {\n const latest = shallowRef(options)\n const model = useGridFeature<Row, GridColumnsModel>(core, 'columns', 'getColumnsModel', () =>\n createGridColumnsFeature<Row>({\n defaultVisibility: options.visibility ?? options.defaultVisibility,\n defaultOrder: options.order ?? options.defaultOrder,\n defaultWidths: options.widths ?? options.defaultWidths,\n defaultPinned: options.pinned ?? options.defaultPinned,\n onVisibilityChange: (v) => latest.value.onVisibilityChange?.(v),\n onOrderChange: (v) => latest.value.onOrderChange?.(v),\n onWidthsChange: (v) => latest.value.onWidthsChange?.(v),\n onPinnedChange: (k, v) => latest.value.onPinnedChange?.(k, v),\n }),\n )\n const state = useStore(model.store)\n watch(\n () => options.visibility,\n (v) => v !== undefined && model.syncVisibility(v),\n )\n watch(\n () => options.order,\n (v) => v !== undefined && model.syncOrder(v),\n )\n watch(\n () => options.widths,\n (v) => v !== undefined && model.syncWidths(v),\n )\n watch(\n () => options.pinned,\n (v) => v !== undefined && model.syncPinned(v),\n )\n return {\n model,\n state,\n setVisibility: (v) => model.setVisibility(v),\n toggleVisibility: (k) => model.toggleVisibility(k),\n setOrder: (v) => model.setOrder(v),\n clearOrder: () => model.setOrder(undefined),\n setWidth: (k, v) => model.setWidth(k, v),\n setWidths: (v) => model.setWidths(v),\n resetWidths: () => model.setWidths({}),\n setPinned: (k, v) => model.setPinned(k, v),\n }\n}\n\nexport interface UseGridPaginationOptions {\n page?: number\n defaultPage?: number\n pageSize?: number\n defaultPageSize?: number\n total?: number\n defaultTotal?: number\n onChange?: (change: GridPaginationChange) => void\n}\nexport interface UseGridPaginationResult {\n model: GridPaginationModel\n pagination: ShallowRef<GridPaginationState>\n setPage(page: number): void\n setPageSize(pageSize: number): void\n setPagination(page: number, pageSize: number): void\n}\nexport function useGridPagination<Row extends Record<string, unknown> = Record<string, unknown>>(\n core: GridCore<Row>,\n options: UseGridPaginationOptions = {},\n): UseGridPaginationResult {\n const latest = shallowRef(options)\n const model = useGridFeature<Row, GridPaginationModel>(\n core,\n 'pagination',\n 'getPaginationModel',\n () =>\n createGridPaginationFeature<Row>({\n defaultPage: options.page ?? options.defaultPage,\n defaultPageSize: options.pageSize ?? options.defaultPageSize,\n defaultTotal: options.total ?? options.defaultTotal,\n onChange: (change) => latest.value.onChange?.(change),\n }),\n )\n const pagination = useStore(model.store)\n watch(\n () => [options.page, options.pageSize, options.total] as const,\n ([page, pageSize, total]) => model.sync({ page, pageSize, total }),\n { immediate: true },\n )\n return {\n model,\n pagination,\n setPage: (v) => model.setPage(v),\n setPageSize: (v) => model.setPageSize(v),\n setPagination: (page, size) => model.set(page, size),\n }\n}\n\nexport interface UseGridSortingOptions {\n mode?: 'single' | 'multiple'\n sort?: SortState | null\n defaultSort?: SortState | null\n onSortChange?: (sort: SortState | null) => void\n multiSortState?: SortState[]\n defaultMultiSort?: SortState[]\n onMultiSortChange?: (sorts: SortState[]) => void\n}\nexport interface UseGridSortingResult {\n model: GridSortingModel\n sort: ComputedRef<SortState | null>\n multiSort: ComputedRef<SortState[]>\n cycleSort(key: string): void\n setSort(sort: SortState | null): void\n cycleMultiSort(key: string): void\n setMultiSort(sorts: SortState[]): void\n}\nexport function useGridSorting<Row extends Record<string, unknown> = Record<string, unknown>>(\n core: GridCore<Row>,\n options: UseGridSortingOptions = {},\n): UseGridSortingResult {\n const latest = shallowRef(options)\n const model = useGridFeature<Row, GridSortingModel>(core, 'sorting', 'getSortingModel', () =>\n createGridSortingFeature<Row>({\n mode: options.mode,\n defaultSort: options.sort ?? options.defaultSort,\n defaultMultiSort: options.multiSortState ?? options.defaultMultiSort,\n onSortChange: (v) => latest.value.onSortChange?.(v),\n onMultiSortChange: (v) => latest.value.onMultiSortChange?.(v),\n }),\n )\n const state = useStore(model.store)\n watch(\n () => options.sort,\n (v) => v !== undefined && model.syncSort(v),\n )\n watch(\n () => options.multiSortState,\n (v) => v !== undefined && model.syncMultiSort(v),\n )\n return {\n model,\n sort: computed(() => (options.sort !== undefined ? options.sort : state.value.sort)),\n multiSort: computed(() =>\n options.multiSortState !== undefined ? options.multiSortState : state.value.multiSort,\n ),\n cycleSort: (key) => model.cycleSort(key),\n setSort: (v) => model.setSort(v),\n cycleMultiSort: (key) => model.cycleMultiSort(key),\n setMultiSort: (v) => model.setMultiSort(v),\n }\n}\n\nexport interface UseGridFilteringOptions {\n filters?: Record<string, string>\n defaultFilters?: Record<string, string>\n onFiltersChange?: (filters: Record<string, string>) => void\n filterValues?: GridFilterValues\n defaultFilterValues?: GridFilterValues\n onFilterValuesChange?: (values: GridFilterValues) => void\n}\nexport interface UseGridFilteringResult {\n model: GridFilteringModel\n filters: ComputedRef<Record<string, string>>\n filterValues: ComputedRef<GridFilterValues>\n}\nexport function useGridFiltering<Row extends Record<string, unknown> = Record<string, unknown>>(\n core: GridCore<Row>,\n options: UseGridFilteringOptions = {},\n): UseGridFilteringResult {\n const latest = shallowRef(options)\n const model = useGridFeature<Row, GridFilteringModel>(\n core,\n 'filtering',\n 'getFilteringModel',\n () =>\n createGridFilteringFeature<Row>({\n defaultFilters: options.filters ?? options.defaultFilters,\n defaultFilterValues: options.filterValues ?? options.defaultFilterValues,\n onFiltersChange: (v) => latest.value.onFiltersChange?.(v),\n onFilterValuesChange: (v) => latest.value.onFilterValuesChange?.(v),\n }),\n )\n const state = useStore(model.store)\n watch(\n () => options.filters,\n (v) => v !== undefined && model.syncFilters(v),\n )\n watch(\n () => options.filterValues,\n (v) => v !== undefined && model.syncFilterValues(v),\n )\n return {\n model,\n filters: computed(() => options.filters ?? state.value.filters),\n filterValues: computed(() => options.filterValues ?? state.value.filterValues),\n }\n}\n\nexport interface UseGridVirtualOptions<Item> {\n items: readonly Item[]\n estimateSize: number | ((index: number) => number)\n viewportSize?: number\n scrollOffset?: number\n buffer?: number\n getItemKey?: (item: Item, index: number) => string | number\n onRangeChange?: (change: GridVirtualRangeChange) => void\n}\nexport interface UseGridVirtualResult {\n model: GridVirtualModel\n state: ShallowRef<VirtualizerState>\n}\nexport function useGridVirtual<\n Row extends Record<string, unknown> = Record<string, unknown>,\n Item = Row,\n>(core: GridCore<Row>, options: UseGridVirtualOptions<Item>): UseGridVirtualResult {\n const model = useGridFeature<Row, GridVirtualModel>(core, 'virtual', 'getVirtualModel', () =>\n createGridVirtualFeature<Row>({\n count: options.items.length,\n estimateSize: (index) => {\n const estimate = options.estimateSize\n return typeof estimate === 'function' ? estimate(index) : estimate\n },\n viewportSize: options.viewportSize,\n scrollOffset: options.scrollOffset,\n buffer: options.buffer,\n fixedSize: typeof options.estimateSize === 'number' ? options.estimateSize : null,\n getItemKey: (index) => {\n const item = options.items[index]\n return item !== undefined && options.getItemKey ? options.getItemKey(item, index) : index\n },\n onRangeChange: options.onRangeChange,\n }),\n )\n watch(\n () => options.items,\n (items) => model.setCount(items.length),\n )\n watch(\n () => options.buffer,\n (buffer) => model.setBuffer(buffer ?? 0),\n )\n watch(\n () => options.estimateSize,\n (estimate) => {\n model.setFixedSize(typeof estimate === 'number' ? estimate : null)\n model.remeasure()\n },\n )\n watch(\n () => options.viewportSize,\n (size) => size !== undefined && model.setViewportSize(size),\n )\n watch(\n () => options.scrollOffset,\n (offset) => offset !== undefined && model.setScroll(offset),\n )\n return { model, state: useStore(model.store) }\n}\n\nexport type { GridColumnPin, GridCore, GridFeature, GridRowsCommitOptions }\nexport {\n useGridClipboard,\n type UseGridClipboardOptions,\n type UseGridClipboardResult,\n} from './useGridClipboard'\nexport {\n useGridEditing,\n type UseGridEditingOptions,\n type UseGridEditingResult,\n} from './useGridEditing'\nexport { useGridRange, type UseGridRangeOptions, type UseGridRangeResult } from './useGridRange'\n"]}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { useFloating, useDismiss } from './chunk-IPR5JAVF.js';
|
|
2
2
|
import { useMachine } from './chunk-NNOF7KUH.js';
|
|
3
|
+
import { IrisThemeKey } from './chunk-ZTPIXL7Q.js';
|
|
3
4
|
import { findFirstElement, mergeSlotProps } from './chunk-F77KIPOH.js';
|
|
4
5
|
import { IrisHeaderLayout, IrisSidebarLayout } from './chunk-3V46HGRC.js';
|
|
5
|
-
import { IrisThemeKey } from './chunk-ZTPIXL7Q.js';
|
|
6
6
|
import { IrisSortable } from './chunk-W3B6E5GN.js';
|
|
7
|
-
import { useStore } from './chunk-75GSYEJS.js';
|
|
8
7
|
import { useI18n } from './chunk-TCAXRWT6.js';
|
|
8
|
+
import { useStore } from './chunk-75GSYEJS.js';
|
|
9
9
|
import { defineComponent, inject, h, computed, shallowRef, onBeforeUnmount, watch, provide, useId, ref, nextTick, Teleport, Fragment, watchEffect, toValue, onMounted } from 'vue';
|
|
10
10
|
import { visibleNav, findNavPath, createExpansion, branchTrail, createFloatingMachine, isBranch, findNavNode, firstLeaf, matchTypeahead, nextEnabledIndex, isClosable, createAdminShell } from '@iris-ui-kit/core';
|
|
11
11
|
export { createAdminPreferences, createTabsNav, filterNavByAccess, findNavNode, findNavPath, firstLeaf, flattenNav, isBranch, isClosable, localStorageAdminPreferencesStorage, nodeAllowsRoles, visibleNav } from '@iris-ui-kit/core';
|
|
@@ -1632,7 +1632,7 @@ var IrisAdminTabs = defineComponent({
|
|
|
1632
1632
|
width: "16px",
|
|
1633
1633
|
height: "16px",
|
|
1634
1634
|
border: "none",
|
|
1635
|
-
borderRadius: "4px",
|
|
1635
|
+
borderRadius: "var(--iris-radius-sm, 4px)",
|
|
1636
1636
|
background: "transparent",
|
|
1637
1637
|
color: "inherit",
|
|
1638
1638
|
cursor: "pointer",
|
|
@@ -2164,5 +2164,5 @@ function useAdminPreferences(preferences, hydrate = true) {
|
|
|
2164
2164
|
}
|
|
2165
2165
|
|
|
2166
2166
|
export { DropdownContextKey, IrisAdminBreadcrumb, IrisAdminLayout, IrisAdminTabs, IrisBreadcrumb, IrisBreadcrumbItem, IrisDropdown, IrisDropdownItem, IrisDropdownMenu, IrisDropdownSeparator, IrisDropdownTrigger, IrisIcon, IrisNavMenu, useAdminPreferences, useAdminShell, useTabsNav };
|
|
2167
|
-
//# sourceMappingURL=chunk-
|
|
2168
|
-
//# sourceMappingURL=chunk-
|
|
2167
|
+
//# sourceMappingURL=chunk-IFRH33BT.js.map
|
|
2168
|
+
//# sourceMappingURL=chunk-IFRH33BT.js.map
|