@owp/core 2.5.4 → 2.5.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. package/configs/theme.d.ts +3 -0
  2. package/configs/theme.js +1 -0
  3. package/dist/_virtual/index11.js +2 -2
  4. package/dist/_virtual/index13.js +2 -2
  5. package/dist/_virtual/index14.js +2 -2
  6. package/dist/_virtual/index15.js +2 -2
  7. package/dist/_virtual/index16.js +4 -4
  8. package/dist/_virtual/index17.js +4 -4
  9. package/dist/_virtual/index18.js +4 -4
  10. package/dist/_virtual/index19.js +4 -4
  11. package/dist/components/OwpPageSkeleton/OwpPageSkeleton.js +4 -4
  12. package/dist/components/OwpTable/OwpDataTable.js +293 -327
  13. package/dist/components/OwpTable/OwpDataTable.js.map +1 -1
  14. package/dist/components/OwpTable/OwpTable.js +102 -117
  15. package/dist/components/OwpTable/OwpTable.js.map +1 -1
  16. package/dist/components/OwpTable/internal/defaultTableStyle.js +50 -0
  17. package/dist/components/OwpTable/internal/defaultTableStyle.js.map +1 -0
  18. package/dist/components/OwpTreeGrid/OwpTreeGrid.js +47 -45
  19. package/dist/components/OwpTreeGrid/OwpTreeGrid.js.map +1 -1
  20. package/dist/components/OwpTreeGrid/internal/treeGridRuntime.js +179 -161
  21. package/dist/components/OwpTreeGrid/internal/treeGridRuntime.js.map +1 -1
  22. package/dist/configs/defaultConfig.js +1 -1
  23. package/dist/configs/theme.js +28 -0
  24. package/dist/configs/theme.js.map +1 -0
  25. package/dist/contexts/OwpAppProvider.js.map +1 -1
  26. package/dist/features/themePreview/components/ThemePreviewCanvas.js +492 -0
  27. package/dist/features/themePreview/components/ThemePreviewCanvas.js.map +1 -0
  28. package/dist/features/themePreview/components/ThemePreviewCanvasSections.js +678 -0
  29. package/dist/features/themePreview/components/ThemePreviewCanvasSections.js.map +1 -0
  30. package/dist/features/themePreview/components/ThemePreviewColorField.js +372 -0
  31. package/dist/features/themePreview/components/ThemePreviewColorField.js.map +1 -0
  32. package/dist/features/themePreview/components/ThemePreviewControls.js +306 -0
  33. package/dist/features/themePreview/components/ThemePreviewControls.js.map +1 -0
  34. package/dist/features/themePreview/components/themePreviewCanvas.icons.js +17 -0
  35. package/dist/features/themePreview/components/themePreviewCanvas.icons.js.map +1 -0
  36. package/dist/features/themePreview/components/themePreviewCanvas.shared.js +296 -0
  37. package/dist/features/themePreview/components/themePreviewCanvas.shared.js.map +1 -0
  38. package/dist/features/themePreview/configs/grid.js +45 -0
  39. package/dist/features/themePreview/configs/grid.js.map +1 -0
  40. package/dist/features/themePreview/configs/presets.js +1074 -0
  41. package/dist/features/themePreview/configs/presets.js.map +1 -0
  42. package/dist/features/themePreview/configs/previewStorage.js +94 -0
  43. package/dist/features/themePreview/configs/previewStorage.js.map +1 -0
  44. package/dist/features/themePreview/configs/settings.js +148 -0
  45. package/dist/features/themePreview/configs/settings.js.map +1 -0
  46. package/dist/features/themePreview/configs/snackbar.js +39 -0
  47. package/dist/features/themePreview/configs/snackbar.js.map +1 -0
  48. package/dist/features/themePreview/configs/surface.js +10 -0
  49. package/dist/features/themePreview/configs/surface.js.map +1 -0
  50. package/dist/features/themePreview/configs/table.js +30 -0
  51. package/dist/features/themePreview/configs/table.js.map +1 -0
  52. package/dist/features/themePreview/defs/ThemePreviewGridDef.xml.js +43 -0
  53. package/dist/features/themePreview/defs/ThemePreviewGridDef.xml.js.map +1 -0
  54. package/dist/features/themePreview/defs/ThemePreviewReadonlyGridDef.xml.js +43 -0
  55. package/dist/features/themePreview/defs/ThemePreviewReadonlyGridDef.xml.js.map +1 -0
  56. package/dist/features/themePreview/dialogs/ThemePreviewDialog.js +441 -0
  57. package/dist/features/themePreview/dialogs/ThemePreviewDialog.js.map +1 -0
  58. package/dist/features/themePreview/hooks/useThemePreview.js +280 -0
  59. package/dist/features/themePreview/hooks/useThemePreview.js.map +1 -0
  60. package/dist/features/themePreview/utils/color.js +79 -0
  61. package/dist/features/themePreview/utils/color.js.map +1 -0
  62. package/dist/features/themePreview/utils/themePreviewDefinitions.js +526 -0
  63. package/dist/features/themePreview/utils/themePreviewDefinitions.js.map +1 -0
  64. package/dist/features/themePreview/utils/themePreviewExport.js +320 -0
  65. package/dist/features/themePreview/utils/themePreviewExport.js.map +1 -0
  66. package/dist/features/themePreview/utils/themePreviewSettings.js +211 -0
  67. package/dist/features/themePreview/utils/themePreviewSettings.js.map +1 -0
  68. package/dist/features/themePreview.js +75 -0
  69. package/dist/features/themePreview.js.map +1 -0
  70. package/dist/layout/components/logo/Logo.js +49 -45
  71. package/dist/layout/components/logo/Logo.js.map +1 -1
  72. package/dist/layout/components/toggles/NavigationSearchToggle.js +3 -3
  73. package/dist/layout/components/toggles/ThemePreviewToggle.js +51 -0
  74. package/dist/layout/components/toggles/ThemePreviewToggle.js.map +1 -0
  75. package/dist/layout/components/toolbar/ToolbarLayout.js +8 -6
  76. package/dist/layout/components/toolbar/ToolbarLayout.js.map +1 -1
  77. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/CheckCircleOutline.js +9 -0
  78. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/CheckCircleOutline.js.map +1 -0
  79. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/DownloadOutlined.js +9 -0
  80. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/DownloadOutlined.js.map +1 -0
  81. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/ErrorOutline.js +9 -0
  82. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/ErrorOutline.js.map +1 -0
  83. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/InfoOutlined.js +9 -0
  84. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/InfoOutlined.js.map +1 -0
  85. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/KeyboardArrowUpRounded.js +9 -0
  86. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/KeyboardArrowUpRounded.js.map +1 -0
  87. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/MenuRounded.js +9 -0
  88. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/MenuRounded.js.map +1 -0
  89. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/NotificationsNoneOutlined.js +9 -0
  90. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/NotificationsNoneOutlined.js.map +1 -0
  91. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/PaletteOutlined.js +25 -0
  92. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/PaletteOutlined.js.map +1 -0
  93. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/RestoreOutlined.js +9 -0
  94. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/RestoreOutlined.js.map +1 -0
  95. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/SaveOutlined.js +9 -0
  96. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/SaveOutlined.js.map +1 -0
  97. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/SpaceDashboardOutlined.js +9 -0
  98. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/SpaceDashboardOutlined.js.map +1 -0
  99. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/UploadFileOutlined.js +9 -0
  100. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/UploadFileOutlined.js.map +1 -0
  101. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/WarningAmberRounded.js +9 -0
  102. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/WarningAmberRounded.js.map +1 -0
  103. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE128/index.js +1 -1
  104. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE39/index.js +1 -1
  105. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE93/constants.js +1 -1
  106. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE93/index.js +1 -1
  107. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/EAN_UPC/index.js +1 -1
  108. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/GenericBarcode/index.js +1 -1
  109. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/ITF/constants.js +1 -1
  110. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/ITF/index.js +1 -1
  111. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/MSI/index.js +1 -1
  112. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/codabar/index.js +1 -1
  113. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/pharmacode/index.js +1 -1
  114. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/renderers/index.js +1 -1
  115. package/dist/node_modules/.pnpm/react-overlays@5.2.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-overlays/esm/Portal.js +1 -1
  116. package/dist/owp-app.css +1 -1
  117. package/dist/types/components/OwpTable/internal/defaultTableStyle.d.ts +49 -0
  118. package/dist/types/components/OwpTreeGrid/OwpTreeGrid.d.ts +2 -1
  119. package/dist/types/components/OwpTreeGrid/internal/treeGridRuntime.d.ts +6 -1
  120. package/dist/types/configs/theme/index.d.ts +6 -0
  121. package/dist/types/contexts/OwpAppProvider.d.ts +2 -0
  122. package/dist/types/features/themePreview/components/ThemePreviewCanvas.d.ts +8 -0
  123. package/dist/types/features/themePreview/components/ThemePreviewCanvasSections.d.ts +82 -0
  124. package/dist/types/features/themePreview/components/ThemePreviewColorField.d.ts +10 -0
  125. package/dist/types/features/themePreview/components/ThemePreviewControls.d.ts +18 -0
  126. package/dist/types/features/themePreview/components/index.d.ts +3 -0
  127. package/dist/types/features/themePreview/components/themePreviewCanvas.icons.d.ts +3 -0
  128. package/dist/types/features/themePreview/components/themePreviewCanvas.shared.d.ts +121 -0
  129. package/dist/types/features/themePreview/configs/grid.d.ts +41 -0
  130. package/dist/types/features/themePreview/configs/index.d.ts +7 -0
  131. package/dist/types/features/themePreview/configs/presets.d.ts +1152 -0
  132. package/dist/types/features/themePreview/configs/previewStorage.d.ts +35 -0
  133. package/dist/types/features/themePreview/configs/settings.d.ts +271 -0
  134. package/dist/types/features/themePreview/configs/snackbar.d.ts +43 -0
  135. package/dist/types/features/themePreview/configs/surface.d.ts +6 -0
  136. package/dist/types/features/themePreview/configs/table.d.ts +47 -0
  137. package/dist/types/features/themePreview/dialogs/ThemePreviewDialog.d.ts +3 -0
  138. package/dist/types/features/themePreview/dialogs/index.d.ts +1 -0
  139. package/dist/types/features/themePreview/hooks/index.d.ts +1 -0
  140. package/dist/types/features/themePreview/hooks/useThemePreview.d.ts +61 -0
  141. package/dist/types/features/themePreview/index.d.ts +6 -0
  142. package/dist/types/features/themePreview/types/index.d.ts +1 -0
  143. package/dist/types/features/themePreview/types/themePreview.d.ts +44 -0
  144. package/dist/types/features/themePreview/utils/color.d.ts +14 -0
  145. package/dist/types/features/themePreview/utils/index.d.ts +4 -0
  146. package/dist/types/features/themePreview/utils/themePreviewDefinitions.d.ts +10 -0
  147. package/dist/types/features/themePreview/utils/themePreviewExport.d.ts +46 -0
  148. package/dist/types/features/themePreview/utils/themePreviewSettings.d.ts +54 -0
  149. package/dist/types/layout/components/toggles/ThemePreviewToggle.d.ts +5 -0
  150. package/dist/types/utils/zipUtil.d.ts +1 -0
  151. package/dist/utils/zipUtil.js +38 -36
  152. package/dist/utils/zipUtil.js.map +1 -1
  153. package/features/themePreview.d.ts +3 -0
  154. package/features/themePreview.js +1 -0
  155. package/package.json +3 -1
