@true-engineering/true-react-common-ui-kit 3.27.1 → 3.28.2

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 (28) hide show
  1. package/README.md +25 -0
  2. package/dist/components/Description/Description.styles.d.ts +1 -1
  3. package/dist/components/FlexibleTable/FlexibleTable.d.ts +5 -5
  4. package/dist/components/FlexibleTable/FlexibleTable.stories.d.ts +2 -2
  5. package/dist/components/FlexibleTable/components/FlexibleTableCell/FlexibleTableCell.d.ts +4 -4
  6. package/dist/components/FlexibleTable/components/FlexibleTableRow/FlexibleTableRow.d.ts +7 -7
  7. package/dist/components/FlexibleTable/helpers.d.ts +2 -2
  8. package/dist/components/FlexibleTable/types.d.ts +10 -9
  9. package/dist/components/List/components/ListItem/ListItem.d.ts +1 -1
  10. package/dist/components/ScrollIntoViewIfNeeded/ScrollIntoViewIfNeeded.d.ts +2 -2
  11. package/dist/components/TextButton/TextButton.styles.d.ts +1 -1
  12. package/dist/helpers/misc.d.ts +2 -0
  13. package/dist/hooks/use-tweak-styles.d.ts +1 -1
  14. package/dist/true-react-common-ui-kit.js +18 -15
  15. package/dist/true-react-common-ui-kit.js.map +1 -1
  16. package/dist/true-react-common-ui-kit.umd.cjs +18 -15
  17. package/dist/true-react-common-ui-kit.umd.cjs.map +1 -1
  18. package/package.json +4 -4
  19. package/src/components/FlexibleTable/FlexibleTable.stories.tsx +3 -2
  20. package/src/components/FlexibleTable/FlexibleTable.tsx +23 -15
  21. package/src/components/FlexibleTable/components/FlexibleTableCell/FlexibleTableCell.tsx +25 -19
  22. package/src/components/FlexibleTable/components/FlexibleTableRow/FlexibleTableRow.tsx +16 -9
  23. package/src/components/FlexibleTable/helpers.ts +6 -3
  24. package/src/components/FlexibleTable/types.ts +14 -9
  25. package/src/components/List/List.tsx +12 -4
  26. package/src/components/List/components/ListItem/ListItem.tsx +1 -1
  27. package/src/helpers/misc.ts +2 -0
  28. package/src/hooks/use-tweak-styles.ts +1 -1
package/README.md CHANGED
@@ -11,6 +11,31 @@
11
11
 
12
12
  # Release Notes
13
13
 
14
+ ## 3.28.2
15
+
16
+ ### Changes
17
+
18
+ - **List**: `shouldDrawSpacerBelow` и `shouldDrawSpacerAbove` теперь не рендерятся первыми и последними в списке
19
+
20
+ ## 3.28.1
21
+
22
+ ### Changes
23
+
24
+ - **ListItem**: `onClick` стал опциональным. При отсутствии - базовый onClick List вызван не будет
25
+
26
+ ## 3.28.0
27
+
28
+ ### Changes
29
+
30
+ - Поднята версия `true-react-platform-helpers` (требуется `node:20`)
31
+ - Подняты версии `jss` и `react-jss` (можно избавляться от `resolutions`)
32
+ - **transformToKebab** и **addDataAttributes**: помечены как `deprecated`
33
+ - **useTweakStyles**: усилен тип ClassName
34
+ - **FlexibleTable**: `IValueComponent` и `ITitleComponent` заменены на `IValueComponentProps` и `ITitleComponentProps`
35
+ - **FlexibleTable**: `title` и `component` переписаны на `IRenderNode`, `titleComponent` удален
36
+ - **FlexibleTable**: добавлена типизация для `uniqueField` и соответствующих `onRowClick` и `onRowHover`
37
+ - **FlexibleTable**: добавлена типизация для `headerContent` и ~~`titleComponent`~~ `title`
38
+
14
39
  ## 3.27.1
