@rainbow-oh/yee-c 0.10.0 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Button/demo/icon.js +1 -1
- package/dist/cjs/Table/demo/resizable.d.ts +3 -0
- package/dist/cjs/Table/demo/resizable.js +143 -0
- package/dist/cjs/Table/hooks/useColumnResize.d.ts +30 -0
- package/dist/cjs/Table/hooks/useColumnResize.js +217 -0
- package/dist/cjs/Table/hooks/useColumns.d.ts +3 -1
- package/dist/cjs/Table/hooks/useColumns.js +14 -3
- package/dist/cjs/Table/interface.d.ts +49 -0
- package/dist/cjs/Table/style/index.less +42 -0
- package/dist/cjs/Table/table.js +62 -9
- package/dist/cjs/Table/theader/cell.js +46 -4
- package/dist/cjs/Table/util/index.d.ts +19 -1
- package/dist/cjs/Table/util/index.js +22 -0
- package/dist/cjs/Tabs/interface.d.ts +1 -1
- package/dist/cjs/Tabs/tab-header/index.js +2 -1
- package/dist/cjs/locale/interface.d.ts +1 -0
- package/dist/cjs/locale/lang/en_US.js +2 -1
- package/dist/cjs/locale/lang/ja_JP.js +2 -1
- package/dist/cjs/locale/lang/zh_CN.js +2 -1
- package/dist/cjs/locale/lang/zh_TW.js +2 -1
- package/dist/cjs/style/size.css +1 -0
- package/dist/cjs/style/themes.css +1 -1
- package/dist/cjs/style/variables.css +2 -1
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/Button/demo/icon.js +7 -4
- package/dist/esm/Table/demo/resizable.d.ts +3 -0
- package/dist/esm/Table/demo/resizable.js +110 -0
- package/dist/esm/Table/hooks/useColumnResize.d.ts +30 -0
- package/dist/esm/Table/hooks/useColumnResize.js +206 -0
- package/dist/esm/Table/hooks/useColumns.d.ts +3 -1
- package/dist/esm/Table/hooks/useColumns.js +9 -4
- package/dist/esm/Table/interface.d.ts +49 -0
- package/dist/esm/Table/style/index.less +42 -0
- package/dist/esm/Table/table.js +83 -13
- package/dist/esm/Table/theader/cell.js +38 -3
- package/dist/esm/Table/util/index.d.ts +19 -1
- package/dist/esm/Table/util/index.js +37 -0
- package/dist/esm/Tabs/interface.d.ts +1 -1
- package/dist/esm/Tabs/tab-header/index.js +2 -1
- package/dist/esm/locale/interface.d.ts +1 -0
- package/dist/esm/locale/lang/en_US.js +2 -1
- package/dist/esm/locale/lang/ja_JP.js +2 -1
- package/dist/esm/locale/lang/zh_CN.js +2 -1
- package/dist/esm/locale/lang/zh_TW.js +2 -1
- package/dist/esm/style/size.css +1 -0
- package/dist/esm/style/themes.css +1 -1
- package/dist/esm/style/variables.css +2 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/umd/yee-c.min.css +2 -2
- package/dist/umd/yee-c.min.js +1 -1
- package/package.json +1 -1
- package/src/Button/demo/icon.tsx +5 -3
- package/src/Table/demo/resizable.tsx +106 -0
- package/src/Table/hooks/useColumnResize.ts +224 -0
- package/src/Table/hooks/useColumns.ts +18 -3
- package/src/Table/index.en-US.md +7 -0
- package/src/Table/index.zh-CN.md +7 -0
- package/src/Table/interface.ts +52 -0
- package/src/Table/style/index.less +42 -0
- package/src/Table/table-resize.test.tsx +234 -0
- package/src/Table/table.tsx +90 -13
- package/src/Table/theader/cell.tsx +52 -2
- package/src/Table/util/index.ts +44 -1
- package/src/Tabs/interface.ts +1 -1
- package/src/Tabs/tab-header/index.tsx +2 -1
- package/src/locale/interface.ts +1 -0
- package/src/locale/lang/en_US.ts +1 -0
- package/src/locale/lang/ja_JP.ts +1 -0
- package/src/locale/lang/zh_CN.ts +1 -0
- package/src/locale/lang/zh_TW.ts +1 -0
- package/src/style/size.css +1 -0
- package/src/version.ts +1 -1
|
@@ -1,2 +1,20 @@
|
|
|
1
|
-
import { WrapedColumnProps } from '../interface';
|
|
1
|
+
import { ColumnProps, WrapedColumnProps } from '../interface';
|
|
2
|
+
/**
|
|
3
|
+
* Stable identity for a leaf column, used to key its resized width.
|
|
4
|
+
*
|
|
5
|
+
* `key`/`dataIndex` survive re-ordering and data changes, so they are preferred.
|
|
6
|
+
* Columns declaring neither fall back to their position, which is the best that
|
|
7
|
+
* can be done without asking the caller for an id.
|
|
8
|
+
*/
|
|
9
|
+
export declare function getColumnResizeKey(column: ColumnProps, index: number): string;
|
|
10
|
+
/**
|
|
11
|
+
* Stamp every leaf column with its `resizeKey`, resolve whether it is resizable
|
|
12
|
+
* (column level setting wins over the table level one) and override `width` with
|
|
13
|
+
* the dragged value when there is one.
|
|
14
|
+
*
|
|
15
|
+
* This runs before `handleColumns` so that the colgroup, the header cells, the
|
|
16
|
+
* body cells and the sticky offsets of fixed columns all read the same width
|
|
17
|
+
* from a single place.
|
|
18
|
+
*/
|
|
19
|
+
export declare function applyColumnResize(columns: Array<WrapedColumnProps>, resizable?: boolean, resizedWidths?: Record<string, number>): WrapedColumnProps[];
|
|
2
20
|
export declare function handleColumns(columns: Array<WrapedColumnProps>, measuredColumnWidths?: number[]): WrapedColumnProps[];
|
|
@@ -4,6 +4,43 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
4
4
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
5
5
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
6
6
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
7
|
+
/**
|
|
8
|
+
* Stable identity for a leaf column, used to key its resized width.
|
|
9
|
+
*
|
|
10
|
+
* `key`/`dataIndex` survive re-ordering and data changes, so they are preferred.
|
|
11
|
+
* Columns declaring neither fall back to their position, which is the best that
|
|
12
|
+
* can be done without asking the caller for an id.
|
|
13
|
+
*/
|
|
14
|
+
export function getColumnResizeKey(column, index) {
|
|
15
|
+
var _column$key;
|
|
16
|
+
var id = (_column$key = column.key) !== null && _column$key !== void 0 ? _column$key : column.dataIndex;
|
|
17
|
+
return id === undefined || id === null || id === '' ? "index:".concat(index) : "id:".concat(id);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Stamp every leaf column with its `resizeKey`, resolve whether it is resizable
|
|
22
|
+
* (column level setting wins over the table level one) and override `width` with
|
|
23
|
+
* the dragged value when there is one.
|
|
24
|
+
*
|
|
25
|
+
* This runs before `handleColumns` so that the colgroup, the header cells, the
|
|
26
|
+
* body cells and the sticky offsets of fixed columns all read the same width
|
|
27
|
+
* from a single place.
|
|
28
|
+
*/
|
|
29
|
+
export function applyColumnResize(columns, resizable, resizedWidths) {
|
|
30
|
+
return columns.map(function (column, index) {
|
|
31
|
+
var _ref, _column$resizable;
|
|
32
|
+
var resizeKey = getColumnResizeKey(column, index);
|
|
33
|
+
var resizedWidth = resizedWidths === null || resizedWidths === void 0 ? void 0 : resizedWidths[resizeKey];
|
|
34
|
+
var next = _objectSpread(_objectSpread({}, column), {}, {
|
|
35
|
+
resizeKey: resizeKey,
|
|
36
|
+
resizable: (_ref = (_column$resizable = column.resizable) !== null && _column$resizable !== void 0 ? _column$resizable : resizable) !== null && _ref !== void 0 ? _ref : false
|
|
37
|
+
});
|
|
38
|
+
if (Number.isFinite(resizedWidth) && resizedWidth > 0) {
|
|
39
|
+
next.width = resizedWidth;
|
|
40
|
+
}
|
|
41
|
+
return next;
|
|
42
|
+
});
|
|
43
|
+
}
|
|
7
44
|
var getColumnWidth = function getColumnWidth(column, index, measuredColumnWidths) {
|
|
8
45
|
var measuredWidth = measuredColumnWidths === null || measuredColumnWidths === void 0 ? void 0 : measuredColumnWidths[index];
|
|
9
46
|
if (Number.isFinite(measuredWidth) && measuredWidth && measuredWidth > 0) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import type { DataAttributeProps } from '../utils/types';
|
|
3
|
-
type SemanticDOM = 'header' | 'content' | 'track' | 'list' | 'activeBar';
|
|
3
|
+
type SemanticDOM = 'header' | 'content' | 'track' | 'list' | 'activeBar' | 'more';
|
|
4
4
|
export type TabItemType = {
|
|
5
5
|
/**
|
|
6
6
|
* Unique key corresponding to activeKey
|
|
@@ -168,7 +168,8 @@ var TabHeader = function TabHeader(props) {
|
|
|
168
168
|
items: items || [],
|
|
169
169
|
range: range
|
|
170
170
|
}, /*#__PURE__*/React.createElement(Button, {
|
|
171
|
-
className: "".concat(prefixCls, "-nav-more"),
|
|
171
|
+
className: clsx("".concat(prefixCls, "-nav-more"), classNames === null || classNames === void 0 ? void 0 : classNames.more),
|
|
172
|
+
style: styles === null || styles === void 0 ? void 0 : styles.more,
|
|
172
173
|
size: "small",
|
|
173
174
|
icon: /*#__PURE__*/React.createElement(Ellipsis, {
|
|
174
175
|
size: 14,
|
|
@@ -56,7 +56,8 @@ var locale = {
|
|
|
56
56
|
selectionNone: 'Clear Selection on Page',
|
|
57
57
|
sortAscending: 'Click to sort ascending',
|
|
58
58
|
sortDescending: 'Click to sort descending',
|
|
59
|
-
sortCancel: 'Click to cancel sorting'
|
|
59
|
+
sortCancel: 'Click to cancel sorting',
|
|
60
|
+
resizeColumn: 'Drag to resize column'
|
|
60
61
|
},
|
|
61
62
|
pagination: {
|
|
62
63
|
total: 'Total {total} items',
|
package/dist/esm/style/size.css
CHANGED
|
@@ -674,6 +674,7 @@
|
|
|
674
674
|
--yee-table-bordered-cell-border-width: 1px;
|
|
675
675
|
--yee-table-bordered-thead-border-width: 1px;
|
|
676
676
|
--yee-table-thead-action-gap: 8px;
|
|
677
|
+
--yee-table-resize-handle-width: 8px;
|
|
677
678
|
--yee-table-filter-popup-padding: 8px;
|
|
678
679
|
--yee-table-content-border-radius: 6px 6px 0 0;
|
|
679
680
|
--yee-table-cell-padding: 13px 16px;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* @rainbow-oh/yee-c CSS Variables
|
|
3
3
|
* Auto-generated, do not edit manually
|
|
4
|
-
* Generated on 2026-09-
|
|
4
|
+
* Generated on 2026-09-10T06:30:03.660Z
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
/* ========== color.css ========== */
|
|
@@ -1796,6 +1796,7 @@
|
|
|
1796
1796
|
--yee-table-bordered-cell-border-width: 1px;
|
|
1797
1797
|
--yee-table-bordered-thead-border-width: 1px;
|
|
1798
1798
|
--yee-table-thead-action-gap: 8px;
|
|
1799
|
+
--yee-table-resize-handle-width: 8px;
|
|
1799
1800
|
--yee-table-filter-popup-padding: 8px;
|
|
1800
1801
|
--yee-table-content-border-radius: 6px 6px 0 0;
|
|
1801
1802
|
--yee-table-cell-padding: 13px 16px;
|
package/dist/esm/version.d.ts
CHANGED
package/dist/esm/version.js
CHANGED