@xyo-network/react-table 2.64.0-rc.7 → 2.64.1

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.
Files changed (195) hide show
  1. package/dist/browser/components/TableEx/TableCellEx.cjs +32 -0
  2. package/dist/{node/components/TableEx/TableCellEx.mjs.map → browser/components/TableEx/TableCellEx.cjs.map} +1 -1
  3. package/dist/browser/components/TableEx/TableCellEx.d.cts +6 -0
  4. package/dist/browser/components/TableEx/TableCellEx.d.cts.map +1 -0
  5. package/dist/browser/components/TableEx/TableCellEx.js +2 -1
  6. package/dist/browser/components/TableEx/TableCellEx.js.map +1 -1
  7. package/dist/browser/components/TableEx/TableEx.cjs +39 -0
  8. package/dist/{node/components/TableEx/TableEx.mjs.map → browser/components/TableEx/TableEx.cjs.map} +1 -1
  9. package/dist/browser/components/TableEx/TableEx.d.cts +9 -0
  10. package/dist/browser/components/TableEx/TableEx.d.cts.map +1 -0
  11. package/dist/browser/components/TableEx/TableEx.js +5 -4
  12. package/dist/browser/components/TableEx/TableEx.js.map +1 -1
  13. package/dist/browser/components/TableEx/TableFooterEx.cjs +42 -0
  14. package/dist/{node/components/TableEx/TableFooterEx.mjs.map → browser/components/TableEx/TableFooterEx.cjs.map} +1 -1
  15. package/dist/browser/components/TableEx/TableFooterEx.d.cts +8 -0
  16. package/dist/browser/components/TableEx/TableFooterEx.d.cts.map +1 -0
  17. package/dist/browser/components/TableEx/TableFooterEx.js +4 -3
  18. package/dist/browser/components/TableEx/TableFooterEx.js.map +1 -1
  19. package/dist/browser/components/TableEx/index.cjs +69 -0
  20. package/dist/browser/components/TableEx/index.cjs.map +1 -0
  21. package/dist/browser/components/TableEx/index.d.cts +5 -0
  22. package/dist/browser/components/TableEx/index.d.cts.map +1 -0
  23. package/dist/browser/components/TableEx/index.js +45 -4
  24. package/dist/browser/components/TableEx/index.js.map +1 -1
  25. package/dist/browser/components/TableEx/types/TableExVariants.cjs +19 -0
  26. package/dist/browser/components/TableEx/types/TableExVariants.cjs.map +1 -0
  27. package/dist/browser/components/TableEx/types/TableExVariants.d.cts +2 -0
  28. package/dist/browser/components/TableEx/types/TableExVariants.d.cts.map +1 -0
  29. package/dist/browser/components/TableEx/types/index.cjs +19 -0
  30. package/dist/{node/components/TableEx/types/index.mjs.map → browser/components/TableEx/types/index.cjs.map} +1 -1
  31. package/dist/browser/components/TableEx/types/index.d.cts +2 -0
  32. package/dist/browser/components/TableEx/types/index.d.cts.map +1 -0
  33. package/dist/browser/components/TableEx/types/index.js +0 -1
  34. package/dist/browser/components/TableEx/types/index.js.map +1 -1
  35. package/dist/browser/components/index.cjs +69 -0
  36. package/dist/browser/components/index.cjs.map +1 -0
  37. package/dist/browser/components/index.d.cts +2 -0
  38. package/dist/browser/components/index.d.cts.map +1 -0
  39. package/dist/browser/components/index.js +45 -1
  40. package/dist/browser/components/index.js.map +1 -1
  41. package/dist/browser/context/TableHeight/Context.cjs +28 -0
  42. package/dist/{node/context/TableHeight/Context.mjs.map → browser/context/TableHeight/Context.cjs.map} +1 -1
  43. package/dist/browser/context/TableHeight/Context.d.cts +4 -0
  44. package/dist/browser/context/TableHeight/Context.d.cts.map +1 -0
  45. package/dist/browser/context/TableHeight/Context.js +2 -1
  46. package/dist/browser/context/TableHeight/Context.js.map +1 -1
  47. package/dist/browser/context/TableHeight/Provider.cjs +54 -0
  48. package/dist/browser/context/TableHeight/Provider.cjs.map +1 -0
  49. package/dist/browser/context/TableHeight/Provider.d.cts +11 -0
  50. package/dist/browser/context/TableHeight/Provider.d.cts.map +1 -0
  51. package/dist/browser/context/TableHeight/Provider.js +9 -3
  52. package/dist/browser/context/TableHeight/Provider.js.map +1 -1
  53. package/dist/browser/context/TableHeight/State.cjs +19 -0
  54. package/dist/browser/context/TableHeight/State.cjs.map +1 -0
  55. package/dist/browser/context/TableHeight/State.d.cts +10 -0
  56. package/dist/browser/context/TableHeight/State.d.cts.map +1 -0
  57. package/dist/browser/context/TableHeight/index.cjs +60 -0
  58. package/dist/browser/context/TableHeight/index.cjs.map +1 -0
  59. package/dist/browser/context/TableHeight/index.d.cts +5 -0
  60. package/dist/browser/context/TableHeight/index.d.cts.map +1 -0
  61. package/dist/browser/context/TableHeight/index.js +36 -4
  62. package/dist/browser/context/TableHeight/index.js.map +1 -1
  63. package/dist/browser/context/TableHeight/use.cjs +34 -0
  64. package/dist/browser/context/TableHeight/use.cjs.map +1 -0
  65. package/dist/browser/context/TableHeight/use.d.cts +2 -0
  66. package/dist/browser/context/TableHeight/use.d.cts.map +1 -0
  67. package/dist/browser/context/TableHeight/use.js +8 -2
  68. package/dist/browser/context/TableHeight/use.js.map +1 -1
  69. package/dist/browser/context/index.cjs +60 -0
  70. package/dist/browser/context/index.cjs.map +1 -0
  71. package/dist/browser/context/index.d.cts +2 -0
  72. package/dist/browser/context/index.d.cts.map +1 -0
  73. package/dist/browser/context/index.js +36 -1
  74. package/dist/browser/context/index.js.map +1 -1
  75. package/dist/browser/index.cjs +104 -0
  76. package/dist/browser/index.cjs.map +1 -0
  77. package/dist/browser/index.d.cts +3 -0
  78. package/dist/browser/index.d.cts.map +1 -0
  79. package/dist/browser/index.js +80 -2
  80. package/dist/browser/index.js.map +1 -1
  81. package/dist/docs.json +1442 -0
  82. package/dist/node/components/TableEx/TableCellEx.cjs +36 -0
  83. package/dist/node/components/TableEx/TableCellEx.cjs.map +1 -0
  84. package/dist/node/components/TableEx/TableCellEx.d.cts +6 -0
  85. package/dist/node/components/TableEx/TableCellEx.d.cts.map +1 -0
  86. package/dist/node/components/TableEx/TableCellEx.js +5 -28
  87. package/dist/node/components/TableEx/TableCellEx.js.map +1 -1
  88. package/dist/node/components/TableEx/TableEx.cjs +44 -0
  89. package/dist/node/components/TableEx/TableEx.cjs.map +1 -0
  90. package/dist/node/components/TableEx/TableEx.d.cts +9 -0
  91. package/dist/node/components/TableEx/TableEx.d.cts.map +1 -0
  92. package/dist/node/components/TableEx/TableEx.js +11 -35
  93. package/dist/node/components/TableEx/TableEx.js.map +1 -1
  94. package/dist/node/components/TableEx/TableFooterEx.cjs +46 -0
  95. package/dist/node/components/TableEx/TableFooterEx.cjs.map +1 -0
  96. package/dist/node/components/TableEx/TableFooterEx.d.cts +8 -0
  97. package/dist/node/components/TableEx/TableFooterEx.d.cts.map +1 -0
  98. package/dist/node/components/TableEx/TableFooterEx.js +7 -30
  99. package/dist/node/components/TableEx/TableFooterEx.js.map +1 -1
  100. package/dist/node/components/TableEx/index.cjs +76 -0
  101. package/dist/node/components/TableEx/index.cjs.map +1 -0
  102. package/dist/node/components/TableEx/index.d.cts +5 -0
  103. package/dist/node/components/TableEx/index.d.cts.map +1 -0
  104. package/dist/node/components/TableEx/index.js +43 -26
  105. package/dist/node/components/TableEx/index.js.map +1 -1
  106. package/dist/node/components/TableEx/types/TableExVariants.cjs +19 -0
  107. package/dist/node/components/TableEx/types/TableExVariants.cjs.map +1 -0
  108. package/dist/node/components/TableEx/types/TableExVariants.d.cts +2 -0
  109. package/dist/node/components/TableEx/types/TableExVariants.d.cts.map +1 -0
  110. package/dist/node/components/TableEx/types/TableExVariants.js +0 -16
  111. package/dist/node/components/TableEx/types/TableExVariants.js.map +1 -1
  112. package/dist/node/components/TableEx/types/index.cjs +19 -0
  113. package/dist/node/components/TableEx/types/index.cjs.map +1 -0
  114. package/dist/node/components/TableEx/types/index.d.cts +2 -0
  115. package/dist/node/components/TableEx/types/index.d.cts.map +1 -0
  116. package/dist/node/components/TableEx/types/index.js +0 -22
  117. package/dist/node/components/TableEx/types/index.js.map +1 -1
  118. package/dist/node/components/index.cjs +76 -0
  119. package/dist/node/components/index.cjs.map +1 -0
  120. package/dist/node/components/index.d.cts +2 -0
  121. package/dist/node/components/index.d.cts.map +1 -0
  122. package/dist/node/components/index.js +43 -20
  123. package/dist/node/components/index.js.map +1 -1
  124. package/dist/node/context/TableHeight/Context.cjs +32 -0
  125. package/dist/node/context/TableHeight/Context.cjs.map +1 -0
  126. package/dist/node/context/TableHeight/Context.d.cts +4 -0
  127. package/dist/node/context/TableHeight/Context.d.cts.map +1 -0
  128. package/dist/node/context/TableHeight/Context.js +5 -28
  129. package/dist/node/context/TableHeight/Context.js.map +1 -1
  130. package/dist/node/context/TableHeight/Provider.cjs +58 -0
  131. package/dist/node/context/TableHeight/Provider.cjs.map +1 -0
  132. package/dist/node/context/TableHeight/Provider.d.cts +11 -0
  133. package/dist/node/context/TableHeight/Provider.d.cts.map +1 -0
  134. package/dist/node/context/TableHeight/Provider.js +19 -37
  135. package/dist/node/context/TableHeight/Provider.js.map +1 -1
  136. package/dist/node/context/TableHeight/State.cjs +19 -0
  137. package/dist/node/context/TableHeight/State.cjs.map +1 -0
  138. package/dist/node/context/TableHeight/State.d.cts +10 -0
  139. package/dist/node/context/TableHeight/State.d.cts.map +1 -0
  140. package/dist/node/context/TableHeight/State.js +0 -16
  141. package/dist/node/context/TableHeight/State.js.map +1 -1
  142. package/dist/node/context/TableHeight/index.cjs +66 -0
  143. package/dist/node/context/TableHeight/index.cjs.map +1 -0
  144. package/dist/node/context/TableHeight/index.d.cts +5 -0
  145. package/dist/node/context/TableHeight/index.d.cts.map +1 -0
  146. package/dist/node/context/TableHeight/index.js +35 -27
  147. package/dist/node/context/TableHeight/index.js.map +1 -1
  148. package/dist/node/context/TableHeight/use.cjs +38 -0
  149. package/dist/node/context/TableHeight/use.cjs.map +1 -0
  150. package/dist/node/context/TableHeight/use.d.cts +2 -0
  151. package/dist/node/context/TableHeight/use.d.cts.map +1 -0
  152. package/dist/node/context/TableHeight/use.js +11 -29
  153. package/dist/node/context/TableHeight/use.js.map +1 -1
  154. package/dist/node/context/index.cjs +66 -0
  155. package/dist/node/context/index.cjs.map +1 -0
  156. package/dist/node/context/index.d.cts +2 -0
  157. package/dist/node/context/index.d.cts.map +1 -0
  158. package/dist/node/context/index.js +35 -21
  159. package/dist/node/context/index.js.map +1 -1
  160. package/dist/node/index.cjs +114 -0
  161. package/dist/node/index.cjs.map +1 -0
  162. package/dist/node/index.d.cts +3 -0
  163. package/dist/node/index.d.cts.map +1 -0
  164. package/dist/node/index.js +78 -22
  165. package/dist/node/index.js.map +1 -1
  166. package/package.json +16 -16
  167. package/dist/browser/components/TableEx/TableEx.stories.js +0 -72
  168. package/dist/browser/components/TableEx/TableEx.stories.js.map +0 -1
  169. package/dist/node/components/TableEx/TableCellEx.mjs +0 -10
  170. package/dist/node/components/TableEx/TableEx.mjs +0 -17
  171. package/dist/node/components/TableEx/TableEx.stories.js +0 -98
  172. package/dist/node/components/TableEx/TableEx.stories.js.map +0 -1
  173. package/dist/node/components/TableEx/TableEx.stories.mjs +0 -72
  174. package/dist/node/components/TableEx/TableEx.stories.mjs.map +0 -1
  175. package/dist/node/components/TableEx/TableFooterEx.mjs +0 -20
  176. package/dist/node/components/TableEx/index.mjs +0 -5
  177. package/dist/node/components/TableEx/index.mjs.map +0 -1
  178. package/dist/node/components/TableEx/types/TableExVariants.mjs +0 -1
  179. package/dist/node/components/TableEx/types/TableExVariants.mjs.map +0 -1
  180. package/dist/node/components/TableEx/types/index.mjs +0 -2
  181. package/dist/node/components/index.mjs +0 -2
  182. package/dist/node/components/index.mjs.map +0 -1
  183. package/dist/node/context/TableHeight/Context.mjs +0 -6
  184. package/dist/node/context/TableHeight/Provider.mjs +0 -27
  185. package/dist/node/context/TableHeight/Provider.mjs.map +0 -1
  186. package/dist/node/context/TableHeight/State.mjs +0 -1
  187. package/dist/node/context/TableHeight/State.mjs.map +0 -1
  188. package/dist/node/context/TableHeight/index.mjs +0 -5
  189. package/dist/node/context/TableHeight/index.mjs.map +0 -1
  190. package/dist/node/context/TableHeight/use.mjs +0 -7
  191. package/dist/node/context/TableHeight/use.mjs.map +0 -1
  192. package/dist/node/context/index.mjs +0 -2
  193. package/dist/node/context/index.mjs.map +0 -1
  194. package/dist/node/index.mjs +0 -3
  195. package/dist/node/index.mjs.map +0 -1
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/index.ts
21
+ var src_exports = {};
22
+ __export(src_exports, {
23
+ TableCellEx: () => TableCellEx,
24
+ TableEx: () => TableEx,
25
+ TableExWithRef: () => TableExWithRef,
26
+ TableFooterEx: () => TableFooterEx,
27
+ TableHeightContext: () => TableHeightContext,
28
+ TableHeightProvider: () => TableHeightProvider,
29
+ useTableHeight: () => useTableHeight
30
+ });
31
+ module.exports = __toCommonJS(src_exports);
32
+
33
+ // src/components/TableEx/TableCellEx.tsx
34
+ var import_material = require("@mui/material");
35
+ var TableCellEx = (0, import_material.styled)(import_material.TableCell, { name: "TableCellNoBgColor", shouldForwardProp: (prop) => prop !== "noBgColor" })(
36
+ ({ noBgColor = true }) => ({
37
+ ...noBgColor && { backgroundColor: "transparent" }
38
+ })
39
+ );
40
+
41
+ // src/components/TableEx/TableEx.tsx
42
+ var import_material2 = require("@mui/material");
43
+ var import_react = require("react");
44
+ var import_jsx_runtime = require("react/jsx-runtime");
45
+ var TableExInner = (0, import_react.forwardRef)(({ children, ...props }, ref) => {
46
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material2.Table, { ref, ...props, children });
47
+ });
48
+ TableExInner.displayName = "TableExInner";
49
+ var TableExWithRef = (0, import_react.forwardRef)(({ variant, children, ...props }, ref) => {
50
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TableExInner, { stickyHeader: variant === "scrollable", ref, ...props, children });
51
+ });
52
+ TableExWithRef.displayName = "TableEx";
53
+ var TableEx = TableExWithRef;
54
+
55
+ // src/components/TableEx/TableFooterEx.tsx
56
+ var import_material3 = require("@mui/material");
57
+ var import_jsx_runtime2 = require("react/jsx-runtime");
58
+ var TableFooterExRoot = (0, import_material3.styled)(import_material3.TableFooter, {
59
+ name: "TableFooterEx",
60
+ shouldForwardProp: (propName) => propName !== "scrollable",
61
+ slot: "Root"
62
+ })(({ variant, theme }) => ({
63
+ backgroundColor: theme.palette.background.default,
64
+ bottom: "unset",
65
+ position: "relative",
66
+ ...variant === "scrollable" && {
67
+ bottom: 0,
68
+ position: "sticky"
69
+ }
70
+ }));
71
+ var TableFooterEx = ({ children, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(TableFooterExRoot, { ...props, children });
72
+
73
+ // src/context/TableHeight/Context.ts
74
+ var import_react_shared = require("@xyo-network/react-shared");
75
+ var TableHeightContext = (0, import_react_shared.createContextEx)();
76
+
77
+ // src/context/TableHeight/Provider.tsx
78
+ var import_react2 = require("react");
79
+ var import_jsx_runtime3 = require("react/jsx-runtime");
80
+ var TableHeightProvider = ({
81
+ children,
82
+ additionalRows = 0,
83
+ defaultVisibleRows,
84
+ heightFormat = "px"
85
+ }) => {
86
+ const [visibleRows, setVisibleRows] = (0, import_react2.useState)(defaultVisibleRows);
87
+ const [height, setHeight] = (0, import_react2.useState)();
88
+ const [rowHeight, setRowHeight] = (0, import_react2.useState)();
89
+ const formattedHeight = (0, import_react2.useMemo)(() => height !== void 0 ? `${height}${heightFormat}` : void 0, [height, heightFormat]);
90
+ (0, import_react2.useEffect)(() => {
91
+ setVisibleRows(defaultVisibleRows);
92
+ }, [defaultVisibleRows]);
93
+ (0, import_react2.useEffect)(() => {
94
+ if (rowHeight !== void 0 && visibleRows !== void 0) {
95
+ setHeight(rowHeight * (visibleRows + additionalRows));
96
+ }
97
+ }, [defaultVisibleRows, rowHeight, visibleRows, additionalRows]);
98
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(TableHeightContext.Provider, { value: { height: formattedHeight, provided: true, rowHeight, setRowHeight, setVisibleRows, visibleRows }, children });
99
+ };
100
+
101
+ // src/context/TableHeight/use.tsx
102
+ var import_react_shared2 = require("@xyo-network/react-shared");
103
+ var useTableHeight = (required = false) => (0, import_react_shared2.useContextEx)(TableHeightContext, "TableHeight", required);
104
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/index.ts","../../src/components/TableEx/TableCellEx.tsx","../../src/components/TableEx/TableEx.tsx","../../src/components/TableEx/TableFooterEx.tsx","../../src/context/TableHeight/Context.ts","../../src/context/TableHeight/Provider.tsx","../../src/context/TableHeight/use.tsx"],"sourcesContent":["export * from './components'\nexport * from './context'\n","import { styled, TableCell, TableCellProps } from '@mui/material'\n\nexport interface TableCellExProps extends TableCellProps {\n noBgColor?: boolean\n}\n\nexport const TableCellEx = styled(TableCell, { name: 'TableCellNoBgColor', shouldForwardProp: (prop) => prop !== 'noBgColor' })<TableCellExProps>(\n ({ noBgColor = true }) => ({\n ...(noBgColor && { backgroundColor: 'transparent' }),\n }),\n)\n","import { Table, TableProps } from '@mui/material'\nimport { forwardRef, PropsWithChildren } from 'react'\n\nimport { TableExVariants } from './types'\n\nexport interface TableExProps extends PropsWithChildren, TableProps {\n variant?: TableExVariants\n}\n\nconst TableExInner: React.FC<TableExProps> = forwardRef(({ children, ...props }, ref) => {\n return (\n <Table ref={ref} {...props}>\n {children}\n </Table>\n )\n})\n\nTableExInner.displayName = 'TableExInner'\n\nexport const TableExWithRef: React.FC<TableExProps> = forwardRef(({ variant, children, ...props }, ref) => {\n return (\n <TableExInner stickyHeader={variant === 'scrollable'} ref={ref} {...props}>\n {children}\n </TableExInner>\n )\n})\n\nTableExWithRef.displayName = 'TableEx'\n\nexport const TableEx = TableExWithRef\n","import { styled, TableFooter, TableFooterProps } from '@mui/material'\nimport { PropsWithChildren } from 'react'\n\nimport { TableExVariants } from './types'\n\nconst TableFooterExRoot = styled(TableFooter, {\n name: 'TableFooterEx',\n shouldForwardProp: (propName) => propName !== 'scrollable',\n slot: 'Root',\n})<TableFooterExProps>(({ variant, theme }) => ({\n backgroundColor: theme.palette.background.default,\n bottom: 'unset',\n position: 'relative',\n ...(variant === 'scrollable' && {\n bottom: 0,\n position: 'sticky',\n }),\n}))\n\nexport interface TableFooterExProps extends PropsWithChildren, TableFooterProps {\n variant?: TableExVariants\n}\n\nexport const TableFooterEx: React.FC<TableFooterExProps> = ({ children, ...props }) => <TableFooterExRoot {...props}>{children}</TableFooterExRoot>\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { TableHeightState } from './State'\n\nexport const TableHeightContext = createContextEx<TableHeightState>()\n","import { WithChildren } from '@xylabs/react-shared'\nimport { ContextExProviderProps } from '@xyo-network/react-shared'\nimport { useEffect, useMemo, useState } from 'react'\n\nimport { TableHeightContext } from './Context'\n\nexport interface TableHeightProviderProps extends ContextExProviderProps, WithChildren {\n /** @field Account for optional header and footer rows */\n additionalRows?: number\n defaultVisibleRows?: number\n heightFormat?: string\n}\n\nexport const TableHeightProvider: React.FC<TableHeightProviderProps> = ({\n children,\n additionalRows = 0,\n defaultVisibleRows,\n heightFormat = 'px',\n}) => {\n const [visibleRows, setVisibleRows] = useState(defaultVisibleRows)\n const [height, setHeight] = useState<number | undefined>()\n const [rowHeight, setRowHeight] = useState<number | undefined>()\n\n const formattedHeight = useMemo(() => (height !== undefined ? `${height}${heightFormat}` : undefined), [height, heightFormat])\n\n useEffect(() => {\n setVisibleRows(defaultVisibleRows)\n }, [defaultVisibleRows])\n\n useEffect(() => {\n if (rowHeight !== undefined && visibleRows !== undefined) {\n setHeight(rowHeight * (visibleRows + additionalRows))\n }\n }, [defaultVisibleRows, rowHeight, visibleRows, additionalRows])\n\n return (\n <TableHeightContext.Provider value={{ height: formattedHeight, provided: true, rowHeight, setRowHeight, setVisibleRows, visibleRows }}>\n {children}\n </TableHeightContext.Provider>\n )\n}\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { TableHeightContext } from './Context'\n\nexport const useTableHeight = (required = false) => useContextEx(TableHeightContext, 'TableHeight', required)\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,sBAAkD;AAM3C,IAAM,kBAAc,wBAAO,2BAAW,EAAE,MAAM,sBAAsB,mBAAmB,CAAC,SAAS,SAAS,YAAY,CAAC;AAAA,EAC5H,CAAC,EAAE,YAAY,KAAK,OAAO;AAAA,IACzB,GAAI,aAAa,EAAE,iBAAiB,cAAc;AAAA,EACpD;AACF;;;ACVA,IAAAA,mBAAkC;AAClC,mBAA8C;AAU1C;AAFJ,IAAM,mBAAuC,yBAAW,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ;AACvF,SACE,4CAAC,0BAAM,KAAW,GAAG,OAClB,UACH;AAEJ,CAAC;AAED,aAAa,cAAc;AAEpB,IAAM,qBAAyC,yBAAW,CAAC,EAAE,SAAS,UAAU,GAAG,MAAM,GAAG,QAAQ;AACzG,SACE,4CAAC,gBAAa,cAAc,YAAY,cAAc,KAAW,GAAG,OACjE,UACH;AAEJ,CAAC;AAED,eAAe,cAAc;AAEtB,IAAM,UAAU;;;AC7BvB,IAAAC,mBAAsD;AAuBiC,IAAAC,sBAAA;AAlBvF,IAAM,wBAAoB,yBAAO,8BAAa;AAAA,EAC5C,MAAM;AAAA,EACN,mBAAmB,CAAC,aAAa,aAAa;AAAA,EAC9C,MAAM;AACR,CAAC,EAAsB,CAAC,EAAE,SAAS,MAAM,OAAO;AAAA,EAC9C,iBAAiB,MAAM,QAAQ,WAAW;AAAA,EAC1C,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,GAAI,YAAY,gBAAgB;AAAA,IAC9B,QAAQ;AAAA,IACR,UAAU;AAAA,EACZ;AACF,EAAE;AAMK,IAAM,gBAA8C,CAAC,EAAE,UAAU,GAAG,MAAM,MAAM,6CAAC,qBAAmB,GAAG,OAAQ,UAAS;;;ACvB/H,0BAAgC;AAIzB,IAAM,yBAAqB,qCAAkC;;;ACFpE,IAAAC,gBAA6C;AAkCzC,IAAAC,sBAAA;AAvBG,IAAM,sBAA0D,CAAC;AAAA,EACtE;AAAA,EACA,iBAAiB;AAAA,EACjB;AAAA,EACA,eAAe;AACjB,MAAM;AACJ,QAAM,CAAC,aAAa,cAAc,QAAI,wBAAS,kBAAkB;AACjE,QAAM,CAAC,QAAQ,SAAS,QAAI,wBAA6B;AACzD,QAAM,CAAC,WAAW,YAAY,QAAI,wBAA6B;AAE/D,QAAM,sBAAkB,uBAAQ,MAAO,WAAW,SAAY,GAAG,MAAM,GAAG,YAAY,KAAK,QAAY,CAAC,QAAQ,YAAY,CAAC;AAE7H,+BAAU,MAAM;AACd,mBAAe,kBAAkB;AAAA,EACnC,GAAG,CAAC,kBAAkB,CAAC;AAEvB,+BAAU,MAAM;AACd,QAAI,cAAc,UAAa,gBAAgB,QAAW;AACxD,gBAAU,aAAa,cAAc,eAAe;AAAA,IACtD;AAAA,EACF,GAAG,CAAC,oBAAoB,WAAW,aAAa,cAAc,CAAC;AAE/D,SACE,6CAAC,mBAAmB,UAAnB,EAA4B,OAAO,EAAE,QAAQ,iBAAiB,UAAU,MAAM,WAAW,cAAc,gBAAgB,YAAY,GACjI,UACH;AAEJ;;;ACxCA,IAAAC,uBAA6B;AAItB,IAAM,iBAAiB,CAAC,WAAW,cAAU,mCAAa,oBAAoB,eAAe,QAAQ;","names":["import_material","import_material","import_jsx_runtime","import_react","import_jsx_runtime","import_react_shared"]}
@@ -0,0 +1,3 @@
1
+ export * from './components';
2
+ export * from './context';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA"}
@@ -1,3 +1,81 @@
1
- export * from "./components";
2
- export * from "./context";
1
+ // src/components/TableEx/TableCellEx.tsx
2
+ import { styled, TableCell } from "@mui/material";
3
+ var TableCellEx = styled(TableCell, { name: "TableCellNoBgColor", shouldForwardProp: (prop) => prop !== "noBgColor" })(
4
+ ({ noBgColor = true }) => ({
5
+ ...noBgColor && { backgroundColor: "transparent" }
6
+ })
7
+ );
8
+
9
+ // src/components/TableEx/TableEx.tsx
10
+ import { Table } from "@mui/material";
11
+ import { forwardRef } from "react";
12
+ import { jsx } from "react/jsx-runtime";
13
+ var TableExInner = forwardRef(({ children, ...props }, ref) => {
14
+ return /* @__PURE__ */ jsx(Table, { ref, ...props, children });
15
+ });
16
+ TableExInner.displayName = "TableExInner";
17
+ var TableExWithRef = forwardRef(({ variant, children, ...props }, ref) => {
18
+ return /* @__PURE__ */ jsx(TableExInner, { stickyHeader: variant === "scrollable", ref, ...props, children });
19
+ });
20
+ TableExWithRef.displayName = "TableEx";
21
+ var TableEx = TableExWithRef;
22
+
23
+ // src/components/TableEx/TableFooterEx.tsx
24
+ import { styled as styled2, TableFooter } from "@mui/material";
25
+ import { jsx as jsx2 } from "react/jsx-runtime";
26
+ var TableFooterExRoot = styled2(TableFooter, {
27
+ name: "TableFooterEx",
28
+ shouldForwardProp: (propName) => propName !== "scrollable",
29
+ slot: "Root"
30
+ })(({ variant, theme }) => ({
31
+ backgroundColor: theme.palette.background.default,
32
+ bottom: "unset",
33
+ position: "relative",
34
+ ...variant === "scrollable" && {
35
+ bottom: 0,
36
+ position: "sticky"
37
+ }
38
+ }));
39
+ var TableFooterEx = ({ children, ...props }) => /* @__PURE__ */ jsx2(TableFooterExRoot, { ...props, children });
40
+
41
+ // src/context/TableHeight/Context.ts
42
+ import { createContextEx } from "@xyo-network/react-shared";
43
+ var TableHeightContext = createContextEx();
44
+
45
+ // src/context/TableHeight/Provider.tsx
46
+ import { useEffect, useMemo, useState } from "react";
47
+ import { jsx as jsx3 } from "react/jsx-runtime";
48
+ var TableHeightProvider = ({
49
+ children,
50
+ additionalRows = 0,
51
+ defaultVisibleRows,
52
+ heightFormat = "px"
53
+ }) => {
54
+ const [visibleRows, setVisibleRows] = useState(defaultVisibleRows);
55
+ const [height, setHeight] = useState();
56
+ const [rowHeight, setRowHeight] = useState();
57
+ const formattedHeight = useMemo(() => height !== void 0 ? `${height}${heightFormat}` : void 0, [height, heightFormat]);
58
+ useEffect(() => {
59
+ setVisibleRows(defaultVisibleRows);
60
+ }, [defaultVisibleRows]);
61
+ useEffect(() => {
62
+ if (rowHeight !== void 0 && visibleRows !== void 0) {
63
+ setHeight(rowHeight * (visibleRows + additionalRows));
64
+ }
65
+ }, [defaultVisibleRows, rowHeight, visibleRows, additionalRows]);
66
+ return /* @__PURE__ */ jsx3(TableHeightContext.Provider, { value: { height: formattedHeight, provided: true, rowHeight, setRowHeight, setVisibleRows, visibleRows }, children });
67
+ };
68
+
69
+ // src/context/TableHeight/use.tsx
70
+ import { useContextEx } from "@xyo-network/react-shared";
71
+ var useTableHeight = (required = false) => useContextEx(TableHeightContext, "TableHeight", required);
72
+ export {
73
+ TableCellEx,
74
+ TableEx,
75
+ TableExWithRef,
76
+ TableFooterEx,
77
+ TableHeightContext,
78
+ TableHeightProvider,
79
+ useTableHeight
80
+ };
3
81
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts"],"sourcesContent":["export * from './components'\nexport * from './context'\n"],"mappings":"AAAA,cAAc;AACd,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../src/components/TableEx/TableCellEx.tsx","../../src/components/TableEx/TableEx.tsx","../../src/components/TableEx/TableFooterEx.tsx","../../src/context/TableHeight/Context.ts","../../src/context/TableHeight/Provider.tsx","../../src/context/TableHeight/use.tsx"],"sourcesContent":["import { styled, TableCell, TableCellProps } from '@mui/material'\n\nexport interface TableCellExProps extends TableCellProps {\n noBgColor?: boolean\n}\n\nexport const TableCellEx = styled(TableCell, { name: 'TableCellNoBgColor', shouldForwardProp: (prop) => prop !== 'noBgColor' })<TableCellExProps>(\n ({ noBgColor = true }) => ({\n ...(noBgColor && { backgroundColor: 'transparent' }),\n }),\n)\n","import { Table, TableProps } from '@mui/material'\nimport { forwardRef, PropsWithChildren } from 'react'\n\nimport { TableExVariants } from './types'\n\nexport interface TableExProps extends PropsWithChildren, TableProps {\n variant?: TableExVariants\n}\n\nconst TableExInner: React.FC<TableExProps> = forwardRef(({ children, ...props }, ref) => {\n return (\n <Table ref={ref} {...props}>\n {children}\n </Table>\n )\n})\n\nTableExInner.displayName = 'TableExInner'\n\nexport const TableExWithRef: React.FC<TableExProps> = forwardRef(({ variant, children, ...props }, ref) => {\n return (\n <TableExInner stickyHeader={variant === 'scrollable'} ref={ref} {...props}>\n {children}\n </TableExInner>\n )\n})\n\nTableExWithRef.displayName = 'TableEx'\n\nexport const TableEx = TableExWithRef\n","import { styled, TableFooter, TableFooterProps } from '@mui/material'\nimport { PropsWithChildren } from 'react'\n\nimport { TableExVariants } from './types'\n\nconst TableFooterExRoot = styled(TableFooter, {\n name: 'TableFooterEx',\n shouldForwardProp: (propName) => propName !== 'scrollable',\n slot: 'Root',\n})<TableFooterExProps>(({ variant, theme }) => ({\n backgroundColor: theme.palette.background.default,\n bottom: 'unset',\n position: 'relative',\n ...(variant === 'scrollable' && {\n bottom: 0,\n position: 'sticky',\n }),\n}))\n\nexport interface TableFooterExProps extends PropsWithChildren, TableFooterProps {\n variant?: TableExVariants\n}\n\nexport const TableFooterEx: React.FC<TableFooterExProps> = ({ children, ...props }) => <TableFooterExRoot {...props}>{children}</TableFooterExRoot>\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { TableHeightState } from './State'\n\nexport const TableHeightContext = createContextEx<TableHeightState>()\n","import { WithChildren } from '@xylabs/react-shared'\nimport { ContextExProviderProps } from '@xyo-network/react-shared'\nimport { useEffect, useMemo, useState } from 'react'\n\nimport { TableHeightContext } from './Context'\n\nexport interface TableHeightProviderProps extends ContextExProviderProps, WithChildren {\n /** @field Account for optional header and footer rows */\n additionalRows?: number\n defaultVisibleRows?: number\n heightFormat?: string\n}\n\nexport const TableHeightProvider: React.FC<TableHeightProviderProps> = ({\n children,\n additionalRows = 0,\n defaultVisibleRows,\n heightFormat = 'px',\n}) => {\n const [visibleRows, setVisibleRows] = useState(defaultVisibleRows)\n const [height, setHeight] = useState<number | undefined>()\n const [rowHeight, setRowHeight] = useState<number | undefined>()\n\n const formattedHeight = useMemo(() => (height !== undefined ? `${height}${heightFormat}` : undefined), [height, heightFormat])\n\n useEffect(() => {\n setVisibleRows(defaultVisibleRows)\n }, [defaultVisibleRows])\n\n useEffect(() => {\n if (rowHeight !== undefined && visibleRows !== undefined) {\n setHeight(rowHeight * (visibleRows + additionalRows))\n }\n }, [defaultVisibleRows, rowHeight, visibleRows, additionalRows])\n\n return (\n <TableHeightContext.Provider value={{ height: formattedHeight, provided: true, rowHeight, setRowHeight, setVisibleRows, visibleRows }}>\n {children}\n </TableHeightContext.Provider>\n )\n}\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { TableHeightContext } from './Context'\n\nexport const useTableHeight = (required = false) => useContextEx(TableHeightContext, 'TableHeight', required)\n"],"mappings":";AAAA,SAAS,QAAQ,iBAAiC;AAM3C,IAAM,cAAc,OAAO,WAAW,EAAE,MAAM,sBAAsB,mBAAmB,CAAC,SAAS,SAAS,YAAY,CAAC;AAAA,EAC5H,CAAC,EAAE,YAAY,KAAK,OAAO;AAAA,IACzB,GAAI,aAAa,EAAE,iBAAiB,cAAc;AAAA,EACpD;AACF;;;ACVA,SAAS,aAAyB;AAClC,SAAS,kBAAqC;AAU1C;AAFJ,IAAM,eAAuC,WAAW,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ;AACvF,SACE,oBAAC,SAAM,KAAW,GAAG,OAClB,UACH;AAEJ,CAAC;AAED,aAAa,cAAc;AAEpB,IAAM,iBAAyC,WAAW,CAAC,EAAE,SAAS,UAAU,GAAG,MAAM,GAAG,QAAQ;AACzG,SACE,oBAAC,gBAAa,cAAc,YAAY,cAAc,KAAW,GAAG,OACjE,UACH;AAEJ,CAAC;AAED,eAAe,cAAc;AAEtB,IAAM,UAAU;;;AC7BvB,SAAS,UAAAA,SAAQ,mBAAqC;AAuBiC,gBAAAC,YAAA;AAlBvF,IAAM,oBAAoBD,QAAO,aAAa;AAAA,EAC5C,MAAM;AAAA,EACN,mBAAmB,CAAC,aAAa,aAAa;AAAA,EAC9C,MAAM;AACR,CAAC,EAAsB,CAAC,EAAE,SAAS,MAAM,OAAO;AAAA,EAC9C,iBAAiB,MAAM,QAAQ,WAAW;AAAA,EAC1C,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,GAAI,YAAY,gBAAgB;AAAA,IAC9B,QAAQ;AAAA,IACR,UAAU;AAAA,EACZ;AACF,EAAE;AAMK,IAAM,gBAA8C,CAAC,EAAE,UAAU,GAAG,MAAM,MAAM,gBAAAC,KAAC,qBAAmB,GAAG,OAAQ,UAAS;;;ACvB/H,SAAS,uBAAuB;AAIzB,IAAM,qBAAqB,gBAAkC;;;ACFpE,SAAS,WAAW,SAAS,gBAAgB;AAkCzC,gBAAAC,YAAA;AAvBG,IAAM,sBAA0D,CAAC;AAAA,EACtE;AAAA,EACA,iBAAiB;AAAA,EACjB;AAAA,EACA,eAAe;AACjB,MAAM;AACJ,QAAM,CAAC,aAAa,cAAc,IAAI,SAAS,kBAAkB;AACjE,QAAM,CAAC,QAAQ,SAAS,IAAI,SAA6B;AACzD,QAAM,CAAC,WAAW,YAAY,IAAI,SAA6B;AAE/D,QAAM,kBAAkB,QAAQ,MAAO,WAAW,SAAY,GAAG,MAAM,GAAG,YAAY,KAAK,QAAY,CAAC,QAAQ,YAAY,CAAC;AAE7H,YAAU,MAAM;AACd,mBAAe,kBAAkB;AAAA,EACnC,GAAG,CAAC,kBAAkB,CAAC;AAEvB,YAAU,MAAM;AACd,QAAI,cAAc,UAAa,gBAAgB,QAAW;AACxD,gBAAU,aAAa,cAAc,eAAe;AAAA,IACtD;AAAA,EACF,GAAG,CAAC,oBAAoB,WAAW,aAAa,cAAc,CAAC;AAE/D,SACE,gBAAAA,KAAC,mBAAmB,UAAnB,EAA4B,OAAO,EAAE,QAAQ,iBAAiB,UAAU,MAAM,WAAW,cAAc,gBAAgB,YAAY,GACjI,UACH;AAEJ;;;ACxCA,SAAS,oBAAoB;AAItB,IAAM,iBAAiB,CAAC,WAAW,UAAU,aAAa,oBAAoB,eAAe,QAAQ;","names":["styled","jsx","jsx"]}