@itwin/itwinui-react 1.26.0 → 1.29.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/CHANGELOG.md +41 -0
- package/cjs/core/Breadcrumbs/Breadcrumbs.js +1 -1
- package/cjs/core/ButtonGroup/ButtonGroup.js +2 -4
- package/cjs/core/Buttons/Button/Button.d.ts +6 -26
- package/cjs/core/Buttons/Button/Button.js +5 -6
- package/cjs/core/Buttons/DropdownButton/DropdownButton.d.ts +1 -1
- package/cjs/core/Buttons/IconButton/IconButton.d.ts +3 -8
- package/cjs/core/Buttons/IconButton/IconButton.js +3 -4
- package/cjs/core/Buttons/SplitButton/SplitButton.d.ts +9 -7
- package/cjs/core/Buttons/SplitButton/SplitButton.js +11 -6
- package/cjs/core/Checkbox/Checkbox.d.ts +11 -0
- package/cjs/core/Checkbox/Checkbox.js +14 -4
- package/cjs/core/ColorPicker/ColorInputPanel.js +2 -2
- package/cjs/core/ColorPicker/ColorSwatch.d.ts +1 -1
- package/cjs/core/ComboBox/ComboBox.d.ts +2 -2
- package/cjs/core/DatePicker/DatePicker.js +14 -15
- package/cjs/core/ErrorPage/ErrorPage.d.ts +2 -1
- package/cjs/core/ErrorPage/ErrorPage.js +3 -2
- package/cjs/core/Header/HeaderButton.d.ts +6 -4
- package/cjs/core/Header/HeaderButton.js +3 -4
- package/cjs/core/LabeledInput/LabeledInput.d.ts +1 -1
- package/cjs/core/Modal/ModalButtonBar.d.ts +2 -1
- package/cjs/core/Modal/ModalButtonBar.js +3 -2
- package/cjs/core/SideNavigation/SidenavButton.d.ts +3 -13
- package/cjs/core/Table/Table.d.ts +13 -0
- package/cjs/core/Table/Table.js +80 -11
- package/cjs/core/Table/TableCell.js +1 -1
- package/cjs/core/Table/TablePaginator.d.ts +6 -6
- package/cjs/core/Table/TablePaginator.js +23 -12
- package/cjs/core/Table/TableRowMemoized.d.ts +21 -0
- package/cjs/core/Table/TableRowMemoized.js +7 -4
- package/cjs/core/Table/actionHandlers/resizeHandler.d.ts +51 -0
- package/cjs/core/Table/actionHandlers/resizeHandler.js +22 -0
- package/cjs/core/Table/actionHandlers/selectHandler.d.ts +10 -7
- package/cjs/core/Table/filters/BaseFilter.js +3 -1
- package/cjs/core/Table/filters/FilterToggle.js +4 -3
- package/cjs/core/Table/hooks/index.d.ts +1 -0
- package/cjs/core/Table/hooks/index.js +3 -1
- package/cjs/core/Table/hooks/useResizeColumns.d.ts +5 -0
- package/cjs/core/Table/hooks/useResizeColumns.js +273 -0
- package/cjs/core/Table/utils.d.ts +1 -1
- package/cjs/core/Table/utils.js +8 -2
- package/cjs/core/Tabs/Tabs.d.ts +4 -0
- package/cjs/core/Tabs/Tabs.js +2 -2
- package/cjs/core/Typography/Anchor/Anchor.d.ts +3 -0
- package/cjs/core/Typography/Anchor/Anchor.js +41 -0
- package/cjs/core/Typography/Anchor/index.d.ts +3 -0
- package/cjs/core/Typography/Anchor/index.js +10 -0
- package/cjs/core/Typography/Text/Text.d.ts +6 -10
- package/cjs/core/Typography/Text/Text.js +3 -4
- package/cjs/core/Typography/index.d.ts +1 -0
- package/cjs/core/Typography/index.js +3 -1
- package/cjs/core/index.d.ts +1 -1
- package/cjs/core/index.js +2 -1
- package/cjs/core/utils/components/MiddleTextTruncation.js +1 -1
- package/cjs/core/utils/hooks/useTheme.js +20 -3
- package/cjs/core/utils/props.d.ts +31 -1
- package/cjs/types/react-table-config.d.ts +16 -3
- package/esm/core/Breadcrumbs/Breadcrumbs.js +1 -1
- package/esm/core/ButtonGroup/ButtonGroup.js +2 -4
- package/esm/core/Buttons/Button/Button.d.ts +6 -26
- package/esm/core/Buttons/Button/Button.js +6 -7
- package/esm/core/Buttons/DropdownButton/DropdownButton.d.ts +1 -1
- package/esm/core/Buttons/IconButton/IconButton.d.ts +3 -8
- package/esm/core/Buttons/IconButton/IconButton.js +3 -4
- package/esm/core/Buttons/SplitButton/SplitButton.d.ts +9 -7
- package/esm/core/Buttons/SplitButton/SplitButton.js +11 -5
- package/esm/core/Checkbox/Checkbox.d.ts +11 -0
- package/esm/core/Checkbox/Checkbox.js +14 -4
- package/esm/core/ColorPicker/ColorInputPanel.js +2 -2
- package/esm/core/ColorPicker/ColorSwatch.d.ts +1 -1
- package/esm/core/ComboBox/ComboBox.d.ts +2 -2
- package/esm/core/DatePicker/DatePicker.js +14 -15
- package/esm/core/ErrorPage/ErrorPage.d.ts +2 -1
- package/esm/core/ErrorPage/ErrorPage.js +3 -2
- package/esm/core/Header/HeaderButton.d.ts +6 -4
- package/esm/core/Header/HeaderButton.js +3 -3
- package/esm/core/LabeledInput/LabeledInput.d.ts +1 -1
- package/esm/core/Modal/ModalButtonBar.d.ts +2 -1
- package/esm/core/Modal/ModalButtonBar.js +3 -2
- package/esm/core/SideNavigation/SidenavButton.d.ts +3 -13
- package/esm/core/Table/Table.d.ts +13 -0
- package/esm/core/Table/Table.js +82 -13
- package/esm/core/Table/TableCell.js +1 -1
- package/esm/core/Table/TablePaginator.d.ts +6 -6
- package/esm/core/Table/TablePaginator.js +24 -13
- package/esm/core/Table/TableRowMemoized.d.ts +21 -0
- package/esm/core/Table/TableRowMemoized.js +5 -3
- package/esm/core/Table/actionHandlers/resizeHandler.d.ts +51 -0
- package/esm/core/Table/actionHandlers/resizeHandler.js +17 -0
- package/esm/core/Table/actionHandlers/selectHandler.d.ts +10 -7
- package/esm/core/Table/filters/BaseFilter.js +3 -1
- package/esm/core/Table/filters/FilterToggle.js +4 -3
- package/esm/core/Table/hooks/index.d.ts +1 -0
- package/esm/core/Table/hooks/index.js +1 -0
- package/esm/core/Table/hooks/useResizeColumns.d.ts +5 -0
- package/esm/core/Table/hooks/useResizeColumns.js +269 -0
- package/esm/core/Table/utils.d.ts +1 -1
- package/esm/core/Table/utils.js +8 -2
- package/esm/core/Tabs/Tabs.d.ts +4 -0
- package/esm/core/Tabs/Tabs.js +2 -2
- package/esm/core/Typography/Anchor/Anchor.d.ts +3 -0
- package/esm/core/Typography/Anchor/Anchor.js +35 -0
- package/esm/core/Typography/Anchor/index.d.ts +3 -0
- package/esm/core/Typography/Anchor/index.js +6 -0
- package/esm/core/Typography/Text/Text.d.ts +6 -10
- package/esm/core/Typography/Text/Text.js +4 -4
- package/esm/core/Typography/index.d.ts +1 -0
- package/esm/core/Typography/index.js +1 -0
- package/esm/core/index.d.ts +1 -1
- package/esm/core/index.js +1 -1
- package/esm/core/utils/components/MiddleTextTruncation.js +1 -1
- package/esm/core/utils/hooks/useTheme.js +20 -3
- package/esm/core/utils/props.d.ts +31 -1
- package/esm/types/react-table-config.d.ts +16 -3
- package/package.json +20 -8
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
14
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
15
|
+
if (ar || !(i in from)) {
|
|
16
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
17
|
+
ar[i] = from[i];
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
21
|
+
};
|
|
22
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
+
exports.useResizeColumns = void 0;
|
|
24
|
+
var react_table_1 = require("react-table");
|
|
25
|
+
var useResizeColumns = function (ownerDocument) { return function (hooks) {
|
|
26
|
+
hooks.getResizerProps = [defaultGetResizerProps(ownerDocument)];
|
|
27
|
+
hooks.stateReducers.push(reducer);
|
|
28
|
+
hooks.useInstanceBeforeDimensions.push(useInstanceBeforeDimensions);
|
|
29
|
+
}; };
|
|
30
|
+
exports.useResizeColumns = useResizeColumns;
|
|
31
|
+
var isTouchEvent = function (event) {
|
|
32
|
+
return event.type === 'touchstart';
|
|
33
|
+
};
|
|
34
|
+
var defaultGetResizerProps = function (ownerDocument) { return function (props, _a) {
|
|
35
|
+
var instance = _a.instance, header = _a.header, nextHeader = _a.nextHeader;
|
|
36
|
+
if (!ownerDocument) {
|
|
37
|
+
return props;
|
|
38
|
+
}
|
|
39
|
+
var dispatch = instance.dispatch, flatHeaders = instance.flatHeaders;
|
|
40
|
+
var onResizeStart = function (e, header) {
|
|
41
|
+
// lets not respond to multiple touches (e.g. 2 or 3 fingers)
|
|
42
|
+
if (isTouchEvent(e) && e.touches && e.touches.length > 1) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
// Setting `width` here because it might take several rerenders until actual column width is set.
|
|
46
|
+
flatHeaders.forEach(function (h) {
|
|
47
|
+
if (!h.width) {
|
|
48
|
+
h.width = h.resizeWidth;
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
var headerIdWidths = getLeafHeaders(header).map(function (d) { return [d.id, d.width]; });
|
|
52
|
+
var nextHeaderIdWidths = nextHeader
|
|
53
|
+
? getLeafHeaders(nextHeader).map(function (d) { return [d.id, d.width]; })
|
|
54
|
+
: [];
|
|
55
|
+
var clientX = isTouchEvent(e)
|
|
56
|
+
? Math.round(e.touches[0].clientX)
|
|
57
|
+
: e.clientX;
|
|
58
|
+
var dispatchMove = function (clientXPos) {
|
|
59
|
+
return dispatch({ type: react_table_1.actions.columnResizing, clientX: clientXPos });
|
|
60
|
+
};
|
|
61
|
+
var dispatchEnd = function () {
|
|
62
|
+
return dispatch({
|
|
63
|
+
type: react_table_1.actions.columnDoneResizing,
|
|
64
|
+
});
|
|
65
|
+
};
|
|
66
|
+
var handlersAndEvents = {
|
|
67
|
+
mouse: {
|
|
68
|
+
moveEvent: 'mousemove',
|
|
69
|
+
moveHandler: function (e) { return dispatchMove(e.clientX); },
|
|
70
|
+
upEvent: 'mouseup',
|
|
71
|
+
upHandler: function () {
|
|
72
|
+
ownerDocument.removeEventListener('mousemove', handlersAndEvents.mouse.moveHandler);
|
|
73
|
+
ownerDocument.removeEventListener('mouseup', handlersAndEvents.mouse.upHandler);
|
|
74
|
+
dispatchEnd();
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
touch: {
|
|
78
|
+
moveEvent: 'touchmove',
|
|
79
|
+
moveHandler: function (e) {
|
|
80
|
+
if (e.cancelable) {
|
|
81
|
+
e.preventDefault();
|
|
82
|
+
e.stopPropagation();
|
|
83
|
+
}
|
|
84
|
+
dispatchMove(e.touches[0].clientX);
|
|
85
|
+
},
|
|
86
|
+
upEvent: 'touchend',
|
|
87
|
+
upHandler: function () {
|
|
88
|
+
ownerDocument.removeEventListener(handlersAndEvents.touch.moveEvent, handlersAndEvents.touch.moveHandler);
|
|
89
|
+
ownerDocument.removeEventListener(handlersAndEvents.touch.upEvent, handlersAndEvents.touch.moveHandler);
|
|
90
|
+
dispatchEnd();
|
|
91
|
+
},
|
|
92
|
+
},
|
|
93
|
+
};
|
|
94
|
+
var events = isTouchEvent(e)
|
|
95
|
+
? handlersAndEvents.touch
|
|
96
|
+
: handlersAndEvents.mouse;
|
|
97
|
+
var passiveIfSupported = passiveEventSupported()
|
|
98
|
+
? { passive: false }
|
|
99
|
+
: false;
|
|
100
|
+
ownerDocument.addEventListener(events.moveEvent, events.moveHandler, passiveIfSupported);
|
|
101
|
+
ownerDocument.addEventListener(events.upEvent, events.upHandler, passiveIfSupported);
|
|
102
|
+
dispatch({
|
|
103
|
+
type: react_table_1.actions.columnStartResizing,
|
|
104
|
+
columnId: header.id,
|
|
105
|
+
columnWidth: header.width,
|
|
106
|
+
nextColumnWidth: nextHeader === null || nextHeader === void 0 ? void 0 : nextHeader.width,
|
|
107
|
+
headerIdWidths: headerIdWidths,
|
|
108
|
+
nextHeaderIdWidths: nextHeaderIdWidths,
|
|
109
|
+
clientX: clientX,
|
|
110
|
+
});
|
|
111
|
+
};
|
|
112
|
+
return [
|
|
113
|
+
props,
|
|
114
|
+
{
|
|
115
|
+
onMouseDown: function (e) {
|
|
116
|
+
e.persist();
|
|
117
|
+
// Prevents from triggering sort
|
|
118
|
+
e.stopPropagation();
|
|
119
|
+
onResizeStart(e, header);
|
|
120
|
+
},
|
|
121
|
+
onTouchStart: function (e) {
|
|
122
|
+
e.persist();
|
|
123
|
+
// Prevents from triggering sort
|
|
124
|
+
e.stopPropagation();
|
|
125
|
+
onResizeStart(e, header);
|
|
126
|
+
},
|
|
127
|
+
style: {
|
|
128
|
+
cursor: 'col-resize',
|
|
129
|
+
},
|
|
130
|
+
draggable: false,
|
|
131
|
+
role: 'separator',
|
|
132
|
+
},
|
|
133
|
+
];
|
|
134
|
+
}; };
|
|
135
|
+
exports.useResizeColumns.pluginName = 'useResizeColumns';
|
|
136
|
+
var reducer = function (newState, action, previousState, instance) {
|
|
137
|
+
if (action.type === react_table_1.actions.init) {
|
|
138
|
+
return __assign(__assign({}, newState), { columnResizing: {
|
|
139
|
+
columnWidths: {},
|
|
140
|
+
} });
|
|
141
|
+
}
|
|
142
|
+
if (action.type === react_table_1.actions.resetResize) {
|
|
143
|
+
return __assign(__assign({}, newState), { columnResizing: {
|
|
144
|
+
columnWidths: {},
|
|
145
|
+
} });
|
|
146
|
+
}
|
|
147
|
+
if (action.type === react_table_1.actions.columnStartResizing) {
|
|
148
|
+
var clientX = action.clientX, columnId = action.columnId, columnWidth = action.columnWidth, nextColumnWidth = action.nextColumnWidth, headerIdWidths = action.headerIdWidths, nextHeaderIdWidths = action.nextHeaderIdWidths;
|
|
149
|
+
return __assign(__assign({}, newState), { columnResizing: __assign(__assign({}, newState.columnResizing), { startX: clientX, columnWidth: columnWidth, nextColumnWidth: nextColumnWidth, headerIdWidths: headerIdWidths, nextHeaderIdWidths: nextHeaderIdWidths, isResizingColumn: columnId }) });
|
|
150
|
+
}
|
|
151
|
+
if (action.type === react_table_1.actions.columnResizing) {
|
|
152
|
+
var clientX = action.clientX;
|
|
153
|
+
var _a = newState.columnResizing, _b = _a.startX, startX = _b === void 0 ? 0 : _b, _c = _a.columnWidth, columnWidth = _c === void 0 ? 1 : _c, _d = _a.nextColumnWidth, nextColumnWidth = _d === void 0 ? 1 : _d, _e = _a.headerIdWidths, headerIdWidths = _e === void 0 ? [] : _e, _f = _a.nextHeaderIdWidths, nextHeaderIdWidths = _f === void 0 ? [] : _f;
|
|
154
|
+
var deltaX = clientX - startX;
|
|
155
|
+
var newColumnWidths = getColumnWidths(headerIdWidths, deltaX / columnWidth);
|
|
156
|
+
var newNextColumnWidths = getColumnWidths(nextHeaderIdWidths, -deltaX / nextColumnWidth);
|
|
157
|
+
if (!isNewColumnWidthsValid(newColumnWidths, instance === null || instance === void 0 ? void 0 : instance.flatHeaders) ||
|
|
158
|
+
!isNewColumnWidthsValid(newNextColumnWidths, instance === null || instance === void 0 ? void 0 : instance.flatHeaders)) {
|
|
159
|
+
return newState;
|
|
160
|
+
}
|
|
161
|
+
return __assign(__assign({}, newState), { columnResizing: __assign(__assign({}, newState.columnResizing), { columnWidths: __assign(__assign(__assign({}, newState.columnResizing.columnWidths), newColumnWidths), newNextColumnWidths) }) });
|
|
162
|
+
}
|
|
163
|
+
if (action.type === react_table_1.actions.columnDoneResizing) {
|
|
164
|
+
return __assign(__assign({}, newState), { columnResizing: __assign(__assign({}, newState.columnResizing), { startX: undefined, isResizingColumn: undefined }) });
|
|
165
|
+
}
|
|
166
|
+
return newState;
|
|
167
|
+
};
|
|
168
|
+
var getColumnWidths = function (headerIdWidths, deltaPercentage) {
|
|
169
|
+
var columnWidths = {};
|
|
170
|
+
headerIdWidths.forEach(function (_a) {
|
|
171
|
+
var headerId = _a[0], headerWidth = _a[1];
|
|
172
|
+
columnWidths[headerId] = Math.max(headerWidth + headerWidth * deltaPercentage, 0);
|
|
173
|
+
});
|
|
174
|
+
return columnWidths;
|
|
175
|
+
};
|
|
176
|
+
var isNewColumnWidthsValid = function (columnWidths, headers) {
|
|
177
|
+
// Prevents from going outside the column bounds
|
|
178
|
+
if (Object.values(columnWidths).some(function (width) { return width <= 1; })) {
|
|
179
|
+
return false;
|
|
180
|
+
}
|
|
181
|
+
var _loop_1 = function (headerId, width) {
|
|
182
|
+
var header = headers === null || headers === void 0 ? void 0 : headers.find(function (h) { return h.id === headerId; });
|
|
183
|
+
if (!header) {
|
|
184
|
+
return "continue";
|
|
185
|
+
}
|
|
186
|
+
var minWidth = header.minWidth || 0;
|
|
187
|
+
var maxWidth = header.maxWidth || Infinity;
|
|
188
|
+
if (width < minWidth || width > maxWidth) {
|
|
189
|
+
return { value: false };
|
|
190
|
+
}
|
|
191
|
+
};
|
|
192
|
+
for (var _i = 0, _a = Object.entries(columnWidths); _i < _a.length; _i++) {
|
|
193
|
+
var _b = _a[_i], headerId = _b[0], width = _b[1];
|
|
194
|
+
var state_1 = _loop_1(headerId, width);
|
|
195
|
+
if (typeof state_1 === "object")
|
|
196
|
+
return state_1.value;
|
|
197
|
+
}
|
|
198
|
+
return true;
|
|
199
|
+
};
|
|
200
|
+
var useInstanceBeforeDimensions = function (instance) {
|
|
201
|
+
var flatHeaders = instance.flatHeaders, getHooks = instance.getHooks, columnResizing = instance.state.columnResizing;
|
|
202
|
+
var getInstance = (0, react_table_1.useGetLatest)(instance);
|
|
203
|
+
flatHeaders.forEach(function (header, index) {
|
|
204
|
+
var _a;
|
|
205
|
+
var resizeWidth = columnResizing.columnWidths[header.id];
|
|
206
|
+
header.width = resizeWidth || header.width || header.originalWidth;
|
|
207
|
+
header.isResizing = columnResizing.isResizingColumn === header.id;
|
|
208
|
+
var headerToResize = header.disableResizing
|
|
209
|
+
? getPreviousResizableHeader(header, instance)
|
|
210
|
+
: header;
|
|
211
|
+
var nextResizableHeader = getNextResizableHeader(header, instance);
|
|
212
|
+
header.canResize =
|
|
213
|
+
header.disableResizing != null ? !header.disableResizing : true;
|
|
214
|
+
// Show resizer when header is resizable or when next header is resizable
|
|
215
|
+
// and there is resizable columns on the left side of the resizer.
|
|
216
|
+
header.isResizerVisible =
|
|
217
|
+
(header.canResize && !!nextResizableHeader) ||
|
|
218
|
+
(headerToResize && !!((_a = instance.flatHeaders[index + 1]) === null || _a === void 0 ? void 0 : _a.canResize));
|
|
219
|
+
header.getResizerProps = (0, react_table_1.makePropGetter)(getHooks().getResizerProps, {
|
|
220
|
+
instance: getInstance(),
|
|
221
|
+
header: headerToResize,
|
|
222
|
+
nextHeader: nextResizableHeader,
|
|
223
|
+
});
|
|
224
|
+
});
|
|
225
|
+
};
|
|
226
|
+
var getPreviousResizableHeader = function (headerColumn, instance) {
|
|
227
|
+
var _a;
|
|
228
|
+
var headersList = ((_a = headerColumn.parent) === null || _a === void 0 ? void 0 : _a.columns) || instance.flatHeaders;
|
|
229
|
+
var headerIndex = headersList.findIndex(function (h) { return h.id === headerColumn.id; });
|
|
230
|
+
return __spreadArray([], headersList, true).slice(0, headerIndex)
|
|
231
|
+
.reverse()
|
|
232
|
+
.find(function (h) { return !h.disableResizing; });
|
|
233
|
+
};
|
|
234
|
+
var getNextResizableHeader = function (headerColumn, instance) {
|
|
235
|
+
var _a;
|
|
236
|
+
var headersList = ((_a = headerColumn.parent) === null || _a === void 0 ? void 0 : _a.columns) || instance.flatHeaders;
|
|
237
|
+
var headerIndex = headersList.findIndex(function (h) { return h.id === headerColumn.id; });
|
|
238
|
+
return __spreadArray([], headersList, true).slice(headerIndex + 1)
|
|
239
|
+
.find(function (h) { return !h.disableResizing; });
|
|
240
|
+
};
|
|
241
|
+
function getLeafHeaders(header) {
|
|
242
|
+
var leafHeaders = [];
|
|
243
|
+
var recurseHeader = function (header) {
|
|
244
|
+
if (header.columns && header.columns.length) {
|
|
245
|
+
header.columns.map(recurseHeader);
|
|
246
|
+
}
|
|
247
|
+
leafHeaders.push(header);
|
|
248
|
+
};
|
|
249
|
+
recurseHeader(header);
|
|
250
|
+
return leafHeaders;
|
|
251
|
+
}
|
|
252
|
+
// https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#safely_detecting_option_support
|
|
253
|
+
var passiveSupported = null;
|
|
254
|
+
var passiveEventSupported = function () {
|
|
255
|
+
// memoize support to avoid adding multiple test events
|
|
256
|
+
if (passiveSupported != null) {
|
|
257
|
+
return passiveSupported;
|
|
258
|
+
}
|
|
259
|
+
try {
|
|
260
|
+
var options = {
|
|
261
|
+
once: true,
|
|
262
|
+
get passive() {
|
|
263
|
+
passiveSupported = true;
|
|
264
|
+
return false;
|
|
265
|
+
},
|
|
266
|
+
};
|
|
267
|
+
window.addEventListener('test', function () { }, options);
|
|
268
|
+
}
|
|
269
|
+
catch (_a) {
|
|
270
|
+
passiveSupported = false;
|
|
271
|
+
}
|
|
272
|
+
return passiveSupported;
|
|
273
|
+
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { ColumnInstance } from 'react-table';
|
|
2
|
-
export declare const getCellStyle: <T extends Record<string, unknown>>(column: ColumnInstance<T
|
|
2
|
+
export declare const getCellStyle: <T extends Record<string, unknown>>(column: ColumnInstance<T>, isTableResizing: boolean) => React.CSSProperties | undefined;
|
package/cjs/core/Table/utils.js
CHANGED
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getCellStyle = void 0;
|
|
4
|
-
var getCellStyle = function (column) {
|
|
4
|
+
var getCellStyle = function (column, isTableResizing) {
|
|
5
5
|
var style = {};
|
|
6
6
|
style.flex = "1 1 145px";
|
|
7
7
|
if (column.width) {
|
|
8
8
|
var width = typeof column.width === 'string' ? column.width : column.width + "px";
|
|
9
9
|
style.width = width;
|
|
10
|
-
|
|
10
|
+
// This allows flexbox to handle the width of the column on table resize
|
|
11
|
+
if (isTableResizing && column.canResize) {
|
|
12
|
+
style.flex = Number(column.width) + " 1 " + width;
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
style.flex = "0 0 " + width;
|
|
16
|
+
}
|
|
11
17
|
}
|
|
12
18
|
if (column.maxWidth) {
|
|
13
19
|
style.maxWidth = column.maxWidth + "px";
|
package/cjs/core/Tabs/Tabs.d.ts
CHANGED
package/cjs/core/Tabs/Tabs.js
CHANGED
|
@@ -61,7 +61,7 @@ var Tab_1 = require("./Tab");
|
|
|
61
61
|
*/
|
|
62
62
|
var Tabs = function (props) {
|
|
63
63
|
var _a, _b, _c;
|
|
64
|
-
var labels = props.labels, activeIndex = props.activeIndex, onTabSelected = props.onTabSelected, _d = props.focusActivationMode, focusActivationMode = _d === void 0 ? 'auto' : _d, _e = props.type, type = _e === void 0 ? 'default' : _e, _f = props.color, color = _f === void 0 ? 'blue' : _f, _g = props.orientation, orientation = _g === void 0 ? 'horizontal' : _g, tabsClassName = props.tabsClassName, contentClassName = props.contentClassName, children = props.children, rest = __rest(props, ["labels", "activeIndex", "onTabSelected", "focusActivationMode", "type", "color", "orientation", "tabsClassName", "contentClassName", "children"]);
|
|
64
|
+
var labels = props.labels, activeIndex = props.activeIndex, onTabSelected = props.onTabSelected, _d = props.focusActivationMode, focusActivationMode = _d === void 0 ? 'auto' : _d, _e = props.type, type = _e === void 0 ? 'default' : _e, _f = props.color, color = _f === void 0 ? 'blue' : _f, _g = props.orientation, orientation = _g === void 0 ? 'horizontal' : _g, tabsClassName = props.tabsClassName, contentClassName = props.contentClassName, wrapperClassName = props.wrapperClassName, children = props.children, rest = __rest(props, ["labels", "activeIndex", "onTabSelected", "focusActivationMode", "type", "color", "orientation", "tabsClassName", "contentClassName", "wrapperClassName", "children"]);
|
|
65
65
|
(0, utils_1.useTheme)();
|
|
66
66
|
var tablistRef = react_1.default.useRef(null);
|
|
67
67
|
var _h = (0, utils_1.useContainerWidth)(type !== 'default'), tablistSizeRef = _h[0], tabsWidth = _h[1];
|
|
@@ -173,7 +173,7 @@ var Tabs = function (props) {
|
|
|
173
173
|
}
|
|
174
174
|
};
|
|
175
175
|
var isIE = !((_c = (_b = (_a = (0, utils_1.getWindow)()) === null || _a === void 0 ? void 0 : _a.CSS) === null || _b === void 0 ? void 0 : _b.supports) === null || _c === void 0 ? void 0 : _c.call(_b, '--stripe-width', '100px'));
|
|
176
|
-
return (react_1.default.createElement("div", { className: (0, classnames_1.default)('iui-tabs-wrapper', "iui-" + orientation), style: stripeProperties },
|
|
176
|
+
return (react_1.default.createElement("div", { className: (0, classnames_1.default)('iui-tabs-wrapper', "iui-" + orientation, wrapperClassName), style: stripeProperties },
|
|
177
177
|
react_1.default.createElement("ul", __assign({ className: (0, classnames_1.default)('iui-tabs', "iui-" + type, {
|
|
178
178
|
'iui-green': color === 'green',
|
|
179
179
|
'iui-animated': type !== 'default' && !isIE,
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export declare const Anchor: React.ForwardRefExoticComponent<Pick<React.DetailedHTMLProps<React.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, "key" | keyof React.AnchorHTMLAttributes<HTMLAnchorElement>> & React.RefAttributes<HTMLAnchorElement>>;
|
|
3
|
+
export default Anchor;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
14
|
+
var t = {};
|
|
15
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
16
|
+
t[p] = s[p];
|
|
17
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
18
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
19
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
20
|
+
t[p[i]] = s[p[i]];
|
|
21
|
+
}
|
|
22
|
+
return t;
|
|
23
|
+
};
|
|
24
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
25
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
26
|
+
};
|
|
27
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
+
exports.Anchor = void 0;
|
|
29
|
+
/*---------------------------------------------------------------------------------------------
|
|
30
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
31
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
32
|
+
*--------------------------------------------------------------------------------------------*/
|
|
33
|
+
var react_1 = __importDefault(require("react"));
|
|
34
|
+
var classnames_1 = __importDefault(require("classnames"));
|
|
35
|
+
var utils_1 = require("../../utils");
|
|
36
|
+
exports.Anchor = react_1.default.forwardRef(function (_a, ref) {
|
|
37
|
+
var className = _a.className, rest = __rest(_a, ["className"]);
|
|
38
|
+
(0, utils_1.useTheme)();
|
|
39
|
+
return react_1.default.createElement("a", __assign({ className: (0, classnames_1.default)('iui-anchor', className), ref: ref }, rest));
|
|
40
|
+
});
|
|
41
|
+
exports.default = exports.Anchor;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Anchor = void 0;
|
|
4
|
+
/*---------------------------------------------------------------------------------------------
|
|
5
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
6
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
7
|
+
*--------------------------------------------------------------------------------------------*/
|
|
8
|
+
var Anchor_1 = require("./Anchor");
|
|
9
|
+
Object.defineProperty(exports, "Anchor", { enumerable: true, get: function () { return Anchor_1.Anchor; } });
|
|
10
|
+
exports.default = './Anchor';
|
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { PolymorphicComponentProps, PolymorphicForwardRefComponent } from '../../utils';
|
|
3
3
|
import '@itwin/itwinui-css/css/text.css';
|
|
4
|
-
declare type TextOwnProps
|
|
5
|
-
/**
|
|
6
|
-
* What element should the text be rendered as?
|
|
7
|
-
* @default 'div'
|
|
8
|
-
*/
|
|
9
|
-
as?: T;
|
|
4
|
+
declare type TextOwnProps = {
|
|
10
5
|
/**
|
|
11
6
|
* Which typography variant/size should be used for the styling?
|
|
12
7
|
*
|
|
@@ -30,8 +25,9 @@ declare type TextOwnProps<T extends React.ElementType | React.ComponentType = 'd
|
|
|
30
25
|
* @default false
|
|
31
26
|
*/
|
|
32
27
|
isSkeleton?: boolean;
|
|
33
|
-
}
|
|
34
|
-
export declare type TextProps<T extends React.ElementType
|
|
28
|
+
};
|
|
29
|
+
export declare type TextProps<T extends React.ElementType = 'div'> = PolymorphicComponentProps<T, TextOwnProps>;
|
|
30
|
+
declare type TextComponent = PolymorphicForwardRefComponent<'div', TextOwnProps>;
|
|
35
31
|
/**
|
|
36
32
|
* Polymorphic typography component to render any kind of text as any kind of element.
|
|
37
33
|
* @example
|
|
@@ -42,5 +38,5 @@ export declare type TextProps<T extends React.ElementType | React.ComponentType
|
|
|
42
38
|
* <Text isMuted>Some muted text.</Text>
|
|
43
39
|
* <Text isSkeleton>Skeleton text</Text>
|
|
44
40
|
*/
|
|
45
|
-
export declare const Text:
|
|
41
|
+
export declare const Text: TextComponent;
|
|
46
42
|
export default Text;
|
|
@@ -44,7 +44,7 @@ require("@itwin/itwinui-css/css/text.css");
|
|
|
44
44
|
* <Text isMuted>Some muted text.</Text>
|
|
45
45
|
* <Text isSkeleton>Skeleton text</Text>
|
|
46
46
|
*/
|
|
47
|
-
|
|
47
|
+
exports.Text = react_1.default.forwardRef(function (props, ref) {
|
|
48
48
|
var _a;
|
|
49
49
|
var _b = props.variant, variant = _b === void 0 ? 'body' : _b, _c = props.as, Element = _c === void 0 ? 'div' : _c, className = props.className, _d = props.isMuted, isMuted = _d === void 0 ? false : _d, _e = props.isSkeleton, isSkeleton = _e === void 0 ? false : _e, rest = __rest(props, ["variant", "as", "className", "isMuted", "isSkeleton"]);
|
|
50
50
|
(0, utils_1.useTheme)();
|
|
@@ -53,7 +53,6 @@ var Text = function (props) {
|
|
|
53
53
|
_a['iui-text-block'] = variant === 'body',
|
|
54
54
|
_a['iui-text-muted'] = isMuted,
|
|
55
55
|
_a['iui-skeleton'] = isSkeleton,
|
|
56
|
-
_a), className) }, rest)));
|
|
57
|
-
};
|
|
58
|
-
exports.Text = Text;
|
|
56
|
+
_a), className), ref: ref }, rest)));
|
|
57
|
+
});
|
|
59
58
|
exports.default = exports.Text;
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Text = exports.KbdKeys = exports.Kbd = exports.Code = exports.Blockquote = exports.Small = exports.Body = exports.Leading = exports.Subheading = exports.Title = exports.Headline = void 0;
|
|
3
|
+
exports.Text = exports.KbdKeys = exports.Kbd = exports.Code = exports.Blockquote = exports.Small = exports.Body = exports.Leading = exports.Subheading = exports.Title = exports.Headline = exports.Anchor = void 0;
|
|
4
4
|
/*---------------------------------------------------------------------------------------------
|
|
5
5
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
6
6
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
7
7
|
*--------------------------------------------------------------------------------------------*/
|
|
8
|
+
var Anchor_1 = require("./Anchor");
|
|
9
|
+
Object.defineProperty(exports, "Anchor", { enumerable: true, get: function () { return Anchor_1.Anchor; } });
|
|
8
10
|
var Headline_1 = require("./Headline");
|
|
9
11
|
Object.defineProperty(exports, "Headline", { enumerable: true, get: function () { return Headline_1.Headline; } });
|
|
10
12
|
var Title_1 = require("./Title");
|
package/cjs/core/index.d.ts
CHANGED
|
@@ -80,7 +80,7 @@ export { ToggleSwitch } from './ToggleSwitch';
|
|
|
80
80
|
export type { ToggleSwitchProps } from './ToggleSwitch';
|
|
81
81
|
export { Tooltip } from './Tooltip';
|
|
82
82
|
export type { TooltipProps } from './Tooltip';
|
|
83
|
-
export { Body, Headline, Leading, Small, Subheading, Title, Blockquote, Code, Kbd, KbdKeys, Text, } from './Typography';
|
|
83
|
+
export { Anchor, Body, Headline, Leading, Small, Subheading, Title, Blockquote, Code, Kbd, KbdKeys, Text, } from './Typography';
|
|
84
84
|
export type { BodyProps, HeadlineProps, LeadingProps, SmallProps, SubheadingProps, TitleProps, BlockquoteProps, CodeProps, KbdProps, TextProps, } from './Typography';
|
|
85
85
|
export { UserIcon } from './UserIcon';
|
|
86
86
|
export type { UserIconProps, StatusTitles, UserIconStatus } from './UserIcon';
|
package/cjs/core/index.js
CHANGED
|
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.ModalButtonBar = exports.Modal = exports.MenuExtraContent = exports.MenuDivider = exports.MenuItem = exports.Menu = exports.LabeledTextarea = exports.LabeledSelect = exports.InputGroup = exports.LabeledInput = exports.Label = exports.Input = exports.InformationPanelContent = exports.InformationPanelBody = exports.InformationPanelHeader = exports.InformationPanelWrapper = exports.InformationPanel = exports.HorizontalTab = exports.HorizontalTabs = exports.Tab = exports.VerticalTabs = exports.HeaderLogo = exports.HeaderButton = exports.HeaderBreadcrumbs = exports.Header = exports.Footer = exports.FileUploadTemplate = exports.FileUpload = exports.Fieldset = exports.ExpandableBlock = exports.ErrorPage = exports.DropdownMenu = exports.generateLocalizedStrings = exports.DatePicker = exports.ComboBox = exports.ColorPalette = exports.ColorInputPanel = exports.ColorBuilder = exports.ColorSwatch = exports.ColorPicker = exports.Checkbox = exports.ButtonGroup = exports.SplitButton = exports.IdeasButton = exports.IconButton = exports.DropdownButton = exports.Button = exports.Breadcrumbs = exports.Badge = exports.Alert = void 0;
|
|
7
|
-
exports.MiddleTextTruncation = exports.ColorValue = exports.useTheme = exports.getUserColor = exports.Wizard = exports.UserIconGroup = exports.UserIcon = exports.Text = exports.KbdKeys = exports.Kbd = exports.Code = exports.Blockquote = exports.Title = exports.Subheading = exports.Small = exports.Leading = exports.Headline = exports.Body = exports.Tooltip = exports.ToggleSwitch = exports.ThemeProvider = exports.toaster = exports.TimePicker = exports.Tile = exports.Textarea = exports.TagContainer = exports.Tag = exports.TablePaginator = exports.EditableCell = exports.DefaultCell = exports.FilterButtonBar = exports.tableFilters = exports.Table = exports.Slider = exports.SidenavSubmenuHeader = exports.SidenavSubmenu = exports.SidenavButton = exports.SideNavigation = exports.Select = exports.RadioTileGroup = exports.RadioTile = exports.Radio = exports.ProgressRadial = exports.ProgressLinear = void 0;
|
|
7
|
+
exports.MiddleTextTruncation = exports.ColorValue = exports.useTheme = exports.getUserColor = exports.Wizard = exports.UserIconGroup = exports.UserIcon = exports.Text = exports.KbdKeys = exports.Kbd = exports.Code = exports.Blockquote = exports.Title = exports.Subheading = exports.Small = exports.Leading = exports.Headline = exports.Body = exports.Anchor = exports.Tooltip = exports.ToggleSwitch = exports.ThemeProvider = exports.toaster = exports.TimePicker = exports.Tile = exports.Textarea = exports.TagContainer = exports.Tag = exports.TablePaginator = exports.EditableCell = exports.DefaultCell = exports.FilterButtonBar = exports.tableFilters = exports.Table = exports.Slider = exports.SidenavSubmenuHeader = exports.SidenavSubmenu = exports.SidenavButton = exports.SideNavigation = exports.Select = exports.RadioTileGroup = exports.RadioTile = exports.Radio = exports.ProgressRadial = exports.ProgressLinear = void 0;
|
|
8
8
|
/*---------------------------------------------------------------------------------------------
|
|
9
9
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
10
10
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -127,6 +127,7 @@ Object.defineProperty(exports, "ToggleSwitch", { enumerable: true, get: function
|
|
|
127
127
|
var Tooltip_1 = require("./Tooltip");
|
|
128
128
|
Object.defineProperty(exports, "Tooltip", { enumerable: true, get: function () { return Tooltip_1.Tooltip; } });
|
|
129
129
|
var Typography_1 = require("./Typography");
|
|
130
|
+
Object.defineProperty(exports, "Anchor", { enumerable: true, get: function () { return Typography_1.Anchor; } });
|
|
130
131
|
Object.defineProperty(exports, "Body", { enumerable: true, get: function () { return Typography_1.Body; } });
|
|
131
132
|
Object.defineProperty(exports, "Headline", { enumerable: true, get: function () { return Typography_1.Headline; } });
|
|
132
133
|
Object.defineProperty(exports, "Leading", { enumerable: true, get: function () { return Typography_1.Leading; } });
|
|
@@ -50,7 +50,7 @@ var MiddleTextTruncation = function (props) {
|
|
|
50
50
|
return text;
|
|
51
51
|
}
|
|
52
52
|
}, [endCharsCount, text, visibleCount]);
|
|
53
|
-
return (react_1.default.createElement("span", __assign({ style: __assign({ display: 'flex', minWidth: 0, whiteSpace: 'nowrap' }, style), ref: ref }, rest), truncatedText));
|
|
53
|
+
return (react_1.default.createElement("span", __assign({ style: __assign({ display: 'flex', minWidth: 0, flexGrow: 1, whiteSpace: 'nowrap' }, style), ref: ref }, rest), truncatedText));
|
|
54
54
|
};
|
|
55
55
|
exports.MiddleTextTruncation = MiddleTextTruncation;
|
|
56
56
|
exports.default = exports.MiddleTextTruncation;
|
|
@@ -26,20 +26,33 @@ var useTheme = function (theme, themeOptions) {
|
|
|
26
26
|
}
|
|
27
27
|
}, [ownerDocument]);
|
|
28
28
|
react_1.default.useLayoutEffect(function () {
|
|
29
|
-
var _a, _b;
|
|
29
|
+
var _a, _b, _c, _d, _e;
|
|
30
30
|
if (!ownerDocument) {
|
|
31
31
|
return;
|
|
32
32
|
}
|
|
33
|
+
var prefersDarkMediaQuery = (_b = (_a = (0, dom_1.getWindow)()) === null || _a === void 0 ? void 0 : _a.matchMedia) === null || _b === void 0 ? void 0 : _b.call(_a, '(prefers-color-scheme: dark)');
|
|
34
|
+
var addOSTheme = function (_a) {
|
|
35
|
+
var isDark = _a.matches;
|
|
36
|
+
if (isDark) {
|
|
37
|
+
addDarkTheme(ownerDocument);
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
addLightTheme(ownerDocument);
|
|
41
|
+
}
|
|
42
|
+
};
|
|
33
43
|
switch (theme) {
|
|
34
44
|
case 'light':
|
|
45
|
+
(_c = prefersDarkMediaQuery === null || prefersDarkMediaQuery === void 0 ? void 0 : prefersDarkMediaQuery.removeEventListener) === null || _c === void 0 ? void 0 : _c.call(prefersDarkMediaQuery, 'change', addOSTheme);
|
|
35
46
|
addLightTheme(ownerDocument);
|
|
36
47
|
break;
|
|
37
48
|
case 'dark':
|
|
49
|
+
(_d = prefersDarkMediaQuery === null || prefersDarkMediaQuery === void 0 ? void 0 : prefersDarkMediaQuery.removeEventListener) === null || _d === void 0 ? void 0 : _d.call(prefersDarkMediaQuery, 'change', addOSTheme);
|
|
38
50
|
addDarkTheme(ownerDocument);
|
|
39
51
|
break;
|
|
40
52
|
case 'os':
|
|
41
|
-
if (
|
|
42
|
-
|
|
53
|
+
if (prefersDarkMediaQuery != undefined) {
|
|
54
|
+
addOSTheme(prefersDarkMediaQuery);
|
|
55
|
+
(_e = prefersDarkMediaQuery.addEventListener) === null || _e === void 0 ? void 0 : _e.call(prefersDarkMediaQuery, 'change', addOSTheme);
|
|
43
56
|
}
|
|
44
57
|
else {
|
|
45
58
|
addLightTheme(ownerDocument);
|
|
@@ -50,6 +63,10 @@ var useTheme = function (theme, themeOptions) {
|
|
|
50
63
|
addLightTheme(ownerDocument);
|
|
51
64
|
}
|
|
52
65
|
}
|
|
66
|
+
return function () {
|
|
67
|
+
var _a;
|
|
68
|
+
(_a = prefersDarkMediaQuery === null || prefersDarkMediaQuery === void 0 ? void 0 : prefersDarkMediaQuery.removeEventListener) === null || _a === void 0 ? void 0 : _a.call(prefersDarkMediaQuery, 'change', addOSTheme);
|
|
69
|
+
};
|
|
53
70
|
}, [ownerDocument, theme]);
|
|
54
71
|
};
|
|
55
72
|
exports.useTheme = useTheme;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import React from 'react';
|
|
2
2
|
export declare type ClassNameProps = {
|
|
3
3
|
/**
|
|
4
4
|
* Custom CSS class name.
|
|
@@ -21,3 +21,33 @@ export declare type CommonProps = {
|
|
|
21
21
|
*/
|
|
22
22
|
id?: string;
|
|
23
23
|
} & StylingProps;
|
|
24
|
+
/**
|
|
25
|
+
* Merges provided Props with the props of T.
|
|
26
|
+
*
|
|
27
|
+
* T can be any native HTML element or a custom component.
|
|
28
|
+
*/
|
|
29
|
+
export declare type PolymorphicComponentProps<T extends React.ElementType, Props = Record<string, unknown>> = Merge<React.ComponentPropsWithoutRef<T>, Props>;
|
|
30
|
+
/**
|
|
31
|
+
* Makes `as` prop available and merges original OwnProps and the inferred props from `as` element.
|
|
32
|
+
* Extends ForwardRefExoticComponent so ref gets the correct type.
|
|
33
|
+
*
|
|
34
|
+
* T should be the default element that is used for the `as` prop.
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* type ButtonComponent = PolymorphicForwardRefComponent<'button', ButtonOwnProps>;
|
|
38
|
+
* ...
|
|
39
|
+
* const Button: ButtonComponent = React.forwardRef((props, ref) => {});
|
|
40
|
+
*/
|
|
41
|
+
export interface PolymorphicForwardRefComponent<T, OwnProps = Record<string, unknown>> extends React.ForwardRefExoticComponent<Merge<T extends React.ElementType ? React.ComponentPropsWithRef<T> : never, OwnProps & {
|
|
42
|
+
as?: T;
|
|
43
|
+
}>> {
|
|
44
|
+
<As = T>(props: As extends '' ? {
|
|
45
|
+
as: keyof JSX.IntrinsicElements;
|
|
46
|
+
} : As extends React.ComponentType<infer P> ? Merge<P, OwnProps & {
|
|
47
|
+
as: As;
|
|
48
|
+
}> : As extends keyof JSX.IntrinsicElements ? Merge<JSX.IntrinsicElements[As], OwnProps & {
|
|
49
|
+
as: As;
|
|
50
|
+
}> : never): React.ReactElement | null;
|
|
51
|
+
}
|
|
52
|
+
declare type Merge<P1, P2> = Omit<P1, keyof P2> & P2;
|
|
53
|
+
export {};
|
|
@@ -6,7 +6,7 @@ declare module 'react-table' {
|
|
|
6
6
|
cellProps: CellProps<D>;
|
|
7
7
|
children: React.ReactNode;
|
|
8
8
|
};
|
|
9
|
-
interface TableOptions<D extends object = {}> extends Omit<UseTableOptions<D>, 'data'>, UseRowSelectOptions<D>, UseExpandedOptions<D>, UseFiltersOptions<D>, UsePaginationOptions<D>, UseSortByOptions<D> {
|
|
9
|
+
interface TableOptions<D extends object = {}> extends Omit<UseTableOptions<D>, 'data'>, UseRowSelectOptions<D>, UseExpandedOptions<D>, UseFiltersOptions<D>, UsePaginationOptions<D>, Omit<UseResizeColumnsOptions<D>, 'disableResizing'>, UseSortByOptions<D> {
|
|
10
10
|
/**
|
|
11
11
|
* Table data list.
|
|
12
12
|
* Must be memoized.
|
|
@@ -21,9 +21,19 @@ declare module 'react-table' {
|
|
|
21
21
|
interface TableInstance<D extends object = {}> extends UseColumnOrderInstanceProps<D>, UseExpandedInstanceProps<D>, UseFiltersInstanceProps<D>, UseGlobalFiltersInstanceProps<D>, UseGroupByInstanceProps<D>, UsePaginationInstanceProps<D>, UseRowSelectInstanceProps<D>, UseRowStateInstanceProps<D>, UseSortByInstanceProps<D> {
|
|
22
22
|
initialRows: Row<D>[];
|
|
23
23
|
}
|
|
24
|
-
interface TableState<D extends object = {}> extends UseColumnOrderState<D>, UseExpandedState<D>, UseFiltersState<D>, UseGlobalFiltersState<D>, UseGroupByState<D>, UsePaginationState<D>,
|
|
24
|
+
interface TableState<D extends object = {}> extends UseColumnOrderState<D>, UseExpandedState<D>, UseFiltersState<D>, UseGlobalFiltersState<D>, UseGroupByState<D>, UsePaginationState<D>, UseRowSelectState<D>, UseRowStateState<D>, UseSortByState<D> {
|
|
25
|
+
columnResizing: {
|
|
26
|
+
startX?: number;
|
|
27
|
+
columnWidth?: number;
|
|
28
|
+
nextColumnWidth?: number;
|
|
29
|
+
headerIdWidths?: Array<[string, number]>;
|
|
30
|
+
nextHeaderIdWidths?: Array<[string, number]>;
|
|
31
|
+
columnWidths: Record<string, number>;
|
|
32
|
+
isResizingColumn?: string;
|
|
33
|
+
};
|
|
34
|
+
isTableResizing?: boolean;
|
|
25
35
|
}
|
|
26
|
-
interface ColumnInterface<D extends object = {}> extends UseSortByColumnOptions<D>, UseFiltersColumnOptions<D> {
|
|
36
|
+
interface ColumnInterface<D extends object = {}> extends UseSortByColumnOptions<D>, UseFiltersColumnOptions<D>, UseResizeColumnsColumnOptions<D> {
|
|
27
37
|
/**
|
|
28
38
|
* Custom class name applied to header column cell.
|
|
29
39
|
*/
|
|
@@ -59,6 +69,9 @@ declare module 'react-table' {
|
|
|
59
69
|
cellRenderer?: (props: CellRendererProps<D>) => React.ReactNode;
|
|
60
70
|
}
|
|
61
71
|
interface ColumnInstance<D extends object = {}> extends UseFiltersColumnProps<D>, UseGroupByColumnProps<D>, UseResizeColumnsColumnProps<D>, UseSortByColumnProps<D> {
|
|
72
|
+
originalWidth: number;
|
|
73
|
+
resizeWidth?: number;
|
|
74
|
+
isResizerVisible?: boolean;
|
|
62
75
|
}
|
|
63
76
|
interface Cell<D extends object = {}> extends UseGroupByCellProps<D>, UseRowStateCellProps<D> {
|
|
64
77
|
}
|