@@ -1,68 +1,86 @@
1
- var P = Object.defineProperty;
2
- var G = (e, t) => P(e, "name", { value: t, configurable: !0 });
3
- import { getTreeGridTextResourceUrl as U } from "../../../constants/treeGrid.js";
4
- import { highlightTreeGridCellById as $ } from "../../../utils/treeGridUtil.js";
5
- import { enqueueSnackbar as M } from "notistack";
6
- import { applyTreeGridLayoutToGrid as W } from "./treeGridLayout.js";
7
- import { resolveTreeGridColumnEditValue as Y, resetTreeGridColumnEditRulesState as j, syncTreeGridColumnEditRules as q } from "./treeGridColumnEditRules.js";
8
- import { measureTreeGridPerf as z } from "./utils/perf.js";
9
- import { debounce as m } from "../../../node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/function/debounce.js";
10
- import { get as K } from "../../../node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/object/get.js";
11
- import { isEmpty as Q } from "../../../node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/predicate/isEmpty.js";
12
- const ae = 300, J = [255, 255, 166], X = [240, 240, 240], Z = [248, 248, 248], g = [255, 255, 255], H = [255, 255, 254], ee = [242, 242, 242], A = /* @__PURE__ */ G((e) => `${e}?noCache=${Date.now()}`, "appendNoCacheQuery"), te = /* @__PURE__ */ G((e) => e != null && e.includes("assets") ? A(e) : (
13
- // @ts-expect-error - API base URL env is provided by host app
14
- `undefined/${e}?noCache=${Date.now()}`
15
- ), "resolveTreeGridDataUrl"), ne = /* @__PURE__ */ G((e, t, o) => e ? { Url: te(t) } : { Data: { Body: [Q(o) ? [] : o] } }, "buildTreeGridDataSource"), pe = /* @__PURE__ */ G(({
1
+ var W = Object.defineProperty;
2
+ var s = (e, t) => W(e, "name", { value: t, configurable: !0 });
3
+ import { getTreeGridTextResourceUrl as P } from "../../../constants/treeGrid.js";
4
+ import { highlightTreeGridCellById as M } from "../../../utils/treeGridUtil.js";
5
+ import { enqueueSnackbar as j } from "notistack";
6
+ import { applyTreeGridLayoutToGrid as q } from "./treeGridLayout.js";
7
+ import { resolveTreeGridColumnEditValue as Y, resetTreeGridColumnEditRulesState as z, syncTreeGridColumnEditRules as K } from "./treeGridColumnEditRules.js";
8
+ import { measureTreeGridPerf as Q } from "./utils/perf.js";
9
+ import { debounce as O } from "../../../node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/function/debounce.js";
10
+ import { get as J } from "../../../node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/object/get.js";
11
+ import { isEmpty as X } from "../../../node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/predicate/isEmpty.js";
12
+ const Be = 300, Z = [255, 255, 166], g = [240, 240, 240], H = [248, 248, 248], ee = [255, 255, 255], te = [255, 255, 254], ne = [242, 242, 242], U = /* @__PURE__ */ s((e) => (e == null ? void 0 : e.startsWith("data:")) || (e == null ? void 0 : e.startsWith("blob:")), "isTreeGridInlineUrl"), v = /* @__PURE__ */ new Map(), re = /* @__PURE__ */ s((e) => {
13
+ if (!e || !e.startsWith("data:"))
14
+ return e;
15
+ const t = v.get(e);
16
+ if (t)
17
+ return t;
18
+ try {
19
+ const [n, c = ""] = e.split(",", 2), G = /^data:([^;]*)(;base64)?$/i.exec(n), a = (G == null ? void 0 : G[1]) || "application/octet-stream", R = G != null && G[2] ? atob(c) : decodeURIComponent(c), l = new Uint8Array(R.length);
20
+ for (let _ = 0; _ < R.length; _ += 1)
21
+ l[_] = R.charCodeAt(_);
22
+ const S = URL.createObjectURL(new Blob([l], { type: a }));
23
+ return v.set(e, S), S;
24
+ } catch {
25
+ return e;
26
+ }
27
+ }, "resolveTreeGridInlineUrl"), I = /* @__PURE__ */ s((e) => {
28
+ if (!e || U(e))
29
+ return re(e);
30
+ const t = e.indexOf("#"), [n, c] = t >= 0 ? [e.slice(0, t), e.slice(t)] : [e, ""], G = n.includes("?") ? "&" : "?";
31
+ return `${n}${G}noCache=${Date.now()}${c}`;
32
+ }, "appendNoCacheQuery"), oe = /* @__PURE__ */ s((e) => e ? U(e) || e.includes("assets") ? I(e) : I(`undefined/${e}`) : "", "resolveTreeGridDataUrl"), ce = /* @__PURE__ */ s((e, t, n) => e ? { Url: oe(t) } : { Data: { Body: [X(n) ? [] : n] } }, "buildTreeGridDataSource"), he = /* @__PURE__ */ s(({
16
33
  id: e,
17
34
  layoutUrl: t,
18
- dataUrl: o,
19
- bodyData: i,
20
- useDataUrl: s,
35
+ layoutData: n,
36
+ dataUrl: c,
37
+ bodyData: G,
38
+ useDataUrl: a,
21
39
  width: R,
22
- height: D,
23
- languageId: _
40
+ height: l,
41
+ languageId: S
24
42
  }) => ({
25
43
  id: e,
26
- Layout: { Url: A(t ?? "") },
27
- Data: ne(s, o, i),
44
+ Layout: n ? { Data: n } : { Url: I(t ?? "") },
45
+ Data: ce(a, c, G),
28
46
  Text: {
29
- Url: U(_)
47
+ Url: P(S)
30
48
  },
31
49
  width: R,
32
- height: D,
50
+ height: l,
33
51
  Debug: "Error"
34
- }), "buildTreeGridInitializationOptions"), v = /* @__PURE__ */ G((e) => K(e, "Data.Data.Data.Body.0"), "getTreeGridBodyData"), re = /* @__PURE__ */ G((e) => Array.isArray(e) ? e.length : 0, "getTreeGridBodyDataCount"), oe = /* @__PURE__ */ G((e) => {
52
+ }), "buildTreeGridInitializationOptions"), A = /* @__PURE__ */ s((e) => J(e, "Data.Data.Data.Body.0"), "getTreeGridBodyData"), ue = /* @__PURE__ */ s((e) => Array.isArray(e) ? e.length : 0, "getTreeGridBodyDataCount"), ie = /* @__PURE__ */ s((e) => {
35
53
  const t = e == null ? void 0 : e.Visible;
36
54
  return !!e && t !== 0 && t !== !1 && t !== "0";
37
- }, "isVisibleTreeGridRow"), ue = /* @__PURE__ */ G((e) => {
55
+ }, "isVisibleTreeGridRow"), se = /* @__PURE__ */ s((e) => {
38
56
  const t = e == null ? void 0 : e.Added;
39
57
  return !!e && t !== 0 && t !== !1 && t !== "0" && t !== void 0;
40
- }, "isAddedTreeGridRow"), E = /* @__PURE__ */ G((e) => !e || e.Fixed === "Foot" || !oe(e) ? !1 : e.Kind === "Data" || ue(e), "isDisplayTreeGridRow"), ce = /* @__PURE__ */ G((e, t, o) => !t || !o || !E(t) ? !1 : e.CanEdit(t, o) === 1, "isEditableTreeGridCell"), ie = /* @__PURE__ */ G((e, t, o) => {
41
- const i = e.GetAttribute(t, o, "Color");
42
- return i != null && i !== "";
43
- }, "hasExplicitTreeGridCellColor"), Ge = /* @__PURE__ */ G((e, t, o, i) => {
44
- if (!(!t || i === void 0 || !ce(e, t, o) || ie(e, t, o)))
45
- return i;
46
- }, "getEditableTreeGridCellDefaultColor"), S = /* @__PURE__ */ G((e, t, o, i) => e === i[0] && t === i[1] && o === i[2], "matchesTreeGridRgbColor"), Te = /* @__PURE__ */ G((e, t, o) => {
47
- if (!t || !o || !E(t))
58
+ }, "isAddedTreeGridRow"), E = /* @__PURE__ */ s((e) => !e || e.Fixed === "Foot" || !ie(e) ? !1 : e.Kind === "Data" || se(e), "isDisplayTreeGridRow"), Ge = /* @__PURE__ */ s((e, t, n) => !t || !n || !E(t) ? !1 : e.CanEdit(t, n) === 1, "isEditableTreeGridCell"), fe = /* @__PURE__ */ s((e, t, n) => {
59
+ const c = e.GetAttribute(t, n, "Color");
60
+ return c != null && c !== "";
61
+ }, "hasExplicitTreeGridCellColor"), de = /* @__PURE__ */ s((e, t, n, c) => {
62
+ if (!(!t || c === void 0 || !Ge(e, t, n) || fe(e, t, n)))
63
+ return c;
64
+ }, "getEditableTreeGridCellDefaultColor"), m = /* @__PURE__ */ s((e, t, n, c) => e === c[0] && t === c[1] && n === c[2], "matchesTreeGridRgbColor"), Te = /* @__PURE__ */ s((e, t, n) => {
65
+ if (!t || !n || !E(t))
48
66
  return !1;
49
- const i = e.IsSelected(t, o);
50
- return i !== 0 && i !== !1 && i !== void 0 && i !== null;
51
- }, "isTreeGridSelectedCellState"), fe = /* @__PURE__ */ G((e, t, o) => !t || !o || !E(t) || e.ARow !== t || e.ACol !== o ? !1 : e.CanEdit(t, o) === 0, "isTreeGridReadonlyHoveredCellState"), Ce = /* @__PURE__ */ G((e, t, o) => !t || !o || !E(t) || e.ARow !== t || e.ACol !== o ? !1 : e.CanEdit(t, o) === 2, "isTreeGridPreviewHoveredCellState"), se = /* @__PURE__ */ G(({
67
+ const c = e.IsSelected(t, n);
68
+ return c !== 0 && c !== !1 && c !== void 0 && c !== null;
69
+ }, "isTreeGridSelectedCellState"), ae = /* @__PURE__ */ s((e, t, n) => !t || !n || !E(t) || e.ARow !== t || e.ACol !== n ? !1 : e.CanEdit(t, n) === 0, "isTreeGridReadonlyHoveredCellState"), Ce = /* @__PURE__ */ s((e, t, n) => !t || !n || !E(t) || e.ARow !== t || e.ACol !== n ? !1 : e.CanEdit(t, n) === 2, "isTreeGridPreviewHoveredCellState"), Re = /* @__PURE__ */ s(({
52
70
  grid: e,
53
71
  row: t,
54
- col: o,
55
- r: i,
56
- g: s,
57
- b: R,
58
- selectedCellBackgroundColor: D,
59
- hoverCellBackgroundColor: _
72
+ col: n,
73
+ r: c,
74
+ g: G,
75
+ b: a,
76
+ selectedCellBackgroundColor: R,
77
+ hoverCellBackgroundColor: l
60
78
  }) => {
61
- if (Te(e, t, o) && S(i, s, R, J))
62
- return D;
63
- if (fe(e, t, o) && (S(i, s, R, X) || S(i, s, R, Z)) || Ce(e, t, o) && (S(i, s, R, g) || S(i, s, R, H) || S(i, s, R, ee)))
64
- return _;
65
- }, "resolveTreeGridStateBackgroundColor"), we = /* @__PURE__ */ G((e) => {
79
+ if (Te(e, t, n) && m(c, G, a, Z))
80
+ return R;
81
+ if (ae(e, t, n) && (m(c, G, a, g) || m(c, G, a, H)) || Ce(e, t, n) && (m(c, G, a, ee) || m(c, G, a, te) || m(c, G, a, ne)))
82
+ return l;
83
+ }, "resolveTreeGridStateBackgroundColor"), we = /* @__PURE__ */ s((e) => {
66
84
  if (!e)
67
85
  return !1;
68
86
  if (typeof e.GetFirst == "function" && typeof e.GetNext == "function") {
@@ -75,157 +93,157 @@ const ae = 300, J = [255, 255, 166], X = [240, 240, 240], Z = [248, 248, 248], g
75
93
  return !1;
76
94
  }
77
95
  return Object.values(e.Rows ?? {}).some((t) => E(t));
78
- }, "hasTreeGridDisplayDataRows"), ye = /* @__PURE__ */ G((e, t, o) => {
79
- var s;
80
- const i = (s = e.Data) == null ? void 0 : s.Data;
96
+ }, "hasTreeGridDisplayDataRows"), Le = /* @__PURE__ */ s((e, t, n) => {
97
+ var G;
98
+ const c = (G = e.Data) == null ? void 0 : G.Data;
81
99
  e.Data.Data = {
82
- ...i,
100
+ ...c,
83
101
  Data: { Body: [t || []] },
84
102
  Url: ""
85
- }, e.ReloadBody(o);
86
- }, "replaceTreeGridBodyData"), Le = /* @__PURE__ */ G(({
103
+ }, e.ReloadBody(n);
104
+ }, "replaceTreeGridBodyData"), be = /* @__PURE__ */ s(({
87
105
  id: e,
88
106
  latestEventHandlersRef: t,
89
- highlightEditableCellsRef: o,
90
- highlightChangedCellsRef: i,
91
- editableCellBackgroundColorValueRef: s,
92
- changedCellBackgroundColorRef: R,
93
- selectedCellBackgroundColorRef: D,
94
- hoverCellBackgroundColorRef: _,
95
- treeGridInstanceRef: h,
96
- treeGridInitStartedAtRef: a,
97
- latestLayoutOverridesRef: N,
98
- appliedLayoutOverridesRef: V,
99
- appliedBodyDataPropRef: k,
100
- latestColumnEditRulesRef: b,
101
- latestColumnEditRuleLookupRef: p,
102
- appliedColumnEditRulesRef: x,
103
- columnEditRulesStateRef: w,
104
- hasAppliedInitialLayoutRef: y,
105
- syncHasDisplayDataRows: l,
106
- setIsTreeGridReady: F
107
+ highlightEditableCellsRef: n,
108
+ highlightChangedCellsRef: c,
109
+ editableCellBackgroundColorValueRef: G,
110
+ changedCellBackgroundColorRef: a,
111
+ selectedCellBackgroundColorRef: R,
112
+ hoverCellBackgroundColorRef: l,
113
+ treeGridInstanceRef: S,
114
+ treeGridInitStartedAtRef: _,
115
+ latestLayoutOverridesRef: x,
116
+ appliedLayoutOverridesRef: N,
117
+ appliedBodyDataPropRef: V,
118
+ latestColumnEditRulesRef: k,
119
+ latestColumnEditRuleLookupRef: B,
120
+ appliedColumnEditRulesRef: F,
121
+ columnEditRulesStateRef: h,
122
+ hasAppliedInitialLayoutRef: w,
123
+ syncHasDisplayDataRows: D,
124
+ setIsTreeGridReady: $
107
125
  }) => {
108
- const T = t.current;
109
- window.TGSetEvent("OnRowAdd", e, (n, u) => {
110
- var r, c;
111
- u.CanEdit = 1, u.CanDelete = 1, (c = (r = t.current) == null ? void 0 : r.onRowAdd) == null || c.call(r, n, u);
112
- }), window.TGSetEvent("OnRowAdded", e, (n) => {
113
- l(n);
114
- }), typeof (T == null ? void 0 : T.onRowClick) == "function" && window.TGSetEvent(
126
+ const f = t.current;
127
+ window.TGSetEvent("OnRowAdd", e, (r, u) => {
128
+ var o, i;
129
+ u.CanEdit = 1, u.CanDelete = 1, (i = (o = t.current) == null ? void 0 : o.onRowAdd) == null || i.call(o, r, u);
130
+ }), window.TGSetEvent("OnRowAdded", e, (r) => {
131
+ D(r);
132
+ }), typeof (f == null ? void 0 : f.onRowClick) == "function" && window.TGSetEvent(
115
133
  "OnClick",
116
134
  e,
117
- m((n, u, r, c, f, C) => {
118
- var d, O;
119
- (O = (d = t.current) == null ? void 0 : d.onRowClick) == null || O.call(
120
- d,
121
- n,
122
- u,
135
+ O((r, u, o, i, d, T) => {
136
+ var C, p;
137
+ (p = (C = t.current) == null ? void 0 : C.onRowClick) == null || p.call(
138
+ C,
123
139
  r,
124
- c,
125
- f,
126
- C
140
+ u,
141
+ o,
142
+ i,
143
+ d,
144
+ T
127
145
  );
128
146
  }, 300)
129
- ), typeof (T == null ? void 0 : T.onClickButton) == "function" && window.TGSetEvent(
147
+ ), typeof (f == null ? void 0 : f.onClickButton) == "function" && window.TGSetEvent(
130
148
  "OnClickButton",
131
149
  e,
132
- m((n, u, r, c) => {
133
- var f, C;
134
- (C = (f = t.current) == null ? void 0 : f.onClickButton) == null || C.call(
135
- f,
136
- n,
137
- u,
150
+ O((r, u, o, i) => {
151
+ var d, T;
152
+ (T = (d = t.current) == null ? void 0 : d.onClickButton) == null || T.call(
153
+ d,
138
154
  r,
139
- c
155
+ u,
156
+ o,
157
+ i
140
158
  );
141
159
  }, 300)
142
- ), typeof (T == null ? void 0 : T.onRowDelete) == "function" ? window.TGSetEvent("OnRowDelete", e, (n, u, r) => {
143
- var c, f;
144
- l(n), (f = (c = t.current) == null ? void 0 : c.onRowDelete) == null || f.call(
145
- c,
146
- n,
160
+ ), typeof (f == null ? void 0 : f.onRowDelete) == "function" ? window.TGSetEvent("OnRowDelete", e, (r, u, o) => {
161
+ var i, d;
162
+ D(r), (d = (i = t.current) == null ? void 0 : i.onRowDelete) == null || d.call(
163
+ i,
164
+ r,
147
165
  u,
148
- r
166
+ o
149
167
  );
150
- }) : window.TGSetEvent("OnRowDelete", e, (n) => {
151
- l(n);
152
- }), typeof (T == null ? void 0 : T.onRowUndelete) == "function" ? window.TGSetEvent("OnRowUndelete", e, (n, u) => {
153
- var r, c;
154
- l(n), (c = (r = t.current) == null ? void 0 : r.onRowUndelete) == null || c.call(r, n, u);
155
- }) : window.TGSetEvent("OnRowUndelete", e, (n) => {
156
- l(n);
157
- }), window.TGSetEvent("OnGetDefaultColor", e, (n, u, r) => {
158
- if (!(!o.current || !E(u)))
159
- return Ge(
160
- n,
161
- u,
168
+ }) : window.TGSetEvent("OnRowDelete", e, (r) => {
169
+ D(r);
170
+ }), typeof (f == null ? void 0 : f.onRowUndelete) == "function" ? window.TGSetEvent("OnRowUndelete", e, (r, u) => {
171
+ var o, i;
172
+ D(r), (i = (o = t.current) == null ? void 0 : o.onRowUndelete) == null || i.call(o, r, u);
173
+ }) : window.TGSetEvent("OnRowUndelete", e, (r) => {
174
+ D(r);
175
+ }), window.TGSetEvent("OnGetDefaultColor", e, (r, u, o) => {
176
+ if (!(!n.current || !E(u)))
177
+ return de(
162
178
  r,
163
- s.current
179
+ u,
180
+ o,
181
+ G.current
164
182
  );
165
- }), window.TGSetEvent("OnGetColor", e, (n, u, r, c, f, C, d) => {
166
- if (!d)
167
- return se({
168
- grid: n,
183
+ }), window.TGSetEvent("OnGetColor", e, (r, u, o, i, d, T, C) => {
184
+ if (!C)
185
+ return Re({
186
+ grid: r,
169
187
  row: u,
170
- col: r,
171
- r: c,
172
- g: f,
173
- b: C,
174
- selectedCellBackgroundColor: D.current,
175
- hoverCellBackgroundColor: _.current
188
+ col: o,
189
+ r: i,
190
+ g: d,
191
+ b: T,
192
+ selectedCellBackgroundColor: R.current,
193
+ hoverCellBackgroundColor: l.current
176
194
  });
177
- }), window.TGSetEvent("OnAfterValueChanged", e, (n, u, r, c) => {
178
- var L, I;
179
- const f = p.current, C = f ? Y(f, r, c) : void 0, d = C == null ? void 0 : C.value, O = d ?? c;
180
- C != null && C.invalidText && M(C.invalidText, { variant: "warning" }), d !== void 0 && n.SetValue(u, r, d, 1), i.current && E(u) && $(e, {
195
+ }), window.TGSetEvent("OnAfterValueChanged", e, (r, u, o, i) => {
196
+ var L, b;
197
+ const d = B.current, T = d ? Y(d, o, i) : void 0, C = T == null ? void 0 : T.value, p = C ?? i;
198
+ T != null && T.invalidText && j(T.invalidText, { variant: "warning" }), C !== void 0 && r.SetValue(u, o, C, 1), c.current && E(u) && M(e, {
181
199
  row: u,
182
- col: r,
183
- backgroundColor: R.current
200
+ col: o,
201
+ backgroundColor: a.current
184
202
  });
185
- const B = ((L = t.current) == null ? void 0 : L.onAfterValueChanged) ?? ((I = t.current) == null ? void 0 : I.onRowChange);
186
- B == null || B(n, u, r, O);
187
- }), typeof (T == null ? void 0 : T.onSelect) == "function" && window.TGSetEvent(
203
+ const y = ((L = t.current) == null ? void 0 : L.onAfterValueChanged) ?? ((b = t.current) == null ? void 0 : b.onRowChange);
204
+ y == null || y(r, u, o, p);
205
+ }), typeof (f == null ? void 0 : f.onSelect) == "function" && window.TGSetEvent(
188
206
  "OnSelect",
189
207
  e,
190
- m((n) => {
191
- var r, c;
192
- const u = n.GetSelRows() ?? [];
193
- (c = (r = t.current) == null ? void 0 : r.onSelect) == null || c.call(r, u);
208
+ O((r) => {
209
+ var o, i;
210
+ const u = r.GetSelRows() ?? [];
211
+ (i = (o = t.current) == null ? void 0 : o.onSelect) == null || i.call(o, u);
194
212
  }, 100)
195
- ), typeof (T == null ? void 0 : T.onSave) == "function" && window.TGSetEvent("OnSave", e, (n, u, r) => {
196
- var c, f;
197
- (f = (c = t.current) == null ? void 0 : c.onSave) == null || f.call(
198
- c,
199
- n,
213
+ ), typeof (f == null ? void 0 : f.onSave) == "function" && window.TGSetEvent("OnSave", e, (r, u, o) => {
214
+ var i, d;
215
+ (d = (i = t.current) == null ? void 0 : i.onSave) == null || d.call(
216
+ i,
217
+ r,
200
218
  u,
201
- r
219
+ o
202
220
  );
203
221
  }), window.TGSetEvent(
204
222
  "OnReady",
205
223
  e,
206
- m((n) => {
207
- var u, r;
208
- if (!y.current) {
209
- const c = N.current;
210
- y.current = !0, W(n, c), j(w.current), q(
211
- n,
212
- p.current,
213
- w.current
214
- ), h.current = n, V.current = c, k.current = v(n), x.current = b.current, l(n), F(!0), z(e, "TreeGrid init ready", a.current, {
215
- bodyRowCount: re(
216
- v(n)
224
+ O((r) => {
225
+ var u, o;
226
+ if (!w.current) {
227
+ const i = x.current;
228
+ w.current = !0, q(r, i), z(h.current), K(
229
+ r,
230
+ B.current,
231
+ h.current
232
+ ), S.current = r, N.current = i, V.current = A(r), F.current = k.current, D(r), $(!0), Q(e, "TreeGrid init ready", _.current, {
233
+ bodyRowCount: ue(
234
+ A(r)
217
235
  )
218
- }), a.current = null, (r = (u = t.current) == null ? void 0 : u.onReady) == null || r.call(u, n);
236
+ }), _.current = null, (o = (u = t.current) == null ? void 0 : u.onReady) == null || o.call(u, r);
219
237
  }
220
238
  }, 100)
221
239
  );
222
240
  }, "bindTreeGridEvents");
223
241
  export {
224
- ae as TREE_GRID_BINDING_LOADING_MIN_VISIBLE_MS,
225
- Le as bindTreeGridEvents,
226
- pe as buildTreeGridInitializationOptions,
227
- re as getTreeGridBodyDataCount,
242
+ Be as TREE_GRID_BINDING_LOADING_MIN_VISIBLE_MS,
243
+ be as bindTreeGridEvents,
244
+ he as buildTreeGridInitializationOptions,
245
+ ue as getTreeGridBodyDataCount,
228
246
  we as hasTreeGridDisplayDataRows,
229
- ye as replaceTreeGridBodyData
247
+ Le as replaceTreeGridBodyData
230
248
  };
231
249
  //# sourceMappingURL=treeGridRuntime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"treeGridRuntime.js","sources":["../../../../src/components/OwpTreeGrid/internal/treeGridRuntime.ts"],"sourcesContent":["import { getTreeGridTextResourceUrl } from '@/constants/treeGrid';\nimport { highlightTreeGridCellById } from '@/utils/treeGridUtil';\nimport { debounce, get, isEmpty } from 'es-toolkit/compat';\nimport { enqueueSnackbar } from 'notistack';\nimport {\n type Dispatch,\n type RefObject,\n type SetStateAction,\n} from 'react';\nimport type {\n OwpTreeGridBodyData,\n OwpTreeGridColumnEditRule,\n OwpTreeGridLayoutConfig,\n OwpTreeGridProps,\n OwpTreeGridRowModel,\n OwpTreeGridSelectedRows,\n} from '../OwpTreeGrid';\nimport { applyTreeGridLayoutToGrid } from './treeGridLayout';\nimport {\n resetTreeGridColumnEditRulesState,\n resolveTreeGridColumnEditValue,\n syncTreeGridColumnEditRules,\n type TreeGridColumnEditRuleLookup,\n type TreeGridColumnEditRulesState,\n} from './treeGridColumnEditRules';\nimport { measureTreeGridPerf } from './utils/perf';\n\nexport const TREE_GRID_BINDING_LOADING_MIN_VISIBLE_MS = 300;\n\nconst TREE_GRID_SELECTED_CELL_RGB = [255, 255, 166] as const;\nconst TREE_GRID_READONLY_HOVER_CELL_RGB = [240, 240, 240] as const;\nconst TREE_GRID_READONLY_NO_FOCUS_HOVER_CELL_RGB = [248, 248, 248] as const;\nconst TREE_GRID_PREVIEW_CELL_RGB = [255, 255, 255] as const;\nconst TREE_GRID_PREVIEW_CELL_SOFT_RGB = [255, 255, 254] as const;\nconst TREE_GRID_PREVIEW_CELL_DIM_RGB = [242, 242, 242] as const;\n\ntype TreeGridInitializationInput<T> = {\n id: string;\n layoutUrl?: string;\n dataUrl?: string;\n bodyData: OwpTreeGridBodyData<T>;\n useDataUrl?: boolean;\n width?: string | number;\n height?: string | number;\n languageId: string;\n};\n\nexport type TreeGridEventHandlers<T> = Pick<\n OwpTreeGridProps<T>,\n | 'onSelect'\n | 'onRowClick'\n | 'onRowAdd'\n | 'onRowDelete'\n | 'onRowUndelete'\n | 'onRowChange'\n | 'onClickButton'\n | 'onSave'\n | 'onReady'\n | 'onAfterValueChanged'\n>;\n\nexport type TreeGridEventBindingOptions<T> = Pick<OwpTreeGridProps<T>, 'id'> & {\n latestEventHandlersRef: RefObject<TreeGridEventHandlers<T>>;\n highlightEditableCellsRef: RefObject<boolean>;\n highlightChangedCellsRef: RefObject<boolean>;\n editableCellBackgroundColorValueRef: RefObject<number | undefined>;\n changedCellBackgroundColorRef: RefObject<string>;\n selectedCellBackgroundColorRef: RefObject<string>;\n hoverCellBackgroundColorRef: RefObject<string>;\n treeGridInstanceRef: RefObject<TGrid>;\n treeGridInitStartedAtRef: RefObject<number | null>;\n latestLayoutOverridesRef: RefObject<OwpTreeGridLayoutConfig | undefined>;\n appliedLayoutOverridesRef: RefObject<OwpTreeGridLayoutConfig | undefined>;\n appliedBodyDataPropRef: RefObject<OwpTreeGridBodyData<T>>;\n latestColumnEditRulesRef: RefObject<readonly OwpTreeGridColumnEditRule[] | undefined>;\n latestColumnEditRuleLookupRef: RefObject<TreeGridColumnEditRuleLookup | undefined>;\n appliedColumnEditRulesRef: RefObject<readonly OwpTreeGridColumnEditRule[] | undefined>;\n columnEditRulesStateRef: RefObject<TreeGridColumnEditRulesState>;\n hasAppliedInitialLayoutRef: RefObject<boolean>;\n syncHasDisplayDataRows: (grid: TGrid | null) => void;\n setIsTreeGridReady: Dispatch<SetStateAction<boolean>>;\n};\n\nconst appendNoCacheQuery = (url: string) => {\n return `${url}?noCache=${Date.now()}`;\n};\n\nconst resolveTreeGridDataUrl = (dataUrl?: string) => {\n return dataUrl?.includes('assets')\n ? appendNoCacheQuery(dataUrl)\n : // @ts-expect-error - API base URL env is provided by host app\n `${import.meta.env.VITE_API_BASE_URL}/${dataUrl}?noCache=${Date.now()}`;\n};\n\nconst buildTreeGridDataSource = <T,>(\n useDataUrl: boolean | undefined,\n dataUrl: string | undefined,\n bodyData: OwpTreeGridBodyData<T>,\n) => {\n if (useDataUrl) {\n return { Url: resolveTreeGridDataUrl(dataUrl) };\n }\n\n return { Data: { Body: [isEmpty(bodyData) ? [] : bodyData] } };\n};\n\n/**\n * TreeGrid 초기화 옵션 생성\n * @param input 초기화 입력값\n */\nexport const buildTreeGridInitializationOptions = <T,>({\n id,\n layoutUrl,\n dataUrl,\n bodyData,\n useDataUrl,\n width,\n height,\n languageId,\n}: TreeGridInitializationInput<T>) => {\n return {\n id,\n Layout: { Url: appendNoCacheQuery(layoutUrl ?? '') },\n Data: buildTreeGridDataSource(useDataUrl, dataUrl, bodyData),\n Text: {\n Url: getTreeGridTextResourceUrl(languageId),\n },\n width,\n height,\n Debug: 'Error',\n };\n};\n\nconst getTreeGridBodyData = (grid: TGrid | null) => {\n return get(grid, 'Data.Data.Data.Body.0');\n};\n\n/**\n * TreeGrid Body 데이터 건수\n * @param bodyData TreeGrid Body 데이터\n */\nexport const getTreeGridBodyDataCount = <T,>(bodyData: OwpTreeGridBodyData<T>) => {\n return Array.isArray(bodyData) ? bodyData.length : 0;\n};\n\nconst isVisibleTreeGridRow = (row: TRow | null | undefined) => {\n const visible = (row as { Visible?: unknown } | null)?.Visible;\n\n return !!row && visible !== 0 && visible !== false && visible !== '0';\n};\n\n/**\n * TreeGrid 추가 행 여부\n * @param row TreeGrid 행\n */\nconst isAddedTreeGridRow = (row: TRow | null | undefined) => {\n const added = (row as { Added?: unknown } | null)?.Added;\n\n return !!row && added !== 0 && added !== false && added !== '0' && added !== undefined;\n};\n\n/**\n * TreeGrid 본문 표시 행 여부\n * @param row TreeGrid 행\n */\nconst isDisplayTreeGridRow = (row: TRow | null | undefined) => {\n if (!row || row.Fixed === 'Foot' || !isVisibleTreeGridRow(row)) {\n return false;\n }\n\n return row.Kind === 'Data' || isAddedTreeGridRow(row);\n};\n\n/**\n * TreeGrid 셀 편집 가능 여부\n * @param grid TreeGrid 인스턴스\n * @param row TreeGrid 행\n * @param col TreeGrid 컬럼 키\n */\nconst isEditableTreeGridCell = (grid: TGrid, row: TRow | null | undefined, col: string) => {\n if (!row || !col || !isDisplayTreeGridRow(row)) {\n return false;\n }\n\n return grid.CanEdit(row, col) === 1;\n};\n\n/**\n * TreeGrid 셀 명시 색상 여부\n * @param grid TreeGrid 인스턴스\n * @param row TreeGrid 행\n * @param col TreeGrid 컬럼 키\n */\nconst hasExplicitTreeGridCellColor = (grid: TGrid, row: TRow, col: string) => {\n const color = grid.GetAttribute(row, col, 'Color');\n\n return color !== undefined && color !== null && color !== '';\n};\n\n/**\n * TreeGrid 입력 셀 기본 배경색 계산\n * @param grid TreeGrid 인스턴스\n * @param row TreeGrid 행\n * @param col TreeGrid 컬럼 키\n */\nconst getEditableTreeGridCellDefaultColor = (\n grid: TGrid,\n row: TRow | null | undefined,\n col: string,\n editableCellBackgroundColorValue: number | undefined,\n) => {\n if (\n !row ||\n editableCellBackgroundColorValue === undefined ||\n !isEditableTreeGridCell(grid, row, col) ||\n hasExplicitTreeGridCellColor(grid, row, col)\n ) {\n return undefined;\n }\n\n return editableCellBackgroundColorValue;\n};\n\nconst matchesTreeGridRgbColor = (\n r: number,\n g: number,\n b: number,\n expected: readonly [number, number, number],\n) => {\n return r === expected[0] && g === expected[1] && b === expected[2];\n};\n\nconst isTreeGridSelectedCellState = (grid: TGrid, row: TRow | null | undefined, col: string) => {\n if (!row || !col || !isDisplayTreeGridRow(row)) {\n return false;\n }\n\n const selected = grid.IsSelected(row, col);\n\n return selected !== 0 && selected !== false && selected !== undefined && selected !== null;\n};\n\nconst isTreeGridReadonlyHoveredCellState = (\n grid: TGrid,\n row: TRow | null | undefined,\n col: string,\n) => {\n if (!row || !col || !isDisplayTreeGridRow(row) || grid.ARow !== row || grid.ACol !== col) {\n return false;\n }\n\n return grid.CanEdit(row, col) === 0;\n};\n\nconst isTreeGridPreviewHoveredCellState = (\n grid: TGrid,\n row: TRow | null | undefined,\n col: string,\n) => {\n if (!row || !col || !isDisplayTreeGridRow(row) || grid.ARow !== row || grid.ACol !== col) {\n return false;\n }\n\n return grid.CanEdit(row, col) === 2;\n};\n\nconst resolveTreeGridStateBackgroundColor = ({\n grid,\n row,\n col,\n r,\n g,\n b,\n selectedCellBackgroundColor,\n hoverCellBackgroundColor,\n}: {\n grid: TGrid;\n row: TRow | null | undefined;\n col: string;\n r: number;\n g: number;\n b: number;\n selectedCellBackgroundColor: string;\n hoverCellBackgroundColor: string;\n}) => {\n if (\n isTreeGridSelectedCellState(grid, row, col) &&\n matchesTreeGridRgbColor(r, g, b, TREE_GRID_SELECTED_CELL_RGB)\n ) {\n return selectedCellBackgroundColor;\n }\n\n if (\n isTreeGridReadonlyHoveredCellState(grid, row, col) &&\n (matchesTreeGridRgbColor(r, g, b, TREE_GRID_READONLY_HOVER_CELL_RGB) ||\n matchesTreeGridRgbColor(r, g, b, TREE_GRID_READONLY_NO_FOCUS_HOVER_CELL_RGB))\n ) {\n return hoverCellBackgroundColor;\n }\n\n if (\n isTreeGridPreviewHoveredCellState(grid, row, col) &&\n (matchesTreeGridRgbColor(r, g, b, TREE_GRID_PREVIEW_CELL_RGB) ||\n matchesTreeGridRgbColor(r, g, b, TREE_GRID_PREVIEW_CELL_SOFT_RGB) ||\n matchesTreeGridRgbColor(r, g, b, TREE_GRID_PREVIEW_CELL_DIM_RGB))\n ) {\n return hoverCellBackgroundColor;\n }\n\n return undefined;\n};\n\n/**\n * TreeGrid 표시 데이터 행 존재 여부\n * @param grid TreeGrid 인스턴스\n */\nexport const hasTreeGridDisplayDataRows = (grid: TGrid | null) => {\n if (!grid) {\n return false;\n }\n\n if (typeof grid.GetFirst === 'function' && typeof grid.GetNext === 'function') {\n let row = grid.GetFirst();\n\n while (row) {\n if (isDisplayTreeGridRow(row)) {\n return true;\n }\n\n row = grid.GetNext(row);\n }\n\n return false;\n }\n\n return Object.values(grid.Rows ?? {}).some((row) => {\n return isDisplayTreeGridRow(row);\n });\n};\n\n/**\n * TreeGrid Body 데이터 교체 후 재로드\n * @param grid TreeGrid 인스턴스\n * @param bodyData 새 Body 데이터\n * @param onReloadFinish 재로드 완료 콜백\n */\nexport const replaceTreeGridBodyData = <T,>(\n grid: TGrid,\n bodyData: OwpTreeGridBodyData<T>,\n onReloadFinish?: (code: number) => void,\n) => {\n // @ts-expect-error - TreeGrid Data.Data shape is not reflected in bundled types\n const currentDataConfig = grid.Data?.Data;\n\n // @ts-expect-error - TreeGrid Data.Data shape is not reflected in bundled types\n grid.Data.Data = {\n ...currentDataConfig,\n Data: { Body: [bodyData || []] },\n Url: '',\n };\n\n grid.ReloadBody(onReloadFinish);\n};\n\n/**\n * TreeGrid 이벤트 바인딩\n * @param options 이벤트 바인딩 옵션\n */\nexport const bindTreeGridEvents = <T,>({\n id,\n latestEventHandlersRef,\n highlightEditableCellsRef,\n highlightChangedCellsRef,\n editableCellBackgroundColorValueRef,\n changedCellBackgroundColorRef,\n selectedCellBackgroundColorRef,\n hoverCellBackgroundColorRef,\n treeGridInstanceRef,\n treeGridInitStartedAtRef,\n latestLayoutOverridesRef,\n appliedLayoutOverridesRef,\n appliedBodyDataPropRef,\n latestColumnEditRulesRef,\n latestColumnEditRuleLookupRef,\n appliedColumnEditRulesRef,\n columnEditRulesStateRef,\n hasAppliedInitialLayoutRef,\n syncHasDisplayDataRows,\n setIsTreeGridReady,\n}: TreeGridEventBindingOptions<T>) => {\n const initialEventHandlers = latestEventHandlersRef.current;\n\n window.TGSetEvent('OnRowAdd', id, (grid, row) => {\n row.CanEdit = 1;\n row.CanDelete = 1;\n\n latestEventHandlersRef.current?.onRowAdd?.(grid, row as OwpTreeGridRowModel<T>);\n });\n window.TGSetEvent('OnRowAdded', id, (grid) => {\n syncHasDisplayDataRows(grid);\n });\n\n if (typeof initialEventHandlers?.onRowClick === 'function') {\n window.TGSetEvent(\n 'OnClick',\n id,\n debounce((grid, row, col, x, y, event) => {\n latestEventHandlersRef.current?.onRowClick?.(\n grid,\n row as OwpTreeGridRowModel<T>,\n col,\n x,\n y,\n event,\n );\n }, 300),\n );\n }\n\n if (typeof initialEventHandlers?.onClickButton === 'function') {\n window.TGSetEvent(\n 'OnClickButton',\n id,\n debounce((grid, row, col, event) => {\n latestEventHandlersRef.current?.onClickButton?.(\n grid,\n row as OwpTreeGridRowModel<T>,\n col,\n event,\n );\n }, 300),\n );\n }\n\n if (typeof initialEventHandlers?.onRowDelete === 'function') {\n window.TGSetEvent('OnRowDelete', id, (grid, row, deleteType) => {\n syncHasDisplayDataRows(grid);\n latestEventHandlersRef.current?.onRowDelete?.(\n grid,\n row as OwpTreeGridRowModel<T>,\n deleteType,\n );\n });\n } else {\n window.TGSetEvent('OnRowDelete', id, (grid) => {\n syncHasDisplayDataRows(grid);\n });\n }\n if (typeof initialEventHandlers?.onRowUndelete === 'function') {\n window.TGSetEvent('OnRowUndelete', id, (grid, row) => {\n syncHasDisplayDataRows(grid);\n latestEventHandlersRef.current?.onRowUndelete?.(grid, row as OwpTreeGridRowModel<T>);\n });\n } else {\n window.TGSetEvent('OnRowUndelete', id, (grid) => {\n syncHasDisplayDataRows(grid);\n });\n }\n window.TGSetEvent('OnGetDefaultColor', id, (grid, row, col) => {\n if (!highlightEditableCellsRef.current || !isDisplayTreeGridRow(row)) {\n return undefined;\n }\n\n return getEditableTreeGridCellDefaultColor(\n grid,\n row,\n col,\n editableCellBackgroundColorValueRef.current,\n );\n });\n window.TGSetEvent('OnGetColor', id, (grid, row, col, r, g, b, type) => {\n if (type) {\n return undefined;\n }\n\n return resolveTreeGridStateBackgroundColor({\n grid,\n row,\n col,\n r,\n g,\n b,\n selectedCellBackgroundColor: selectedCellBackgroundColorRef.current,\n hoverCellBackgroundColor: hoverCellBackgroundColorRef.current,\n });\n });\n window.TGSetEvent('OnAfterValueChanged', id, (grid, row, col, value) => {\n const columnEditRuleLookup = latestColumnEditRuleLookupRef.current;\n const resolvedEditValue = columnEditRuleLookup\n ? resolveTreeGridColumnEditValue(columnEditRuleLookup, col, value)\n : undefined;\n const nextValue = resolvedEditValue?.value;\n const resolvedValue = nextValue ?? value;\n\n if (resolvedEditValue?.invalidText) {\n enqueueSnackbar(resolvedEditValue.invalidText, { variant: 'warning' });\n }\n\n if (nextValue !== undefined) {\n grid.SetValue(row, col, nextValue, 1);\n }\n\n if (highlightChangedCellsRef.current && isDisplayTreeGridRow(row)) {\n highlightTreeGridCellById(id, {\n row,\n col,\n backgroundColor: changedCellBackgroundColorRef.current,\n });\n }\n\n const valueChangedHandler =\n latestEventHandlersRef.current?.onAfterValueChanged ??\n latestEventHandlersRef.current?.onRowChange;\n\n valueChangedHandler?.(grid, row as OwpTreeGridRowModel<T>, col, resolvedValue);\n });\n if (typeof initialEventHandlers?.onSelect === 'function') {\n window.TGSetEvent(\n 'OnSelect',\n id,\n debounce((grid) => {\n const selectedRows = (grid.GetSelRows() ?? []) as OwpTreeGridSelectedRows<T>;\n latestEventHandlersRef.current?.onSelect?.(selectedRows);\n }, 100),\n );\n }\n if (typeof initialEventHandlers?.onSave === 'function') {\n window.TGSetEvent('OnSave', id, (grid, row, autoupdate) => {\n latestEventHandlersRef.current?.onSave?.(\n grid,\n row as OwpTreeGridRowModel<T>,\n autoupdate,\n );\n });\n }\n\n window.TGSetEvent(\n 'OnReady',\n id,\n debounce((grid) => {\n if (!hasAppliedInitialLayoutRef.current) {\n const latestLayoutOverrides = latestLayoutOverridesRef.current;\n\n hasAppliedInitialLayoutRef.current = true;\n applyTreeGridLayoutToGrid(grid, latestLayoutOverrides);\n resetTreeGridColumnEditRulesState(columnEditRulesStateRef.current);\n syncTreeGridColumnEditRules(\n grid,\n latestColumnEditRuleLookupRef.current,\n columnEditRulesStateRef.current,\n );\n treeGridInstanceRef.current = grid;\n appliedLayoutOverridesRef.current = latestLayoutOverrides;\n appliedBodyDataPropRef.current = getTreeGridBodyData(grid) as OwpTreeGridBodyData<T>;\n appliedColumnEditRulesRef.current = latestColumnEditRulesRef.current;\n syncHasDisplayDataRows(grid);\n setIsTreeGridReady(true);\n measureTreeGridPerf(id, 'TreeGrid init ready', treeGridInitStartedAtRef.current, {\n bodyRowCount: getTreeGridBodyDataCount(\n getTreeGridBodyData(grid) as OwpTreeGridBodyData<T>,\n ),\n });\n treeGridInitStartedAtRef.current = null;\n latestEventHandlersRef.current?.onReady?.(grid);\n }\n }, 100),\n );\n};\n"],"names":["TREE_GRID_BINDING_LOADING_MIN_VISIBLE_MS","TREE_GRID_SELECTED_CELL_RGB","TREE_GRID_READONLY_HOVER_CELL_RGB","TREE_GRID_READONLY_NO_FOCUS_HOVER_CELL_RGB","TREE_GRID_PREVIEW_CELL_RGB","TREE_GRID_PREVIEW_CELL_SOFT_RGB","TREE_GRID_PREVIEW_CELL_DIM_RGB","appendNoCacheQuery","__name","url","resolveTreeGridDataUrl","dataUrl","buildTreeGridDataSource","useDataUrl","bodyData","isEmpty","buildTreeGridInitializationOptions","id","layoutUrl","width","height","languageId","getTreeGridTextResourceUrl","getTreeGridBodyData","grid","get","getTreeGridBodyDataCount","isVisibleTreeGridRow","row","visible","isAddedTreeGridRow","added","isDisplayTreeGridRow","isEditableTreeGridCell","col","hasExplicitTreeGridCellColor","color","getEditableTreeGridCellDefaultColor","editableCellBackgroundColorValue","matchesTreeGridRgbColor","r","g","b","expected","isTreeGridSelectedCellState","selected","isTreeGridReadonlyHoveredCellState","isTreeGridPreviewHoveredCellState","resolveTreeGridStateBackgroundColor","selectedCellBackgroundColor","hoverCellBackgroundColor","hasTreeGridDisplayDataRows","replaceTreeGridBodyData","onReloadFinish","currentDataConfig","_a","bindTreeGridEvents","latestEventHandlersRef","highlightEditableCellsRef","highlightChangedCellsRef","editableCellBackgroundColorValueRef","changedCellBackgroundColorRef","selectedCellBackgroundColorRef","hoverCellBackgroundColorRef","treeGridInstanceRef","treeGridInitStartedAtRef","latestLayoutOverridesRef","appliedLayoutOverridesRef","appliedBodyDataPropRef","latestColumnEditRulesRef","latestColumnEditRuleLookupRef","appliedColumnEditRulesRef","columnEditRulesStateRef","hasAppliedInitialLayoutRef","syncHasDisplayDataRows","setIsTreeGridReady","initialEventHandlers","_b","debounce","x","y","event","deleteType","type","value","columnEditRuleLookup","resolvedEditValue","resolveTreeGridColumnEditValue","nextValue","resolvedValue","enqueueSnackbar","highlightTreeGridCellById","valueChangedHandler","selectedRows","autoupdate","latestLayoutOverrides","applyTreeGridLayoutToGrid","resetTreeGridColumnEditRulesState","syncTreeGridColumnEditRules","measureTreeGridPerf"],"mappings":"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"}
1
+ {"version":3,"file":"treeGridRuntime.js","sources":["../../../../src/components/OwpTreeGrid/internal/treeGridRuntime.ts"],"sourcesContent":["import { getTreeGridTextResourceUrl } from '@/constants/treeGrid';\nimport { highlightTreeGridCellById } from '@/utils/treeGridUtil';\nimport { debounce, get, isEmpty } from 'es-toolkit/compat';\nimport { enqueueSnackbar } from 'notistack';\nimport {\n type Dispatch,\n type RefObject,\n type SetStateAction,\n} from 'react';\nimport type {\n OwpTreeGridBodyData,\n OwpTreeGridColumnEditRule,\n OwpTreeGridLayoutConfig,\n OwpTreeGridProps,\n OwpTreeGridRowModel,\n OwpTreeGridSelectedRows,\n} from '../OwpTreeGrid';\nimport { applyTreeGridLayoutToGrid } from './treeGridLayout';\nimport {\n resetTreeGridColumnEditRulesState,\n resolveTreeGridColumnEditValue,\n syncTreeGridColumnEditRules,\n type TreeGridColumnEditRuleLookup,\n type TreeGridColumnEditRulesState,\n} from './treeGridColumnEditRules';\nimport { measureTreeGridPerf } from './utils/perf';\n\nexport const TREE_GRID_BINDING_LOADING_MIN_VISIBLE_MS = 300;\n\nconst TREE_GRID_SELECTED_CELL_RGB = [255, 255, 166] as const;\nconst TREE_GRID_READONLY_HOVER_CELL_RGB = [240, 240, 240] as const;\nconst TREE_GRID_READONLY_NO_FOCUS_HOVER_CELL_RGB = [248, 248, 248] as const;\nconst TREE_GRID_PREVIEW_CELL_RGB = [255, 255, 255] as const;\nconst TREE_GRID_PREVIEW_CELL_SOFT_RGB = [255, 255, 254] as const;\nconst TREE_GRID_PREVIEW_CELL_DIM_RGB = [242, 242, 242] as const;\n\ntype TreeGridInitializationInput<T> = {\n id: string;\n layoutUrl?: string;\n layoutData?: string;\n dataUrl?: string;\n bodyData: OwpTreeGridBodyData<T>;\n useDataUrl?: boolean;\n width?: string | number;\n height?: string | number;\n languageId: string;\n};\n\nexport type TreeGridEventHandlers<T> = Pick<\n OwpTreeGridProps<T>,\n | 'onSelect'\n | 'onRowClick'\n | 'onRowAdd'\n | 'onRowDelete'\n | 'onRowUndelete'\n | 'onRowChange'\n | 'onClickButton'\n | 'onSave'\n | 'onReady'\n | 'onAfterValueChanged'\n>;\n\nexport type TreeGridEventBindingOptions<T> = Pick<OwpTreeGridProps<T>, 'id'> & {\n latestEventHandlersRef: RefObject<TreeGridEventHandlers<T>>;\n highlightEditableCellsRef: RefObject<boolean>;\n highlightChangedCellsRef: RefObject<boolean>;\n editableCellBackgroundColorValueRef: RefObject<number | undefined>;\n changedCellBackgroundColorRef: RefObject<string>;\n selectedCellBackgroundColorRef: RefObject<string>;\n hoverCellBackgroundColorRef: RefObject<string>;\n treeGridInstanceRef: RefObject<TGrid>;\n treeGridInitStartedAtRef: RefObject<number | null>;\n latestLayoutOverridesRef: RefObject<OwpTreeGridLayoutConfig | undefined>;\n appliedLayoutOverridesRef: RefObject<OwpTreeGridLayoutConfig | undefined>;\n appliedBodyDataPropRef: RefObject<OwpTreeGridBodyData<T>>;\n latestColumnEditRulesRef: RefObject<readonly OwpTreeGridColumnEditRule[] | undefined>;\n latestColumnEditRuleLookupRef: RefObject<TreeGridColumnEditRuleLookup | undefined>;\n appliedColumnEditRulesRef: RefObject<readonly OwpTreeGridColumnEditRule[] | undefined>;\n columnEditRulesStateRef: RefObject<TreeGridColumnEditRulesState>;\n hasAppliedInitialLayoutRef: RefObject<boolean>;\n syncHasDisplayDataRows: (grid: TGrid | null) => void;\n setIsTreeGridReady: Dispatch<SetStateAction<boolean>>;\n};\n\nconst isTreeGridInlineUrl = (url?: string) => {\n return url?.startsWith('data:') || url?.startsWith('blob:');\n};\n\nconst treeGridInlineBlobUrlCache = new Map<string, string>();\n\nconst resolveTreeGridInlineUrl = (url?: string) => {\n if (!url || !url.startsWith('data:')) {\n return url;\n }\n\n const cachedUrl = treeGridInlineBlobUrlCache.get(url);\n\n if (cachedUrl) {\n return cachedUrl;\n }\n\n try {\n const [meta, encodedData = ''] = url.split(',', 2);\n const match = /^data:([^;]*)(;base64)?$/i.exec(meta);\n const mimeType = match?.[1] || 'application/octet-stream';\n const decodedData = match?.[2] ? atob(encodedData) : decodeURIComponent(encodedData);\n const bytes = new Uint8Array(decodedData.length);\n\n for (let index = 0; index < decodedData.length; index += 1) {\n bytes[index] = decodedData.charCodeAt(index);\n }\n\n const blobUrl = URL.createObjectURL(new Blob([bytes], { type: mimeType }));\n\n treeGridInlineBlobUrlCache.set(url, blobUrl);\n\n return blobUrl;\n } catch {\n return url;\n }\n};\n\nconst appendNoCacheQuery = (url: string) => {\n if (!url || isTreeGridInlineUrl(url)) {\n return resolveTreeGridInlineUrl(url);\n }\n\n const hashIndex = url.indexOf('#');\n const [baseUrl, hashFragment] =\n hashIndex >= 0 ? [url.slice(0, hashIndex), url.slice(hashIndex)] : [url, ''];\n const querySeparator = baseUrl.includes('?') ? '&' : '?';\n\n return `${baseUrl}${querySeparator}noCache=${Date.now()}${hashFragment}`;\n};\n\nconst resolveTreeGridDataUrl = (dataUrl?: string) => {\n if (!dataUrl) {\n return '';\n }\n\n if (isTreeGridInlineUrl(dataUrl) || dataUrl.includes('assets')) {\n return appendNoCacheQuery(dataUrl);\n }\n\n // @ts-expect-error - API base URL env is provided by host app\n return appendNoCacheQuery(`${import.meta.env.VITE_API_BASE_URL}/${dataUrl}`);\n};\n\nconst buildTreeGridDataSource = <T,>(\n useDataUrl: boolean | undefined,\n dataUrl: string | undefined,\n bodyData: OwpTreeGridBodyData<T>,\n) => {\n if (useDataUrl) {\n return { Url: resolveTreeGridDataUrl(dataUrl) };\n }\n\n return { Data: { Body: [isEmpty(bodyData) ? [] : bodyData] } };\n};\n\n/**\n * TreeGrid 초기화 옵션 생성\n * @param input 초기화 입력값\n */\nexport const buildTreeGridInitializationOptions = <T,>({\n id,\n layoutUrl,\n layoutData,\n dataUrl,\n bodyData,\n useDataUrl,\n width,\n height,\n languageId,\n}: TreeGridInitializationInput<T>) => {\n return {\n id,\n Layout: layoutData ? { Data: layoutData } : { Url: appendNoCacheQuery(layoutUrl ?? '') },\n Data: buildTreeGridDataSource(useDataUrl, dataUrl, bodyData),\n Text: {\n Url: getTreeGridTextResourceUrl(languageId),\n },\n width,\n height,\n Debug: 'Error',\n };\n};\n\nconst getTreeGridBodyData = (grid: TGrid | null) => {\n return get(grid, 'Data.Data.Data.Body.0');\n};\n\n/**\n * TreeGrid Body 데이터 건수\n * @param bodyData TreeGrid Body 데이터\n */\nexport const getTreeGridBodyDataCount = <T,>(bodyData: OwpTreeGridBodyData<T>) => {\n return Array.isArray(bodyData) ? bodyData.length : 0;\n};\n\nconst isVisibleTreeGridRow = (row: TRow | null | undefined) => {\n const visible = (row as { Visible?: unknown } | null)?.Visible;\n\n return !!row && visible !== 0 && visible !== false && visible !== '0';\n};\n\n/**\n * TreeGrid 추가 행 여부\n * @param row TreeGrid 행\n */\nconst isAddedTreeGridRow = (row: TRow | null | undefined) => {\n const added = (row as { Added?: unknown } | null)?.Added;\n\n return !!row && added !== 0 && added !== false && added !== '0' && added !== undefined;\n};\n\n/**\n * TreeGrid 본문 표시 행 여부\n * @param row TreeGrid 행\n */\nconst isDisplayTreeGridRow = (row: TRow | null | undefined) => {\n if (!row || row.Fixed === 'Foot' || !isVisibleTreeGridRow(row)) {\n return false;\n }\n\n return row.Kind === 'Data' || isAddedTreeGridRow(row);\n};\n\n/**\n * TreeGrid 셀 편집 가능 여부\n * @param grid TreeGrid 인스턴스\n * @param row TreeGrid 행\n * @param col TreeGrid 컬럼 키\n */\nconst isEditableTreeGridCell = (grid: TGrid, row: TRow | null | undefined, col: string) => {\n if (!row || !col || !isDisplayTreeGridRow(row)) {\n return false;\n }\n\n return grid.CanEdit(row, col) === 1;\n};\n\n/**\n * TreeGrid 셀 명시 색상 여부\n * @param grid TreeGrid 인스턴스\n * @param row TreeGrid 행\n * @param col TreeGrid 컬럼 키\n */\nconst hasExplicitTreeGridCellColor = (grid: TGrid, row: TRow, col: string) => {\n const color = grid.GetAttribute(row, col, 'Color');\n\n return color !== undefined && color !== null && color !== '';\n};\n\n/**\n * TreeGrid 입력 셀 기본 배경색 계산\n * @param grid TreeGrid 인스턴스\n * @param row TreeGrid 행\n * @param col TreeGrid 컬럼 키\n */\nconst getEditableTreeGridCellDefaultColor = (\n grid: TGrid,\n row: TRow | null | undefined,\n col: string,\n editableCellBackgroundColorValue: number | undefined,\n) => {\n if (\n !row ||\n editableCellBackgroundColorValue === undefined ||\n !isEditableTreeGridCell(grid, row, col) ||\n hasExplicitTreeGridCellColor(grid, row, col)\n ) {\n return undefined;\n }\n\n return editableCellBackgroundColorValue;\n};\n\nconst matchesTreeGridRgbColor = (\n r: number,\n g: number,\n b: number,\n expected: readonly [number, number, number],\n) => {\n return r === expected[0] && g === expected[1] && b === expected[2];\n};\n\nconst isTreeGridSelectedCellState = (grid: TGrid, row: TRow | null | undefined, col: string) => {\n if (!row || !col || !isDisplayTreeGridRow(row)) {\n return false;\n }\n\n const selected = grid.IsSelected(row, col);\n\n return selected !== 0 && selected !== false && selected !== undefined && selected !== null;\n};\n\nconst isTreeGridReadonlyHoveredCellState = (\n grid: TGrid,\n row: TRow | null | undefined,\n col: string,\n) => {\n if (!row || !col || !isDisplayTreeGridRow(row) || grid.ARow !== row || grid.ACol !== col) {\n return false;\n }\n\n return grid.CanEdit(row, col) === 0;\n};\n\nconst isTreeGridPreviewHoveredCellState = (\n grid: TGrid,\n row: TRow | null | undefined,\n col: string,\n) => {\n if (!row || !col || !isDisplayTreeGridRow(row) || grid.ARow !== row || grid.ACol !== col) {\n return false;\n }\n\n return grid.CanEdit(row, col) === 2;\n};\n\nconst resolveTreeGridStateBackgroundColor = ({\n grid,\n row,\n col,\n r,\n g,\n b,\n selectedCellBackgroundColor,\n hoverCellBackgroundColor,\n}: {\n grid: TGrid;\n row: TRow | null | undefined;\n col: string;\n r: number;\n g: number;\n b: number;\n selectedCellBackgroundColor: string;\n hoverCellBackgroundColor: string;\n}) => {\n if (\n isTreeGridSelectedCellState(grid, row, col) &&\n matchesTreeGridRgbColor(r, g, b, TREE_GRID_SELECTED_CELL_RGB)\n ) {\n return selectedCellBackgroundColor;\n }\n\n if (\n isTreeGridReadonlyHoveredCellState(grid, row, col) &&\n (matchesTreeGridRgbColor(r, g, b, TREE_GRID_READONLY_HOVER_CELL_RGB) ||\n matchesTreeGridRgbColor(r, g, b, TREE_GRID_READONLY_NO_FOCUS_HOVER_CELL_RGB))\n ) {\n return hoverCellBackgroundColor;\n }\n\n if (\n isTreeGridPreviewHoveredCellState(grid, row, col) &&\n (matchesTreeGridRgbColor(r, g, b, TREE_GRID_PREVIEW_CELL_RGB) ||\n matchesTreeGridRgbColor(r, g, b, TREE_GRID_PREVIEW_CELL_SOFT_RGB) ||\n matchesTreeGridRgbColor(r, g, b, TREE_GRID_PREVIEW_CELL_DIM_RGB))\n ) {\n return hoverCellBackgroundColor;\n }\n\n return undefined;\n};\n\n/**\n * TreeGrid 표시 데이터 행 존재 여부\n * @param grid TreeGrid 인스턴스\n */\nexport const hasTreeGridDisplayDataRows = (grid: TGrid | null) => {\n if (!grid) {\n return false;\n }\n\n if (typeof grid.GetFirst === 'function' && typeof grid.GetNext === 'function') {\n let row = grid.GetFirst();\n\n while (row) {\n if (isDisplayTreeGridRow(row)) {\n return true;\n }\n\n row = grid.GetNext(row);\n }\n\n return false;\n }\n\n return Object.values(grid.Rows ?? {}).some((row) => {\n return isDisplayTreeGridRow(row);\n });\n};\n\n/**\n * TreeGrid Body 데이터 교체 후 재로드\n * @param grid TreeGrid 인스턴스\n * @param bodyData 새 Body 데이터\n * @param onReloadFinish 재로드 완료 콜백\n */\nexport const replaceTreeGridBodyData = <T,>(\n grid: TGrid,\n bodyData: OwpTreeGridBodyData<T>,\n onReloadFinish?: (code: number) => void,\n) => {\n // @ts-expect-error - TreeGrid Data.Data shape is not reflected in bundled types\n const currentDataConfig = grid.Data?.Data;\n\n // @ts-expect-error - TreeGrid Data.Data shape is not reflected in bundled types\n grid.Data.Data = {\n ...currentDataConfig,\n Data: { Body: [bodyData || []] },\n Url: '',\n };\n\n grid.ReloadBody(onReloadFinish);\n};\n\n/**\n * TreeGrid 이벤트 바인딩\n * @param options 이벤트 바인딩 옵션\n */\nexport const bindTreeGridEvents = <T,>({\n id,\n latestEventHandlersRef,\n highlightEditableCellsRef,\n highlightChangedCellsRef,\n editableCellBackgroundColorValueRef,\n changedCellBackgroundColorRef,\n selectedCellBackgroundColorRef,\n hoverCellBackgroundColorRef,\n treeGridInstanceRef,\n treeGridInitStartedAtRef,\n latestLayoutOverridesRef,\n appliedLayoutOverridesRef,\n appliedBodyDataPropRef,\n latestColumnEditRulesRef,\n latestColumnEditRuleLookupRef,\n appliedColumnEditRulesRef,\n columnEditRulesStateRef,\n hasAppliedInitialLayoutRef,\n syncHasDisplayDataRows,\n setIsTreeGridReady,\n}: TreeGridEventBindingOptions<T>) => {\n const initialEventHandlers = latestEventHandlersRef.current;\n\n window.TGSetEvent('OnRowAdd', id, (grid, row) => {\n row.CanEdit = 1;\n row.CanDelete = 1;\n\n latestEventHandlersRef.current?.onRowAdd?.(grid, row as OwpTreeGridRowModel<T>);\n });\n window.TGSetEvent('OnRowAdded', id, (grid) => {\n syncHasDisplayDataRows(grid);\n });\n\n if (typeof initialEventHandlers?.onRowClick === 'function') {\n window.TGSetEvent(\n 'OnClick',\n id,\n debounce((grid, row, col, x, y, event) => {\n latestEventHandlersRef.current?.onRowClick?.(\n grid,\n row as OwpTreeGridRowModel<T>,\n col,\n x,\n y,\n event,\n );\n }, 300),\n );\n }\n\n if (typeof initialEventHandlers?.onClickButton === 'function') {\n window.TGSetEvent(\n 'OnClickButton',\n id,\n debounce((grid, row, col, event) => {\n latestEventHandlersRef.current?.onClickButton?.(\n grid,\n row as OwpTreeGridRowModel<T>,\n col,\n event,\n );\n }, 300),\n );\n }\n\n if (typeof initialEventHandlers?.onRowDelete === 'function') {\n window.TGSetEvent('OnRowDelete', id, (grid, row, deleteType) => {\n syncHasDisplayDataRows(grid);\n latestEventHandlersRef.current?.onRowDelete?.(\n grid,\n row as OwpTreeGridRowModel<T>,\n deleteType,\n );\n });\n } else {\n window.TGSetEvent('OnRowDelete', id, (grid) => {\n syncHasDisplayDataRows(grid);\n });\n }\n if (typeof initialEventHandlers?.onRowUndelete === 'function') {\n window.TGSetEvent('OnRowUndelete', id, (grid, row) => {\n syncHasDisplayDataRows(grid);\n latestEventHandlersRef.current?.onRowUndelete?.(grid, row as OwpTreeGridRowModel<T>);\n });\n } else {\n window.TGSetEvent('OnRowUndelete', id, (grid) => {\n syncHasDisplayDataRows(grid);\n });\n }\n window.TGSetEvent('OnGetDefaultColor', id, (grid, row, col) => {\n if (!highlightEditableCellsRef.current || !isDisplayTreeGridRow(row)) {\n return undefined;\n }\n\n return getEditableTreeGridCellDefaultColor(\n grid,\n row,\n col,\n editableCellBackgroundColorValueRef.current,\n );\n });\n window.TGSetEvent('OnGetColor', id, (grid, row, col, r, g, b, type) => {\n if (type) {\n return undefined;\n }\n\n return resolveTreeGridStateBackgroundColor({\n grid,\n row,\n col,\n r,\n g,\n b,\n selectedCellBackgroundColor: selectedCellBackgroundColorRef.current,\n hoverCellBackgroundColor: hoverCellBackgroundColorRef.current,\n });\n });\n window.TGSetEvent('OnAfterValueChanged', id, (grid, row, col, value) => {\n const columnEditRuleLookup = latestColumnEditRuleLookupRef.current;\n const resolvedEditValue = columnEditRuleLookup\n ? resolveTreeGridColumnEditValue(columnEditRuleLookup, col, value)\n : undefined;\n const nextValue = resolvedEditValue?.value;\n const resolvedValue = nextValue ?? value;\n\n if (resolvedEditValue?.invalidText) {\n enqueueSnackbar(resolvedEditValue.invalidText, { variant: 'warning' });\n }\n\n if (nextValue !== undefined) {\n grid.SetValue(row, col, nextValue, 1);\n }\n\n if (highlightChangedCellsRef.current && isDisplayTreeGridRow(row)) {\n highlightTreeGridCellById(id, {\n row,\n col,\n backgroundColor: changedCellBackgroundColorRef.current,\n });\n }\n\n const valueChangedHandler =\n latestEventHandlersRef.current?.onAfterValueChanged ??\n latestEventHandlersRef.current?.onRowChange;\n\n valueChangedHandler?.(grid, row as OwpTreeGridRowModel<T>, col, resolvedValue);\n });\n if (typeof initialEventHandlers?.onSelect === 'function') {\n window.TGSetEvent(\n 'OnSelect',\n id,\n debounce((grid) => {\n const selectedRows = (grid.GetSelRows() ?? []) as OwpTreeGridSelectedRows<T>;\n latestEventHandlersRef.current?.onSelect?.(selectedRows);\n }, 100),\n );\n }\n if (typeof initialEventHandlers?.onSave === 'function') {\n window.TGSetEvent('OnSave', id, (grid, row, autoupdate) => {\n latestEventHandlersRef.current?.onSave?.(\n grid,\n row as OwpTreeGridRowModel<T>,\n autoupdate,\n );\n });\n }\n\n window.TGSetEvent(\n 'OnReady',\n id,\n debounce((grid) => {\n if (!hasAppliedInitialLayoutRef.current) {\n const latestLayoutOverrides = latestLayoutOverridesRef.current;\n\n hasAppliedInitialLayoutRef.current = true;\n applyTreeGridLayoutToGrid(grid, latestLayoutOverrides);\n resetTreeGridColumnEditRulesState(columnEditRulesStateRef.current);\n syncTreeGridColumnEditRules(\n grid,\n latestColumnEditRuleLookupRef.current,\n columnEditRulesStateRef.current,\n );\n treeGridInstanceRef.current = grid;\n appliedLayoutOverridesRef.current = latestLayoutOverrides;\n appliedBodyDataPropRef.current = getTreeGridBodyData(grid) as OwpTreeGridBodyData<T>;\n appliedColumnEditRulesRef.current = latestColumnEditRulesRef.current;\n syncHasDisplayDataRows(grid);\n setIsTreeGridReady(true);\n measureTreeGridPerf(id, 'TreeGrid init ready', treeGridInitStartedAtRef.current, {\n bodyRowCount: getTreeGridBodyDataCount(\n getTreeGridBodyData(grid) as OwpTreeGridBodyData<T>,\n ),\n });\n treeGridInitStartedAtRef.current = null;\n latestEventHandlersRef.current?.onReady?.(grid);\n }\n }, 100),\n );\n};\n"],"names":["TREE_GRID_BINDING_LOADING_MIN_VISIBLE_MS","TREE_GRID_SELECTED_CELL_RGB","TREE_GRID_READONLY_HOVER_CELL_RGB","TREE_GRID_READONLY_NO_FOCUS_HOVER_CELL_RGB","TREE_GRID_PREVIEW_CELL_RGB","TREE_GRID_PREVIEW_CELL_SOFT_RGB","TREE_GRID_PREVIEW_CELL_DIM_RGB","isTreeGridInlineUrl","__name","url","treeGridInlineBlobUrlCache","resolveTreeGridInlineUrl","cachedUrl","meta","encodedData","match","mimeType","decodedData","bytes","index","blobUrl","appendNoCacheQuery","hashIndex","baseUrl","hashFragment","querySeparator","resolveTreeGridDataUrl","dataUrl","buildTreeGridDataSource","useDataUrl","bodyData","isEmpty","buildTreeGridInitializationOptions","id","layoutUrl","layoutData","width","height","languageId","getTreeGridTextResourceUrl","getTreeGridBodyData","grid","get","getTreeGridBodyDataCount","isVisibleTreeGridRow","row","visible","isAddedTreeGridRow","added","isDisplayTreeGridRow","isEditableTreeGridCell","col","hasExplicitTreeGridCellColor","color","getEditableTreeGridCellDefaultColor","editableCellBackgroundColorValue","matchesTreeGridRgbColor","r","g","b","expected","isTreeGridSelectedCellState","selected","isTreeGridReadonlyHoveredCellState","isTreeGridPreviewHoveredCellState","resolveTreeGridStateBackgroundColor","selectedCellBackgroundColor","hoverCellBackgroundColor","hasTreeGridDisplayDataRows","replaceTreeGridBodyData","onReloadFinish","currentDataConfig","_a","bindTreeGridEvents","latestEventHandlersRef","highlightEditableCellsRef","highlightChangedCellsRef","editableCellBackgroundColorValueRef","changedCellBackgroundColorRef","selectedCellBackgroundColorRef","hoverCellBackgroundColorRef","treeGridInstanceRef","treeGridInitStartedAtRef","latestLayoutOverridesRef","appliedLayoutOverridesRef","appliedBodyDataPropRef","latestColumnEditRulesRef","latestColumnEditRuleLookupRef","appliedColumnEditRulesRef","columnEditRulesStateRef","hasAppliedInitialLayoutRef","syncHasDisplayDataRows","setIsTreeGridReady","initialEventHandlers","_b","debounce","x","y","event","deleteType","type","value","columnEditRuleLookup","resolvedEditValue","resolveTreeGridColumnEditValue","nextValue","resolvedValue","enqueueSnackbar","highlightTreeGridCellById","valueChangedHandler","selectedRows","autoupdate","latestLayoutOverrides","applyTreeGridLayoutToGrid","resetTreeGridColumnEditRulesState","syncTreeGridColumnEditRules","measureTreeGridPerf"],"mappings":"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"}
@@ -4,8 +4,8 @@ import s from "../layout/themeLayoutConfigs.js";
4
4
  import { red as p, lightBlue as a } from "@mui/material/colors";
5
5
  import { createTheme as x } from "@mui/material/styles";
6
6
  import v from "../_virtual/index.js";
7
- import { owpDark as c } from "../colors/palettes/dark.js";
8
7
  import { merge as i } from "../node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/object/merge.js";
8
+ import { owpDark as c } from "../colors/palettes/dark.js";
9
9
  const f = "1.6rem", h = 0.8, n = 3, O = "layout", d = {
10
10
  palette: {
11
11
  mode: "light",
@@ -0,0 +1,28 @@
1
+ import { defaultGridTheme as a } from "../features/themePreview/configs/grid.js";
2
+ import { darkPaletteText as o, defaultNavbarDivider as l, defaultNavbarSecondaryPalette as d, defaultPrimaryPalette as f, defaultSecondaryPalette as u, defaultToolbarDivider as i, defaultToolbarSecondaryPalette as m, designSystemPresetKeys as s, lightPaletteText as P, themePreviewPresetContractKeys as n, themesConfig as y, toolbarCuratedPresetKeys as b } from "../features/themePreview/configs/presets.js";
3
+ import { defaultSettingsConfig as x } from "../features/themePreview/configs/settings.js";
4
+ import { defaultSnackbarProviderProps as T, defaultSnackbarTheme as p, snackbarVariantKeys as h } from "../features/themePreview/configs/snackbar.js";
5
+ import { defaultLayoutSurface as g } from "../features/themePreview/configs/surface.js";
6
+ import { defaultTableTheme as C } from "../features/themePreview/configs/table.js";
7
+ export {
8
+ o as darkPaletteText,
9
+ a as defaultGridTheme,
10
+ g as defaultLayoutSurface,
11
+ l as defaultNavbarDivider,
12
+ d as defaultNavbarSecondaryPalette,
13
+ f as defaultPrimaryPalette,
14
+ u as defaultSecondaryPalette,
15
+ x as defaultSettingsConfig,
16
+ T as defaultSnackbarProviderProps,
17
+ p as defaultSnackbarTheme,
18
+ C as defaultTableTheme,
19
+ i as defaultToolbarDivider,
20
+ m as defaultToolbarSecondaryPalette,
21
+ s as designSystemPresetKeys,
22
+ P as lightPaletteText,
23
+ h as snackbarVariantKeys,
24
+ n as themePreviewPresetContractKeys,
25
+ y as themesConfig,
26
+ b as toolbarCuratedPresetKeys
27
+ };
28
+ //# sourceMappingURL=theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}