@stella-source/stellasource-dsl 0.2.4 → 0.2.7
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/index.js +61 -20
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/components/Table/types.d.ts +1 -0
- package/dist/esm/index.esm.js +61 -20
- package/dist/esm/index.esm.js.map +1 -1
- package/dist/esm/types/components/Table/types.d.ts +1 -0
- package/dist/index.d.ts +1 -0
- package/package.json +1 -1
package/dist/esm/index.esm.js
CHANGED
|
@@ -3414,7 +3414,7 @@ var observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();
|
|
|
3414
3414
|
* ResizeObserver API. Encapsulates the ResizeObserver SPI implementation
|
|
3415
3415
|
* exposing only those methods and properties that are defined in the spec.
|
|
3416
3416
|
*/
|
|
3417
|
-
var ResizeObserver$
|
|
3417
|
+
var ResizeObserver$2 = /** @class */ (function () {
|
|
3418
3418
|
/**
|
|
3419
3419
|
* Creates a new instance of ResizeObserver.
|
|
3420
3420
|
*
|
|
@@ -3440,7 +3440,7 @@ var ResizeObserver$1 = /** @class */ (function () {
|
|
|
3440
3440
|
'unobserve',
|
|
3441
3441
|
'disconnect'
|
|
3442
3442
|
].forEach(function (method) {
|
|
3443
|
-
ResizeObserver$
|
|
3443
|
+
ResizeObserver$2.prototype[method] = function () {
|
|
3444
3444
|
var _a;
|
|
3445
3445
|
return (_a = observers.get(this))[method].apply(_a, arguments);
|
|
3446
3446
|
};
|
|
@@ -3451,7 +3451,7 @@ var index = (function () {
|
|
|
3451
3451
|
if (typeof global$1.ResizeObserver !== 'undefined') {
|
|
3452
3452
|
return global$1.ResizeObserver;
|
|
3453
3453
|
}
|
|
3454
|
-
return ResizeObserver$
|
|
3454
|
+
return ResizeObserver$2;
|
|
3455
3455
|
})();
|
|
3456
3456
|
|
|
3457
3457
|
// =============================== Const ===============================
|
|
@@ -3691,7 +3691,7 @@ if (process.env.NODE_ENV !== 'production') {
|
|
|
3691
3691
|
}
|
|
3692
3692
|
|
|
3693
3693
|
var INTERNAL_PREFIX_KEY = 'rc-observer-key';
|
|
3694
|
-
function ResizeObserver(props, ref) {
|
|
3694
|
+
function ResizeObserver$1(props, ref) {
|
|
3695
3695
|
var children = props.children;
|
|
3696
3696
|
var childNodes = typeof children === 'function' ? [children] : toArray$2(children);
|
|
3697
3697
|
if (process.env.NODE_ENV !== 'production') {
|
|
@@ -3709,7 +3709,7 @@ function ResizeObserver(props, ref) {
|
|
|
3709
3709
|
}), child);
|
|
3710
3710
|
});
|
|
3711
3711
|
}
|
|
3712
|
-
var RefResizeObserver = /*#__PURE__*/a$j.forwardRef(ResizeObserver);
|
|
3712
|
+
var RefResizeObserver = /*#__PURE__*/a$j.forwardRef(ResizeObserver$1);
|
|
3713
3713
|
if (process.env.NODE_ENV !== 'production') {
|
|
3714
3714
|
RefResizeObserver.displayName = 'ResizeObserver';
|
|
3715
3715
|
}
|
|
@@ -20769,6 +20769,7 @@ const TableWrapper = styled.div `
|
|
|
20769
20769
|
const TableWrapperScroll = styled.div `
|
|
20770
20770
|
width: 100%;
|
|
20771
20771
|
overflow-x: ${({ $stopScroll }) => ($stopScroll ? "hidden" : "auto")};
|
|
20772
|
+
overflow-y: hidden;
|
|
20772
20773
|
`;
|
|
20773
20774
|
const StyledTable = styled.table `
|
|
20774
20775
|
width: 100%;
|
|
@@ -21075,7 +21076,11 @@ const TableHeaderCell = ({ header, serverSide, filters, sorting, scrollPosition,
|
|
|
21075
21076
|
const [coords, setCoords] = useState({ top: 0, left: 0 });
|
|
21076
21077
|
const [tempFilters, setTempFilters] = useState([]);
|
|
21077
21078
|
const [currentAppliedFilters, setCurrentAppliedFilters] = useState([]);
|
|
21079
|
+
const [filterOptions, setFilterOptions] = useState([]);
|
|
21078
21080
|
const [textAlign, setTextAlign] = useState("left");
|
|
21081
|
+
useEffect(() => {
|
|
21082
|
+
setFilterOptions(meta?.filterOptions || []);
|
|
21083
|
+
}, [meta]);
|
|
21079
21084
|
const toggleMenu = (e) => {
|
|
21080
21085
|
e.stopPropagation();
|
|
21081
21086
|
if (buttonRef.current) {
|
|
@@ -21100,7 +21105,7 @@ const TableHeaderCell = ({ header, serverSide, filters, sorting, scrollPosition,
|
|
|
21100
21105
|
const insideButton = !!buttonRef.current?.contains(target);
|
|
21101
21106
|
const insideMenu = !!menuRef.current?.contains(target);
|
|
21102
21107
|
if (!insideButton && !insideMenu) {
|
|
21103
|
-
setTempFilters(currentAppliedFilters);
|
|
21108
|
+
setTempFilters(filters?.[header.id] || currentAppliedFilters);
|
|
21104
21109
|
showFilterMenu(false);
|
|
21105
21110
|
}
|
|
21106
21111
|
};
|
|
@@ -21159,7 +21164,7 @@ const TableHeaderCell = ({ header, serverSide, filters, sorting, scrollPosition,
|
|
|
21159
21164
|
} }),
|
|
21160
21165
|
a__default.createElement(FilterBoxLabel, { htmlFor: "all-checkbox" }, "Select All"))),
|
|
21161
21166
|
(serverSide
|
|
21162
|
-
?
|
|
21167
|
+
? filterOptions
|
|
21163
21168
|
: Array.from(header.column.getFacetedUniqueValues().keys()))?.map((item) => {
|
|
21164
21169
|
if (meta?.singleSelect) {
|
|
21165
21170
|
return (a__default.createElement(MenuItemOption, { key: item, id: `${item}-button`, onClick: () => {
|
|
@@ -21261,6 +21266,8 @@ function Table({ columns, data, isLoading, serverSide = false, onPageChange, onS
|
|
|
21261
21266
|
pageIndex: paginationDetails?.startingPage - 1,
|
|
21262
21267
|
pageSize: paginationDetails?.rowsPerPage || 10,
|
|
21263
21268
|
});
|
|
21269
|
+
const [localData, setLocalData] = useState(data);
|
|
21270
|
+
const [localColumns, setLocalColumns] = useState(columns);
|
|
21264
21271
|
const [totalData, setTotalData] = useState(paginationDetails?.totalRows);
|
|
21265
21272
|
const [sorting, setSorting] = useState([]);
|
|
21266
21273
|
const [filters, setFilters] = useState({});
|
|
@@ -21283,20 +21290,47 @@ function Table({ columns, data, isLoading, serverSide = false, onPageChange, onS
|
|
|
21283
21290
|
pageIndex: paginationDetails?.startingPage - 1,
|
|
21284
21291
|
pageSize: paginationDetails?.rowsPerPage || 10,
|
|
21285
21292
|
});
|
|
21286
|
-
|
|
21287
|
-
|
|
21288
|
-
|
|
21293
|
+
setLocalColumns(columns);
|
|
21294
|
+
setLocalData(data);
|
|
21295
|
+
}, [paginationDetails, data, columns]);
|
|
21296
|
+
useLayoutEffect$1(() => {
|
|
21297
|
+
const el = scrollRef.current;
|
|
21289
21298
|
if (!el)
|
|
21290
21299
|
return;
|
|
21291
|
-
|
|
21292
|
-
|
|
21293
|
-
const
|
|
21300
|
+
let raf = 0;
|
|
21301
|
+
const update = () => {
|
|
21302
|
+
const maxScrollLeft = Math.max(0, el.scrollWidth - el.clientWidth);
|
|
21303
|
+
const hasOverflow = maxScrollLeft > 1; // tolerance for rounding
|
|
21304
|
+
let atLeft = el.scrollLeft <= 0;
|
|
21305
|
+
let atRight = el.scrollLeft >= maxScrollLeft - 1;
|
|
21306
|
+
if (!hasOverflow) {
|
|
21307
|
+
atLeft = true;
|
|
21308
|
+
atRight = true;
|
|
21309
|
+
}
|
|
21294
21310
|
setScrollState({ atLeft, atRight });
|
|
21295
21311
|
};
|
|
21296
|
-
|
|
21297
|
-
|
|
21298
|
-
|
|
21299
|
-
|
|
21312
|
+
const schedule = () => {
|
|
21313
|
+
cancelAnimationFrame(raf);
|
|
21314
|
+
raf = requestAnimationFrame(update);
|
|
21315
|
+
};
|
|
21316
|
+
// Listen to scroll
|
|
21317
|
+
el.addEventListener("scroll", schedule);
|
|
21318
|
+
// Recalculate when sizes change
|
|
21319
|
+
const ro = new ResizeObserver(schedule);
|
|
21320
|
+
ro.observe(el);
|
|
21321
|
+
const tableEl = el.querySelector("table");
|
|
21322
|
+
if (tableEl)
|
|
21323
|
+
ro.observe(tableEl);
|
|
21324
|
+
window.addEventListener("resize", schedule);
|
|
21325
|
+
// Initial measurement after layout
|
|
21326
|
+
schedule();
|
|
21327
|
+
return () => {
|
|
21328
|
+
el.removeEventListener("scroll", schedule);
|
|
21329
|
+
window.removeEventListener("resize", schedule);
|
|
21330
|
+
ro.disconnect();
|
|
21331
|
+
cancelAnimationFrame(raf);
|
|
21332
|
+
};
|
|
21333
|
+
}, []);
|
|
21300
21334
|
const handleInputChange = (rowId, field, value) => {
|
|
21301
21335
|
setRowState((prev) => ({
|
|
21302
21336
|
...prev,
|
|
@@ -21317,7 +21351,7 @@ function Table({ columns, data, isLoading, serverSide = false, onPageChange, onS
|
|
|
21317
21351
|
size: 20,
|
|
21318
21352
|
});
|
|
21319
21353
|
}
|
|
21320
|
-
cols.push(...
|
|
21354
|
+
cols.push(...localColumns);
|
|
21321
21355
|
if (showRowOptions) {
|
|
21322
21356
|
cols.push({
|
|
21323
21357
|
id: "options",
|
|
@@ -21329,9 +21363,16 @@ function Table({ columns, data, isLoading, serverSide = false, onPageChange, onS
|
|
|
21329
21363
|
});
|
|
21330
21364
|
}
|
|
21331
21365
|
return cols;
|
|
21332
|
-
}, [
|
|
21366
|
+
}, [
|
|
21367
|
+
localColumns,
|
|
21368
|
+
selectedRows,
|
|
21369
|
+
localData,
|
|
21370
|
+
onRowSelect,
|
|
21371
|
+
showSelection,
|
|
21372
|
+
showRowOptions,
|
|
21373
|
+
]);
|
|
21333
21374
|
const table = useReactTable({
|
|
21334
|
-
data,
|
|
21375
|
+
data: localData,
|
|
21335
21376
|
columns: enhancedColumns,
|
|
21336
21377
|
state: {
|
|
21337
21378
|
pagination,
|