@owp/core 2.4.0 → 2.5.0

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 (656) hide show
  1. package/assets/fonts/material-design-icons/MaterialIconsOutlined-Regular.woff2 +0 -0
  2. package/assets/fonts/material-design-icons/MaterialIconsOutlined.css +36 -0
  3. package/assets/fonts/pretendard/pretendard-subset.css +98 -0
  4. package/assets/fonts/pretendard/woff-subset/Pretendard-Black.subset.woff +0 -0
  5. package/assets/fonts/pretendard/woff-subset/Pretendard-Bold.subset.woff +0 -0
  6. package/assets/fonts/pretendard/woff-subset/Pretendard-ExtraBold.subset.woff +0 -0
  7. package/assets/fonts/pretendard/woff-subset/Pretendard-ExtraLight.subset.woff +0 -0
  8. package/assets/fonts/pretendard/woff-subset/Pretendard-Light.subset.woff +0 -0
  9. package/assets/fonts/pretendard/woff-subset/Pretendard-Medium.subset.woff +0 -0
  10. package/assets/fonts/pretendard/woff-subset/Pretendard-Regular.subset.woff +0 -0
  11. package/assets/fonts/pretendard/woff-subset/Pretendard-SemiBold.subset.woff +0 -0
  12. package/assets/fonts/pretendard/woff-subset/Pretendard-Thin.subset.woff +0 -0
  13. package/assets/fonts/pretendard/woff2-subset/Pretendard-Black.subset.woff2 +0 -0
  14. package/assets/fonts/pretendard/woff2-subset/Pretendard-Bold.subset.woff2 +0 -0
  15. package/assets/fonts/pretendard/woff2-subset/Pretendard-ExtraBold.subset.woff2 +0 -0
  16. package/assets/fonts/pretendard/woff2-subset/Pretendard-ExtraLight.subset.woff2 +0 -0
  17. package/assets/fonts/pretendard/woff2-subset/Pretendard-Light.subset.woff2 +0 -0
  18. package/assets/fonts/pretendard/woff2-subset/Pretendard-Medium.subset.woff2 +0 -0
  19. package/assets/fonts/pretendard/woff2-subset/Pretendard-Regular.subset.woff2 +0 -0
  20. package/assets/fonts/pretendard/woff2-subset/Pretendard-SemiBold.subset.woff2 +0 -0
  21. package/assets/fonts/pretendard/woff2-subset/Pretendard-Thin.subset.woff2 +0 -0
  22. package/assets/icons/feather.svg +1314 -0
  23. package/assets/icons/heroicons-outline.svg +1 -0
  24. package/assets/icons/heroicons-solid.svg +1 -0
  25. package/assets/icons/material-outline.svg +3586 -0
  26. package/assets/icons/material-solid.svg +3586 -0
  27. package/assets/icons/material-twotone.svg +3586 -0
  28. package/assets/icons/owp_sb.svg +35 -0
  29. package/dist/_virtual/_virtual_owp-exceljs-browser-source.js +5 -0
  30. package/dist/_virtual/_virtual_owp-exceljs-browser-source.js.map +1 -0
  31. package/dist/_virtual/index10.js +2 -2
  32. package/dist/_virtual/index12.js +2 -2
  33. package/dist/_virtual/index13.js +2 -2
  34. package/dist/_virtual/index14.js +2 -2
  35. package/dist/_virtual/index15.js +2 -2
  36. package/dist/_virtual/index17.js +5 -2
  37. package/dist/_virtual/index17.js.map +1 -1
  38. package/dist/_virtual/index18.js +4 -4
  39. package/dist/_virtual/index19.js +4 -4
  40. package/dist/_virtual/index20.js +2 -5
  41. package/dist/_virtual/index20.js.map +1 -1
  42. package/dist/_virtual/index5.js +2 -2
  43. package/dist/components/OwpCommonCode/OwpCommonCodeRadioGroup.js +38 -38
  44. package/dist/components/OwpCommonCode/OwpCommonCodeRadioGroup.js.map +1 -1
  45. package/dist/components/OwpFieldHelperText/OwpFieldHelperText.js +34 -0
  46. package/dist/components/OwpFieldHelperText/OwpFieldHelperText.js.map +1 -0
  47. package/dist/components/OwpMrtTable/OwpMrtTable.js +98 -104
  48. package/dist/components/OwpMrtTable/OwpMrtTable.js.map +1 -1
  49. package/dist/components/OwpMrtTable/internal/OwpMrtTableNoDataOverlay.js +10 -9
  50. package/dist/components/OwpMrtTable/internal/OwpMrtTableNoDataOverlay.js.map +1 -1
  51. package/dist/components/OwpRequiredHelperText/OwpRequiredHelperText.js +38 -0
  52. package/dist/components/OwpRequiredHelperText/OwpRequiredHelperText.js.map +1 -0
  53. package/dist/components/OwpTable/OwpDataTable.js +171 -177
  54. package/dist/components/OwpTable/OwpDataTable.js.map +1 -1
  55. package/dist/components/OwpTable/OwpFieldTable.js +99 -0
  56. package/dist/components/OwpTable/OwpFieldTable.js.map +1 -0
  57. package/dist/components/OwpTable/OwpTable.js +62 -68
  58. package/dist/components/OwpTable/OwpTable.js.map +1 -1
  59. package/dist/components/OwpTextField/OwpTextMaskField.js +138 -87
  60. package/dist/components/OwpTextField/OwpTextMaskField.js.map +1 -1
  61. package/dist/components/OwpTreeGrid/internal/OwpTreeGridNoDataOverlay.js +6 -5
  62. package/dist/components/OwpTreeGrid/internal/OwpTreeGridNoDataOverlay.js.map +1 -1
  63. package/dist/components/OwpTreeGrid/internal/treeGridRuntime.js +66 -69
  64. package/dist/components/OwpTreeGrid/internal/treeGridRuntime.js.map +1 -1
  65. package/dist/constants/treeGrid.js +36 -5
  66. package/dist/constants/treeGrid.js.map +1 -1
  67. package/dist/constants.js +25 -19
  68. package/dist/contexts/OwpAppProvider.js.map +1 -1
  69. package/dist/hooks/useCurrentUserSeq.js +20 -6
  70. package/dist/hooks/useCurrentUserSeq.js.map +1 -1
  71. package/dist/hooks/useLogoSrc.js +9 -9
  72. package/dist/hooks/useLogoSrc.js.map +1 -1
  73. package/dist/hooks/useNavigationActiveRouteRemount.js +38 -0
  74. package/dist/hooks/useNavigationActiveRouteRemount.js.map +1 -0
  75. package/dist/hooks.js +50 -49
  76. package/dist/index.js +74 -70
  77. package/dist/index.js.map +1 -1
  78. package/dist/layout/Layout.js +37 -36
  79. package/dist/layout/Layout.js.map +1 -1
  80. package/dist/layout/components/navigation/vertical/types/NavVerticalCollapse.js +61 -51
  81. package/dist/layout/components/navigation/vertical/types/NavVerticalCollapse.js.map +1 -1
  82. package/dist/layout/components/navigation/vertical/types/NavVerticalGroup.js +35 -27
  83. package/dist/layout/components/navigation/vertical/types/NavVerticalGroup.js.map +1 -1
  84. package/dist/layout/components/navigation/vertical/types/NavVerticalItem.js +34 -27
  85. package/dist/layout/components/navigation/vertical/types/NavVerticalItem.js.map +1 -1
  86. package/dist/layout/components/toggles/NavigationSearchToggle.js +3 -3
  87. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE128/index.js +1 -1
  88. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE39/index.js +1 -1
  89. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE93/index.js +1 -1
  90. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/EAN_UPC/constants.js +1 -1
  91. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/EAN_UPC/index.js +1 -1
  92. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/GenericBarcode/index.js +1 -1
  93. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/ITF/constants.js +1 -1
  94. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/ITF/index.js +1 -1
  95. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/MSI/index.js +1 -1
  96. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/codabar/index.js +1 -1
  97. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/pharmacode/index.js +1 -1
  98. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/renderers/index.js +1 -1
  99. package/dist/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/index.js +1 -1
  100. package/dist/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/index.js +1 -1
  101. package/dist/owp-app.css +1 -1
  102. package/dist/types/components/OwpFieldHelperText/OwpFieldHelperText.d.ts +14 -0
  103. package/dist/types/components/OwpFieldHelperText/index.d.ts +2 -0
  104. package/dist/types/components/OwpRequiredHelperText/OwpRequiredHelperText.d.ts +18 -0
  105. package/dist/types/components/OwpRequiredHelperText/index.d.ts +2 -0
  106. package/dist/types/components/OwpTable/{OwpVerticalTable.d.ts → OwpFieldTable.d.ts} +9 -8
  107. package/dist/types/components/OwpTable/index.d.ts +1 -1
  108. package/dist/types/components/OwpTextField/OwpTextMaskField.d.ts +5 -3
  109. package/dist/types/components/OwpTreeGrid/internal/treeGridRuntime.d.ts +1 -1
  110. package/dist/types/constants/treeGrid.d.ts +12 -0
  111. package/dist/types/contexts/OwpAppProvider.d.ts +1 -0
  112. package/dist/types/hooks/useCurrentUserSeq.d.ts +11 -2
  113. package/dist/types/hooks/useNavigationActiveRouteRemount.d.ts +14 -0
  114. package/dist/types/index.d.ts +3 -1
  115. package/dist/types/utils/exceljsBrowser.d.ts +1 -3
  116. package/dist/utils/exceljsBrowser.js +64 -7
  117. package/dist/utils/exceljsBrowser.js.map +1 -1
  118. package/fixed-images/flags/EN.svg +11 -0
  119. package/fixed-images/flags/KR.svg +27 -0
  120. package/fixed-images/logo/owp/owp_sb.svg +35 -0
  121. package/package.json +6 -2
  122. package/treegrid/Compatible/Borders/Backgrounds.gif +0 -0
  123. package/treegrid/Compatible/Borders/BackgroundsRight.gif +0 -0
  124. package/treegrid/Compatible/Borders/Bool.gif +0 -0
  125. package/treegrid/Compatible/Borders/BoolSpace.gif +0 -0
  126. package/treegrid/Compatible/Borders/Button.gif +0 -0
  127. package/treegrid/Compatible/Borders/Dependencies.gif +0 -0
  128. package/treegrid/Compatible/Borders/FastPanel1.gif +0 -0
  129. package/treegrid/Compatible/Borders/FastPanel2.gif +0 -0
  130. package/treegrid/Compatible/Borders/Filter.gif +0 -0
  131. package/treegrid/Compatible/Borders/Gantt.css +1228 -0
  132. package/treegrid/Compatible/Borders/Gantt.gif +0 -0
  133. package/treegrid/Compatible/Borders/GanttLineA.gif +0 -0
  134. package/treegrid/Compatible/Borders/GanttLineB.gif +0 -0
  135. package/treegrid/Compatible/Borders/GanttLineC.gif +0 -0
  136. package/treegrid/Compatible/Borders/GanttLineD.gif +0 -0
  137. package/treegrid/Compatible/Borders/Grid.css +2762 -0
  138. package/treegrid/Compatible/Borders/HScroll.png +0 -0
  139. package/treegrid/Compatible/Borders/Menu.gif +0 -0
  140. package/treegrid/Compatible/Borders/Pager.gif +0 -0
  141. package/treegrid/Compatible/Borders/Pager.png +0 -0
  142. package/treegrid/Compatible/Borders/Panel.gif +0 -0
  143. package/treegrid/Compatible/Borders/Sort.gif +0 -0
  144. package/treegrid/Compatible/Borders/Toolbar.gif +0 -0
  145. package/treegrid/Compatible/Borders/Toolbar.png +0 -0
  146. package/treegrid/Compatible/Borders/ToolbarGantt.gif +0 -0
  147. package/treegrid/Compatible/Borders/ToolbarGantt.png +0 -0
  148. package/treegrid/Compatible/Borders/ToolbarSheet.gif +0 -0
  149. package/treegrid/Compatible/Borders/ToolbarSheet.png +0 -0
  150. package/treegrid/Compatible/Borders/ToolbarSheetWide.gif +0 -0
  151. package/treegrid/Compatible/Borders/ToolbarSheetWide.png +0 -0
  152. package/treegrid/Compatible/Borders/Tree.gif +0 -0
  153. package/treegrid/Compatible/Borders/TreeBottom.gif +0 -0
  154. package/treegrid/Compatible/Borders/TreeMiddle.gif +0 -0
  155. package/treegrid/Compatible/Borders/TreeNCollapse.gif +0 -0
  156. package/treegrid/Compatible/Borders/TreeNDrag0.gif +0 -0
  157. package/treegrid/Compatible/Borders/TreeNDrag1.gif +0 -0
  158. package/treegrid/Compatible/Borders/TreeNDrag2.gif +0 -0
  159. package/treegrid/Compatible/Borders/TreeNDrag3.gif +0 -0
  160. package/treegrid/Compatible/Borders/TreeNExpand.gif +0 -0
  161. package/treegrid/Compatible/Borders/TreeNWait.gif +0 -0
  162. package/treegrid/Compatible/Borders/TreeRev.gif +0 -0
  163. package/treegrid/Compatible/Borders/TreeRevBottom.gif +0 -0
  164. package/treegrid/Compatible/Borders/TreeRevMiddle.gif +0 -0
  165. package/treegrid/Compatible/Borders/VScroll.gif +0 -0
  166. package/treegrid/Compatible/Colors/BackgroundsBlue.gif +0 -0
  167. package/treegrid/Compatible/Colors/BackgroundsBottom.gif +0 -0
  168. package/treegrid/Compatible/Colors/BackgroundsGantt.gif +0 -0
  169. package/treegrid/Compatible/Colors/BackgroundsHeader.gif +0 -0
  170. package/treegrid/Compatible/Colors/BackgroundsMain.gif +0 -0
  171. package/treegrid/Compatible/Colors/BackgroundsMiddle.gif +0 -0
  172. package/treegrid/Compatible/Colors/BackgroundsTop.gif +0 -0
  173. package/treegrid/Compatible/Colors/BackgroundsYellow.gif +0 -0
  174. package/treegrid/Compatible/Colors/Bool.gif +0 -0
  175. package/treegrid/Compatible/Colors/Button.gif +0 -0
  176. package/treegrid/Compatible/Colors/Dependencies.gif +0 -0
  177. package/treegrid/Compatible/Colors/FastPanel1.gif +0 -0
  178. package/treegrid/Compatible/Colors/FastPanel2.gif +0 -0
  179. package/treegrid/Compatible/Colors/Filter.gif +0 -0
  180. package/treegrid/Compatible/Colors/Gantt.css +1228 -0
  181. package/treegrid/Compatible/Colors/Gantt.gif +0 -0
  182. package/treegrid/Compatible/Colors/GanttLineA.gif +0 -0
  183. package/treegrid/Compatible/Colors/GanttLineB.gif +0 -0
  184. package/treegrid/Compatible/Colors/GanttLineC.gif +0 -0
  185. package/treegrid/Compatible/Colors/GanttLineD.gif +0 -0
  186. package/treegrid/Compatible/Colors/Grid.css +2768 -0
  187. package/treegrid/Compatible/Colors/HScroll.png +0 -0
  188. package/treegrid/Compatible/Colors/Menu.gif +0 -0
  189. package/treegrid/Compatible/Colors/Pager.gif +0 -0
  190. package/treegrid/Compatible/Colors/Panel.gif +0 -0
  191. package/treegrid/Compatible/Colors/Sort.gif +0 -0
  192. package/treegrid/Compatible/Colors/Toolbar.gif +0 -0
  193. package/treegrid/Compatible/Colors/ToolbarGantt.gif +0 -0
  194. package/treegrid/Compatible/Colors/ToolbarSheet.gif +0 -0
  195. package/treegrid/Compatible/Colors/ToolbarSheetWide.gif +0 -0
  196. package/treegrid/Compatible/Colors/Tree.gif +0 -0
  197. package/treegrid/Compatible/Colors/TreeBottom.gif +0 -0
  198. package/treegrid/Compatible/Colors/TreeMiddle.gif +0 -0
  199. package/treegrid/Compatible/Colors/TreeNCollapse.gif +0 -0
  200. package/treegrid/Compatible/Colors/TreeNDrag0.gif +0 -0
  201. package/treegrid/Compatible/Colors/TreeNDrag1.gif +0 -0
  202. package/treegrid/Compatible/Colors/TreeNDrag2.gif +0 -0
  203. package/treegrid/Compatible/Colors/TreeNDrag3.gif +0 -0
  204. package/treegrid/Compatible/Colors/TreeNExpand.gif +0 -0
  205. package/treegrid/Compatible/Colors/TreeNWait.gif +0 -0
  206. package/treegrid/Compatible/Colors/TreeRev.gif +0 -0
  207. package/treegrid/Compatible/Colors/TreeRevBottom.gif +0 -0
  208. package/treegrid/Compatible/Colors/TreeRevMiddle.gif +0 -0
  209. package/treegrid/Compatible/Colors/VScroll.gif +0 -0
  210. package/treegrid/Compatible/ExtJS/Backgrounds.gif +0 -0
  211. package/treegrid/Compatible/ExtJS/BackgroundsFill.gif +0 -0
  212. package/treegrid/Compatible/ExtJS/Bool.gif +0 -0
  213. package/treegrid/Compatible/ExtJS/Button.gif +0 -0
  214. package/treegrid/Compatible/ExtJS/Dependencies.gif +0 -0
  215. package/treegrid/Compatible/ExtJS/FastPanel1.gif +0 -0
  216. package/treegrid/Compatible/ExtJS/FastPanel2.gif +0 -0
  217. package/treegrid/Compatible/ExtJS/Filter.gif +0 -0
  218. package/treegrid/Compatible/ExtJS/Gantt.css +1233 -0
  219. package/treegrid/Compatible/ExtJS/Gantt.gif +0 -0
  220. package/treegrid/Compatible/ExtJS/GanttLineA.gif +0 -0
  221. package/treegrid/Compatible/ExtJS/GanttLineB.gif +0 -0
  222. package/treegrid/Compatible/ExtJS/GanttLineC.gif +0 -0
  223. package/treegrid/Compatible/ExtJS/GanttLineD.gif +0 -0
  224. package/treegrid/Compatible/ExtJS/Grid.css +2764 -0
  225. package/treegrid/Compatible/ExtJS/HScroll.png +0 -0
  226. package/treegrid/Compatible/ExtJS/Menu.gif +0 -0
  227. package/treegrid/Compatible/ExtJS/Pager.gif +0 -0
  228. package/treegrid/Compatible/ExtJS/Panel.gif +0 -0
  229. package/treegrid/Compatible/ExtJS/Sort.gif +0 -0
  230. package/treegrid/Compatible/ExtJS/Toolbar.gif +0 -0
  231. package/treegrid/Compatible/ExtJS/ToolbarGantt.gif +0 -0
  232. package/treegrid/Compatible/ExtJS/ToolbarSheet.gif +0 -0
  233. package/treegrid/Compatible/ExtJS/ToolbarSheetWide.gif +0 -0
  234. package/treegrid/Compatible/ExtJS/Tree.gif +0 -0
  235. package/treegrid/Compatible/ExtJS/TreeBottom.gif +0 -0
  236. package/treegrid/Compatible/ExtJS/TreeMiddle.gif +0 -0
  237. package/treegrid/Compatible/ExtJS/TreeNCollapse.gif +0 -0
  238. package/treegrid/Compatible/ExtJS/TreeNDrag0.gif +0 -0
  239. package/treegrid/Compatible/ExtJS/TreeNDrag1.gif +0 -0
  240. package/treegrid/Compatible/ExtJS/TreeNDrag2.gif +0 -0
  241. package/treegrid/Compatible/ExtJS/TreeNDrag3.gif +0 -0
  242. package/treegrid/Compatible/ExtJS/TreeNExpand.gif +0 -0
  243. package/treegrid/Compatible/ExtJS/TreeNWait.gif +0 -0
  244. package/treegrid/Compatible/ExtJS/TreeRev.gif +0 -0
  245. package/treegrid/Compatible/ExtJS/TreeRevBottom.gif +0 -0
  246. package/treegrid/Compatible/ExtJS/TreeRevMiddle.gif +0 -0
  247. package/treegrid/Compatible/ExtJS/VScroll.gif +0 -0
  248. package/treegrid/Compatible/Gradient/Backgrounds.gif +0 -0
  249. package/treegrid/Compatible/Gradient/BackgroundsGantt.gif +0 -0
  250. package/treegrid/Compatible/Gradient/BackgroundsRight.gif +0 -0
  251. package/treegrid/Compatible/Gradient/Bool.gif +0 -0
  252. package/treegrid/Compatible/Gradient/BoolSpace.gif +0 -0
  253. package/treegrid/Compatible/Gradient/Button.gif +0 -0
  254. package/treegrid/Compatible/Gradient/Dependencies.gif +0 -0
  255. package/treegrid/Compatible/Gradient/FastPanel1.gif +0 -0
  256. package/treegrid/Compatible/Gradient/FastPanel2.gif +0 -0
  257. package/treegrid/Compatible/Gradient/Filter.gif +0 -0
  258. package/treegrid/Compatible/Gradient/Gantt.css +1234 -0
  259. package/treegrid/Compatible/Gradient/Gantt.gif +0 -0
  260. package/treegrid/Compatible/Gradient/GanttLineA.gif +0 -0
  261. package/treegrid/Compatible/Gradient/GanttLineB.gif +0 -0
  262. package/treegrid/Compatible/Gradient/GanttLineC.gif +0 -0
  263. package/treegrid/Compatible/Gradient/GanttLineD.gif +0 -0
  264. package/treegrid/Compatible/Gradient/Grid.css +2835 -0
  265. package/treegrid/Compatible/Gradient/HScroll.png +0 -0
  266. package/treegrid/Compatible/Gradient/Menu.gif +0 -0
  267. package/treegrid/Compatible/Gradient/Pager.gif +0 -0
  268. package/treegrid/Compatible/Gradient/Pager.png +0 -0
  269. package/treegrid/Compatible/Gradient/Panel.gif +0 -0
  270. package/treegrid/Compatible/Gradient/Sort.gif +0 -0
  271. package/treegrid/Compatible/Gradient/Toolbar.gif +0 -0
  272. package/treegrid/Compatible/Gradient/Toolbar.png +0 -0
  273. package/treegrid/Compatible/Gradient/ToolbarGantt.gif +0 -0
  274. package/treegrid/Compatible/Gradient/ToolbarGantt.png +0 -0
  275. package/treegrid/Compatible/Gradient/ToolbarSheet.gif +0 -0
  276. package/treegrid/Compatible/Gradient/ToolbarSheet.png +0 -0
  277. package/treegrid/Compatible/Gradient/ToolbarSheetWide.gif +0 -0
  278. package/treegrid/Compatible/Gradient/ToolbarSheetWide.png +0 -0
  279. package/treegrid/Compatible/Gradient/Tree.gif +0 -0
  280. package/treegrid/Compatible/Gradient/TreeBottom.gif +0 -0
  281. package/treegrid/Compatible/Gradient/TreeMiddle.gif +0 -0
  282. package/treegrid/Compatible/Gradient/TreeNCollapse.gif +0 -0
  283. package/treegrid/Compatible/Gradient/TreeNDrag0.gif +0 -0
  284. package/treegrid/Compatible/Gradient/TreeNDrag1.gif +0 -0
  285. package/treegrid/Compatible/Gradient/TreeNDrag2.gif +0 -0
  286. package/treegrid/Compatible/Gradient/TreeNDrag3.gif +0 -0
  287. package/treegrid/Compatible/Gradient/TreeNExpand.gif +0 -0
  288. package/treegrid/Compatible/Gradient/TreeNWait.gif +0 -0
  289. package/treegrid/Compatible/Gradient/TreeRev.gif +0 -0
  290. package/treegrid/Compatible/Gradient/TreeRevBottom.gif +0 -0
  291. package/treegrid/Compatible/Gradient/TreeRevMiddle.gif +0 -0
  292. package/treegrid/Compatible/Gradient/VScroll.gif +0 -0
  293. package/treegrid/Compatible/Info.txt +3 -0
  294. package/treegrid/Compatible/Light/Backgrounds.gif +0 -0
  295. package/treegrid/Compatible/Light/Bool.gif +0 -0
  296. package/treegrid/Compatible/Light/Button.gif +0 -0
  297. package/treegrid/Compatible/Light/Dependencies.gif +0 -0
  298. package/treegrid/Compatible/Light/FastPanel1.gif +0 -0
  299. package/treegrid/Compatible/Light/FastPanel2.gif +0 -0
  300. package/treegrid/Compatible/Light/Filter.gif +0 -0
  301. package/treegrid/Compatible/Light/Gantt.css +1230 -0
  302. package/treegrid/Compatible/Light/Gantt.gif +0 -0
  303. package/treegrid/Compatible/Light/GanttLineA.gif +0 -0
  304. package/treegrid/Compatible/Light/GanttLineB.gif +0 -0
  305. package/treegrid/Compatible/Light/GanttLineC.gif +0 -0
  306. package/treegrid/Compatible/Light/GanttLineD.gif +0 -0
  307. package/treegrid/Compatible/Light/Grid.css +2769 -0
  308. package/treegrid/Compatible/Light/HScroll.png +0 -0
  309. package/treegrid/Compatible/Light/Menu.gif +0 -0
  310. package/treegrid/Compatible/Light/Pager.gif +0 -0
  311. package/treegrid/Compatible/Light/Panel.gif +0 -0
  312. package/treegrid/Compatible/Light/Sort.gif +0 -0
  313. package/treegrid/Compatible/Light/Toolbar.gif +0 -0
  314. package/treegrid/Compatible/Light/ToolbarGantt.gif +0 -0
  315. package/treegrid/Compatible/Light/ToolbarSheet.gif +0 -0
  316. package/treegrid/Compatible/Light/ToolbarSheetWide.gif +0 -0
  317. package/treegrid/Compatible/Light/Tree.gif +0 -0
  318. package/treegrid/Compatible/Light/TreeBottom.gif +0 -0
  319. package/treegrid/Compatible/Light/TreeMiddle.gif +0 -0
  320. package/treegrid/Compatible/Light/TreeNCollapse.gif +0 -0
  321. package/treegrid/Compatible/Light/TreeNDrag0.gif +0 -0
  322. package/treegrid/Compatible/Light/TreeNDrag1.gif +0 -0
  323. package/treegrid/Compatible/Light/TreeNDrag2.gif +0 -0
  324. package/treegrid/Compatible/Light/TreeNDrag3.gif +0 -0
  325. package/treegrid/Compatible/Light/TreeNExpand.gif +0 -0
  326. package/treegrid/Compatible/Light/TreeNWait.gif +0 -0
  327. package/treegrid/Compatible/Light/TreeRev.gif +0 -0
  328. package/treegrid/Compatible/Light/TreeRevBottom.gif +0 -0
  329. package/treegrid/Compatible/Light/TreeRevMiddle.gif +0 -0
  330. package/treegrid/Compatible/Light/VScroll.gif +0 -0
  331. package/treegrid/Compatible/Office/Backgrounds.gif +0 -0
  332. package/treegrid/Compatible/Office/Bool.gif +0 -0
  333. package/treegrid/Compatible/Office/Button.gif +0 -0
  334. package/treegrid/Compatible/Office/Dependencies.gif +0 -0
  335. package/treegrid/Compatible/Office/FastPanel1.gif +0 -0
  336. package/treegrid/Compatible/Office/FastPanel2.gif +0 -0
  337. package/treegrid/Compatible/Office/Filter.gif +0 -0
  338. package/treegrid/Compatible/Office/Gantt.css +1228 -0
  339. package/treegrid/Compatible/Office/Gantt.gif +0 -0
  340. package/treegrid/Compatible/Office/GanttLineA.gif +0 -0
  341. package/treegrid/Compatible/Office/GanttLineB.gif +0 -0
  342. package/treegrid/Compatible/Office/GanttLineC.gif +0 -0
  343. package/treegrid/Compatible/Office/GanttLineD.gif +0 -0
  344. package/treegrid/Compatible/Office/Grid.css +2770 -0
  345. package/treegrid/Compatible/Office/HScroll.png +0 -0
  346. package/treegrid/Compatible/Office/Menu.gif +0 -0
  347. package/treegrid/Compatible/Office/Pager.gif +0 -0
  348. package/treegrid/Compatible/Office/Panel.gif +0 -0
  349. package/treegrid/Compatible/Office/Sort.gif +0 -0
  350. package/treegrid/Compatible/Office/Toolbar.gif +0 -0
  351. package/treegrid/Compatible/Office/ToolbarGantt.gif +0 -0
  352. package/treegrid/Compatible/Office/ToolbarSheet.gif +0 -0
  353. package/treegrid/Compatible/Office/ToolbarSheetWide.gif +0 -0
  354. package/treegrid/Compatible/Office/Tree.gif +0 -0
  355. package/treegrid/Compatible/Office/TreeBottom.gif +0 -0
  356. package/treegrid/Compatible/Office/TreeMiddle.gif +0 -0
  357. package/treegrid/Compatible/Office/TreeNCollapse.gif +0 -0
  358. package/treegrid/Compatible/Office/TreeNDrag0.gif +0 -0
  359. package/treegrid/Compatible/Office/TreeNDrag1.gif +0 -0
  360. package/treegrid/Compatible/Office/TreeNDrag2.gif +0 -0
  361. package/treegrid/Compatible/Office/TreeNDrag3.gif +0 -0
  362. package/treegrid/Compatible/Office/TreeNExpand.gif +0 -0
  363. package/treegrid/Compatible/Office/TreeNWait.gif +0 -0
  364. package/treegrid/Compatible/Office/TreeRev.gif +0 -0
  365. package/treegrid/Compatible/Office/TreeRevBottom.gif +0 -0
  366. package/treegrid/Compatible/Office/TreeRevMiddle.gif +0 -0
  367. package/treegrid/Compatible/Office/VScroll.gif +0 -0
  368. package/treegrid/Compatible/Plain/Backgrounds.gif +0 -0
  369. package/treegrid/Compatible/Plain/Bool.gif +0 -0
  370. package/treegrid/Compatible/Plain/Button.gif +0 -0
  371. package/treegrid/Compatible/Plain/Dependencies.gif +0 -0
  372. package/treegrid/Compatible/Plain/FastPanel1.gif +0 -0
  373. package/treegrid/Compatible/Plain/FastPanel2.gif +0 -0
  374. package/treegrid/Compatible/Plain/Filter.gif +0 -0
  375. package/treegrid/Compatible/Plain/Gantt.css +1233 -0
  376. package/treegrid/Compatible/Plain/Gantt.gif +0 -0
  377. package/treegrid/Compatible/Plain/GanttLineA.gif +0 -0
  378. package/treegrid/Compatible/Plain/GanttLineB.gif +0 -0
  379. package/treegrid/Compatible/Plain/GanttLineC.gif +0 -0
  380. package/treegrid/Compatible/Plain/GanttLineD.gif +0 -0
  381. package/treegrid/Compatible/Plain/Grid.css +2767 -0
  382. package/treegrid/Compatible/Plain/HScroll.png +0 -0
  383. package/treegrid/Compatible/Plain/Menu.gif +0 -0
  384. package/treegrid/Compatible/Plain/Pager.gif +0 -0
  385. package/treegrid/Compatible/Plain/Pager.png +0 -0
  386. package/treegrid/Compatible/Plain/Panel.gif +0 -0
  387. package/treegrid/Compatible/Plain/Sort.gif +0 -0
  388. package/treegrid/Compatible/Plain/Toolbar.gif +0 -0
  389. package/treegrid/Compatible/Plain/Toolbar.png +0 -0
  390. package/treegrid/Compatible/Plain/ToolbarGantt.gif +0 -0
  391. package/treegrid/Compatible/Plain/ToolbarGantt.png +0 -0
  392. package/treegrid/Compatible/Plain/ToolbarSheet.gif +0 -0
  393. package/treegrid/Compatible/Plain/ToolbarSheet.png +0 -0
  394. package/treegrid/Compatible/Plain/ToolbarSheetWide.gif +0 -0
  395. package/treegrid/Compatible/Plain/ToolbarSheetWide.png +0 -0
  396. package/treegrid/Compatible/Plain/Tree.gif +0 -0
  397. package/treegrid/Compatible/Plain/TreeBottom.gif +0 -0
  398. package/treegrid/Compatible/Plain/TreeMiddle.gif +0 -0
  399. package/treegrid/Compatible/Plain/TreeNCollapse.gif +0 -0
  400. package/treegrid/Compatible/Plain/TreeNDrag0.gif +0 -0
  401. package/treegrid/Compatible/Plain/TreeNDrag1.gif +0 -0
  402. package/treegrid/Compatible/Plain/TreeNDrag2.gif +0 -0
  403. package/treegrid/Compatible/Plain/TreeNDrag3.gif +0 -0
  404. package/treegrid/Compatible/Plain/TreeNExpand.gif +0 -0
  405. package/treegrid/Compatible/Plain/TreeNWait.gif +0 -0
  406. package/treegrid/Compatible/Plain/TreeRev.gif +0 -0
  407. package/treegrid/Compatible/Plain/TreeRevBottom.gif +0 -0
  408. package/treegrid/Compatible/Plain/TreeRevMiddle.gif +0 -0
  409. package/treegrid/Compatible/Plain/VScroll.gif +0 -0
  410. package/treegrid/Compatible/Query/Backgrounds.gif +0 -0
  411. package/treegrid/Compatible/Query/BackgroundsGantt.gif +0 -0
  412. package/treegrid/Compatible/Query/Bool.gif +0 -0
  413. package/treegrid/Compatible/Query/Button.gif +0 -0
  414. package/treegrid/Compatible/Query/Dependencies.gif +0 -0
  415. package/treegrid/Compatible/Query/FastPanel1.gif +0 -0
  416. package/treegrid/Compatible/Query/FastPanel2.gif +0 -0
  417. package/treegrid/Compatible/Query/Filter.gif +0 -0
  418. package/treegrid/Compatible/Query/Gantt.css +1234 -0
  419. package/treegrid/Compatible/Query/Gantt.gif +0 -0
  420. package/treegrid/Compatible/Query/GanttLineA.gif +0 -0
  421. package/treegrid/Compatible/Query/GanttLineB.gif +0 -0
  422. package/treegrid/Compatible/Query/GanttLineC.gif +0 -0
  423. package/treegrid/Compatible/Query/GanttLineD.gif +0 -0
  424. package/treegrid/Compatible/Query/Grid.css +2772 -0
  425. package/treegrid/Compatible/Query/HScroll.png +0 -0
  426. package/treegrid/Compatible/Query/Menu.gif +0 -0
  427. package/treegrid/Compatible/Query/Pager.gif +0 -0
  428. package/treegrid/Compatible/Query/Panel.gif +0 -0
  429. package/treegrid/Compatible/Query/Sort.gif +0 -0
  430. package/treegrid/Compatible/Query/Toolbar.gif +0 -0
  431. package/treegrid/Compatible/Query/ToolbarGantt.gif +0 -0
  432. package/treegrid/Compatible/Query/ToolbarSheet.gif +0 -0
  433. package/treegrid/Compatible/Query/ToolbarSheetWide.gif +0 -0
  434. package/treegrid/Compatible/Query/Tree.gif +0 -0
  435. package/treegrid/Compatible/Query/TreeBottom.gif +0 -0
  436. package/treegrid/Compatible/Query/TreeMiddle.gif +0 -0
  437. package/treegrid/Compatible/Query/TreeNCollapse.gif +0 -0
  438. package/treegrid/Compatible/Query/TreeNDrag0.gif +0 -0
  439. package/treegrid/Compatible/Query/TreeNDrag1.gif +0 -0
  440. package/treegrid/Compatible/Query/TreeNDrag2.gif +0 -0
  441. package/treegrid/Compatible/Query/TreeNDrag3.gif +0 -0
  442. package/treegrid/Compatible/Query/TreeNExpand.gif +0 -0
  443. package/treegrid/Compatible/Query/TreeNWait.gif +0 -0
  444. package/treegrid/Compatible/Query/TreeRev.gif +0 -0
  445. package/treegrid/Compatible/Query/TreeRevBottom.gif +0 -0
  446. package/treegrid/Compatible/Query/TreeRevMiddle.gif +0 -0
  447. package/treegrid/Compatible/Query/VScroll.gif +0 -0
  448. package/treegrid/Compatible/Relief/Backgrounds.gif +0 -0
  449. package/treegrid/Compatible/Relief/Bool.gif +0 -0
  450. package/treegrid/Compatible/Relief/Button.gif +0 -0
  451. package/treegrid/Compatible/Relief/Dependencies.gif +0 -0
  452. package/treegrid/Compatible/Relief/FastPanel1.gif +0 -0
  453. package/treegrid/Compatible/Relief/FastPanel2.gif +0 -0
  454. package/treegrid/Compatible/Relief/Filter.gif +0 -0
  455. package/treegrid/Compatible/Relief/Gantt.css +1228 -0
  456. package/treegrid/Compatible/Relief/Gantt.gif +0 -0
  457. package/treegrid/Compatible/Relief/GanttLineA.gif +0 -0
  458. package/treegrid/Compatible/Relief/GanttLineB.gif +0 -0
  459. package/treegrid/Compatible/Relief/GanttLineC.gif +0 -0
  460. package/treegrid/Compatible/Relief/GanttLineD.gif +0 -0
  461. package/treegrid/Compatible/Relief/Grid.css +2773 -0
  462. package/treegrid/Compatible/Relief/HScroll.png +0 -0
  463. package/treegrid/Compatible/Relief/Menu.gif +0 -0
  464. package/treegrid/Compatible/Relief/Pager.gif +0 -0
  465. package/treegrid/Compatible/Relief/Panel.gif +0 -0
  466. package/treegrid/Compatible/Relief/Sort.gif +0 -0
  467. package/treegrid/Compatible/Relief/Toolbar.gif +0 -0
  468. package/treegrid/Compatible/Relief/ToolbarGantt.gif +0 -0
  469. package/treegrid/Compatible/Relief/ToolbarSheet.gif +0 -0
  470. package/treegrid/Compatible/Relief/ToolbarSheetWide.gif +0 -0
  471. package/treegrid/Compatible/Relief/Tree.gif +0 -0
  472. package/treegrid/Compatible/Relief/TreeBottom.gif +0 -0
  473. package/treegrid/Compatible/Relief/TreeMiddle.gif +0 -0
  474. package/treegrid/Compatible/Relief/TreeNCollapse.gif +0 -0
  475. package/treegrid/Compatible/Relief/TreeNDrag0.gif +0 -0
  476. package/treegrid/Compatible/Relief/TreeNDrag1.gif +0 -0
  477. package/treegrid/Compatible/Relief/TreeNDrag2.gif +0 -0
  478. package/treegrid/Compatible/Relief/TreeNDrag3.gif +0 -0
  479. package/treegrid/Compatible/Relief/TreeNExpand.gif +0 -0
  480. package/treegrid/Compatible/Relief/TreeNWait.gif +0 -0
  481. package/treegrid/Compatible/Relief/TreeRev.gif +0 -0
  482. package/treegrid/Compatible/Relief/TreeRevBottom.gif +0 -0
  483. package/treegrid/Compatible/Relief/TreeRevMiddle.gif +0 -0
  484. package/treegrid/Compatible/Relief/VScroll.gif +0 -0
  485. package/treegrid/Compatible/Round/Backgrounds.gif +0 -0
  486. package/treegrid/Compatible/Round/Bool.gif +0 -0
  487. package/treegrid/Compatible/Round/Button.gif +0 -0
  488. package/treegrid/Compatible/Round/Dependencies.gif +0 -0
  489. package/treegrid/Compatible/Round/FastPanel1.gif +0 -0
  490. package/treegrid/Compatible/Round/FastPanel2.gif +0 -0
  491. package/treegrid/Compatible/Round/Filter.gif +0 -0
  492. package/treegrid/Compatible/Round/Gantt.css +1233 -0
  493. package/treegrid/Compatible/Round/Gantt.gif +0 -0
  494. package/treegrid/Compatible/Round/GanttLineA.gif +0 -0
  495. package/treegrid/Compatible/Round/GanttLineB.gif +0 -0
  496. package/treegrid/Compatible/Round/GanttLineC.gif +0 -0
  497. package/treegrid/Compatible/Round/GanttLineD.gif +0 -0
  498. package/treegrid/Compatible/Round/Grid.css +2767 -0
  499. package/treegrid/Compatible/Round/HScroll.png +0 -0
  500. package/treegrid/Compatible/Round/Menu.gif +0 -0
  501. package/treegrid/Compatible/Round/Pager.gif +0 -0
  502. package/treegrid/Compatible/Round/Panel.gif +0 -0
  503. package/treegrid/Compatible/Round/Sort.gif +0 -0
  504. package/treegrid/Compatible/Round/Toolbar.gif +0 -0
  505. package/treegrid/Compatible/Round/ToolbarGantt.gif +0 -0
  506. package/treegrid/Compatible/Round/ToolbarSheet.gif +0 -0
  507. package/treegrid/Compatible/Round/ToolbarSheetWide.gif +0 -0
  508. package/treegrid/Compatible/Round/Tree.gif +0 -0
  509. package/treegrid/Compatible/Round/TreeBottom.gif +0 -0
  510. package/treegrid/Compatible/Round/TreeMiddle.gif +0 -0
  511. package/treegrid/Compatible/Round/TreeNCollapse.gif +0 -0
  512. package/treegrid/Compatible/Round/TreeNDrag0.gif +0 -0
  513. package/treegrid/Compatible/Round/TreeNDrag1.gif +0 -0
  514. package/treegrid/Compatible/Round/TreeNDrag2.gif +0 -0
  515. package/treegrid/Compatible/Round/TreeNDrag3.gif +0 -0
  516. package/treegrid/Compatible/Round/TreeNExpand.gif +0 -0
  517. package/treegrid/Compatible/Round/TreeNWait.gif +0 -0
  518. package/treegrid/Compatible/Round/TreeRev.gif +0 -0
  519. package/treegrid/Compatible/Round/TreeRevBottom.gif +0 -0
  520. package/treegrid/Compatible/Round/TreeRevMiddle.gif +0 -0
  521. package/treegrid/Compatible/Round/VScroll.gif +0 -0
  522. package/treegrid/Compatible/Sharp/ArrowDropDown.png +0 -0
  523. package/treegrid/Compatible/Sharp/Bool.gif +0 -0
  524. package/treegrid/Compatible/Sharp/BoolSpace.gif +0 -0
  525. package/treegrid/Compatible/Sharp/Button.gif +0 -0
  526. package/treegrid/Compatible/Sharp/ButtonSpace.gif +0 -0
  527. package/treegrid/Compatible/Sharp/Dependencies.gif +0 -0
  528. package/treegrid/Compatible/Sharp/FastPanel1.gif +0 -0
  529. package/treegrid/Compatible/Sharp/FastPanel2.gif +0 -0
  530. package/treegrid/Compatible/Sharp/Filter.gif +0 -0
  531. package/treegrid/Compatible/Sharp/Gantt.css +1232 -0
  532. package/treegrid/Compatible/Sharp/Gantt.gif +0 -0
  533. package/treegrid/Compatible/Sharp/GanttLineA.gif +0 -0
  534. package/treegrid/Compatible/Sharp/GanttLineB.gif +0 -0
  535. package/treegrid/Compatible/Sharp/GanttLineC.gif +0 -0
  536. package/treegrid/Compatible/Sharp/GanttLineD.gif +0 -0
  537. package/treegrid/Compatible/Sharp/Grid.css +2773 -0
  538. package/treegrid/Compatible/Sharp/HScroll.png +0 -0
  539. package/treegrid/Compatible/Sharp/Menu.gif +0 -0
  540. package/treegrid/Compatible/Sharp/Pager.png +0 -0
  541. package/treegrid/Compatible/Sharp/Panel.gif +0 -0
  542. package/treegrid/Compatible/Sharp/Roboto-Regular.ttf +0 -0
  543. package/treegrid/Compatible/Sharp/Sort.gif +0 -0
  544. package/treegrid/Compatible/Sharp/Toolbar.png +0 -0
  545. package/treegrid/Compatible/Sharp/ToolbarGantt.png +0 -0
  546. package/treegrid/Compatible/Sharp/ToolbarSheet.png +0 -0
  547. package/treegrid/Compatible/Sharp/ToolbarSheetWide.png +0 -0
  548. package/treegrid/Compatible/Sharp/Tree.gif +0 -0
  549. package/treegrid/Compatible/Sharp/TreeBottom.gif +0 -0
  550. package/treegrid/Compatible/Sharp/TreeMiddle.gif +0 -0
  551. package/treegrid/Compatible/Sharp/TreeNCollapse.gif +0 -0
  552. package/treegrid/Compatible/Sharp/TreeNDrag0.gif +0 -0
  553. package/treegrid/Compatible/Sharp/TreeNDrag1.gif +0 -0
  554. package/treegrid/Compatible/Sharp/TreeNDrag2.gif +0 -0
  555. package/treegrid/Compatible/Sharp/TreeNDrag3.gif +0 -0
  556. package/treegrid/Compatible/Sharp/TreeNExpand.gif +0 -0
  557. package/treegrid/Compatible/Sharp/TreeNWait.gif +0 -0
  558. package/treegrid/Compatible/Sharp/VScroll.gif +0 -0
  559. package/treegrid/Defaults.xml +728 -0
  560. package/treegrid/Defaults.xml_.xml +718 -0
  561. package/treegrid/Ding.wav +0 -0
  562. package/treegrid/Drag.cur +0 -0
  563. package/treegrid/External/jszip.license.txt +10 -0
  564. package/treegrid/External/jszip.min.js +15 -0
  565. package/treegrid/External/jszip.min.sync.js +14 -0
  566. package/treegrid/GridE.js +45 -0
  567. package/treegrid/GridEOnDemand.js +53 -0
  568. package/treegrid/Help.html +536 -0
  569. package/treegrid/NoDrag.cur +0 -0
  570. package/treegrid/Styles/BlackGantt.css +887 -0
  571. package/treegrid/Styles/BlackGrid.css +1940 -0
  572. package/treegrid/Styles/Info.txt +6 -0
  573. package/treegrid/Styles/MaterialGantt.css +845 -0
  574. package/treegrid/Styles/MaterialGrid.css +1978 -0
  575. package/treegrid/Styles/Roboto-Light.ttf +0 -0
  576. package/treegrid/Styles/Roboto-Regular.ttf +0 -0
  577. package/treegrid/Styles/StandardGantt.css +891 -0
  578. package/treegrid/Styles/StandardGrid.css +1923 -0
  579. package/treegrid/Styles/TurqGantt.css +880 -0
  580. package/treegrid/Styles/TurqGrid.css +1980 -0
  581. package/treegrid/Styles/WhiteGantt.css +1021 -0
  582. package/treegrid/Styles/WhiteGrid.css +1911 -0
  583. package/treegrid/Text.xml +176 -0
  584. package/treegrid/TextEN.xml +1785 -0
  585. package/treegrid/TextKR.xml +176 -0
  586. package/treegrid/orgDefaults.xml +715 -0
  587. package/treegrid-global.d.ts +3294 -4904
  588. package/vite/owpCoreAssetsPlugin.cjs +120 -0
  589. package/vite/owpCoreAssetsPlugin.mjs +14 -0
  590. package/vite/owpCoreFixedImagesPlugin.cjs +33 -0
  591. package/vite/owpCoreFixedImagesPlugin.mjs +11 -0
  592. package/vite/staticAssetPlugin.cjs +187 -0
  593. package/vite/treeGridAssetsPlugin.cjs +88 -0
  594. package/vite/treeGridAssetsPlugin.mjs +12 -0
  595. package/dist/components/OwpTable/OwpVerticalTable.js +0 -96
  596. package/dist/components/OwpTable/OwpVerticalTable.js.map +0 -1
  597. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/controls/html-contenteditable-mask-element.js +0 -39
  598. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/controls/html-contenteditable-mask-element.js.map +0 -1
  599. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/controls/html-input-mask-element.js +0 -36
  600. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/controls/html-input-mask-element.js.map +0 -1
  601. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/controls/html-mask-element.js +0 -52
  602. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/controls/html-mask-element.js.map +0 -1
  603. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/controls/input-history.js +0 -35
  604. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/controls/input-history.js.map +0 -1
  605. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/controls/input.js +0 -227
  606. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/controls/input.js.map +0 -1
  607. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/controls/mask-element.js +0 -48
  608. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/controls/mask-element.js.map +0 -1
  609. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/core/action-details.js +0 -56
  610. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/core/action-details.js.map +0 -1
  611. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/core/change-details.js +0 -41
  612. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/core/change-details.js.map +0 -1
  613. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/core/continuous-tail-details.js +0 -47
  614. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/core/continuous-tail-details.js.map +0 -1
  615. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/core/holder.js +0 -10
  616. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/core/holder.js.map +0 -1
  617. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/core/utils.js +0 -76
  618. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/core/utils.js.map +0 -1
  619. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/index.js +0 -51
  620. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/index.js.map +0 -1
  621. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/masked/base.js +0 -257
  622. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/masked/base.js.map +0 -1
  623. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/masked/date.js +0 -121
  624. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/masked/date.js.map +0 -1
  625. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/masked/dynamic.js +0 -227
  626. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/masked/dynamic.js.map +0 -1
  627. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/masked/enum.js +0 -74
  628. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/masked/enum.js.map +0 -1
  629. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/masked/factory.js +0 -52
  630. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/masked/factory.js.map +0 -1
  631. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/masked/function.js +0 -28
  632. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/masked/function.js.map +0 -1
  633. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/masked/number.js +0 -217
  634. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/masked/number.js.map +0 -1
  635. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/masked/pattern/chunk-tail-details.js +0 -108
  636. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/masked/pattern/chunk-tail-details.js.map +0 -1
  637. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/masked/pattern/cursor.js +0 -105
  638. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/masked/pattern/cursor.js.map +0 -1
  639. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/masked/pattern/fixed-definition.js +0 -107
  640. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/masked/pattern/fixed-definition.js.map +0 -1
  641. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/masked/pattern/input-definition.js +0 -138
  642. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/masked/pattern/input-definition.js.map +0 -1
  643. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/masked/pattern.js +0 -327
  644. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/masked/pattern.js.map +0 -1
  645. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/masked/pipe.js +0 -28
  646. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/masked/pipe.js.map +0 -1
  647. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/masked/range.js +0 -83
  648. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/masked/range.js.map +0 -1
  649. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/masked/regexp.js +0 -26
  650. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/masked/regexp.js.map +0 -1
  651. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/masked/repeat.js +0 -109
  652. package/dist/node_modules/.pnpm/imask@7.6.1/node_modules/imask/esm/masked/repeat.js.map +0 -1
  653. package/dist/node_modules/.pnpm/react-imask@7.6.1_react@19.2.4/node_modules/react-imask/esm/input.js +0 -28
  654. package/dist/node_modules/.pnpm/react-imask@7.6.1_react@19.2.4/node_modules/react-imask/esm/input.js.map +0 -1
  655. package/dist/node_modules/.pnpm/react-imask@7.6.1_react@19.2.4/node_modules/react-imask/esm/mixin.js +0 -136
  656. package/dist/node_modules/.pnpm/react-imask@7.6.1_react@19.2.4/node_modules/react-imask/esm/mixin.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"OwpDataTable.js","sources":["../../../src/components/OwpTable/OwpDataTable.tsx"],"sourcesContent":["import { Divider, TextField, Typography, TypographyProps } from '@mui/material';\nimport Checkbox, { checkboxClasses } from '@mui/material/Checkbox';\nimport { grey } from '@mui/material/colors';\nimport GlobalStyles from '@mui/material/GlobalStyles';\nimport Paper from '@mui/material/Paper';\nimport Table from '@mui/material/Table';\nimport TableBody from '@mui/material/TableBody';\nimport TableCell, { TableCellProps } from '@mui/material/TableCell';\nimport TableContainer, { TableContainerProps } from '@mui/material/TableContainer';\nimport TableHead from '@mui/material/TableHead';\nimport TableRow from '@mui/material/TableRow';\nimport TableSortLabel from '@mui/material/TableSortLabel';\nimport { SxProps, Theme } from '@mui/material/styles';\nimport { isArray, isBoolean, isEmpty, isEqual, isNumber, uniqueId } from 'es-toolkit/compat';\nimport { ChangeEvent, MouseEvent, ReactNode, useEffect, useMemo, useRef, useState } from 'react';\nimport { OwpNumberField } from '../OwpNumberField';\n\ntype Row = object;\ntype TableCellAlign = NonNullable<TableCellProps['align']>;\n\ninterface HeadCell {\n enablePadding?: boolean;\n id: string;\n label: string;\n sx?: TypographyProps['sx'];\n inputLabel?: string;\n rangeKey?: string;\n rangeLabel?: { start: string; end: string };\n align?: string;\n valueAlign?: string;\n canTextField?: boolean;\n textFieldType?: string;\n}\n\ninterface DataTableHeadProps {\n sx?: TableCellProps['sx'];\n headCells: HeadCell[];\n numSelected: number;\n onRequestSort: (event: MouseEvent<unknown>, property: string) => void;\n onSelectAllClick: (event: ChangeEvent<HTMLInputElement>) => void;\n order: Order;\n orderBy: string;\n rowCount: number;\n canCheckbox?: boolean;\n canUseOrderBy?: boolean;\n canTableRadiusZero?: boolean;\n canUseTreeGridStyle?: boolean;\n}\n\ninterface OwpDataTableProps<T extends Row = Row> {\n className?: string;\n sx?: TableContainerProps['sx'];\n headSx?: TableCellProps['sx'];\n headCells: HeadCell[];\n rows?: T[];\n canCheckbox?: boolean;\n canTotalCountRow?: boolean;\n selected?: T[];\n onSelect?: (rows: T[] | []) => void;\n onBlur?: (evt: OwpDataTableBlurEvent, dataIndex: number) => void;\n canSelectingSingle?: boolean;\n canUseOrderBy?: boolean;\n canTableRadiusZero?: boolean;\n canUseTreeGridStyle?: boolean;\n fixedRowCount?: number;\n}\n\nconst defaultHeadCellsSx = {\n bgcolor: '#586980',\n borderTopLeftRadius: 'inherit',\n borderTopRightRadius: 'inherit',\n} as const;\n\nconst headerBorderRight = {\n borderRight: `1px solid ${grey['A200']}`,\n};\n\nconst rowBorderRight = {\n borderRight: `1px solid ${grey[400]}`,\n};\n\nconst defaultSortLabelSx = {\n '&.MuiTableSortLabel-root': {\n color: grey['A100'],\n },\n '&.MuiTableSortLabel-root:hover': {\n color: grey['A100'],\n },\n '&.Mui-active': {\n color: grey['A100'],\n },\n '& .MuiTableSortLabel-icon': {\n color: `${grey['A100']} !important`,\n },\n} as const;\n\nconst tableRadiusZeroSx = {\n borderRadius: 0,\n} as const;\n\nconst lastRowRadiusZeroSx = {\n '& > th, & > td': {\n borderBottomLeftRadius: 0,\n borderBottomRightRadius: 0,\n },\n} as const;\n\nconst treeGridFontSx = {\n fontFamily: 'RobotoLight, sans-serif',\n fontSize: '14px',\n fontWeight: 'normal',\n lineHeight: '16px',\n} as const;\n\nconst treeGridCellBaseSx = {\n ...treeGridFontSx,\n boxSizing: 'border-box',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n verticalAlign: 'middle',\n whiteSpace: 'nowrap',\n} as const;\n\nconst treeGridHeaderCellSx = {\n ...treeGridCellBaseSx,\n bgcolor: '#586980',\n borderBottom: '1px solid #6F7F94',\n borderRight: '1px solid #6F7F94',\n color: 'white',\n height: 33,\n minHeight: 33,\n p: '7px 2px 6px 10px',\n} as const;\n\nconst treeGridSortLabelSx = {\n '&.MuiTableSortLabel-root': {\n color: 'inherit',\n display: 'flex',\n fontFamily: 'inherit',\n fontSize: 'inherit',\n fontWeight: 'inherit',\n justifyContent: 'center',\n lineHeight: 'inherit',\n overflow: 'hidden',\n position: 'relative',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n width: '100%',\n },\n '&.MuiTableSortLabel-root:hover': {\n color: 'inherit',\n },\n '&.Mui-active': {\n color: 'inherit',\n },\n '& .MuiTableSortLabel-icon': {\n color: 'currentColor !important',\n margin: 0,\n position: 'absolute',\n right: 0,\n },\n} as const;\n\nconst treeGridBodyCellSx = {\n ...treeGridCellBaseSx,\n borderBottom: '1px solid #CDD8E4',\n borderRight: '1px solid #CDD8E4',\n color: '#111112',\n p: '7px 10px 6px',\n} as const;\n\nconst treeGridFontFaceStyles = {\n '@font-face': {\n fontFamily: 'RobotoLight',\n fontStyle: 'normal',\n fontWeight: 'normal',\n src: \"url('/assets/vendors/Grid/Styles/Roboto-Light.ttf') format('truetype')\",\n },\n} as const;\n\n/**\n * sx 병합 유틸\n * @param styles 병합 대상 sx 목록\n */\nconst mergeSx = (...styles: Array<SxProps<Theme> | undefined | false>): SxProps<Theme> =>\n styles.reduce<Array<Exclude<SxProps<Theme>, readonly unknown[]>>>((acc, style) => {\n if (!style) {\n return acc;\n }\n\n return [...acc, ...(isArray(style) ? style : [style])];\n }, []) as SxProps<Theme>;\n\n/**\n * 고정 row 수 계산\n * @param fixedRowCount 고정 row 수\n */\nconst getFixedRowCount = (fixedRowCount?: number) => {\n if (!isNumber(fixedRowCount) || fixedRowCount < 1) {\n return undefined;\n }\n\n return fixedRowCount;\n};\n\n/**\n * 빈 row 목록 생성\n * @param count 생성 수\n */\nconst createEmptyRows = (count: number) => Array.from({ length: count }, () => ({}) as Row);\n\n/**\n * TableCell align 정규화\n * @param align align 값\n * @param fallback 기본 align 값\n */\nconst getTableCellAlign = (align: string | undefined, fallback: TableCellAlign): TableCellAlign => {\n switch (align) {\n case 'center':\n case 'right':\n case 'left':\n case 'inherit':\n case 'justify':\n return align;\n default:\n return fallback;\n }\n};\n\n/**\n * row 값 조회\n * @param row row 값\n * @param key 조회 key\n */\nconst getRowValue = (row: Row, key?: string) => {\n if (!key) {\n return undefined;\n }\n\n return (row as Record<string, unknown>)?.[key];\n};\n\nconst getComparableValue = (value: unknown) => {\n if (typeof value === 'string' || isNumber(value)) {\n return value;\n }\n\n return undefined;\n};\n\nfunction descendingComparator(a: Row, b: Row, orderBy: string) {\n const aValue = getComparableValue(getRowValue(a, orderBy));\n const bValue = getComparableValue(getRowValue(b, orderBy));\n\n if (bValue == null && aValue == null) {\n return 0;\n }\n if (bValue == null) {\n return -1;\n }\n if (aValue == null) {\n return 1;\n }\n if (bValue < aValue) {\n return -1;\n }\n if (bValue > aValue) {\n return 1;\n }\n return 0;\n}\n\ntype Order = 'asc' | 'desc';\ntype OwpDataTableBlurEvent = Record<string, unknown> & {\n target: {\n value: string | number | undefined;\n };\n};\n\nfunction getComparator(order: Order, orderBy: string): (a: Row, b: Row) => number {\n return order === 'desc'\n ? (a, b) => descendingComparator(a, b, orderBy)\n : (a, b) => -descendingComparator(a, b, orderBy);\n}\n\ntype RowRangeValue = {\n start?: string | number;\n end?: string | number;\n};\n\nconst getRowRangeValue = (row: Row, rangeKey?: string) => {\n if (!rangeKey) {\n return undefined;\n }\n\n return getRowValue(row, rangeKey) as RowRangeValue | undefined;\n};\n\nconst getRangeLabel = (row: Row, cell: HeadCell) => {\n if (!(cell.inputLabel ?? cell.rangeKey)) {\n return '';\n }\n\n const rangeValue = getRowRangeValue(row, cell.rangeKey);\n\n return `${cell.rangeLabel?.start ? `${cell.rangeLabel?.start}: ` : ''}${rangeValue?.start} ~ ${cell.rangeLabel?.end ? `${cell.rangeLabel?.end}: ` : ''}${rangeValue?.end}`;\n};\n\nconst getRowTabIndex = (row: Row, fallbackIndex: number) => {\n const rowIndex = getRowValue(row, 'index');\n\n return isNumber(rowIndex) ? rowIndex : fallbackIndex;\n};\n\nconst getEditableCellSx = (valueAlign?: HeadCell['valueAlign']) => ({\n '& input': {\n textAlign: valueAlign ?? 'center',\n },\n height: 34,\n});\n\nfunction DataTableHead(props: DataTableHeadProps) {\n const {\n sx,\n headCells,\n onSelectAllClick,\n order,\n orderBy,\n numSelected,\n rowCount,\n onRequestSort,\n canCheckbox,\n canUseOrderBy = true,\n canTableRadiusZero,\n canUseTreeGridStyle,\n } = props;\n const createSortHandler = (property: string) => (event: MouseEvent<unknown>) => {\n onRequestSort(event, property);\n };\n\n return (\n <TableHead sx={mergeSx(canTableRadiusZero && tableRadiusZeroSx)}>\n <TableRow\n sx={mergeSx(canUseTreeGridStyle && { height: 33 }, canTableRadiusZero && tableRadiusZeroSx)}\n >\n {canCheckbox && (\n <TableCell\n padding=\"checkbox\"\n className=\"text-white\"\n sx={mergeSx(\n {\n ...defaultHeadCellsSx,\n ...headerBorderRight,\n },\n canUseTreeGridStyle && treeGridHeaderCellSx,\n canTableRadiusZero && tableRadiusZeroSx,\n sx,\n )}\n >\n <Checkbox\n color=\"default\"\n sx={mergeSx(\n {\n [`&, &.${checkboxClasses.checked}`]: {\n color: grey[50],\n },\n },\n canUseTreeGridStyle && { p: 0 },\n )}\n indeterminate={numSelected > 0 && numSelected < rowCount}\n checked={rowCount > 0 && numSelected === rowCount}\n onChange={onSelectAllClick}\n />\n </TableCell>\n )}\n {headCells.map((headCell, index) => (\n <TableCell\n className={canUseTreeGridStyle ? undefined : 'pl-20'}\n key={headCell.id}\n align={getTableCellAlign(headCell.align, 'center')}\n padding={headCell.enablePadding ? 'normal' : 'none'}\n sortDirection={orderBy === headCell.id ? order : false}\n sx={mergeSx(\n {\n ...defaultHeadCellsSx,\n ...(headCells.length - 1 !== index && headerBorderRight),\n },\n canUseTreeGridStyle && treeGridHeaderCellSx,\n canTableRadiusZero && tableRadiusZeroSx,\n sx,\n canUseTreeGridStyle && headCell?.sx,\n )}\n >\n {canUseOrderBy ? (\n <TableSortLabel\n sx={canUseTreeGridStyle ? treeGridSortLabelSx : defaultSortLabelSx}\n active={orderBy === headCell.id}\n direction={orderBy === headCell.id ? order : 'asc'}\n onClick={createSortHandler(headCell.id)}\n >\n {canUseTreeGridStyle ? (\n headCell.label\n ) : (\n <Typography className=\"text-white text-lg font-medium\" sx={headCell?.sx}>\n {headCell.label}\n </Typography>\n )}\n </TableSortLabel>\n ) : canUseTreeGridStyle ? (\n headCell.label\n ) : (\n <Typography className=\"text-white text-lg font-medium\" sx={headCell?.sx}>\n {headCell.label}\n </Typography>\n )}\n </TableCell>\n ))}\n </TableRow>\n </TableHead>\n );\n}\n\n/**\n * OwpDataTable 컴포넌트\n * @param className CSS 클래스명\n * @param sx sx 값\n * @param headSx headSx 값\n * @param headCells headCells 값\n * @param rows 행 데이터 목록\n * @param selected selected 값\n * @param canTableRadiusZero 테이블 radius 0 사용 여부\n * @param canUseTreeGridStyle TreeGrid 스타일 사용 여부\n * @param fixedRowCount 고정 row 수\n */\nexport function OwpDataTable<T extends Row = Row>({\n className,\n sx,\n headSx,\n headCells,\n rows,\n selected,\n canCheckbox,\n canTotalCountRow,\n canSelectingSingle,\n canUseOrderBy = true,\n canTableRadiusZero = false,\n canUseTreeGridStyle = false,\n fixedRowCount,\n onSelect,\n onBlur,\n}: OwpDataTableProps<T>) {\n const [order, setOrder] = useState<Order>('asc');\n const [orderBy, setOrderBy] = useState<string>('');\n const [selectedRows, setSelectedRows] = useState<T[] | []>([]);\n const tableIdRef = useRef(uniqueId('owp-data-table'));\n const useFixedRowCount = useMemo(() => getFixedRowCount(fixedRowCount), [fixedRowCount]);\n const resolvedRows = useMemo(() => {\n const nextRows = isArray(rows) ? rows : [];\n\n return useFixedRowCount ? nextRows.slice(0, useFixedRowCount) : nextRows;\n }, [rows, useFixedRowCount]);\n const resolvedHeadCells = useMemo(() => headCells ?? [], [headCells]);\n const useCheckBox = isBoolean(canCheckbox) ? canCheckbox : true;\n const useTotalCountRow = isBoolean(canTotalCountRow) ? canTotalCountRow : true;\n\n useEffect(() => {\n if (!isEmpty(selected)) {\n setSelectedRows(selected);\n }\n }, [selected]);\n\n useEffect(() => {\n onSelect?.(selectedRows);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedRows]);\n\n const handleRequestSort = (_: MouseEvent<unknown>, property: string) => {\n const isAsc = orderBy === property && order === 'asc';\n setOrder(isAsc ? 'desc' : 'asc');\n setOrderBy(property);\n };\n\n const handleSelectAllClick = (event: ChangeEvent<HTMLInputElement>) => {\n if (event.target.checked) {\n setSelectedRows(resolvedRows);\n return;\n }\n setSelectedRows([]);\n };\n\n const handleClick = (_: MouseEvent<unknown>, row: T) => {\n if (canSelectingSingle) {\n setSelectedRows([row]);\n return;\n }\n setSelectedRows((prev: T[]) => {\n const isIncluded = !!prev.find((item) => isEqual(item, row));\n return isIncluded ? prev?.filter((item: T) => !isEqual(item, row)) : [...prev, row];\n });\n };\n\n const visibleRows = useMemo(\n () => [...resolvedRows].sort(getComparator(order, orderBy)),\n [order, orderBy, resolvedRows],\n );\n const displayRows = useMemo(() => {\n if (!useFixedRowCount || visibleRows.length >= useFixedRowCount) {\n return visibleRows;\n }\n\n return [...visibleRows, ...createEmptyRows(useFixedRowCount - visibleRows.length)];\n }, [useFixedRowCount, visibleRows]);\n\n return (\n <Paper\n className={className}\n sx={mergeSx({ width: '100%' }, canTableRadiusZero && tableRadiusZeroSx)}\n >\n {canUseTreeGridStyle && <GlobalStyles styles={treeGridFontFaceStyles} />}\n <TableContainer\n sx={mergeSx(\n { height: useFixedRowCount ? 'auto' : 500, borderRadius: 2 },\n useFixedRowCount && { overflowY: 'hidden' },\n canTableRadiusZero && tableRadiusZeroSx,\n sx,\n )}\n >\n <Table\n stickyHeader={!canUseTreeGridStyle}\n sx={mergeSx({ minWidth: 200 }, canTableRadiusZero && tableRadiusZeroSx)}\n aria-labelledby=\"owp-data-table\"\n >\n <DataTableHead\n sx={headSx}\n headCells={resolvedHeadCells}\n numSelected={selectedRows.length}\n order={order}\n orderBy={orderBy}\n onSelectAllClick={handleSelectAllClick}\n canCheckbox={!canSelectingSingle && useCheckBox}\n canUseOrderBy={canUseOrderBy}\n canTableRadiusZero={canTableRadiusZero}\n canUseTreeGridStyle={canUseTreeGridStyle}\n onRequestSort={handleRequestSort}\n rowCount={resolvedRows.length}\n />\n <TableBody sx={mergeSx(canTableRadiusZero && tableRadiusZeroSx)}>\n {displayRows.map((row, index) => {\n const isItemSelected = selectedRows.some((item) => isEqual(item, row));\n const isLastRow = displayRows.length - 1 === index;\n const isPlaceholderRow = useFixedRowCount ? index >= visibleRows.length : false;\n const labelId = `${tableIdRef.current}-${index}`;\n\n return (\n <TableRow\n hover\n role={canUseTreeGridStyle ? undefined : 'checkbox'}\n aria-checked={canUseTreeGridStyle ? undefined : isItemSelected}\n tabIndex={-1}\n key={`${labelId}-row-${index}`}\n selected={isItemSelected}\n sx={mergeSx(\n { cursor: isPlaceholderRow ? 'default' : 'pointer' },\n canUseTreeGridStyle && { height: 30 },\n canTableRadiusZero && tableRadiusZeroSx,\n canTableRadiusZero && isLastRow && lastRowRadiusZeroSx,\n )}\n >\n {useCheckBox && (\n <TableCell\n padding=\"checkbox\"\n onClick={(event) => {\n if (!isPlaceholderRow) {\n handleClick(event, row as T);\n }\n }}\n sx={mergeSx(\n rowBorderRight,\n canUseTreeGridStyle && treeGridBodyCellSx,\n canTableRadiusZero && tableRadiusZeroSx,\n )}\n >\n <Checkbox\n color=\"default\"\n checked={isItemSelected}\n disabled={isPlaceholderRow}\n sx={mergeSx(canUseTreeGridStyle && { p: 0 })}\n />\n </TableCell>\n )}\n {resolvedHeadCells.map((cell, cellIndex) => {\n const _key = `${labelId}-row-${index}-cell-${cellIndex}`;\n const rangeLabel = getRangeLabel(row, cell);\n const rowTabIndex = getRowTabIndex(row, index);\n const cellValue = getRowValue(row, String(cell?.id));\n if (cellIndex === 0) {\n return (\n <TableCell\n className={canUseTreeGridStyle ? undefined : 'px-4'}\n key={_key}\n component={canUseTreeGridStyle ? 'td' : 'th'}\n id={labelId}\n scope={canUseTreeGridStyle ? undefined : 'row'}\n padding=\"none\"\n role={canUseTreeGridStyle ? 'cell' : undefined}\n align={getTableCellAlign(cell.valueAlign, 'left')}\n sx={mergeSx(\n resolvedHeadCells.length > 1 && rowBorderRight,\n canUseTreeGridStyle && treeGridBodyCellSx,\n canTableRadiusZero && tableRadiusZeroSx,\n )}\n >\n {cellValue as ReactNode}\n </TableCell>\n );\n }\n\n return (\n <TableCell\n className={canUseTreeGridStyle ? undefined : 'px-4'}\n key={_key}\n role={canUseTreeGridStyle ? 'cell' : undefined}\n align={getTableCellAlign(cell.valueAlign, 'left')}\n sx={mergeSx(\n resolvedHeadCells.length - 1 !== cellIndex && rowBorderRight,\n canUseTreeGridStyle && treeGridBodyCellSx,\n canTableRadiusZero && tableRadiusZeroSx,\n )}\n >\n {cell?.canTextField ? (\n cell?.textFieldType === 'number' ? (\n <OwpNumberField\n variant=\"standard\"\n decimalScale={2}\n label={rangeLabel}\n fullWidth\n size=\"small\"\n sx={getEditableCellSx(cell?.valueAlign)}\n slotProps={{\n input: {\n tabIndex: rowTabIndex,\n },\n inputLabel: {\n shrink: true,\n },\n }}\n isAllowed={(values) => {\n const { floatValue } = values;\n const end = getRowRangeValue(row, cell?.rangeKey)?.end;\n\n if (isNumber(floatValue) && isNumber(end)) {\n return floatValue <= end;\n }\n\n return true;\n }}\n value={cellValue as string | number | undefined}\n onBlur={(evt) => {\n const start = getRowRangeValue(row, cell?.rangeKey)?.start;\n const nextValue = evt.target.value?.replace(/,/g, '');\n\n onBlur?.(\n {\n ...evt,\n target: {\n ...evt.target,\n value:\n isNumber(start) && nextValue !== ''\n ? Number(start > Number(nextValue) ? start : nextValue)\n : nextValue,\n },\n },\n rowTabIndex,\n );\n }}\n />\n ) : (\n <TextField\n variant=\"standard\"\n label={rangeLabel}\n fullWidth\n size=\"small\"\n sx={getEditableCellSx(cell?.valueAlign)}\n slotProps={{\n input: {\n tabIndex: rowTabIndex,\n },\n inputLabel: {\n shrink: true,\n },\n }}\n type={cell?.textFieldType ?? 'text'}\n defaultValue={\n cellValue as string | number | readonly string[] | undefined\n }\n onBlur={(evt) =>\n onBlur?.(\n { ...evt, target: { ...evt.target, value: evt.target.value } },\n rowTabIndex,\n )\n }\n />\n )\n ) : (\n (cellValue as ReactNode)\n )}\n </TableCell>\n );\n })}\n </TableRow>\n );\n })}\n </TableBody>\n </Table>\n </TableContainer>\n {useTotalCountRow && <Divider sx={mergeSx(canTableRadiusZero && tableRadiusZeroSx)} />}\n {useTotalCountRow && (\n <Typography\n className=\"w-full py-8 pr-12\"\n align=\"right\"\n sx={mergeSx(canTableRadiusZero && tableRadiusZeroSx)}\n >\n 전체: {resolvedRows.length.toLocaleString()} 건\n </Typography>\n )}\n </Paper>\n );\n}\n"],"names":["defaultHeadCellsSx","headerBorderRight","grey","rowBorderRight","defaultSortLabelSx","tableRadiusZeroSx","lastRowRadiusZeroSx","treeGridFontSx","treeGridCellBaseSx","treeGridHeaderCellSx","treeGridSortLabelSx","treeGridBodyCellSx","treeGridFontFaceStyles","mergeSx","__name","styles","acc","style","isArray","getFixedRowCount","fixedRowCount","isNumber","createEmptyRows","count","getTableCellAlign","align","fallback","getRowValue","row","key","getComparableValue","value","descendingComparator","a","b","orderBy","aValue","bValue","getComparator","order","getRowRangeValue","rangeKey","getRangeLabel","cell","rangeValue","_a","_b","_c","_d","getRowTabIndex","fallbackIndex","rowIndex","getEditableCellSx","valueAlign","DataTableHead","props","sx","headCells","onSelectAllClick","numSelected","rowCount","onRequestSort","canCheckbox","canUseOrderBy","canTableRadiusZero","canUseTreeGridStyle","createSortHandler","property","event","TableHead","jsxs","TableRow","jsx","TableCell","Checkbox","checkboxClasses","headCell","index","TableSortLabel","Typography","OwpDataTable","className","headSx","rows","selected","canTotalCountRow","canSelectingSingle","onSelect","onBlur","setOrder","useState","setOrderBy","selectedRows","setSelectedRows","tableIdRef","useRef","uniqueId","useFixedRowCount","useMemo","resolvedRows","nextRows","resolvedHeadCells","useCheckBox","isBoolean","useTotalCountRow","useEffect","isEmpty","handleRequestSort","_","handleSelectAllClick","handleClick","prev","item","isEqual","visibleRows","displayRows","Paper","GlobalStyles","TableContainer","Table","TableBody","isItemSelected","isLastRow","isPlaceholderRow","labelId","cellIndex","_key","rangeLabel","rowTabIndex","cellValue","OwpNumberField","values","floatValue","end","evt","start","nextValue","TextField","Divider"],"mappings":"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"}
