@rainbow-oh/yee-c 0.7.0 → 0.8.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/Form/form-store.d.ts +2 -1
- package/dist/cjs/Form/form-store.js +32 -17
- package/dist/cjs/Table/hooks/useColumns.js +1 -1
- package/dist/cjs/Table/style/index.less +35 -11
- package/dist/cjs/Table/table.js +57 -7
- package/dist/cjs/Table/tbody/cell.js +1 -1
- package/dist/cjs/Table/util/header.d.ts +3 -1
- package/dist/cjs/Table/util/header.js +30 -3
- package/dist/cjs/style/color.css +2 -0
- package/dist/cjs/style/themes.css +1 -1
- package/dist/cjs/style/variables.css +3 -1
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/Form/form-store.d.ts +2 -1
- package/dist/esm/Form/form-store.js +40 -19
- package/dist/esm/Table/hooks/useColumns.js +1 -1
- package/dist/esm/Table/style/index.less +35 -11
- package/dist/esm/Table/table.js +54 -2
- package/dist/esm/Table/tbody/cell.js +1 -1
- package/dist/esm/Table/util/header.d.ts +3 -1
- package/dist/esm/Table/util/header.js +30 -2
- package/dist/esm/style/color.css +2 -0
- package/dist/esm/style/themes.css +1 -1
- package/dist/esm/style/variables.css +3 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/umd/yee-c.min.css +3 -3
- package/dist/umd/yee-c.min.js +1 -1
- package/package.json +1 -1
- package/src/Form/form-store.ts +42 -15
- package/src/Table/hooks/useColumns.ts +1 -1
- package/src/Table/style/index.less +35 -11
- package/src/Table/table.tsx +60 -1
- package/src/Table/tbody/cell.tsx +1 -1
- package/src/Table/util/header.ts +48 -2
- package/src/style/color.css +2 -0
- package/src/version.ts +1 -1
package/dist/esm/Table/table.js
CHANGED
|
@@ -6,6 +6,12 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
|
|
|
6
6
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
7
7
|
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); }
|
|
8
8
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
9
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
10
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
11
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
12
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
13
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
14
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
9
15
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
10
16
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
11
17
|
import clsx from 'clsx';
|
|
@@ -138,6 +144,30 @@ var Table = /*#__PURE__*/React.forwardRef(function (baseprops, ref) {
|
|
|
138
144
|
|
|
139
145
|
// Track previous values to determine what action triggered onChange
|
|
140
146
|
var prevSortersRef = useRef({});
|
|
147
|
+
var contentWrapperRef = useRef(null);
|
|
148
|
+
var contentRef = useRef(null);
|
|
149
|
+
var _React$useState = React.useState({
|
|
150
|
+
left: false,
|
|
151
|
+
right: false
|
|
152
|
+
}),
|
|
153
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
154
|
+
horizontalScroll = _React$useState2[0],
|
|
155
|
+
setHorizontalScroll = _React$useState2[1];
|
|
156
|
+
var updateHorizontalScroll = React.useCallback(function () {
|
|
157
|
+
var wrapper = contentWrapperRef.current;
|
|
158
|
+
var content = contentRef.current;
|
|
159
|
+
if (!wrapper || !content) return;
|
|
160
|
+
var scrollContainer = content.scrollWidth - content.clientWidth > 1 ? content : wrapper;
|
|
161
|
+
var maxScrollLeft = scrollContainer.scrollWidth - scrollContainer.clientWidth;
|
|
162
|
+
var hasHorizontalScroll = maxScrollLeft > 1;
|
|
163
|
+
var next = {
|
|
164
|
+
left: hasHorizontalScroll && scrollContainer.scrollLeft > 1,
|
|
165
|
+
right: hasHorizontalScroll && scrollContainer.scrollLeft < maxScrollLeft - 1
|
|
166
|
+
};
|
|
167
|
+
setHorizontalScroll(function (current) {
|
|
168
|
+
return current.left === next.left && current.right === next.right ? current : next;
|
|
169
|
+
});
|
|
170
|
+
}, []);
|
|
141
171
|
|
|
142
172
|
// Wrap onFilter to trigger onChange
|
|
143
173
|
var onFilter = React.useCallback(function () {
|
|
@@ -179,6 +209,24 @@ var Table = /*#__PURE__*/React.forwardRef(function (baseprops, ref) {
|
|
|
179
209
|
return;
|
|
180
210
|
}
|
|
181
211
|
}, [sorters, current, pageSize, pageData, sortedData, onChange]);
|
|
212
|
+
useEffect(function () {
|
|
213
|
+
updateHorizontalScroll();
|
|
214
|
+
var wrapper = contentWrapperRef.current;
|
|
215
|
+
var content = contentRef.current;
|
|
216
|
+
if (!wrapper || !content) return undefined;
|
|
217
|
+
if (typeof ResizeObserver === 'undefined') {
|
|
218
|
+
window.addEventListener('resize', updateHorizontalScroll);
|
|
219
|
+
return function () {
|
|
220
|
+
return window.removeEventListener('resize', updateHorizontalScroll);
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
var resizeObserver = new ResizeObserver(updateHorizontalScroll);
|
|
224
|
+
resizeObserver.observe(wrapper);
|
|
225
|
+
resizeObserver.observe(content);
|
|
226
|
+
return function () {
|
|
227
|
+
return resizeObserver.disconnect();
|
|
228
|
+
};
|
|
229
|
+
}, [updateHorizontalScroll, wrapedColumns, pageData, scroll === null || scroll === void 0 ? void 0 : scroll.x]);
|
|
182
230
|
var renderHeader = function renderHeader() {
|
|
183
231
|
return /*#__PURE__*/React.createElement(Header, {
|
|
184
232
|
prefixCls: prefixCls,
|
|
@@ -244,13 +292,17 @@ var Table = /*#__PURE__*/React.forwardRef(function (baseprops, ref) {
|
|
|
244
292
|
columns: wrapedColumns
|
|
245
293
|
}), renderTHeader(), renderTBody(), renderTFooter()));
|
|
246
294
|
return /*#__PURE__*/React.createElement("div", {
|
|
247
|
-
|
|
295
|
+
ref: contentWrapperRef,
|
|
296
|
+
className: clsx("".concat(prefixCls, "-content-wrapper"), _defineProperty(_defineProperty({}, "".concat(prefixCls, "-content-wrapper-scroll-left"), horizontalScroll.left), "".concat(prefixCls, "-content-wrapper-scroll-right"), horizontalScroll.right)),
|
|
297
|
+
onScroll: updateHorizontalScroll
|
|
248
298
|
}, /*#__PURE__*/React.createElement("div", {
|
|
299
|
+
ref: contentRef,
|
|
249
300
|
className: clsx("".concat(prefixCls, "-content"), _defineProperty(_defineProperty({}, "".concat(prefixCls, "-").concat(size, "-size"), size), "".concat(prefixCls, "-fixed-header"), scroll === null || scroll === void 0 ? void 0 : scroll.y)),
|
|
250
301
|
style: {
|
|
251
302
|
height: scroll === null || scroll === void 0 ? void 0 : scroll.y,
|
|
252
303
|
width: scroll === null || scroll === void 0 ? void 0 : scroll.x
|
|
253
|
-
}
|
|
304
|
+
},
|
|
305
|
+
onScroll: updateHorizontalScroll
|
|
254
306
|
}, table));
|
|
255
307
|
};
|
|
256
308
|
var renderFooter = function renderFooter() {
|
|
@@ -42,7 +42,7 @@ var TableCell = function TableCell(props) {
|
|
|
42
42
|
var _children = renderChildren();
|
|
43
43
|
var getTdProps = function getTdProps() {
|
|
44
44
|
var title = render ? undefined : record[dataIndex || ''];
|
|
45
|
-
var cls = clsx("".concat(prefixCls, "-cell"), _defineProperty(_defineProperty(_defineProperty({}, "".concat(prefixCls, "-cell-fixed-").concat(fixed), fixed), "".concat(prefixCls, "-cell-fixed-").concat(fixed, "-first"), isFixedRightFirst), "".concat(prefixCls, "-fixed-").concat(fixed, "-last"), isFixedLeftLast), className);
|
|
45
|
+
var cls = clsx("".concat(prefixCls, "-cell"), _defineProperty(_defineProperty(_defineProperty({}, "".concat(prefixCls, "-cell-fixed-").concat(fixed), fixed), "".concat(prefixCls, "-cell-fixed-").concat(fixed, "-first"), isFixedRightFirst), "".concat(prefixCls, "-cell-fixed-").concat(fixed, "-last"), isFixedLeftLast), className);
|
|
46
46
|
var styles = _objectSpread(_objectSpread({}, style), {}, {
|
|
47
47
|
width: width,
|
|
48
48
|
maxWidth: width,
|
|
@@ -11,10 +11,12 @@ export declare function flattenLeafColumns(columns: WrapedColumnProps[], parentF
|
|
|
11
11
|
*
|
|
12
12
|
* - Pass 1 (DFS): place each column into the row matching its depth; a group's
|
|
13
13
|
* colSpan equals the sum of its children's colSpans.
|
|
14
|
+
* - Fixed metadata from the resolved leaf columns is reused by leaf cells and
|
|
15
|
+
* aggregated for group cells whose descendants share the same fixed side.
|
|
14
16
|
* - Pass 2: leaf cells (no sub-columns) get rowSpan = rowCount - rowIndex so
|
|
15
17
|
* they stretch down to the last header row; group cells keep rowSpan = 1.
|
|
16
18
|
*/
|
|
17
|
-
export declare function parseHeaderRows(rootColumns: WrapedColumnProps[]): HeaderCell[][];
|
|
19
|
+
export declare function parseHeaderRows(rootColumns: WrapedColumnProps[], resolvedLeafColumns?: WrapedColumnProps[]): HeaderCell[][];
|
|
18
20
|
/**
|
|
19
21
|
* Inject selection / expand columns into the top level of the column tree.
|
|
20
22
|
* `index` is a 1-based position among the top-level columns.
|
|
@@ -34,24 +34,52 @@ export function flattenLeafColumns(columns, parentFixed) {
|
|
|
34
34
|
*
|
|
35
35
|
* - Pass 1 (DFS): place each column into the row matching its depth; a group's
|
|
36
36
|
* colSpan equals the sum of its children's colSpans.
|
|
37
|
+
* - Fixed metadata from the resolved leaf columns is reused by leaf cells and
|
|
38
|
+
* aggregated for group cells whose descendants share the same fixed side.
|
|
37
39
|
* - Pass 2: leaf cells (no sub-columns) get rowSpan = rowCount - rowIndex so
|
|
38
40
|
* they stretch down to the last header row; group cells keep rowSpan = 1.
|
|
39
41
|
*/
|
|
40
42
|
export function parseHeaderRows(rootColumns) {
|
|
43
|
+
var resolvedLeafColumns = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : flattenLeafColumns(rootColumns);
|
|
41
44
|
var rows = [];
|
|
45
|
+
var leafIndex = 0;
|
|
42
46
|
var fillRowCells = function fillRowCells(columns, rowIndex) {
|
|
43
47
|
rows[rowIndex] = rows[rowIndex] || [];
|
|
44
48
|
var colSpanTotal = 0;
|
|
45
|
-
columns.filter(Boolean).forEach(function (
|
|
49
|
+
columns.filter(Boolean).forEach(function (sourceColumn) {
|
|
50
|
+
var column = sourceColumn;
|
|
51
|
+
var subColumns = sourceColumn.children;
|
|
52
|
+
var leafStartIndex = leafIndex;
|
|
46
53
|
var cell = {
|
|
47
54
|
column: column,
|
|
48
55
|
colSpan: 1,
|
|
49
56
|
rowSpan: 1
|
|
50
57
|
};
|
|
51
|
-
var subColumns = column.children;
|
|
52
58
|
if (subColumns && subColumns.length > 0) {
|
|
59
|
+
var _groupLeaves$;
|
|
53
60
|
cell.colSpan = fillRowCells(subColumns, rowIndex + 1);
|
|
54
61
|
cell.hasSubColumns = true;
|
|
62
|
+
var groupLeaves = resolvedLeafColumns.slice(leafStartIndex, leafIndex);
|
|
63
|
+
var fixed = (_groupLeaves$ = groupLeaves[0]) === null || _groupLeaves$ === void 0 ? void 0 : _groupLeaves$.fixed;
|
|
64
|
+
var isFixedGroup = (fixed === 'left' || fixed === 'right') && groupLeaves.every(function (leaf) {
|
|
65
|
+
return leaf.fixed === fixed;
|
|
66
|
+
});
|
|
67
|
+
if (isFixedGroup) {
|
|
68
|
+
var _offsetLeaf$style;
|
|
69
|
+
var offsetLeaf = fixed === 'left' ? groupLeaves[0] : groupLeaves[groupLeaves.length - 1];
|
|
70
|
+
var boundaryLeaf = fixed === 'left' ? groupLeaves[groupLeaves.length - 1] : groupLeaves[0];
|
|
71
|
+
column = _objectSpread(_objectSpread({}, sourceColumn), {}, {
|
|
72
|
+
fixed: fixed,
|
|
73
|
+
style: _objectSpread(_objectSpread({}, sourceColumn.style), {}, _defineProperty({}, fixed, (_offsetLeaf$style = offsetLeaf.style) === null || _offsetLeaf$style === void 0 ? void 0 : _offsetLeaf$style[fixed])),
|
|
74
|
+
isFixedLeftLast: fixed === 'left' && boundaryLeaf.isFixedLeftLast,
|
|
75
|
+
isFixedRightFirst: fixed === 'right' && boundaryLeaf.isFixedRightFirst
|
|
76
|
+
});
|
|
77
|
+
cell.column = column;
|
|
78
|
+
}
|
|
79
|
+
} else {
|
|
80
|
+
column = resolvedLeafColumns[leafIndex] || sourceColumn;
|
|
81
|
+
cell.column = column;
|
|
82
|
+
leafIndex += 1;
|
|
55
83
|
}
|
|
56
84
|
rows[rowIndex].push(cell);
|
|
57
85
|
colSpanTotal += cell.colSpan;
|
package/dist/esm/style/color.css
CHANGED
|
@@ -848,6 +848,7 @@
|
|
|
848
848
|
--yee-table-thead-stripe-borderbottom-color: var(
|
|
849
849
|
--yee-table-thead-borderbottom-color
|
|
850
850
|
);
|
|
851
|
+
--yee-table-row-bg-color: var(--yee-color-bg-container);
|
|
851
852
|
--yee-table-odd-row-bg-color: var(--yee-color-bg-container);
|
|
852
853
|
--yee-table-even-row-bg-color: var(--yee-color-bg-head);
|
|
853
854
|
--yee-table-elevated-thead-stripe-borderbottom-color: var(
|
|
@@ -870,6 +871,7 @@
|
|
|
870
871
|
--yee-table-head-filter-active-color: var(--yee-primary-color);
|
|
871
872
|
--yee-table-fixed-left-after-bs-color: var(--yee-box-shadow-color);
|
|
872
873
|
--yee-table-fixed-right-after-bs-color: var(--yee-box-shadow-color);
|
|
874
|
+
--yee-table-fixed-column-bg-color: inherit;
|
|
873
875
|
--yee-table-filter-list-bg-color: var(--yee-color-bg-elevated);
|
|
874
876
|
--yee-table-tbody-tr-expanded-bg-color: var(--yee-color-bg-container);
|
|
875
877
|
--yee-table-elevated-tbody-tr-expanded-bg-color: var(
|
|
@@ -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-07-
|
|
4
|
+
* Generated on 2026-07-22T03:22:12.652Z
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
/* ========== color.css ========== */
|
|
@@ -855,6 +855,7 @@
|
|
|
855
855
|
--yee-table-thead-stripe-borderbottom-color: var(
|
|
856
856
|
--yee-table-thead-borderbottom-color
|
|
857
857
|
);
|
|
858
|
+
--yee-table-row-bg-color: var(--yee-color-bg-container);
|
|
858
859
|
--yee-table-odd-row-bg-color: var(--yee-color-bg-container);
|
|
859
860
|
--yee-table-even-row-bg-color: var(--yee-color-bg-head);
|
|
860
861
|
--yee-table-elevated-thead-stripe-borderbottom-color: var(
|
|
@@ -877,6 +878,7 @@
|
|
|
877
878
|
--yee-table-head-filter-active-color: var(--yee-primary-color);
|
|
878
879
|
--yee-table-fixed-left-after-bs-color: var(--yee-box-shadow-color);
|
|
879
880
|
--yee-table-fixed-right-after-bs-color: var(--yee-box-shadow-color);
|
|
881
|
+
--yee-table-fixed-column-bg-color: inherit;
|
|
880
882
|
--yee-table-filter-list-bg-color: var(--yee-color-bg-elevated);
|
|
881
883
|
--yee-table-tbody-tr-expanded-bg-color: var(--yee-color-bg-container);
|
|
882
884
|
--yee-table-elevated-tbody-tr-expanded-bg-color: var(
|
package/dist/esm/version.d.ts
CHANGED
package/dist/esm/version.js
CHANGED