@bit.rhplus/ag-grid 0.0.114 → 0.0.115

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 (153) hide show
  1. package/AgGridOnRowDataChanged.js +3 -8
  2. package/CheckBoxRenderer.jsx +1 -0
  3. package/Components/ExtendButton.jsx +1 -0
  4. package/Renderers/CheckboxRenderer.jsx +1 -0
  5. package/Renderers/CountrySelectRenderer.jsx +1 -0
  6. package/Renderers/SelectCellRenderer.jsx +1 -0
  7. package/dist/AgGridAddNewItem.d.ts +1 -0
  8. package/dist/AgGridAddNewItem.js +6 -0
  9. package/dist/AgGridAddNewItem.js.map +1 -0
  10. package/dist/AgGridColumn.d.ts +3 -0
  11. package/dist/AgGridColumn.js +357 -0
  12. package/dist/AgGridColumn.js.map +1 -0
  13. package/dist/AgGridColumnFilter.d.ts +4 -0
  14. package/dist/AgGridColumnFilter.js +19 -0
  15. package/dist/AgGridColumnFilter.js.map +1 -0
  16. package/dist/AgGridOnGridReady.d.ts +1 -0
  17. package/dist/AgGridOnGridReady.js +6 -0
  18. package/dist/AgGridOnGridReady.js.map +1 -0
  19. package/dist/AgGridOnRowDataChanged.d.ts +1 -0
  20. package/dist/AgGridOnRowDataChanged.js +4 -0
  21. package/dist/AgGridOnRowDataChanged.js.map +1 -0
  22. package/dist/AgGridOnRowDataUpdated.d.ts +1 -0
  23. package/dist/AgGridOnRowDataUpdated.js +27 -0
  24. package/dist/AgGridOnRowDataUpdated.js.map +1 -0
  25. package/dist/AgGridPostSort.d.ts +1 -0
  26. package/dist/AgGridPostSort.js +32 -0
  27. package/dist/AgGridPostSort.js.map +1 -0
  28. package/dist/AggregationNotification.d.ts +1 -0
  29. package/dist/AggregationNotification.js +121 -0
  30. package/dist/AggregationNotification.js.map +1 -0
  31. package/dist/AggregationStatusBar.d.ts +3 -0
  32. package/dist/AggregationStatusBar.js +122 -0
  33. package/dist/AggregationStatusBar.js.map +1 -0
  34. package/dist/Aggregations.d.ts +2 -0
  35. package/dist/Aggregations.js +313 -0
  36. package/dist/Aggregations.js.map +1 -0
  37. package/dist/BulkEdit/BulkEditButton.d.ts +14 -0
  38. package/dist/BulkEdit/BulkEditButton.js +140 -0
  39. package/dist/BulkEdit/BulkEditButton.js.map +1 -0
  40. package/dist/BulkEdit/BulkEditDatePicker.d.ts +11 -0
  41. package/dist/BulkEdit/BulkEditDatePicker.js +160 -0
  42. package/dist/BulkEdit/BulkEditDatePicker.js.map +1 -0
  43. package/dist/BulkEdit/BulkEditInput.d.ts +14 -0
  44. package/dist/BulkEdit/BulkEditInput.js +34 -0
  45. package/dist/BulkEdit/BulkEditInput.js.map +1 -0
  46. package/dist/BulkEdit/BulkEditModule.d.ts +11 -0
  47. package/dist/BulkEdit/BulkEditModule.js +34 -0
  48. package/dist/BulkEdit/BulkEditModule.js.map +1 -0
  49. package/dist/BulkEdit/BulkEditPopover.d.ts +14 -0
  50. package/dist/BulkEdit/BulkEditPopover.js +125 -0
  51. package/dist/BulkEdit/BulkEditPopover.js.map +1 -0
  52. package/dist/BulkEdit/BulkEditSelect.d.ts +18 -0
  53. package/dist/BulkEdit/BulkEditSelect.js +56 -0
  54. package/dist/BulkEdit/BulkEditSelect.js.map +1 -0
  55. package/dist/BulkEdit/BulkEditTagsSelect.d.ts +15 -0
  56. package/dist/BulkEdit/BulkEditTagsSelect.js +45 -0
  57. package/dist/BulkEdit/BulkEditTagsSelect.js.map +1 -0
  58. package/dist/BulkEdit/index.d.ts +1 -0
  59. package/dist/BulkEdit/index.js +11 -0
  60. package/dist/BulkEdit/index.js.map +1 -0
  61. package/dist/BulkEdit/useBulkCellEdit.d.ts +1 -0
  62. package/dist/BulkEdit/useBulkCellEdit.js +397 -0
  63. package/dist/BulkEdit/useBulkCellEdit.js.map +1 -0
  64. package/dist/BulkEdit/utils.d.ts +7 -0
  65. package/dist/BulkEdit/utils.js +568 -0
  66. package/dist/BulkEdit/utils.js.map +1 -0
  67. package/dist/CheckBoxRenderer.d.ts +6 -0
  68. package/dist/CheckBoxRenderer.js +19 -0
  69. package/dist/CheckBoxRenderer.js.map +1 -0
  70. package/dist/Components/ExtendButton.css +6 -0
  71. package/dist/Components/ExtendButton.d.ts +2 -0
  72. package/dist/Components/ExtendButton.js +13 -0
  73. package/dist/Components/ExtendButton.js.map +1 -0
  74. package/dist/CountryCellRenderer.d.ts +1 -0
  75. package/dist/CountryCellRenderer.js +12 -0
  76. package/dist/CountryCellRenderer.js.map +1 -0
  77. package/dist/Editors/DatePickerEditor.d.ts +9 -0
  78. package/dist/Editors/DatePickerEditor.js +55 -0
  79. package/dist/Editors/DatePickerEditor.js.map +1 -0
  80. package/dist/Editors/index.d.ts +1 -0
  81. package/dist/Editors/index.js +2 -0
  82. package/dist/Editors/index.js.map +1 -0
  83. package/dist/Functions/index.d.ts +2 -0
  84. package/dist/Functions/index.js +27 -0
  85. package/dist/Functions/index.js.map +1 -0
  86. package/dist/HeaderTemplates/CommonHeaderTemplate.d.ts +1 -0
  87. package/dist/HeaderTemplates/CommonHeaderTemplate.js +15 -0
  88. package/dist/HeaderTemplates/CommonHeaderTemplate.js.map +1 -0
  89. package/dist/HyperModuleEditor.d.ts +1 -0
  90. package/dist/HyperModuleEditor.js +119 -0
  91. package/dist/HyperModuleEditor.js.map +1 -0
  92. package/dist/HyperModuleRenderer.d.ts +1 -0
  93. package/dist/HyperModuleRenderer.js +138 -0
  94. package/dist/HyperModuleRenderer.js.map +1 -0
  95. package/dist/NotificationOptions.d.ts +10 -0
  96. package/dist/NotificationOptions.js +80 -0
  97. package/dist/NotificationOptions.js.map +1 -0
  98. package/dist/OnCellDoubleClicked.d.ts +1 -0
  99. package/dist/OnCellDoubleClicked.js +6 -0
  100. package/dist/OnCellDoubleClicked.js.map +1 -0
  101. package/dist/OnCellEditingStarted.d.ts +1 -0
  102. package/dist/OnCellEditingStarted.js +7 -0
  103. package/dist/OnCellEditingStarted.js.map +1 -0
  104. package/dist/OnCellValueChanged.d.ts +1 -0
  105. package/dist/OnCellValueChanged.js +10 -0
  106. package/dist/OnCellValueChanged.js.map +1 -0
  107. package/dist/Renderers/BooleanRenderer.d.ts +3 -0
  108. package/dist/Renderers/BooleanRenderer.js +55 -0
  109. package/dist/Renderers/BooleanRenderer.js.map +1 -0
  110. package/dist/Renderers/ButtonRenderer.d.ts +3 -0
  111. package/dist/Renderers/ButtonRenderer.js +66 -0
  112. package/dist/Renderers/ButtonRenderer.js.map +1 -0
  113. package/dist/Renderers/CheckboxRenderer.d.ts +7 -0
  114. package/dist/Renderers/CheckboxRenderer.js +37 -0
  115. package/dist/Renderers/CheckboxRenderer.js.map +1 -0
  116. package/dist/Renderers/CountrySelectRenderer.d.ts +7 -0
  117. package/dist/Renderers/CountrySelectRenderer.js +56 -0
  118. package/dist/Renderers/CountrySelectRenderer.js.map +1 -0
  119. package/dist/Renderers/IconRenderer.d.ts +3 -0
  120. package/dist/Renderers/IconRenderer.js +187 -0
  121. package/dist/Renderers/IconRenderer.js.map +1 -0
  122. package/dist/Renderers/ImageRenderer.d.ts +3 -0
  123. package/dist/Renderers/ImageRenderer.js +58 -0
  124. package/dist/Renderers/ImageRenderer.js.map +1 -0
  125. package/dist/Renderers/LinkRenderer.d.ts +3 -0
  126. package/dist/Renderers/LinkRenderer.js +76 -0
  127. package/dist/Renderers/LinkRenderer.js.map +1 -0
  128. package/dist/Renderers/ObjectRenderer.d.ts +3 -0
  129. package/dist/Renderers/ObjectRenderer.js +96 -0
  130. package/dist/Renderers/ObjectRenderer.js.map +1 -0
  131. package/dist/Renderers/SelectCellRenderer.d.ts +4 -0
  132. package/dist/Renderers/SelectCellRenderer.js +19 -0
  133. package/dist/Renderers/SelectCellRenderer.js.map +1 -0
  134. package/dist/Renderers/SelectRenderer.d.ts +3 -0
  135. package/dist/Renderers/SelectRenderer.js +56 -0
  136. package/dist/Renderers/SelectRenderer.js.map +1 -0
  137. package/dist/Renderers/StateRenderer.d.ts +3 -0
  138. package/dist/Renderers/StateRenderer.js +137 -0
  139. package/dist/Renderers/StateRenderer.js.map +1 -0
  140. package/dist/Renderers/index.d.ts +1 -0
  141. package/dist/Renderers/index.js +2 -0
  142. package/dist/Renderers/index.js.map +1 -0
  143. package/dist/index.d.ts +3 -0
  144. package/dist/index.js +868 -0
  145. package/dist/index.js.map +1 -0
  146. package/dist/preview-1773758831838.js +7 -0
  147. package/dist/util.d.ts +15 -0
  148. package/dist/util.js +108 -0
  149. package/dist/util.js.map +1 -0
  150. package/package.json +5 -5
  151. package/types/asset.d.ts +43 -0
  152. package/types/env.d.ts +15 -0
  153. package/types/style.d.ts +42 -0
