@owp/core 2.5.3 → 2.5.5

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 (188) hide show
  1. package/dist/_virtual/index10.js +2 -2
  2. package/dist/_virtual/index12.js +2 -2
  3. package/dist/_virtual/index13.js +2 -2
  4. package/dist/_virtual/index14.js +2 -2
  5. package/dist/_virtual/index15.js +2 -2
  6. package/dist/_virtual/index16.js +4 -4
  7. package/dist/_virtual/index17.js +4 -4
  8. package/dist/_virtual/index18.js +4 -4
  9. package/dist/_virtual/index19.js +4 -4
  10. package/dist/_virtual/index5.js +2 -2
  11. package/dist/components/OwpMrtTable/OwpMrtTable.js +250 -258
  12. package/dist/components/OwpMrtTable/OwpMrtTable.js.map +1 -1
  13. package/dist/components/OwpPageSkeleton/OwpPageSkeleton.js +4 -4
  14. package/dist/components/OwpSnackbarContent/OwpSnackbarContent.js +166 -0
  15. package/dist/components/OwpSnackbarContent/OwpSnackbarContent.js.map +1 -0
  16. package/dist/components/OwpTable/OwpDataTable.js +321 -327
  17. package/dist/components/OwpTable/OwpDataTable.js.map +1 -1
  18. package/dist/components/OwpTable/OwpFieldTable.js +102 -58
  19. package/dist/components/OwpTable/OwpFieldTable.js.map +1 -1
  20. package/dist/components/OwpTable/OwpTable.js +158 -174
  21. package/dist/components/OwpTable/OwpTable.js.map +1 -1
  22. package/dist/components/OwpTable/internal/defaultTableStyle.js +50 -0
  23. package/dist/components/OwpTable/internal/defaultTableStyle.js.map +1 -0
  24. package/dist/components/OwpTable/internal/treeGridTableStyle.js +77 -0
  25. package/dist/components/OwpTable/internal/treeGridTableStyle.js.map +1 -0
  26. package/dist/components/OwpTreeGrid/OwpTreeGrid.js +200 -253
  27. package/dist/components/OwpTreeGrid/OwpTreeGrid.js.map +1 -1
  28. package/dist/components/OwpTreeGrid/internal/treeGridRuntime.js +183 -124
  29. package/dist/components/OwpTreeGrid/internal/treeGridRuntime.js.map +1 -1
  30. package/dist/components/OwpTreeGrid/internal/treeGridTheme.js +462 -0
  31. package/dist/components/OwpTreeGrid/internal/treeGridTheme.js.map +1 -0
  32. package/dist/configs/defaultConfig.js +67 -44
  33. package/dist/configs/defaultConfig.js.map +1 -1
  34. package/dist/constants/gridTheme.js +60 -10
  35. package/dist/constants/gridTheme.js.map +1 -1
  36. package/dist/constants/tableTheme.js +16 -0
  37. package/dist/constants/tableTheme.js.map +1 -0
  38. package/dist/constants/treeGrid.js +44 -26
  39. package/dist/constants/treeGrid.js.map +1 -1
  40. package/dist/constants.js +21 -20
  41. package/dist/contexts/OwpAppProvider.js.map +1 -1
  42. package/dist/contexts/OwpUiProvider.js +59 -38
  43. package/dist/contexts/OwpUiProvider.js.map +1 -1
  44. package/dist/features/themePreview/components/ThemePreviewCanvas.js +492 -0
  45. package/dist/features/themePreview/components/ThemePreviewCanvas.js.map +1 -0
  46. package/dist/features/themePreview/components/ThemePreviewCanvasSections.js +678 -0
  47. package/dist/features/themePreview/components/ThemePreviewCanvasSections.js.map +1 -0
  48. package/dist/features/themePreview/components/ThemePreviewColorField.js +301 -0
  49. package/dist/features/themePreview/components/ThemePreviewColorField.js.map +1 -0
  50. package/dist/features/themePreview/components/ThemePreviewControls.js +306 -0
  51. package/dist/features/themePreview/components/ThemePreviewControls.js.map +1 -0
  52. package/dist/features/themePreview/components/themePreviewCanvas.icons.js +17 -0
  53. package/dist/features/themePreview/components/themePreviewCanvas.icons.js.map +1 -0
  54. package/dist/features/themePreview/components/themePreviewCanvas.shared.js +296 -0
  55. package/dist/features/themePreview/components/themePreviewCanvas.shared.js.map +1 -0
  56. package/dist/features/themePreview/configs/grid.js +45 -0
  57. package/dist/features/themePreview/configs/grid.js.map +1 -0
  58. package/dist/features/themePreview/configs/presets.js +1106 -0
  59. package/dist/features/themePreview/configs/presets.js.map +1 -0
  60. package/dist/features/themePreview/configs/previewStorage.js +93 -0
  61. package/dist/features/themePreview/configs/previewStorage.js.map +1 -0
  62. package/dist/features/themePreview/configs/settings.js +148 -0
  63. package/dist/features/themePreview/configs/settings.js.map +1 -0
  64. package/dist/features/themePreview/configs/snackbar.js +39 -0
  65. package/dist/features/themePreview/configs/snackbar.js.map +1 -0
  66. package/dist/features/themePreview/configs/surface.js +10 -0
  67. package/dist/features/themePreview/configs/surface.js.map +1 -0
  68. package/dist/features/themePreview/configs/table.js +30 -0
  69. package/dist/features/themePreview/configs/table.js.map +1 -0
  70. package/dist/features/themePreview/defs/ThemePreviewGridDef.xml.js +43 -0
  71. package/dist/features/themePreview/defs/ThemePreviewGridDef.xml.js.map +1 -0
  72. package/dist/features/themePreview/defs/ThemePreviewReadonlyGridDef.xml.js +43 -0
  73. package/dist/features/themePreview/defs/ThemePreviewReadonlyGridDef.xml.js.map +1 -0
  74. package/dist/features/themePreview/dialogs/ThemePreviewDialog.js +429 -0
  75. package/dist/features/themePreview/dialogs/ThemePreviewDialog.js.map +1 -0
  76. package/dist/features/themePreview/hooks/useThemePreview.js +235 -0
  77. package/dist/features/themePreview/hooks/useThemePreview.js.map +1 -0
  78. package/dist/features/themePreview/utils/color.js +79 -0
  79. package/dist/features/themePreview/utils/color.js.map +1 -0
  80. package/dist/features/themePreview/utils/themePreviewDefinitions.js +526 -0
  81. package/dist/features/themePreview/utils/themePreviewDefinitions.js.map +1 -0
  82. package/dist/features/themePreview/utils/themePreviewExport.js +111 -0
  83. package/dist/features/themePreview/utils/themePreviewExport.js.map +1 -0
  84. package/dist/features/themePreview/utils/themePreviewSettings.js +211 -0
  85. package/dist/features/themePreview/utils/themePreviewSettings.js.map +1 -0
  86. package/dist/features/themePreview.js +75 -0
  87. package/dist/features/themePreview.js.map +1 -0
  88. package/dist/index.js +111 -110
  89. package/dist/layout/components/logo/Logo.js +49 -45
  90. package/dist/layout/components/logo/Logo.js.map +1 -1
  91. package/dist/layout/components/toggles/NavigationSearchToggle.js +3 -3
  92. package/dist/layout/components/toggles/ThemePreviewToggle.js +51 -0
  93. package/dist/layout/components/toggles/ThemePreviewToggle.js.map +1 -0
  94. package/dist/layout/components/toolbar/ToolbarLayout.js +13 -10
  95. package/dist/layout/components/toolbar/ToolbarLayout.js.map +1 -1
  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/CheckCircleOutline.js +9 -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/CheckCircleOutline.js.map +1 -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/DownloadOutlined.js +9 -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/DownloadOutlined.js.map +1 -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/ErrorOutline.js +9 -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/ErrorOutline.js.map +1 -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/InfoOutlined.js +9 -0
  103. 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
  104. 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
  105. 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
  106. 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
  107. 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
  108. 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
  109. 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
  110. 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
  111. 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
  112. 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
  113. 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
  114. 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
  115. 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
  116. 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
  117. 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
  118. 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
  119. 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
  120. 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
  121. 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
  122. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE128/constants.js +1 -1
  123. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE128/index.js +1 -1
  124. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE39/index.js +1 -1
  125. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE93/index.js +1 -1
  126. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/EAN_UPC/index.js +1 -1
  127. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/GenericBarcode/index.js +1 -1
  128. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/ITF/constants.js +1 -1
  129. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/ITF/index.js +1 -1
  130. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/MSI/index.js +1 -1
  131. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/codabar/index.js +1 -1
  132. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/pharmacode/index.js +1 -1
  133. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/renderers/index.js +1 -1
  134. package/dist/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/index.js +1 -1
  135. 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
  136. package/dist/owp-app.css +1 -1
  137. package/dist/types/components/OwpSnackbarContent/OwpSnackbarContent.d.ts +2 -0
  138. package/dist/types/components/OwpTable/OwpTable.d.ts +3 -1
  139. package/dist/types/components/OwpTable/internal/defaultTableStyle.d.ts +49 -0
  140. package/dist/types/components/OwpTable/internal/treeGridTableStyle.d.ts +105 -0
  141. package/dist/types/components/OwpTreeGrid/OwpTreeGrid.d.ts +2 -1
  142. package/dist/types/components/OwpTreeGrid/internal/treeGridRuntime.d.ts +11 -2
  143. package/dist/types/components/OwpTreeGrid/internal/treeGridTheme.d.ts +20 -0
  144. package/dist/types/configs/defaultConfig.d.ts +22 -0
  145. package/dist/types/constants/gridTheme.d.ts +58 -0
  146. package/dist/types/constants/tableTheme.d.ts +18 -0
  147. package/dist/types/constants/treeGrid.d.ts +5 -0
  148. package/dist/types/contexts/OwpAppProvider.d.ts +2 -0
  149. package/dist/types/features/themePreview/components/ThemePreviewCanvas.d.ts +8 -0
  150. package/dist/types/features/themePreview/components/ThemePreviewCanvasSections.d.ts +82 -0
  151. package/dist/types/features/themePreview/components/ThemePreviewColorField.d.ts +10 -0
  152. package/dist/types/features/themePreview/components/ThemePreviewControls.d.ts +18 -0
  153. package/dist/types/features/themePreview/components/index.d.ts +3 -0
  154. package/dist/types/features/themePreview/components/themePreviewCanvas.icons.d.ts +3 -0
  155. package/dist/types/features/themePreview/components/themePreviewCanvas.shared.d.ts +121 -0
  156. package/dist/types/features/themePreview/configs/grid.d.ts +41 -0
  157. package/dist/types/features/themePreview/configs/index.d.ts +7 -0
  158. package/dist/types/features/themePreview/configs/presets.d.ts +1153 -0
  159. package/dist/types/features/themePreview/configs/previewStorage.d.ts +34 -0
  160. package/dist/types/features/themePreview/configs/settings.d.ts +271 -0
  161. package/dist/types/features/themePreview/configs/snackbar.d.ts +43 -0
  162. package/dist/types/features/themePreview/configs/surface.d.ts +6 -0
  163. package/dist/types/features/themePreview/configs/table.d.ts +47 -0
  164. package/dist/types/features/themePreview/dialogs/ThemePreviewDialog.d.ts +3 -0
  165. package/dist/types/features/themePreview/dialogs/index.d.ts +1 -0
  166. package/dist/types/features/themePreview/hooks/index.d.ts +1 -0
  167. package/dist/types/features/themePreview/hooks/useThemePreview.d.ts +60 -0
  168. package/dist/types/features/themePreview/index.d.ts +6 -0
  169. package/dist/types/features/themePreview/types/index.d.ts +1 -0
  170. package/dist/types/features/themePreview/types/themePreview.d.ts +44 -0
  171. package/dist/types/features/themePreview/utils/color.d.ts +14 -0
  172. package/dist/types/features/themePreview/utils/index.d.ts +4 -0
  173. package/dist/types/features/themePreview/utils/themePreviewDefinitions.d.ts +10 -0
  174. package/dist/types/features/themePreview/utils/themePreviewExport.d.ts +1091 -0
  175. package/dist/types/features/themePreview/utils/themePreviewSettings.d.ts +54 -0
  176. package/dist/types/layout/components/toggles/ThemePreviewToggle.d.ts +5 -0
  177. package/dist/types/types/OwpGridThemeTypes.d.ts +34 -0
  178. package/dist/types/types/OwpSettingsTypes.d.ts +9 -0
  179. package/dist/types/types/OwpTableThemeTypes.d.ts +16 -0
  180. package/dist/types/types/index.d.ts +3 -2
  181. package/dist/types/utils/treeGridUtil.d.ts +1 -0
  182. package/dist/utils/exceljsBrowser.js +45 -48
  183. package/dist/utils/exceljsBrowser.js.map +1 -1
  184. package/dist/utils/treeGridUtil.js +66 -66
  185. package/dist/utils/treeGridUtil.js.map +1 -1
  186. package/features/themePreview.d.ts +3 -0
  187. package/features/themePreview.js +1 -0
  188. package/package.json +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"treeGridRuntime.js","sources":["../../../../src/components/OwpTreeGrid/internal/treeGridRuntime.ts"],"sourcesContent":["import { getTreeGridTextResourceUrl, TREEGRID_INPUT_CELL_COLOR } 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 {\n measureTreeGridPerf,\n} from './utils/perf';\n\nconst TREE_GRID_INPUT_CELL_COLOR_VALUE = Number.parseInt(\n TREEGRID_INPUT_CELL_COLOR.replace('#', ''),\n 16,\n);\n\nexport const TREE_GRID_BINDING_LOADING_MIN_VISIBLE_MS = 300;\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 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) => {\n if (\n !row ||\n !isEditableTreeGridCell(grid, row, col) ||\n hasExplicitTreeGridCellColor(grid, row, col)\n ) {\n return undefined;\n }\n\n return TREE_GRID_INPUT_CELL_COLOR_VALUE;\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 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(grid, row, col);\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, { row, col });\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_INPUT_CELL_COLOR_VALUE","TREEGRID_INPUT_CELL_COLOR","TREE_GRID_BINDING_LOADING_MIN_VISIBLE_MS","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","hasTreeGridDisplayDataRows","replaceTreeGridBodyData","onReloadFinish","currentDataConfig","_a","bindTreeGridEvents","latestEventHandlersRef","highlightEditableCellsRef","highlightChangedCellsRef","treeGridInstanceRef","treeGridInitStartedAtRef","latestLayoutOverridesRef","appliedLayoutOverridesRef","appliedBodyDataPropRef","latestColumnEditRulesRef","latestColumnEditRuleLookupRef","appliedColumnEditRulesRef","columnEditRulesStateRef","hasAppliedInitialLayoutRef","syncHasDisplayDataRows","setIsTreeGridReady","initialEventHandlers","_b","debounce","x","y","event","deleteType","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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"}