1
+ {"version":3,"file":"OwpDataTable.js","sources":["../../../src/components/OwpTable/OwpDataTable.tsx"],"sourcesContent":["import {\n getTreeGridFontFaceStyles,\n TREEGRID_FONT_FAMILY_STACK,\n} from '@/constants/treeGrid';\nimport { Divider, TextField, Typography, TypographyProps } from '@mui/material';\nimport Checkbox, { checkboxClasses } from '@mui/material/Checkbox';\nimport { grey } from '@mui/material/colors';\nimport GlobalStyles from '@mui/material/GlobalStyles';\nimport Paper from '@mui/material/Paper';\nimport Table from '@mui/material/Table';\nimport TableBody from '@mui/material/TableBody';\nimport TableCell, { TableCellProps } from '@mui/material/TableCell';\nimport TableContainer, { TableContainerProps } from '@mui/material/TableContainer';\nimport TableHead from '@mui/material/TableHead';\nimport TableRow from '@mui/material/TableRow';\nimport TableSortLabel from '@mui/material/TableSortLabel';\nimport { SxProps, Theme } from '@mui/material/styles';\nimport { isArray, isBoolean, isEmpty, isEqual, isNumber, uniqueId } from 'es-toolkit/compat';\nimport { ChangeEvent, MouseEvent, ReactNode, useEffect, useMemo, useRef, useState } from 'react';\nimport { OwpNumberField } from '../OwpNumberField';\n\ntype Row = object;\ntype TableCellAlign = NonNullable<TableCellProps['align']>;\n\ninterface HeadCell {\n enablePadding?: boolean;\n id: string;\n label: string;\n sx?: TypographyProps['sx'];\n inputLabel?: string;\n rangeKey?: string;\n rangeLabel?: { start: string; end: string };\n align?: string;\n valueAlign?: string;\n canTextField?: boolean;\n textFieldType?: string;\n}\n\ninterface DataTableHeadProps {\n sx?: TableCellProps['sx'];\n headCells: HeadCell[];\n numSelected: number;\n onRequestSort: (event: MouseEvent<unknown>, property: string) => void;\n onSelectAllClick: (event: ChangeEvent<HTMLInputElement>) => void;\n order: Order;\n orderBy: string;\n rowCount: number;\n canCheckbox?: boolean;\n canUseOrderBy?: boolean;\n canTableRadiusZero?: boolean;\n canUseTreeGridStyle?: boolean;\n}\n\ninterface OwpDataTableProps<T extends Row = Row> {\n className?: string;\n sx?: TableContainerProps['sx'];\n headSx?: TableCellProps['sx'];\n headCells: HeadCell[];\n rows?: T[];\n canCheckbox?: boolean;\n canTotalCountRow?: boolean;\n selected?: T[];\n onSelect?: (rows: T[] | []) => void;\n onBlur?: (evt: OwpDataTableBlurEvent, dataIndex: number) => void;\n canSelectingSingle?: boolean;\n canUseOrderBy?: boolean;\n canTableRadiusZero?: boolean;\n canUseTreeGridStyle?: boolean;\n fixedRowCount?: number;\n}\n\nconst defaultHeadCellsSx = {\n bgcolor: '#586980',\n borderTopLeftRadius: 'inherit',\n borderTopRightRadius: 'inherit',\n} as const;\n\nconst headerBorderRight = {\n borderRight: `1px solid ${grey['A200']}`,\n};\n\nconst rowBorderRight = {\n borderRight: `1px solid ${grey[400]}`,\n};\n\nconst defaultSortLabelSx = {\n '&.MuiTableSortLabel-root': {\n color: grey['A100'],\n },\n '&.MuiTableSortLabel-root:hover': {\n color: grey['A100'],\n },\n '&.Mui-active': {\n color: grey['A100'],\n },\n '& .MuiTableSortLabel-icon': {\n color: `${grey['A100']} !important`,\n },\n} as const;\n\nconst tableRadiusZeroSx = {\n borderRadius: 0,\n} as const;\n\nconst lastRowRadiusZeroSx = {\n '& > th, & > td': {\n borderBottomLeftRadius: 0,\n borderBottomRightRadius: 0,\n },\n} as const;\n\nconst treeGridFontSx = {\n fontFamily: TREEGRID_FONT_FAMILY_STACK,\n fontSize: '14px',\n fontWeight: 'normal',\n lineHeight: '16px',\n} as const;\n\nconst treeGridCellBaseSx = {\n ...treeGridFontSx,\n boxSizing: 'border-box',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n verticalAlign: 'middle',\n whiteSpace: 'nowrap',\n} as const;\n\nconst treeGridHeaderCellSx = {\n ...treeGridCellBaseSx,\n bgcolor: '#586980',\n borderBottom: '1px solid #6F7F94',\n borderRight: '1px solid #6F7F94',\n color: 'white',\n height: 33,\n minHeight: 33,\n p: '7px 2px 6px 10px',\n} as const;\n\nconst treeGridSortLabelSx = {\n '&.MuiTableSortLabel-root': {\n color: 'inherit',\n display: 'flex',\n fontFamily: 'inherit',\n fontSize: 'inherit',\n fontWeight: 'inherit',\n justifyContent: 'center',\n lineHeight: 'inherit',\n overflow: 'hidden',\n position: 'relative',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n width: '100%',\n },\n '&.MuiTableSortLabel-root:hover': {\n color: 'inherit',\n },\n '&.Mui-active': {\n color: 'inherit',\n },\n '& .MuiTableSortLabel-icon': {\n color: 'currentColor !important',\n margin: 0,\n position: 'absolute',\n right: 0,\n },\n} as const;\n\nconst treeGridBodyCellSx = {\n ...treeGridCellBaseSx,\n borderBottom: '1px solid #CDD8E4',\n borderRight: '1px solid #CDD8E4',\n color: '#111112',\n p: '7px 10px 6px',\n} as const;\n\n/**\n * sx 병합 유틸\n * @param styles 병합 대상 sx 목록\n */\nconst mergeSx = (...styles: Array<SxProps<Theme> | undefined | false>): SxProps<Theme> =>\n styles.reduce<Array<Exclude<SxProps<Theme>, readonly unknown[]>>>((acc, style) => {\n if (!style) {\n return acc;\n }\n\n return [...acc, ...(isArray(style) ? style : [style])];\n }, []) as SxProps<Theme>;\n\n/**\n * 고정 row 수 계산\n * @param fixedRowCount 고정 row 수\n */\nconst getFixedRowCount = (fixedRowCount?: number) => {\n if (!isNumber(fixedRowCount) || fixedRowCount < 1) {\n return undefined;\n }\n\n return fixedRowCount;\n};\n\n/**\n * 빈 row 목록 생성\n * @param count 생성 수\n */\nconst createEmptyRows = (count: number) => Array.from({ length: count }, () => ({}) as Row);\n\n/**\n * TableCell align 정규화\n * @param align align 값\n * @param fallback 기본 align 값\n */\nconst getTableCellAlign = (align: string | undefined, fallback: TableCellAlign): TableCellAlign => {\n switch (align) {\n case 'center':\n case 'right':\n case 'left':\n case 'inherit':\n case 'justify':\n return align;\n default:\n return fallback;\n }\n};\n\n/**\n * row 값 조회\n * @param row row 값\n * @param key 조회 key\n */\nconst getRowValue = (row: Row, key?: string) => {\n if (!key) {\n return undefined;\n }\n\n return (row as Record<string, unknown>)?.[key];\n};\n\nconst getComparableValue = (value: unknown) => {\n if (typeof value === 'string' || isNumber(value)) {\n return value;\n }\n\n return undefined;\n};\n\nfunction descendingComparator(a: Row, b: Row, orderBy: string) {\n const aValue = getComparableValue(getRowValue(a, orderBy));\n const bValue = getComparableValue(getRowValue(b, orderBy));\n\n if (bValue == null && aValue == null) {\n return 0;\n }\n if (bValue == null) {\n return -1;\n }\n if (aValue == null) {\n return 1;\n }\n if (bValue < aValue) {\n return -1;\n }\n if (bValue > aValue) {\n return 1;\n }\n return 0;\n}\n\ntype Order = 'asc' | 'desc';\ntype OwpDataTableBlurEvent = Record<string, unknown> & {\n target: {\n value: string | number | undefined;\n };\n};\n\nfunction getComparator(order: Order, orderBy: string): (a: Row, b: Row) => number {\n return order === 'desc'\n ? (a, b) => descendingComparator(a, b, orderBy)\n : (a, b) => -descendingComparator(a, b, orderBy);\n}\n\ntype RowRangeValue = {\n start?: string | number;\n end?: string | number;\n};\n\nconst getRowRangeValue = (row: Row, rangeKey?: string) => {\n if (!rangeKey) {\n return undefined;\n }\n\n return getRowValue(row, rangeKey) as RowRangeValue | undefined;\n};\n\nconst getRangeLabel = (row: Row, cell: HeadCell) => {\n if (!(cell.inputLabel ?? cell.rangeKey)) {\n return '';\n }\n\n const rangeValue = getRowRangeValue(row, cell.rangeKey);\n\n return `${cell.rangeLabel?.start ? `${cell.rangeLabel?.start}: ` : ''}${rangeValue?.start} ~ ${cell.rangeLabel?.end ? `${cell.rangeLabel?.end}: ` : ''}${rangeValue?.end}`;\n};\n\nconst getRowTabIndex = (row: Row, fallbackIndex: number) => {\n const rowIndex = getRowValue(row, 'index');\n\n return isNumber(rowIndex) ? rowIndex : fallbackIndex;\n};\n\nconst getEditableCellSx = (valueAlign?: HeadCell['valueAlign']) => ({\n '& input': {\n textAlign: valueAlign ?? 'center',\n },\n height: 34,\n});\n\nfunction DataTableHead(props: DataTableHeadProps) {\n const {\n sx,\n headCells,\n onSelectAllClick,\n order,\n orderBy,\n numSelected,\n rowCount,\n onRequestSort,\n canCheckbox,\n canUseOrderBy = true,\n canTableRadiusZero,\n canUseTreeGridStyle,\n } = props;\n const createSortHandler = (property: string) => (event: MouseEvent<unknown>) => {\n onRequestSort(event, property);\n };\n\n return (\n <TableHead sx={mergeSx(canTableRadiusZero && tableRadiusZeroSx)}>\n <TableRow\n sx={mergeSx(canUseTreeGridStyle && { height: 33 }, canTableRadiusZero && tableRadiusZeroSx)}\n >\n {canCheckbox && (\n <TableCell\n padding=\"checkbox\"\n className=\"text-white\"\n sx={mergeSx(\n {\n ...defaultHeadCellsSx,\n ...headerBorderRight,\n },\n canUseTreeGridStyle && treeGridHeaderCellSx,\n canTableRadiusZero && tableRadiusZeroSx,\n sx,\n )}\n >\n <Checkbox\n color=\"default\"\n sx={mergeSx(\n {\n [`&, &.${checkboxClasses.checked}`]: {\n color: grey[50],\n },\n },\n canUseTreeGridStyle && { p: 0 },\n )}\n indeterminate={numSelected > 0 && numSelected < rowCount}\n checked={rowCount > 0 && numSelected === rowCount}\n onChange={onSelectAllClick}\n />\n </TableCell>\n )}\n {headCells.map((headCell, index) => (\n <TableCell\n className={canUseTreeGridStyle ? undefined : 'pl-20'}\n key={headCell.id}\n align={getTableCellAlign(headCell.align, 'center')}\n padding={headCell.enablePadding ? 'normal' : 'none'}\n sortDirection={orderBy === headCell.id ? order : false}\n sx={mergeSx(\n {\n ...defaultHeadCellsSx,\n ...(headCells.length - 1 !== index && headerBorderRight),\n },\n canUseTreeGridStyle && treeGridHeaderCellSx,\n canTableRadiusZero && tableRadiusZeroSx,\n sx,\n canUseTreeGridStyle && headCell?.sx,\n )}\n >\n {canUseOrderBy ? (\n <TableSortLabel\n sx={canUseTreeGridStyle ? treeGridSortLabelSx : defaultSortLabelSx}\n active={orderBy === headCell.id}\n direction={orderBy === headCell.id ? order : 'asc'}\n onClick={createSortHandler(headCell.id)}\n >\n {canUseTreeGridStyle ? (\n headCell.label\n ) : (\n <Typography className=\"text-white text-lg font-medium\" sx={headCell?.sx}>\n {headCell.label}\n </Typography>\n )}\n </TableSortLabel>\n ) : canUseTreeGridStyle ? (\n headCell.label\n ) : (\n <Typography className=\"text-white text-lg font-medium\" sx={headCell?.sx}>\n {headCell.label}\n </Typography>\n )}\n </TableCell>\n ))}\n </TableRow>\n </TableHead>\n );\n}\n\n/**\n * OwpDataTable 컴포넌트\n * @param className CSS 클래스명\n * @param sx sx 값\n * @param headSx headSx 값\n * @param headCells headCells 값\n * @param rows 행 데이터 목록\n * @param selected selected 값\n * @param canTableRadiusZero 테이블 radius 0 사용 여부\n * @param canUseTreeGridStyle TreeGrid 스타일 사용 여부\n * @param fixedRowCount 고정 row 수\n */\nexport function OwpDataTable<T extends Row = Row>({\n className,\n sx,\n headSx,\n headCells,\n rows,\n selected,\n canCheckbox,\n canTotalCountRow,\n canSelectingSingle,\n canUseOrderBy = true,\n canTableRadiusZero = false,\n canUseTreeGridStyle = false,\n fixedRowCount,\n onSelect,\n onBlur,\n}: OwpDataTableProps<T>) {\n const [order, setOrder] = useState<Order>('asc');\n const [orderBy, setOrderBy] = useState<string>('');\n const [selectedRows, setSelectedRows] = useState<T[] | []>([]);\n const tableIdRef = useRef(uniqueId('owp-data-table'));\n const useFixedRowCount = useMemo(() => getFixedRowCount(fixedRowCount), [fixedRowCount]);\n const resolvedRows = useMemo(() => {\n const nextRows = isArray(rows) ? rows : [];\n\n return useFixedRowCount ? nextRows.slice(0, useFixedRowCount) : nextRows;\n }, [rows, useFixedRowCount]);\n const resolvedHeadCells = useMemo(() => headCells ?? [], [headCells]);\n const useCheckBox = isBoolean(canCheckbox) ? canCheckbox : true;\n const useTotalCountRow = isBoolean(canTotalCountRow) ? canTotalCountRow : true;\n\n useEffect(() => {\n if (!isEmpty(selected)) {\n setSelectedRows(selected);\n }\n }, [selected]);\n\n useEffect(() => {\n onSelect?.(selectedRows);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedRows]);\n\n const handleRequestSort = (_: MouseEvent<unknown>, property: string) => {\n const isAsc = orderBy === property && order === 'asc';\n setOrder(isAsc ? 'desc' : 'asc');\n setOrderBy(property);\n };\n\n const handleSelectAllClick = (event: ChangeEvent<HTMLInputElement>) => {\n if (event.target.checked) {\n setSelectedRows(resolvedRows);\n return;\n }\n setSelectedRows([]);\n };\n\n const handleClick = (_: MouseEvent<unknown>, row: T) => {\n if (canSelectingSingle) {\n setSelectedRows([row]);\n return;\n }\n setSelectedRows((prev: T[]) => {\n const isIncluded = !!prev.find((item) => isEqual(item, row));\n return isIncluded ? prev?.filter((item: T) => !isEqual(item, row)) : [...prev, row];\n });\n };\n\n const visibleRows = useMemo(\n () => [...resolvedRows].sort(getComparator(order, orderBy)),\n [order, orderBy, resolvedRows],\n );\n const displayRows = useMemo(() => {\n if (!useFixedRowCount || visibleRows.length >= useFixedRowCount) {\n return visibleRows;\n }\n\n return [...visibleRows, ...createEmptyRows(useFixedRowCount - visibleRows.length)];\n }, [useFixedRowCount, visibleRows]);\n\n return (\n <Paper\n className={className}\n sx={mergeSx({ width: '100%' }, canTableRadiusZero && tableRadiusZeroSx)}\n >\n {canUseTreeGridStyle && <GlobalStyles styles={getTreeGridFontFaceStyles()} />}\n <TableContainer\n sx={mergeSx(\n { height: useFixedRowCount ? 'auto' : 500, borderRadius: 2 },\n useFixedRowCount && { overflowY: 'hidden' },\n canTableRadiusZero && tableRadiusZeroSx,\n sx,\n )}\n >\n <Table\n stickyHeader={!canUseTreeGridStyle}\n sx={mergeSx({ minWidth: 200 }, canTableRadiusZero && tableRadiusZeroSx)}\n aria-labelledby=\"owp-data-table\"\n >\n <DataTableHead\n sx={headSx}\n headCells={resolvedHeadCells}\n numSelected={selectedRows.length}\n order={order}\n orderBy={orderBy}\n onSelectAllClick={handleSelectAllClick}\n canCheckbox={!canSelectingSingle && useCheckBox}\n canUseOrderBy={canUseOrderBy}\n canTableRadiusZero={canTableRadiusZero}\n canUseTreeGridStyle={canUseTreeGridStyle}\n onRequestSort={handleRequestSort}\n rowCount={resolvedRows.length}\n />\n <TableBody sx={mergeSx(canTableRadiusZero && tableRadiusZeroSx)}>\n {displayRows.map((row, index) => {\n const isItemSelected = selectedRows.some((item) => isEqual(item, row));\n const isLastRow = displayRows.length - 1 === index;\n const isPlaceholderRow = useFixedRowCount ? index >= visibleRows.length : false;\n const labelId = `${tableIdRef.current}-${index}`;\n\n return (\n <TableRow\n hover\n role={canUseTreeGridStyle ? undefined : 'checkbox'}\n aria-checked={canUseTreeGridStyle ? undefined : isItemSelected}\n tabIndex={-1}\n key={`${labelId}-row-${index}`}\n selected={isItemSelected}\n sx={mergeSx(\n { cursor: isPlaceholderRow ? 'default' : 'pointer' },\n canUseTreeGridStyle && { height: 30 },\n canTableRadiusZero && tableRadiusZeroSx,\n canTableRadiusZero && isLastRow && lastRowRadiusZeroSx,\n )}\n >\n {useCheckBox && (\n <TableCell\n padding=\"checkbox\"\n onClick={(event) => {\n if (!isPlaceholderRow) {\n handleClick(event, row as T);\n }\n }}\n sx={mergeSx(\n rowBorderRight,\n canUseTreeGridStyle && treeGridBodyCellSx,\n canTableRadiusZero && tableRadiusZeroSx,\n )}\n >\n <Checkbox\n color=\"default\"\n checked={isItemSelected}\n disabled={isPlaceholderRow}\n sx={mergeSx(canUseTreeGridStyle && { p: 0 })}\n />\n </TableCell>\n )}\n {resolvedHeadCells.map((cell, cellIndex) => {\n const _key = `${labelId}-row-${index}-cell-${cellIndex}`;\n const rangeLabel = getRangeLabel(row, cell);\n const rowTabIndex = getRowTabIndex(row, index);\n const cellValue = getRowValue(row, String(cell?.id));\n if (cellIndex === 0) {\n return (\n <TableCell\n className={canUseTreeGridStyle ? undefined : 'px-4'}\n key={_key}\n component={canUseTreeGridStyle ? 'td' : 'th'}\n id={labelId}\n scope={canUseTreeGridStyle ? undefined : 'row'}\n padding=\"none\"\n role={canUseTreeGridStyle ? 'cell' : undefined}\n align={getTableCellAlign(cell.valueAlign, 'left')}\n sx={mergeSx(\n resolvedHeadCells.length > 1 && rowBorderRight,\n canUseTreeGridStyle && treeGridBodyCellSx,\n canTableRadiusZero && tableRadiusZeroSx,\n )}\n >\n {cellValue as ReactNode}\n </TableCell>\n );\n }\n\n return (\n <TableCell\n className={canUseTreeGridStyle ? undefined : 'px-4'}\n key={_key}\n role={canUseTreeGridStyle ? 'cell' : undefined}\n align={getTableCellAlign(cell.valueAlign, 'left')}\n sx={mergeSx(\n resolvedHeadCells.length - 1 !== cellIndex && rowBorderRight,\n canUseTreeGridStyle && treeGridBodyCellSx,\n canTableRadiusZero && tableRadiusZeroSx,\n )}\n >\n {cell?.canTextField ? (\n cell?.textFieldType === 'number' ? (\n <OwpNumberField\n variant=\"standard\"\n decimalScale={2}\n label={rangeLabel}\n fullWidth\n size=\"small\"\n sx={getEditableCellSx(cell?.valueAlign)}\n slotProps={{\n input: {\n tabIndex: rowTabIndex,\n },\n inputLabel: {\n shrink: true,\n },\n }}\n isAllowed={(values) => {\n const { floatValue } = values;\n const end = getRowRangeValue(row, cell?.rangeKey)?.end;\n\n if (isNumber(floatValue) && isNumber(end)) {\n return floatValue <= end;\n }\n\n return true;\n }}\n value={cellValue as string | number | undefined}\n onBlur={(evt) => {\n const start = getRowRangeValue(row, cell?.rangeKey)?.start;\n const nextValue = evt.target.value?.replace(/,/g, '');\n\n onBlur?.(\n {\n ...evt,\n target: {\n ...evt.target,\n value:\n isNumber(start) && nextValue !== ''\n ? Number(start > Number(nextValue) ? start : nextValue)\n : nextValue,\n },\n },\n rowTabIndex,\n );\n }}\n />\n ) : (\n <TextField\n variant=\"standard\"\n label={rangeLabel}\n fullWidth\n size=\"small\"\n sx={getEditableCellSx(cell?.valueAlign)}\n slotProps={{\n input: {\n tabIndex: rowTabIndex,\n },\n inputLabel: {\n shrink: true,\n },\n }}\n type={cell?.textFieldType ?? 'text'}\n defaultValue={\n cellValue as string | number | readonly string[] | undefined\n }\n onBlur={(evt) =>\n onBlur?.(\n { ...evt, target: { ...evt.target, value: evt.target.value } },\n rowTabIndex,\n )\n }\n />\n )\n ) : (\n (cellValue as ReactNode)\n )}\n </TableCell>\n );\n })}\n </TableRow>\n );\n })}\n </TableBody>\n </Table>\n </TableContainer>\n {useTotalCountRow && <Divider sx={mergeSx(canTableRadiusZero && tableRadiusZeroSx)} />}\n {useTotalCountRow && (\n <Typography\n className=\"w-full py-8 pr-12\"\n align=\"right\"\n sx={mergeSx(canTableRadiusZero && tableRadiusZeroSx)}\n >\n 전체: {resolvedRows.length.toLocaleString()} 건\n </Typography>\n )}\n </Paper>\n );\n}\n"],"names":["defaultHeadCellsSx","headerBorderRight","grey","rowBorderRight","defaultSortLabelSx","tableRadiusZeroSx","lastRowRadiusZeroSx","treeGridFontSx","TREEGRID_FONT_FAMILY_STACK","treeGridCellBaseSx","treeGridHeaderCellSx","treeGridSortLabelSx","treeGridBodyCellSx","mergeSx","__name","styles","acc","style","isArray","getFixedRowCount","fixedRowCount","isNumber","createEmptyRows","count","getTableCellAlign","align","fallback","getRowValue","row","key","getComparableValue","value","descendingComparator","a","b","orderBy","aValue","bValue","getComparator","order","getRowRangeValue","rangeKey","getRangeLabel","cell","rangeValue","_a","_b","_c","_d","getRowTabIndex","fallbackIndex","rowIndex","getEditableCellSx","valueAlign","DataTableHead","props","sx","headCells","onSelectAllClick","numSelected","rowCount","onRequestSort","canCheckbox","canUseOrderBy","canTableRadiusZero","canUseTreeGridStyle","createSortHandler","property","event","TableHead","jsxs","TableRow","jsx","TableCell","Checkbox","checkboxClasses","headCell","index","TableSortLabel","Typography","OwpDataTable","className","headSx","rows","selected","canTotalCountRow","canSelectingSingle","onSelect","onBlur","setOrder","useState","setOrderBy","selectedRows","setSelectedRows","tableIdRef","useRef","uniqueId","useFixedRowCount","useMemo","resolvedRows","nextRows","resolvedHeadCells","useCheckBox","isBoolean","useTotalCountRow","useEffect","isEmpty","handleRequestSort","_","handleSelectAllClick","handleClick","prev","item","isEqual","visibleRows","displayRows","Paper","GlobalStyles","getTreeGridFontFaceStyles","TableContainer","Table","TableBody","isItemSelected","isLastRow","isPlaceholderRow","labelId","cellIndex","_key","rangeLabel","rowTabIndex","cellValue","OwpNumberField","values","floatValue","end","evt","start","nextValue","TextField","Divider"],"mappings":"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"}
@@ -0,0 +1,99 @@
1
+ var x = Object.defineProperty;
2
+ var n = (e, t) => x(e, "name", { value: t, configurable: !0 });
3
+ import { jsxs as a, jsx as m, Fragment as D } from "../../node_modules/.pnpm/@emotion_react@11.14.0_@types_react@19.2.14_react@19.2.4/node_modules/@emotion/react/jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js";
4
+ import { TableCell as d, TableBody as F, Checkbox as T } from "@mui/material";
5
+ import { clsx as N } from "../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.js";
6
+ import S from "dayjs";
7
+ import { Fragment as H } from "react";
8
+ import { StyledTableRow as M, StyledTable as k } from "./OwpTable.js";
9
+ import { isNaN as l } from "../../node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/predicate/isNaN.js";
10
+ import { toNumber as y } from "../../node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/util/toNumber.js";
11
+ const E = 28, R = {
12
+ "&&": {
13
+ fontFamily: "inherit",
14
+ fontSize: "1.7rem",
15
+ fontWeight: 600,
16
+ lineHeight: "normal",
17
+ minHeight: "unset",
18
+ padding: "7px 10px"
19
+ }
20
+ }, $ = {
21
+ borderRadius: 0,
22
+ overflow: "visible"
23
+ }, u = {
24
+ borderTop: "1px solid #CDD8E4"
25
+ }, c = /* @__PURE__ */ n((e) => /* @__PURE__ */ a(D, { children: [
26
+ e,
27
+ /* @__PURE__ */ m("span", { className: "ml-4 text-red-600", children: "*" })
28
+ ] }), "getRequiredTitle"), j = /* @__PURE__ */ n((e, t) => e == null ? void 0 : e[t], "getFieldTableValue"), z = /* @__PURE__ */ n((e, t) => typeof t == "function" ? t(e) : l(y(e)) ? e === "Y" : !!Number(e), "getCheckboxChecked"), B = /* @__PURE__ */ n((e) => e.withTime ? "YYYY-MM-DD HH:mm" : e.withTimeAndSec ? "YYYY-MM-DD HH:mm:ss" : "YYYY-MM-DD", "getDateFormat"), L = /* @__PURE__ */ n((e, t, s) => {
29
+ const i = j(t, e.key);
30
+ return typeof e.render == "function" ? e.render() : e.useCheckbox ? /* @__PURE__ */ m(
31
+ T,
32
+ {
33
+ checked: z(i, e.validate),
34
+ sx: { "& .MuiSvgIcon-root": { fontSize: (s == null ? void 0 : s.fontSize) ?? E } }
35
+ }
36
+ ) : e.useDate ? i && S(i).format(B(e)) : e.disableLocaleString ? i : i == null ? void 0 : i.toLocaleString();
37
+ }, "renderFieldTableCellValue");
38
+ function Z({
39
+ layout: e,
40
+ titleWidth: t,
41
+ titleSx: s,
42
+ treeGridTitleCellSx: i,
43
+ cellSx: f,
44
+ data: h,
45
+ colGroupSlot: b,
46
+ className: w,
47
+ tableLayout: g = "fixed",
48
+ canUseTreeGridStyle: o = !1
49
+ }) {
50
+ return /* @__PURE__ */ a(
51
+ k,
52
+ {
53
+ canUseTreeGridStyle: o,
54
+ className: N("w-full", w),
55
+ containerProps: { sx: o ? $ : void 0 },
56
+ tableLayout: g,
57
+ children: [
58
+ b,
59
+ /* @__PURE__ */ m(F, { children: e.map((Y, p) => /* @__PURE__ */ m(M, { children: Y.map((r, C) => /* @__PURE__ */ a(H, { children: [
60
+ /* @__PURE__ */ m(
61
+ d,
62
+ {
63
+ component: "th",
64
+ className: "whitespace-pre-wrap",
65
+ width: t ?? 200,
66
+ sx: {
67
+ ...o ? R : {},
68
+ ...o ? i ?? {} : {},
69
+ ...o && p === 0 ? u : {},
70
+ ...s ?? {}
71
+ },
72
+ rowSpan: r == null ? void 0 : r.rowSpan,
73
+ children: r.required ? c(r.title) : r.title
74
+ }
75
+ ),
76
+ /* @__PURE__ */ m(
77
+ d,
78
+ {
79
+ className: "whitespace-pre-wrap",
80
+ sx: {
81
+ ...o && p === 0 ? u : {},
82
+ ...f ?? {}
83
+ },
84
+ style: (r == null ? void 0 : r.style) ?? {},
85
+ colSpan: r == null ? void 0 : r.colSpan,
86
+ rowSpan: r == null ? void 0 : r.rowSpan,
87
+ children: L(r, h, f)
88
+ }
89
+ )
90
+ ] }, `owp-field-cell-${p}-${C}`)) }, `owp-field-col-${p}`)) })
91
+ ]
92
+ }
93
+ );
94
+ }
95
+ n(Z, "OwpFieldTable");
96
+ export {
97
+ Z as OwpFieldTable
98
+ };
99
+ //# sourceMappingURL=OwpFieldTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OwpFieldTable.js","sources":["../../../src/components/OwpTable/OwpFieldTable.tsx"],"sourcesContent":["import { Checkbox, TableBody, TableCell, type TableCellProps } from '@mui/material';\nimport clsx from 'clsx';\nimport dayjs from 'dayjs';\nimport { isNaN, toNumber } from 'es-toolkit/compat';\nimport { Fragment, type CSSProperties, type ReactNode } from 'react';\nimport { StyledTable, StyledTableRow } from './OwpTable';\n\ntype OwpFieldTableCell = {\n title: string;\n key: string;\n required?: boolean;\n disableLocaleString?: boolean;\n useDate?: boolean;\n withTime?: boolean;\n withTimeAndSec?: boolean;\n useCheckbox?: boolean;\n colSpan?: number;\n rowSpan?: number;\n style?: CSSProperties;\n render?: () => ReactNode;\n validate?: (v?: number | string) => boolean;\n};\n\ntype OwpFieldTableValue = string | number | '';\ntype OwpFieldTableDataRecord = Record<string, OwpFieldTableValue | undefined>;\n\ninterface OwpFieldTableProps {\n layout: OwpFieldTableCell[][];\n data?: OwpFieldTableDataRecord;\n titleSx?: TableCellProps['sx'];\n treeGridTitleCellSx?: TableCellProps['sx'] & CSSProperties;\n cellSx?: TableCellProps['sx'] & CSSProperties;\n titleWidth?: number | string;\n colGroupSlot?: ReactNode;\n className?: string;\n tableLayout?: 'auto' | 'fixed';\n canUseTreeGridStyle?: boolean;\n}\n\nconst DEFAULT_CHECKBOX_FONT_SIZE = 28;\n\nconst defaultTreeGridTitleCellSx = {\n '&&': {\n fontFamily: 'inherit',\n fontSize: '1.7rem',\n fontWeight: 600,\n lineHeight: 'normal',\n minHeight: 'unset',\n padding: '7px 10px',\n },\n} as const;\n\nconst treeGridContainerSx = {\n borderRadius: 0,\n overflow: 'visible',\n} as const;\n\nconst treeGridFirstRowCellSx = {\n borderTop: '1px solid #CDD8E4',\n} as const;\n\n/** 필수 헤더 타이틀 */\nconst getRequiredTitle = (title: string) => (\n <>\n {title}\n <span className=\"ml-4 text-red-600\">*</span>\n </>\n);\n\nconst getFieldTableValue = (data: OwpFieldTableProps['data'], key: string) => {\n return data?.[key];\n};\n\nconst getCheckboxChecked = (\n value: OwpFieldTableValue | undefined,\n validate?: OwpFieldTableCell['validate'],\n) => {\n if (typeof validate === 'function') {\n return validate(value);\n }\n\n if (isNaN(toNumber(value))) {\n return value === 'Y';\n }\n\n return Boolean(Number(value));\n};\n\nconst getDateFormat = (cell: OwpFieldTableCell) => {\n if (cell.withTime) {\n return 'YYYY-MM-DD HH:mm';\n }\n\n if (cell.withTimeAndSec) {\n return 'YYYY-MM-DD HH:mm:ss';\n }\n\n return 'YYYY-MM-DD';\n};\n\nconst renderFieldTableCellValue = (\n cell: OwpFieldTableCell,\n data: OwpFieldTableProps['data'],\n cellSx?: OwpFieldTableProps['cellSx'],\n): ReactNode => {\n const value = getFieldTableValue(data, cell.key);\n\n if (typeof cell.render === 'function') {\n return cell.render();\n }\n\n if (cell.useCheckbox) {\n return (\n <Checkbox\n checked={getCheckboxChecked(value, cell.validate)}\n sx={{ '& .MuiSvgIcon-root': { fontSize: cellSx?.fontSize ?? DEFAULT_CHECKBOX_FONT_SIZE } }}\n />\n );\n }\n\n if (cell.useDate) {\n return value ? dayjs(value).format(getDateFormat(cell)) : value;\n }\n\n if (cell.disableLocaleString) {\n return value;\n }\n\n return value?.toLocaleString();\n};\n\n/**\n * OwpFieldTable 컴포넌트\n * @param layout layout 값\n * @param titleWidth titleWidth 값\n * @param titleSx titleSx 값\n * @param treeGridTitleCellSx TreeGrid title cell sx 값\n * @param cellSx cellSx 값\n * @param data 데이터\n * @param colGroupSlot colGroupSlot 값\n * @param className className 값\n * @param tableLayout tableLayout 값\n * @param canUseTreeGridStyle TreeGrid 스타일 사용 여부\n */\nexport function OwpFieldTable({\n layout,\n titleWidth,\n titleSx,\n treeGridTitleCellSx,\n cellSx,\n data,\n colGroupSlot,\n className,\n tableLayout = 'fixed',\n canUseTreeGridStyle = false,\n}: OwpFieldTableProps) {\n return (\n <StyledTable\n canUseTreeGridStyle={canUseTreeGridStyle}\n className={clsx('w-full', className)}\n containerProps={{ sx: canUseTreeGridStyle ? treeGridContainerSx : undefined }}\n tableLayout={tableLayout}\n >\n {colGroupSlot}\n <TableBody>\n {layout.map((cols, rowIndex) => (\n <StyledTableRow key={`owp-field-col-${rowIndex}`}>\n {cols.map((col, colIndex) => (\n <Fragment key={`owp-field-cell-${rowIndex}-${colIndex}`}>\n <TableCell\n component=\"th\"\n className=\"whitespace-pre-wrap\"\n width={titleWidth ?? 200}\n sx={{\n ...(canUseTreeGridStyle ? defaultTreeGridTitleCellSx : {}),\n ...(canUseTreeGridStyle ? (treeGridTitleCellSx ?? {}) : {}),\n ...(canUseTreeGridStyle && rowIndex === 0 ? treeGridFirstRowCellSx : {}),\n ...(titleSx ?? {}),\n }}\n rowSpan={col?.rowSpan}\n >\n {col.required ? getRequiredTitle(col.title) : col.title}\n </TableCell>\n <TableCell\n className=\"whitespace-pre-wrap\"\n sx={{\n ...(canUseTreeGridStyle && rowIndex === 0 ? treeGridFirstRowCellSx : {}),\n ...(cellSx ?? {}),\n }}\n style={col?.style ?? {}}\n colSpan={col?.colSpan}\n rowSpan={col?.rowSpan}\n >\n {renderFieldTableCellValue(col, data, cellSx)}\n </TableCell>\n </Fragment>\n ))}\n </StyledTableRow>\n ))}\n </TableBody>\n </StyledTable>\n );\n}\n"],"names":["DEFAULT_CHECKBOX_FONT_SIZE","defaultTreeGridTitleCellSx","treeGridContainerSx","treeGridFirstRowCellSx","getRequiredTitle","__name","title","jsxs","Fragment","jsx","getFieldTableValue","data","key","getCheckboxChecked","value","validate","isNaN","toNumber","getDateFormat","cell","renderFieldTableCellValue","cellSx","Checkbox","dayjs","OwpFieldTable","layout","titleWidth","titleSx","treeGridTitleCellSx","colGroupSlot","className","tableLayout","canUseTreeGridStyle","StyledTable","clsx","TableBody","cols","rowIndex","StyledTableRow","col","colIndex","TableCell"],"mappings":"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"}
@@ -1,78 +1,72 @@
1
- var F = Object.defineProperty;
2
- var l = (t, o) => F(t, "name", { value: o, configurable: !0 });
3
- import { jsxs as f, jsx as e, Fragment as y } from "../../node_modules/.pnpm/@emotion_react@11.14.0_@types_react@19.2.14_react@19.2.4/node_modules/@emotion/react/jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js";
4
- import { Typography as v, styled as R, Divider as L } from "@mui/material";
5
- import { clsx as C } from "../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.js";
6
- import $ from "@mui/material/GlobalStyles";
7
- import M from "@mui/material/Paper";
8
- import D from "@mui/material/Table";
9
- import E from "@mui/material/TableBody";
10
- import h from "@mui/material/TableCell";
11
- import O from "@mui/material/TableContainer";
12
- import j from "@mui/material/TableHead";
13
- import z from "@mui/material/TableRow";
14
- import { useMemo as u } from "react";
15
- import { isNumber as B } from "../../node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/predicate/isNumber.js";
1
+ var y = Object.defineProperty;
2
+ var l = (t, o) => y(t, "name", { value: o, configurable: !0 });
3
+ import { jsxs as f, jsx as e, Fragment as C } from "../../node_modules/.pnpm/@emotion_react@11.14.0_@types_react@19.2.14_react@19.2.4/node_modules/@emotion/react/jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js";
4
+ import { getTreeGridFontFaceStyles as v, TREEGRID_FONT_FAMILY_STACK as L } from "../../constants/treeGrid.js";
5
+ import { Typography as $, styled as R, Divider as M } from "@mui/material";
6
+ import { clsx as F } from "../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.js";
7
+ import E from "@mui/material/GlobalStyles";
8
+ import D from "@mui/material/Paper";
9
+ import O from "@mui/material/Table";
10
+ import A from "@mui/material/TableBody";
11
+ import u from "@mui/material/TableCell";
12
+ import j from "@mui/material/TableContainer";
13
+ import z from "@mui/material/TableHead";
14
+ import B from "@mui/material/TableRow";
15
+ import { useMemo as x } from "react";
16
+ import { isNumber as I } from "../../node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/predicate/isNumber.js";
16
17
  import { isArray as c } from "../../node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/predicate/isArray.js";