@@ -0,0 +1,55 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ /* eslint-disable */
3
+ import * as React from 'react';
4
+ import { createMemoComparison } from '@bit.rhplus/react-memo';
5
+ import { CircleHelp, Check, X } from 'lucide-react';
6
+ // Memoized Icon component
7
+ const Icon = React.memo(({ innerValue, size, colorTrue, colorFalse, visibleTrue, visibleFalse, defaultIcon, defaultIconColor, iconStyle }) => {
8
+ if (innerValue === undefined ||
9
+ (!visibleFalse && !innerValue) ||
10
+ (!visibleTrue && innerValue)) {
11
+ if (defaultIcon)
12
+ return _jsx(CircleHelp, { size: size, color: defaultIconColor, style: iconStyle });
13
+ return _jsx("div", {});
14
+ }
15
+ if (innerValue)
16
+ return _jsx(Check, { size: size, color: colorTrue, style: iconStyle });
17
+ return _jsx(X, { size: size, color: colorFalse, style: iconStyle });
18
+ });
19
+ Icon.displayName = 'BooleanIcon';
20
+ // Icon style constant
21
+ const ICON_STYLE = {
22
+ display: 'inline-block',
23
+ height: '100%',
24
+ };
25
+ function BooleanRenderer(props) {
26
+ const { data, value, colDef: { booleanRendererParams = {} } = {} } = props;
27
+ if (!booleanRendererParams)
28
+ return null;
29
+ const { cellAlign, visibleGetter, showOnGroup, visibleTrue = true, visibleFalse = true, defaultIcon = true, defaultIconColor = '#898989', size = 16, colorTrue = 'green', colorFalse = 'red', } = booleanRendererParams;
30
+ const visibleResult = React.useMemo(() => visibleGetter ? visibleGetter(data) : true, [visibleGetter, data]);
31
+ const showCondition = React.useMemo(() => {
32
+ const newItem = (data && data._rh_plus_ag_grid_new_item) || false;
33
+ return !newItem && (showOnGroup || !!data) && visibleResult;
34
+ }, [data, showOnGroup, visibleResult]);
35
+ const containerStyle = React.useMemo(() => ({
36
+ width: '100%',
37
+ display: 'flex',
38
+ justifyContent: cellAlign ?? 'center',
39
+ alignItems: 'center',
40
+ height: '100%',
41
+ }), [cellAlign]);
42
+ if (!showCondition)
43
+ return null;
44
+ return (_jsx("span", { style: containerStyle, children: _jsx(Icon, { style: ICON_STYLE, innerValue: value, size: size, colorTrue: colorTrue, colorFalse: colorFalse, visibleTrue: visibleTrue, visibleFalse: visibleFalse, defaultIcon: defaultIcon, defaultIconColor: defaultIconColor, iconStyle: ICON_STYLE }) }));
45
+ }
46
+ // React.memo optimalizace pro AG-Grid renderer
47
+ // ✅ PERFORMANCE FIX: colDef NESMÍ být v kritických props!
48
+ // AG Grid v35 s deferRender posílá novou referenci colDef při selection change
49
+ // To způsobuje rerender všech buněk → šedé loading buňky
50
+ // Renderer rerenduje pouze když se změní value nebo data
51
+ const arePropsEqual = createMemoComparison(['value', 'data'], // ✅ Pouze value a data
52
+ ['colDef'], // ✅ colDef je ignorováno (obsahuje jen params)
53
+ false, 'BooleanRenderer');
54
+ export default React.memo(BooleanRenderer, arePropsEqual);
55
+ //# sourceMappingURL=BooleanRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BooleanRenderer.js","sourceRoot":"","sources":["../../Renderers/BooleanRenderer.jsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ declare const _default: React.NamedExoticComponent<any>;
2
+ export default _default;
3
+ import React from 'react';
@@ -0,0 +1,66 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /* eslint-disable */
3
+ import React, { useState, useCallback, useMemo } from 'react';
4
+ import Button from 'antd/es/button';
5
+ import { createMemoComparison } from '@bit.rhplus/react-memo';
6
+ const DEFAULT_STYLE = {
7
+ fontSize: '12px'
8
+ };
9
+ const SPAN_STYLE = { flexGrow: 1 };
10
+ const LARGE_CONTAINER_STYLE = { display: 'flex', gap: '8px', width: '100%' };
11
+ const SMALL_CONTAINER_STYLE = { display: 'flex', gap: '8px' };
12
+ const LargeButton = React.memo(({ button, onClick, props }) => {
13
+ const { id, label, largeLabel, style, className, icon } = button;
14
+ const largeLabelValue = largeLabel instanceof Function ? largeLabel(props) : largeLabel;
15
+ const labelValue = label instanceof Function ? label(props) : label;
16
+ const buttonStyle = useMemo(() => ({ ...DEFAULT_STYLE, ...style }), [style]);
17
+ const handleClick = useCallback((e) => onClick(e, id), [onClick, id]);
18
+ return (_jsx(Button, { type: "primary", size: "small", onClick: handleClick, style: buttonStyle, className: className, icon: icon, children: largeLabelValue || labelValue }, id));
19
+ });
20
+ LargeButton.displayName = 'LargeButton';
21
+ const SmallButton = React.memo(({ button, onClick, props }) => {
22
+ const { id, label, style, className, icon } = button;
23
+ const labelValue = label instanceof Function ? label(props) : label;
24
+ const handleClick = useCallback((e) => onClick(e, id), [onClick, id]);
25
+ return (_jsx(Button, { type: "primary", size: "small", onClick: handleClick, style: style, className: className, icon: icon, children: labelValue }, id));
26
+ });
27
+ SmallButton.displayName = 'SmallButton';
28
+ function ButtonRenderer(props) {
29
+ const [hovered, setHovered] = useState(false);
30
+ const { value, colDef: { buttonRendererParams = {} } = {} } = props;
31
+ if (!buttonRendererParams)
32
+ return value;
33
+ const { visibleGetter, buttons = [] } = buttonRendererParams;
34
+ const onMouseEnter = useCallback(() => {
35
+ setHovered(true);
36
+ }, []);
37
+ const onMouseLeave = useCallback(() => {
38
+ setHovered(false);
39
+ }, []);
40
+ const onClick = useCallback((e, id) => {
41
+ e.preventDefault();
42
+ const { context: { componentParent: { onButtonClick } = {} } = {} } = props || {};
43
+ if (onButtonClick)
44
+ onButtonClick(props, id);
45
+ }, [props]);
46
+ const isEmptyValue = value === null || value === '' || value === undefined;
47
+ // ✅ FIX: Odstranit props z dependencies - props objekt se mění každý render
48
+ // visibleGetter je stabilní funkce, props bereme přímo z closure
49
+ const visible = useMemo(() => visibleGetter(props), [visibleGetter]);
50
+ const containerStyle = useMemo(() => ({
51
+ display: 'flex',
52
+ alignItems: 'center',
53
+ justifyContent: isEmptyValue ? 'center' : 'space-between',
54
+ height: '100%',
55
+ width: '100%',
56
+ }), [isEmptyValue]);
57
+ return (_jsxs("div", { className: "custom-cell-renderer", onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave, style: containerStyle, children: [!isEmptyValue && _jsx("span", { style: SPAN_STYLE, children: value }), visible && hovered && buttons.length > 0 && (isEmptyValue ? (_jsx("div", { style: LARGE_CONTAINER_STYLE, children: buttons.map((button, index) => (_jsx(LargeButton, { button: button, onClick: onClick, props: props }, index))) })) : (_jsx("div", { style: SMALL_CONTAINER_STYLE, children: buttons.map((button, index) => (_jsx(SmallButton, { button: button, onClick: onClick, props: props }, index))) })))] }));
58
+ }
59
+ ButtonRenderer.displayName = 'ButtonRenderer';
60
+ // React.memo optimalizace s custom comparison
61
+ // AG-Grid renderery dostávají props které obsahují AG-Grid API reference
62
+ // ✅ PERFORMANCE FIX: colDef NESMÍ být v kritických props!
63
+ // AG Grid v35 s deferRender posílá novou referenci colDef při selection change
64
+ const arePropsEqual = createMemoComparison(['value', 'data'], ['colDef'], false, 'ButtonRenderer');
65
+ export default React.memo(ButtonRenderer, arePropsEqual);
66
+ //# sourceMappingURL=ButtonRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ButtonRenderer.js","sourceRoot":"","sources":["../../Renderers/ButtonRenderer.jsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ declare const _default: React.MemoExoticComponent<typeof CheckboxRenderer>;
2
+ export default _default;
3
+ declare function CheckboxRenderer(props: any): import("react/jsx-runtime").JSX.Element;
4
+ declare namespace CheckboxRenderer {
5
+ let displayName: string;
6
+ }
7
+ import * as React from 'react';
@@ -0,0 +1,37 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ /* eslint-disable */
3
+ import * as React from 'react';
4
+ // Style constant
5
+ const CONTAINER_STYLE = {
6
+ textAlign: "center",
7
+ display: "flex",
8
+ alignItems: "center",
9
+ justifyContent: "center",
10
+ height: "100%",
11
+ };
12
+ // Memoizovaný CheckboxElement sub-komponenta
13
+ const CheckboxElement = React.memo(({ checked, onChange }) => (_jsx("input", { type: "checkbox", checked: checked, onChange: onChange })));
14
+ CheckboxElement.displayName = 'CheckboxElement';
15
+ function CheckboxRenderer(props) {
16
+ const { value, data, column: { colDef: { cellTypeParams: { showOnGroup, condition } = {} } = {} } = {}, } = props;
17
+ const onChange = React.useCallback((e) => {
18
+ e.preventDefault();
19
+ const { context: { componentParent: { onCheckboxChange } = {} } = {} } = props || {};
20
+ if (onCheckboxChange) {
21
+ onCheckboxChange(props);
22
+ }
23
+ }, [props]);
24
+ const visibleCondition = React.useMemo(() => condition ? condition(data) : true, [condition, data]);
25
+ const showCondition = React.useMemo(() => {
26
+ const newItem = (data && data._rh_plus_ag_grid_new_item) || false;
27
+ return !newItem && (showOnGroup || !!data) && visibleCondition;
28
+ }, [data, showOnGroup, visibleCondition]);
29
+ if (!showCondition)
30
+ return null;
31
+ if (value === undefined)
32
+ return null;
33
+ return (_jsx("div", { style: CONTAINER_STYLE, children: _jsx(CheckboxElement, { checked: value, onChange: onChange }) }));
34
+ }
35
+ CheckboxRenderer.displayName = 'CheckboxRenderer';
36
+ export default React.memo(CheckboxRenderer);
37
+ //# sourceMappingURL=CheckboxRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckboxRenderer.js","sourceRoot":"","sources":["../../Renderers/CheckboxRenderer.jsx"],"names":[],"mappings":";AAAA,oBAAoB;AACpB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,iBAAiB;AACjB,MAAM,eAAe,GAAG;IACtB,SAAS,EAAE,QAAQ;IACnB,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,QAAQ;IACpB,cAAc,EAAE,QAAQ;IACxB,MAAM,EAAE,MAAM;CACf,CAAC;AAEF,6CAA6C;AAC7C,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAC5D,gBAAO,IAAI,EAAC,UAAU,EAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAI,CAChE,CAAC,CAAC;AAEH,eAAe,CAAC,WAAW,GAAG,iBAAiB,CAAC;AAEhD,SAAS,gBAAgB,CAAC,KAAK;IAC7B,MAAM,EACJ,KAAK,EACL,IAAI,EACJ,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAClF,GAAG,KAAK,CAAC;IAEV,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE;QACvC,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,MAAM,EAAE,OAAO,EAAE,EAAE,eAAe,EAAE,EAAE,gBAAgB,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,KAAK,IAAI,EAAE,CAAC;QACrF,IAAI,gBAAgB,EAAE,CAAC;YACrB,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAC1C,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAClC,CAAC,SAAS,EAAE,IAAI,CAAC,CAClB,CAAC;IAEF,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACvC,MAAM,OAAO,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,yBAAyB,CAAC,IAAI,KAAK,CAAC;QAClE,OAAO,CAAC,OAAO,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC;IACjE,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAE1C,IAAI,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC;IAChC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAErC,OAAO,CACL,cAAK,KAAK,EAAE,eAAe,YACzB,KAAC,eAAe,IAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,GAAI,GACnD,CACP,CAAC;AACJ,CAAC;AAED,gBAAgB,CAAC,WAAW,GAAG,kBAAkB,CAAC;AAElD,eAAe,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ declare const _default: React.MemoExoticComponent<typeof SimpleCountryCellRenderer>;
2
+ export default _default;
3
+ declare function SimpleCountryCellRenderer(params: any): import("react/jsx-runtime").JSX.Element;
4
+ declare namespace SimpleCountryCellRenderer {
5
+ let displayName: string;
6
+ }
7
+ import * as React from 'react';
@@ -0,0 +1,56 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /* eslint-disable */
3
+ import * as React from 'react';
4
+ // Style constants
5
+ const CONTAINER_STYLE = {
6
+ display: 'flex',
7
+ alignItems: 'center',
8
+ height: '100%',
9
+ };
10
+ const FLAG_WRAPPER_STYLE = {
11
+ marginLeft: 10,
12
+ marginRight: 10,
13
+ display: 'inline-flex',
14
+ alignItems: 'center',
15
+ };
16
+ const IMG_STYLE = {
17
+ marginTop: -5,
18
+ objectFit: 'contain',
19
+ };
20
+ // Memoizovaná CountryFlag sub-komponenta
21
+ const CountryFlag = React.memo(({ code, size = 16 }) => {
22
+ const [hasError, setHasError] = React.useState(false);
23
+ const imageUrl = React.useMemo(() => {
24
+ if (!code)
25
+ return "";
26
+ return `https://rhplus.blob.core.windows.net/countries/${code.toUpperCase()}.png`;
27
+ }, [code]);
28
+ const handleError = React.useCallback(() => {
29
+ setHasError(true);
30
+ }, []);
31
+ React.useEffect(() => {
32
+ setHasError(false);
33
+ }, [imageUrl]);
34
+ if (hasError || !imageUrl)
35
+ return null;
36
+ return (_jsx("img", { alt: "country flag", style: { ...IMG_STYLE, width: size, height: size }, src: imageUrl, loading: "lazy", onError: handleError }));
37
+ });
38
+ CountryFlag.displayName = 'CountryFlag';
39
+ function SimpleCountryCellRenderer(params) {
40
+ const { value = {}, data, column: { colDef: { cellTypeParams: { showOnGroup, condition } = {}, } = {}, } = {}, } = params;
41
+ const { id, name, code } = value;
42
+ // Memoizovaná visibleCondition
43
+ const visibleCondition = React.useMemo(() => condition ? condition(data) : true, [condition, data]);
44
+ const showCondition = React.useMemo(() => {
45
+ const newItem = (data && data._rh_plus_ag_grid_new_item) || false;
46
+ return !newItem && (showOnGroup || !!data) && visibleCondition;
47
+ }, [data, showOnGroup, visibleCondition]);
48
+ if (!showCondition)
49
+ return null;
50
+ if (!id || !code)
51
+ return null;
52
+ return (_jsxs("div", { style: CONTAINER_STYLE, children: [_jsx("span", { style: FLAG_WRAPPER_STYLE, children: _jsx(CountryFlag, { code: code, size: 16 }) }), name] }));
53
+ }
54
+ SimpleCountryCellRenderer.displayName = 'SimpleCountryCellRenderer';
55
+ export default React.memo(SimpleCountryCellRenderer);
56
+ //# sourceMappingURL=CountrySelectRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CountrySelectRenderer.js","sourceRoot":"","sources":["../../Renderers/CountrySelectRenderer.jsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ declare const _default: React.NamedExoticComponent<any>;
2
+ export default _default;
3
+ import * as React from 'react';
@@ -0,0 +1,187 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ /* eslint-disable */
3
+ import * as React from 'react';
4
+ import { createMemoComparison } from '@bit.rhplus/react-memo';
5
+ import { CircleHelp } from 'lucide-react';
6
+ import * as LucideIcons from 'lucide-react';
7
+ // Helper funkce pro získání hodnoty z nested path (např. 'accountingType.icon')
8
+ const getValueByPath = (obj, path) => {
9
+ if (!path || !obj)
10
+ return undefined;
11
+ return path.split('.').reduce((acc, part) => acc?.[part], obj);
12
+ };
13
+ // Style constants
14
+ const ICON_WRAPPER_STYLE = {
15
+ display: 'inline-flex',
16
+ alignItems: 'center',
17
+ height: '100%',
18
+ flexShrink: 0,
19
+ };
20
+ const TEXT_WRAPPER_STYLE = {
21
+ flexShrink: 1,
22
+ minWidth: 0,
23
+ };
24
+ const BADGE_CONTAINER_BASE_STYLE = {
25
+ position: 'relative',
26
+ display: 'inline-flex',
27
+ alignItems: 'center',
28
+ justifyContent: 'center',
29
+ };
30
+ const BADGE_BASE_STYLE = {
31
+ position: 'absolute',
32
+ borderRadius: '50%',
33
+ minWidth: '16px',
34
+ height: '16px',
35
+ fontSize: '10px',
36
+ display: 'flex',
37
+ alignItems: 'center',
38
+ justifyContent: 'center',
39
+ fontWeight: 'bold',
40
+ lineHeight: 1,
41
+ zIndex: 1
42
+ };
43
+ function IconRenderer(props) {
44
+ const { data, value, colDef: { iconRendererParams = {} } = {} } = props;
45
+ if (!iconRendererParams)
46
+ return null;
47
+ const { cellAlign, visibleGetter, showOnGroup, icon, // Komponenta nebo funkce pro ikonu
48
+ iconField, // Cesta k poli s názvem ikony (např. 'accountingType.icon')
49
+ iconColor, // Barva ikony nebo funkce vracející barvu
50
+ badge, // Číslo nebo funkce pro badge
51
+ showZero = false, // Zda zobrazit badge když je hodnota 0
52
+ size = 16, iconLeft = false, iconRight = false, showText = true, textGap = 5, badgeColor = '#dc3545', badgeTextColor = 'white', badgePosition = 'top-right', } = iconRendererParams;
53
+ const visibleResult = React.useMemo(() => visibleGetter ? visibleGetter(data) : true, [visibleGetter, data]);
54
+ const getIconColor = React.useCallback(() => {
55
+ if (!iconColor)
56
+ return undefined;
57
+ if (typeof iconColor === 'function') {
58
+ return iconColor({ data, value, props });
59
+ }
60
+ return iconColor;
61
+ }, [iconColor, data, value, props]);
62
+ const renderIcon = React.useCallback((IconComponent, iconProps = {}) => {
63
+ const computedIconColor = getIconColor();
64
+ const finalStyle = {
65
+ fontSize: size,
66
+ ...(iconProps.style || {}),
67
+ ...(computedIconColor && { color: `${computedIconColor} !important` })
68
+ };
69
+ const finalIconProps = {
70
+ size,
71
+ style: finalStyle,
72
+ ...(computedIconColor && { color: computedIconColor }),
73
+ ...iconProps
74
+ };
75
+ let iconElement;
76
+ if (typeof IconComponent === 'function') {
77
+ iconElement = IconComponent({ data, value, ...finalIconProps });
78
+ }
79
+ else if (React.isValidElement(IconComponent)) {
80
+ iconElement = React.cloneElement(IconComponent, finalIconProps);
81
+ }
82
+ else if (IconComponent && typeof IconComponent === 'object' && IconComponent.$$typeof) {
83
+ iconElement = _jsx(IconComponent, { ...finalIconProps });
84
+ }
85
+ else if (typeof IconComponent === 'string') {
86
+ iconElement = _jsx("span", { style: finalStyle, children: IconComponent });
87
+ }
88
+ else {
89
+ return null;
90
+ }
91
+ if (computedIconColor) {
92
+ return (_jsx("span", { style: {
93
+ color: computedIconColor,
94
+ display: 'inline-flex',
95
+ alignItems: 'center',
96
+ height: '100%'
97
+ }, children: iconElement }));
98
+ }
99
+ return iconElement;
100
+ }, [size, getIconColor, data, value]);
101
+ const badgeValue = React.useMemo(() => {
102
+ if (!badge)
103
+ return null;
104
+ if (typeof badge === 'function') {
105
+ return badge({ data, value });
106
+ }
107
+ return badge;
108
+ }, [badge, data, value]);
109
+ const badgePositionStyle = React.useMemo(() => {
110
+ const positions = {
111
+ 'top-right': { top: '2px', right: '-2px' },
112
+ 'top-left': { top: '2px', left: '-2px' },
113
+ 'bottom-right': { bottom: '2px', right: '-2px' },
114
+ 'bottom-left': { bottom: '2px', left: '-2px' }
115
+ };
116
+ return positions[badgePosition] || positions['top-right'];
117
+ }, [badgePosition]);
118
+ const badgeStyle = React.useMemo(() => ({
119
+ ...BADGE_BASE_STYLE,
120
+ ...badgePositionStyle,
121
+ backgroundColor: badgeColor,
122
+ color: badgeTextColor,
123
+ border: `1px solid ${badgeTextColor}`,
124
+ }), [badgePositionStyle, badgeColor, badgeTextColor]);
125
+ const Icon = React.useMemo(() => {
126
+ const iconElement = (() => {
127
+ // Priorita 1: Pokud je definován iconField, získej název ikony z dat a načti z Lucide
128
+ if (iconField) {
129
+ const iconName = getValueByPath(data, iconField);
130
+ if (iconName) {
131
+ const LucideIcon = LucideIcons[iconName];
132
+ if (LucideIcon) {
133
+ return _jsx(LucideIcon, { size: size });
134
+ }
135
+ }
136
+ // Pokud ikona z iconField neexistuje, vrať null (nic nezobrazit)
137
+ return null;
138
+ }
139
+ // Priorita 2: Použij icon prop (funkce nebo komponenta)
140
+ if (icon) {
141
+ return renderIcon(icon, {});
142
+ }
143
+ // Priorita 3: Default - nic nezobrazit pokud není ani iconField ani icon
144
+ return null;
145
+ })();
146
+ if (!badgeValue && (badgeValue !== 0 || !showZero)) {
147
+ return iconElement;
148
+ }
149
+ return (_jsxs("div", { style: BADGE_CONTAINER_BASE_STYLE, children: [iconElement, _jsx("span", { style: badgeStyle, children: badgeValue > 99 ? '99+' : badgeValue })] }));
150
+ }, [icon, iconField, renderIcon, badgeValue, showZero, badgeStyle, size, data]);
151
+ const showCondition = React.useMemo(() => {
152
+ const newItem = (data && data._rh_plus_ag_grid_new_item) || false;
153
+ return !newItem && (showOnGroup || !!data) && visibleResult;
154
+ }, [data, showOnGroup, visibleResult]);
155
+ const hasIcon = iconLeft || iconRight || (!iconLeft && !iconRight);
156
+ const hasText = showText && value != null && value !== '';
157
+ const content = React.useMemo(() => {
158
+ const iconElement = hasIcon ? (_jsx("div", { style: ICON_WRAPPER_STYLE, children: Icon })) : null;
159
+ const textElement = hasText ? (_jsx("span", { style: TEXT_WRAPPER_STYLE, children: value })) : null;
160
+ if (!hasIcon)
161
+ return textElement;
162
+ if (!hasText)
163
+ return iconElement;
164
+ if (iconRight) {
165
+ return (_jsxs(_Fragment, { children: [textElement, iconElement] }));
166
+ }
167
+ return (_jsxs(_Fragment, { children: [iconElement, textElement] }));
168
+ }, [hasIcon, hasText, Icon, value, iconRight]);
169
+ const containerStyle = React.useMemo(() => ({
170
+ width: '100%',
171
+ display: 'flex',
172
+ justifyContent: cellAlign ?? (hasText ? 'flex-start' : 'center'),
173
+ alignItems: 'center',
174
+ height: '100%',
175
+ gap: hasIcon && hasText ? `${textGap}px` : '0',
176
+ }), [cellAlign, hasText, hasIcon, textGap]);
177
+ if (!showCondition)
178
+ return null;
179
+ if (!hasIcon && !hasText)
180
+ return null;
181
+ return (_jsx("span", { style: containerStyle, children: content }));
182
+ }
183
+ // React.memo optimalizace pro AG-Grid renderer
184
+ // ✅ PERFORMANCE FIX: colDef NESMÍ být v kritických props!
185
+ const arePropsEqual = createMemoComparison(['value', 'data'], ['colDef'], false, 'IconRenderer');
186
+ export default React.memo(IconRenderer, arePropsEqual);
187
+ //# sourceMappingURL=IconRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconRenderer.js","sourceRoot":"","sources":["../../Renderers/IconRenderer.jsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ declare const _default: React.NamedExoticComponent<any>;
2
+ export default _default;
3
+ import * as React from 'react';
@@ -0,0 +1,58 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ /* eslint-disable */
3
+ import * as React from 'react';
4
+ import { createMemoComparison } from '@bit.rhplus/react-memo';
5
+ function ImageRenderer(props) {
6
+ const { data, value, colDef: { imageRendererParams = {} } = {} } = props;
7
+ if (!imageRendererParams)
8
+ return null;
9
+ const { cellAlign = 'center', visibleGetter, showOnGroup = false, imageUrl, fallbackText = true, alt, imageSize = 24, imageStyle, } = imageRendererParams;
10
+ const [hasError, setHasError] = React.useState(false);
11
+ const visibleResult = React.useMemo(() => visibleGetter ? visibleGetter(data) : true, [visibleGetter, data]);
12
+ const computedImageUrl = React.useMemo(() => {
13
+ if (!imageUrl)
14
+ return null;
15
+ if (typeof imageUrl === 'function') {
16
+ return imageUrl({ data, value, props });
17
+ }
18
+ return imageUrl;
19
+ }, [imageUrl, data, value, props]);
20
+ const handleImageError = React.useCallback(() => {
21
+ setHasError(true);
22
+ }, []);
23
+ React.useEffect(() => {
24
+ setHasError(false);
25
+ }, [computedImageUrl]);
26
+ const showCondition = React.useMemo(() => {
27
+ const newItem = (data && data._rh_plus_ag_grid_new_item) || false;
28
+ return !newItem && (showOnGroup || !!data) && visibleResult;
29
+ }, [data, showOnGroup, visibleResult]);
30
+ const containerStyle = React.useMemo(() => ({
31
+ width: '100%',
32
+ display: 'flex',
33
+ justifyContent: cellAlign || 'center',
34
+ alignItems: 'center',
35
+ height: '100%',
36
+ }), [cellAlign]);
37
+ const finalImageStyle = React.useMemo(() => ({
38
+ width: imageSize,
39
+ height: imageSize,
40
+ objectFit: 'contain',
41
+ ...(typeof imageStyle === 'function' ? imageStyle({ data, value, props }) : imageStyle || {}),
42
+ }), [imageSize, imageStyle, data, value, props]);
43
+ if (!showCondition)
44
+ return null;
45
+ if (hasError || !computedImageUrl) {
46
+ if (fallbackText && value) {
47
+ return (_jsx("span", { style: containerStyle, children: value }));
48
+ }
49
+ return null;
50
+ }
51
+ return (_jsx("span", { style: containerStyle, children: _jsx("img", { src: computedImageUrl, alt: alt || value || 'Image', style: finalImageStyle, onError: handleImageError, loading: "lazy" }) }));
52
+ }
53
+ ImageRenderer.displayName = 'ImageRenderer';
54
+ // React.memo optimalizace pro AG-Grid renderer
55
+ // ✅ PERFORMANCE FIX: colDef NESMÍ být v kritických props!
56
+ const arePropsEqual = createMemoComparison(['value', 'data'], ['colDef'], false, 'ImageRenderer');
57
+ export default React.memo(ImageRenderer, arePropsEqual);
58
+ //# sourceMappingURL=ImageRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImageRenderer.js","sourceRoot":"","sources":["../../Renderers/ImageRenderer.jsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ declare const _default: React.NamedExoticComponent<any>;
2
+ export default _default;
3
+ import * as React from 'react';
@@ -0,0 +1,76 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ /* eslint-disable */
3
+ import * as React from 'react';
4
+ import { createMemoComparison } from '@bit.rhplus/react-memo';
5
+ // Style constants
6
+ const CONTAINER_STYLE = {
7
+ width: '100%',
8
+ height: '100%',
9
+ display: 'flex',
10
+ alignItems: 'center',
11
+ };
12
+ const DEFAULT_LINK_STYLE = {
13
+ color: '#1a73e8',
14
+ textDecoration: 'none',
15
+ cursor: 'pointer',
16
+ };
17
+ const DEFAULT_HOVER_STYLE = {
18
+ textDecoration: 'underline',
19
+ };
20
+ function LinkRenderer(props) {
21
+ const { value, data, colDef: { linkRendererParams = {} } = {}, } = props;
22
+ const { onClick, linkStyle, hoverStyle, overviewToggle = false, showOnGroup = false, visibleGetter, } = linkRendererParams;
23
+ const [isHovered, setIsHovered] = React.useState(false);
24
+ const handleMouseEnter = React.useCallback(() => {
25
+ setIsHovered(true);
26
+ }, []);
27
+ const handleMouseLeave = React.useCallback(() => {
28
+ setIsHovered(false);
29
+ }, []);
30
+ const handleClick = React.useCallback((event) => {
31
+ event.stopPropagation();
32
+ if (overviewToggle && props.api) {
33
+ props.api.dispatchEvent({
34
+ type: 'overviewToggle',
35
+ data: props.data,
36
+ params: props,
37
+ });
38
+ }
39
+ if (onClick) {
40
+ onClick(props);
41
+ }
42
+ }, [onClick, overviewToggle, props]);
43
+ const handleKeyPress = React.useCallback((event) => {
44
+ if (event.key === 'Enter' || event.key === ' ') {
45
+ handleClick(event);
46
+ }
47
+ }, [handleClick]);
48
+ const visibleResult = React.useMemo(() => visibleGetter ? visibleGetter(data) : true, [visibleGetter, data]);
49
+ const showCondition = React.useMemo(() => {
50
+ const newItem = (data && data._rh_plus_ag_grid_new_item) || false;
51
+ return !newItem && (showOnGroup || !!data) && visibleResult;
52
+ }, [data, showOnGroup, visibleResult]);
53
+ const computedLinkStyle = React.useMemo(() => ({
54
+ ...DEFAULT_LINK_STYLE,
55
+ ...(typeof linkStyle === 'function'
56
+ ? linkStyle(props)
57
+ : linkStyle || {}),
58
+ }), [linkStyle, props]);
59
+ const computedHoverStyle = React.useMemo(() => ({
60
+ ...DEFAULT_LINK_STYLE,
61
+ ...computedLinkStyle,
62
+ ...DEFAULT_HOVER_STYLE,
63
+ ...(typeof hoverStyle === 'function'
64
+ ? hoverStyle(props)
65
+ : hoverStyle || {}),
66
+ }), [computedLinkStyle, hoverStyle, props]);
67
+ if (!showCondition || !value)
68
+ return null;
69
+ return (_jsx("div", { className: "link-cell-container", style: CONTAINER_STYLE, children: _jsx("span", { onClick: handleClick, onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, onKeyPress: handleKeyPress, style: isHovered ? computedHoverStyle : computedLinkStyle, role: "button", tabIndex: 0, children: value }) }));
70
+ }
71
+ LinkRenderer.displayName = 'LinkRenderer';
72
+ // React.memo optimalizace pro AG-Grid renderer
73
+ // ✅ PERFORMANCE FIX: colDef NESMÍ být v kritických props!
74
+ const arePropsEqual = createMemoComparison(['value', 'data'], ['colDef'], false, 'LinkRenderer');
75
+ export default React.memo(LinkRenderer, arePropsEqual);
76
+ //# sourceMappingURL=LinkRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LinkRenderer.js","sourceRoot":"","sources":["../../Renderers/LinkRenderer.jsx"],"names":[],"mappings":"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"}