15
40
 
16
41
  ### Changes
@@ -1,3 +1,3 @@
1
1
  import { ITweakStyles } from '../../theme';
2
- export declare const useStyles: import("../../theme").IUseStyles<"root" | "link" | "button", unknown>;
2
+ export declare const useStyles: import("../../theme").IUseStyles<"link" | "root" | "button", unknown>;
3
3
  export type IDescriptionStyles = ITweakStyles<typeof useStyles>;
@@ -1,14 +1,14 @@
1
1
  import { ReactNode, RefObject } from 'react';
2
2
  import { ICommonProps } from '../../types';
3
3
  import { IFlexibleTableRowProps } from './components';
4
- import { ITableRow, IFlexibleTableConfigType, IInfinityScrollConfig, IFlexibleTableRenderMode } from './types';
4
+ import { ITableRow, IFlexibleTableConfigType, IInfinityScrollConfig, IFlexibleTableRenderMode, IHeaderContent } from './types';
5
5
  import { IFlexibleTableStyles } from './FlexibleTable.styles';
6
- export interface IFlexibleTableProps<Row extends ITableRow> extends ICommonProps<IFlexibleTableStyles>, Pick<IFlexibleTableRowProps<Row>, 'uniqueField' | 'activeRows' | 'rowAttributes' | 'isFirstColumnSticky' | 'isExpandableRowComponentInitiallyOpen' | 'expandableRowComponent' | 'onRowClick' | 'onRowHover'> {
6
+ export interface IFlexibleTableProps<Row extends ITableRow, HeaderContent extends IHeaderContent<Row>, UniqueField extends keyof Row> extends ICommonProps<IFlexibleTableStyles>, Pick<IFlexibleTableRowProps<Row, HeaderContent, UniqueField>, 'uniqueField' | 'activeRows' | 'rowAttributes' | 'isFirstColumnSticky' | 'isExpandableRowComponentInitiallyOpen' | 'expandableRowComponent' | 'onRowClick' | 'onRowHover'> {
7
7
  content: Row[];
8
8
  /** @default 'table' */
9
9
  renderMode?: IFlexibleTableRenderMode;
10
- headerContent?: Partial<Record<keyof Row, any>>;
11
- config: IFlexibleTableConfigType<Row>;
10
+ headerContent?: HeaderContent;
11
+ config: IFlexibleTableConfigType<Row, HeaderContent>;
12
12
  enabledColumns?: Array<keyof Row & string>;
13
13
  /** @default false */
14
14
  isLoading?: boolean;
@@ -19,4 +19,4 @@ export interface IFlexibleTableProps<Row extends ITableRow> extends ICommonProps
19
19
  refForScroll?: RefObject<HTMLDivElement>;
20
20
  nothingFoundContent?: ReactNode;
21
21
  }
22
- export declare function FlexibleTable<Row extends ITableRow>({ content, headerContent, config, enabledColumns, isLoading, isHorizontallyScrollable, infinityScrollConfig, renderMode, refForScroll, nothingFoundContent, data, testId, tweakStyles, onHeadClick, ...restProps }: IFlexibleTableProps<Row>): JSX.Element;
22
+ export declare function FlexibleTable<Row extends ITableRow, HeaderContent extends IHeaderContent<Row> = IHeaderContent<Row>, UniqueField extends keyof Row = keyof Row>({ content, headerContent, config, enabledColumns, isLoading, isHorizontallyScrollable, infinityScrollConfig, renderMode, refForScroll, nothingFoundContent, data, testId, tweakStyles, onHeadClick, ...restProps }: IFlexibleTableProps<Row, HeaderContent, UniqueField>): JSX.Element;
@@ -1,4 +1,4 @@
1
- declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0fc72a6d").R, import("./FlexibleTable").IFlexibleTableProps<import("./types").ITableRow>>;
1
+ declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0fc72a6d").R, import("./FlexibleTable").IFlexibleTableProps<import("./types").ITableRow, Partial<Record<string, unknown>>, string>>;
2
2
  export default _default;
3
3
  interface ITableContent {
4
4
  contractCode: string;
@@ -12,4 +12,4 @@ interface ITableContent {
12
12
  currency: string;
13
13
  status: string;
14
14
  }
15
- export declare const Default: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0fc72a6d").R, import("./FlexibleTable").IFlexibleTableProps<ITableContent>>;
15
+ export declare const Default: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0fc72a6d").R, import("./FlexibleTable").IFlexibleTableProps<ITableContent, Partial<Record<keyof ITableContent, unknown>>, keyof ITableContent>>;
@@ -1,14 +1,14 @@
1
1
  /// <reference types="react" />
2
2
  import { ICommonProps } from '../../../../types';
3
- import { ITableRow, IValueComponent, IFlexibleTableConfigType, IFlexibleTableRenderMode } from '../../types';
3
+ import { ITableRow, IValueComponentProps, IFlexibleTableConfigType, IFlexibleTableRenderMode, IHeaderContent } from '../../types';
4
4
  import { IFlexibleTableCellStyles } from './FlexibleTableCell.styles';
5
- export interface IFlexibleTableCellProps<Row extends ITableRow> extends Pick<ICommonProps<IFlexibleTableCellStyles>, 'tweakStyles'>, Pick<Parameters<IValueComponent<Row, unknown>>[0], 'isFocusedRow' | 'isNestedComponentExpanded' | 'isRowNestedComponentExpanded' | 'onSetNestedComponent'> {
5
+ export interface IFlexibleTableCellProps<Row extends ITableRow, HeaderContent extends IHeaderContent<Row>> extends Pick<ICommonProps<IFlexibleTableCellStyles>, 'tweakStyles'>, Pick<IValueComponentProps<Row, unknown>, 'isFocusedRow' | 'isNestedComponentExpanded' | 'isRowNestedComponentExpanded' | 'onSetNestedComponent'> {
6
6
  row: Row;
7
7
  columnName: keyof Row;
8
- config: IFlexibleTableConfigType<Row>;
8
+ config: IFlexibleTableConfigType<Row, HeaderContent>;
9
9
  renderMode: IFlexibleTableRenderMode;
10
10
  isSecond?: boolean;
11
11
  isSticky?: boolean;
12
12
  isLoading?: boolean;
13
13
  }
14
- export declare function FlexibleTableCell<Row extends ITableRow>({ row, columnName, config, renderMode, isSecond, isSticky, isLoading, tweakStyles, ...valueComponentProps }: IFlexibleTableCellProps<Row>): JSX.Element;
14
+ export declare function FlexibleTableCell<Row extends ITableRow, HeaderContent extends IHeaderContent<Row>>({ row, columnName, config, renderMode, isSecond, isSticky, isLoading, tweakStyles, ...valueComponentProps }: IFlexibleTableCellProps<Row, HeaderContent>): JSX.Element;
@@ -1,11 +1,11 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { ICommonProps } from '../../../../types';
3
- import { ITableRow, IFlexibleTableConfigType, IFlexibleTableRenderMode } from '../../types';
3
+ import { ITableRow, IFlexibleTableConfigType, IFlexibleTableRenderMode, IHeaderContent } from '../../types';
4
4
  import { IFlexibleTableRowStyles } from './FlexibleTableRow.styles';
5
- export interface IFlexibleTableRowProps<Row extends ITableRow> extends Pick<ICommonProps<IFlexibleTableRowStyles>, 'tweakStyles'> {
5
+ export interface IFlexibleTableRowProps<Row extends ITableRow, HeaderContent extends IHeaderContent<Row>, UniqueField extends keyof Row> extends Pick<ICommonProps<IFlexibleTableRowStyles>, 'tweakStyles'> {
6
6
  item: Row;
7
7
  index: number;
8
- uniqueField?: keyof Row;
8
+ uniqueField?: UniqueField;
9
9
  renderMode: IFlexibleTableRenderMode;
10
10
  /** Индексы строк, на которые навешивается класс `active` */
11
11
  activeRows?: number[];
@@ -13,16 +13,16 @@ export interface IFlexibleTableRowProps<Row extends ITableRow> extends Pick<ICom
13
13
  isFirstColumnSticky?: boolean;
14
14
  /** @default false */
15
15
  isLoading?: boolean;
16
- config: IFlexibleTableConfigType<Row>;
16
+ config: IFlexibleTableConfigType<Row, HeaderContent>;
17
17
  columns: Array<keyof Row & string>;
18
18
  rowAttributes?: Array<keyof Row>;
19
19
  /** @default false */
20
20
  isExpandableRowComponentInitiallyOpen?: boolean | ((row: Row, index: number) => boolean);
21
21
  /** Возвращает React-элемент, который отрисуется под строкой при нажатии на неё */
22
22
  expandableRowComponent?: (item: Row, isOpen: boolean, close: () => void) => ReactNode;
23
- onRowHover?: (id?: string) => void;
24
- onRowClick?: (id: string) => void;
23
+ onRowHover?: (id?: Row[UniqueField]) => void;
24
+ onRowClick?: (id: Row[UniqueField]) => void;
25
25
  }
26
- declare function FlexibleTableRowInner<Row extends ITableRow>({ item, index, config, columns, uniqueField, renderMode, activeRows, isFirstColumnSticky, isLoading, rowAttributes, isExpandableRowComponentInitiallyOpen, tweakStyles, expandableRowComponent, onRowHover, onRowClick, }: IFlexibleTableRowProps<Row>): JSX.Element;
26
+ declare function FlexibleTableRowInner<Row extends ITableRow, HeaderContent extends IHeaderContent<Row>, UniqueField extends keyof Row>({ item, index, config, columns, uniqueField, renderMode, activeRows, isFirstColumnSticky, isLoading, rowAttributes, isExpandableRowComponentInitiallyOpen, tweakStyles, expandableRowComponent, onRowHover, onRowClick, }: IFlexibleTableRowProps<Row, HeaderContent, UniqueField>): JSX.Element;
27
27
  export declare const FlexibleTableRow: typeof FlexibleTableRowInner;
28
28
  export {};
@@ -1,3 +1,3 @@
1
- import { IFlexibleTableConfigType } from './types';
1
+ import { IFlexibleTableConfigType, ITableRow } from './types';
2
2
  export declare const hasHorizontalScrollBar: (el: HTMLElement | null | undefined) => boolean;
3
- export declare const formatCellContent: <Values>(value: unknown, config?: IFlexibleTableConfigType<Values>[keyof Values] | undefined) => string;
3
+ export declare const formatCellContent: <Values extends ITableRow, HeaderContent extends Partial<Record<keyof Values, unknown>>>(value: unknown, config?: IFlexibleTableConfigType<Values, HeaderContent>[keyof Values] | undefined) => string;
@@ -1,22 +1,23 @@
1
- import { CSSProperties, FC, ReactNode } from 'react';
1
+ import { CSSProperties, ReactNode } from 'react';
2
+ import { IRenderNode } from '../../types';
2
3
  export type IFlexibleTableRenderMode = 'table' | 'divs';
3
4
  export type ITableRow = Record<string, any>;
4
- export type ITitleComponent<Value> = FC<{
5
+ export type IHeaderContent<T extends ITableRow> = Partial<Record<keyof T, unknown>>;
6
+ export interface ITitleComponentProps<Value> {
5
7
  value?: Value;
6
- }>;
7
- export type IValueComponent<Values, Value> = (props: {
8
+ }
9
+ export interface IValueComponentProps<Values, Value> {
8
10
  value: Value;
9
11
  row: Values;
10
12
  isFocusedRow?: boolean;
11
13
  isNestedComponentExpanded: boolean;
12
14
  isRowNestedComponentExpanded: boolean;
13
15
  onSetNestedComponent: (component?: ReactNode) => void;
14
- }) => JSX.Element | ReactNode;
15
- export type IFlexibleTableConfigType<Values> = {
16
+ }
17
+ export type IFlexibleTableConfigType<Values extends ITableRow, HeaderContent extends IHeaderContent<Values> = IHeaderContent<Values>> = {
16
18
  [Key in keyof Values]?: {
17
- title?: ReactNode;
18
- titleComponent?: ITitleComponent<unknown>;
19
- component?: IValueComponent<Values, NonNullable<Values[Key]>>;
19
+ title?: IRenderNode<ITitleComponentProps<HeaderContent[Key]>>;
20
+ component?: IRenderNode<IValueComponentProps<Values, NonNullable<Values[Key]>>>;
20
21
  dateFormat?: string;
21
22
  minWidth?: string | number;
22
23
  width?: string | number;
@@ -12,6 +12,6 @@ export interface IListItemProps extends ICommonProps<IListItemStyles> {
12
12
  shouldDrawSpacerAbove?: boolean;
13
13
  shouldDrawSpacerBelow?: boolean;
14
14
  withIconGap?: boolean;
15
- onClick: (event: MouseEvent | KeyboardEvent) => void;
15
+ onClick?: (event: MouseEvent | KeyboardEvent) => void;
16
16
  }
17
17
  export declare const ListItem: FC<IListItemProps>;
@@ -161,7 +161,7 @@ export declare class ScrollIntoViewIfNeeded extends PureComponent<IScrollIntoVie
161
161
  results?: number | undefined;
162
162
  security?: string | undefined;
163
163
  unselectable?: "on" | "off" | undefined;
164
- inputMode?: "none" | "search" | "text" | "email" | "tel" | "url" | "numeric" | "decimal" | undefined;
164
+ inputMode?: "search" | "none" | "text" | "email" | "tel" | "url" | "numeric" | "decimal" | undefined;
165
165
  is?: string | undefined;
166
166
  "aria-activedescendant"?: string | undefined;
167
167
  "aria-atomic"?: (boolean | "false" | "true") | undefined;
@@ -180,7 +180,7 @@ export declare class ScrollIntoViewIfNeeded extends PureComponent<IScrollIntoVie
180
180
  "aria-description"?: string | undefined;
181
181
  "aria-details"?: string | undefined;
182
182
  "aria-disabled"?: (boolean | "false" | "true") | undefined;
183
- "aria-dropeffect"?: "copy" | "none" | "link" | "move" | "popup" | "execute" | undefined;
183
+ "aria-dropeffect"?: "copy" | "link" | "none" | "move" | "popup" | "execute" | undefined;
184
184
  "aria-errormessage"?: string | undefined;
185
185
  "aria-expanded"?: (boolean | "false" | "true") | undefined;
186
186
  "aria-flowto"?: string | undefined;
@@ -1,6 +1,6 @@
1
1
  import { ITweakStyles } from '../../theme';
2
2
  import { IThemedPreloaderStyles } from '../ThemedPreloader';
3
- export declare const useStyles: import("../../theme").IUseStyles<"content" | "root" | "bold" | "circle" | "icon" | "active" | "disabled" | "primary" | "secondary" | "custom" | "l" | "xl" | "loader" | "loading" | "iconContainer" | "reverseContent", unknown>;
3
+ export declare const useStyles: import("../../theme").IUseStyles<"content" | "bold" | "root" | "circle" | "icon" | "active" | "disabled" | "primary" | "secondary" | "custom" | "l" | "xl" | "loader" | "loading" | "iconContainer" | "reverseContent", unknown>;
4
4
  export declare const preloaderStyles: IThemedPreloaderStyles;
5
5
  export type ITextButtonStyles = ITweakStyles<typeof useStyles, {
6
6
  tweakPreloader: IThemedPreloaderStyles;
@@ -1,6 +1,7 @@
1
1
  import hexToRgba from 'hex-to-rgba';
2
2
  import { IDataAttributes } from '../types';
3
3
  export declare const rgba: typeof hexToRgba;
4
+ /** @deprecated Используйте `toKebabCase` из `true-react-platform-helpers` */
4
5
  export declare const transformToKebab: (string: string) => string;
5
6
  export declare const hasExactParent: (element: Element, parent: Element) => boolean;
6
7
  export declare const getParentNode: (element: Element | ShadowRoot | Document) => Element;
@@ -16,4 +17,5 @@ export declare const setCaretPosition: (elem: HTMLInputElement, caretPos: number
16
17
  export declare const isSpaceChar: (char?: string) => boolean;
17
18
  export declare const getNumberLength: (n?: number) => number;
18
19
  export declare const trimStringToMaxLength: (val: string, maxLength: number) => string;
20
+ /** @deprecated Используйте `addDataAttributes` из `true-react-platform-helpers` */
19
21
  export declare const addDataAttributes: (data?: IDataAttributes) => IDataAttributes;
@@ -1,5 +1,5 @@
1
1
  import { IComponentName } from '../theme';
2
- export declare const useTweakStyles: <StyleSheet_1, ClassName extends keyof StyleSheet_1>({ innerStyles, tweakStyles: currentComponentTweakStyles, className, currentComponentName, }: {
2
+ export declare const useTweakStyles: <StyleSheet_1, ClassName extends keyof StyleSheet_1 & `tweak${string}`>({ innerStyles, tweakStyles: currentComponentTweakStyles, className, currentComponentName, }: {
3
3
  /**
4
4
  * Это tweakStyles, определенные в родительском компоненте
5
5
  * (например, стили для Input, определенные в стилях компонента Select)
@@ -8267,9 +8267,12 @@ var List = function(param) {
8267
8267
  var classes = useStyles$S({
8268
8268
  theme: tweakStyles
8269
8269
  });
8270
- var handleItemClick = function(event, item) {
8271
- item.onClick(event);
8272
- onClick === null || onClick === void 0 ? void 0 : onClick(event);
8270
+ var handleItemClick = function(event, param2) {
8271
+ var itemOnClick = param2.onClick;
8272
+ if (isNotEmpty(itemOnClick)) {
8273
+ itemOnClick(event);
8274
+ onClick === null || onClick === void 0 ? void 0 : onClick(event);
8275
+ }
8273
8276
  };
8274
8277
  return /* @__PURE__ */ jsx("div", _object_spread_props$N(_object_spread$W({
8275
8278
  className: classes.root
@@ -8278,6 +8281,8 @@ var List = function(param) {
8278
8281
  var itemProps = _object_spread_props$N(_object_spread$W({
8279
8282
  testId: getTestId(item.testId, "item-".concat(i))
8280
8283
  }, item), {
8284
+ shouldDrawSpacerAbove: item.shouldDrawSpacerAbove && i !== 0,
8285
+ shouldDrawSpacerBelow: item.shouldDrawSpacerBelow && i !== items.length - 1,
8281
8286
  onClick: function(event) {
8282
8287
  return handleItemClick(event, item);
8283
8288
  }
@@ -8298,7 +8303,8 @@ var List = function(param) {
8298
8303
  children: /* @__PURE__ */ jsx("div", {
8299
8304
  className: classes.nestedItems,
8300
8305
  children: /* @__PURE__ */ jsx(List, {
8301
- items: item.nestedItems
8306
+ items: item.nestedItems,
8307
+ onClick
8302
8308
  })
8303
8309
  })
8304
8310
  }) : /* @__PURE__ */ jsx(ListItem, _object_spread$W({}, itemProps))
@@ -26017,9 +26023,9 @@ function FlexibleTableCell(_param) {
26017
26023
  var classes = useStyles$i({
26018
26024
  theme: tweakStyles
26019
26025
  });
26020
- var _config_columnName;
26021
- var _ref = (_config_columnName = config[columnName]) !== null && _config_columnName !== void 0 ? _config_columnName : {}, component = _ref.component, left2 = _ref.left, right2 = _ref.right, position = _ref.position, cellAlign = _ref.cellAlign, cellVerticalAlign = _ref.cellVerticalAlign, shouldRenderDataId = _ref.shouldRenderDataId;
26022
26026
  var value = row[columnName];
26027
+ var _config_columnName;
26028
+ var _ref = (_config_columnName = config[columnName]) !== null && _config_columnName !== void 0 ? _config_columnName : {}, _ref_component = _ref.component, component = _ref_component === void 0 ? formatCellContent(value, config[columnName]) : _ref_component, left2 = _ref.left, right2 = _ref.right, position = _ref.position, cellAlign = _ref.cellAlign, cellVerticalAlign = _ref.cellVerticalAlign, shouldRenderDataId = _ref.shouldRenderDataId;
26023
26029
  var TableCell = renderMode === "divs" ? "div" : "td";
26024
26030
  var _obj2;
26025
26031
  return /* @__PURE__ */ jsx(TableCell, _object_spread_props$j(_object_spread$k({
@@ -26037,12 +26043,10 @@ function FlexibleTableCell(_param) {
26037
26043
  children: isLoading ? /* @__PURE__ */ jsx("div", {
26038
26044
  className: classes.skeleton,
26039
26045
  children: /* @__PURE__ */ jsx(Skeleton, {})
26040
- }) : isNotEmpty(value) && /* @__PURE__ */ jsx(Fragment, {
26041
- children: isNotEmpty(component) ? component(_object_spread_props$j(_object_spread$k({}, valueComponentProps), {
26042
- value,
26043
- row
26044
- })) : formatCellContent(value, config[columnName])
26045
- })
26046
+ }) : isNotEmpty(value) && applyAction(component, _object_spread_props$j(_object_spread$k({}, valueComponentProps), {
26047
+ value,
26048
+ row
26049
+ }))
26046
26050
  }));
26047
26051
  }
26048
26052
  var useStyles$h = createThemedStyles("FlexibleTableRow", {
@@ -26503,7 +26507,6 @@ function FlexibleTable(_param) {
26503
26507
  className: classes.headerRow,
26504
26508
  children: columns.map(function(key, i) {
26505
26509
  var itemConfig = config === null || config === void 0 ? void 0 : config[key];
26506
- var TitleComponent = itemConfig === null || itemConfig === void 0 ? void 0 : itemConfig.titleComponent;
26507
26510
  var _itemConfig_titleAlign, _itemConfig_title;
26508
26511
  var _obj2;
26509
26512
  return /* @__PURE__ */ jsx(TableHeader, _object_spread_props$h(_object_spread$i({
@@ -26520,9 +26523,9 @@ function FlexibleTable(_param) {
26520
26523
  }, addDataAttributes({
26521
26524
  id: (itemConfig === null || itemConfig === void 0 ? void 0 : itemConfig.shouldRenderDataId) ? key : void 0
26522
26525
  })), {
26523
- children: isNotEmpty(TitleComponent) ? /* @__PURE__ */ jsx(TitleComponent, {
26526
+ children: applyAction((_itemConfig_title = itemConfig === null || itemConfig === void 0 ? void 0 : itemConfig.title) !== null && _itemConfig_title !== void 0 ? _itemConfig_title : "", {
26524
26527
  value: headerContent === null || headerContent === void 0 ? void 0 : headerContent[key]
26525
- }) : (_itemConfig_title = itemConfig === null || itemConfig === void 0 ? void 0 : itemConfig.title) !== null && _itemConfig_title !== void 0 ? _itemConfig_title : ""
26528
+ })
26526
26529
  }), key);
26527
26530
  })
26528
26531
  })