@pdg/react-table 1.0.31 → 1.0.33

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/index.js CHANGED
@@ -8236,8 +8236,8 @@ function useResizeDetector(props) {
8236
8236
  },
8237
8237
  });
8238
8238
  });
8239
- var StyledNoDataDiv = material.styled('div')(templateObject_1$2 || (templateObject_1$2 = __makeTemplateObject(["\n text-align: center;\n padding: 30px 0;\n font-weight: 500;\n font-size: 13px;\n color: #94a0b2;\n opacity: 0.8;\n\n .material-icons {\n font-size: 40px;\n margin-bottom: 5px;\n }\n"], ["\n text-align: center;\n padding: 30px 0;\n font-weight: 500;\n font-size: 13px;\n color: #94a0b2;\n opacity: 0.8;\n\n .material-icons {\n font-size: 40px;\n margin-bottom: 5px;\n }\n"])));
8240
- var templateObject_1$2;var TableBodyRowDefaultProps = {};const CSS = /*#__PURE__*/Object.freeze({
8239
+ var StyledNoDataDiv = material.styled('div')(templateObject_1$3 || (templateObject_1$3 = __makeTemplateObject(["\n text-align: center;\n padding: 30px 0;\n font-weight: 500;\n font-size: 13px;\n color: #94a0b2;\n opacity: 0.8;\n\n .material-icons {\n font-size: 40px;\n margin-bottom: 5px;\n }\n"], ["\n text-align: center;\n padding: 30px 0;\n font-weight: 500;\n font-size: 13px;\n color: #94a0b2;\n opacity: 0.8;\n\n .material-icons {\n font-size: 40px;\n margin-bottom: 5px;\n }\n"])));
8240
+ var templateObject_1$3;var TableBodyRowDefaultProps = {};const CSS = /*#__PURE__*/Object.freeze({
8241
8241
  Translate: {
8242
8242
  toString(transform) {
8243
8243
  if (!transform) {
@@ -8336,6 +8336,33 @@ var equal = function (v1, v2) {
8336
8336
  default:
8337
8337
  return column.align || defaultAlign;
8338
8338
  }
8339
+ }
8340
+ function combineSx() {
8341
+ var sx = [];
8342
+ for (var _i = 0; _i < arguments.length; _i++) {
8343
+ sx[_i] = arguments[_i];
8344
+ }
8345
+ var finalSx = [];
8346
+ if (Array.isArray(finalSx)) {
8347
+ sx.forEach(function (v) { return v && finalSx.push.apply(finalSx, (Array.isArray(v) ? v : [v])); });
8348
+ }
8349
+ return finalSx;
8350
+ }
8351
+ function typographyColorToSxColor(color) {
8352
+ if (typeof color === 'string') {
8353
+ if (['primary', 'secondary', 'info', 'warning', 'error'].includes(color)) {
8354
+ return "".concat(color, ".main");
8355
+ }
8356
+ else if (color === 'text') {
8357
+ return 'text.primary';
8358
+ }
8359
+ else {
8360
+ return color;
8361
+ }
8362
+ }
8363
+ else {
8364
+ return color;
8365
+ }
8339
8366
  }var TableContextDefaultValue = {
8340
8367
  menuOpen: false,
8341
8368
  openMenuId: undefined,
@@ -8353,7 +8380,7 @@ var equal = function (v1, v2) {
8353
8380
  throw new Error('useFormState should be used within TableContext.Provider');
8354
8381
  }
8355
8382
  return value;
8356
- }var StyledTableCell = material.styled(material.TableCell)(templateObject_1$1 || (templateObject_1$1 = __makeTemplateObject(["\n &.ellipsis {\n position: relative;\n max-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n"], ["\n &.ellipsis {\n position: relative;\n max-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n"])));
8383
+ }var StyledTableCell = material.styled(material.TableCell)(templateObject_1$2 || (templateObject_1$2 = __makeTemplateObject(["\n &.ellipsis {\n position: relative;\n max-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n"], ["\n &.ellipsis {\n position: relative;\n max-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n"])));
8357
8384
  var TableCommonCell = function (_a) {
8358
8385
  // Use ---------------------------------------------------------------------------------------------------------------
8359
8386
  var children = _a.children, initClassName = _a.className, initStyle = _a.style, initSx = _a.sx, type = _a.type, column = _a.column, defaultAlign = _a.defaultAlign, initDefaultEllipsis = _a.defaultEllipsis, index = _a.index, item = _a.item, onClick = _a.onClick;
@@ -8498,7 +8525,7 @@ var TableCommonCell = function (_a) {
8498
8525
  // Render ----------------------------------------------------------------------------------------------------------
8499
8526
  return (React__default["default"].createElement(StyledTableCell, { align: align, className: classNames(className, 'TableCommonCell', ellipsis && 'ellipsis', column.type ? "column-type-".concat(column.type) : false), style: style, sx: sx, onClick: type === 'body' ? handleClick : undefined }, children));
8500
8527
  };
8501
- var templateObject_1$1;var StyledButtonsBox = material.styled(material.Box)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n flex-wrap: wrap;\n gap: 5px;\n"], ["\n display: flex;\n flex-wrap: wrap;\n gap: 5px;\n"])));
8528
+ var templateObject_1$2;var StyledButtonsBox = material.styled(material.Box)(templateObject_1$1 || (templateObject_1$1 = __makeTemplateObject(["\n display: flex;\n flex-wrap: wrap;\n gap: 5px;\n"], ["\n display: flex;\n flex-wrap: wrap;\n gap: 5px;\n"])));
8502
8529
  var TableBodyCell = function (_a) {
8503
8530
  // Use ---------------------------------------------------------------------------------------------------------------
8504
8531
  var item = _a.item, index = _a.index, column = _a.column, defaultAlign = _a.defaultAlign, defaultEllipsis = _a.defaultEllipsis, onClick = _a.onClick, onCheckChange = _a.onCheckChange;
@@ -8615,17 +8642,15 @@ var TableBodyCell = function (_a) {
8615
8642
  data = dayjs__default["default"](data, column.dateFormat).format('YYYY-MM-DD HH:mm:ss');
8616
8643
  }
8617
8644
  break;
8618
- default:
8619
- {
8620
- var tooltip = void 0;
8621
- if (column.onGetTooltip) {
8622
- tooltip = column.onGetTooltip(item, index);
8623
- }
8624
- if (tooltip) {
8625
- data = (React__default["default"].createElement(material.Tooltip, __assign$1({ className: 'TableBodyCell-tooltip', title: tooltip }, column.tooltipProps), React__default["default"].isValidElement(data) ? data : React__default["default"].createElement("span", null, data)));
8626
- }
8627
- }
8628
- break;
8645
+ }
8646
+ if (column.type !== 'img') {
8647
+ var tooltip = void 0;
8648
+ if (column.onGetTooltip) {
8649
+ tooltip = column.onGetTooltip(item, index);
8650
+ }
8651
+ if (tooltip) {
8652
+ data = (React__default["default"].createElement(material.Tooltip, __assign$1({ className: 'TableBodyCell-tooltip', title: tooltip }, column.tooltipProps), React__default["default"].isValidElement(data) ? (data.type === React__default["default"].Fragment ? (React__default["default"].createElement("span", null, data)) : (data)) : (React__default["default"].createElement("span", null, data))));
8653
+ }
8629
8654
  }
8630
8655
  return data;
8631
8656
  }, [column, item, index, menuOpen, checked, checkDisabled, buttonsBoxJustifyContent, onCheckChange]);
@@ -8642,7 +8667,7 @@ var TableBodyCell = function (_a) {
8642
8667
  // Render ----------------------------------------------------------------------------------------------------------
8643
8668
  return (React__default["default"].createElement(TableCommonCell, { type: 'body', className: 'TableBodyCell', column: column, defaultAlign: defaultAlign, defaultEllipsis: defaultEllipsis, item: item, index: index, onClick: column.onClick || onClick ? handleClick : undefined }, !isHidden && data));
8644
8669
  };
8645
- var templateObject_1;var StyledBodyRow = material.styled(material.TableRow)(function (_a) {
8670
+ var templateObject_1$1;var StyledBodyRow = material.styled(material.TableRow)(function (_a) {
8646
8671
  var theme = _a.theme;
8647
8672
  return ({
8648
8673
  '&.odd-color:nth-of-type(odd):not(:hover)': {
@@ -9803,4 +9828,25 @@ TableButton.defaultProps = TableButtonDefaultProps;var TableMenuButtonDefaultPro
9803
9828
  })));
9804
9829
  });
9805
9830
  TableMenuButton.displayName = 'TableMenuButton';
9806
- TableMenuButton.defaultProps = TableMenuButtonDefaultProps;exports.SearchTable=SearchTable;exports.SearchTableDefaultProps=SearchTableDefaultProps;exports.Table=Table;exports.TableButton=TableButton;exports.TableButtonDefaultProps=TableButtonDefaultProps;exports.TableDefaultProps=TableDefaultProps;exports.TableIcon=TableIcon;exports.TableIconDefaultProps=TableIconDefaultProps;exports.TableMenuButton=TableMenuButton;exports.TableMenuButtonDefaultProps=TableMenuButtonDefaultProps;//# sourceMappingURL=index.js.map
9831
+ TableMenuButton.defaultProps = TableMenuButtonDefaultProps;var InfoTableDefaultProps = {
9832
+ spacing: 1,
9833
+ labelColor: 'primary',
9834
+ };var Label = material.styled(material.Box)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n font-size: 12px;\n font-weight: bold;\n"], ["\n font-size: 12px;\n font-weight: bold;\n"])));
9835
+ var Value = material.styled(material.Box)(templateObject_2 || (templateObject_2 = __makeTemplateObject([""], [""])));
9836
+ var ValueEllipsis = material.styled('div')(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n position: relative;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"], ["\n position: relative;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"])));
9837
+ var templateObject_1, templateObject_2, templateObject_3;var InfoTable = function (_a) {
9838
+ var cols = _a.cols, spacing = _a.spacing, className = _a.className, style = _a.style, sx = _a.sx, labelClassName = _a.labelClassName, labelColor = _a.labelColor, labelStyle = _a.labelStyle, labelSx = _a.labelSx, info = _a.info, items = _a.items;
9839
+ var xs = React.useMemo(function () { return 12 / cols; }, [cols]);
9840
+ return (React__default["default"].createElement(material.Grid, { container: true, spacing: spacing, className: classNames('InfoTable', className), style: style, sx: sx }, items.map(function (item, idx) {
9841
+ var finalLabelColor = typographyColorToSxColor(item.labelColor || labelColor);
9842
+ var finalLabelSx = combineSx(labelSx, item.labelSx, !!finalLabelColor && { color: finalLabelColor });
9843
+ var data = info[item.name];
9844
+ if (item.onRender)
9845
+ data = item.onRender(info);
9846
+ return (React__default["default"].createElement(material.Grid, { key: idx, item: true, xs: item.xs || xs },
9847
+ React__default["default"].createElement(Label, { className: classNames(labelClassName, item.labelClassName), style: __assign$1(__assign$1({}, item.labelStyle), labelStyle), sx: finalLabelSx }, item.label),
9848
+ React__default["default"].createElement(Value, { className: item.valueClassName, style: item.valueStyle, sx: item.valueSx }, item.ellipsis ? React__default["default"].createElement(ValueEllipsis, null, data) : data)));
9849
+ })));
9850
+ };
9851
+ InfoTable.displayName = 'InfoTable';
9852
+ InfoTable.defaultProps = InfoTableDefaultProps;exports.InfoTable=InfoTable;exports.InfoTableDefaultProps=InfoTableDefaultProps;exports.SearchTable=SearchTable;exports.SearchTableDefaultProps=SearchTableDefaultProps;exports.Table=Table;exports.TableButton=TableButton;exports.TableButtonDefaultProps=TableButtonDefaultProps;exports.TableDefaultProps=TableDefaultProps;exports.TableIcon=TableIcon;exports.TableIconDefaultProps=TableIconDefaultProps;exports.TableMenuButton=TableMenuButton;exports.TableMenuButtonDefaultProps=TableMenuButtonDefaultProps;//# sourceMappingURL=index.js.map