17
- import { isEmpty as W } from "../../node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/predicate/isEmpty.js";
18
- const g = /* @__PURE__ */ l((t) => t ? Object.keys(t).filter((o) => !o.includes("Span")) : [], "getTableColumnKeys"), x = /* @__PURE__ */ l((t, o) => t[`${o}Sx`] ?? {}, "getTableCellSx"), w = /* @__PURE__ */ l((t, o, r) => t[`${o}${r}`] ?? void 0, "getTableCellSpan"), A = /* @__PURE__ */ l((...t) => t.reduce((o, r) => r ? [...o, ...c(r) ? r : [r]] : o, []), "mergeSx"), H = {
18
+ import { isEmpty as K } from "../../node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/predicate/isEmpty.js";
19
+ const h = /* @__PURE__ */ l((t) => t ? Object.keys(t).filter((o) => !o.includes("Span")) : [], "getTableColumnKeys"), g = /* @__PURE__ */ l((t, o) => t[`${o}Sx`] ?? {}, "getTableCellSx"), w = /* @__PURE__ */ l((t, o, r) => t[`${o}${r}`] ?? void 0, "getTableCellSpan"), _ = /* @__PURE__ */ l((...t) => t.reduce((o, r) => r ? [...o, ...c(r) ? r : [r]] : o, []), "mergeSx"), H = {
19
20
  border: 0,
20
21
  borderRadius: 0,
21
22
  overflow: "visible"
22
- }, K = {
23
- "@font-face": {
24
- fontFamily: "RobotoLight",
25
- fontStyle: "normal",
26
- fontWeight: "normal",
27
- src: "url('/assets/vendors/Grid/Styles/Roboto-Light.ttf') format('truetype')"
28
- }
29
- }, S = {
30
- fontFamily: "RobotoLight, sans-serif",
23
+ }, T = {
24
+ fontFamily: L,
31
25
  fontSize: "14px",
32
26
  fontWeight: "normal",
33
27
  lineHeight: "16px"
34
28
  };
35
- function I({ totalCount: t }) {
36
- return /* @__PURE__ */ f(y, { children: [
37
- /* @__PURE__ */ e(L, {}),
38
- /* @__PURE__ */ f(v, { className: "w-full py-8 pr-12", align: "right", children: [
29
+ function N({ totalCount: t }) {
30
+ return /* @__PURE__ */ f(C, { children: [
31
+ /* @__PURE__ */ e(M, {}),
32
+ /* @__PURE__ */ f($, { className: "w-full py-8 pr-12", align: "right", children: [
39
33
  "전체: ",
40
- B(t) ? t.toLocaleString() : 0,
34
+ I(t) ? t.toLocaleString() : 0,
41
35
  " 건"
42
36
  ] })
43
37
  ] });
44
38
  }
45
- l(I, "OwpTableTotalCount");
46
- const N = /* @__PURE__ */ l(({
39
+ l(N, "OwpTableTotalCount");
40
+ const W = /* @__PURE__ */ l(({
47
41
  canBodyFullHeight: t,
48
42
  canUseTreeGridStyle: o,
49
43
  children: r,
50
44
  className: a,
51
45
  containerProps: n,
52
- footerSlot: s,
46
+ footerSlot: m,
53
47
  tableLayout: b,
54
48
  ...i
55
- }) => /* @__PURE__ */ f(y, { children: [
56
- o && /* @__PURE__ */ e($, { styles: K }),
49
+ }) => /* @__PURE__ */ f(C, { children: [
50
+ o && /* @__PURE__ */ e(E, { styles: v() }),
57
51
  /* @__PURE__ */ f(
58
- O,
52
+ j,
59
53
  {
60
- component: M,
54
+ component: D,
61
55
  variant: "outlined",
62
56
  ...n,
63
- sx: A(
57
+ sx: _(
64
58
  o && H,
65
59
  t && { height: "100%" },
66
60
  n == null ? void 0 : n.sx
67
61
  ),
68
62
  children: [
69
63
  /* @__PURE__ */ e(
70
- q,
64
+ Y,
71
65
  {
72
66
  ...i,
73
67
  canBodyFullHeight: t,
74
68
  canUseTreeGridStyle: o,
75
- className: C(
69
+ className: F(
76
70
  t && "h-full",
77
71
  b === "fixed" ? "table-fixed" : b === "auto" ? "table-auto" : "",
78
72
  a
@@ -80,11 +74,11 @@ const N = /* @__PURE__ */ l(({
80
74
  children: r
81
75
  }
82
76
  ),
83
- s
77
+ m
84
78
  ]
85
79
  }
86
80
  )
87
- ] }), "StyledTable"), q = R(D, {
81
+ ] }), "StyledTable"), Y = R(O, {
88
82
  shouldForwardProp: /* @__PURE__ */ l((t) => t !== "canBodyFullHeight" && t !== "canUseTreeGridStyle", "shouldForwardProp")
89
83
  })(({ theme: t, canBodyFullHeight: o, canUseTreeGridStyle: r }) => ({
90
84
  ...o && {
@@ -100,7 +94,7 @@ const N = /* @__PURE__ */ l(({
100
94
  },
101
95
  "& .MuiTableCell-root": r ? {
102
96
  boxSizing: "border-box",
103
- ...S,
97
+ ...T,
104
98
  overflow: "hidden",
105
99
  textOverflow: "ellipsis",
106
100
  verticalAlign: "middle",
@@ -117,7 +111,7 @@ const N = /* @__PURE__ */ l(({
117
111
  }
118
112
  },
119
113
  "& th": r ? {
120
- ...S,
114
+ ...T,
121
115
  backgroundColor: "#586980",
122
116
  borderTop: "1px solid #6F7F94",
123
117
  borderBottom: "1px solid #6F7F94",
@@ -152,38 +146,38 @@ const N = /* @__PURE__ */ l(({
152
146
  borderTopRightRadius: "inherit"
153
147
  }
154
148
  }
155
- })), T = R(z)`
149
+ })), S = R(B)`
156
150
  /* &:last-child th,
157
151
  &:last-child td {
158
152
  border-bottom: 0;
159
153
  } */
160
154
  `;
161
- function lo({
155
+ function po({
162
156
  canTotalCountRow: t = !1,
163
157
  headers: o,
164
158
  rows: r,
165
159
  totalCount: a,
166
160
  ...n
167
161
  }) {
168
- const s = u(
169
- () => c(o) ? o : W(o) ? [] : [o],
162
+ const m = x(
163
+ () => c(o) ? o : K(o) ? [] : [o],
170
164
  [o]
171
- ), b = u(
172
- () => g(c(o) ? o[0] : o),
165
+ ), b = x(
166
+ () => h(c(o) ? o[0] : o),
173
167
  [o]
174
168
  );
175
169
  return /* @__PURE__ */ f(
176
- N,
170
+ W,
177
171
  {
178
172
  ...n,
179
- footerSlot: t ? /* @__PURE__ */ e(I, { totalCount: typeof a > "u" ? r.length : a }) : void 0,
180
- className: C(n.tableLayout && "w-full", n.className),
173
+ footerSlot: t ? /* @__PURE__ */ e(N, { totalCount: typeof a > "u" ? r.length : a }) : void 0,
174
+ className: F(n.tableLayout && "w-full", n.className),
181
175
  children: [
182
- /* @__PURE__ */ e(j, { children: s.map((i, d) => /* @__PURE__ */ e(T, { children: g(i).map((p) => /* @__PURE__ */ e(
183
- h,
176
+ /* @__PURE__ */ e(z, { children: m.map((i, d) => /* @__PURE__ */ e(S, { children: h(i).map((p) => /* @__PURE__ */ e(
177
+ u,
184
178
  {
185
179
  className: "whitespace-pre-wrap",
186
- sx: x(i, p),
180
+ sx: g(i, p),
187
181
  colSpan: w(i, p, "ColSpan"),
188
182
  rowSpan: w(i, p, "RowSpan"),
189
183
  align: "center",
@@ -191,28 +185,28 @@ function lo({
191
185
  },
192
186
  `table-header-${d}-${p}`
193
187
  )) }, `table-header-${d}`)) }),
194
- /* @__PURE__ */ e(E, { children: r.map((i, d) => {
188
+ /* @__PURE__ */ e(A, { children: r.map((i, d) => {
195
189
  const p = i;
196
- return /* @__PURE__ */ e(T, { children: b.map((m) => /* @__PURE__ */ e(
197
- h,
190
+ return /* @__PURE__ */ e(S, { children: b.map((s) => /* @__PURE__ */ e(
191
+ u,
198
192
  {
199
193
  className: "whitespace-pre-wrap h-64",
200
- sx: x(p, m),
194
+ sx: g(p, s),
201
195
  align: "center",
202
- children: p[m]
196
+ children: p[s]
203
197
  },
204
- `table-row-cell-${d}-${m}`
198
+ `table-row-cell-${d}-${s}`
205
199
  )) }, `table-row-${d}`);
206
200
  }) })
207
201
  ]
208
202
  }
209
203
  );
210
204
  }
211
- l(lo, "OwpTable");
205
+ l(po, "OwpTable");
212
206
  export {
213
- lo as OwpTable,
214
- I as OwpTableTotalCount,
215
- N as StyledTable,
216
- T as StyledTableRow
207
+ po as OwpTable,
208
+ N as OwpTableTotalCount,
209
+ W as StyledTable,
210
+ S as StyledTableRow
217
211
  };
218
212
  //# sourceMappingURL=OwpTable.js.map