@onereach/ui-components-vue2 26.4.1-beta.5880.0 → 26.4.1-beta.5882.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.
|
@@ -258,6 +258,10 @@ var script$e = defineComponent({
|
|
|
258
258
|
override: {
|
|
259
259
|
type: Boolean,
|
|
260
260
|
default: false
|
|
261
|
+
},
|
|
262
|
+
stickyOffset: {
|
|
263
|
+
type: Number,
|
|
264
|
+
default: 0
|
|
261
265
|
}
|
|
262
266
|
},
|
|
263
267
|
emits: ['input'],
|
|
@@ -267,7 +271,7 @@ var script$e = defineComponent({
|
|
|
267
271
|
const root = ref();
|
|
268
272
|
const rootStyles = computed(() => {
|
|
269
273
|
var _a, _b, _c, _d;
|
|
270
|
-
return ['or-data-grid-table-content-cell-v3', ...DataGridTableContentCell, ...(((_a = props.column) === null || _a === void 0 ? void 0 : _a.stickiness) ? [`sticky-${props.column.stickiness}`] : []), ...(!!((_b = props.features) === null || _b === void 0 ? void 0 : _b.resizing) && !!((_c = props.column) === null || _c === void 0 ? void 0 : _c.name) && ((_d = props.column) === null || _d === void 0 ? void 0 : _d.resizing) !== false ? ['resizable'] : [])];
|
|
274
|
+
return ['or-data-grid-table-content-cell-v3', ...DataGridTableContentCell, ...(((_a = props.column) === null || _a === void 0 ? void 0 : _a.stickiness) ? ['overflow-hidden', `sticky-${props.column.stickiness}`] : []), ...(!!((_b = props.features) === null || _b === void 0 ? void 0 : _b.resizing) && !!((_c = props.column) === null || _c === void 0 ? void 0 : _c.name) && ((_d = props.column) === null || _d === void 0 ? void 0 : _d.resizing) !== false ? ['resizable'] : [])];
|
|
271
275
|
});
|
|
272
276
|
const rootInlineStyles = computed(() => {
|
|
273
277
|
if (props.column) {
|
|
@@ -275,7 +279,7 @@ var script$e = defineComponent({
|
|
|
275
279
|
case 'start':
|
|
276
280
|
return {
|
|
277
281
|
position: 'sticky',
|
|
278
|
-
insetInlineStart:
|
|
282
|
+
insetInlineStart: `${props.stickyOffset}px`,
|
|
279
283
|
zIndex: '30',
|
|
280
284
|
flexDirection: props.column.alignment === 'end' ? 'row-reverse' : undefined,
|
|
281
285
|
justifyContent: props.column.alignment
|
|
@@ -283,7 +287,7 @@ var script$e = defineComponent({
|
|
|
283
287
|
case 'end':
|
|
284
288
|
return {
|
|
285
289
|
position: 'sticky',
|
|
286
|
-
insetInlineEnd:
|
|
290
|
+
insetInlineEnd: `${props.stickyOffset}px`,
|
|
287
291
|
zIndex: '30',
|
|
288
292
|
flexDirection: props.column.alignment === 'end' ? 'row-reverse' : undefined,
|
|
289
293
|
justifyContent: props.column.alignment
|
|
@@ -300,9 +304,11 @@ var script$e = defineComponent({
|
|
|
300
304
|
};
|
|
301
305
|
});
|
|
302
306
|
const contentStyles = computed(() => {
|
|
303
|
-
var _a, _b, _c;
|
|
307
|
+
var _a, _b, _c, _d, _e, _f;
|
|
304
308
|
const isWrapping = (_b = (_a = props.column) === null || _a === void 0 ? void 0 : _a.wrapping) !== null && _b !== void 0 ? _b : props.variant === DataGridVariant.Dynamic && !((_c = props.column) === null || _c === void 0 ? void 0 : _c.control);
|
|
305
|
-
|
|
309
|
+
const isTags = ((_e = (_d = props.column) === null || _d === void 0 ? void 0 : _d.control) === null || _e === void 0 ? void 0 : _e.type) === 'tags';
|
|
310
|
+
const isFitContent = (_f = props.column) === null || _f === void 0 ? void 0 : _f.fitContent;
|
|
311
|
+
return ['layout-row items-center w-full min-w-0', ...(isTags ? ['overflow-hidden'] : []), ...DataGridTableContentCellContent.filter(style => style !== 'truncate'), ...(isWrapping ? ['whitespace-pre-wrap break-words'] : isFitContent ? ['overflow-hidden'] : ['truncate'])];
|
|
306
312
|
});
|
|
307
313
|
const contentInlineStyles = computed(() => ({
|
|
308
314
|
minWidth: props.column && props.column.minWidth || DATA_GRID_DEFAULT_MIN_WIDTH,
|
|
@@ -344,7 +350,10 @@ var __vue_render__$e = function () {
|
|
|
344
350
|
ref: 'root',
|
|
345
351
|
class: _vm.rootStyles,
|
|
346
352
|
style: _vm.rootInlineStyles
|
|
347
|
-
}, [_vm.override ? [_vm._t("default")] : _vm.control ? [
|
|
353
|
+
}, [_vm.override ? [_vm._t("default")] : _vm.control ? [_c('div', {
|
|
354
|
+
class: _vm.contentStyles,
|
|
355
|
+
style: _vm.contentInlineStyles
|
|
356
|
+
}, [_vm.control.type === 'text' ? [_c('OrInput', {
|
|
348
357
|
attrs: {
|
|
349
358
|
"type": 'text',
|
|
350
359
|
"variant": 'embedded'
|
|
@@ -442,6 +451,7 @@ var __vue_render__$e = function () {
|
|
|
442
451
|
expression: "model"
|
|
443
452
|
}
|
|
444
453
|
})] : _vm._e(), _vm._v(" "), _vm.control.type === 'tags' ? [_c('OrTagInput', {
|
|
454
|
+
class: ['grow min-w-0'],
|
|
445
455
|
attrs: {
|
|
446
456
|
"variant": 'embedded'
|
|
447
457
|
},
|
|
@@ -452,7 +462,7 @@ var __vue_render__$e = function () {
|
|
|
452
462
|
},
|
|
453
463
|
expression: "model"
|
|
454
464
|
}
|
|
455
|
-
})] : _vm._e()] : [_c('div', {
|
|
465
|
+
})] : _vm._e()], 2)] : [_c('div', {
|
|
456
466
|
class: _vm.contentStyles,
|
|
457
467
|
style: _vm.contentInlineStyles
|
|
458
468
|
}, [_vm._t("default")], 2)]], 2);
|
|
@@ -863,6 +873,10 @@ var script$8 = defineComponent({
|
|
|
863
873
|
features: {
|
|
864
874
|
type: Object,
|
|
865
875
|
default: undefined
|
|
876
|
+
},
|
|
877
|
+
stickyOffset: {
|
|
878
|
+
type: Number,
|
|
879
|
+
default: 0
|
|
866
880
|
}
|
|
867
881
|
},
|
|
868
882
|
emits: ['update:modelValue', 'update:scrollOffset', 'remove:scrollOffset', 'update:column-width'],
|
|
@@ -881,14 +895,15 @@ var script$8 = defineComponent({
|
|
|
881
895
|
});
|
|
882
896
|
const rootStyles = computed(() => {
|
|
883
897
|
var _a;
|
|
884
|
-
return ['or-data-grid-table-header-cell-v3', 'relative', ...DataGridTableHeaderCell, ...(((_a = props.column) === null || _a === void 0 ? void 0 : _a.stickiness) ? [`sticky-${props.column.stickiness}`] : []), ...(isResizable.value ? ['resizable'] : []), ...(isSortable.value ? ['interactivity-click'] : [])];
|
|
898
|
+
return ['or-data-grid-table-header-cell-v3', 'relative', ...DataGridTableHeaderCell, ...(((_a = props.column) === null || _a === void 0 ? void 0 : _a.stickiness) ? ['overflow-hidden', `sticky-${props.column.stickiness}`] : []), ...(isResizable.value ? ['resizable'] : []), ...(isSortable.value ? ['interactivity-click'] : [])];
|
|
885
899
|
});
|
|
886
900
|
const resizeHandleStyles = computed(() => ['or-data-grid-table-header-cell-resize-handle-v3', ...DataGridTableHeaderCellResizeHandle]);
|
|
887
901
|
const wrapInlineStyle = computed(() => {
|
|
888
902
|
var _a, _b;
|
|
889
903
|
return {
|
|
890
904
|
minWidth: ((_a = props.column) === null || _a === void 0 ? void 0 : _a.minWidth) || DATA_GRID_DEFAULT_MIN_WIDTH,
|
|
891
|
-
maxWidth: (_b = props.column) === null || _b === void 0 ? void 0 : _b.maxWidth
|
|
905
|
+
maxWidth: (_b = props.column) === null || _b === void 0 ? void 0 : _b.maxWidth,
|
|
906
|
+
overflow: 'hidden'
|
|
892
907
|
};
|
|
893
908
|
});
|
|
894
909
|
const rootInlineStyles = computed(() => {
|
|
@@ -897,7 +912,7 @@ var script$8 = defineComponent({
|
|
|
897
912
|
case 'start':
|
|
898
913
|
return {
|
|
899
914
|
position: 'sticky',
|
|
900
|
-
insetInlineStart:
|
|
915
|
+
insetInlineStart: `${props.stickyOffset}px`,
|
|
901
916
|
zIndex: '120',
|
|
902
917
|
flexDirection: props.column.alignment === 'end' ? 'row-reverse' : undefined,
|
|
903
918
|
justifyContent: props.column.alignment
|
|
@@ -905,7 +920,7 @@ var script$8 = defineComponent({
|
|
|
905
920
|
case 'end':
|
|
906
921
|
return {
|
|
907
922
|
position: 'sticky',
|
|
908
|
-
insetInlineEnd:
|
|
923
|
+
insetInlineEnd: `${props.stickyOffset}px`,
|
|
909
924
|
zIndex: '120',
|
|
910
925
|
flexDirection: props.column.alignment === 'end' ? 'row-reverse' : undefined,
|
|
911
926
|
justifyContent: props.column.alignment
|
|
@@ -1316,8 +1331,11 @@ var script$4 = defineComponent({
|
|
|
1316
1331
|
return column.width;
|
|
1317
1332
|
}
|
|
1318
1333
|
const width = (_a = column.width) !== null && _a !== void 0 ? _a : '1fr';
|
|
1319
|
-
const min = column.minWidth || (column.width ? DATA_GRID_DEFAULT_MIN_WIDTH : '120px');
|
|
1320
|
-
|
|
1334
|
+
const min = column.minWidth || (column.width ? DATA_GRID_DEFAULT_MIN_WIDTH : column.fitContent ? 'max-content' : column.stickiness ? 'max-content' : '120px');
|
|
1335
|
+
const max = column.maxWidth || (column.width ? width === 'max-content' ? 'max-content' : width : column.fitContent ? 'max-content' : column.minWidth || column.stickiness ? 'max-content' : '1fr');
|
|
1336
|
+
if (column.fitContent) {
|
|
1337
|
+
return 'max-content';
|
|
1338
|
+
}
|
|
1321
1339
|
if (width.endsWith('px')) {
|
|
1322
1340
|
return width;
|
|
1323
1341
|
}
|
|
@@ -1783,8 +1801,6 @@ var script = defineComponent({
|
|
|
1783
1801
|
});
|
|
1784
1802
|
}
|
|
1785
1803
|
});
|
|
1786
|
-
const scrollOffsetStart = ref(new Map());
|
|
1787
|
-
const scrollOffsetEnd = ref(new Map());
|
|
1788
1804
|
const showSelectingCouter = computed(() => {
|
|
1789
1805
|
return props.features.selecting && (typeof props.features.selecting === 'object' ? props.features.selecting.showCounter !== false : true);
|
|
1790
1806
|
});
|
|
@@ -1802,6 +1818,42 @@ var script = defineComponent({
|
|
|
1802
1818
|
width: columnWidths.value[column.name] || column.width
|
|
1803
1819
|
}));
|
|
1804
1820
|
});
|
|
1821
|
+
const scrollOffsetStart = ref(new Map());
|
|
1822
|
+
const scrollOffsetEnd = ref(new Map());
|
|
1823
|
+
const stickyOffsets = computed(() => {
|
|
1824
|
+
const start = new Map();
|
|
1825
|
+
const end = new Map();
|
|
1826
|
+
const startColumns = [];
|
|
1827
|
+
const endColumns = [];
|
|
1828
|
+
if (props.features.selecting) {
|
|
1829
|
+
startColumns.push({
|
|
1830
|
+
name: '_check',
|
|
1831
|
+
stickiness: 'start'
|
|
1832
|
+
});
|
|
1833
|
+
}
|
|
1834
|
+
actualColumns.value.forEach(column => {
|
|
1835
|
+
if (column.stickiness === 'start') {
|
|
1836
|
+
startColumns.push(column);
|
|
1837
|
+
} else if (column.stickiness === 'end') {
|
|
1838
|
+
endColumns.push(column);
|
|
1839
|
+
}
|
|
1840
|
+
});
|
|
1841
|
+
let currentStartOffset = 0;
|
|
1842
|
+
startColumns.forEach(column => {
|
|
1843
|
+
start.set(column.name, currentStartOffset);
|
|
1844
|
+
currentStartOffset += scrollOffsetStart.value.get(column.name) || 0;
|
|
1845
|
+
});
|
|
1846
|
+
let currentEndOffset = 0;
|
|
1847
|
+
// End columns are stacked from right to left
|
|
1848
|
+
[...endColumns].reverse().forEach(column => {
|
|
1849
|
+
end.set(column.name, currentEndOffset);
|
|
1850
|
+
currentEndOffset += scrollOffsetEnd.value.get(column.name) || 0;
|
|
1851
|
+
});
|
|
1852
|
+
return {
|
|
1853
|
+
start,
|
|
1854
|
+
end
|
|
1855
|
+
};
|
|
1856
|
+
});
|
|
1805
1857
|
// Methods
|
|
1806
1858
|
function updateSearchingModel(value) {
|
|
1807
1859
|
searchingModel.value = value;
|
|
@@ -1809,19 +1861,19 @@ var script = defineComponent({
|
|
|
1809
1861
|
function updateScrollOffset(header, offset, column) {
|
|
1810
1862
|
switch (column.stickiness) {
|
|
1811
1863
|
case 'start':
|
|
1812
|
-
scrollOffsetStart.value.set(
|
|
1864
|
+
scrollOffsetStart.value.set(column.name, offset);
|
|
1813
1865
|
scrollOffsetStart.value = new Map(scrollOffsetStart.value);
|
|
1814
|
-
scrollOffsetEnd.value.delete(
|
|
1866
|
+
scrollOffsetEnd.value.delete(column.name);
|
|
1815
1867
|
scrollOffsetEnd.value = new Map(scrollOffsetEnd.value);
|
|
1816
1868
|
break;
|
|
1817
1869
|
case 'end':
|
|
1818
|
-
scrollOffsetStart.value.delete(
|
|
1870
|
+
scrollOffsetStart.value.delete(column.name);
|
|
1819
1871
|
scrollOffsetStart.value = new Map(scrollOffsetStart.value);
|
|
1820
|
-
scrollOffsetEnd.value.set(
|
|
1872
|
+
scrollOffsetEnd.value.set(column.name, offset);
|
|
1821
1873
|
scrollOffsetEnd.value = new Map(scrollOffsetEnd.value);
|
|
1822
1874
|
break;
|
|
1823
1875
|
default:
|
|
1824
|
-
removeScrollOffset(
|
|
1876
|
+
removeScrollOffset(column.name);
|
|
1825
1877
|
break;
|
|
1826
1878
|
}
|
|
1827
1879
|
}
|
|
@@ -1891,10 +1943,10 @@ var script = defineComponent({
|
|
|
1891
1943
|
// if (!props.interactiveRows) return;
|
|
1892
1944
|
// context.emit('click:cell', { item, columnName, value });
|
|
1893
1945
|
// }
|
|
1894
|
-
function removeScrollOffset(
|
|
1895
|
-
scrollOffsetStart.value.delete(
|
|
1946
|
+
function removeScrollOffset(name) {
|
|
1947
|
+
scrollOffsetStart.value.delete(name);
|
|
1896
1948
|
scrollOffsetStart.value = new Map(scrollOffsetStart.value);
|
|
1897
|
-
scrollOffsetEnd.value.delete(
|
|
1949
|
+
scrollOffsetEnd.value.delete(name);
|
|
1898
1950
|
scrollOffsetEnd.value = new Map(scrollOffsetEnd.value);
|
|
1899
1951
|
}
|
|
1900
1952
|
// Helpers
|
|
@@ -1924,6 +1976,7 @@ var script = defineComponent({
|
|
|
1924
1976
|
searchingModel,
|
|
1925
1977
|
sortingModel,
|
|
1926
1978
|
pagingModel,
|
|
1979
|
+
stickyOffsets,
|
|
1927
1980
|
updateScrollOffset,
|
|
1928
1981
|
removeScrollOffset,
|
|
1929
1982
|
updateSearchingModel,
|
|
@@ -2010,8 +2063,10 @@ var __vue_render__ = function () {
|
|
|
2010
2063
|
staticClass: "md:!py-none",
|
|
2011
2064
|
attrs: {
|
|
2012
2065
|
"column": {
|
|
2066
|
+
name: '_check',
|
|
2013
2067
|
stickiness: 'start'
|
|
2014
|
-
}
|
|
2068
|
+
},
|
|
2069
|
+
"sticky-offset": _vm.stickyOffsets.start.get('_check')
|
|
2015
2070
|
},
|
|
2016
2071
|
on: {
|
|
2017
2072
|
"update:scroll-offset": _vm.updateScrollOffset,
|
|
@@ -2034,7 +2089,8 @@ var __vue_render__ = function () {
|
|
|
2034
2089
|
key: column.name,
|
|
2035
2090
|
attrs: {
|
|
2036
2091
|
"column": column,
|
|
2037
|
-
"features": _vm.features
|
|
2092
|
+
"features": _vm.features,
|
|
2093
|
+
"sticky-offset": column.stickiness === 'start' ? _vm.stickyOffsets.start.get(column.name) : column.stickiness === 'end' ? _vm.stickyOffsets.end.get(column.name) : undefined
|
|
2038
2094
|
},
|
|
2039
2095
|
on: {
|
|
2040
2096
|
"update:scroll-offset": _vm.updateScrollOffset,
|
|
@@ -2083,8 +2139,10 @@ var __vue_render__ = function () {
|
|
|
2083
2139
|
}, [_vm.features.selecting ? [_c('OrDataGridTableContentCell', {
|
|
2084
2140
|
attrs: {
|
|
2085
2141
|
"column": {
|
|
2142
|
+
name: '_check',
|
|
2086
2143
|
stickiness: 'start'
|
|
2087
2144
|
},
|
|
2145
|
+
"sticky-offset": _vm.stickyOffsets.start.get('_check'),
|
|
2088
2146
|
"variant": _vm.variant,
|
|
2089
2147
|
"override": true
|
|
2090
2148
|
}
|
|
@@ -2094,6 +2152,7 @@ var __vue_render__ = function () {
|
|
|
2094
2152
|
attrs: {
|
|
2095
2153
|
"column": column,
|
|
2096
2154
|
"features": _vm.features,
|
|
2155
|
+
"sticky-offset": column.stickiness === 'start' ? _vm.stickyOffsets.start.get(column.name) : column.stickiness === 'end' ? _vm.stickyOffsets.end.get(column.name) : undefined,
|
|
2097
2156
|
"variant": _vm.variant,
|
|
2098
2157
|
"override": true
|
|
2099
2158
|
}
|
|
@@ -2126,8 +2185,10 @@ var __vue_render__ = function () {
|
|
|
2126
2185
|
staticClass: "md:!py-none",
|
|
2127
2186
|
attrs: {
|
|
2128
2187
|
"column": {
|
|
2188
|
+
name: '_check',
|
|
2129
2189
|
stickiness: 'start'
|
|
2130
2190
|
},
|
|
2191
|
+
"sticky-offset": _vm.stickyOffsets.start.get('_check'),
|
|
2131
2192
|
"variant": _vm.variant,
|
|
2132
2193
|
"override": true,
|
|
2133
2194
|
"force-state": 'none'
|
|
@@ -2159,6 +2220,7 @@ var __vue_render__ = function () {
|
|
|
2159
2220
|
"model-value": item[column.name],
|
|
2160
2221
|
"column": column,
|
|
2161
2222
|
"features": _vm.features,
|
|
2223
|
+
"sticky-offset": column.stickiness === 'start' ? _vm.stickyOffsets.start.get(column.name) : column.stickiness === 'end' ? _vm.stickyOffsets.end.get(column.name) : undefined,
|
|
2162
2224
|
"variant": _vm.variant
|
|
2163
2225
|
},
|
|
2164
2226
|
on: {
|
|
@@ -23,6 +23,7 @@ export type DataGridColumn = {
|
|
|
23
23
|
sorting?: boolean;
|
|
24
24
|
resizing?: boolean;
|
|
25
25
|
wrapping?: boolean;
|
|
26
|
+
fitContent?: boolean;
|
|
26
27
|
control?: {
|
|
27
28
|
type: 'text' | 'number' | 'rating' | 'select' | 'checkbox' | 'switch' | 'date' | 'time' | 'datetime' | 'tags';
|
|
28
29
|
options?: SelectItem[];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@onereach/ui-components-vue2",
|
|
3
|
-
"version": "26.4.1-beta.
|
|
3
|
+
"version": "26.4.1-beta.5882.0",
|
|
4
4
|
"description": "Vue components library for v2",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -40,8 +40,8 @@
|
|
|
40
40
|
"@codemirror/view": "^6",
|
|
41
41
|
"@floating-ui/dom": "1.5.3",
|
|
42
42
|
"@lezer/highlight": "*",
|
|
43
|
-
"@onereach/styles": "^26.4.1-beta.
|
|
44
|
-
"@onereach/ui-components-common": "^26.4.1-beta.
|
|
43
|
+
"@onereach/styles": "^26.4.1-beta.5882.0",
|
|
44
|
+
"@onereach/ui-components-common": "^26.4.1-beta.5882.0",
|
|
45
45
|
"@splidejs/splide": "4.0.6",
|
|
46
46
|
"@tiptap/core": "2.27.1",
|
|
47
47
|
"@tiptap/extension-blockquote": "2.27.1",
|