@octaviaflow/core 3.0.18-beta.4 → 3.0.18-beta.6
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/components/DataTable/DataTable.d.ts +19 -1
- package/dist/components/DataTable/DataTable.d.ts.map +1 -1
- package/dist/components/Select/Select.d.ts.map +1 -1
- package/dist/index.cjs +44 -75
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +44 -76
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -56,11 +56,23 @@ export interface DataTableBulkAction<T = any> {
|
|
|
56
56
|
onClick: (selectedRows: T[], selectedIndexes: number[]) => void;
|
|
57
57
|
}
|
|
58
58
|
export interface DataTablePagination {
|
|
59
|
+
/**
|
|
60
|
+
* Controlled OR initial page size. When `onPageSizeChange` is also passed
|
|
61
|
+
* this acts as a controlled value (consumer owns the state). Otherwise
|
|
62
|
+
* we use it as the initial value and own the state internally — picks
|
|
63
|
+
* from the Rows select then sync into our internal state.
|
|
64
|
+
*/
|
|
59
65
|
pageSize?: number;
|
|
60
66
|
pageSizes?: number[];
|
|
61
67
|
/** Controlled page (1-indexed). If omitted, internal state. */
|
|
62
68
|
page?: number;
|
|
63
69
|
onPageChange?: (page: number) => void;
|
|
70
|
+
/**
|
|
71
|
+
* Fires when the user picks a new value from the Rows-per-page select.
|
|
72
|
+
* Pair with a controlled `pageSize` for fully-controlled pagination.
|
|
73
|
+
* When omitted, the table owns the page-size state internally.
|
|
74
|
+
*/
|
|
75
|
+
onPageSizeChange?: (pageSize: number) => void;
|
|
64
76
|
/** When false, server-side pagination (don't slice client data). */
|
|
65
77
|
clientSide?: boolean;
|
|
66
78
|
/** Total rows when server-side. */
|
|
@@ -98,8 +110,14 @@ export interface DataTableProps<T extends Record<string, any> = Record<string, a
|
|
|
98
110
|
expandable?: boolean;
|
|
99
111
|
renderExpanded?: (row: T, index: number) => ReactNode;
|
|
100
112
|
pagination?: DataTablePagination | true;
|
|
113
|
+
/**
|
|
114
|
+
* Row density. Default `"comfortable"`. The user-facing density toggle
|
|
115
|
+
* has been removed from the toolbar; future revisions will source this
|
|
116
|
+
* from a per-account preference (server-side) so the choice persists
|
|
117
|
+
* across pages and machines. Pass explicitly only when a specific
|
|
118
|
+
* surface needs a denser look (rare).
|
|
119
|
+
*/
|
|
101
120
|
density?: DataTableDensity;
|
|
102
|
-
showDensityToggle?: boolean;
|
|
103
121
|
showColumnSettings?: boolean;
|
|
104
122
|
loading?: boolean;
|
|
105
123
|
error?: ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../../../src/components/DataTable/DataTable.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../../../src/components/DataTable/DataTable.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../src/components/Select/Select.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,SAAS,EAOf,MAAM,OAAO,CAAC;AASf,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qEAAqE;IACrE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2EAA2E;IAC3E,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,uEAAuE;IACvE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,8EAA8E;IAC9E,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;qDACiD;IACjD,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;qDAIiD;IACjD,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAyHD,eAAO,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../src/components/Select/Select.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,SAAS,EAOf,MAAM,OAAO,CAAC;AASf,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qEAAqE;IACrE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2EAA2E;IAC3E,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,uEAAuE;IACvE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,8EAA8E;IAC9E,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;qDACiD;IACjD,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;qDAIiD;IACjD,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAyHD,eAAO,MAAM,MAAM,2GAiVjB,CAAC"}
|
package/dist/index.cjs
CHANGED
|
@@ -4906,7 +4906,7 @@ var Select = (0, import_react33.forwardRef)(function Select2({
|
|
|
4906
4906
|
const dropdownRef = (0, import_react33.useRef)(null);
|
|
4907
4907
|
const searchRef = (0, import_react33.useRef)(null);
|
|
4908
4908
|
const [searchQuery, setSearchQuery] = (0, import_react33.useState)("");
|
|
4909
|
-
const [dropdownPos, setDropdownPos] = (0, import_react33.useState)({
|
|
4909
|
+
const [dropdownPos, setDropdownPos] = (0, import_react33.useState)({ left: 0, width: 0, maxHeight: 240, direction: "down" });
|
|
4910
4910
|
const setTriggerRef = (node) => {
|
|
4911
4911
|
triggerRef.current = node;
|
|
4912
4912
|
if (typeof forwardedRef === "function") forwardedRef(node);
|
|
@@ -4967,10 +4967,19 @@ var Select = (0, import_react33.forwardRef)(function Select2({
|
|
|
4967
4967
|
const updatePosition = (0, import_react33.useCallback)(() => {
|
|
4968
4968
|
if (!triggerRef.current) return;
|
|
4969
4969
|
const rect = triggerRef.current.getBoundingClientRect();
|
|
4970
|
+
const viewportH = window.innerHeight;
|
|
4971
|
+
const margin = 8;
|
|
4972
|
+
const gap = 4;
|
|
4973
|
+
const spaceBelow = viewportH - rect.bottom - gap - margin;
|
|
4974
|
+
const spaceAbove = rect.top - gap - margin;
|
|
4975
|
+
const PREFERRED_MIN = 200;
|
|
4976
|
+
const openUp = spaceBelow < PREFERRED_MIN && spaceAbove > spaceBelow;
|
|
4970
4977
|
setDropdownPos({
|
|
4971
|
-
top: rect.bottom +
|
|
4978
|
+
...openUp ? { bottom: viewportH - rect.top + gap } : { top: rect.bottom + gap },
|
|
4972
4979
|
left: rect.left,
|
|
4973
|
-
width: rect.width
|
|
4980
|
+
width: rect.width,
|
|
4981
|
+
maxHeight: Math.max(120, openUp ? spaceAbove : spaceBelow),
|
|
4982
|
+
direction: openUp ? "up" : "down"
|
|
4974
4983
|
});
|
|
4975
4984
|
}, []);
|
|
4976
4985
|
(0, import_react33.useEffect)(() => {
|
|
@@ -5062,7 +5071,8 @@ var Select = (0, import_react33.forwardRef)(function Select2({
|
|
|
5062
5071
|
className: "ods-select__dropdown",
|
|
5063
5072
|
style: {
|
|
5064
5073
|
position: "fixed",
|
|
5065
|
-
top: dropdownPos.top,
|
|
5074
|
+
...dropdownPos.top !== void 0 && { top: dropdownPos.top },
|
|
5075
|
+
...dropdownPos.bottom !== void 0 && { bottom: dropdownPos.bottom },
|
|
5066
5076
|
left: dropdownPos.left,
|
|
5067
5077
|
// `minWidth` (not `width`) keeps the popover at
|
|
5068
5078
|
// least as wide as the trigger — preserves visual
|
|
@@ -5072,7 +5082,12 @@ var Select = (0, import_react33.forwardRef)(function Select2({
|
|
|
5072
5082
|
// Avoids the previous `max-content` recipe which
|
|
5073
5083
|
// made the popover grow uncomfortably wide on
|
|
5074
5084
|
// searchable / long-option menus.
|
|
5075
|
-
minWidth: Math.max(dropdownPos.width, dropdownMinWidth ?? 0)
|
|
5085
|
+
minWidth: Math.max(dropdownPos.width, dropdownMinWidth ?? 0),
|
|
5086
|
+
// Bound the popover to the available viewport edge so
|
|
5087
|
+
// it never spills off-screen on tall pages. Pairs with
|
|
5088
|
+
// `overflow-y: auto` from the .ods-select__dropdown
|
|
5089
|
+
// SCSS so long option lists scroll internally.
|
|
5090
|
+
maxHeight: dropdownPos.maxHeight
|
|
5076
5091
|
},
|
|
5077
5092
|
initial: { opacity: 0, scale: 0.95 },
|
|
5078
5093
|
animate: { opacity: 1, scale: 1 },
|
|
@@ -10518,44 +10533,6 @@ function FilterPopover({
|
|
|
10518
10533
|
] }) })
|
|
10519
10534
|
] });
|
|
10520
10535
|
}
|
|
10521
|
-
function DensityPopover({
|
|
10522
|
-
density,
|
|
10523
|
-
setDensity,
|
|
10524
|
-
open,
|
|
10525
|
-
setOpen
|
|
10526
|
-
}) {
|
|
10527
|
-
const triggerRef = (0, import_react52.useRef)(null);
|
|
10528
|
-
return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "ods-datatable__filter", children: [
|
|
10529
|
-
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
10530
|
-
"button",
|
|
10531
|
-
{
|
|
10532
|
-
ref: triggerRef,
|
|
10533
|
-
type: "button",
|
|
10534
|
-
className: "ods-datatable__icon-btn",
|
|
10535
|
-
onClick: () => setOpen(!open),
|
|
10536
|
-
"aria-label": "Row density",
|
|
10537
|
-
"aria-haspopup": "listbox",
|
|
10538
|
-
"aria-expanded": open,
|
|
10539
|
-
children: DensityIcon
|
|
10540
|
-
}
|
|
10541
|
-
),
|
|
10542
|
-
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(PortalMenu, { open, onClose: () => setOpen(false), triggerRef, align: "end", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("ul", { role: "listbox", style: { listStyle: "none", margin: 0, padding: 0 }, children: ["compact", "default", "comfortable"].map((d) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
10543
|
-
"button",
|
|
10544
|
-
{
|
|
10545
|
-
type: "button",
|
|
10546
|
-
className: cn(
|
|
10547
|
-
"ods-datatable__menu-item",
|
|
10548
|
-
density === d && "ods-datatable__menu-item--active"
|
|
10549
|
-
),
|
|
10550
|
-
onClick: () => {
|
|
10551
|
-
setDensity(d);
|
|
10552
|
-
setOpen(false);
|
|
10553
|
-
},
|
|
10554
|
-
children: d.charAt(0).toUpperCase() + d.slice(1)
|
|
10555
|
-
}
|
|
10556
|
-
) }, d)) }) })
|
|
10557
|
-
] });
|
|
10558
|
-
}
|
|
10559
10536
|
function ColumnsPopover({
|
|
10560
10537
|
columns,
|
|
10561
10538
|
hidden,
|
|
@@ -10616,7 +10593,6 @@ var SortDesc = /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_icons12.Care
|
|
|
10616
10593
|
var SortIdle = /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_icons12.CaretSortIcon, { width: 10, height: 10, "aria-hidden": "true", style: { opacity: 0.5 } });
|
|
10617
10594
|
var FilterIcon = /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_icons12.FilterIcon, { width: 12, height: 12, "aria-hidden": "true" });
|
|
10618
10595
|
var ColumnsIcon = /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_icons12.ColumnIcon, { width: 12, height: 12, "aria-hidden": "true" });
|
|
10619
|
-
var DensityIcon = /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_icons12.MenuIcon, { width: 12, height: 12, "aria-hidden": "true" });
|
|
10620
10596
|
var MoreHIcon = () => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_icons12.OverflowMenuHorizontalIcon, { width: 12, height: 12, "aria-hidden": "true" });
|
|
10621
10597
|
var XIcon2 = () => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_icons12.CloseIcon, { width: 12, height: 12, "aria-hidden": "true" });
|
|
10622
10598
|
var RefreshIcon = (props) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_icons12.RenewIcon, { width: 12, height: 12, ...props });
|
|
@@ -10706,8 +10682,7 @@ function DataTable(props) {
|
|
|
10706
10682
|
expandable = false,
|
|
10707
10683
|
renderExpanded,
|
|
10708
10684
|
pagination,
|
|
10709
|
-
density: densityProp = "
|
|
10710
|
-
showDensityToggle = true,
|
|
10685
|
+
density: densityProp = "comfortable",
|
|
10711
10686
|
showColumnSettings = true,
|
|
10712
10687
|
loading = false,
|
|
10713
10688
|
error,
|
|
@@ -10771,9 +10746,7 @@ function DataTable(props) {
|
|
|
10771
10746
|
);
|
|
10772
10747
|
}, [filters, filterValues]);
|
|
10773
10748
|
const [columnWidths, setColumnWidths] = (0, import_react52.useState)({});
|
|
10774
|
-
const
|
|
10775
|
-
const [densityOpen, setDensityOpen] = (0, import_react52.useState)(false);
|
|
10776
|
-
(0, import_react52.useEffect)(() => setDensity(densityProp), [densityProp]);
|
|
10749
|
+
const density = densityProp;
|
|
10777
10750
|
const [hiddenCols, setHiddenCols] = (0, import_react52.useState)(
|
|
10778
10751
|
() => new Set(columns.filter((c) => c.visible === false).map((c) => c.key))
|
|
10779
10752
|
);
|
|
@@ -10784,11 +10757,21 @@ function DataTable(props) {
|
|
|
10784
10757
|
const [internalPage, setInternalPage] = (0, import_react52.useState)(1);
|
|
10785
10758
|
const [internalPageSize, setInternalPageSize] = (0, import_react52.useState)(pgCfg?.pageSize ?? 10);
|
|
10786
10759
|
const page = pgCfg?.page ?? internalPage;
|
|
10787
|
-
|
|
10760
|
+
(0, import_react52.useEffect)(() => {
|
|
10761
|
+
if (pgCfg?.pageSize !== void 0 && pgCfg.pageSize !== internalPageSize) {
|
|
10762
|
+
setInternalPageSize(pgCfg.pageSize);
|
|
10763
|
+
}
|
|
10764
|
+
}, [pgCfg?.pageSize]);
|
|
10765
|
+
const pageSize = internalPageSize;
|
|
10788
10766
|
const setPage = (p) => {
|
|
10789
10767
|
pgCfg?.onPageChange?.(p);
|
|
10790
10768
|
if (pgCfg?.page === void 0) setInternalPage(p);
|
|
10791
10769
|
};
|
|
10770
|
+
const setPageSize = (n) => {
|
|
10771
|
+
setInternalPageSize(n);
|
|
10772
|
+
pgCfg?.onPageSizeChange?.(n);
|
|
10773
|
+
setPage(1);
|
|
10774
|
+
};
|
|
10792
10775
|
const idOf = (0, import_react52.useCallback)(
|
|
10793
10776
|
(row, idx) => getRowId ? getRowId(row, idx) : String(idx),
|
|
10794
10777
|
[getRowId]
|
|
@@ -10950,27 +10933,16 @@ function DataTable(props) {
|
|
|
10950
10933
|
f.key
|
|
10951
10934
|
))
|
|
10952
10935
|
] }),
|
|
10953
|
-
|
|
10954
|
-
|
|
10955
|
-
|
|
10956
|
-
|
|
10957
|
-
|
|
10958
|
-
|
|
10959
|
-
|
|
10960
|
-
|
|
10961
|
-
|
|
10962
|
-
|
|
10963
|
-
showColumnSettings && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
10964
|
-
ColumnsPopover,
|
|
10965
|
-
{
|
|
10966
|
-
columns,
|
|
10967
|
-
hidden: hiddenCols,
|
|
10968
|
-
setHidden: setHiddenCols,
|
|
10969
|
-
open: colSettingsOpen,
|
|
10970
|
-
setOpen: setColSettingsOpen
|
|
10971
|
-
}
|
|
10972
|
-
)
|
|
10973
|
-
] }),
|
|
10936
|
+
showColumnSettings && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "ods-datatable__toolbar-section ods-datatable__toolbar-section--view", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
10937
|
+
ColumnsPopover,
|
|
10938
|
+
{
|
|
10939
|
+
columns,
|
|
10940
|
+
hidden: hiddenCols,
|
|
10941
|
+
setHidden: setHiddenCols,
|
|
10942
|
+
open: colSettingsOpen,
|
|
10943
|
+
setOpen: setColSettingsOpen
|
|
10944
|
+
}
|
|
10945
|
+
) }),
|
|
10974
10946
|
(showRefresh || showExport) && /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "ods-datatable__toolbar-section ods-datatable__toolbar-section--data", children: [
|
|
10975
10947
|
showRefresh && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
10976
10948
|
"button",
|
|
@@ -11246,10 +11218,7 @@ function DataTable(props) {
|
|
|
11246
11218
|
"aria-label": "Rows per page",
|
|
11247
11219
|
value: String(pageSize),
|
|
11248
11220
|
options: pageSizes.map((n) => ({ value: String(n), label: String(n) })),
|
|
11249
|
-
onChange: (v) =>
|
|
11250
|
-
setInternalPageSize(Number(v));
|
|
11251
|
-
setPage(1);
|
|
11252
|
-
}
|
|
11221
|
+
onChange: (v) => setPageSize(Number(v))
|
|
11253
11222
|
}
|
|
11254
11223
|
)
|
|
11255
11224
|
] }),
|