@@ -0,0 +1,462 @@
1
+ var S = Object.defineProperty;
2
+ var l = (e, o) => S(e, "name", { value: o, configurable: !0 });
3
+ const w = "owp-tree-grid-theme", b = [
4
+ "TS",
5
+ "TW",
6
+ "TB",
7
+ "TM",
8
+ "TT",
9
+ "CF",
10
+ "CL",
11
+ "CO",
12
+ "CG",
13
+ "CB",
14
+ "CQ",
15
+ "CE",
16
+ "CS",
17
+ "CR",
18
+ "CP",
19
+ "CC"
20
+ ], v = [
21
+ {
22
+ cssVariableName: "--owp-tree-grid-body-background-color",
23
+ getValue: /* @__PURE__ */ l((e) => {
24
+ var o;
25
+ return (o = e == null ? void 0 : e.body) == null ? void 0 : o.backgroundColor;
26
+ }, "getValue")
27
+ },
28
+ {
29
+ cssVariableName: "--owp-tree-grid-body-color",
30
+ getValue: /* @__PURE__ */ l((e) => {
31
+ var o;
32
+ return (o = e == null ? void 0 : e.body) == null ? void 0 : o.color;
33
+ }, "getValue")
34
+ },
35
+ {
36
+ cssVariableName: "--owp-tree-grid-body-fill-background-color",
37
+ getValue: /* @__PURE__ */ l((e) => {
38
+ var o;
39
+ return (o = e == null ? void 0 : e.body) == null ? void 0 : o.fillBackgroundColor;
40
+ }, "getValue")
41
+ },
42
+ {
43
+ cssVariableName: "--owp-tree-grid-row-background-color",
44
+ getValue: /* @__PURE__ */ l((e) => {
45
+ var o;
46
+ return (o = e == null ? void 0 : e.row) == null ? void 0 : o.backgroundColor;
47
+ }, "getValue")
48
+ },
49
+ {
50
+ cssVariableName: "--owp-tree-grid-row-solid-background-color",
51
+ getValue: /* @__PURE__ */ l((e) => {
52
+ var o;
53
+ return (o = e == null ? void 0 : e.row) == null ? void 0 : o.solidBackgroundColor;
54
+ }, "getValue")
55
+ },
56
+ {
57
+ cssVariableName: "--owp-tree-grid-hover-row-background-color",
58
+ getValue: /* @__PURE__ */ l((e) => {
59
+ var o;
60
+ return (o = e == null ? void 0 : e.state) == null ? void 0 : o.hoverRowBackgroundColor;
61
+ }, "getValue")
62
+ },
63
+ {
64
+ cssVariableName: "--owp-tree-grid-hover-row-border-color",
65
+ getValue: /* @__PURE__ */ l((e) => {
66
+ var o;
67
+ return (o = e == null ? void 0 : e.state) == null ? void 0 : o.hoverRowBorderColor;
68
+ }, "getValue")
69
+ },
70
+ {
71
+ cssVariableName: "--owp-tree-grid-selected-row-background-color",
72
+ getValue: /* @__PURE__ */ l((e) => {
73
+ var o;
74
+ return (o = e == null ? void 0 : e.state) == null ? void 0 : o.selectedRowBackgroundColor;
75
+ }, "getValue")
76
+ },
77
+ {
78
+ cssVariableName: "--owp-tree-grid-selected-cell-background-color",
79
+ getValue: /* @__PURE__ */ l((e) => {
80
+ var o;
81
+ return (o = e == null ? void 0 : e.state) == null ? void 0 : o.selectedCellBackgroundColor;
82
+ }, "getValue")
83
+ },
84
+ {
85
+ cssVariableName: "--owp-tree-grid-focused-row-background-color",
86
+ getValue: /* @__PURE__ */ l((e) => {
87
+ var o;
88
+ return (o = e == null ? void 0 : e.state) == null ? void 0 : o.focusedRowBackgroundColor;
89
+ }, "getValue")
90
+ },
91
+ {
92
+ cssVariableName: "--owp-tree-grid-focused-row-border-color",
93
+ getValue: /* @__PURE__ */ l((e) => {
94
+ var o;
95
+ return (o = e == null ? void 0 : e.state) == null ? void 0 : o.focusedRowBorderColor;
96
+ }, "getValue")
97
+ },
98
+ {
99
+ cssVariableName: "--owp-tree-grid-hover-cell-background-color",
100
+ getValue: /* @__PURE__ */ l((e) => {
101
+ var o;
102
+ return (o = e == null ? void 0 : e.state) == null ? void 0 : o.hoverCellBackgroundColor;
103
+ }, "getValue")
104
+ },
105
+ {
106
+ cssVariableName: "--owp-tree-grid-hover-cell-border-color",
107
+ getValue: /* @__PURE__ */ l((e) => {
108
+ var o;
109
+ return (o = e == null ? void 0 : e.state) == null ? void 0 : o.hoverCellBorderColor;
110
+ }, "getValue")
111
+ },
112
+ {
113
+ cssVariableName: "--owp-tree-grid-focused-cell-background-color",
114
+ getValue: /* @__PURE__ */ l((e) => {
115
+ var o;
116
+ return (o = e == null ? void 0 : e.state) == null ? void 0 : o.focusedCellBackgroundColor;
117
+ }, "getValue")
118
+ },
119
+ {
120
+ cssVariableName: "--owp-tree-grid-focused-cell-border-color",
121
+ getValue: /* @__PURE__ */ l((e) => {
122
+ var o;
123
+ return (o = e == null ? void 0 : e.state) == null ? void 0 : o.focusedCellBorderColor;
124
+ }, "getValue")
125
+ },
126
+ {
127
+ cssVariableName: "--owp-tree-grid-editing-cell-border-color",
128
+ getValue: /* @__PURE__ */ l((e) => {
129
+ var o;
130
+ return (o = e == null ? void 0 : e.state) == null ? void 0 : o.editingCellBorderColor;
131
+ }, "getValue")
132
+ },
133
+ {
134
+ cssVariableName: "--owp-tree-grid-focused-cell-rect-background-color",
135
+ getValue: /* @__PURE__ */ l((e) => {
136
+ var o;
137
+ return (o = e == null ? void 0 : e.state) == null ? void 0 : o.focusedCellRectBackgroundColor;
138
+ }, "getValue")
139
+ },
140
+ {
141
+ cssVariableName: "--owp-tree-grid-changed-background-color",
142
+ getValue: /* @__PURE__ */ l((e) => {
143
+ var o;
144
+ return (o = e == null ? void 0 : e.changed) == null ? void 0 : o.backgroundColor;
145
+ }, "getValue")
146
+ }
147
+ ], f = [
148
+ {
149
+ cssVariableName: "--owp-tree-grid-header-background-color",
150
+ getValue: /* @__PURE__ */ l((e) => e.header.backgroundColor, "getValue")
151
+ },
152
+ {
153
+ cssVariableName: "--owp-tree-grid-header-color",
154
+ getValue: /* @__PURE__ */ l((e) => e.header.color, "getValue")
155
+ },
156
+ {
157
+ cssVariableName: "--owp-tree-grid-header-font-size",
158
+ getValue: /* @__PURE__ */ l((e) => C(e.header.fontSize), "getValue")
159
+ },
160
+ {
161
+ cssVariableName: "--owp-tree-grid-header-font-weight",
162
+ getValue: /* @__PURE__ */ l((e) => String(e.header.fontWeight), "getValue")
163
+ },
164
+ {
165
+ cssVariableName: "--owp-tree-grid-cell-font-size",
166
+ getValue: /* @__PURE__ */ l((e) => C(e.cell.fontSize), "getValue")
167
+ }
168
+ ], t = /* @__PURE__ */ l((e, o) => ({
169
+ backgroundColor: `var(${e}, ${o}) !important`
170
+ }), "createTreeGridBackgroundColorStyle"), i = /* @__PURE__ */ l((e) => ({
171
+ backgroundColor: `var(${e}) !important`
172
+ }), "createTreeGridOptionalBackgroundColorStyle"), r = /* @__PURE__ */ l(({
173
+ rowSuffix: e,
174
+ suffixes: o,
175
+ descendant: c = "",
176
+ withChildren: d = !1
177
+ }) => b.flatMap((s) => o.flatMap((a) => {
178
+ const u = `.${w}`, n = e ? ` .${s}${e}` : "", p = `${u}${n} .${s}${a}${c}`;
179
+ return d ? [p, `${p} *`] : [p];
180
+ })).join(", "), "createTreeGridSelectors"), F = /* @__PURE__ */ l(({
181
+ ancestorSuffixes: e,
182
+ suffixes: o,
183
+ descendant: c = ""
184
+ }) => b.flatMap((d) => e.flatMap((s) => o.map((a) => `.${w} .${d}${s} .${d}${a}${c}`))).join(", "), "createTreeGridNestedSelectors"), H = r({
185
+ suffixes: ["Main"],
186
+ withChildren: !0
187
+ }), k = r({
188
+ suffixes: ["Main"]
189
+ }), V = r({
190
+ suffixes: ["ClassReadOnly"],
191
+ withChildren: !0
192
+ }), B = r({
193
+ suffixes: ["MainTable"]
194
+ }), E = r({
195
+ suffixes: ["FillRow"]
196
+ }), R = r({
197
+ suffixes: ["SolidRow"]
198
+ }), G = r({
199
+ suffixes: ["ColorDefault"]
200
+ }), x = r({
201
+ suffixes: ["ColorDefaultRow"]
202
+ }), y = r({
203
+ rowSuffix: "HeaderRow",
204
+ suffixes: ["CellHeader", "CellIndex", "GanttHeaderBase", "LevelButton"],
205
+ withChildren: !0
206
+ }), g = r({
207
+ rowSuffix: "HeaderRow",
208
+ suffixes: [
209
+ "CellHeader",
210
+ "CellIndex",
211
+ "EditHeaderInput",
212
+ "EditHeaderTextarea",
213
+ "ColorFocusedCellHeader",
214
+ "ColorHoveredCellHeader",
215
+ "ColorHoveredCellIndex",
216
+ "HeaderFocus",
217
+ "HeaderDrag"
218
+ ]
219
+ }), N = r({
220
+ suffixes: ["ColorHovered"]
221
+ }), D = r({
222
+ suffixes: ["ColorHoveredRow"]
223
+ }), $ = r({
224
+ suffixes: ["HoverRowBorder"]
225
+ }), _ = r({
226
+ suffixes: ["ColorSelected", "ColorSelectedCell"]
227
+ }), I = r({
228
+ suffixes: ["ColorSelected", "ColorSelectedCell"],
229
+ descendant: " *"
230
+ }), M = r({
231
+ suffixes: ["ColorSelectedRow"]
232
+ }), O = r({
233
+ suffixes: ["ColorFocused"]
234
+ }), L = r({
235
+ suffixes: ["ColorFocusedRow"]
236
+ }), A = r({
237
+ suffixes: ["FocusRowBorder"]
238
+ }), z = r({
239
+ suffixes: ["ColorHoveredCell", "ColorHoveredCellIndex"]
240
+ }), P = r({
241
+ suffixes: ["HoverCellBorder"]
242
+ }), W = r({
243
+ suffixes: ["ColorHoveredCellReadOnly", "ColorHoveredCellNoFocus"]
244
+ }), j = r({
245
+ suffixes: ["ColorHoveredCellReadOnly", "ColorHoveredCellNoFocus"],
246
+ descendant: " *"
247
+ }), X = F({
248
+ ancestorSuffixes: ["HoverCellBorder"],
249
+ suffixes: ["ColorPreview", "ColorPreviewDynamic", "ColorViewedCell"]
250
+ }), Q = r({
251
+ suffixes: [
252
+ "ColorHoveredCellSpace",
253
+ "ColorHoveredCellSpaceEdit",
254
+ "ColorHoveredCellSpaceDefaults",
255
+ "ColorHoveredCellSpaceBool0",
256
+ "ColorHoveredCellSpaceBool1",
257
+ "ColorHoveredCellSpaceBoolX",
258
+ "ColorHoveredCellSpaceBoolIcon",
259
+ "ColorHoveredCellButton",
260
+ "ColorHoveredCellButton1",
261
+ "ColorHoveredCellTab",
262
+ "ColorHoveredCellTab1"
263
+ ]
264
+ }), Y = r({
265
+ suffixes: ["ColorFocusedCell", "ColorFocusedCellRelative"]
266
+ }), q = r({
267
+ suffixes: ["ColorFocusedCellRect"]
268
+ }), J = r({
269
+ suffixes: ["FocusCellBorder"]
270
+ }), K = r({
271
+ suffixes: ["FocusCellCorner"]
272
+ }), U = r({
273
+ suffixes: ["ClassFocusedCellSpaceEdit", "ClassFocusedCellSpaceDefaults"],
274
+ descendant: " > div"
275
+ }), Z = r({
276
+ suffixes: [
277
+ "ColorFocusedCellSafari",
278
+ "ColorFocusedCellSpace",
279
+ "ColorFocusedCellSpaceEdit",
280
+ "ColorFocusedCellSpaceDefaults",
281
+ "ColorFocusedCellSpaceBool",
282
+ "ColorFocusedCellButton"
283
+ ]
284
+ }), h = r({
285
+ suffixes: ["ClassHoveredCellSpaceEdit", "ClassHoveredCellSpaceDefaults"],
286
+ descendant: " > div"
287
+ }), m = r({
288
+ suffixes: ["ClassHoveredCellButtonButton", "ClassHoveredCellButtonButton1"],
289
+ descendant: " u"
290
+ }), T = r({
291
+ suffixes: ["ClassHoveredCellTab", "ClassHoveredCellTab1"]
292
+ }), ee = r({
293
+ suffixes: ["ColorChangedCell"]
294
+ }), oe = r({
295
+ suffixes: ["EditCellBorder"]
296
+ }), re = r({
297
+ suffixes: ["EditCellCorner"]
298
+ }), ce = {
299
+ [H]: {
300
+ fontSize: "var(--owp-tree-grid-cell-font-size, 13px)",
301
+ fontWeight: "normal",
302
+ lineHeight: "16px"
303
+ },
304
+ [k]: {
305
+ color: "var(--owp-tree-grid-body-color, #111112) !important"
306
+ },
307
+ [V]: {
308
+ color: "var(--owp-tree-grid-body-color, #111112) !important"
309
+ },
310
+ [B]: t(
311
+ "--owp-tree-grid-body-background-color",
312
+ "#FFFFFF"
313
+ ),
314
+ [E]: i(
315
+ "--owp-tree-grid-body-fill-background-color"
316
+ ),
317
+ [R]: i(
318
+ "--owp-tree-grid-row-solid-background-color"
319
+ ),
320
+ [G]: t(
321
+ "--owp-tree-grid-row-background-color",
322
+ "#FFFFFF"
323
+ ),
324
+ [x]: t(
325
+ "--owp-tree-grid-row-background-color",
326
+ "#FFFFFE"
327
+ ),
328
+ [y]: {
329
+ color: "var(--owp-tree-grid-header-color, #ffffff) !important",
330
+ fontSize: "var(--owp-tree-grid-header-font-size, 14px) !important",
331
+ fontWeight: "var(--owp-tree-grid-header-font-weight, normal) !important",
332
+ lineHeight: "16px"
333
+ },
334
+ [g]: {
335
+ backgroundColor: "var(--owp-tree-grid-header-background-color, #586980) !important",
336
+ color: "var(--owp-tree-grid-header-color, #ffffff) !important"
337
+ },
338
+ [N]: t(
339
+ "--owp-tree-grid-hover-row-background-color",
340
+ "#F0F0FF"
341
+ ),
342
+ [D]: t(
343
+ "--owp-tree-grid-hover-row-background-color",
344
+ "#EEE"
345
+ ),
346
+ [$]: {
347
+ borderTopColor: "var(--owp-tree-grid-hover-row-border-color) !important",
348
+ borderBottomColor: "var(--owp-tree-grid-hover-row-border-color) !important"
349
+ },
350
+ [_]: t(
351
+ "--owp-tree-grid-selected-cell-background-color",
352
+ "#FFFFA6"
353
+ ),
354
+ [I]: t(
355
+ "--owp-tree-grid-selected-cell-background-color",
356
+ "#FFFFA6"
357
+ ),
358
+ [M]: t(
359
+ "--owp-tree-grid-selected-row-background-color",
360
+ "#EEE"
361
+ ),
362
+ [O]: t(
363
+ "--owp-tree-grid-focused-row-background-color",
364
+ "#E6E6E6"
365
+ ),
366
+ [L]: t(
367
+ "--owp-tree-grid-focused-row-background-color",
368
+ "#EEE"
369
+ ),
370
+ [A]: {
371
+ borderColor: "var(--owp-tree-grid-focused-row-border-color) !important"
372
+ },
373
+ [z]: t(
374
+ "--owp-tree-grid-hover-cell-background-color",
375
+ "#BFDDF2"
376
+ ),
377
+ [P]: {
378
+ backgroundColor: "var(--owp-tree-grid-hover-cell-background-color) !important",
379
+ borderColor: "var(--owp-tree-grid-hover-cell-border-color) !important"
380
+ },
381
+ [W]: t(
382
+ "--owp-tree-grid-hover-cell-background-color",
383
+ "#F0F0F0"
384
+ ),
385
+ [j]: t(
386
+ "--owp-tree-grid-hover-cell-background-color",
387
+ "#F0F0F0"
388
+ ),
389
+ [X]: i(
390
+ "--owp-tree-grid-hover-cell-background-color"
391
+ ),
392
+ [Q]: i(
393
+ "--owp-tree-grid-hover-cell-background-color"
394
+ ),
395
+ [h]: {
396
+ borderColor: "var(--owp-tree-grid-hover-cell-border-color) !important"
397
+ },
398
+ [m]: {
399
+ borderColor: "var(--owp-tree-grid-hover-cell-border-color) !important"
400
+ },
401
+ [T]: {
402
+ borderTopColor: "var(--owp-tree-grid-hover-cell-border-color) !important",
403
+ borderBottomColor: "var(--owp-tree-grid-hover-cell-border-color) !important",
404
+ outlineColor: "var(--owp-tree-grid-hover-cell-border-color) !important"
405
+ },
406
+ [Y]: t(
407
+ "--owp-tree-grid-focused-cell-background-color",
408
+ "#FFFFFE"
409
+ ),
410
+ [q]: {
411
+ backgroundColor: "var(--owp-tree-grid-focused-cell-rect-background-color) !important"
412
+ },
413
+ [J]: {
414
+ borderColor: "var(--owp-tree-grid-focused-cell-border-color) !important"
415
+ },
416
+ [K]: {
417
+ backgroundColor: "var(--owp-tree-grid-focused-cell-border-color) !important"
418
+ },
419
+ [U]: {
420
+ borderColor: "var(--owp-tree-grid-focused-cell-border-color) !important"
421
+ },
422
+ [Z]: i(
423
+ "--owp-tree-grid-focused-cell-background-color"
424
+ ),
425
+ [ee]: t(
426
+ "--owp-tree-grid-changed-background-color",
427
+ "#EEE"
428
+ ),
429
+ [oe]: {
430
+ borderColor: "var(--owp-tree-grid-editing-cell-border-color) !important"
431
+ },
432
+ [re]: {
433
+ backgroundColor: "var(--owp-tree-grid-editing-cell-border-color) !important"
434
+ }
435
+ }, C = /* @__PURE__ */ l((e) => typeof e == "number" ? `${e}px` : e, "toTreeGridCssValue"), le = /* @__PURE__ */ l((e, o, c) => {
436
+ c && (e[o] = c);
437
+ }, "setOptionalTreeGridCssVariable"), ae = /* @__PURE__ */ l(({
438
+ width: e,
439
+ height: o,
440
+ treeGridTheme: c,
441
+ gridThemeConfig: d,
442
+ containerStyle: s
443
+ }) => {
444
+ const a = {
445
+ height: o,
446
+ width: e
447
+ };
448
+ for (const { cssVariableName: u, getValue: n } of v)
449
+ le(a, u, n(d));
450
+ for (const { cssVariableName: u, getValue: n } of f)
451
+ a[u] = n(c);
452
+ return {
453
+ ...a,
454
+ ...s
455
+ };
456
+ }, "createTreeGridThemeContainerStyle");
457
+ export {
458
+ w as TREE_GRID_THEME_WRAPPER_CLASS,
459
+ ae as createTreeGridThemeContainerStyle,
460
+ ce as treeGridThemeStyles
461
+ };
462
+ //# sourceMappingURL=treeGridTheme.js.map