@actabldesign/bellhop-core 0.3.0 → 0.3.1

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 (748) hide show
  1. package/components/bh-accordion-item.js +1 -1
  2. package/components/bh-activity-feed.js +1 -1
  3. package/components/bh-alert.js +1 -1
  4. package/components/bh-appbar.js +1 -1
  5. package/components/bh-avatar-add.js +1 -1
  6. package/components/bh-avatar-stacked.js +1 -1
  7. package/components/bh-avatar.js +1 -1
  8. package/components/bh-badge-dot.js +1 -1
  9. package/components/bh-badge.js +1 -1
  10. package/components/bh-banner.js +1 -1
  11. package/components/bh-bar-chart.js +1 -1
  12. package/components/bh-breadcrumbs.js +1 -1
  13. package/components/bh-button-icon.js +1 -1
  14. package/components/bh-button.js +1 -1
  15. package/components/bh-card-content.js +1 -1
  16. package/components/bh-card-footer.js +1 -1
  17. package/components/bh-card-header.js +1 -1
  18. package/components/bh-card.js +1 -1
  19. package/components/bh-chart-tooltip.js +1 -1
  20. package/components/bh-chat-message.js +1 -1
  21. package/components/bh-chat-reaction.js +1 -1
  22. package/components/bh-checkbox.js +1 -1
  23. package/components/bh-checklist-task-group.js +1 -1
  24. package/components/bh-close-button.js +1 -1
  25. package/components/bh-command-bar.d.ts +11 -0
  26. package/components/bh-command-bar.js +1 -0
  27. package/components/bh-container-footer.js +1 -1
  28. package/components/bh-container.js +1 -1
  29. package/components/bh-credit-card.js +1 -1
  30. package/components/bh-data-grid-body.js +1 -1
  31. package/components/bh-data-grid-change-preview.js +1 -1
  32. package/components/bh-data-grid-filter-builder.js +1 -1
  33. package/components/bh-data-grid-footer.js +1 -1
  34. package/components/bh-data-grid-header.js +1 -1
  35. package/components/bh-data-grid-toolbar.js +1 -1
  36. package/components/bh-data-grid.js +2 -2
  37. package/components/bh-date-picker-content.js +1 -1
  38. package/components/bh-date-picker.js +1 -1
  39. package/components/bh-date-range-picker-content.js +1 -1
  40. package/components/bh-date-range-picker.js +1 -1
  41. package/components/bh-divider.js +1 -1
  42. package/components/bh-dropdown-menu.js +1 -1
  43. package/components/bh-dropdown.js +1 -1
  44. package/components/bh-emoji-picker.js +1 -1
  45. package/components/bh-empty-state.js +1 -1
  46. package/components/bh-fab.js +1 -1
  47. package/components/bh-featured-icon.js +1 -1
  48. package/components/bh-feed-item.js +1 -1
  49. package/components/bh-gauge-chart.js +1 -1
  50. package/components/bh-guided-checklist.js +1 -1
  51. package/components/bh-html-editor-bubble-menu.js +1 -1
  52. package/components/bh-html-editor-toolbar.js +1 -1
  53. package/components/bh-html-editor.js +1 -1
  54. package/components/bh-illustrations.js +1 -1
  55. package/components/bh-inline-cta.js +1 -1
  56. package/components/bh-input-autocomplete.js +1 -1
  57. package/components/bh-input-number.js +1 -1
  58. package/components/bh-input-password.js +1 -1
  59. package/components/bh-input-text.js +1 -1
  60. package/components/bh-input-verification.js +1 -1
  61. package/components/bh-kbd.d.ts +11 -0
  62. package/components/bh-kbd.js +1 -0
  63. package/components/bh-label.js +1 -1
  64. package/components/bh-line-chart.js +1 -1
  65. package/components/bh-logo-box.js +1 -1
  66. package/components/bh-menu-item.js +1 -1
  67. package/components/bh-menu.js +1 -1
  68. package/components/bh-modal-actions.js +1 -1
  69. package/components/bh-modal-header.js +1 -1
  70. package/components/bh-month-picker-content.js +1 -1
  71. package/components/bh-month-picker.js +1 -1
  72. package/components/bh-multi-select.js +1 -1
  73. package/components/bh-nav-item.js +1 -1
  74. package/components/bh-notification-center.d.ts +11 -0
  75. package/components/bh-notification-center.js +1 -0
  76. package/components/bh-page-header.js +1 -1
  77. package/components/bh-page-navigation-child.js +1 -1
  78. package/components/bh-page-navigation-multi-level.js +1 -1
  79. package/components/bh-page-navigation-single-level.js +1 -1
  80. package/components/bh-page-navigation.js +1 -1
  81. package/components/bh-pagination.js +1 -1
  82. package/components/bh-picker-menu.js +1 -1
  83. package/components/bh-pie-chart.js +1 -1
  84. package/components/bh-pivot-grid-field-chooser.js +1 -1
  85. package/components/bh-pivot-grid.js +1 -1
  86. package/components/bh-progress-bar.js +1 -1
  87. package/components/bh-progress-ring.js +1 -1
  88. package/components/bh-property-switcher.js +1 -1
  89. package/components/bh-radar-chart.js +1 -1
  90. package/components/bh-radio-button.js +1 -1
  91. package/components/bh-radio-group.js +1 -1
  92. package/components/bh-range-slider.js +1 -1
  93. package/components/bh-section-footer.js +1 -1
  94. package/components/bh-section-header.js +1 -1
  95. package/components/bh-select.js +1 -1
  96. package/components/bh-selection-group-item.js +1 -1
  97. package/components/bh-selection-group.js +1 -1
  98. package/components/bh-side-panel-footer.js +1 -1
  99. package/components/bh-side-panel-header.js +1 -1
  100. package/components/bh-sidebar.js +1 -1
  101. package/components/bh-skeleton-loader.js +1 -1
  102. package/components/bh-stepper.js +1 -1
  103. package/components/bh-tab-item.js +1 -1
  104. package/components/bh-table-header.js +1 -1
  105. package/components/bh-tabs.js +1 -1
  106. package/components/bh-tag-group.js +1 -1
  107. package/components/bh-tag-input.js +1 -1
  108. package/components/bh-tag.js +1 -1
  109. package/components/bh-textarea.js +1 -1
  110. package/components/bh-toast-container.js +1 -1
  111. package/components/bh-toast.js +1 -1
  112. package/components/bh-toggle.js +1 -1
  113. package/components/bh-tooltip.js +1 -1
  114. package/components/bh-trend-chart.js +1 -1
  115. package/components/index.d.ts +6 -0
  116. package/components/index.js +1 -1
  117. package/components/{p-BVwh7Zds.js → p-2SnKTVal.js} +1 -1
  118. package/components/{p-DpyQ9_VL.js → p-6tew_a-x.js} +1 -1
  119. package/components/{p-BUoq_1rz.js → p-B7La6Iwp.js} +1 -1
  120. package/components/p-B8HxD-vO.js +1 -0
  121. package/components/{p-CdwBDbHF.js → p-B9--bog4.js} +1 -1
  122. package/components/{p-D_0aDuRr.js → p-BF5hfv7s.js} +1 -1
  123. package/components/{p-oaisznHL.js → p-BI2Y2Le4.js} +1 -1
  124. package/components/p-Be6mIKzo.js +1 -0
  125. package/components/p-Bh0oD_Yf.js +1 -0
  126. package/components/{p-nMu0IHKp.js → p-BniMhcxp.js} +1 -1
  127. package/components/{p-CZRjavNE.js → p-Br9M2BbM.js} +1 -1
  128. package/components/{p-QCa_P3zY.js → p-BwxcuFPS.js} +1 -1
  129. package/components/{p-Dq8Cpk56.js → p-BzHDM9Tg.js} +1 -1
  130. package/components/{p-D-D80sUk.js → p-C4rAmars.js} +1 -1
  131. package/components/{p-B2KPN863.js → p-C7fkgBQS.js} +1 -1
  132. package/components/{p-cD3vmu49.js → p-CClVva-u.js} +1 -1
  133. package/components/p-CJUnjRCe.js +1 -0
  134. package/components/{p--a7Uv1ky.js → p-CK_Py1Yi.js} +1 -1
  135. package/components/{p-DjJP-dIm.js → p-CWdw6bHR.js} +1 -1
  136. package/components/{p-XYHjFWDD.js → p-CZ_H3nat.js} +1 -1
  137. package/components/{p-CtaODgcw.js → p-C_nrq7_Y.js} +1 -1
  138. package/components/{p-BFL2Pm_E.js → p-CssmbrSc.js} +1 -1
  139. package/components/p-CvsupUaF.js +1 -0
  140. package/components/{p-DBAPExTG.js → p-CvwyG_Kj.js} +1 -1
  141. package/components/{p-Bf_iTZDv.js → p-D6aw0IK6.js} +1 -1
  142. package/components/{p-CzvaS9up.js → p-DBl9mNfN.js} +1 -1
  143. package/components/{p-DWoyQVnq.js → p-DG90uKhz.js} +1 -1
  144. package/components/{p-CWY9YV_9.js → p-DGWzDn9Y.js} +1 -1
  145. package/components/p-DJlRFgcj.js +1 -0
  146. package/components/p-DKWhUGrV.js +1 -0
  147. package/components/{p-CC_DXFwx.js → p-DSDbfC31.js} +1 -1
  148. package/components/{p-1SkDR91n.js → p-DUm7JrA0.js} +1 -1
  149. package/components/{p-C6UC_xxP.js → p-DblmzWu8.js} +1 -1
  150. package/components/{p-BHeNnP2q.js → p-DfCONXO0.js} +1 -1
  151. package/components/p-DhgfM7Wy.js +1 -0
  152. package/components/{p-Xa6gUVGr.js → p-DjUfsCJJ.js} +1 -1
  153. package/components/{p-CVSRqFZ0.js → p-DjpXtbw8.js} +1 -1
  154. package/components/{p-GjWzFf-V.js → p-Dzlsnb7d.js} +1 -1
  155. package/components/{p-Be20AcNb.js → p-S-miu3h6.js} +1 -1
  156. package/components/{p-DIMoIy0w.js → p-W2SGLZN7.js} +1 -1
  157. package/components/{p-arW9uaFJ.js → p-hhv9O2Qq.js} +1 -1
  158. package/components/{p-BwwSI2Fv.js → p-jNp3nckG.js} +1 -1
  159. package/dist/bellhop-core/bellhop-core.esm.js +1 -1
  160. package/dist/bellhop-core/p-009efb12.entry.js +1 -0
  161. package/dist/bellhop-core/p-01b505e3.entry.js +1 -0
  162. package/dist/bellhop-core/p-02945f90.entry.js +1 -0
  163. package/dist/bellhop-core/p-04d2ec72.entry.js +1 -0
  164. package/dist/bellhop-core/p-05867224.entry.js +1 -0
  165. package/dist/bellhop-core/p-05a53d3b.entry.js +1 -0
  166. package/dist/bellhop-core/p-0692ab72.entry.js +1 -0
  167. package/dist/bellhop-core/p-06f9b713.entry.js +1 -0
  168. package/dist/bellhop-core/p-08b8ba36.entry.js +1 -0
  169. package/dist/bellhop-core/p-0953e008.entry.js +1 -0
  170. package/dist/bellhop-core/p-0976eb7a.entry.js +1 -0
  171. package/dist/bellhop-core/p-097d70d9.entry.js +1 -0
  172. package/dist/bellhop-core/p-0a316bb6.entry.js +1 -0
  173. package/dist/bellhop-core/p-108ca612.entry.js +1 -0
  174. package/dist/bellhop-core/p-12d3c4e9.entry.js +1 -0
  175. package/dist/bellhop-core/p-13f15f41.entry.js +1 -0
  176. package/dist/bellhop-core/p-15bb1050.entry.js +1 -0
  177. package/dist/bellhop-core/p-16e01b81.entry.js +1 -0
  178. package/dist/bellhop-core/p-188980bd.entry.js +1 -0
  179. package/dist/bellhop-core/p-1fba0985.entry.js +1 -0
  180. package/dist/bellhop-core/p-24e5c52b.entry.js +1 -0
  181. package/dist/bellhop-core/p-29729109.entry.js +1 -0
  182. package/dist/bellhop-core/p-2b93b512.entry.js +1 -0
  183. package/dist/bellhop-core/{p-213a104c.entry.js → p-2bcd94d0.entry.js} +1 -1
  184. package/dist/bellhop-core/p-2bdb9784.entry.js +1 -0
  185. package/dist/bellhop-core/p-2ee44b97.entry.js +1 -0
  186. package/dist/bellhop-core/p-3348400a.entry.js +1 -0
  187. package/dist/bellhop-core/p-38873b75.entry.js +1 -0
  188. package/dist/bellhop-core/p-399be504.entry.js +1 -0
  189. package/dist/bellhop-core/p-3d67e55f.entry.js +1 -0
  190. package/dist/bellhop-core/p-3dcf8812.entry.js +1 -0
  191. package/dist/bellhop-core/p-42f26142.entry.js +1 -0
  192. package/dist/bellhop-core/p-43d94b51.entry.js +1 -0
  193. package/dist/bellhop-core/p-4c65d80a.entry.js +1 -0
  194. package/dist/bellhop-core/p-4e4b59cc.entry.js +1 -0
  195. package/dist/bellhop-core/p-50c00ac6.entry.js +1 -0
  196. package/dist/bellhop-core/p-52d0c0ac.entry.js +1 -0
  197. package/dist/bellhop-core/p-53ddab62.entry.js +1 -0
  198. package/dist/bellhop-core/p-558c1c9f.entry.js +1 -0
  199. package/dist/bellhop-core/{p-fb8e0e6c.entry.js → p-59feba80.entry.js} +1 -1
  200. package/dist/bellhop-core/{p-165b45f3.entry.js → p-5a49ebee.entry.js} +1 -1
  201. package/dist/bellhop-core/p-5f5648e6.entry.js +1 -0
  202. package/dist/bellhop-core/p-614f84ff.entry.js +1 -0
  203. package/dist/bellhop-core/p-6517c63b.entry.js +1 -0
  204. package/dist/bellhop-core/{p-c86b7e41.entry.js → p-654de2b6.entry.js} +1 -1
  205. package/dist/bellhop-core/p-65e10ead.entry.js +1 -0
  206. package/dist/bellhop-core/p-68c5a0bd.entry.js +1 -0
  207. package/dist/bellhop-core/p-68cf8430.entry.js +1 -0
  208. package/dist/bellhop-core/p-6ad1ed53.entry.js +1 -0
  209. package/dist/bellhop-core/p-6df539be.entry.js +1 -0
  210. package/dist/bellhop-core/p-6e1c1c27.entry.js +1 -0
  211. package/dist/bellhop-core/p-710e4da7.entry.js +1 -0
  212. package/dist/bellhop-core/p-7841fbc2.entry.js +1 -0
  213. package/dist/bellhop-core/p-7bceb793.entry.js +1 -0
  214. package/dist/bellhop-core/p-7bd58fae.entry.js +1 -0
  215. package/dist/bellhop-core/p-7c0d23d4.entry.js +1 -0
  216. package/dist/bellhop-core/p-7e226f98.entry.js +1 -0
  217. package/dist/bellhop-core/{p-4a96c207.entry.js → p-815fb83e.entry.js} +1 -1
  218. package/dist/bellhop-core/p-832bf58d.entry.js +1 -0
  219. package/dist/bellhop-core/p-8370a956.entry.js +1 -0
  220. package/dist/bellhop-core/{p-b992fd96.entry.js → p-858017eb.entry.js} +1 -1
  221. package/dist/bellhop-core/p-87c827d7.entry.js +1 -0
  222. package/dist/bellhop-core/p-8a38724f.entry.js +1 -0
  223. package/dist/bellhop-core/p-8aa87a99.entry.js +1 -0
  224. package/dist/bellhop-core/p-8ad4d720.entry.js +1 -0
  225. package/dist/bellhop-core/p-8d319614.entry.js +1 -0
  226. package/dist/bellhop-core/p-963e6ad9.entry.js +1 -0
  227. package/dist/bellhop-core/p-97bed0b0.entry.js +1 -0
  228. package/dist/bellhop-core/{p-df4c2032.entry.js → p-9b2d67db.entry.js} +2 -2
  229. package/dist/bellhop-core/p-9b935b1a.entry.js +1 -0
  230. package/dist/bellhop-core/p-9cf187af.entry.js +1 -0
  231. package/dist/bellhop-core/p-9e0b9dec.entry.js +1 -0
  232. package/dist/bellhop-core/p-CBTS9Vhx.js +1 -0
  233. package/dist/bellhop-core/{p-Dn-MvAk9.js → p-CKTtXT2O.js} +1 -1
  234. package/dist/bellhop-core/p-CMKOFHIa.js +1 -0
  235. package/dist/bellhop-core/p-Xi3uD33F.js +1 -0
  236. package/dist/bellhop-core/p-a57034cf.entry.js +1 -0
  237. package/dist/bellhop-core/p-a925a3d8.entry.js +1 -0
  238. package/dist/bellhop-core/p-abf0f15d.entry.js +1 -0
  239. package/dist/bellhop-core/p-b212b4c1.entry.js +1 -0
  240. package/dist/bellhop-core/p-b2380f56.entry.js +1 -0
  241. package/dist/bellhop-core/p-b333c85f.entry.js +1 -0
  242. package/dist/bellhop-core/p-b9d363b0.entry.js +1 -0
  243. package/dist/bellhop-core/p-b9d86b80.entry.js +1 -0
  244. package/dist/bellhop-core/p-baa76b6d.entry.js +1 -0
  245. package/dist/bellhop-core/p-bb11a7df.entry.js +1 -0
  246. package/dist/bellhop-core/p-bcc53e7e.entry.js +1 -0
  247. package/dist/bellhop-core/p-c0513194.entry.js +1 -0
  248. package/dist/bellhop-core/p-c1eed46c.entry.js +1 -0
  249. package/dist/bellhop-core/p-c2440a5a.entry.js +1 -0
  250. package/dist/bellhop-core/p-c338d5ed.entry.js +1 -0
  251. package/dist/bellhop-core/p-c4cd8445.entry.js +1 -0
  252. package/dist/bellhop-core/p-cd404c53.entry.js +1 -0
  253. package/dist/bellhop-core/p-d2fdf27a.entry.js +1 -0
  254. package/dist/bellhop-core/p-d89a2316.entry.js +1 -0
  255. package/dist/bellhop-core/p-d9903fd1.entry.js +1 -0
  256. package/dist/bellhop-core/p-df86ac00.entry.js +1 -0
  257. package/dist/bellhop-core/p-dfc61397.entry.js +1 -0
  258. package/dist/bellhop-core/p-e02bdcfb.entry.js +1 -0
  259. package/dist/bellhop-core/p-e6ad9a10.entry.js +1 -0
  260. package/dist/bellhop-core/p-e86b4fbf.entry.js +1 -0
  261. package/dist/bellhop-core/p-eed85b08.entry.js +1 -0
  262. package/dist/bellhop-core/p-f0a47a26.entry.js +1 -0
  263. package/dist/bellhop-core/p-f46e818f.entry.js +1 -0
  264. package/dist/bellhop-core/p-f6c8568f.entry.js +1 -0
  265. package/dist/bellhop-core/p-f784164a.entry.js +1 -0
  266. package/dist/bellhop-core/p-f8d47699.entry.js +1 -0
  267. package/dist/bellhop-core/{p-1323f446.entry.js → p-f8dce3b6.entry.js} +1 -1
  268. package/dist/bellhop-core/p-f9962334.entry.js +1 -0
  269. package/dist/bellhop-core/p-fb897d66.entry.js +1 -0
  270. package/dist/cjs/bellhop-core.cjs.js +1 -1
  271. package/dist/cjs/bh-accordion-item.cjs.entry.js +4 -3
  272. package/dist/cjs/bh-accordion.cjs.entry.js +3 -2
  273. package/dist/cjs/bh-activity-feed_2.cjs.entry.js +174 -0
  274. package/dist/cjs/bh-alert.cjs.entry.js +4 -3
  275. package/dist/cjs/bh-appbar.cjs.entry.js +57 -11
  276. package/dist/cjs/bh-autocomplete-menu.cjs.entry.js +3 -2
  277. package/dist/cjs/bh-avatar-add.cjs.entry.js +4 -3
  278. package/dist/cjs/bh-avatar-stacked.cjs.entry.js +4 -3
  279. package/dist/cjs/bh-avatar.cjs.entry.js +6 -5
  280. package/dist/cjs/bh-badge-dot_2.cjs.entry.js +8 -7
  281. package/dist/cjs/bh-badge.cjs.entry.js +6 -5
  282. package/dist/cjs/bh-banner.cjs.entry.js +5 -4
  283. package/dist/cjs/bh-bar-chart.cjs.entry.js +5 -4
  284. package/dist/cjs/bh-breadcrumbs.cjs.entry.js +16 -5
  285. package/dist/cjs/bh-button-icon_2.cjs.entry.js +5 -4
  286. package/dist/cjs/bh-button.cjs.entry.js +5 -4
  287. package/dist/cjs/bh-card-content.cjs.entry.js +4 -3
  288. package/dist/cjs/bh-card-footer.cjs.entry.js +4 -3
  289. package/dist/cjs/bh-card-header.cjs.entry.js +4 -3
  290. package/dist/cjs/bh-card.cjs.entry.js +4 -3
  291. package/dist/cjs/bh-chart-tooltip.cjs.entry.js +5 -4
  292. package/dist/cjs/bh-chat-message.cjs.entry.js +5 -4
  293. package/dist/cjs/bh-chat-reaction.cjs.entry.js +5 -4
  294. package/dist/cjs/bh-checkbox.cjs.entry.js +3 -2
  295. package/dist/cjs/bh-checklist-task-group_3.cjs.entry.js +6 -5
  296. package/dist/cjs/bh-close-button.cjs.entry.js +1 -1
  297. package/dist/cjs/bh-command-bar.cjs.entry.js +309 -0
  298. package/dist/cjs/bh-container-footer.cjs.entry.js +4 -3
  299. package/dist/cjs/bh-container.cjs.entry.js +4 -3
  300. package/dist/cjs/bh-credit-card.cjs.entry.js +4 -3
  301. package/dist/cjs/bh-data-grid-body.cjs.entry.js +3 -2
  302. package/dist/cjs/bh-data-grid-change-preview.cjs.entry.js +3 -2
  303. package/dist/cjs/bh-data-grid-filter-builder.cjs.entry.js +3 -2
  304. package/dist/cjs/bh-data-grid-footer.cjs.entry.js +4 -3
  305. package/dist/cjs/bh-data-grid-header.cjs.entry.js +3 -2
  306. package/dist/cjs/bh-data-grid-toolbar.cjs.entry.js +4 -3
  307. package/dist/cjs/bh-data-grid.cjs.entry.js +4 -3
  308. package/dist/cjs/bh-date-picker-content.cjs.entry.js +6 -5
  309. package/dist/cjs/bh-date-picker.cjs.entry.js +6 -5
  310. package/dist/cjs/bh-date-range-picker-content.cjs.entry.js +5 -4
  311. package/dist/cjs/bh-date-range-picker.cjs.entry.js +7 -6
  312. package/dist/cjs/bh-divider.cjs.entry.js +4 -3
  313. package/dist/cjs/bh-dropdown-menu.cjs.entry.js +1 -1
  314. package/dist/cjs/bh-dropdown.cjs.entry.js +13 -4
  315. package/dist/cjs/bh-emoji-picker.cjs.entry.js +1 -1
  316. package/dist/cjs/bh-empty-state_2.cjs.entry.js +6 -5
  317. package/dist/cjs/bh-featured-icon.cjs.entry.js +4 -3
  318. package/dist/cjs/bh-gauge-chart.cjs.entry.js +5 -4
  319. package/dist/cjs/bh-guided-checklist.cjs.entry.js +5 -4
  320. package/dist/cjs/bh-html-editor-bubble-menu_2.cjs.entry.js +8 -7
  321. package/dist/cjs/bh-html-editor.cjs.entry.js +5 -4
  322. package/dist/cjs/bh-illustrations.cjs.entry.js +4 -3
  323. package/dist/cjs/bh-inline-cta.cjs.entry.js +5 -4
  324. package/dist/cjs/bh-input-autocomplete.cjs.entry.js +7 -6
  325. package/dist/cjs/bh-input-number.cjs.entry.js +5 -4
  326. package/dist/cjs/bh-input-password.cjs.entry.js +6 -5
  327. package/dist/cjs/bh-input-text.cjs.entry.js +5 -4
  328. package/dist/cjs/bh-input-verification.cjs.entry.js +4 -3
  329. package/dist/cjs/bh-kbd.cjs.entry.js +34 -0
  330. package/dist/cjs/bh-label_2.cjs.entry.js +5 -4
  331. package/dist/cjs/bh-line-chart.cjs.entry.js +5 -4
  332. package/dist/cjs/bh-logo-box_2.cjs.entry.js +8 -7
  333. package/dist/cjs/bh-menu_2.cjs.entry.js +4 -3
  334. package/dist/cjs/bh-modal-actions.cjs.entry.js +4 -3
  335. package/dist/cjs/bh-modal-header.cjs.entry.js +7 -6
  336. package/dist/cjs/bh-modal.cjs.entry.js +4 -3
  337. package/dist/cjs/bh-month-picker-content.cjs.entry.js +4 -3
  338. package/dist/cjs/bh-month-picker.cjs.entry.js +6 -5
  339. package/dist/cjs/bh-multi-select.cjs.entry.js +8 -7
  340. package/dist/cjs/bh-notification-center.cjs.entry.js +210 -0
  341. package/dist/cjs/bh-page-header.cjs.entry.js +4 -3
  342. package/dist/cjs/bh-page-navigation-child.cjs.entry.js +4 -3
  343. package/dist/cjs/bh-page-navigation-multi-level_2.cjs.entry.js +7 -6
  344. package/dist/cjs/bh-page-navigation.cjs.entry.js +4 -3
  345. package/dist/cjs/bh-pagination_2.cjs.entry.js +10 -9
  346. package/dist/cjs/bh-picker-menu.cjs.entry.js +3 -2
  347. package/dist/cjs/bh-pie-chart.cjs.entry.js +6 -5
  348. package/dist/cjs/bh-pivot-grid-field-chooser.cjs.entry.js +5 -4
  349. package/dist/cjs/bh-pivot-grid.cjs.entry.js +20 -19
  350. package/dist/cjs/bh-popover.cjs.entry.js +3 -2
  351. package/dist/cjs/bh-product-switcher.cjs.entry.js +3 -2
  352. package/dist/cjs/bh-progress-bar.cjs.entry.js +7 -6
  353. package/dist/cjs/bh-progress-ring.cjs.entry.js +1 -1
  354. package/dist/cjs/bh-property-switcher.cjs.entry.js +22 -5
  355. package/dist/cjs/bh-radar-chart.cjs.entry.js +5 -4
  356. package/dist/cjs/bh-radio-button.cjs.entry.js +3 -2
  357. package/dist/cjs/bh-radio-group.cjs.entry.js +4 -3
  358. package/dist/cjs/bh-range-slider.cjs.entry.js +4 -3
  359. package/dist/cjs/bh-section-footer.cjs.entry.js +4 -3
  360. package/dist/cjs/bh-section-header.cjs.entry.js +4 -3
  361. package/dist/cjs/bh-selection-group-item.cjs.entry.js +3 -2
  362. package/dist/cjs/bh-selection-group.cjs.entry.js +4 -3
  363. package/dist/cjs/bh-side-panel-footer.cjs.entry.js +1 -1
  364. package/dist/cjs/bh-side-panel-header.cjs.entry.js +1 -1
  365. package/dist/cjs/bh-sidebar.cjs.entry.js +19 -5
  366. package/dist/cjs/bh-stepper.cjs.entry.js +3 -2
  367. package/dist/cjs/bh-tab-item.cjs.entry.js +5 -4
  368. package/dist/cjs/bh-table-header.cjs.entry.js +4 -3
  369. package/dist/cjs/bh-tabs.cjs.entry.js +4 -3
  370. package/dist/cjs/bh-tag-group.cjs.entry.js +4 -3
  371. package/dist/cjs/bh-tag-input.cjs.entry.js +5 -4
  372. package/dist/cjs/bh-textarea.cjs.entry.js +5 -4
  373. package/dist/cjs/bh-toast-container.cjs.entry.js +1 -1
  374. package/dist/cjs/bh-toast.cjs.entry.js +5 -4
  375. package/dist/cjs/bh-toggle.cjs.entry.js +4 -3
  376. package/dist/cjs/bh-trend-chart.cjs.entry.js +5 -4
  377. package/dist/cjs/{component-error-handler-C4vfF_Qu.js → component-error-handler-BxXlGq4E.js} +1 -1
  378. package/dist/cjs/error-boundary-fNUNT0lE.js +75 -0
  379. package/dist/cjs/hotkeys-BzAUI8Zg.js +113 -0
  380. package/dist/cjs/index-B6sArKsK.js +20 -12
  381. package/dist/cjs/loader.cjs.js +1 -1
  382. package/dist/cjs/{error-boundary-Bf7TcT4U.js → logger-DZionBgs.js} +0 -71
  383. package/dist/collection/collection-manifest.json +3 -0
  384. package/dist/collection/components/bh-accordion/bh-accordion-item/bh-accordion-item.js +1 -1
  385. package/dist/collection/components/bh-activity-feed/bh-activity-feed.css +8 -0
  386. package/dist/collection/components/bh-activity-feed/bh-activity-feed.js +29 -2
  387. package/dist/collection/components/bh-appbar/bh-appbar.css +28 -1
  388. package/dist/collection/components/bh-appbar/bh-appbar.js +220 -9
  389. package/dist/collection/components/bh-appbar/bh-notification-center/bh-notification-center.css +118 -0
  390. package/dist/collection/components/bh-appbar/bh-notification-center/bh-notification-center.js +513 -0
  391. package/dist/collection/components/bh-avatar/bh-avatar-add/bh-avatar-add.js +1 -1
  392. package/dist/collection/components/bh-avatar/bh-avatar-stacked/bh-avatar-stacked.js +1 -1
  393. package/dist/collection/components/bh-avatar/bh-avatar.css +8 -2
  394. package/dist/collection/components/bh-avatar/bh-avatar.js +2 -2
  395. package/dist/collection/components/bh-badge/bh-badge-dot/bh-badge-dot.js +1 -1
  396. package/dist/collection/components/bh-badge/bh-badge.js +2 -2
  397. package/dist/collection/components/bh-banner/bh-banner.js +2 -2
  398. package/dist/collection/components/bh-breadcrumbs/bh-breadcrumbs.css +3 -1
  399. package/dist/collection/components/bh-breadcrumbs/bh-breadcrumbs.js +14 -3
  400. package/dist/collection/components/bh-button/bh-button-icon/bh-button-icon.js +1 -1
  401. package/dist/collection/components/bh-button/bh-button.js +1 -1
  402. package/dist/collection/components/bh-card/bh-card-content/bh-card-content.js +1 -1
  403. package/dist/collection/components/bh-card/bh-card-footer/bh-card-footer.js +1 -1
  404. package/dist/collection/components/bh-card/bh-card-header/bh-card-header.js +1 -1
  405. package/dist/collection/components/bh-card/bh-card.js +1 -1
  406. package/dist/collection/components/bh-chart/bh-bar-chart/bh-bar-chart.js +2 -2
  407. package/dist/collection/components/bh-chart/bh-chart-tooltip/bh-chart-tooltip.js +2 -2
  408. package/dist/collection/components/bh-chart/bh-gauge-chart/bh-gauge-chart.js +2 -2
  409. package/dist/collection/components/bh-chart/bh-line-chart/bh-line-chart.js +2 -2
  410. package/dist/collection/components/bh-chart/bh-pie-chart/bh-pie-chart.js +3 -3
  411. package/dist/collection/components/bh-chart/bh-progress-bar/bh-progress-bar.js +4 -4
  412. package/dist/collection/components/bh-chart/bh-radar-chart/bh-radar-chart.js +2 -2
  413. package/dist/collection/components/bh-chart/bh-trend-chart/bh-trend-chart.js +2 -2
  414. package/dist/collection/components/bh-chat/bh-chat-message/bh-chat-message.js +2 -2
  415. package/dist/collection/components/bh-chat/bh-chat-reaction/bh-chat-reaction.js +2 -2
  416. package/dist/collection/components/bh-close-button/bh-close-button.js +1 -1
  417. package/dist/collection/components/bh-command-bar/bh-command-bar.css +181 -0
  418. package/dist/collection/components/bh-command-bar/bh-command-bar.figma.js +9 -0
  419. package/dist/collection/components/bh-command-bar/bh-command-bar.js +663 -0
  420. package/dist/collection/components/bh-container/bh-container-footer/bh-container-footer.js +1 -1
  421. package/dist/collection/components/bh-container/bh-container.js +1 -1
  422. package/dist/collection/components/bh-credit-card/bh-credit-card.js +1 -1
  423. package/dist/collection/components/bh-data-grid/bh-data-grid-footer.js +1 -1
  424. package/dist/collection/components/bh-data-grid/bh-data-grid-toolbar.js +1 -1
  425. package/dist/collection/components/bh-divider/bh-divider.js +1 -1
  426. package/dist/collection/components/bh-dropdown/bh-dropdown-menu/bh-dropdown-menu.js +1 -1
  427. package/dist/collection/components/bh-dropdown/bh-dropdown.js +29 -1
  428. package/dist/collection/components/bh-emoji-picker/bh-emoji-picker.js +1 -1
  429. package/dist/collection/components/bh-empty-state/bh-empty-state.js +1 -1
  430. package/dist/collection/components/bh-fab/bh-fab.js +2 -2
  431. package/dist/collection/components/bh-featured-icon/bh-featured-icon.js +1 -1
  432. package/dist/collection/components/bh-feed-item/bh-feed-item.css +9 -2
  433. package/dist/collection/components/bh-feed-item/bh-feed-item.js +81 -4
  434. package/dist/collection/components/bh-guided-checklist/bh-guided-checklist.js +1 -1
  435. package/dist/collection/components/bh-html-editor/bh-html-editor-bubble-menu/bh-html-editor-bubble-menu.js +3 -3
  436. package/dist/collection/components/bh-html-editor/bh-html-editor-toolbar/bh-html-editor-toolbar.js +1 -1
  437. package/dist/collection/components/bh-html-editor/bh-html-editor.js +2 -2
  438. package/dist/collection/components/bh-illustrations/bh-illustrations.js +1 -1
  439. package/dist/collection/components/bh-inline-cta/bh-inline-cta.js +2 -2
  440. package/dist/collection/components/bh-input/bh-input-autocomplete/bh-input-autocomplete.js +3 -3
  441. package/dist/collection/components/bh-input/bh-input-number/bh-input-number.js +2 -2
  442. package/dist/collection/components/bh-input/bh-input-password/bh-input-password.js +3 -3
  443. package/dist/collection/components/bh-input/bh-input-text/bh-input-text.js +2 -2
  444. package/dist/collection/components/bh-input/bh-input-verification/bh-input-verification.js +1 -1
  445. package/dist/collection/components/bh-input/bh-tag-input/bh-tag-input.js +2 -2
  446. package/dist/collection/components/bh-input/bh-textarea/bh-textarea.js +2 -2
  447. package/dist/collection/components/bh-kbd/bh-kbd.css +33 -0
  448. package/dist/collection/components/bh-kbd/bh-kbd.figma.js +11 -0
  449. package/dist/collection/components/bh-kbd/bh-kbd.js +78 -0
  450. package/dist/collection/components/bh-logo-box/bh-logo-box.js +2 -2
  451. package/dist/collection/components/bh-modal/bh-modal-actions/bh-modal-actions.js +1 -1
  452. package/dist/collection/components/bh-modal/bh-modal-header/bh-modal-header.js +4 -4
  453. package/dist/collection/components/bh-multi-select/bh-multi-select.js +3 -3
  454. package/dist/collection/components/bh-page-header/bh-page-header.js +2 -2
  455. package/dist/collection/components/bh-page-navigation/bh-page-navigation-child/bh-page-navigation-child.js +1 -1
  456. package/dist/collection/components/bh-page-navigation/bh-page-navigation-multi-level/bh-page-navigation-multi-level.js +2 -2
  457. package/dist/collection/components/bh-page-navigation/bh-page-navigation-single-level/bh-page-navigation-single-level.js +1 -1
  458. package/dist/collection/components/bh-page-navigation/bh-page-navigation.js +1 -1
  459. package/dist/collection/components/bh-pagination/bh-pagination.js +2 -2
  460. package/dist/collection/components/bh-picker/bh-date-picker/bh-date-picker-content/bh-date-picker-content.js +3 -3
  461. package/dist/collection/components/bh-picker/bh-date-picker/bh-date-picker.js +3 -3
  462. package/dist/collection/components/bh-picker/bh-date-range-picker/bh-date-range-picker-content/bh-date-range-picker-content.js +2 -2
  463. package/dist/collection/components/bh-picker/bh-date-range-picker/bh-date-range-picker.js +4 -4
  464. package/dist/collection/components/bh-picker/bh-month-picker/bh-month-picker-content/bh-month-picker-content.js +1 -1
  465. package/dist/collection/components/bh-picker/bh-month-picker/bh-month-picker.js +3 -3
  466. package/dist/collection/components/bh-pivot-grid/bh-pivot-grid-field-chooser/bh-pivot-grid-field-chooser.js +2 -2
  467. package/dist/collection/components/bh-pivot-grid/bh-pivot-grid.js +16 -16
  468. package/dist/collection/components/bh-progress-ring/bh-progress-ring.js +1 -1
  469. package/dist/collection/components/bh-property-switcher/bh-property-switcher.js +20 -4
  470. package/dist/collection/components/bh-radio-group/bh-radio-group.js +1 -1
  471. package/dist/collection/components/bh-range-slider/bh-range-slider.js +1 -1
  472. package/dist/collection/components/bh-section-footer/bh-section-footer.js +1 -1
  473. package/dist/collection/components/bh-section-header/bh-section-header.js +1 -1
  474. package/dist/collection/components/bh-select/bh-select.js +4 -4
  475. package/dist/collection/components/bh-selection-group/bh-selection-group.js +1 -1
  476. package/dist/collection/components/bh-side-panel/bh-side-panel-footer/bh-side-panel-footer.js +1 -1
  477. package/dist/collection/components/bh-side-panel/bh-side-panel-header/bh-side-panel-header.js +1 -1
  478. package/dist/collection/components/bh-sidebar/bh-nav-item/bh-nav-item.js +2 -2
  479. package/dist/collection/components/bh-sidebar/bh-sidebar.js +79 -3
  480. package/dist/collection/components/bh-skeleton-loader/bh-skeleton-loader.js +1 -1
  481. package/dist/collection/components/bh-table-header/bh-table-header.js +1 -1
  482. package/dist/collection/components/bh-tabs/bh-tab-item/bh-tab-item.js +2 -2
  483. package/dist/collection/components/bh-tabs/bh-tabs.js +1 -1
  484. package/dist/collection/components/bh-tag/bh-tag-group/bh-tag-group.js +1 -1
  485. package/dist/collection/components/bh-tag/bh-tag.js +2 -2
  486. package/dist/collection/components/bh-toast/bh-toast.js +2 -2
  487. package/dist/collection/components/bh-toast-container/bh-toast-container.js +1 -1
  488. package/dist/collection/components/bh-toggle/bh-toggle.js +1 -1
  489. package/dist/collection/components/bh-tooltip/bh-tooltip.js +1 -1
  490. package/dist/collection/components/index.js +5 -0
  491. package/dist/collection/utils/hotkeys.js +107 -0
  492. package/dist/collection/utils/index.js +4 -0
  493. package/dist/esm/bellhop-core.js +1 -1
  494. package/dist/esm/bh-accordion-item.entry.js +3 -2
  495. package/dist/esm/bh-accordion.entry.js +2 -1
  496. package/dist/esm/bh-activity-feed_2.entry.js +171 -0
  497. package/dist/esm/bh-alert.entry.js +3 -2
  498. package/dist/esm/bh-appbar.entry.js +56 -10
  499. package/dist/esm/bh-autocomplete-menu.entry.js +2 -1
  500. package/dist/esm/bh-avatar-add.entry.js +3 -2
  501. package/dist/esm/bh-avatar-stacked.entry.js +3 -2
  502. package/dist/esm/bh-avatar.entry.js +5 -4
  503. package/dist/esm/bh-badge-dot_2.entry.js +6 -5
  504. package/dist/esm/bh-badge.entry.js +5 -4
  505. package/dist/esm/bh-banner.entry.js +4 -3
  506. package/dist/esm/bh-bar-chart.entry.js +4 -3
  507. package/dist/esm/bh-breadcrumbs.entry.js +15 -4
  508. package/dist/esm/bh-button-icon_2.entry.js +3 -2
  509. package/dist/esm/bh-button.entry.js +4 -3
  510. package/dist/esm/bh-card-content.entry.js +3 -2
  511. package/dist/esm/bh-card-footer.entry.js +3 -2
  512. package/dist/esm/bh-card-header.entry.js +3 -2
  513. package/dist/esm/bh-card.entry.js +3 -2
  514. package/dist/esm/bh-chart-tooltip.entry.js +4 -3
  515. package/dist/esm/bh-chat-message.entry.js +4 -3
  516. package/dist/esm/bh-chat-reaction.entry.js +4 -3
  517. package/dist/esm/bh-checkbox.entry.js +2 -1
  518. package/dist/esm/bh-checklist-task-group_3.entry.js +5 -4
  519. package/dist/esm/bh-close-button.entry.js +1 -1
  520. package/dist/esm/bh-command-bar.entry.js +307 -0
  521. package/dist/esm/bh-container-footer.entry.js +3 -2
  522. package/dist/esm/bh-container.entry.js +3 -2
  523. package/dist/esm/bh-credit-card.entry.js +3 -2
  524. package/dist/esm/bh-data-grid-body.entry.js +2 -1
  525. package/dist/esm/bh-data-grid-change-preview.entry.js +2 -1
  526. package/dist/esm/bh-data-grid-filter-builder.entry.js +2 -1
  527. package/dist/esm/bh-data-grid-footer.entry.js +3 -2
  528. package/dist/esm/bh-data-grid-header.entry.js +2 -1
  529. package/dist/esm/bh-data-grid-toolbar.entry.js +3 -2
  530. package/dist/esm/bh-data-grid.entry.js +3 -2
  531. package/dist/esm/bh-date-picker-content.entry.js +5 -4
  532. package/dist/esm/bh-date-picker.entry.js +5 -4
  533. package/dist/esm/bh-date-range-picker-content.entry.js +4 -3
  534. package/dist/esm/bh-date-range-picker.entry.js +6 -5
  535. package/dist/esm/bh-divider.entry.js +3 -2
  536. package/dist/esm/bh-dropdown-menu.entry.js +1 -1
  537. package/dist/esm/bh-dropdown.entry.js +12 -3
  538. package/dist/esm/bh-emoji-picker.entry.js +1 -1
  539. package/dist/esm/bh-empty-state_2.entry.js +4 -3
  540. package/dist/esm/bh-featured-icon.entry.js +3 -2
  541. package/dist/esm/bh-gauge-chart.entry.js +4 -3
  542. package/dist/esm/bh-guided-checklist.entry.js +4 -3
  543. package/dist/esm/bh-html-editor-bubble-menu_2.entry.js +6 -5
  544. package/dist/esm/bh-html-editor.entry.js +4 -3
  545. package/dist/esm/bh-illustrations.entry.js +3 -2
  546. package/dist/esm/bh-inline-cta.entry.js +4 -3
  547. package/dist/esm/bh-input-autocomplete.entry.js +6 -5
  548. package/dist/esm/bh-input-number.entry.js +4 -3
  549. package/dist/esm/bh-input-password.entry.js +5 -4
  550. package/dist/esm/bh-input-text.entry.js +4 -3
  551. package/dist/esm/bh-input-verification.entry.js +3 -2
  552. package/dist/esm/bh-kbd.entry.js +32 -0
  553. package/dist/esm/bh-label_2.entry.js +3 -2
  554. package/dist/esm/bh-line-chart.entry.js +4 -3
  555. package/dist/esm/bh-logo-box_2.entry.js +6 -5
  556. package/dist/esm/bh-menu_2.entry.js +2 -1
  557. package/dist/esm/bh-modal-actions.entry.js +3 -2
  558. package/dist/esm/bh-modal-header.entry.js +6 -5
  559. package/dist/esm/bh-modal.entry.js +3 -2
  560. package/dist/esm/bh-month-picker-content.entry.js +3 -2
  561. package/dist/esm/bh-month-picker.entry.js +5 -4
  562. package/dist/esm/bh-multi-select.entry.js +7 -6
  563. package/dist/esm/bh-notification-center.entry.js +208 -0
  564. package/dist/esm/bh-page-header.entry.js +3 -2
  565. package/dist/esm/bh-page-navigation-child.entry.js +3 -2
  566. package/dist/esm/bh-page-navigation-multi-level_2.entry.js +5 -4
  567. package/dist/esm/bh-page-navigation.entry.js +3 -2
  568. package/dist/esm/bh-pagination_2.entry.js +8 -7
  569. package/dist/esm/bh-picker-menu.entry.js +2 -1
  570. package/dist/esm/bh-pie-chart.entry.js +5 -4
  571. package/dist/esm/bh-pivot-grid-field-chooser.entry.js +4 -3
  572. package/dist/esm/bh-pivot-grid.entry.js +19 -18
  573. package/dist/esm/bh-popover.entry.js +2 -1
  574. package/dist/esm/bh-product-switcher.entry.js +2 -1
  575. package/dist/esm/bh-progress-bar.entry.js +6 -5
  576. package/dist/esm/bh-progress-ring.entry.js +1 -1
  577. package/dist/esm/bh-property-switcher.entry.js +21 -4
  578. package/dist/esm/bh-radar-chart.entry.js +4 -3
  579. package/dist/esm/bh-radio-button.entry.js +2 -1
  580. package/dist/esm/bh-radio-group.entry.js +3 -2
  581. package/dist/esm/bh-range-slider.entry.js +3 -2
  582. package/dist/esm/bh-section-footer.entry.js +3 -2
  583. package/dist/esm/bh-section-header.entry.js +3 -2
  584. package/dist/esm/bh-selection-group-item.entry.js +2 -1
  585. package/dist/esm/bh-selection-group.entry.js +3 -2
  586. package/dist/esm/bh-side-panel-footer.entry.js +1 -1
  587. package/dist/esm/bh-side-panel-header.entry.js +1 -1
  588. package/dist/esm/bh-sidebar.entry.js +18 -4
  589. package/dist/esm/bh-stepper.entry.js +2 -1
  590. package/dist/esm/bh-tab-item.entry.js +4 -3
  591. package/dist/esm/bh-table-header.entry.js +3 -2
  592. package/dist/esm/bh-tabs.entry.js +3 -2
  593. package/dist/esm/bh-tag-group.entry.js +3 -2
  594. package/dist/esm/bh-tag-input.entry.js +4 -3
  595. package/dist/esm/bh-textarea.entry.js +4 -3
  596. package/dist/esm/bh-toast-container.entry.js +1 -1
  597. package/dist/esm/bh-toast.entry.js +4 -3
  598. package/dist/esm/bh-toggle.entry.js +3 -2
  599. package/dist/esm/bh-trend-chart.entry.js +4 -3
  600. package/dist/esm/{component-error-handler-BVWQSuxn.js → component-error-handler-bgLpf9Pn.js} +1 -1
  601. package/dist/esm/error-boundary-afpK3NgJ.js +70 -0
  602. package/dist/esm/hotkeys-CBTS9Vhx.js +109 -0
  603. package/dist/esm/index-CTHvNfIu.js +20 -12
  604. package/dist/esm/loader.js +1 -1
  605. package/dist/esm/{error-boundary-YLeLKAYJ.js → logger-CMKOFHIa.js} +1 -68
  606. package/dist/locales/bh-appbar/de.json +4 -1
  607. package/dist/locales/bh-appbar/en.json +4 -1
  608. package/dist/locales/bh-appbar/es.json +4 -1
  609. package/dist/locales/bh-appbar/fr.json +4 -1
  610. package/dist/locales/bh-appbar/ja.json +4 -1
  611. package/dist/locales/bh-appbar/pt.json +4 -1
  612. package/dist/locales/bh-appbar/ru.json +4 -1
  613. package/dist/locales/bh-appbar/zh.json +4 -1
  614. package/dist/locales/bh-command-bar/de.json +13 -0
  615. package/dist/locales/bh-command-bar/en.json +13 -0
  616. package/dist/locales/bh-command-bar/es.json +13 -0
  617. package/dist/locales/bh-command-bar/fr.json +13 -0
  618. package/dist/locales/bh-command-bar/ja.json +13 -0
  619. package/dist/locales/bh-command-bar/pt.json +13 -0
  620. package/dist/locales/bh-command-bar/ru.json +13 -0
  621. package/dist/locales/bh-command-bar/zh.json +13 -0
  622. package/dist/types/components/bh-activity-feed/bh-activity-feed.d.ts +6 -0
  623. package/dist/types/components/bh-appbar/bh-appbar.d.ts +38 -0
  624. package/dist/types/components/bh-appbar/bh-notification-center/bh-notification-center.d.ts +108 -0
  625. package/dist/types/components/bh-breadcrumbs/bh-breadcrumbs.d.ts +8 -0
  626. package/dist/types/components/bh-command-bar/bh-command-bar.d.ts +131 -0
  627. package/dist/types/components/bh-command-bar/bh-command-bar.figma.d.ts +1 -0
  628. package/dist/types/components/bh-dropdown/bh-dropdown.d.ts +4 -0
  629. package/dist/types/components/bh-feed-item/bh-feed-item.d.ts +15 -0
  630. package/dist/types/components/bh-kbd/bh-kbd.d.ts +13 -0
  631. package/dist/types/components/bh-kbd/bh-kbd.figma.d.ts +1 -0
  632. package/dist/types/components/bh-property-switcher/bh-property-switcher.d.ts +2 -0
  633. package/dist/types/components/bh-sidebar/bh-sidebar.d.ts +14 -1
  634. package/dist/types/components/index.d.ts +3 -0
  635. package/dist/types/components.d.ts +541 -4
  636. package/dist/types/index.d.ts +2 -0
  637. package/dist/types/utils/hotkeys.d.ts +23 -0
  638. package/dist/types/utils/index.d.ts +1 -0
  639. package/hydrate/index.js +1021 -189
  640. package/hydrate/index.mjs +1021 -189
  641. package/llms.txt +4251 -286
  642. package/package.json +1 -1
  643. package/vscode-data.json +215 -0
  644. package/components/p-B7i48CAz.js +0 -1
  645. package/components/p-Bk-ipvH3.js +0 -1
  646. package/components/p-Cy98fCjm.js +0 -1
  647. package/components/p-i7ZvTRXV.js +0 -1
  648. package/dist/bellhop-core/p-008932dc.entry.js +0 -1
  649. package/dist/bellhop-core/p-03e002af.entry.js +0 -1
  650. package/dist/bellhop-core/p-062955a0.entry.js +0 -1
  651. package/dist/bellhop-core/p-0705eb78.entry.js +0 -1
  652. package/dist/bellhop-core/p-0a1548b0.entry.js +0 -1
  653. package/dist/bellhop-core/p-0a758a65.entry.js +0 -1
  654. package/dist/bellhop-core/p-0b3a286d.entry.js +0 -1
  655. package/dist/bellhop-core/p-0e60f7f5.entry.js +0 -1
  656. package/dist/bellhop-core/p-105d9352.entry.js +0 -1
  657. package/dist/bellhop-core/p-11eec77c.entry.js +0 -1
  658. package/dist/bellhop-core/p-1334408b.entry.js +0 -1
  659. package/dist/bellhop-core/p-141d68b7.entry.js +0 -1
  660. package/dist/bellhop-core/p-164db491.entry.js +0 -1
  661. package/dist/bellhop-core/p-170c4a62.entry.js +0 -1
  662. package/dist/bellhop-core/p-19739563.entry.js +0 -1
  663. package/dist/bellhop-core/p-1cfa274f.entry.js +0 -1
  664. package/dist/bellhop-core/p-1ddb2ef9.entry.js +0 -1
  665. package/dist/bellhop-core/p-22243198.entry.js +0 -1
  666. package/dist/bellhop-core/p-23acfc6a.entry.js +0 -1
  667. package/dist/bellhop-core/p-277693e6.entry.js +0 -1
  668. package/dist/bellhop-core/p-283eb6ee.entry.js +0 -1
  669. package/dist/bellhop-core/p-298d6782.entry.js +0 -1
  670. package/dist/bellhop-core/p-30f1e109.entry.js +0 -1
  671. package/dist/bellhop-core/p-31e952ed.entry.js +0 -1
  672. package/dist/bellhop-core/p-3254b058.entry.js +0 -1
  673. package/dist/bellhop-core/p-332a6b0d.entry.js +0 -1
  674. package/dist/bellhop-core/p-43c97303.entry.js +0 -1
  675. package/dist/bellhop-core/p-4b8fe1fa.entry.js +0 -1
  676. package/dist/bellhop-core/p-4d8b9186.entry.js +0 -1
  677. package/dist/bellhop-core/p-50b95dc8.entry.js +0 -1
  678. package/dist/bellhop-core/p-53006e0e.entry.js +0 -1
  679. package/dist/bellhop-core/p-53683664.entry.js +0 -1
  680. package/dist/bellhop-core/p-53dc8f16.entry.js +0 -1
  681. package/dist/bellhop-core/p-54d147b9.entry.js +0 -1
  682. package/dist/bellhop-core/p-56b090e1.entry.js +0 -1
  683. package/dist/bellhop-core/p-58eae3e6.entry.js +0 -1
  684. package/dist/bellhop-core/p-5d43f80b.entry.js +0 -1
  685. package/dist/bellhop-core/p-61aeccd7.entry.js +0 -1
  686. package/dist/bellhop-core/p-63303380.entry.js +0 -1
  687. package/dist/bellhop-core/p-63af6f45.entry.js +0 -1
  688. package/dist/bellhop-core/p-640aaf14.entry.js +0 -1
  689. package/dist/bellhop-core/p-6632ba13.entry.js +0 -1
  690. package/dist/bellhop-core/p-6807b97e.entry.js +0 -1
  691. package/dist/bellhop-core/p-6a725cbe.entry.js +0 -1
  692. package/dist/bellhop-core/p-6bfb6425.entry.js +0 -1
  693. package/dist/bellhop-core/p-6c4eb165.entry.js +0 -1
  694. package/dist/bellhop-core/p-72cd0a98.entry.js +0 -1
  695. package/dist/bellhop-core/p-74972e2e.entry.js +0 -1
  696. package/dist/bellhop-core/p-77a7967d.entry.js +0 -1
  697. package/dist/bellhop-core/p-79bc0c14.entry.js +0 -1
  698. package/dist/bellhop-core/p-7f2736ab.entry.js +0 -1
  699. package/dist/bellhop-core/p-83024333.entry.js +0 -1
  700. package/dist/bellhop-core/p-8c01d55f.entry.js +0 -1
  701. package/dist/bellhop-core/p-8d4654ea.entry.js +0 -1
  702. package/dist/bellhop-core/p-9429002f.entry.js +0 -1
  703. package/dist/bellhop-core/p-956ca990.entry.js +0 -1
  704. package/dist/bellhop-core/p-9b0d2d1d.entry.js +0 -1
  705. package/dist/bellhop-core/p-YLeLKAYJ.js +0 -1
  706. package/dist/bellhop-core/p-a0005573.entry.js +0 -1
  707. package/dist/bellhop-core/p-a26f1ec0.entry.js +0 -1
  708. package/dist/bellhop-core/p-a42cca95.entry.js +0 -1
  709. package/dist/bellhop-core/p-a7153865.entry.js +0 -1
  710. package/dist/bellhop-core/p-a7608d57.entry.js +0 -1
  711. package/dist/bellhop-core/p-a94d36ae.entry.js +0 -1
  712. package/dist/bellhop-core/p-a9644488.entry.js +0 -1
  713. package/dist/bellhop-core/p-aac0f3c1.entry.js +0 -1
  714. package/dist/bellhop-core/p-aae7e90e.entry.js +0 -1
  715. package/dist/bellhop-core/p-ac2d706c.entry.js +0 -1
  716. package/dist/bellhop-core/p-b21105d4.entry.js +0 -1
  717. package/dist/bellhop-core/p-b7995c47.entry.js +0 -1
  718. package/dist/bellhop-core/p-bacf8b19.entry.js +0 -1
  719. package/dist/bellhop-core/p-bf2f5dbd.entry.js +0 -1
  720. package/dist/bellhop-core/p-c10aff52.entry.js +0 -1
  721. package/dist/bellhop-core/p-c30fcfcb.entry.js +0 -1
  722. package/dist/bellhop-core/p-c581c876.entry.js +0 -1
  723. package/dist/bellhop-core/p-c97c166b.entry.js +0 -1
  724. package/dist/bellhop-core/p-cb19b35b.entry.js +0 -1
  725. package/dist/bellhop-core/p-cb1dde19.entry.js +0 -1
  726. package/dist/bellhop-core/p-cf8c9d85.entry.js +0 -1
  727. package/dist/bellhop-core/p-d3816b20.entry.js +0 -1
  728. package/dist/bellhop-core/p-d4107350.entry.js +0 -1
  729. package/dist/bellhop-core/p-d59fdc08.entry.js +0 -1
  730. package/dist/bellhop-core/p-d77016ec.entry.js +0 -1
  731. package/dist/bellhop-core/p-dd1e6138.entry.js +0 -1
  732. package/dist/bellhop-core/p-dd6f2996.entry.js +0 -1
  733. package/dist/bellhop-core/p-e082bce2.entry.js +0 -1
  734. package/dist/bellhop-core/p-e0e28b1f.entry.js +0 -1
  735. package/dist/bellhop-core/p-e4a47861.entry.js +0 -1
  736. package/dist/bellhop-core/p-e74a03e3.entry.js +0 -1
  737. package/dist/bellhop-core/p-e9168244.entry.js +0 -1
  738. package/dist/bellhop-core/p-ea1fe131.entry.js +0 -1
  739. package/dist/bellhop-core/p-ecf1b0c4.entry.js +0 -1
  740. package/dist/bellhop-core/p-f16e07ca.entry.js +0 -1
  741. package/dist/bellhop-core/p-f2d2abb2.entry.js +0 -1
  742. package/dist/bellhop-core/p-f8f6e900.entry.js +0 -1
  743. package/dist/bellhop-core/p-fbdeab71.entry.js +0 -1
  744. package/dist/bellhop-core/p-fcb058cf.entry.js +0 -1
  745. package/dist/cjs/bh-activity-feed.cjs.entry.js +0 -71
  746. package/dist/cjs/bh-feed-item.cjs.entry.js +0 -82
  747. package/dist/esm/bh-activity-feed.entry.js +0 -69
  748. package/dist/esm/bh-feed-item.entry.js +0 -80
@@ -1,4 +1,4 @@
1
- import{h as t,p as e,H as r,c as a,f as i,t as o}from"./p-YZi6LqIt.js";import{v as n}from"./p-DlPm3fIV.js";import{r as l}from"./p-gY2wiaRN.js";import{i as s,g as d}from"./p-jpCe1QTg.js";import{d as c}from"./p-B7i48CAz.js";import{d as h}from"./p-Bk-ipvH3.js";import{d as u}from"./p-oaisznHL.js";import{d as g}from"./p-cD3vmu49.js";import{d as p}from"./p-BHeNnP2q.js";import{d as b}from"./p-BVwh7Zds.js";import{d as m}from"./p-DjJP-dIm.js";import{d as v}from"./p-GjWzFf-V.js";import{d as f}from"./p-B2KPN863.js";import{d as w}from"./p-BbPrWlsw.js";import{c as x,a as y,d as C}from"./p-BR00DQQ7.js";import{d as k}from"./p-CZRjavNE.js";import{d as z}from"./p-XYHjFWDD.js";import{d as S}from"./p-BwwSI2Fv.js";import{d as I}from"./p-QCa_P3zY.js";import{d as R}from"./p-CVSRqFZ0.js";import{d as E}from"./p-Dq8Cpk56.js";import{d as D}from"./p-Bf_iTZDv.js";import{b as F,i as M,c as O}from"./p-BqJRACkO.js";import{D as j}from"./p-UjNYPqeE.js";import{c as P,t as B,a as T}from"./p-CqAYzGVs.js";import{c as _,m as N,M as V}from"./p-BJXjqxlX.js";import{c as H}from"./p-Dmpif9C-.js";import{K as A}from"./p-zdFuIabL.js";const L={failureThreshold:5,resetTimeout:3e4,name:"data-grid"};function q(t){if(!t)return"";try{return j.sanitize(t).replace(/<script[\s\S]*?>[\s\S]*?<\/script>/gi,"").replace(/\son[a-z]+\s*=\s*(["']).*?\1/gi,"").replace(/\son[a-z]+\s*=\s*[^\s>]+/gi,"")}catch{return function(t){return t.replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;").replaceAll('"',"&quot;").replaceAll("'","&#39;")}(t)}}
1
+ import{h as t,p as e,H as r,c as a,f as i,t as o}from"./p-YZi6LqIt.js";import{v as n}from"./p-DlPm3fIV.js";import{r as l}from"./p-gY2wiaRN.js";import{i as s,g as d}from"./p-jpCe1QTg.js";import{d as c}from"./p-DJlRFgcj.js";import{d as h}from"./p-Be6mIKzo.js";import{d as u}from"./p-BI2Y2Le4.js";import{d as g}from"./p-CClVva-u.js";import{d as p}from"./p-DfCONXO0.js";import{d as b}from"./p-2SnKTVal.js";import{d as m}from"./p-CWdw6bHR.js";import{d as v}from"./p-Dzlsnb7d.js";import{d as f}from"./p-C7fkgBQS.js";import{d as w}from"./p-BbPrWlsw.js";import{c as x,a as y,d as C}from"./p-BR00DQQ7.js";import{d as k}from"./p-Br9M2BbM.js";import{d as z}from"./p-CZ_H3nat.js";import{d as S}from"./p-jNp3nckG.js";import{d as I}from"./p-BwxcuFPS.js";import{d as R}from"./p-DjpXtbw8.js";import{d as D}from"./p-BzHDM9Tg.js";import{d as E}from"./p-D6aw0IK6.js";import{b as F,i as M,c as O}from"./p-BqJRACkO.js";import{D as j}from"./p-UjNYPqeE.js";import{c as P,t as B,a as T}from"./p-CqAYzGVs.js";import{c as _,m as N,M as V}from"./p-BJXjqxlX.js";import{c as H}from"./p-Dmpif9C-.js";import{K as A}from"./p-zdFuIabL.js";const L={failureThreshold:5,resetTimeout:3e4,name:"data-grid"};function q(t){if(!t)return"";try{return j.sanitize(t).replace(/<script[\s\S]*?>[\s\S]*?<\/script>/gi,"").replace(/\son[a-z]+\s*=\s*(["']).*?\1/gi,"").replace(/\son[a-z]+\s*=\s*[^\s>]+/gi,"")}catch{return function(t){return t.replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;").replaceAll('"',"&quot;").replaceAll("'","&#39;")}(t)}}
2
2
  /**
3
3
  * table-core
4
4
  *
@@ -8,4 +8,4 @@ import{h as t,p as e,H as r,c as a,f as i,t as o}from"./p-YZi6LqIt.js";import{v
8
8
  * LICENSE.md file in the root directory of this source tree.
9
9
  *
10
10
  * @license MIT
11
- */function G(t,e){return"function"==typeof t?t(e):t}function K(t,e){return r=>{e.setState((e=>({...e,[t]:G(r,e[t])})))}}function W(t){return t instanceof Function}function $(t,e){const r=[],a=t=>{t.forEach((t=>{r.push(t);const i=e(t);null!=i&&i.length&&a(i)}))};return a(t),r}function U(t,e,r){let a,i=[];return o=>{let n;r.key&&r.debug&&(n=Date.now());const l=t(o);if(l.length===i.length&&!l.some(((t,e)=>i[e]!==t)))return a;let s;if(i=l,r.key&&r.debug&&(s=Date.now()),a=e(...l),null==r||null==r.onChange||r.onChange(a),r.key&&r.debug&&null!=r&&r.debug()){const t=Math.round(100*(Date.now()-n))/100,e=Math.round(100*(Date.now()-s))/100,a=e/16,i=(t,e)=>{for(t+="";t.length<e;)t=" "+t;return t};console.info(`%c⏱ ${i(e,5)} /${i(t,5)} ms`,`\n font-size: .6rem;\n font-weight: bold;\n color: hsl(${Math.max(0,Math.min(120-120*a,120))}deg 100% 31%);`,null==r?void 0:r.key)}return a}}function J(t,e,r,a){return{debug:()=>{var r;return null!=(r=null==t?void 0:t.debugAll)?r:t[e]},key:!1,onChange:a}}const Y="debugHeaders";function X(t,e,r){var a;let i={id:null!=(a=r.id)?a:e.id,column:e,index:r.index,isPlaceholder:!!r.isPlaceholder,placeholderId:r.placeholderId,depth:r.depth,subHeaders:[],colSpan:0,rowSpan:0,headerGroup:null,getLeafHeaders:()=>{const t=[],e=r=>{r.subHeaders&&r.subHeaders.length&&r.subHeaders.map(e),t.push(r)};return e(i),t},getContext:()=>({table:t,header:i,column:e})};return t._features.forEach((e=>{null==e.createHeader||e.createHeader(i,t)})),i}const Z={createTable:t=>{t.getHeaderGroups=U((()=>[t.getAllColumns(),t.getVisibleLeafColumns(),t.getState().columnPinning.left,t.getState().columnPinning.right]),((e,r,a,i)=>{var o,n;const l=null!=(o=null==a?void 0:a.map((t=>r.find((e=>e.id===t)))).filter(Boolean))?o:[],s=null!=(n=null==i?void 0:i.map((t=>r.find((e=>e.id===t)))).filter(Boolean))?n:[];return Q(e,[...l,...r.filter((t=>!(null!=a&&a.includes(t.id)||null!=i&&i.includes(t.id)))),...s],t)}),J(t.options,Y)),t.getCenterHeaderGroups=U((()=>[t.getAllColumns(),t.getVisibleLeafColumns(),t.getState().columnPinning.left,t.getState().columnPinning.right]),((e,r,a,i)=>Q(e,r=r.filter((t=>!(null!=a&&a.includes(t.id)||null!=i&&i.includes(t.id)))),t,"center")),J(t.options,Y)),t.getLeftHeaderGroups=U((()=>[t.getAllColumns(),t.getVisibleLeafColumns(),t.getState().columnPinning.left]),((e,r,a)=>{var i;return Q(e,null!=(i=null==a?void 0:a.map((t=>r.find((e=>e.id===t)))).filter(Boolean))?i:[],t,"left")}),J(t.options,Y)),t.getRightHeaderGroups=U((()=>[t.getAllColumns(),t.getVisibleLeafColumns(),t.getState().columnPinning.right]),((e,r,a)=>{var i;return Q(e,null!=(i=null==a?void 0:a.map((t=>r.find((e=>e.id===t)))).filter(Boolean))?i:[],t,"right")}),J(t.options,Y)),t.getFooterGroups=U((()=>[t.getHeaderGroups()]),(t=>[...t].reverse()),J(t.options,Y)),t.getLeftFooterGroups=U((()=>[t.getLeftHeaderGroups()]),(t=>[...t].reverse()),J(t.options,Y)),t.getCenterFooterGroups=U((()=>[t.getCenterHeaderGroups()]),(t=>[...t].reverse()),J(t.options,Y)),t.getRightFooterGroups=U((()=>[t.getRightHeaderGroups()]),(t=>[...t].reverse()),J(t.options,Y)),t.getFlatHeaders=U((()=>[t.getHeaderGroups()]),(t=>t.map((t=>t.headers)).flat()),J(t.options,Y)),t.getLeftFlatHeaders=U((()=>[t.getLeftHeaderGroups()]),(t=>t.map((t=>t.headers)).flat()),J(t.options,Y)),t.getCenterFlatHeaders=U((()=>[t.getCenterHeaderGroups()]),(t=>t.map((t=>t.headers)).flat()),J(t.options,Y)),t.getRightFlatHeaders=U((()=>[t.getRightHeaderGroups()]),(t=>t.map((t=>t.headers)).flat()),J(t.options,Y)),t.getCenterLeafHeaders=U((()=>[t.getCenterFlatHeaders()]),(t=>t.filter((t=>{var e;return!(null!=(e=t.subHeaders)&&e.length)}))),J(t.options,Y)),t.getLeftLeafHeaders=U((()=>[t.getLeftFlatHeaders()]),(t=>t.filter((t=>{var e;return!(null!=(e=t.subHeaders)&&e.length)}))),J(t.options,Y)),t.getRightLeafHeaders=U((()=>[t.getRightFlatHeaders()]),(t=>t.filter((t=>{var e;return!(null!=(e=t.subHeaders)&&e.length)}))),J(t.options,Y)),t.getLeafHeaders=U((()=>[t.getLeftHeaderGroups(),t.getCenterHeaderGroups(),t.getRightHeaderGroups()]),((t,e,r)=>{var a,i,o,n,l,s;return[...null!=(a=null==(i=t[0])?void 0:i.headers)?a:[],...null!=(o=null==(n=e[0])?void 0:n.headers)?o:[],...null!=(l=null==(s=r[0])?void 0:s.headers)?l:[]].map((t=>t.getLeafHeaders())).flat()}),J(t.options,Y))}};function Q(t,e,r,a){var i,o;let n=0;const l=function(t,e){void 0===e&&(e=1),n=Math.max(n,e),t.filter((t=>t.getIsVisible())).forEach((t=>{var r;null!=(r=t.columns)&&r.length&&l(t.columns,e+1)}),0)};l(t);let s=[];const d=(t,e)=>{const i={depth:e,id:[a,""+e].filter(Boolean).join("_"),headers:[]},o=[];t.forEach((t=>{const n=[...o].reverse()[0];let l,s=!1;if(t.column.depth===i.depth&&t.column.parent?l=t.column.parent:(l=t.column,s=!0),n&&(null==n?void 0:n.column)===l)n.subHeaders.push(t);else{const i=X(r,l,{id:[a,e,l.id,null==t?void 0:t.id].filter(Boolean).join("_"),isPlaceholder:s,placeholderId:s?""+o.filter((t=>t.column===l)).length:void 0,depth:e,index:o.length});i.subHeaders.push(t),o.push(i)}i.headers.push(t),t.headerGroup=i})),s.push(i),e>0&&d(o,e-1)},c=e.map(((t,e)=>X(r,t,{depth:n,index:e})));d(c,n-1),s.reverse();const h=t=>t.filter((t=>t.column.getIsVisible())).map((t=>{let e=0,r=0,a=[0];return t.subHeaders&&t.subHeaders.length?(a=[],h(t.subHeaders).forEach((t=>{let{colSpan:r,rowSpan:i}=t;e+=r,a.push(i)}))):e=1,r+=Math.min(...a),t.colSpan=e,t.rowSpan=r,{colSpan:e,rowSpan:r}}));return h(null!=(i=null==(o=s[0])?void 0:o.headers)?i:[]),s}const tt=(t,e,r,a,i,o,n)=>{let l={id:e,index:a,original:r,depth:i,parentId:n,_valuesCache:{},_uniqueValuesCache:{},getValue:e=>{if(l._valuesCache.hasOwnProperty(e))return l._valuesCache[e];const r=t.getColumn(e);return null!=r&&r.accessorFn?(l._valuesCache[e]=r.accessorFn(l.original,a),l._valuesCache[e]):void 0},getUniqueValues:e=>{if(l._uniqueValuesCache.hasOwnProperty(e))return l._uniqueValuesCache[e];const r=t.getColumn(e);return null!=r&&r.accessorFn?r.columnDef.getUniqueValues?(l._uniqueValuesCache[e]=r.columnDef.getUniqueValues(l.original,a),l._uniqueValuesCache[e]):(l._uniqueValuesCache[e]=[l.getValue(e)],l._uniqueValuesCache[e]):void 0},renderValue:e=>{var r;return null!=(r=l.getValue(e))?r:t.options.renderFallbackValue},subRows:null!=o?o:[],getLeafRows:()=>$(l.subRows,(t=>t.subRows)),getParentRow:()=>l.parentId?t.getRow(l.parentId,!0):void 0,getParentRows:()=>{let t=[],e=l;for(;;){const r=e.getParentRow();if(!r)break;t.push(r),e=r}return t.reverse()},getAllCells:U((()=>[t.getAllLeafColumns()]),(e=>e.map((e=>function(t,e,r,a){const i={id:`${e.id}_${r.id}`,row:e,column:r,getValue:()=>e.getValue(a),renderValue:()=>{var e;return null!=(e=i.getValue())?e:t.options.renderFallbackValue},getContext:U((()=>[t,r,e,i]),((t,e,r,a)=>({table:t,column:e,row:r,cell:a,getValue:a.getValue,renderValue:a.renderValue})),J(t.options,"debugCells"))};return t._features.forEach((a=>{null==a.createCell||a.createCell(i,r,e,t)}),{}),i}(t,l,e,e.id)))),J(t.options,"debugRows")),_getAllCellsByColumnId:U((()=>[l.getAllCells()]),(t=>t.reduce(((t,e)=>(t[e.column.id]=e,t)),{})),J(t.options,"debugRows"))};for(let e=0;e<t._features.length;e++){const r=t._features[e];null==r||null==r.createRow||r.createRow(l,t)}return l},et={createColumn:(t,e)=>{t._getFacetedRowModel=e.options.getFacetedRowModel&&e.options.getFacetedRowModel(e,t.id),t.getFacetedRowModel=()=>t._getFacetedRowModel?t._getFacetedRowModel():e.getPreFilteredRowModel(),t._getFacetedUniqueValues=e.options.getFacetedUniqueValues&&e.options.getFacetedUniqueValues(e,t.id),t.getFacetedUniqueValues=()=>t._getFacetedUniqueValues?t._getFacetedUniqueValues():new Map,t._getFacetedMinMaxValues=e.options.getFacetedMinMaxValues&&e.options.getFacetedMinMaxValues(e,t.id),t.getFacetedMinMaxValues=()=>{if(t._getFacetedMinMaxValues)return t._getFacetedMinMaxValues()}}},rt=(t,e,r)=>{var a,i;const o=null==r||null==(a=""+r)?void 0:a.toLowerCase();return!!(null==(i=t.getValue(e))||null==(i=""+i)||null==(i=i.toLowerCase())?void 0:i.includes(o))};rt.autoRemove=t=>ut(t);const at=(t,e,r)=>{var a;return!!(null==(a=t.getValue(e))||null==(a=""+a)?void 0:a.includes(r))};at.autoRemove=t=>ut(t);const it=(t,e,r)=>{var a;return(null==(a=t.getValue(e))||null==(a=""+a)?void 0:a.toLowerCase())===(null==r?void 0:r.toLowerCase())};it.autoRemove=t=>ut(t);const ot=(t,e,r)=>{var a;return null==(a=t.getValue(e))?void 0:a.includes(r)};ot.autoRemove=t=>ut(t);const nt=(t,e,r)=>!r.some((r=>{var a;return!(null!=(a=t.getValue(e))&&a.includes(r))}));nt.autoRemove=t=>ut(t)||!(null!=t&&t.length);const lt=(t,e,r)=>r.some((r=>{var a;return null==(a=t.getValue(e))?void 0:a.includes(r)}));lt.autoRemove=t=>ut(t)||!(null!=t&&t.length);const st=(t,e,r)=>t.getValue(e)===r;st.autoRemove=t=>ut(t);const dt=(t,e,r)=>t.getValue(e)==r;dt.autoRemove=t=>ut(t);const ct=(t,e,r)=>{let[a,i]=r;const o=t.getValue(e);return o>=a&&o<=i};ct.resolveFilterValue=t=>{let[e,r]=t,a="number"!=typeof e?parseFloat(e):e,i="number"!=typeof r?parseFloat(r):r,o=null===e||Number.isNaN(a)?-1/0:a,n=null===r||Number.isNaN(i)?1/0:i;if(o>n){const t=o;o=n,n=t}return[o,n]},ct.autoRemove=t=>ut(t)||ut(t[0])&&ut(t[1]);const ht={includesString:rt,includesStringSensitive:at,equalsString:it,arrIncludes:ot,arrIncludesAll:nt,arrIncludesSome:lt,equals:st,weakEquals:dt,inNumberRange:ct};function ut(t){return null==t||""===t}function gt(t,e,r){return!(!t||!t.autoRemove)&&t.autoRemove(e,r)||void 0===e||"string"==typeof e&&!e}const pt={sum:(t,e,r)=>r.reduce(((e,r)=>{const a=r.getValue(t);return e+("number"==typeof a?a:0)}),0),min:(t,e,r)=>{let a;return r.forEach((e=>{const r=e.getValue(t);null!=r&&(a>r||void 0===a&&r>=r)&&(a=r)})),a},max:(t,e,r)=>{let a;return r.forEach((e=>{const r=e.getValue(t);null!=r&&(a<r||void 0===a&&r>=r)&&(a=r)})),a},extent:(t,e,r)=>{let a,i;return r.forEach((e=>{const r=e.getValue(t);null!=r&&(void 0===a?r>=r&&(a=i=r):(a>r&&(a=r),i<r&&(i=r)))})),[a,i]},mean:(t,e)=>{let r=0,a=0;if(e.forEach((e=>{let i=e.getValue(t);null!=i&&(i=+i)>=i&&(++r,a+=i)})),r)return a/r},median:(t,e)=>{if(!e.length)return;const r=e.map((e=>e.getValue(t)));if(!function(t){return Array.isArray(t)&&t.every((t=>"number"==typeof t))}(r))return;if(1===r.length)return r[0];const a=Math.floor(r.length/2),i=r.sort(((t,e)=>t-e));return r.length%2!=0?i[a]:(i[a-1]+i[a])/2},unique:(t,e)=>Array.from(new Set(e.map((e=>e.getValue(t)))).values()),uniqueCount:(t,e)=>new Set(e.map((e=>e.getValue(t)))).size,count:(t,e)=>e.length},bt={size:150,minSize:20,maxSize:Number.MAX_SAFE_INTEGER},mt={getDefaultColumnDef:()=>bt,getInitialState:t=>({columnSizing:{},columnSizingInfo:{startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]},...t}),getDefaultOptions:t=>({columnResizeMode:"onEnd",columnResizeDirection:"ltr",onColumnSizingChange:K("columnSizing",t),onColumnSizingInfoChange:K("columnSizingInfo",t)}),createColumn:(t,e)=>{t.getSize=()=>{var r,a,i;const o=e.getState().columnSizing[t.id];return Math.min(Math.max(null!=(r=t.columnDef.minSize)?r:bt.minSize,null!=(a=null!=o?o:t.columnDef.size)?a:bt.size),null!=(i=t.columnDef.maxSize)?i:bt.maxSize)},t.getStart=U((t=>[t,wt(e,t),e.getState().columnSizing]),((e,r)=>r.slice(0,t.getIndex(e)).reduce(((t,e)=>t+e.getSize()),0)),J(e.options,"debugColumns")),t.getAfter=U((t=>[t,wt(e,t),e.getState().columnSizing]),((e,r)=>r.slice(t.getIndex(e)+1).reduce(((t,e)=>t+e.getSize()),0)),J(e.options,"debugColumns")),t.resetSize=()=>{e.setColumnSizing((e=>{let{[t.id]:r,...a}=e;return a}))},t.getCanResize=()=>{var r,a;return(null==(r=t.columnDef.enableResizing)||r)&&(null==(a=e.options.enableColumnResizing)||a)},t.getIsResizing=()=>e.getState().columnSizingInfo.isResizingColumn===t.id},createHeader:(t,e)=>{t.getSize=()=>{let e=0;const r=t=>{var a;t.subHeaders.length?t.subHeaders.forEach(r):e+=null!=(a=t.column.getSize())?a:0};return r(t),e},t.getStart=()=>{if(t.index>0){const e=t.headerGroup.headers[t.index-1];return e.getStart()+e.getSize()}return 0},t.getResizeHandler=r=>{const a=e.getColumn(t.column.id),i=null==a?void 0:a.getCanResize();return o=>{if(!a||!i)return;if(null==o.persist||o.persist(),ft(o)&&o.touches&&o.touches.length>1)return;const n=t.getSize(),l=t?t.getLeafHeaders().map((t=>[t.column.id,t.column.getSize()])):[[a.id,a.getSize()]],s=ft(o)?Math.round(o.touches[0].clientX):o.clientX,d={},c=(t,r)=>{"number"==typeof r&&(e.setColumnSizingInfo((t=>{var a,i;const o=(r-(null!=(a=null==t?void 0:t.startOffset)?a:0))*("rtl"===e.options.columnResizeDirection?-1:1),n=Math.max(o/(null!=(i=null==t?void 0:t.startSize)?i:0),-.999999);return t.columnSizingStart.forEach((t=>{let[e,r]=t;d[e]=Math.round(100*Math.max(r+r*n,0))/100})),{...t,deltaOffset:o,deltaPercentage:n}})),"onChange"!==e.options.columnResizeMode&&"end"!==t||e.setColumnSizing((t=>({...t,...d}))))},h=t=>c("move",t),u=t=>{c("end",t),e.setColumnSizingInfo((t=>({...t,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]})))},g=function(t){return t||("undefined"!=typeof document?document:null)}(r),p={moveHandler:t=>h(t.clientX),upHandler:t=>{null==g||g.removeEventListener("mousemove",p.moveHandler),null==g||g.removeEventListener("mouseup",p.upHandler),u(t.clientX)}},b={moveHandler:t=>(t.cancelable&&(t.preventDefault(),t.stopPropagation()),h(t.touches[0].clientX),!1),upHandler:t=>{var e;null==g||g.removeEventListener("touchmove",b.moveHandler),null==g||g.removeEventListener("touchend",b.upHandler),t.cancelable&&(t.preventDefault(),t.stopPropagation()),u(null==(e=t.touches[0])?void 0:e.clientX)}},m=!!function(){if("boolean"==typeof vt)return vt;let t=!1;try{const e=()=>{};window.addEventListener("test",e,{get passive(){return t=!0,!1}}),window.removeEventListener("test",e)}catch(e){t=!1}return vt=t,vt}()&&{passive:!1};ft(o)?(null==g||g.addEventListener("touchmove",b.moveHandler,m),null==g||g.addEventListener("touchend",b.upHandler,m)):(null==g||g.addEventListener("mousemove",p.moveHandler,m),null==g||g.addEventListener("mouseup",p.upHandler,m)),e.setColumnSizingInfo((t=>({...t,startOffset:s,startSize:n,deltaOffset:0,deltaPercentage:0,columnSizingStart:l,isResizingColumn:a.id})))}}},createTable:t=>{t.setColumnSizing=e=>null==t.options.onColumnSizingChange?void 0:t.options.onColumnSizingChange(e),t.setColumnSizingInfo=e=>null==t.options.onColumnSizingInfoChange?void 0:t.options.onColumnSizingInfoChange(e),t.resetColumnSizing=e=>{var r;t.setColumnSizing(e?{}:null!=(r=t.initialState.columnSizing)?r:{})},t.resetHeaderSizeInfo=e=>{var r;t.setColumnSizingInfo(e?{startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}:null!=(r=t.initialState.columnSizingInfo)?r:{startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]})},t.getTotalSize=()=>{var e,r;return null!=(e=null==(r=t.getHeaderGroups()[0])?void 0:r.headers.reduce(((t,e)=>t+e.getSize()),0))?e:0},t.getLeftTotalSize=()=>{var e,r;return null!=(e=null==(r=t.getLeftHeaderGroups()[0])?void 0:r.headers.reduce(((t,e)=>t+e.getSize()),0))?e:0},t.getCenterTotalSize=()=>{var e,r;return null!=(e=null==(r=t.getCenterHeaderGroups()[0])?void 0:r.headers.reduce(((t,e)=>t+e.getSize()),0))?e:0},t.getRightTotalSize=()=>{var e,r;return null!=(e=null==(r=t.getRightHeaderGroups()[0])?void 0:r.headers.reduce(((t,e)=>t+e.getSize()),0))?e:0}}};let vt=null;function ft(t){return"touchstart"===t.type}function wt(t,e){return e?"center"===e?t.getCenterVisibleLeafColumns():"left"===e?t.getLeftVisibleLeafColumns():t.getRightVisibleLeafColumns():t.getVisibleLeafColumns()}const xt={getInitialState:t=>({rowSelection:{},...t}),getDefaultOptions:t=>({onRowSelectionChange:K("rowSelection",t),enableRowSelection:!0,enableMultiRowSelection:!0,enableSubRowSelection:!0}),createTable:t=>{t.setRowSelection=e=>null==t.options.onRowSelectionChange?void 0:t.options.onRowSelectionChange(e),t.resetRowSelection=e=>{var r;return t.setRowSelection(e?{}:null!=(r=t.initialState.rowSelection)?r:{})},t.toggleAllRowsSelected=e=>{t.setRowSelection((r=>{e=void 0!==e?e:!t.getIsAllRowsSelected();const a={...r};return t.getPreGroupedRowModel().flatRows.forEach(e?t=>{t.getCanSelect()&&(a[t.id]=!0)}:t=>{delete a[t.id]}),a}))},t.toggleAllPageRowsSelected=e=>t.setRowSelection((r=>{const a=void 0!==e?e:!t.getIsAllPageRowsSelected(),i={...r};return t.getRowModel().rows.forEach((e=>{yt(i,e.id,a,!0,t)})),i})),t.getPreSelectedRowModel=()=>t.getCoreRowModel(),t.getSelectedRowModel=U((()=>[t.getState().rowSelection,t.getCoreRowModel()]),((e,r)=>Object.keys(e).length?Ct(t,r):{rows:[],flatRows:[],rowsById:{}}),J(t.options,"debugTable")),t.getFilteredSelectedRowModel=U((()=>[t.getState().rowSelection,t.getFilteredRowModel()]),((e,r)=>Object.keys(e).length?Ct(t,r):{rows:[],flatRows:[],rowsById:{}}),J(t.options,"debugTable")),t.getGroupedSelectedRowModel=U((()=>[t.getState().rowSelection,t.getSortedRowModel()]),((e,r)=>Object.keys(e).length?Ct(t,r):{rows:[],flatRows:[],rowsById:{}}),J(t.options,"debugTable")),t.getIsAllRowsSelected=()=>{const e=t.getFilteredRowModel().flatRows,{rowSelection:r}=t.getState();let a=!(!e.length||!Object.keys(r).length);return a&&e.some((t=>t.getCanSelect()&&!r[t.id]))&&(a=!1),a},t.getIsAllPageRowsSelected=()=>{const e=t.getPaginationRowModel().flatRows.filter((t=>t.getCanSelect())),{rowSelection:r}=t.getState();let a=!!e.length;return a&&e.some((t=>!r[t.id]))&&(a=!1),a},t.getIsSomeRowsSelected=()=>{var e;const r=Object.keys(null!=(e=t.getState().rowSelection)?e:{}).length;return r>0&&r<t.getFilteredRowModel().flatRows.length},t.getIsSomePageRowsSelected=()=>{const e=t.getPaginationRowModel().flatRows;return!t.getIsAllPageRowsSelected()&&e.filter((t=>t.getCanSelect())).some((t=>t.getIsSelected()||t.getIsSomeSelected()))},t.getToggleAllRowsSelectedHandler=()=>e=>{t.toggleAllRowsSelected(e.target.checked)},t.getToggleAllPageRowsSelectedHandler=()=>e=>{t.toggleAllPageRowsSelected(e.target.checked)}},createRow:(t,e)=>{t.toggleSelected=(r,a)=>{const i=t.getIsSelected();e.setRowSelection((o=>{var n;if(r=void 0!==r?r:!i,t.getCanSelect()&&i===r)return o;const l={...o};return yt(l,t.id,r,null==(n=null==a?void 0:a.selectChildren)||n,e),l}))},t.getIsSelected=()=>{const{rowSelection:r}=e.getState();return kt(t,r)},t.getIsSomeSelected=()=>{const{rowSelection:r}=e.getState();return"some"===zt(t,r)},t.getIsAllSubRowsSelected=()=>{const{rowSelection:r}=e.getState();return"all"===zt(t,r)},t.getCanSelect=()=>{var r;return"function"==typeof e.options.enableRowSelection?e.options.enableRowSelection(t):null==(r=e.options.enableRowSelection)||r},t.getCanSelectSubRows=()=>{var r;return"function"==typeof e.options.enableSubRowSelection?e.options.enableSubRowSelection(t):null==(r=e.options.enableSubRowSelection)||r},t.getCanMultiSelect=()=>{var r;return"function"==typeof e.options.enableMultiRowSelection?e.options.enableMultiRowSelection(t):null==(r=e.options.enableMultiRowSelection)||r},t.getToggleSelectedHandler=()=>{const e=t.getCanSelect();return r=>{var a;e&&t.toggleSelected(null==(a=r.target)?void 0:a.checked)}}}},yt=(t,e,r,a,i)=>{var o;const n=i.getRow(e,!0);r?(n.getCanMultiSelect()||Object.keys(t).forEach((e=>delete t[e])),n.getCanSelect()&&(t[e]=!0)):delete t[e],a&&null!=(o=n.subRows)&&o.length&&n.getCanSelectSubRows()&&n.subRows.forEach((e=>yt(t,e.id,r,a,i)))};function Ct(t,e){const r=t.getState().rowSelection,a=[],i={},o=function(t){return t.map((t=>{var e;const n=kt(t,r);if(n&&(a.push(t),i[t.id]=t),null!=(e=t.subRows)&&e.length&&(t={...t,subRows:o(t.subRows)}),n)return t})).filter(Boolean)};return{rows:o(e.rows),flatRows:a,rowsById:i}}function kt(t,e){var r;return null!=(r=e[t.id])&&r}function zt(t,e){var r;if(null==(r=t.subRows)||!r.length)return!1;let a=!0,i=!1;return t.subRows.forEach((t=>{if((!i||a)&&(t.getCanSelect()&&(kt(t,e)?i=!0:a=!1),t.subRows&&t.subRows.length)){const r=zt(t,e);"all"===r?i=!0:"some"===r?(i=!0,a=!1):a=!1}})),a?"all":!!i&&"some"}const St=/([0-9]+)/gm;function It(t,e){return t===e?0:t>e?1:-1}function Rt(t){return"number"==typeof t?isNaN(t)||t===1/0||t===-1/0?"":t+"":"string"==typeof t?t:""}function Et(t,e){const r=t.split(St).filter(Boolean),a=e.split(St).filter(Boolean);for(;r.length&&a.length;){const t=r.shift(),e=a.shift(),i=parseInt(t,10),o=parseInt(e,10),n=[i,o].sort();if(isNaN(n[0])){if(t>e)return 1;if(e>t)return-1}else{if(isNaN(n[1]))return isNaN(i)?-1:1;if(i>o)return 1;if(o>i)return-1}}return r.length-a.length}const Dt={alphanumeric:(t,e,r)=>Et(Rt(t.getValue(r)).toLowerCase(),Rt(e.getValue(r)).toLowerCase()),alphanumericCaseSensitive:(t,e,r)=>Et(Rt(t.getValue(r)),Rt(e.getValue(r))),text:(t,e,r)=>It(Rt(t.getValue(r)).toLowerCase(),Rt(e.getValue(r)).toLowerCase()),textCaseSensitive:(t,e,r)=>It(Rt(t.getValue(r)),Rt(e.getValue(r))),datetime:(t,e,r)=>{const a=t.getValue(r),i=e.getValue(r);return a>i?1:a<i?-1:0},basic:(t,e,r)=>It(t.getValue(r),e.getValue(r))},Ft=[Z,{getInitialState:t=>({columnVisibility:{},...t}),getDefaultOptions:t=>({onColumnVisibilityChange:K("columnVisibility",t)}),createColumn:(t,e)=>{t.toggleVisibility=r=>{t.getCanHide()&&e.setColumnVisibility((e=>({...e,[t.id]:null!=r?r:!t.getIsVisible()})))},t.getIsVisible=()=>{var r,a;const i=t.columns;return null==(r=i.length?i.some((t=>t.getIsVisible())):null==(a=e.getState().columnVisibility)?void 0:a[t.id])||r},t.getCanHide=()=>{var r,a;return(null==(r=t.columnDef.enableHiding)||r)&&(null==(a=e.options.enableHiding)||a)},t.getToggleVisibilityHandler=()=>e=>{null==t.toggleVisibility||t.toggleVisibility(e.target.checked)}},createRow:(t,e)=>{t._getAllVisibleCells=U((()=>[t.getAllCells(),e.getState().columnVisibility]),(t=>t.filter((t=>t.column.getIsVisible()))),J(e.options,"debugRows")),t.getVisibleCells=U((()=>[t.getLeftVisibleCells(),t.getCenterVisibleCells(),t.getRightVisibleCells()]),((t,e,r)=>[...t,...e,...r]),J(e.options,"debugRows"))},createTable:t=>{const e=(e,r)=>U((()=>[r(),r().filter((t=>t.getIsVisible())).map((t=>t.id)).join("_")]),(t=>t.filter((t=>null==t.getIsVisible?void 0:t.getIsVisible()))),J(t.options,"debugColumns"));t.getVisibleFlatColumns=e(0,(()=>t.getAllFlatColumns())),t.getVisibleLeafColumns=e(0,(()=>t.getAllLeafColumns())),t.getLeftVisibleLeafColumns=e(0,(()=>t.getLeftLeafColumns())),t.getRightVisibleLeafColumns=e(0,(()=>t.getRightLeafColumns())),t.getCenterVisibleLeafColumns=e(0,(()=>t.getCenterLeafColumns())),t.setColumnVisibility=e=>null==t.options.onColumnVisibilityChange?void 0:t.options.onColumnVisibilityChange(e),t.resetColumnVisibility=e=>{var r;t.setColumnVisibility(e?{}:null!=(r=t.initialState.columnVisibility)?r:{})},t.toggleAllColumnsVisible=e=>{var r;e=null!=(r=e)?r:!t.getIsAllColumnsVisible(),t.setColumnVisibility(t.getAllLeafColumns().reduce(((t,r)=>({...t,[r.id]:e||!(null!=r.getCanHide&&r.getCanHide())})),{}))},t.getIsAllColumnsVisible=()=>!t.getAllLeafColumns().some((t=>!(null!=t.getIsVisible&&t.getIsVisible()))),t.getIsSomeColumnsVisible=()=>t.getAllLeafColumns().some((t=>null==t.getIsVisible?void 0:t.getIsVisible())),t.getToggleAllColumnsVisibilityHandler=()=>e=>{var r;t.toggleAllColumnsVisible(null==(r=e.target)?void 0:r.checked)}}},{getInitialState:t=>({columnOrder:[],...t}),getDefaultOptions:t=>({onColumnOrderChange:K("columnOrder",t)}),createColumn:(t,e)=>{t.getIndex=U((t=>[wt(e,t)]),(e=>e.findIndex((e=>e.id===t.id))),J(e.options,"debugColumns")),t.getIsFirstColumn=r=>{var a;return(null==(a=wt(e,r)[0])?void 0:a.id)===t.id},t.getIsLastColumn=r=>{var a;const i=wt(e,r);return(null==(a=i[i.length-1])?void 0:a.id)===t.id}},createTable:t=>{t.setColumnOrder=e=>null==t.options.onColumnOrderChange?void 0:t.options.onColumnOrderChange(e),t.resetColumnOrder=e=>{var r;t.setColumnOrder(e?[]:null!=(r=t.initialState.columnOrder)?r:[])},t._getOrderColumnsFn=U((()=>[t.getState().columnOrder,t.getState().grouping,t.options.groupedColumnMode]),((t,e,r)=>a=>{let i=[];if(null!=t&&t.length){const e=[...t],r=[...a];for(;r.length&&e.length;){const t=e.shift(),a=r.findIndex((e=>e.id===t));a>-1&&i.push(r.splice(a,1)[0])}i=[...i,...r]}else i=a;return function(t,e,r){if(null==e||!e.length||!r)return t;const a=t.filter((t=>!e.includes(t.id)));return"remove"===r?a:[...e.map((e=>t.find((t=>t.id===e)))).filter(Boolean),...a]}(i,e,r)}),J(t.options,"debugTable"))}},{getInitialState:t=>({columnPinning:{left:[],right:[]},...t}),getDefaultOptions:t=>({onColumnPinningChange:K("columnPinning",t)}),createColumn:(t,e)=>{t.pin=r=>{const a=t.getLeafColumns().map((t=>t.id)).filter(Boolean);e.setColumnPinning((t=>{var e,i,o,n,l,s;return"right"===r?{left:(null!=(o=null==t?void 0:t.left)?o:[]).filter((t=>!(null!=a&&a.includes(t)))),right:[...(null!=(n=null==t?void 0:t.right)?n:[]).filter((t=>!(null!=a&&a.includes(t)))),...a]}:"left"===r?{left:[...(null!=(l=null==t?void 0:t.left)?l:[]).filter((t=>!(null!=a&&a.includes(t)))),...a],right:(null!=(s=null==t?void 0:t.right)?s:[]).filter((t=>!(null!=a&&a.includes(t))))}:{left:(null!=(e=null==t?void 0:t.left)?e:[]).filter((t=>!(null!=a&&a.includes(t)))),right:(null!=(i=null==t?void 0:t.right)?i:[]).filter((t=>!(null!=a&&a.includes(t))))}}))},t.getCanPin=()=>t.getLeafColumns().some((t=>{var r,a,i;return(null==(r=t.columnDef.enablePinning)||r)&&(null==(a=null!=(i=e.options.enableColumnPinning)?i:e.options.enablePinning)||a)})),t.getIsPinned=()=>{const r=t.getLeafColumns().map((t=>t.id)),{left:a,right:i}=e.getState().columnPinning,o=r.some((t=>null==a?void 0:a.includes(t))),n=r.some((t=>null==i?void 0:i.includes(t)));return o?"left":!!n&&"right"},t.getPinnedIndex=()=>{var r,a;const i=t.getIsPinned();return i?null!=(r=null==(a=e.getState().columnPinning)||null==(a=a[i])?void 0:a.indexOf(t.id))?r:-1:0}},createRow:(t,e)=>{t.getCenterVisibleCells=U((()=>[t._getAllVisibleCells(),e.getState().columnPinning.left,e.getState().columnPinning.right]),((t,e,r)=>{const a=[...null!=e?e:[],...null!=r?r:[]];return t.filter((t=>!a.includes(t.column.id)))}),J(e.options,"debugRows")),t.getLeftVisibleCells=U((()=>[t._getAllVisibleCells(),e.getState().columnPinning.left]),((t,e)=>(null!=e?e:[]).map((e=>t.find((t=>t.column.id===e)))).filter(Boolean).map((t=>({...t,position:"left"})))),J(e.options,"debugRows")),t.getRightVisibleCells=U((()=>[t._getAllVisibleCells(),e.getState().columnPinning.right]),((t,e)=>(null!=e?e:[]).map((e=>t.find((t=>t.column.id===e)))).filter(Boolean).map((t=>({...t,position:"right"})))),J(e.options,"debugRows"))},createTable:t=>{t.setColumnPinning=e=>null==t.options.onColumnPinningChange?void 0:t.options.onColumnPinningChange(e),t.resetColumnPinning=e=>{var r,a;return t.setColumnPinning(e?{left:[],right:[]}:null!=(r=null==(a=t.initialState)?void 0:a.columnPinning)?r:{left:[],right:[]})},t.getIsSomeColumnsPinned=e=>{var r;const a=t.getState().columnPinning;var i,o;return e?!!(null==(r=a[e])?void 0:r.length):!(!(null==(i=a.left)?void 0:i.length)&&!(null==(o=a.right)?void 0:o.length))},t.getLeftLeafColumns=U((()=>[t.getAllLeafColumns(),t.getState().columnPinning.left]),((t,e)=>(null!=e?e:[]).map((e=>t.find((t=>t.id===e)))).filter(Boolean)),J(t.options,"debugColumns")),t.getRightLeafColumns=U((()=>[t.getAllLeafColumns(),t.getState().columnPinning.right]),((t,e)=>(null!=e?e:[]).map((e=>t.find((t=>t.id===e)))).filter(Boolean)),J(t.options,"debugColumns")),t.getCenterLeafColumns=U((()=>[t.getAllLeafColumns(),t.getState().columnPinning.left,t.getState().columnPinning.right]),((t,e,r)=>{const a=[...null!=e?e:[],...null!=r?r:[]];return t.filter((t=>!a.includes(t.id)))}),J(t.options,"debugColumns"))}},et,{getDefaultColumnDef:()=>({filterFn:"auto"}),getInitialState:t=>({columnFilters:[],...t}),getDefaultOptions:t=>({onColumnFiltersChange:K("columnFilters",t),filterFromLeafRows:!1,maxLeafRowFilterDepth:100}),createColumn:(t,e)=>{t.getAutoFilterFn=()=>{const r=e.getCoreRowModel().flatRows[0],a=null==r?void 0:r.getValue(t.id);return"string"==typeof a?ht.includesString:"number"==typeof a?ht.inNumberRange:"boolean"==typeof a||null!==a&&"object"==typeof a?ht.equals:Array.isArray(a)?ht.arrIncludes:ht.weakEquals},t.getFilterFn=()=>{var r,a;return W(t.columnDef.filterFn)?t.columnDef.filterFn:"auto"===t.columnDef.filterFn?t.getAutoFilterFn():null!=(r=null==(a=e.options.filterFns)?void 0:a[t.columnDef.filterFn])?r:ht[t.columnDef.filterFn]},t.getCanFilter=()=>{var r,a,i;return(null==(r=t.columnDef.enableColumnFilter)||r)&&(null==(a=e.options.enableColumnFilters)||a)&&(null==(i=e.options.enableFilters)||i)&&!!t.accessorFn},t.getIsFiltered=()=>t.getFilterIndex()>-1,t.getFilterValue=()=>{var r;return null==(r=e.getState().columnFilters)||null==(r=r.find((e=>e.id===t.id)))?void 0:r.value},t.getFilterIndex=()=>{var r,a;return null!=(r=null==(a=e.getState().columnFilters)?void 0:a.findIndex((e=>e.id===t.id)))?r:-1},t.setFilterValue=r=>{e.setColumnFilters((e=>{const a=t.getFilterFn(),i=null==e?void 0:e.find((e=>e.id===t.id)),o=G(r,i?i.value:void 0);var n;if(gt(a,o,t))return null!=(n=null==e?void 0:e.filter((e=>e.id!==t.id)))?n:[];const l={id:t.id,value:o};var s;return i?null!=(s=null==e?void 0:e.map((e=>e.id===t.id?l:e)))?s:[]:null!=e&&e.length?[...e,l]:[l]}))}},createRow:t=>{t.columnFilters={},t.columnFiltersMeta={}},createTable:t=>{t.setColumnFilters=e=>{const r=t.getAllLeafColumns();null==t.options.onColumnFiltersChange||t.options.onColumnFiltersChange((t=>{var a;return null==(a=G(e,t))?void 0:a.filter((t=>{const e=r.find((e=>e.id===t.id));return!e||!gt(e.getFilterFn(),t.value,e)}))}))},t.resetColumnFilters=e=>{var r,a;t.setColumnFilters(e?[]:null!=(r=null==(a=t.initialState)?void 0:a.columnFilters)?r:[])},t.getPreFilteredRowModel=()=>t.getCoreRowModel(),t.getFilteredRowModel=()=>(!t._getFilteredRowModel&&t.options.getFilteredRowModel&&(t._getFilteredRowModel=t.options.getFilteredRowModel(t)),t.options.manualFiltering||!t._getFilteredRowModel?t.getPreFilteredRowModel():t._getFilteredRowModel())}},{createTable:t=>{t._getGlobalFacetedRowModel=t.options.getFacetedRowModel&&t.options.getFacetedRowModel(t,"__global__"),t.getGlobalFacetedRowModel=()=>t.options.manualFiltering||!t._getGlobalFacetedRowModel?t.getPreFilteredRowModel():t._getGlobalFacetedRowModel(),t._getGlobalFacetedUniqueValues=t.options.getFacetedUniqueValues&&t.options.getFacetedUniqueValues(t,"__global__"),t.getGlobalFacetedUniqueValues=()=>t._getGlobalFacetedUniqueValues?t._getGlobalFacetedUniqueValues():new Map,t._getGlobalFacetedMinMaxValues=t.options.getFacetedMinMaxValues&&t.options.getFacetedMinMaxValues(t,"__global__"),t.getGlobalFacetedMinMaxValues=()=>{if(t._getGlobalFacetedMinMaxValues)return t._getGlobalFacetedMinMaxValues()}}},{getInitialState:t=>({globalFilter:void 0,...t}),getDefaultOptions:t=>({onGlobalFilterChange:K("globalFilter",t),globalFilterFn:"auto",getColumnCanGlobalFilter:e=>{var r;const a=null==(r=t.getCoreRowModel().flatRows[0])||null==(r=r._getAllCellsByColumnId()[e.id])?void 0:r.getValue();return"string"==typeof a||"number"==typeof a}}),createColumn:(t,e)=>{t.getCanGlobalFilter=()=>{var r,a,i,o;return(null==(r=t.columnDef.enableGlobalFilter)||r)&&(null==(a=e.options.enableGlobalFilter)||a)&&(null==(i=e.options.enableFilters)||i)&&(null==(o=null==e.options.getColumnCanGlobalFilter?void 0:e.options.getColumnCanGlobalFilter(t))||o)&&!!t.accessorFn}},createTable:t=>{t.getGlobalAutoFilterFn=()=>ht.includesString,t.getGlobalFilterFn=()=>{var e,r;const{globalFilterFn:a}=t.options;return W(a)?a:"auto"===a?t.getGlobalAutoFilterFn():null!=(e=null==(r=t.options.filterFns)?void 0:r[a])?e:ht[a]},t.setGlobalFilter=e=>{null==t.options.onGlobalFilterChange||t.options.onGlobalFilterChange(e)},t.resetGlobalFilter=e=>{t.setGlobalFilter(e?void 0:t.initialState.globalFilter)}}},{getInitialState:t=>({sorting:[],...t}),getDefaultColumnDef:()=>({sortingFn:"auto",sortUndefined:1}),getDefaultOptions:t=>({onSortingChange:K("sorting",t),isMultiSortEvent:t=>t.shiftKey}),createColumn:(t,e)=>{t.getAutoSortingFn=()=>{const r=e.getFilteredRowModel().flatRows.slice(10);let a=!1;for(const e of r){const r=null==e?void 0:e.getValue(t.id);if("[object Date]"===Object.prototype.toString.call(r))return Dt.datetime;if("string"==typeof r&&(a=!0,r.split(St).length>1))return Dt.alphanumeric}return a?Dt.text:Dt.basic},t.getAutoSortDir=()=>{const r=e.getFilteredRowModel().flatRows[0];return"string"==typeof(null==r?void 0:r.getValue(t.id))?"asc":"desc"},t.getSortingFn=()=>{var r,a;if(!t)throw Error();return W(t.columnDef.sortingFn)?t.columnDef.sortingFn:"auto"===t.columnDef.sortingFn?t.getAutoSortingFn():null!=(r=null==(a=e.options.sortingFns)?void 0:a[t.columnDef.sortingFn])?r:Dt[t.columnDef.sortingFn]},t.toggleSorting=(r,a)=>{const i=t.getNextSortingOrder(),o=null!=r;e.setSorting((n=>{const l=null==n?void 0:n.find((e=>e.id===t.id)),s=null==n?void 0:n.findIndex((e=>e.id===t.id));let d,c=[],h=o?r:"desc"===i;var u;return d=null!=n&&n.length&&t.getCanMultiSort()&&a?l?"toggle":"add":null!=n&&n.length&&s!==n.length-1?"replace":l?"toggle":"replace","toggle"===d&&(o||i||(d="remove")),"add"===d?(c=[...n,{id:t.id,desc:h}],c.splice(0,c.length-(null!=(u=e.options.maxMultiSortColCount)?u:Number.MAX_SAFE_INTEGER))):c="toggle"===d?n.map((e=>e.id===t.id?{...e,desc:h}:e)):"remove"===d?n.filter((e=>e.id!==t.id)):[{id:t.id,desc:h}],c}))},t.getFirstSortDir=()=>{var r,a;return(null!=(r=null!=(a=t.columnDef.sortDescFirst)?a:e.options.sortDescFirst)?r:"desc"===t.getAutoSortDir())?"desc":"asc"},t.getNextSortingOrder=r=>{var a,i;const o=t.getFirstSortDir(),n=t.getIsSorted();return n?!!(n===o||null!=(a=e.options.enableSortingRemoval)&&!a||r&&null!=(i=e.options.enableMultiRemove)&&!i)&&("desc"===n?"asc":"desc"):o},t.getCanSort=()=>{var r,a;return(null==(r=t.columnDef.enableSorting)||r)&&(null==(a=e.options.enableSorting)||a)&&!!t.accessorFn},t.getCanMultiSort=()=>{var r,a;return null!=(r=null!=(a=t.columnDef.enableMultiSort)?a:e.options.enableMultiSort)?r:!!t.accessorFn},t.getIsSorted=()=>{var r;const a=null==(r=e.getState().sorting)?void 0:r.find((e=>e.id===t.id));return!!a&&(a.desc?"desc":"asc")},t.getSortIndex=()=>{var r,a;return null!=(r=null==(a=e.getState().sorting)?void 0:a.findIndex((e=>e.id===t.id)))?r:-1},t.clearSorting=()=>{e.setSorting((e=>null!=e&&e.length?e.filter((e=>e.id!==t.id)):[]))},t.getToggleSortingHandler=()=>{const r=t.getCanSort();return a=>{r&&(null==a.persist||a.persist(),null==t.toggleSorting||t.toggleSorting(void 0,!!t.getCanMultiSort()&&(null==e.options.isMultiSortEvent?void 0:e.options.isMultiSortEvent(a))))}}},createTable:t=>{t.setSorting=e=>null==t.options.onSortingChange?void 0:t.options.onSortingChange(e),t.resetSorting=e=>{var r,a;t.setSorting(e?[]:null!=(r=null==(a=t.initialState)?void 0:a.sorting)?r:[])},t.getPreSortedRowModel=()=>t.getGroupedRowModel(),t.getSortedRowModel=()=>(!t._getSortedRowModel&&t.options.getSortedRowModel&&(t._getSortedRowModel=t.options.getSortedRowModel(t)),t.options.manualSorting||!t._getSortedRowModel?t.getPreSortedRowModel():t._getSortedRowModel())}},{getDefaultColumnDef:()=>({aggregatedCell:t=>{var e,r;return null!=(e=null==(r=t.getValue())||null==r.toString?void 0:""+r)?e:null},aggregationFn:"auto"}),getInitialState:t=>({grouping:[],...t}),getDefaultOptions:t=>({onGroupingChange:K("grouping",t),groupedColumnMode:"reorder"}),createColumn:(t,e)=>{t.toggleGrouping=()=>{e.setGrouping((e=>null!=e&&e.includes(t.id)?e.filter((e=>e!==t.id)):[...null!=e?e:[],t.id]))},t.getCanGroup=()=>{var r,a;return(null==(r=t.columnDef.enableGrouping)||r)&&(null==(a=e.options.enableGrouping)||a)&&(!!t.accessorFn||!!t.columnDef.getGroupingValue)},t.getIsGrouped=()=>{var r;return null==(r=e.getState().grouping)?void 0:r.includes(t.id)},t.getGroupedIndex=()=>{var r;return null==(r=e.getState().grouping)?void 0:r.indexOf(t.id)},t.getToggleGroupingHandler=()=>{const e=t.getCanGroup();return()=>{e&&t.toggleGrouping()}},t.getAutoAggregationFn=()=>{const r=e.getCoreRowModel().flatRows[0],a=null==r?void 0:r.getValue(t.id);return"number"==typeof a?pt.sum:"[object Date]"===Object.prototype.toString.call(a)?pt.extent:void 0},t.getAggregationFn=()=>{var r,a;if(!t)throw Error();return W(t.columnDef.aggregationFn)?t.columnDef.aggregationFn:"auto"===t.columnDef.aggregationFn?t.getAutoAggregationFn():null!=(r=null==(a=e.options.aggregationFns)?void 0:a[t.columnDef.aggregationFn])?r:pt[t.columnDef.aggregationFn]}},createTable:t=>{t.setGrouping=e=>null==t.options.onGroupingChange?void 0:t.options.onGroupingChange(e),t.resetGrouping=e=>{var r,a;t.setGrouping(e?[]:null!=(r=null==(a=t.initialState)?void 0:a.grouping)?r:[])},t.getPreGroupedRowModel=()=>t.getFilteredRowModel(),t.getGroupedRowModel=()=>(!t._getGroupedRowModel&&t.options.getGroupedRowModel&&(t._getGroupedRowModel=t.options.getGroupedRowModel(t)),t.options.manualGrouping||!t._getGroupedRowModel?t.getPreGroupedRowModel():t._getGroupedRowModel())},createRow:(t,e)=>{t.getIsGrouped=()=>!!t.groupingColumnId,t.getGroupingValue=r=>{if(t._groupingValuesCache.hasOwnProperty(r))return t._groupingValuesCache[r];const a=e.getColumn(r);return null!=a&&a.columnDef.getGroupingValue?(t._groupingValuesCache[r]=a.columnDef.getGroupingValue(t.original),t._groupingValuesCache[r]):t.getValue(r)},t._groupingValuesCache={}},createCell:(t,e,r)=>{t.getIsGrouped=()=>e.getIsGrouped()&&e.id===r.groupingColumnId,t.getIsPlaceholder=()=>!t.getIsGrouped()&&e.getIsGrouped(),t.getIsAggregated=()=>{var e;return!t.getIsGrouped()&&!t.getIsPlaceholder()&&!(null==(e=r.subRows)||!e.length)}}},{getInitialState:t=>({expanded:{},...t}),getDefaultOptions:t=>({onExpandedChange:K("expanded",t),paginateExpandedRows:!0}),createTable:t=>{let e=!1,r=!1;t._autoResetExpanded=()=>{var a,i;if(e){if(null!=(a=null!=(i=t.options.autoResetAll)?i:t.options.autoResetExpanded)?a:!t.options.manualExpanding){if(r)return;r=!0,t._queue((()=>{t.resetExpanded(),r=!1}))}}else t._queue((()=>{e=!0}))},t.setExpanded=e=>null==t.options.onExpandedChange?void 0:t.options.onExpandedChange(e),t.toggleAllRowsExpanded=e=>{(null!=e?e:!t.getIsAllRowsExpanded())?t.setExpanded(!0):t.setExpanded({})},t.resetExpanded=e=>{var r,a;t.setExpanded(e?{}:null!=(r=null==(a=t.initialState)?void 0:a.expanded)?r:{})},t.getCanSomeRowsExpand=()=>t.getPrePaginationRowModel().flatRows.some((t=>t.getCanExpand())),t.getToggleAllRowsExpandedHandler=()=>e=>{null==e.persist||e.persist(),t.toggleAllRowsExpanded()},t.getIsSomeRowsExpanded=()=>{const e=t.getState().expanded;return!0===e||Object.values(e).some(Boolean)},t.getIsAllRowsExpanded=()=>{const e=t.getState().expanded;return"boolean"==typeof e?!0===e:!!Object.keys(e).length&&!t.getRowModel().flatRows.some((t=>!t.getIsExpanded()))},t.getExpandedDepth=()=>{let e=0;return(!0===t.getState().expanded?Object.keys(t.getRowModel().rowsById):Object.keys(t.getState().expanded)).forEach((t=>{const r=t.split(".");e=Math.max(e,r.length)})),e},t.getPreExpandedRowModel=()=>t.getSortedRowModel(),t.getExpandedRowModel=()=>(!t._getExpandedRowModel&&t.options.getExpandedRowModel&&(t._getExpandedRowModel=t.options.getExpandedRowModel(t)),t.options.manualExpanding||!t._getExpandedRowModel?t.getPreExpandedRowModel():t._getExpandedRowModel())},createRow:(t,e)=>{t.toggleExpanded=r=>{e.setExpanded((a=>{var i;const o=!0===a||!(null==a||!a[t.id]);let n={};if(!0===a?Object.keys(e.getRowModel().rowsById).forEach((t=>{n[t]=!0})):n=a,r=null!=(i=r)?i:!o,!o&&r)return{...n,[t.id]:!0};if(o&&!r){const{[t.id]:e,...r}=n;return r}return a}))},t.getIsExpanded=()=>{var r;const a=e.getState().expanded;return!!(null!=(r=null==e.options.getIsRowExpanded?void 0:e.options.getIsRowExpanded(t))?r:!0===a||(null==a?void 0:a[t.id]))},t.getCanExpand=()=>{var r,a,i;return null!=(r=null==e.options.getRowCanExpand?void 0:e.options.getRowCanExpand(t))?r:(null==(a=e.options.enableExpanding)||a)&&!(null==(i=t.subRows)||!i.length)},t.getIsAllParentsExpanded=()=>{let r=!0,a=t;for(;r&&a.parentId;)a=e.getRow(a.parentId,!0),r=a.getIsExpanded();return r},t.getToggleExpandedHandler=()=>{const e=t.getCanExpand();return()=>{e&&t.toggleExpanded()}}}},{getInitialState:t=>({...t,pagination:{pageIndex:0,pageSize:10,...null==t?void 0:t.pagination}}),getDefaultOptions:t=>({onPaginationChange:K("pagination",t)}),createTable:t=>{let e=!1,r=!1;t._autoResetPageIndex=()=>{var a,i;if(e){if(null!=(a=null!=(i=t.options.autoResetAll)?i:t.options.autoResetPageIndex)?a:!t.options.manualPagination){if(r)return;r=!0,t._queue((()=>{t.resetPageIndex(),r=!1}))}}else t._queue((()=>{e=!0}))},t.setPagination=e=>null==t.options.onPaginationChange?void 0:t.options.onPaginationChange((t=>G(e,t))),t.resetPagination=e=>{var r;t.setPagination(e?{pageIndex:0,pageSize:10}:null!=(r=t.initialState.pagination)?r:{pageIndex:0,pageSize:10})},t.setPageIndex=e=>{t.setPagination((r=>{let a=G(e,r.pageIndex);return a=Math.max(0,Math.min(a,void 0===t.options.pageCount||-1===t.options.pageCount?Number.MAX_SAFE_INTEGER:t.options.pageCount-1)),{...r,pageIndex:a}}))},t.resetPageIndex=e=>{var r,a;t.setPageIndex(e?0:null!=(r=null==(a=t.initialState)||null==(a=a.pagination)?void 0:a.pageIndex)?r:0)},t.resetPageSize=e=>{var r,a;t.setPageSize(e?10:null!=(r=null==(a=t.initialState)||null==(a=a.pagination)?void 0:a.pageSize)?r:10)},t.setPageSize=e=>{t.setPagination((t=>{const r=Math.max(1,G(e,t.pageSize)),a=Math.floor(t.pageSize*t.pageIndex/r);return{...t,pageIndex:a,pageSize:r}}))},t.setPageCount=e=>t.setPagination((r=>{var a;let i=G(e,null!=(a=t.options.pageCount)?a:-1);return"number"==typeof i&&(i=Math.max(-1,i)),{...r,pageCount:i}})),t.getPageOptions=U((()=>[t.getPageCount()]),(t=>{let e=[];return t&&t>0&&(e=[...Array(t)].fill(null).map(((t,e)=>e))),e}),J(t.options,"debugTable")),t.getCanPreviousPage=()=>t.getState().pagination.pageIndex>0,t.getCanNextPage=()=>{const{pageIndex:e}=t.getState().pagination,r=t.getPageCount();return-1===r||0!==r&&e<r-1},t.previousPage=()=>t.setPageIndex((t=>t-1)),t.nextPage=()=>t.setPageIndex((t=>t+1)),t.firstPage=()=>t.setPageIndex(0),t.lastPage=()=>t.setPageIndex(t.getPageCount()-1),t.getPrePaginationRowModel=()=>t.getExpandedRowModel(),t.getPaginationRowModel=()=>(!t._getPaginationRowModel&&t.options.getPaginationRowModel&&(t._getPaginationRowModel=t.options.getPaginationRowModel(t)),t.options.manualPagination||!t._getPaginationRowModel?t.getPrePaginationRowModel():t._getPaginationRowModel()),t.getPageCount=()=>{var e;return null!=(e=t.options.pageCount)?e:Math.ceil(t.getRowCount()/t.getState().pagination.pageSize)},t.getRowCount=()=>{var e;return null!=(e=t.options.rowCount)?e:t.getPrePaginationRowModel().rows.length}}},{getInitialState:t=>({rowPinning:{top:[],bottom:[]},...t}),getDefaultOptions:t=>({onRowPinningChange:K("rowPinning",t)}),createRow:(t,e)=>{t.pin=(r,a,i)=>{const o=a?t.getLeafRows().map((t=>{let{id:e}=t;return e})):[],n=i?t.getParentRows().map((t=>{let{id:e}=t;return e})):[],l=new Set([...n,t.id,...o]);e.setRowPinning((t=>{var e,a,i,o,n,s;return"bottom"===r?{top:(null!=(i=null==t?void 0:t.top)?i:[]).filter((t=>!(null!=l&&l.has(t)))),bottom:[...(null!=(o=null==t?void 0:t.bottom)?o:[]).filter((t=>!(null!=l&&l.has(t)))),...Array.from(l)]}:"top"===r?{top:[...(null!=(n=null==t?void 0:t.top)?n:[]).filter((t=>!(null!=l&&l.has(t)))),...Array.from(l)],bottom:(null!=(s=null==t?void 0:t.bottom)?s:[]).filter((t=>!(null!=l&&l.has(t))))}:{top:(null!=(e=null==t?void 0:t.top)?e:[]).filter((t=>!(null!=l&&l.has(t)))),bottom:(null!=(a=null==t?void 0:t.bottom)?a:[]).filter((t=>!(null!=l&&l.has(t))))}}))},t.getCanPin=()=>{var r;const{enableRowPinning:a,enablePinning:i}=e.options;return"function"==typeof a?a(t):null==(r=null!=a?a:i)||r},t.getIsPinned=()=>{const r=[t.id],{top:a,bottom:i}=e.getState().rowPinning,o=r.some((t=>null==a?void 0:a.includes(t))),n=r.some((t=>null==i?void 0:i.includes(t)));return o?"top":!!n&&"bottom"},t.getPinnedIndex=()=>{var r,a;const i=t.getIsPinned();if(!i)return-1;const o=null==(r="top"===i?e.getTopRows():e.getBottomRows())?void 0:r.map((t=>{let{id:e}=t;return e}));return null!=(a=null==o?void 0:o.indexOf(t.id))?a:-1}},createTable:t=>{t.setRowPinning=e=>null==t.options.onRowPinningChange?void 0:t.options.onRowPinningChange(e),t.resetRowPinning=e=>{var r,a;return t.setRowPinning(e?{top:[],bottom:[]}:null!=(r=null==(a=t.initialState)?void 0:a.rowPinning)?r:{top:[],bottom:[]})},t.getIsSomeRowsPinned=e=>{var r;const a=t.getState().rowPinning;var i,o;return e?!!(null==(r=a[e])?void 0:r.length):!(!(null==(i=a.top)?void 0:i.length)&&!(null==(o=a.bottom)?void 0:o.length))},t._getPinnedRows=(e,r,a)=>{var i;return(null==(i=t.options.keepPinnedRows)||i?(null!=r?r:[]).map((e=>{const r=t.getRow(e,!0);return r.getIsAllParentsExpanded()?r:null})):(null!=r?r:[]).map((t=>e.find((e=>e.id===t))))).filter(Boolean).map((t=>({...t,position:a})))},t.getTopRows=U((()=>[t.getRowModel().rows,t.getState().rowPinning.top]),((e,r)=>t._getPinnedRows(e,r,"top")),J(t.options,"debugRows")),t.getBottomRows=U((()=>[t.getRowModel().rows,t.getState().rowPinning.bottom]),((e,r)=>t._getPinnedRows(e,r,"bottom")),J(t.options,"debugRows")),t.getCenterRows=U((()=>[t.getRowModel().rows,t.getState().rowPinning.top,t.getState().rowPinning.bottom]),((t,e,r)=>{const a=new Set([...null!=e?e:[],...null!=r?r:[]]);return t.filter((t=>!a.has(t.id)))}),J(t.options,"debugRows"))}},xt,mt];function Mt(t){const e=[],r=t=>{var a;e.push(t),null!=(a=t.subRows)&&a.length&&t.getIsExpanded()&&t.subRows.forEach(r)};return t.rows.forEach(r),{rows:e,flatRows:t.flatRows,rowsById:t.rowsById}}function Ot(t){return"bh-data-grid-state-"+t}const jt=/[\\/*?:[\]]/g,Pt=["=","+","-","@","\t","\r"];function Bt(t){if(!t||"string"!=typeof t)return"Sheet";let e=t.replace(jt,"");return e=e.trim(),e?(e.length>31&&(e=e.slice(0,31)),e):"Sheet"}function Tt(t){return null==t?"":"string"==typeof t&&Pt.some((e=>t.startsWith(e)))?"'"+t:t}function _t(t,e){let r=e.length;for(const e of t){if(null==e)continue;let t;t=e instanceof Date?10:"number"==typeof e?e.toFixed(2).length:"boolean"==typeof e?e?4:5:(e+"").length,t>r&&(r=t)}return Math.min(Math.max(r+2,8),50)}function Nt(t,e){const r=t.addWorksheet(Bt(e.name)),a=[];e.headers?.length&&a.push(e.headers);for(const t of e.data){const e=t.map((t=>Tt(t)));a.push(e)}for(const t of a)r.addRow(t);if(a.length>0){const t=a.reduce(((t,e)=>Math.max(t,e.length)),0);for(let i=0;i<t;i++){const t=_t(a.map((t=>t[i])),e.headers?.[i]??"");r.getColumn(i+1).width=t}}}function Vt(t,e){const r=t.accessorKey||t.id||"";return e?.[r]?e[r]:"string"==typeof t.header?t.header:r}function Ht(t,e){if(null==t)return"";switch(e){case"number":{if("number"==typeof t)return t;const e=Number(t);return Number.isNaN(e)?t+"":e}case"date":if(t instanceof Date)return t;if("string"==typeof t||"number"==typeof t){const e=new Date(t);return Number.isNaN(e.getTime())?t+"":e}return t+"";case"boolean":return"boolean"==typeof t?t:"string"==typeof t?"true"===t.toLowerCase():!!t;default:return"object"==typeof t?JSON.stringify(t):t+""}}async function At(t,e,r){!function(t,e){const r=URL.createObjectURL(t),a=document.createElement("a");a.href=r,a.download=e.endsWith(".xlsx")?e:e+".xlsx",a.style.display="none",document.body.appendChild(a),a.click(),document.body.removeChild(a),URL.revokeObjectURL(r)}(await async function(t,e,r){const{Workbook:a}=await import("./p-7T937w-j.js").then((function(t){return t.e})),i=r.xlsx??{},o=Bt(i.sheetName??"Data"),n=!1!==r.includeHeaders,l=e.map((t=>{const e=t.meta;return{id:t.accessorKey||t.id||"",header:Vt(t,r.customHeaders),type:e?.type??"text"}})),s=[];n&&s.push(l.map((t=>t.header)));for(const e of t){const t=[];for(const a of l){const i=e[a.id];if(r.formatters?.[a.id]){const o=r.formatters[a.id](i,e);t.push(Tt(o));continue}const o=Ht(i,a.type);t.push(Tt(o))}s.push(t)}const d=new a;if(function(t,e,r,a,i){for(const r of e)t.addRow(r);if(!1!==a.autoFitColumns)for(let a=0;a<r.length;a++){const i=_t(e.map((t=>t[a])),r[a].header);t.getColumn(a+1).width=i}a.freezeHeader&&i&&(t.views=[{state:"frozen",xSplit:0,ySplit:1}]),(a.numberFormat||a.dateFormat)&&function(t,e,r,a,i){const o=i?2:1,n=i?1:0;for(let i=n;i<e.length;i++){const l=t.getRow(o+(i-n));for(let t=0;t<r.length;t++){const o=l.getCell(t+1),n=r[t].type,s=e[i][t];"number"===n&&a.numberFormat&&"number"==typeof s?o.numFmt=a.numberFormat:"date"===n&&a.dateFormat&&s instanceof Date&&(o.numFmt=a.dateFormat)}}}(t,e,r,a,i)}(d.addWorksheet(o),s,l,i,n),i.additionalSheets?.length)for(const t of i.additionalSheets)Nt(d,t);const c=function(t){if(t instanceof ArrayBuffer)return t;if(ArrayBuffer.isView(t)){const e=new Uint8Array(t.buffer,t.byteOffset,t.byteLength);return Uint8Array.from(e).buffer}throw Error("Unsupported ExcelJS buffer type")}(await d.xlsx.writeBuffer());return new Blob([c],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"})}(t,e,r),r.fileName??"export")}function Lt(t){return"accessorKey"in t?t.accessorKey||t.id||"":t.id||""}const qt={sum:t=>t.reduce(((t,e)=>t+e),0),avg:t=>t.length>0?t.reduce(((t,e)=>t+e),0)/t.length:0,min:t=>t.length>0?t.reduce(((t,e)=>Math.min(t,e)),t[0]):0,max:t=>t.length>0?t.reduce(((t,e)=>Math.max(t,e)),t[0]):0,count:(t,e)=>e.length},Gt=e(class extends r{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.bhError=a(this,"bhError"),this.bhCircuitOpen=a(this,"bhCircuitOpen"),this.bhSortChange=a(this,"bhSortChange"),this.bhFilterChange=a(this,"bhFilterChange"),this.bhSelectionChange=a(this,"bhSelectionChange"),this.bhChange=a(this,"bhChange"),this.bhRowClick=a(this,"bhRowClick"),this.bhCellClick=a(this,"bhCellClick"),this.bhExpandChange=a(this,"bhExpandChange"),this.bhGroupToggle=a(this,"bhGroupToggle"),this.bhEditStart=a(this,"bhEditStart"),this.bhEditorPreparing=a(this,"bhEditorPreparing"),this.bhInitNewRow=a(this,"bhInitNewRow"),this.bhEditCancel=a(this,"bhEditCancel"),this.bhRowDeleting=a(this,"bhRowDeleting"),this.bhRowDeleted=a(this,"bhRowDeleted"),this.bhBatchChangeAdded=a(this,"bhBatchChangeAdded"),this.bhEditSave=a(this,"bhEditSave"),this.bhCellChange=a(this,"bhCellChange"),this.bhValidationError=a(this,"bhValidationError"),this.bhColumnResize=a(this,"bhColumnResize"),this.bhColumnResizeEnd=a(this,"bhColumnResizeEnd"),this.bhColumnPinChange=a(this,"bhColumnPinChange"),this.bhColumnReorder=a(this,"bhColumnReorder"),this.bhColumnVisibilityChange=a(this,"bhColumnVisibilityChange"),this.bhStateLoad=a(this,"bhStateLoad"),this.bhStateSave=a(this,"bhStateSave"),this.bhHeaderFilterChange=a(this,"bhHeaderFilterChange"),this.bhDetailToggle=a(this,"bhDetailToggle"),this.bhExport=a(this,"bhExport"),this.bhRowDragStart=a(this,"bhRowDragStart"),this.bhRowDrop=a(this,"bhRowDrop"),this.bhRowReorder=a(this,"bhRowReorder"),this.bhFocusChange=a(this,"bhFocusChange"),this.bhRefresh=a(this,"bhRefresh"),this.bhAdd=a(this,"bhAdd"),this.bhClearFilter=a(this,"bhClearFilter"),this.bhClearSelection=a(this,"bhClearSelection"),this.bhSearchChange=a(this,"bhSearchChange"),this.bhContextMenu=a(this,"bhContextMenu"),this.bhContextMenuItemClick=a(this,"bhContextMenuItemClick"),this.bhResponsiveChange=a(this,"bhResponsiveChange"),this.bhAdaptiveDetailExpand=a(this,"bhAdaptiveDetailExpand")}get el(){return this}destroy$=P();listeners=x();contextMenuRef=null;dragImageCleanupEl;logger=_("bh-data-grid");dataOperationsCircuitBreaker=function(t){let e,r,a="CLOSED",i=0,o=0;const n=()=>{"OPEN"===a&&e&&Date.now()-e>=t.resetTimeout&&(a="HALF_OPEN")};return{async execute(l){if(n(),"OPEN"===a)throw Error(`Circuit breaker is open (${t.name||"unknown"})`);try{const t=await l();return o++,r=Date.now(),"HALF_OPEN"===a&&(a="CLOSED",i=0),t}catch(r){throw i++,e=Date.now(),i>=t.failureThreshold&&(a="OPEN"),r}},getMetrics:()=>(n(),{state:a,failureCount:i,successCount:o,lastFailureTime:e,lastSuccessTime:r}),reset(){a="CLOSED",i=0,o=0,e=void 0,r=void 0}}}(L);renderTimer=null;dataOperationsDegraded=!1;updatePending=!1;_errorHandler;get handleComponentError(){return this._errorHandler||(this._errorHandler=H({componentName:"bh-data-grid",logger:this.logger,emitError:t=>this.bhError.emit({error:t})})),this._errorHandler}hasFatalError=!1;fatalErrorMessage=null;bhError;bhCircuitOpen;data=[];columns=[];getRowId;getSubRows;size="default";striped=!1;bordered=!1;stickyHeader=!1;maxHeight;caption;captionPosition="top";emptyTitle="No data";emptyDescription="There are no records to display.";loading=!1;loadingType="spinner";skeletonRowCount=5;operationTimeout=5e3;enableSorting=!0;enableMultiSort=!1;sortState=[];enableFiltering=!1;enableGlobalFilter=!1;showFilterRow=!1;globalFilterPlaceholder="Search...";filterState=[];globalFilter="";selectionMode="none";selectedRowIds=[];enablePagination=!1;page=1;pageSize=10;pageSizeOptions=[10,25,50,100];enableExpansion=!1;expandedRowIds=[];enableGrouping=!1;groupBy=[];enableEditing=!1;editMode="cell";showEditActions=!0;formEditConfig;enableColumnResize=!1;minColumnWidth=50;maxColumnWidth=500;columnSizes={};enableColumnPinning=!1;columnPinning={left:[],right:[]};enableColumnReorder=!1;columnOrder=[];enableColumnChooser=!1;columnVisibility={};enableStatePersistence=!1;stateStorageKey;persistedStateKeys=["sorting","columnFilters","globalFilter","columnSizes","columnOrder","columnVisibility","columnPinning","pageSize"];enableHeaderFilter=!1;headerFilterHeight=300;headerFilterState=[];enableVirtualScrolling=!1;virtualScrollHeight=400;estimatedRowHeight=48;overscanCount=5;enableMasterDetail=!1;masterDetailConfig;autoCollapseOtherRows=!1;enableTotalSummary=!1;totalSummary;enableGroupSummary=!1;groupSummary;enableExport=!1;showExportButton=!0;exportFormats=["csv"];exportConfig;enableRowDragging=!1;showDragHandle=!0;rowDragDisabled;enableFocusTracking=!1;focusedRowId;focusedCell;enableKeyboardNavigation=!0;autoScrollToFocused=!0;showToolbar;toolbarPosition="top";toolbarConfig;showRefreshButton=!1;showAddButton=!1;showClearFilterButton=!1;showClearSelectionButton=!1;enableSearchPanel=!1;showSearchPanel=!0;searchPanelPosition="toolbar";highlightSearchResults=!0;searchPanelPlaceholder="Search in grid...";batchEditingEnabled=!1;enableContextMenu=!1;contextMenuItems=[];contextMenuPreparing;showInlineErrorNotification=!0;errorNotificationDuration=5e3;enableResponsiveLayout=!1;responsiveColumns=[];mediumBreakpoint=768;largeBreakpoint=1024;labels={};tableState={};editingRowId=null;editingColumnId=null;editingValues={};validationErrors={};hoveredRowId=null;resizingColumnId=null;resizeStartX=0;resizeStartWidth=0;draggingColumnId=null;dragOverColumnId=null;columnChooserOpen=!1;headerFilterOpenColumnId=null;headerFilterSearchText="";virtualScrollTop=0;exportDropdownOpen=!1;draggingRowId=null;dragOverRowId=null;dragPosition=null;internalFocusedRowId=null;internalFocusedCell=null;formEditModalOpen=!1;formEditRowData=null;formEditIsNew=!1;formEditValues={};formEditErrors={};searchPanelText="";searchMatches=[];currentSearchMatchIndex=0;errorNotificationVisible=!1;errorNotificationMessage="";errorNotificationType="error";contextMenuOpen=!1;contextMenuPosition={x:0,y:0};contextMenuContext=null;contextMenuResolvedItems=[];contextMenuSubmenuOpen=null;responsiveState={viewportWidth:0,breakpoint:"large",visibleColumns:[],adaptiveDetailColumns:[],hiddenColumns:[]};adaptiveDetailExpandedRows=new Set;pendingFocusRafId;observerManager=null;get observers(){return this.observerManager||(this.observerManager=y()),this.observerManager}table=null;get resolvedLabels(){return l(this.labels)}scrollContainerRef=null;bhSortChange;bhFilterChange;bhSelectionChange;bhChange;bhRowClick;bhCellClick;bhExpandChange;bhGroupToggle;bhEditStart;bhEditorPreparing;bhInitNewRow;bhEditCancel;bhRowDeleting;bhRowDeleted;bhBatchChangeAdded;bhEditSave;bhCellChange;bhValidationError;bhColumnResize;bhColumnResizeEnd;bhColumnPinChange;bhColumnReorder;bhColumnVisibilityChange;bhStateLoad;bhStateSave;bhHeaderFilterChange;bhDetailToggle;bhExport;bhRowDragStart;bhRowDrop;bhRowReorder;bhFocusChange;bhRefresh;bhAdd;bhClearFilter;bhClearSelection;bhSearchChange;bhContextMenu;bhContextMenuItemClick;bhResponsiveChange;bhAdaptiveDetailExpand;trackedOperation(t,e,r,a={}){const i=N.startTimer(V.ASYNC_OPERATION,{component:"bh-data-grid",operation:t,...e}),o=this.logger.startTimer();try{r();const i=o();this.logger[a.logLevel??"debug"](t+" completed",{...e,duration:i}),i>(a.slowThreshold??500)&&this.logger.warn("Slow "+t,{...e,duration:i})}catch(r){if(this.logger.error(t+" failed",r instanceof Error?r:Error(r+""),e),this.showErrorNotification(a.errorNotification??"Operation failed. Please try again.","error"),a.rethrow)throw r}finally{this.destroy$&&B(0,this.destroy$)?.subscribe((()=>i()))}}handleDataChange(){(null!==this.editingRowId||null!==this.editingColumnId||Object.keys(this.editingValues).length>0||Object.keys(this.validationErrors).length>0)&&this.resetEditingState(),this.trackedOperation("data_load",{row_count:(this.data?.length??0)+""},(()=>this.initializeTable()),{logLevel:"info",slowThreshold:1e3,rethrow:!0,errorNotification:"Failed to load data. Please refresh and try again."})}handleSortStateChange(t){this.table&&this.trackedOperation("sort",{column_count:t.length+""},(()=>this.table.setSorting(t)),{errorNotification:"Failed to apply sorting. Please try again."})}handleFilterStateChange(t){this.table&&this.trackedOperation("filter",{filter_count:t.length+""},(()=>this.table.setColumnFilters(t)),{errorNotification:"Failed to apply filters. Please try again."})}handleSelectedRowIdsChange(t){if(this.table){const e={};for(const r of t)e[r]=!0;this.table.setRowSelection(e)}}handlePaginationPropChange(){this.table&&this.table.setPagination({pageIndex:this.page-1,pageSize:this.pageSize})}handleExpandedRowIdsChange(t){if(this.table){const e={};for(const r of t)e[r]=!0;this.table.setExpanded(e)}}handleGroupByChange(t){this.table&&this.table.setGrouping(t)}componentWillLoad(){const t=N.startTimer(V.COMPONENT_MOUNT,{component:"bh-data-grid",row_count:(this.data?.length??0)+"",has_pagination:this.enablePagination+""});if(this.enableStatePersistence&&this.stateStorageKey){const t=this.loadPersistedState();t&&this.applyPersistedState(t)}if(this.initializeTable(),this.destroy$&&B(0,this.destroy$)?.subscribe((()=>t())),this.data&&this.data.length>1e3){const t=Math.min(10,this.data.length),e=this.data.slice(0,t),r=JSON.stringify(e).length;N.gauge(V.MEMORY_USAGE,Math.round(r/t*this.data.length),{component:"bh-data-grid",row_count:this.data.length+"",estimation_method:"sample"})}if(this.enableResponsiveLayout){this.observerManager=y();const t=this.columns?.map((t=>Lt(t)))??[],{adaptiveDetailColumns:e,hiddenColumns:r}=this.calculateHiddenColumns(this.responsiveState.breakpoint);this.responsiveState={viewportWidth:"undefined"==typeof window?0:window.innerWidth,breakpoint:this.calculateBreakpoint("undefined"==typeof window?0:window.innerWidth),visibleColumns:t.filter((t=>void 0!==t&&!e.includes(t)&&!r.includes(t))),adaptiveDetailColumns:e,hiddenColumns:r}}}componentDidRender(){this.renderTimer&&(this.renderTimer(),this.renderTimer=null)}componentDidCatch(t){this.hasFatalError=!0,this.fatalErrorMessage=t instanceof Error?t.message:"An unexpected error occurred.",this.handleComponentError(t)}initializeTable(){const t={sorting:this.sortState,columnFilters:this.filterState,globalFilter:this.globalFilter,rowSelection:this.buildRowSelection(),expanded:this.buildExpanded(),pagination:{pageIndex:this.page-1,pageSize:this.pageSize},grouping:this.groupBy,columnVisibility:this.buildColumnVisibility(),columnPinning:this.columnPinning,columnSizing:this.columnSizes,columnOrder:this.columnOrder};this.tableState=t;try{this.table=function(t){var e,r;const a=[...Ft,...null!=(e=t._features)?e:[]];let i={_features:a};const o=i._features.reduce(((t,e)=>Object.assign(t,null==e.getDefaultOptions?void 0:e.getDefaultOptions(i))),{});let n={...null!=(r=t.initialState)?r:{}};i._features.forEach((t=>{var e;n=null!=(e=null==t.getInitialState?void 0:t.getInitialState(n))?e:n}));const l=[];let s=!1;const d={_features:a,options:{...o,...t},initialState:n,_queue:t=>{l.push(t),s||(s=!0,Promise.resolve().then((()=>{for(;l.length;)l.shift()();s=!1})).catch((t=>setTimeout((()=>{throw t})))))},reset:()=>{i.setState(i.initialState)},setOptions:t=>{const e=G(t,i.options);i.options=(t=>i.options.mergeOptions?i.options.mergeOptions(o,t):{...o,...t})(e)},getState:()=>i.options.state,setState:t=>{null==i.options.onStateChange||i.options.onStateChange(t)},_getRowId:(t,e,r)=>{var a;return null!=(a=null==i.options.getRowId?void 0:i.options.getRowId(t,e,r))?a:""+(r?[r.id,e].join("."):e)},getCoreRowModel:()=>(i._getCoreRowModel||(i._getCoreRowModel=i.options.getCoreRowModel(i)),i._getCoreRowModel()),getRowModel:()=>i.getPaginationRowModel(),getRow:(t,e)=>{let r=(e?i.getPrePaginationRowModel():i.getRowModel()).rowsById[t];if(!r&&(r=i.getCoreRowModel().rowsById[t],!r))throw Error();return r},_getDefaultColumnDef:U((()=>[i.options.defaultColumn]),(t=>{var e;return t=null!=(e=t)?e:{},{header:t=>{const e=t.header.column.columnDef;return e.accessorKey?e.accessorKey:e.accessorFn?e.id:null},cell:t=>{var e,r;return null!=(e=null==(r=t.renderValue())||null==r.toString?void 0:""+r)?e:null},...i._features.reduce(((t,e)=>Object.assign(t,null==e.getDefaultColumnDef?void 0:e.getDefaultColumnDef())),{}),...t}}),J(t,"debugColumns")),_getColumnDefs:()=>i.options.columns,getAllColumns:U((()=>[i._getColumnDefs()]),(t=>{const e=function(t,r,a){return void 0===a&&(a=0),t.map((t=>{const o=function(t,e,r,a){var i,o;const n={...t._getDefaultColumnDef(),...e},l=n.accessorKey;let s,d=null!=(i=null!=(o=n.id)?o:l?"function"==typeof String.prototype.replaceAll?l.replaceAll(".","_"):l.replace(/\./g,"_"):void 0)?i:"string"==typeof n.header?n.header:void 0;if(n.accessorFn?s=n.accessorFn:l&&(s=l.includes(".")?t=>{let e=t;for(const t of l.split(".")){var r;e=null==(r=e)?void 0:r[t]}return e}:t=>t[n.accessorKey]),!d)throw Error();let c={id:d+"",accessorFn:s,parent:a,depth:r,columnDef:n,columns:[],getFlatColumns:U((()=>[!0]),(()=>{var t;return[c,...null==(t=c.columns)?void 0:t.flatMap((t=>t.getFlatColumns()))]}),J(t.options,"debugColumns")),getLeafColumns:U((()=>[t._getOrderColumnsFn()]),(t=>{var e;if(null!=(e=c.columns)&&e.length){let e=c.columns.flatMap((t=>t.getLeafColumns()));return t(e)}return[c]}),J(t.options,"debugColumns"))};for(const e of t._features)null==e.createColumn||e.createColumn(c,t);return c}(i,t,a,r);return o.columns=t.columns?e(t.columns,o,a+1):[],o}))};return e(t)}),J(t,"debugColumns")),getAllFlatColumns:U((()=>[i.getAllColumns()]),(t=>t.flatMap((t=>t.getFlatColumns()))),J(t,"debugColumns")),_getAllFlatColumnsById:U((()=>[i.getAllFlatColumns()]),(t=>t.reduce(((t,e)=>(t[e.id]=e,t)),{})),J(t,"debugColumns")),getAllLeafColumns:U((()=>[i.getAllColumns(),i._getOrderColumnsFn()]),((t,e)=>e(t.flatMap((t=>t.getLeafColumns())))),J(t,"debugColumns")),getColumn:t=>i._getAllFlatColumnsById()[t]};Object.assign(i,d);for(let t=0;t<i._features.length;t++){const e=i._features[t];null==e||null==e.createTable||e.createTable(i)}return i}({data:this.data,columns:this.columns,state:this.tableState,onStateChange:t=>{const e="function"==typeof t?t(this.tableState):t;this.handleStateChange(e)},getCoreRowModel:t=>U((()=>[t.options.data]),(e=>{const r={rows:[],flatRows:[],rowsById:{}},a=function(e,i,o){void 0===i&&(i=0);const n=[];for(let s=0;s<e.length;s++){const d=tt(t,t._getRowId(e[s],s,o),e[s],s,i,void 0,null==o?void 0:o.id);var l;r.flatRows.push(d),r.rowsById[d.id]=d,n.push(d),t.options.getSubRows&&(d.originalSubRows=t.options.getSubRows(e[s],s),null!=(l=d.originalSubRows)&&l.length&&(d.subRows=a(d.originalSubRows,i+1,d)))}return n};return r.rows=a(e),r}),J(t.options,"debugTable",0,(()=>t._autoResetPageIndex()))),getSortedRowModel:this.enableSorting?t=>U((()=>[t.getState().sorting,t.getPreSortedRowModel()]),((e,r)=>{if(!r.rows.length||null==e||!e.length)return r;const a=t.getState().sorting,i=[],o=a.filter((e=>{var r;return null==(r=t.getColumn(e.id))?void 0:r.getCanSort()})),n={};o.forEach((e=>{const r=t.getColumn(e.id);r&&(n[e.id]={sortUndefined:r.columnDef.sortUndefined,invertSorting:r.columnDef.invertSorting,sortingFn:r.getSortingFn()})}));const l=t=>{const e=t.map((t=>({...t})));return e.sort(((t,e)=>{for(let a=0;a<o.length;a+=1){var r;const i=o[a],l=n[i.id],s=l.sortUndefined,d=null!=(r=null==i?void 0:i.desc)&&r;let c=0;if(s){const r=void 0===t.getValue(i.id),a=void 0===e.getValue(i.id);if(r||a){if("first"===s)return r?-1:1;if("last"===s)return r?1:-1;c=r&&a?0:r?s:-s}}if(0===c&&(c=l.sortingFn(t,e,i.id)),0!==c)return d&&(c*=-1),l.invertSorting&&(c*=-1),c}return t.index-e.index})),e.forEach((t=>{var e;i.push(t),null!=(e=t.subRows)&&e.length&&(t.subRows=l(t.subRows))})),e};return{rows:l(r.rows),flatRows:i,rowsById:r.rowsById}}),J(t.options,"debugTable",0,(()=>t._autoResetPageIndex()))):void 0,getFilteredRowModel:this.enableFiltering||this.enableGlobalFilter?t=>U((()=>[t.getPreFilteredRowModel(),t.getState().columnFilters,t.getState().globalFilter]),((e,r,a)=>{if(!e.rows.length||(null==r||!r.length)&&!a){for(let t=0;t<e.flatRows.length;t++)e.flatRows[t].columnFilters={},e.flatRows[t].columnFiltersMeta={};return e}const i=[],o=[];(null!=r?r:[]).forEach((e=>{var r;const a=t.getColumn(e.id);if(!a)return;const o=a.getFilterFn();o&&i.push({id:e.id,filterFn:o,resolvedValue:null!=(r=null==o.resolveFilterValue?void 0:o.resolveFilterValue(e.value))?r:e.value})}));const n=(null!=r?r:[]).map((t=>t.id)),l=t.getGlobalFilterFn(),s=t.getAllLeafColumns().filter((t=>t.getCanGlobalFilter()));let d,c;a&&l&&s.length&&(n.push("__global__"),s.forEach((t=>{var e;o.push({id:t.id,filterFn:l,resolvedValue:null!=(e=null==l.resolveFilterValue?void 0:l.resolveFilterValue(a))?e:a})})));for(let t=0;t<e.flatRows.length;t++){const r=e.flatRows[t];if(r.columnFilters={},i.length)for(let t=0;t<i.length;t++){d=i[t];const e=d.id;r.columnFilters[e]=d.filterFn(r,e,d.resolvedValue,(t=>{r.columnFiltersMeta[e]=t}))}if(o.length){for(let t=0;t<o.length;t++){c=o[t];const e=c.id;if(c.filterFn(r,e,c.resolvedValue,(t=>{r.columnFiltersMeta[e]=t}))){r.columnFilters.__global__=!0;break}}!0!==r.columnFilters.__global__&&(r.columnFilters.__global__=!1)}}return function(t,e,r){return r.options.filterFromLeafRows?function(t,e,r){var a;const i=[],o={},n=null!=(a=r.options.maxLeafRowFilterDepth)?a:100,l=function(t,a){void 0===a&&(a=0);const s=[];for(let c=0;c<t.length;c++){var d;let h=t[c];const u=tt(r,h.id,h.original,h.index,h.depth,void 0,h.parentId);if(u.columnFilters=h.columnFilters,null!=(d=h.subRows)&&d.length&&a<n){if(u.subRows=l(h.subRows,a+1),h=u,e(h)&&!u.subRows.length){s.push(h),o[h.id]=h,i.push(h);continue}if(e(h)||u.subRows.length){s.push(h),o[h.id]=h,i.push(h);continue}}else h=u,e(h)&&(s.push(h),o[h.id]=h,i.push(h))}return s};return{rows:l(t),flatRows:i,rowsById:o}}(t,e,r):function(t,e,r){var a;const i=[],o={},n=null!=(a=r.options.maxLeafRowFilterDepth)?a:100,l=function(t,a){void 0===a&&(a=0);const s=[];for(let c=0;c<t.length;c++){let h=t[c];if(e(h)){var d;if(null!=(d=h.subRows)&&d.length&&a<n){const t=tt(r,h.id,h.original,h.index,h.depth,void 0,h.parentId);t.subRows=l(h.subRows,a+1),h=t}s.push(h),i.push(h),o[h.id]=h}}return s};return{rows:l(t),flatRows:i,rowsById:o}}(t,e,r)}(e.rows,(t=>{for(let e=0;e<n.length;e++)if(!1===t.columnFilters[n[e]])return!1;return!0}),t)}),J(t.options,"debugTable",0,(()=>t._autoResetPageIndex()))):void 0,getPaginationRowModel:this.enablePagination?t=>U((()=>[t.getState().pagination,t.getPrePaginationRowModel(),t.options.paginateExpandedRows?void 0:t.getState().expanded]),((e,r)=>{if(!r.rows.length)return r;const{pageSize:a,pageIndex:i}=e;let{rows:o,flatRows:n,rowsById:l}=r;const s=a*i;let d;o=o.slice(s,s+a),d=t.options.paginateExpandedRows?{rows:o,flatRows:n,rowsById:l}:Mt({rows:o,flatRows:n,rowsById:l}),d.flatRows=[];const c=t=>{d.flatRows.push(t),t.subRows.length&&t.subRows.forEach(c)};return d.rows.forEach(c),d}),J(t.options,"debugTable")):void 0,getExpandedRowModel:this.enableExpansion||this.enableGrouping?t=>U((()=>[t.getState().expanded,t.getPreExpandedRowModel(),t.options.paginateExpandedRows]),((t,e,r)=>!e.rows.length||!0!==t&&!Object.keys(null!=t?t:{}).length?e:r?Mt(e):e),J(t.options,"debugTable")):void 0,getGroupedRowModel:this.enableGrouping?t=>U((()=>[t.getState().grouping,t.getPreGroupedRowModel()]),((e,r)=>{if(!r.rows.length||!e.length)return r.rows.forEach((t=>{t.depth=0,t.parentId=void 0})),r;const a=e.filter((e=>t.getColumn(e))),i=[],o={},n=function(e,r,l){if(void 0===r&&(r=0),r>=a.length)return e.map((t=>(t.depth=r,i.push(t),o[t.id]=t,t.subRows&&(t.subRows=n(t.subRows,r+1,t.id)),t)));const s=a[r],d=function(t,e){const r=new Map;return t.reduce(((t,r)=>{const a=""+r.getGroupingValue(e),i=t.get(a);return i?i.push(r):t.set(a,[r]),t}),r)}(e,s),c=Array.from(d.entries()).map(((e,d)=>{let[c,h]=e,u=`${s}:${c}`;u=l?`${l}>${u}`:u;const g=n(h,r+1,u);g.forEach((t=>{t.parentId=u}));const p=r?$(h,(t=>t.subRows)):h,b=tt(t,u,p[0].original,d,r,void 0,l);return Object.assign(b,{groupingColumnId:s,groupingValue:c,subRows:g,leafRows:p,getValue:e=>{var r;if(a.includes(e))return b._valuesCache.hasOwnProperty(e)||h[0]&&(b._valuesCache[e]=null!=(r=h[0].getValue(e))?r:void 0),b._valuesCache[e];if(b._groupingValuesCache.hasOwnProperty(e))return b._groupingValuesCache[e];const i=t.getColumn(e),o=null==i?void 0:i.getAggregationFn();return o?(b._groupingValuesCache[e]=o(e,p,h),b._groupingValuesCache[e]):void 0}}),g.forEach((t=>{i.push(t),o[t.id]=t})),b}));return c},l=n(r.rows,0);return l.forEach((t=>{i.push(t),o[t.id]=t})),{rows:l,flatRows:i,rowsById:o}}),J(t.options,"debugTable",0,(()=>{t._queue((()=>{t._autoResetExpanded(),t._autoResetPageIndex()}))}))):void 0,getRowId:this.getRowId||((t,e)=>(t.id??e)+""),getSubRows:this.getSubRows,enableRowSelection:"none"!==this.selectionMode,enableMultiRowSelection:"multiple-click"===this.selectionMode||"multiple-checkbox"===this.selectionMode,enableSorting:this.enableSorting,enableFilters:this.enableFiltering||this.enableGlobalFilter,enableExpanding:this.enableExpansion||this.enableGrouping,enableGrouping:this.enableGrouping,manualPagination:!1,autoResetExpanded:!1,renderFallbackValue:null}),this.dataOperationsDegraded=!1,i(this.el)}catch(t){const e=this.dataOperationsCircuitBreaker.getMetrics();this.dataOperationsCircuitBreaker.execute((async()=>{throw t})).catch((t=>{this.logger.debug("Circuit breaker recorded failure",{error:t instanceof Error?t.message:t+""})})),"OPEN"!==e.state||this.dataOperationsDegraded||(this.dataOperationsDegraded=!0,this.bhCircuitOpen.emit({metrics:e}),this.logger.error("Circuit breaker opened for data operations",void 0,{state:e.state,failures:e.failureCount})),this.logger.error("Failed to create data grid table",t instanceof Error?t:Error(t+"")),this.hasFatalError=!0,this.fatalErrorMessage=t instanceof Error?t.message:"Failed to initialize data grid",this.bhError.emit({error:t})}}handleStateChange(t){const e=this.tableState;if(this.tableState=t,this.table&&this.table.setOptions((e=>({...e,state:t}))),function(t,e){if(t===e)return!0;if(!t||!e)return!1;if(t.length!==e.length)return!1;for(let r=0;r<t.length;r++){const a=t[r],i=e[r];if(a.id!==i.id||a.desc!==i.desc)return!1}return!0}(e.sorting,t.sorting)||(this.sortState=t.sorting,N.increment(V.EVENT_EMIT,{component:"bh-data-grid",event:"sortChange",sort_columns:t.sorting.length+""}),this.bhSortChange.emit({sorting:t.sorting})),function(t,e){if(t===e)return!0;if(!t||!e)return!1;if(t.length!==e.length)return!1;for(let r=0;r<t.length;r++){const a=t[r],i=e[r];if(a.id!==i.id||a.value!==i.value)return!1}return!0}(e.columnFilters,t.columnFilters)&&e.globalFilter===t.globalFilter||(this.filterState=t.columnFilters,this.globalFilter=t.globalFilter,N.increment(V.EVENT_EMIT,{component:"bh-data-grid",event:"filterChange",filter_count:t.columnFilters.length+"",has_global_filter:!!t.globalFilter+""}),this.bhFilterChange.emit({columnFilters:t.columnFilters,globalFilter:t.globalFilter})),!function(t,e){if(t===e)return!0;if(!t||!e)return!1;const r=Object.keys(t);if(r.length!==Object.keys(e).length)return!1;for(const a of r)if(t[a]!==e[a])return!1;return!0}(e.rowSelection,t.rowSelection)){const e=Object.keys(t.rowSelection).filter((e=>t.rowSelection[e]));this.selectedRowIds=e;const r=this.table?.getSelectedRowModel().rows.map((t=>t.original))??[];N.increment(V.EVENT_EMIT,{component:"bh-data-grid",event:"selectionChange",selected_count:e.length+""}),this.bhSelectionChange.emit({selectedRowIds:e,selectedRows:r})}e.pagination?.pageIndex===t.pagination?.pageIndex&&e.pagination?.pageSize===t.pagination?.pageSize||(this.page=t.pagination.pageIndex+1,this.pageSize=t.pagination.pageSize,N.increment(V.EVENT_EMIT,{component:"bh-data-grid",event:"pageChange",page:this.page+"",page_size:this.pageSize+""}),this.bhChange.emit({page:this.page,pageSize:this.pageSize})),this.savePersistedState(),this.scheduleUpdate()}scheduleUpdate(){this.updatePending||(this.updatePending=!0,queueMicrotask((()=>{this.updatePending=!1,this.el&&i(this.el)})))}buildRowSelection(){const t={};for(const e of this.selectedRowIds)t[e]=!0;return t}buildExpanded(){const t={};for(const e of this.expandedRowIds)t[e]=!0;return t}buildColumnVisibility(){const t={...this.columnVisibility};if(this.enableGrouping)for(const e of this.groupBy)t[e]=!1;return t}handleRowClick=t=>{const e=t.id;if("single-click"===this.selectionMode){const e=t.getIsSelected();this.table?.resetRowSelection(),e||t.toggleSelected(!0)}else"multiple-click"===this.selectionMode&&t.toggleSelected();this.bhRowClick.emit({row:t.original,rowId:e,rowIndex:t.index})};handleCellClick=(t,e)=>{this.bhCellClick.emit({row:t.original,rowId:t.id,rowIndex:t.index,columnId:e.column.id,value:e.getValue()})};handleHeaderClick=t=>{this.enableSorting&&t.column.getCanSort()&&t.column.toggleSorting(void 0,this.enableMultiSort)};handleRowExpand=t=>{const e=!t.getIsExpanded();e&&this.autoCollapseOtherRows&&this.table?.toggleAllRowsExpanded(!1),t.toggleExpanded(),this.bhExpandChange.emit({rowId:t.id,expanded:e}),this.enableMasterDetail&&this.bhDetailToggle.emit({rowId:t.id,row:t.original,expanded:e})};handleGroupToggle=t=>{const e=t.getIsExpanded();t.toggleExpanded(),this.bhGroupToggle.emit({groupId:t.id,expanded:!e})};handleGlobalFilterChange=t=>{const e=t.target;this.table?.setGlobalFilter(e.value)};handleColumnFilterChange=(t,e)=>{const r=this.table?.getColumn(t);r&&r.setFilterValue(e||void 0)};handlePaginationChange=t=>{const{page:e,pageSize:r}=t.detail;this.table?.setPagination({pageIndex:e-1,pageSize:r})};resetEditingState(){this.editingRowId=null,this.editingColumnId=null,this.editingValues={},this.validationErrors={}}startEditing=(t,e)=>{if(!this.enableEditing)return;if("form"===this.editMode||"popup"===this.editMode)return void this.openFormEditModal(t.original,!1);this.editingRowId=t.id,this.editingColumnId="cell"===this.editMode&&e||null;const r={};for(const e of this.columns){const a=Lt(e);a&&(r[a]=t.original[a])}this.editingValues=r,this.validationErrors={},this.bhEditStart.emit({rowId:t.id,row:t.original,columnId:e})};cancelEditing=()=>{if(!this.editingRowId)return;const t=this.table?.getRow(this.editingRowId);t&&this.bhEditCancel.emit({rowId:this.editingRowId,row:t.original}),this.resetEditingState()};saveEditing=()=>{if(!this.editingRowId||!this.table)return;const t=this.table.getRow(this.editingRowId);if(!t)return;const e={};for(const[r,a]of Object.entries(this.editingValues)){const i=this.table.getColumn(r),o=i?.columnDef.meta?.validate;if(o){const i=o(a,t.original);i&&(e[r]=i,this.bhValidationError.emit({rowId:this.editingRowId,columnId:r,value:a,error:i}))}}if(Object.keys(e).length>0)return void(this.validationErrors=e);const r={};for(const[e,a]of Object.entries(this.editingValues))t.original[e]!==a&&(r[e]=a);const a={...t.original,...r};this.bhEditSave.emit({rowId:this.editingRowId,rowIndex:t.index,originalRow:t.original,changes:r,newRow:a}),this.resetEditingState()};handleEditValueChange=(t,e)=>{const r=this.editingValues[t];if(this.editingValues={...this.editingValues,[t]:e},this.validationErrors[t]){const{[t]:e,...r}=this.validationErrors;this.validationErrors=r}this.editingRowId&&this.bhCellChange.emit({rowId:this.editingRowId,columnId:t,oldValue:r,newValue:e})};handleEditKeyDown=(t,e)=>{F(t)?(t.preventDefault(),this.saveEditing()):M(t)?(t.preventDefault(),this.cancelEditing()):O(t)&&"cell"===this.editMode&&(t.preventDefault(),this.moveToNextEditableCell(e,t.shiftKey))};moveToNextEditableCell=(t,e)=>{const r=this.columns.filter((t=>!1!==t.meta?.editable)),a=r.findIndex((e=>Lt(e)===t));if(-1===a)return;const i=e?a-1:a+1;if(i>=0&&i<r.length){const t=Lt(r[i]);this.editingColumnId=t||null}else this.saveEditing()};isEditing(t,e){return this.editingRowId===t&&("cell"!==this.editMode||!!e&&this.editingColumnId===e)}handleCellDoubleClick=(t,e)=>{this.enableEditing&&!1!==e.column.columnDef.meta?.editable&&"cell"===this.editMode&&this.startEditing(t,e.column.id)};openFormEditModal(t,e){const r=t?this.getRowId?.(t,0)||"0":"";if(!e&&t){const e={row:t,rowId:r,columnId:"",value:void 0,editorOptions:{},cancel:!1};if(this.bhEditorPreparing.emit(e),e.cancel)return}if(e){const t={};for(const e of this.columns){const r=Lt(e);r&&(t[r]="")}return this.bhInitNewRow.emit({data:t}),this.formEditRowData=null,this.formEditIsNew=!0,this.formEditErrors={},this.formEditValues=t,void(this.formEditModalOpen=!0)}this.formEditRowData=t,this.formEditIsNew=!1,this.formEditErrors={};const a={};for(const e of this.columns){const r=Lt(e);r&&t&&(a[r]=t[r])}this.formEditValues=a,this.formEditModalOpen=!0,this.bhEditStart.emit({rowId:r,row:t,columnId:void 0})}closeFormEditModal=()=>{if(!this.formEditIsNew&&this.formEditRowData){const t=this.getRowId?.(this.formEditRowData,0)||"0";this.bhEditCancel.emit({rowId:t,row:this.formEditRowData})}this.formEditModalOpen=!1,this.formEditRowData=null,this.formEditIsNew=!1,this.formEditValues={},this.formEditErrors={}};saveFormEdit=()=>{const t={},e=this.formEditConfig?.fields||[];for(const r of e){const e=this.formEditValues[r.columnId];if(!r.required||null!=e&&""!==e){if(r.validator){const a=r.validator(e);a&&(t[r.columnId]=a)}}else t[r.columnId]=(r.label||r.columnId)+" is required"}if(this.table)for(const[e,r]of Object.entries(this.formEditValues)){const a=this.table.getColumn(e),i=a?.columnDef.meta?.validate;if(i&&this.formEditRowData){const a=i(r,this.formEditRowData);a&&(t[e]=a,this.bhValidationError.emit({rowId:this.getRowId?.(this.formEditRowData,0)||"0",columnId:e,value:r,error:a}))}}if(Object.keys(t).length>0)return void(this.formEditErrors=t);const r={...this.formEditRowData||{},...this.formEditValues};if(this.formEditIsNew)this.bhAdd.emit(),this.bhEditSave.emit({rowId:"__new__",rowIndex:-1,originalRow:{},changes:this.formEditValues,newRow:r});else if(this.formEditRowData){const t={};for(const[e,r]of Object.entries(this.formEditValues))this.formEditRowData[e]!==r&&(t[e]=r);const e=this.getRowId?.(this.formEditRowData,0)||"0",a=this.data.findIndex((t=>(this.getRowId?.(t,0)||"0")===e));this.bhEditSave.emit({rowId:e,rowIndex:a,originalRow:this.formEditRowData,changes:t,newRow:r})}this.closeFormEditModal()};handleFormFieldChange=(t,e)=>{const r=this.formEditValues[t];if(this.formEditValues={...this.formEditValues,[t]:e},this.formEditErrors[t]){const{[t]:e,...r}=this.formEditErrors;this.formEditErrors=r}if(this.formEditRowData){const a=this.getRowId?.(this.formEditRowData,0)||"0";this.bhCellChange.emit({rowId:a,columnId:t,oldValue:r,newValue:e})}};openAddForm(){"form"!==this.editMode&&"popup"!==this.editMode||this.openFormEditModal(null,!0)}openEditForm(t){"form"!==this.editMode&&"popup"!==this.editMode||this.openFormEditModal(t,!1)}calculateHiddenColumns(t){const e=[],r=[],a=(this.columns?.map((t=>Lt(t)))??[]).filter((t=>!!t));for(const a of this.responsiveColumns)("small"===t||"medium"===t&&"low"===a.priority)&&"always"!==a.priority&&("adaptive-detail"===a.hiddenBehavior?e.push(a.columnId):r.push(a.columnId));const i=a.filter((t=>!(e.includes(t)||r.includes(t))));return{adaptiveDetailColumns:e,hiddenColumns:r,visibleColumns:i}}calculateBreakpoint(t){return t>=this.largeBreakpoint?"large":t>=this.mediumBreakpoint?"medium":"small"}handleResponsiveResize(t){const e=this.responsiveState.breakpoint,r=this.calculateBreakpoint(t),{adaptiveDetailColumns:a,hiddenColumns:i,visibleColumns:o}=this.calculateHiddenColumns(r);this.responsiveState={viewportWidth:t,breakpoint:r,visibleColumns:o,adaptiveDetailColumns:a,hiddenColumns:i},e!==r&&this.bhResponsiveChange.emit({state:this.responsiveState,previousBreakpoint:e})}isAdaptiveDetailExpanded(t){return this.adaptiveDetailExpandedRows.has(t)}toggleAdaptiveDetailRow(t){const e=!this.adaptiveDetailExpandedRows.has(t);e?this.adaptiveDetailExpandedRows.add(t):this.adaptiveDetailExpandedRows.delete(t),this.bhAdaptiveDetailExpand.emit({data:{rowId:t,hiddenValues:[]},expanded:e})}hasAdaptiveDetailColumns(){return(this.responsiveState.adaptiveDetailColumns?.length??0)>0}async deleteRow(t){const e=this.getRowId?.(t,0)??"",r={type:"delete",row:t,rowId:e,cancel:!1};if(this.bhRowDeleting.emit(r),r.cancel)return!1;if(r.promise)try{await r.promise}catch{return!1}return this.batchEditingEnabled&&this.bhBatchChangeAdded.emit({change:{type:"delete",rowKey:e,originalData:t,modifiedData:null,timestamp:Date.now()},totalChanges:1}),this.bhRowDeleted.emit({type:"delete",row:t,rowId:e}),!0}handleResizeMouseDown=(t,e)=>{if(!this.enableColumnResize)return;t.preventDefault(),t.stopPropagation();const r=e.column.id,a=e.column.columnDef.meta;if(!1===a?.resizable)return;const i=this.columnSizes[r]||e.column.getSize()||150;this.resizingColumnId=r,this.resizeStartX=t.clientX,this.resizeStartWidth=i,document.addEventListener("mousemove",this.handleResizeMouseMove),document.addEventListener("mouseup",this.handleResizeMouseUp),document.body.classList.add("data-grid-resizing")};handleResizeMouseMove=t=>{if(!this.resizingColumnId)return;const e=t.clientX-this.resizeStartX,r=this.table?.getColumn(this.resizingColumnId),a=r?.columnDef.meta,i=a?.minWidth??this.minColumnWidth,o=Math.min(a?.maxWidth??this.maxColumnWidth,Math.max(i,this.resizeStartWidth+e)),n=this.columnSizes[this.resizingColumnId]??this.resizeStartWidth;this.columnSizes={...this.columnSizes,[this.resizingColumnId]:o},this.bhColumnResize.emit({columnId:this.resizingColumnId,width:o,previousWidth:n}),this.scheduleUpdate()};handleResizeMouseUp=()=>{this.resizingColumnId&&this.bhColumnResizeEnd.emit({columnSizes:{...this.columnSizes}}),this.resizingColumnId=null,this.resizeStartX=0,this.resizeStartWidth=0,document.removeEventListener("mousemove",this.handleResizeMouseMove),document.removeEventListener("mouseup",this.handleResizeMouseUp),document.body.classList.remove("data-grid-resizing")};getColumnWidth(t,e){return this.columnSizes[t]??e}pinColumn=(t,e)=>{if(!this.enableColumnPinning)return;const r={...this.columnPinning};r.left=r.left.filter((e=>e!==t)),r.right=r.right.filter((e=>e!==t)),"left"===e?r.left=[...r.left,t]:"right"===e&&(r.right=[...r.right,t]),this.columnPinning=r,this.table&&this.table.setColumnPinning(r),this.bhColumnPinChange.emit({columnId:t,pinned:e}),this.scheduleUpdate()};handleColumnDragStart=(t,e)=>{if(!this.enableColumnReorder)return;const r=e.column.id;this.draggingColumnId=r,t.dataTransfer?.setData("text/plain",r),t.dataTransfer&&(t.dataTransfer.effectAllowed="move"),document.body.classList.add("data-grid-dragging")};handleColumnDragOver=(t,e)=>{if(!this.enableColumnReorder||!this.draggingColumnId)return;t.preventDefault(),t.dataTransfer&&(t.dataTransfer.dropEffect="move");const r=e.column.id;r!==this.draggingColumnId&&(this.dragOverColumnId=r)};handleColumnDragLeave=()=>{this.dragOverColumnId=null};handleColumnDrop=(t,e)=>{if(!this.enableColumnReorder||!this.draggingColumnId)return;t.preventDefault();const r=this.draggingColumnId,a=e.column.id;if(r===a)return void this.resetDragState();const i=this.columnOrder.length>0?[...this.columnOrder]:this.columns.map((t=>Lt(t))),o=i.indexOf(r),n=i.indexOf(a);if(-1===o||-1===n)return void this.resetDragState();const l=i.toSpliced(o,1).toSpliced(n,0,r);this.columnOrder=l,this.table&&this.table.setColumnOrder(l),this.bhColumnReorder.emit({columnOrder:l,draggedColumnId:r,targetIndex:n}),this.resetDragState(),this.scheduleUpdate()};handleColumnDragEnd=()=>{this.resetDragState()};resetDragState=()=>{this.draggingColumnId=null,this.dragOverColumnId=null,document.body.classList.remove("data-grid-dragging")};toggleColumnChooser=()=>{this.columnChooserOpen=!this.columnChooserOpen};closeColumnChooser=()=>{this.columnChooserOpen=!1};toggleColumnVisibility=t=>{const e=!(!1!==this.columnVisibility[t]);this.columnVisibility={...this.columnVisibility,[t]:e},this.table&&this.table.setColumnVisibility({...this.columnVisibility,[t]:e}),this.bhColumnVisibilityChange.emit({columnId:t,visible:e,columnVisibility:{...this.columnVisibility}}),this.scheduleUpdate()};showAllColumns=()=>{const t={};for(const e of this.columns){const r=Lt(e);r&&(t[r]=!0)}this.columnVisibility=t,this.table&&this.table.setColumnVisibility(t),this.scheduleUpdate()};hideAllColumns=()=>{const t={};for(const e of this.columns){const r=Lt(e);r&&(t[r]=!1)}this.columnVisibility=t,this.table&&this.table.setColumnVisibility(t),this.scheduleUpdate()};isColumnVisible(t){return!1!==this.columnVisibility[t]}toggleHeaderFilter=t=>{this.headerFilterOpenColumnId===t?this.closeHeaderFilter():(this.headerFilterOpenColumnId=t,this.headerFilterSearchText="")};closeHeaderFilter=()=>{this.headerFilterOpenColumnId=null,this.headerFilterSearchText=""};getUniqueColumnValues(t){const e=new Map;for(const r of this.data){const a=r[t],i=(a??"")+"";e.has(i)?e.get(i).count++:e.set(i,{value:a,count:1})}return Array.from(e,(([t,{value:e,count:r}])=>({value:e,text:t||"(Blank)",count:r}))).toSorted(((t,e)=>t.text.localeCompare(e.text)))}getHeaderFilterSelectedValues(t){const e=this.headerFilterState.find((e=>e.columnId===t));return e?.selectedValues??[]}isHeaderFilterValueSelected(t,e){return this.getHeaderFilterSelectedValues(t).some((t=>t+""==e+""||null===t&&null===e))}toggleHeaderFilterValue=(t,e)=>{const r=this.getHeaderFilterSelectedValues(t),a=e+"";let i;i=r.some((t=>t+""===a))?r.filter((t=>t+""!==a)):[...r,e],this.updateHeaderFilterState(t,i)};selectAllHeaderFilterValues=t=>{const e=this.getFilteredHeaderFilterValues(t).map((t=>t.value));this.updateHeaderFilterState(t,e)};clearHeaderFilterValues=t=>{this.updateHeaderFilterState(t,[])};updateHeaderFilterState(t,e){const r=this.headerFilterState.findIndex((e=>e.columnId===t));let a;0===e.length?a=this.headerFilterState.filter((e=>e.columnId!==t)):r>=0?(a=[...this.headerFilterState],a[r]={columnId:t,selectedValues:e}):a=[...this.headerFilterState,{columnId:t,selectedValues:e}],this.headerFilterState=a,this.applyHeaderFilterToTable(t,e),this.bhHeaderFilterChange.emit({columnId:t,selectedValues:e,filterState:a}),this.scheduleUpdate()}applyHeaderFilterToTable(t,e){this.table&&(0===e.length?this.table.getColumn(t)?.setFilterValue(void 0):this.table.getColumn(t)?.setFilterValue(e))}getFilteredHeaderFilterValues(t){const e=this.getUniqueColumnValues(t),r=this.headerFilterSearchText.toLowerCase();return r?e.filter((t=>t.text.toLowerCase().includes(r))):e}hasActiveHeaderFilter(t){return this.getHeaderFilterSelectedValues(t).length>0}handleVirtualScroll=t=>{this.virtualScrollTop=t.target.scrollTop,this.scheduleUpdate()};getVirtualizedRows(){if(!this.table||!this.enableVirtualScrolling){const t=this.table?.getRowModel().rows??[];return{visibleRows:t,startIndex:0,endIndex:t.length,totalHeight:t.length*this.estimatedRowHeight,offsetTop:0}}const t=this.table.getRowModel().rows,e=t.length,r=Math.max(this.estimatedRowHeight,1),a=e*r,i=Math.max(0,Math.floor(this.virtualScrollTop/r)-this.overscanCount),o=Math.min(e,i+Math.ceil(this.virtualScrollHeight/r)+2*this.overscanCount);return{visibleRows:t.slice(i,o),startIndex:i,endIndex:o,totalHeight:a,offsetTop:i*r}}setScrollContainerRef=t=>{this.scrollContainerRef=t??null};scrollToRowIndex(t){this.scrollContainerRef&&this.enableVirtualScrolling&&(this.scrollContainerRef.scrollTop=t*this.estimatedRowHeight)}canRowExpand(t){if(this.enableMasterDetail){const e=this.masterDetailConfig;return void 0===e?.enabled||("function"==typeof e.enabled?e.enabled(t.original):e.enabled)}return t.getCanExpand()}calculateSummaryValue(t,e){const r=e.map((e=>e[t.columnId])).filter((t=>null!=t)),a=r.map((t=>Number(t))).filter((t=>Number.isFinite(t))),i=qt[t.type];return i?i(a,r):"custom"===t.type&&t.calculate?t.calculate(r):null}formatSummaryValue(t,e){return t.format?t.format(e):"number"==typeof e?"avg"===t.type?e.toLocaleString(void 0,{minimumFractionDigits:2,maximumFractionDigits:2}):e.toLocaleString():(e??"")+""}getSummaryLabel(t){return t.label?t.label:{sum:"Sum",avg:"Avg",min:"Min",max:"Max",count:"Count",custom:""}[t.type]??""}loadPersistedState(){return function(t){if(!t.enable||!t.stateStorageKey)return null;try{const e=localStorage.getItem(Ot(t.stateStorageKey));if(e){const r=n(e);if(!r.valid)return null;if(r.value)return t.onLoad(r.value),r.value}}catch(t){}return null}({enable:this.enableStatePersistence,stateStorageKey:this.stateStorageKey,onLoad:t=>this.bhStateLoad.emit({state:t})})}savePersistedState(){if(this.enableStatePersistence&&this.stateStorageKey)try{const t={sorting:this.sortState,columnFilters:this.filterState,globalFilter:this.globalFilter,columnSizes:this.columnSizes,columnOrder:this.columnOrder,columnVisibility:this.columnVisibility,columnPinning:this.columnPinning,pageSize:this.pageSize},e={};for(const r of this.persistedStateKeys)r in t&&(e[r]=t[r]);!function(t){if(t.enable&&t.stateStorageKey)try{localStorage.setItem(Ot(t.stateStorageKey),JSON.stringify(t.state)),t.onSave(t.state)}catch(t){}}({enable:this.enableStatePersistence,stateStorageKey:this.stateStorageKey,state:e,onSave:t=>this.bhStateSave.emit({state:t})})}catch{}}applyPersistedState(t){const e=new Set(this.persistedStateKeys);void 0!==t.sorting&&e.has("sorting")&&(this.sortState=t.sorting),void 0!==t.columnFilters&&e.has("columnFilters")&&(this.filterState=t.columnFilters),void 0!==t.globalFilter&&e.has("globalFilter")&&(this.globalFilter=t.globalFilter),void 0!==t.columnSizes&&e.has("columnSizes")&&(this.columnSizes=t.columnSizes),void 0!==t.columnOrder&&e.has("columnOrder")&&(this.columnOrder=t.columnOrder),void 0!==t.columnVisibility&&e.has("columnVisibility")&&(this.columnVisibility=t.columnVisibility),void 0!==t.columnPinning&&e.has("columnPinning")&&(this.columnPinning=t.columnPinning),void 0!==t.pageSize&&e.has("pageSize")&&(this.pageSize=t.pageSize)}clearPersistedState(){!function(t){if(t.stateStorageKey)try{localStorage.removeItem(Ot(t.stateStorageKey))}catch(t){}}({stateStorageKey:this.stateStorageKey})}async exportData(t){if(!this.enableExport)return;const e={fileName:"export",format:"csv",includeHeaders:!0,visibleColumnsOnly:!0,selectedRowsOnly:!1,filteredDataOnly:!0,csvDelimiter:",",includeBOM:!0,...this.exportConfig,...t},r=N.startTimer(V.ASYNC_OPERATION,{component:"bh-data-grid",operation:"export",format:e.format??"csv"}),{rows:a,columns:i}=this.getExportData(e);switch(N.increment(V.EVENT_EMIT,{component:"bh-data-grid",event:"export",format:e.format??"csv",row_count:a.length+"",column_count:i.length+"",selected_only:e.selectedRowsOnly+"",filtered_only:e.filteredDataOnly+""}),e.format){case"csv":this.exportToCSV(a,i,e);break;case"xlsx":try{await At(a,i,e)}catch(t){this.logger.error("XLSX export failed",t instanceof Error?t:Error(t+"")),this.showErrorNotification(this.resolvedLabels.exportFailed,"error")}break;case"json":this.exportToJSON(a,i,e)}r(),this.exportDropdownOpen=!1}getExportData(t){if(!this.table)return{rows:[],columns:[]};let e,r=[...this.columns];if(t.visibleColumnsOnly){const t=this.table.getVisibleFlatColumns().map((t=>t.id));r=r.filter((e=>{const r=Lt(e);return r&&t.includes(r)}))}return t.excludeColumns?.length&&(r=r.filter((e=>{const r=Lt(e);return!t.excludeColumns?.includes(r||"")}))),e=t.selectedRowsOnly?this.table.getSelectedRowModel().rows.map((t=>t.original)):t.filteredDataOnly?this.table.getFilteredRowModel().rows.map((t=>t.original)):[...this.data],{rows:e,columns:r}}getColumnHeader(t,e){const r=Lt(t);return e?.[r]?e[r]:"string"==typeof t.header?t.header:r}getCellValue(t,e,r){const a=Lt(e),i=t[a];return r?.[a]?r[a](i,t):null==i?"":i instanceof Date?i.toISOString():"object"==typeof i?JSON.stringify(i):i+""}exportToCSV(t,e,r){const a=r.csvDelimiter||",",i=[];if(r.includeHeaders){const t=e.map((t=>this.escapeCSVValue(this.getColumnHeader(t,r.customHeaders),a)));i.push(t.join(a))}for(const o of t){const t=e.map((t=>this.escapeCSVValue(this.getCellValue(o,t,r.formatters),a)));i.push(t.join(a))}const o=i.join("\n"),n=new Blob([(r.includeBOM?"\ufeff":"")+o],{type:"text/csv;charset=utf-8;"}),l=r.fileName+".csv";this.downloadBlob(n,l),this.bhExport.emit({format:"csv",rowCount:t.length,columnCount:e.length,fileName:l})}escapeCSVValue(t,e){return t.includes(e)||t.includes('"')||t.includes("\n")||t.includes("\r")?`"${t.replaceAll('"','""')}"`:t}exportToJSON(t,e,r){const a=e.map((t=>Lt(t))),i=t.map((t=>{const e={};for(const i of a)if(i){const a=t[i];e[i]=r.formatters?.[i]?r.formatters[i](a,t):a}return e})),o=JSON.stringify(i,null,2),n=new Blob([o],{type:"application/json;charset=utf-8;"}),l=r.fileName+".json";this.downloadBlob(n,l),this.bhExport.emit({format:"json",rowCount:t.length,columnCount:e.length,fileName:l})}downloadBlob(t,e){const r=URL.createObjectURL(t),a=document.createElement("a");a.href=r,a.download=e,a.style.display="none",document.body.appendChild(a),a.click(),document.body.removeChild(a),URL.revokeObjectURL(r)}handleExportClick=t=>{this.exportData({format:t})};toggleExportDropdown=()=>{this.exportDropdownOpen=!this.exportDropdownOpen};getRowIdValue(t,e){return this.getRowId?this.getRowId(t,e):(t.id??e)+""}isRowDraggable(t){return!(!this.enableRowDragging||this.rowDragDisabled&&this.rowDragDisabled(t))}handleRowDragStart=(t,e,r,a)=>{if(this.isRowDraggable(e)){if(this.draggingRowId=r,this.dragOverRowId=null,this.dragPosition=null,t.dataTransfer){t.dataTransfer.effectAllowed="move",t.dataTransfer.setData("text/plain",r);const e=t.target.cloneNode(!0);e.style.opacity="0.7",e.style.position="absolute",e.style.top="-1000px",document.body.appendChild(e),t.dataTransfer.setDragImage(e,0,0),this.dragImageCleanupEl=e,this.destroy$&&B(0,this.destroy$)?.subscribe((()=>{this.dragImageCleanupEl?.parentNode&&this.dragImageCleanupEl.parentNode.removeChild(this.dragImageCleanupEl),this.dragImageCleanupEl=void 0}))}this.bhRowDragStart.emit({row:e,rowId:r,fromIndex:a})}else t.preventDefault()};handleRowDragOver=(t,e,r)=>{if(!this.draggingRowId||this.draggingRowId===r)return;t.preventDefault(),t.dataTransfer&&(t.dataTransfer.dropEffect="move");const a=t.currentTarget.getBoundingClientRect(),i=t.clientY<a.top+a.height/2?"above":"below";this.dragOverRowId=r,this.dragPosition=i};handleRowDragLeave=()=>{};handleRowDrop=(t,e,r)=>{if(t.preventDefault(),!this.draggingRowId||this.draggingRowId===r)return void this.resetRowDragState();const a=this.table?.getFilteredRowModel().rows??[],i=a.findIndex((t=>this.getRowIdValue(t.original,t.index)===this.draggingRowId)),o=a.findIndex((t=>this.getRowIdValue(t.original,t.index)===r));if(-1===i||-1===o)return void this.resetRowDragState();let n=o;"below"===this.dragPosition&&o>i||"above"===this.dragPosition&&o<i?n=o:"below"===this.dragPosition&&(n=o+1);const l=a.map((t=>this.getRowIdValue(t.original,t.index))),s=l[i],d=n>i?n-1:n,c=l.toSpliced(i,1).toSpliced(d,0,s),h=a[i].original;this.bhRowDrop.emit({row:h,rowId:this.draggingRowId,fromIndex:i,toIndex:n,newOrder:c});const u=this.reorderData(i,d);this.bhRowReorder.emit({row:h,rowId:this.draggingRowId,fromIndex:i,toIndex:d,reorderedData:u}),this.resetRowDragState()};handleRowDragEnd=()=>{this.resetRowDragState()};resetRowDragState(){this.draggingRowId=null,this.dragOverRowId=null,this.dragPosition=null}reorderData(t,e){const r=this.data[t];return this.data.toSpliced(t,1).toSpliced(e,0,r)}getEffectiveFocusedRowId(){return this.focusedRowId??this.internalFocusedRowId}getEffectiveFocusedCell(){return this.focusedCell??this.internalFocusedCell}handleRowFocus=(t,e,r)=>{this.enableFocusTracking&&(this.internalFocusedRowId=e,this.internalFocusedCell=null,void 0!==this.focusedRowId&&(this.focusedRowId=e),void 0!==this.focusedCell&&(this.focusedCell=void 0),this.bhFocusChange.emit({row:t,rowId:e,rowIndex:r,columnId:null,cellValue:null}),this.autoScrollToFocused&&this.scrollToRow(e))};handleCellFocus=(t,e,r,a,i)=>{if(!this.enableFocusTracking)return;const o={rowId:e,columnId:a};this.internalFocusedRowId=e,this.internalFocusedCell=o,void 0!==this.focusedRowId&&(this.focusedRowId=e),void 0!==this.focusedCell&&(this.focusedCell=o),this.bhFocusChange.emit({row:t,rowId:e,rowIndex:r,columnId:a,cellValue:i}),this.autoScrollToFocused&&this.scrollToRow(e)};handleKeyboardNavigation=(t,e,r,a)=>{if(!this.enableFocusTracking||!this.enableKeyboardNavigation)return;if(!this.table)return;const i=this.table.getRowModel().rows,o=this.table.getVisibleLeafColumns();let n=r;const l=a?o.findIndex((t=>t.id===a)):-1;let s=l;switch(t.key){case A.ARROW_UP:t.preventDefault(),n=Math.max(0,r-1);break;case A.ARROW_DOWN:t.preventDefault(),n=Math.min(i.length-1,r+1);break;case A.ARROW_LEFT:a&&s>0&&(t.preventDefault(),s-=1);break;case A.ARROW_RIGHT:a&&s<o.length-1&&(t.preventDefault(),s+=1);break;case A.HOME:t.preventDefault(),(t.ctrlKey||t.metaKey)&&(n=0),a&&(s=0);break;case A.END:t.preventDefault(),(t.ctrlKey||t.metaKey)&&(n=i.length-1),a&&(s=o.length-1);break;case A.PAGE_UP:t.preventDefault(),n=Math.max(0,r-10);break;case A.PAGE_DOWN:t.preventDefault(),n=Math.min(i.length-1,r+10);break;default:return}if(n!==r||a&&s!==l){const t=i[n];if(t){const e=t.id;if(a&&s>=0){const r=o[s],a=t.getValue(r.id);this.handleCellFocus(t.original,e,n,r.id,a)}else this.handleRowFocus(t.original,e,n);this.focusRowElement(e,o[s]?.id)}}};scrollToRow(t){if(!this.scrollContainerRef)return;const e=this.el.shadowRoot?.querySelector(`[data-row-id="${t}"]`);if(e){const t=this.scrollContainerRef.getBoundingClientRect(),r=e.getBoundingClientRect();r.top<t.top?e.scrollIntoView({block:"start",behavior:"smooth"}):r.bottom>t.bottom&&e.scrollIntoView({block:"end",behavior:"smooth"})}}focusRowElement(t,e){this.pendingFocusRafId=requestAnimationFrame((()=>{if(this.pendingFocusRafId=void 0,e){const r=this.el.shadowRoot?.querySelector(`[data-row-id="${t}"] [data-column-id="${e}"]`);r?.focus()}else{const e=this.el.shadowRoot?.querySelector(`[data-row-id="${t}"]`);e?.focus()}}))}clearFocus(){this.internalFocusedRowId=null,this.internalFocusedCell=null,void 0!==this.focusedRowId&&(this.focusedRowId=void 0),void 0!==this.focusedCell&&(this.focusedCell=void 0),this.bhFocusChange.emit({row:null,rowId:null,rowIndex:null,columnId:null,cellValue:null})}focusRow(t){if(!this.table)return;const e=this.table.getRowModel().rows,r=e.findIndex((e=>e.id===t));r>=0&&(this.handleRowFocus(e[r].original,t,r),this.focusRowElement(t))}focusCellById(t,e){if(!this.table)return;const r=this.table.getRowModel().rows,a=r.findIndex((e=>e.id===t));if(a>=0){const i=r[a],o=i.getValue(e);this.handleCellFocus(i.original,t,a,e,o),this.focusRowElement(t,e)}}handleSearchPanelInput=t=>{const e=t.target.value;if(this.searchPanelText=e,!e.trim())return this.searchMatches=[],this.currentSearchMatchIndex=0,void this.bhSearchChange.emit({searchText:"",matchCount:0,matches:[]});const r=this.findSearchMatches(e);this.searchMatches=r,this.currentSearchMatchIndex=r.length>0?0:-1,this.bhSearchChange.emit({searchText:e,matchCount:r.length,matches:r}),r.length>0&&this.scrollToSearchMatch(r[0]),this.scheduleUpdate()};findSearchMatches(t){if(!this.table||!t.trim())return[];const e=[],r=t.toLowerCase(),a=this.table.getRowModel().rows;for(const i of a)for(const a of i.getVisibleCells()){const o=a.column.id,n=a.getValue(),l=this.getCellTextValue(n);if(!l)continue;const s=l.toLowerCase();let d=0,c=0;for(;;){const a=s.indexOf(r,d);if(-1===a)break;e.push({rowId:i.id,columnId:o,matchIndex:c,startIndex:a,endIndex:a+t.length}),d=a+1,c++}}return e}getCellTextValue(t){return null==t?"":"string"==typeof t?t:"number"==typeof t?t+"":"boolean"==typeof t?t?"Yes":"No":t instanceof Date?t.toLocaleDateString():t+""}scrollToSearchMatch(t){if(!this.scrollContainerRef)return;const e=this.el.shadowRoot?.querySelector(`[data-row-id="${t.rowId}"]`);if(e){const t=this.scrollContainerRef.getBoundingClientRect(),r=e.getBoundingClientRect();(r.top<t.top||r.bottom>t.bottom)&&e.scrollIntoView({block:"center",behavior:"smooth"})}}focusNextMatch(){0!==this.searchMatches.length&&(this.currentSearchMatchIndex=(this.currentSearchMatchIndex+1)%this.searchMatches.length,this.scrollToSearchMatch(this.searchMatches[this.currentSearchMatchIndex]),this.scheduleUpdate())}focusPreviousMatch(){0!==this.searchMatches.length&&(this.currentSearchMatchIndex=this.currentSearchMatchIndex<=0?this.searchMatches.length-1:this.currentSearchMatchIndex-1,this.scrollToSearchMatch(this.searchMatches[this.currentSearchMatchIndex]),this.scheduleUpdate())}clearSearch(){this.searchPanelText="",this.searchMatches=[],this.currentSearchMatchIndex=0,this.bhSearchChange.emit({searchText:"",matchCount:0,matches:[]}),this.scheduleUpdate()}handleSearchPanelKeyDown=t=>{F(t)?(t.preventDefault(),t.shiftKey?this.focusPreviousMatch():this.focusNextMatch()):M(t)&&this.clearSearch()};getCellSearchMatches(t,e){return this.searchMatches.filter((r=>r.rowId===t&&r.columnId===e))}isCurrentSearchMatch(t){if(this.currentSearchMatchIndex<0||this.currentSearchMatchIndex>=this.searchMatches.length)return!1;const e=this.searchMatches[this.currentSearchMatchIndex];return e.rowId===t.rowId&&e.columnId===t.columnId&&e.matchIndex===t.matchIndex}highlightSearchText(e,r){if(!this.highlightSearchResults||0===r.length||!e)return e;const a=r.toSorted(((t,e)=>t.startIndex-e.startIndex)),i=[];let o=0;for(const r of a){r.startIndex>o&&i.push(e.slice(o,r.startIndex));const a=e.slice(r.startIndex,r.endIndex),n=this.isCurrentSearchMatch(r);i.push(t("span",{class:{"data-grid-search-highlight":!0,"data-grid-search-highlight-current":n}},a)),o=r.endIndex}return o<e.length&&i.push(e.slice(o)),i}handleContextMenu=(t,e,r,a,i,o)=>{if(!this.enableContextMenu)return;t.preventDefault(),t.stopPropagation();const n={row:e,rowId:r,rowIndex:a,columnId:i,cellValue:o,selectedRows:this.table?.getSelectedRowModel().rows.map((t=>t.original))??[]};let l=[...this.contextMenuItems];if(this.contextMenuPreparing&&(l=this.contextMenuPreparing({context:n,items:l,event:t})),l=l.filter((t=>!1!==t.visible)),0===l.length)return;const s=this.calculateContextMenuPosition(t);this.contextMenuOpen=!0,this.contextMenuPosition=s,this.contextMenuContext=n,this.contextMenuResolvedItems=l,this.contextMenuSubmenuOpen=null,this.bhContextMenu.emit({context:n,items:l,event:t}),this.destroy$&&B(0,this.destroy$)?.subscribe((()=>{this.listeners.add(document,"click",this.handleDocumentClickForContextMenu),this.listeners.add(document,"keydown",this.handleContextMenuKeyDown)}))};disconnectedCallback(){T(this.destroy$),this.destroy$=null,this.listeners.removeAll(),this.observerManager?.disconnectAll(),this.observerManager=null,void 0!==this.pendingFocusRafId&&(cancelAnimationFrame(this.pendingFocusRafId),this.pendingFocusRafId=void 0),this.resizingColumnId&&(document.removeEventListener("mousemove",this.handleResizeMouseMove),document.removeEventListener("mouseup",this.handleResizeMouseUp),document.body.classList.remove("data-grid-resizing"),this.resizingColumnId=null),this.dragImageCleanupEl?.parentNode&&this.dragImageCleanupEl.parentNode.removeChild(this.dragImageCleanupEl),this.dragImageCleanupEl=void 0,this.contextMenuRef=null}calculateContextMenuPosition(t){const e=t.clientX,r=t.clientY,a=window.innerWidth,i=window.innerHeight;let o=e,n=r;return e+200>a&&(o=Math.max(0,a-200-10)),r+300>i&&(n=Math.max(0,i-300-10)),{x:o,y:n}}handleContextMenuItemClick=t=>{t.disabled||"divider"===t.type||("submenu"!==t.type?(t.onClick&&this.contextMenuContext&&t.onClick(this.contextMenuContext),this.contextMenuContext&&this.bhContextMenuItemClick.emit({item:t,context:this.contextMenuContext}),this.closeContextMenu()):this.contextMenuSubmenuOpen=this.contextMenuSubmenuOpen===t.id?null:t.id||null)};closeContextMenu=()=>{this.contextMenuOpen=!1,this.contextMenuContext=null,this.contextMenuResolvedItems=[],this.contextMenuSubmenuOpen=null,document.removeEventListener("click",this.handleDocumentClickForContextMenu),document.removeEventListener("keydown",this.handleContextMenuKeyDown)};handleDocumentClickForContextMenu=t=>{this.contextMenuRef&&!this.contextMenuRef.contains(t.target)&&this.closeContextMenu()};handleContextMenuKeyDown=t=>{M(t)&&this.closeContextMenu()};flexRender(t,e){return"function"==typeof t?t(e):t}formatCellValue(t,e){if(null==t)return"";switch(e?.type){case"number":return"number"==typeof t?t.toLocaleString(void 0,e.numberFormat):t+"";case"date":return t instanceof Date?t.toLocaleDateString(void 0,e.dateFormat):new Date(t).toLocaleDateString(void 0,e.dateFormat);case"boolean":return t?"Yes":"No";default:return t+""}}showErrorNotification(t,e="error"){this.showInlineErrorNotification&&(this.errorNotificationMessage=t,this.errorNotificationType=e,this.errorNotificationVisible=!0,this.errorNotificationDuration>0&&this.destroy$&&B(this.errorNotificationDuration,this.destroy$)?.subscribe((()=>{this.dismissErrorNotification()})),this.logger.info("Error notification shown",{message:t,type:e}))}dismissErrorNotification=()=>{this.errorNotificationVisible=!1,this.errorNotificationMessage=""};renderErrorNotification(){return this.errorNotificationVisible&&this.errorNotificationMessage?t("div",{class:"data-grid-error-notification",part:"error-notification"},t("bh-toast",{description:this.errorNotificationMessage,dismissible:!0,onBhClose:this.dismissErrorNotification,title:"error"===this.errorNotificationType?"Operation Failed":"Warning",variant:this.errorNotificationType})):null}renderContextMenu(){if(!this.enableContextMenu||!this.contextMenuOpen)return null;const{x:e,y:r}=this.contextMenuPosition;return t("div",{class:"data-grid-context-menu",onClick:t=>t.stopPropagation(),ref:t=>this.contextMenuRef=t??null,style:{left:e+"px",top:r+"px"}},this.contextMenuResolvedItems.map(((t,e)=>this.renderContextMenuItem(t,e))))}renderContextMenuItem(e,r){if("divider"===e.type)return t("div",{class:"data-grid-context-menu-divider",key:"divider-"+r,role:"separator"});if("submenu"===e.type&&e.items&&e.items.length>0){const a=this.contextMenuSubmenuOpen===e.id;return t("div",{"aria-disabled":e.disabled?"true":"false","aria-expanded":a?"true":"false","aria-haspopup":"true",class:{"data-grid-context-menu-item":!0,"data-grid-context-menu-item-submenu":!0,"data-grid-context-menu-item-disabled":!!e.disabled,"data-grid-context-menu-item-open":a},key:e.id||"submenu-"+r,onClick:()=>this.handleContextMenuItemClick(e),onMouseEnter:()=>{e.disabled||(this.contextMenuSubmenuOpen=e.id||null)},role:"menuitem"},e.icon&&t("span",{class:"data-grid-context-menu-item-icon material-symbols-outlined"},e.icon),t("span",{class:"data-grid-context-menu-item-label"},e.label),t("span",{class:"data-grid-context-menu-item-arrow material-symbols-outlined"},"chevron_right"),a&&t("div",{class:"data-grid-context-menu-submenu"},e.items.filter((t=>!1!==t.visible)).map(((t,e)=>this.renderContextMenuItem(t,e)))))}return t("div",{"aria-disabled":e.disabled?"true":"false",class:{"data-grid-context-menu-item":!0,"data-grid-context-menu-item-disabled":!!e.disabled},key:e.id||"item-"+r,onClick:()=>this.handleContextMenuItemClick(e),role:"menuitem"},e.icon&&t("span",{class:"data-grid-context-menu-item-icon material-symbols-outlined"},e.icon),t("span",{class:"data-grid-context-menu-item-label"},e.label))}renderSearchPanel(){if(!this.enableSearchPanel||!this.showSearchPanel)return null;const e=this.searchMatches.length,r=this.currentSearchMatchIndex,a=e>0,i=this.searchPanelText.trim().length>0;return t("div",{class:"data-grid-search-panel"},t("div",{class:"data-grid-search-panel-input-wrapper"},t("span",{class:"data-grid-search-panel-icon material-symbols-outlined"},"search"),t("input",{class:"data-grid-search-panel-input",onInput:this.handleSearchPanelInput,onKeyDown:this.handleSearchPanelKeyDown,placeholder:this.searchPanelPlaceholder,type:"text",value:this.searchPanelText}),i&&t("button",{class:"data-grid-search-panel-clear",onClick:()=>this.clearSearch(),title:this.resolvedLabels.clearSearch},t("span",{class:"material-symbols-outlined"},"close"))),i&&t("div",{class:"data-grid-search-panel-results"},t("span",{class:"data-grid-search-count"},a?`${r+1} of ${e} matches`:this.resolvedLabels.noMatches),t("div",{class:"data-grid-search-nav"},t("button",{class:"data-grid-search-nav-btn",disabled:!a,onClick:()=>this.focusPreviousMatch(),title:this.resolvedLabels.previousMatch},t("span",{class:"material-symbols-outlined"},"keyboard_arrow_up")),t("button",{class:"data-grid-search-nav-btn",disabled:!a,onClick:()=>this.focusNextMatch(),title:this.resolvedLabels.nextMatch},t("span",{class:"material-symbols-outlined"},"keyboard_arrow_down")))))}renderCaption(){return this.caption?t("div",{class:{"data-grid-caption":!0,["data-grid-caption-"+this.captionPosition]:!0}},t("slot",{name:"caption"},this.caption)):null}renderGlobalFilter(){return this.enableGlobalFilter?t("div",{class:"data-grid-global-filter"},t("span",{class:"data-grid-search-icon material-symbols-outlined"},"search"),t("input",{class:"data-grid-global-filter-input",onInput:this.handleGlobalFilterChange,placeholder:this.globalFilterPlaceholder,type:"text",value:this.globalFilter})):null}renderToolbar(){if(!(this.showToolbar??(this.enableGlobalFilter||this.enableColumnChooser||this.enableExport&&this.showExportButton||this.showRefreshButton||this.showAddButton||this.showClearFilterButton||this.showClearSelectionButton||this.enableSearchPanel&&"toolbar"===this.searchPanelPosition)))return null;const e={leftItems:["search"],centerItems:[],rightItems:["export","column-chooser"],...this.toolbarConfig};return t("div",{class:{"data-grid-toolbar":!0,[e.cssClass||""]:!!e.cssClass}},t("div",{class:"data-grid-toolbar-left"},"toolbar"===this.searchPanelPosition&&this.renderSearchPanel(),this.renderToolbarItems(e.leftItems||[]),t("slot",{name:"toolbar-left"})),t("div",{class:"data-grid-toolbar-center"},this.renderToolbarItems(e.centerItems||[]),t("slot",{name:"toolbar-center"})),t("div",{class:"data-grid-toolbar-right"},t("slot",{name:"toolbar-right"}),this.renderToolbarItems(e.rightItems||[])))}renderToolbarItems(t){return t.map((t=>this.renderToolbarItem(t)))}renderToolbarItem(t){switch(t){case"search":return this.enableGlobalFilter?this.renderToolbarSearch():null;case"export":return this.enableExport&&this.showExportButton?this.renderExportButton():null;case"column-chooser":return this.enableColumnChooser?this.renderColumnChooser():null;case"refresh":return this.showRefreshButton?this.renderRefreshButton():null;case"add":return this.showAddButton?this.renderAddButton():null;case"clear-filter":return this.showClearFilterButton?this.renderClearFilterButton():null;case"clear-selection":return this.showClearSelectionButton?this.renderClearSelectionButton():null;default:return null}}renderToolbarSearch(){return t("div",{class:"data-grid-toolbar-search"},t("span",{class:"data-grid-search-icon material-symbols-outlined"},"search"),t("input",{class:"data-grid-global-filter-input",onInput:this.handleGlobalFilterChange,placeholder:this.globalFilterPlaceholder,type:"text",value:this.globalFilter}))}renderRefreshButton(){return t("button",{class:"data-grid-toolbar-btn",onClick:()=>this.bhRefresh.emit(),title:this.resolvedLabels.refreshData},t("span",{class:"material-symbols-outlined"},"refresh"))}renderAddButton(){return t("button",{class:"data-grid-toolbar-btn data-grid-toolbar-btn-primary",onClick:()=>this.bhAdd.emit(),title:this.resolvedLabels.addNewRow},t("span",{class:"material-symbols-outlined"},"add"))}renderClearFilterButton(){const e=this.filterState&&this.filterState.length>0||this.globalFilter&&this.globalFilter.length>0||this.headerFilterState&&Object.keys(this.headerFilterState).length>0;return t("button",{class:{"data-grid-toolbar-btn":!0,"data-grid-toolbar-btn-disabled":!e},disabled:!e,onClick:()=>this.handleClearFilters(),title:this.resolvedLabels.clearAllFilters},t("span",{class:"material-symbols-outlined"},"filter_alt_off"))}renderClearSelectionButton(){const e=this.selectedRowIds&&this.selectedRowIds.length>0;return t("button",{class:{"data-grid-toolbar-btn":!0,"data-grid-toolbar-btn-disabled":!e},disabled:!e,onClick:()=>this.handleClearSelection(),title:this.resolvedLabels.clearSelection},t("span",{class:"material-symbols-outlined"},"deselect"))}handleClearFilters=()=>{this.table&&this.table.setColumnFilters([]),this.table&&this.table.setGlobalFilter(""),this.bhClearFilter.emit()};handleClearSelection=()=>{this.table&&this.table.resetRowSelection(),this.bhClearSelection.emit()};renderExportButton(){if(!(this.exportFormats.length>1)){const e=this.exportFormats[0]||"csv";return t("button",{class:"data-grid-export-btn",onClick:()=>this.handleExportClick(e),title:this.resolvedLabels.exportData},t("span",{class:"material-symbols-outlined"},"download"),t("span",{class:"data-grid-export-label"},this.resolvedLabels.export))}return t("div",{class:"data-grid-export"},t("button",{"aria-expanded":this.exportDropdownOpen?"true":"false","aria-haspopup":"true",class:{"data-grid-export-btn":!0,"data-grid-export-btn-active":this.exportDropdownOpen},onClick:this.toggleExportDropdown,title:this.resolvedLabels.exportData},t("span",{class:"material-symbols-outlined"},"download"),t("span",{class:"data-grid-export-label"},this.resolvedLabels.export),t("span",{class:"material-symbols-outlined data-grid-export-arrow"},"expand_more")),this.exportDropdownOpen&&t("div",{class:"data-grid-export-dropdown"},this.exportFormats.map((e=>t("button",{class:"data-grid-export-option",key:e,onClick:()=>this.handleExportClick(e)},t("span",{class:"material-symbols-outlined"},this.getExportFormatIcon(e)),t("span",null,this.getExportFormatLabel(e)))))))}getExportFormatIcon(t){switch(t){case"csv":return"csv";case"xlsx":return"table_chart";case"json":return"data_object";default:return"download"}}getExportFormatLabel(t){return{csv:"CSV",xlsx:"Excel (XLS)",json:"JSON"}[t]||t.toUpperCase()}renderColumnChooser(){return t("div",{class:"data-grid-column-chooser"},t("button",{"aria-expanded":this.columnChooserOpen?"true":"false","aria-haspopup":"true",class:{"data-grid-column-chooser-btn":!0,"data-grid-column-chooser-btn-active":this.columnChooserOpen},onClick:this.toggleColumnChooser,title:this.resolvedLabels.chooseColumns},t("span",{class:"material-symbols-outlined"},"view_column"),t("span",{class:"data-grid-column-chooser-label"},this.resolvedLabels.chooseColumns)),this.columnChooserOpen&&t("div",{class:"data-grid-column-chooser-dropdown"},t("div",{class:"data-grid-column-chooser-header"},t("span",{class:"data-grid-column-chooser-title"},"Show/Hide Columns"),t("button",{"aria-label":this.resolvedLabels.close,class:"data-grid-column-chooser-close",onClick:this.closeColumnChooser},t("span",{class:"material-symbols-outlined"},"close"))),t("div",{class:"data-grid-column-chooser-actions"},t("button",{class:"data-grid-column-chooser-action",onClick:this.showAllColumns},"Show All"),t("button",{class:"data-grid-column-chooser-action",onClick:this.hideAllColumns},"Hide All")),t("div",{class:"data-grid-column-chooser-list"},this.columns.map((e=>{const r=Lt(e),a=e.header,i="string"==typeof a?a:r,o=this.isColumnVisible(r);return t("label",{class:{"data-grid-column-chooser-item":!0,"data-grid-column-chooser-item-hidden":!o},key:r},t("bh-checkbox",{checked:o,onBhChange:()=>this.toggleColumnVisibility(r),size:"sm"}),t("span",{class:"data-grid-column-chooser-item-text"},i))})))))}renderHeader(){if(!this.table)return null;const e=this.table.getHeaderGroups();return t("thead",{class:{"data-grid-header":!0,"data-grid-header-sticky":this.stickyHeader}},e.map((e=>t("tr",{class:"data-grid-header-row",key:e.id,role:"row"},this.enableRowDragging&&this.showDragHandle&&t("th",{class:"data-grid-header-cell data-grid-cell-drag-handle",role:"columnheader"}),this.renderSelectionHeader(),(this.enableExpansion||this.enableMasterDetail)&&!this.enableGrouping&&t("th",{class:"data-grid-header-cell data-grid-cell-expand",role:"columnheader"}),e.headers.map((t=>this.renderHeaderCell(t))),this.enableEditing&&this.showEditActions&&"row"===this.editMode&&t("th",{class:"data-grid-header-cell data-grid-cell-actions",colSpan:1,role:"columnheader"})))),this.showFilterRow&&this.renderFilterRow())}renderSelectionHeader(){if("none"===this.selectionMode||"single-click"===this.selectionMode||"multiple-click"===this.selectionMode)return null;if("single-radio"===this.selectionMode)return t("th",{class:"data-grid-header-cell data-grid-cell-select",colSpan:1,role:"columnheader"});const e=this.table?.getIsAllRowsSelected(),r=this.table?.getIsSomeRowsSelected();return t("th",{class:"data-grid-header-cell data-grid-cell-select",colSpan:1,role:"columnheader"},t("bh-checkbox",{checked:e,indeterminate:r&&!e,onBhChange:()=>this.table?.toggleAllRowsSelected(),size:"sm"}))}renderHeaderCell(e){if(e.isPlaceholder)return t("th",{class:"data-grid-header-cell",colSpan:1,key:e.id,role:"columnheader"});const r=e.column.id,a=e.column.getCanSort(),i=e.column.getIsSorted(),o=e.column.columnDef.meta,n=this.enableColumnResize&&!1!==o?.resizable,l=this.resizingColumnId===r,c=s(r,this.columnPinning),h="left"===c,u="right"===c,g=h||u,p=this.enableColumnReorder,b={"data-grid-header-cell":!0,"data-grid-header-cell-sortable":a,"data-grid-header-cell-sorted":!!i,"data-grid-header-cell-resizable":n,"data-grid-header-cell-resizing":l,"data-grid-header-cell-pinned":g,"data-grid-header-cell-pinned-left":h,"data-grid-header-cell-pinned-right":u,"data-grid-header-cell-draggable":p,"data-grid-header-cell-dragging":this.draggingColumnId===r,"data-grid-header-cell-drag-over":this.dragOverColumnId===r,["data-grid-cell-align-"+(o?.align||"left")]:!0},m=this.getColumnWidth(r,e.column.getSize()),v=m?{width:m+"px",minWidth:m+"px"}:{};if(h){const t=this.table?.getColumn(r)?.getSize()??150;v.position="sticky",v.left=d(r,"left",this.columnPinning,this.columnSizes,t)+"px",v.zIndex="11"}else if(u){const t=this.table?.getColumn(r)?.getSize()??150;v.position="sticky",v.right=d(r,"right",this.columnPinning,this.columnSizes,t)+"px",v.zIndex="11"}return t("th",{"aria-sort":"asc"===i?"ascending":"desc"===i?"descending":"none",class:b,colSpan:1,draggable:p,key:e.id,onClick:()=>a&&this.handleHeaderClick(e),onDragEnd:()=>this.handleColumnDragEnd(),onDragLeave:()=>this.handleColumnDragLeave(),onDragOver:t=>this.handleColumnDragOver(t,e),onDragStart:t=>this.handleColumnDragStart(t,e),onDrop:t=>this.handleColumnDrop(t,e),role:"columnheader",style:v},t("span",{class:"data-grid-header-content"},p&&t("span",{class:"data-grid-drag-handle material-symbols-outlined"},"drag_indicator"),this.enableColumnPinning&&g&&t("span",{class:"data-grid-pin-indicator material-symbols-outlined",onClick:t=>{t.stopPropagation(),this.pinColumn(r,!1)},title:"Pinned "+c},"push_pin"),t("span",{class:"data-grid-header-text"},this.flexRender(e.column.columnDef.header,e.getContext())),a&&i&&t("span",{class:"data-grid-sort-icon material-symbols-outlined"},"asc"===i?"north":"south"),this.enableHeaderFilter&&!1!==o?.filterable&&t("button",{"aria-expanded":this.headerFilterOpenColumnId===r,"aria-haspopup":"true",class:{"data-grid-header-filter-btn":!0,"data-grid-header-filter-btn-active":this.hasActiveHeaderFilter(r),"data-grid-header-filter-btn-open":this.headerFilterOpenColumnId===r},onClick:t=>{t.stopPropagation(),this.toggleHeaderFilter(r)},title:this.resolvedLabels.filter},t("span",{class:"material-symbols-outlined"},"filter_alt"))),this.enableHeaderFilter&&this.headerFilterOpenColumnId===r&&this.renderHeaderFilterDropdown(r),n&&t("div",{class:{"data-grid-resize-handle":!0,"data-grid-resize-handle-active":l},onClick:t=>t.stopPropagation(),onMouseDown:t=>this.handleResizeMouseDown(t,e)}))}renderFilterRow(){if(!this.table)return null;const e=this.table.getHeaderGroups()[0]?.headers||[];return t("tr",{class:"data-grid-filter-row",role:"row"},this.enableRowDragging&&this.showDragHandle&&t("td",{class:"data-grid-filter-cell data-grid-cell-drag-handle",role:"cell"}),("single-radio"===this.selectionMode||"multiple-checkbox"===this.selectionMode)&&t("td",{class:"data-grid-filter-cell data-grid-cell-select",role:"cell"}),(this.enableExpansion||this.enableMasterDetail)&&!this.enableGrouping&&t("td",{class:"data-grid-filter-cell data-grid-cell-expand",role:"cell"}),e.map((e=>{const r=e.column.getCanFilter(),a=e.column.columnDef.meta;if(!r||!1===a?.filterable)return t("div",{class:"data-grid-filter-cell",key:e.id,role:"cell"});const i=e.column.getFilterValue()??"";return t("td",{class:"data-grid-filter-cell",key:e.id,role:"cell"},t("span",{class:"data-grid-filter-icon material-symbols-outlined"},"search"),t("input",{class:"data-grid-filter-input",onInput:t=>this.handleColumnFilterChange(e.column.id,t.target.value),placeholder:"",type:"number"===a?.type?"number":"date"===a?.type?"date":"text",value:i}))})),this.enableEditing&&this.showEditActions&&"row"===this.editMode&&t("td",{class:"data-grid-filter-cell data-grid-cell-actions",role:"cell"}))}renderHeaderFilterDropdown(e){const r=this.getFilteredHeaderFilterValues(e),a=this.getHeaderFilterSelectedValues(e),i=r.length>0&&r.every((t=>this.isHeaderFilterValueSelected(e,t.value))),o=a.length>0&&!i;return t("div",{class:"data-grid-header-filter-dropdown",onClick:t=>t.stopPropagation(),style:{maxHeight:this.headerFilterHeight+"px"}},t("div",{class:"data-grid-header-filter-header"},t("span",{class:"data-grid-header-filter-title"},this.resolvedLabels.filter),t("button",{"aria-label":this.resolvedLabels.close,class:"data-grid-header-filter-close",onClick:this.closeHeaderFilter},t("span",{class:"material-symbols-outlined"},"close"))),t("div",{class:"data-grid-header-filter-search"},t("span",{class:"data-grid-header-filter-search-icon material-symbols-outlined"},"search"),t("input",{class:"data-grid-header-filter-search-input",onInput:t=>{this.headerFilterSearchText=t.target.value},placeholder:this.resolvedLabels.searchPlaceholder,type:"text",value:this.headerFilterSearchText})),t("div",{class:"data-grid-header-filter-actions"},t("button",{class:"data-grid-header-filter-action",disabled:i,onClick:()=>this.selectAllHeaderFilterValues(e)},"Select All"),t("button",{class:"data-grid-header-filter-action",disabled:0===a.length,onClick:()=>this.clearHeaderFilterValues(e)},"Clear")),t("div",{class:"data-grid-header-filter-list"},t("label",{class:"data-grid-header-filter-item data-grid-header-filter-item-all"},t("bh-checkbox",{checked:i,indeterminate:o,onBhChange:()=>{i?this.clearHeaderFilterValues(e):this.selectAllHeaderFilterValues(e)},size:"sm"}),t("span",{class:"data-grid-header-filter-item-text"},"(Select All)")),0===r.length?t("div",{class:"data-grid-header-filter-empty"},"No values found"):r.map((r=>{const a=this.isHeaderFilterValueSelected(e,r.value);return t("label",{class:{"data-grid-header-filter-item":!0,"data-grid-header-filter-item-selected":a},key:r.value+""},t("bh-checkbox",{checked:a,onBhChange:()=>this.toggleHeaderFilterValue(e,r.value),size:"sm"}),t("span",{class:"data-grid-header-filter-item-text"},r.text),t("span",{class:"data-grid-header-filter-item-count"},"(",r.count,")"))}))))}renderBody(){if(!this.table)return null;if(this.loading&&"skeleton"===this.loadingType)return this.renderSkeleton();const e=this.table.getRowModel().rows;if(0===e.length)return this.renderEmptyState();if(this.enableVirtualScrolling){const{visibleRows:e,totalHeight:r,offsetTop:a}=this.getVirtualizedRows();return t("tbody",{class:"data-grid-body data-grid-body-virtual",role:"rowgroup"},t("tr",{"aria-hidden":"true",class:"data-grid-virtual-spacer",style:{height:a+"px"}},t("td",{colSpan:this.getColumnCount()})),e.map((t=>t.getIsGrouped()?this.renderGroupRow(t):this.renderDataRow(t))),t("tr",{"aria-hidden":"true",class:"data-grid-virtual-spacer",style:{height:r-a-e.length*this.estimatedRowHeight+"px"}},t("td",{colSpan:this.getColumnCount()})))}return t("tbody",{class:"data-grid-body",role:"rowgroup"},e.map((t=>t.getIsGrouped()?this.renderGroupRow(t):this.renderDataRow(t))))}getColumnCount(){let t=this.columns.length;return this.enableRowDragging&&this.showDragHandle&&t++,"single-radio"!==this.selectionMode&&"multiple-checkbox"!==this.selectionMode||t++,!this.enableExpansion&&!this.enableMasterDetail||this.enableGrouping||t++,this.enableEditing&&this.showEditActions&&"row"===this.editMode&&t++,t}renderDataRow(e){const r=e.getIsSelected(),a=e.getIsExpanded(),i=this.editingRowId===e.id,o=e.id,n=this.draggingRowId===o,l=this.dragOverRowId===o,s=this.isRowDraggable(e.original),d=this.enableFocusTracking&&this.getEffectiveFocusedRowId()===o;return[t("tr",{"aria-selected":r?"true":"false",class:{"data-grid-row":!0,"data-grid-row-selected":r,"data-grid-row-expanded":a,"data-grid-row-editing":i,"data-grid-row-hover":this.hoveredRowId===e.id,"data-grid-row-striped":this.striped&&e.index%2==1,"data-grid-row-clickable":"single-click"===this.selectionMode||"multiple-click"===this.selectionMode,"data-grid-row-dragging":n,"data-grid-row-drag-over":l,"data-grid-row-drag-above":l&&"above"===this.dragPosition,"data-grid-row-drag-below":l&&"below"===this.dragPosition,"data-grid-row-focused":d},"data-row-id":o,draggable:this.enableRowDragging&&s,key:e.id,onClick:()=>this.handleRowClick(e),onContextMenu:t=>{this.enableContextMenu&&this.handleContextMenu(t,e.original,o,e.index,null,null)},onDragEnd:t=>this.handleRowDragEnd(t),onDragLeave:t=>this.handleRowDragLeave(t),onDragOver:t=>this.handleRowDragOver(t,e.original,o),onDragStart:t=>this.handleRowDragStart(t,e.original,o,e.index),onDrop:t=>this.handleRowDrop(t,e.original,o),onFocus:()=>{this.enableFocusTracking&&this.handleRowFocus(e.original,o,e.index)},onKeyDown:t=>{this.enableFocusTracking&&this.enableKeyboardNavigation&&this.handleKeyboardNavigation(t,o,e.index)},onMouseEnter:()=>{this.hoveredRowId=e.id},onMouseLeave:()=>{this.hoveredRowId=null},role:"row",tabIndex:this.enableFocusTracking?0:void 0},this.enableRowDragging&&this.showDragHandle&&t("td",{class:{"data-grid-cell":!0,"data-grid-cell-drag-handle":!0,"data-grid-cell-drag-disabled":!s},onClick:t=>t.stopPropagation(),role:"cell"},s&&t("span",{class:"data-grid-drag-handle material-symbols-outlined"},"drag_indicator")),this.renderSelectionCell(e),(this.enableExpansion||this.enableMasterDetail)&&!this.enableGrouping&&t("td",{class:"data-grid-cell data-grid-cell-expand",onClick:t=>{t.stopPropagation()},role:"cell"},this.canRowExpand(e)&&t("button",{"aria-label":a?this.resolvedLabels.collapseRow:this.resolvedLabels.expandRow,class:"data-grid-expand-btn",onClick:()=>this.handleRowExpand(e)},t("span",{class:"material-symbols-outlined"},a?"expand_more":"chevron_right"))),e.getVisibleCells().map((t=>this.renderCell(e,t))),this.enableEditing&&this.showEditActions&&"row"===this.editMode&&t("td",{class:"data-grid-cell data-grid-cell-actions",onClick:t=>t.stopPropagation(),role:"cell"},i?t("div",{class:"data-grid-edit-actions"},t("bh-button-icon",{ariaLabel:this.resolvedLabels.save,hierarchy:"tertiary",iconName:"check",onClick:()=>this.saveEditing(),size:"sm",title:this.resolvedLabels.save}),t("bh-button-icon",{ariaLabel:this.resolvedLabels.cancel,hierarchy:"tertiary",iconName:"close",onClick:()=>this.cancelEditing(),size:"sm",title:this.resolvedLabels.cancel})):t("bh-button-icon",{ariaLabel:this.resolvedLabels.edit,hierarchy:"tertiary",iconName:"edit",onClick:()=>this.startEditing(e),size:"sm",title:this.resolvedLabels.edit}))),a&&(this.enableExpansion||this.enableMasterDetail)&&!this.enableGrouping&&this.renderExpandedContent(e)]}renderExpandedContent(e){const r=this.getColumnCount();if(this.enableMasterDetail&&this.masterDetailConfig?.render){const a=this.masterDetailConfig.render(e.original,e.index);return t("tr",{class:"data-grid-row-expansion data-grid-master-detail",key:e.id+"-detail"},t("td",{class:"data-grid-detail-cell",colSpan:r},"string"==typeof a?t("div",{innerHTML:q(a)}):a))}return t("tr",{class:"data-grid-row-expansion",key:e.id+"-expansion"},t("td",{colSpan:r},t("slot",{name:"expanded-row"})))}renderSelectionCell(e){if("none"===this.selectionMode||"single-click"===this.selectionMode||"multiple-click"===this.selectionMode)return null;const r=e.getIsSelected();return t("td",{class:"data-grid-cell data-grid-cell-select",onClick:t=>t.stopPropagation(),role:"cell"},"single-radio"===this.selectionMode?t("bh-radio-button",{onBhChange:()=>{this.table?.resetRowSelection(),e.toggleSelected(!0)},selected:r}):t("bh-checkbox",{checked:r,onBhChange:()=>e.toggleSelected(),size:"sm"}))}renderCell(e,r){const a=r.column.columnDef.meta,i=r.column.id,o=this.isEditing(e.id,i),n=this.enableEditing&&!1!==a?.editable,l=!!this.validationErrors[i],c=e.id,h=s(i,this.columnPinning),u="left"===h,g="right"===h,p=u||g,b=this.getEffectiveFocusedCell(),m=this.enableFocusTracking&&b?.rowId===c&&b?.columnId===i,v={"data-grid-cell":!0,["data-grid-cell-align-"+(a?.align||("number"===a?.type?"right":"left"))]:!0,["data-grid-cell-type-"+(a?.type||"text")]:!0,"data-grid-cell-editing":o,"data-grid-cell-editable":n&&!o,"data-grid-cell-error":l,"data-grid-cell-pinned":p,"data-grid-cell-pinned-left":u,"data-grid-cell-pinned-right":g,"data-grid-cell-focused":m},f=this.getColumnWidth(i,r.column.getSize()),w=f?{width:f+"px",minWidth:f+"px"}:{};if(u){const t=r.column.getSize()??150;w.position="sticky",w.left=d(i,"left",this.columnPinning,this.columnSizes,t)+"px",w.zIndex="1"}else if(g){const t=r.column.getSize()??150;w.position="sticky",w.right=d(i,"right",this.columnPinning,this.columnSizes,t)+"px",w.zIndex="1"}return t("td",{class:v,"data-column-id":i,key:r.id,onClick:t=>{t.stopPropagation(),this.handleCellClick(e,r)},onDblClick:t=>{t.stopPropagation(),this.handleCellDoubleClick(e,r)},onFocus:t=>{this.enableFocusTracking&&(t.stopPropagation(),this.handleCellFocus(e.original,c,e.index,i,r.getValue()))},onKeyDown:t=>{this.enableFocusTracking&&this.enableKeyboardNavigation&&this.handleKeyboardNavigation(t,c,e.index,i)},role:"cell",style:w,tabIndex:this.enableFocusTracking?-1:void 0},o?this.renderEditInput(r):this.renderCellContent(r,c),l&&t("span",{class:"data-grid-cell-error-text"},this.validationErrors[i]))}renderCellContent(t,e){const r=this.flexRender(t.column.columnDef.cell,t.getContext());if(null!=r&&r!==t.getValue())return r;const a=this.formatCellValue(t.getValue(),t.column.columnDef.meta);if(this.enableSearchPanel&&this.highlightSearchResults&&e&&this.searchPanelText.trim()){const r=this.getCellSearchMatches(e,t.column.id);if(r.length>0)return this.highlightSearchText(a,r)}return a}renderEditInput(e){const r=e.column.id,a=e.column.columnDef.meta,i=this.editingValues[r]??e.getValue(),o="number"===a?.type?"number":"date"===a?.type?"date":"boolean"===a?.type?"checkbox":"text";return"boolean"===a?.type?t("bh-checkbox",{checked:!!i,onBhChange:t=>this.handleEditValueChange(r,t.detail.checked),size:"sm"}):t("input",{class:"data-grid-edit-input",onInput:t=>{const e=t.target;this.handleEditValueChange(r,"number"===a?.type?Number(e.value):e.value)},onKeyDown:t=>this.handleEditKeyDown(t,r),ref:t=>{t&&(this.pendingFocusRafId=requestAnimationFrame((()=>{this.pendingFocusRafId=void 0,t.focus()})))},type:o,value:null==i?"":i+""})}renderGroupRow(e){const r=e.getIsExpanded(),a=e.groupingColumnId,i=e.groupingValue,o=e.getLeafRows(),n=o.every((t=>t.getIsSelected())),l=o.some((t=>t.getIsSelected())),s={"data-grid-row":!0,"data-grid-row-group":!0,"data-grid-row-group-expanded":r},d=this.getColumnCount(),c="multiple-checkbox"===this.selectionMode,h=Math.max(1,c?d-1:d);return[t("tr",{"aria-expanded":r?"true":"false",class:s,key:e.id,onClick:()=>this.handleGroupToggle(e),role:"row"},c&&t("td",{class:"data-grid-cell data-grid-cell-select",onClick:t=>t.stopPropagation(),role:"cell"},t("bh-checkbox",{checked:n,indeterminate:l&&!n,onBhChange:()=>{for(const t of o)t.toggleSelected(!n)},size:"sm"})),t("td",{class:"data-grid-cell data-grid-cell-group-label",colSpan:h,role:"cell"},t("button",{"aria-label":r?this.resolvedLabels.collapseGroup:this.resolvedLabels.expandGroup,class:"data-grid-group-toggle"},t("span",{class:"material-symbols-outlined"},r?"expand_more":"chevron_right")),t("span",{class:"data-grid-group-label"},t("span",{class:"data-grid-group-column"},a,": "),t("span",{class:"data-grid-group-value"},i+"")),t("span",{class:"data-grid-group-count"},"(",o.length," ",1===o.length?"item":"items",")"))),r&&e.subRows.map((t=>t.getIsGrouped()?this.renderGroupRow(t):this.renderDataRow(t)))]}renderEmptyState(){return t("tbody",{class:"data-grid-body",role:"rowgroup"},t("tr",{class:"data-grid-empty",role:"row"},t("td",{colSpan:this.columns.length+("single-radio"===this.selectionMode||"multiple-checkbox"===this.selectionMode?1:0)+(this.enableExpansion&&!this.enableGrouping?1:0)+(this.enableEditing&&this.showEditActions&&"row"===this.editMode?1:0),role:"cell"},t("div",{class:"empty-state-wrapper"},t("bh-empty-state",{description:this.emptyDescription,emptyTitle:this.emptyTitle})))))}renderSkeleton(){const e=Array.from({length:this.skeletonRowCount},((t,e)=>e)),r=this.columns.length+("single-radio"===this.selectionMode||"multiple-checkbox"===this.selectionMode?1:0)+(this.enableExpansion&&!this.enableGrouping?1:0)+(this.enableEditing&&this.showEditActions&&"row"===this.editMode?1:0);return t("tbody",{class:"data-grid-body data-grid-skeleton"},e.map((e=>t("tr",{class:"data-grid-row data-grid-row-skeleton",key:e},Array.from({length:r},((e,r)=>t("td",{class:"data-grid-cell",key:r},t("bh-skeleton-loader",{height:"16px",width:"80%"}))))))))}renderLoadingOverlay(){return this.loading&&"spinner"===this.loadingType?t("div",{class:"data-grid-loading-overlay"},t("bh-loader-spinner",{size:"lg"})):null}renderFormEditModal(){if(!this.formEditModalOpen)return null;if("form"!==this.editMode&&"popup"!==this.editMode)return null;const e=this.formEditConfig||{},r=this.formEditIsNew?e.addTitle||this.resolvedLabels.addNewRow:e.editTitle||this.resolvedLabels.editRow,a=e.modalWidth||"md",i=e.fields||this.columns.map((t=>{const e=Lt(t),r=t.meta;return{columnId:e,label:"string"==typeof t.header?t.header:e,inputType:"number"===r?.type?"number":"date"===r?.type?"date":"text",required:!1,disabled:!1===r?.editable,readOnly:!1===r?.editable}})),o=e.formRenderer&&this.formEditRowData?e.formRenderer(this.formEditRowData,this.formEditIsNew):void 0;return t("bh-modal",{ariaLabel:r,class:"data-grid-form-edit-modal",onBhClose:()=>this.closeFormEditModal(),visible:this.formEditModalOpen,width:a},t("div",{class:"data-grid-form-edit-header",slot:"header"},t("h2",{class:"data-grid-form-edit-title"},r),t("button",{"aria-label":this.resolvedLabels.close,class:"data-grid-form-edit-close",onClick:()=>this.closeFormEditModal()},t("span",{class:"material-symbols-outlined"},"close"))),t("div",{class:"data-grid-form-edit-content"},void 0===o?t("div",{class:"data-grid-form-edit-fields"},i.map((t=>this.renderFormField(t)))):t("div",{innerHTML:"string"==typeof o?q(o):void 0},"string"==typeof o?null:o)),!1!==e.showFooter&&t("div",{class:"data-grid-form-edit-footer",slot:"actions"},t("bh-button",{hierarchy:"secondary",onClick:()=>this.closeFormEditModal()},e.cancelButtonText||this.resolvedLabels.cancel),t("bh-button",{hierarchy:"primary",onClick:()=>this.saveFormEdit()},e.saveButtonText||this.resolvedLabels.save)))}renderFormField(e){const r=this.formEditValues[e.columnId],a=this.formEditErrors[e.columnId];return t("div",{class:{"data-grid-form-field":!0,"data-grid-form-field-error":!!a,"data-grid-form-field-required":!!e.required},key:e.columnId},t("label",{class:"data-grid-form-label"},e.label||e.columnId,e.required&&t("span",{class:"data-grid-form-required"},"*")),this.renderFormInput(e,r),a&&t("span",{class:"data-grid-form-error"},a))}renderFormInput(e,r){switch(e.inputType||"text"){case"select":return t("select",{class:"data-grid-form-input data-grid-form-select",disabled:e.disabled,onChange:t=>this.handleFormFieldChange(e.columnId,t.target.value)},t("option",{selected:!r,value:""},e.placeholder||this.resolvedLabels.selectPlaceholder),e.options?.map((e=>t("option",{key:e.value,selected:r===e.value,value:e.value},e.label))));case"textarea":return t("textarea",{class:"data-grid-form-input data-grid-form-textarea",disabled:e.disabled,onInput:t=>this.handleFormFieldChange(e.columnId,t.target.value),placeholder:e.placeholder,readOnly:e.readOnly,value:r});case"checkbox":return t("input",{checked:!!r,class:"data-grid-form-checkbox",disabled:e.disabled,onChange:t=>this.handleFormFieldChange(e.columnId,t.target.checked),type:"checkbox"});case"number":return t("input",{class:"data-grid-form-input",disabled:e.disabled,onInput:t=>this.handleFormFieldChange(e.columnId,Number.parseFloat(t.target.value)||0),placeholder:e.placeholder,readOnly:e.readOnly,type:"number",value:r});case"date":return t("input",{class:"data-grid-form-input",disabled:e.disabled,onInput:t=>this.handleFormFieldChange(e.columnId,t.target.value),readOnly:e.readOnly,type:"date",value:r});default:return t("input",{class:"data-grid-form-input",disabled:e.disabled,onInput:t=>this.handleFormFieldChange(e.columnId,t.target.value),placeholder:e.placeholder,readOnly:e.readOnly,type:"text",value:r})}}renderTotalSummary(){if(!this.enableTotalSummary||!this.totalSummary?.items?.length)return null;const e=this.table?.getFilteredRowModel().rows.map((t=>t.original))??[],r=new Map;for(const t of this.totalSummary.items){const e=r.get(t.columnId)||[];r.set(t.columnId,[...e,t])}return t("tfoot",{class:"data-grid-summary-footer"},t("tr",{class:"data-grid-summary-row",role:"row"},this.enableRowDragging&&this.showDragHandle&&t("td",{class:"data-grid-summary-cell",role:"cell"}),("single-radio"===this.selectionMode||"multiple-checkbox"===this.selectionMode)&&t("td",{class:"data-grid-summary-cell",role:"cell"}),(this.enableExpansion||this.enableMasterDetail)&&!this.enableGrouping&&t("td",{class:"data-grid-summary-cell",role:"cell"}),this.columns.map((a=>{const i=Lt(a),o=r.get(i);return o&&0!==o.length?t("td",{class:"data-grid-summary-cell",key:i,role:"cell"},o.map(((r,a)=>{const i=this.calculateSummaryValue(r,e),o=this.formatSummaryValue(r,i),n=this.getSummaryLabel(r);return t("div",{class:"data-grid-summary-item",key:a},n&&t("span",{class:"data-grid-summary-label"},n,": "),t("span",{class:"data-grid-summary-value"},o))}))):t("td",{class:"data-grid-summary-cell",key:i,role:"cell"})})),this.enableEditing&&this.showEditActions&&"row"===this.editMode&&t("td",{class:"data-grid-summary-cell",role:"cell"})))}renderPagination(){return function(e){if(!e.enablePagination||!e.table)return null;const r=e.table.getFilteredRowModel().rows.length;return t("bh-pagination",{compact:!0,onBhPageChange:e.onPaginationChange,onBhPageSizeChange:e.onPaginationChange,page:e.page,pageSize:e.pageSize,pageSizeOptions:e.pageSizeOptions,showItemCount:!1,totalItems:r})}({enablePagination:this.enablePagination,table:this.table,page:this.page,pageSize:this.pageSize,pageSizeOptions:this.pageSizeOptions,onPaginationChange:this.handlePaginationChange})}render(){if(this.renderTimer&&this.renderTimer(),this.renderTimer=N.startTimer(V.COMPONENT_RENDER,{component:"bh-data-grid",row_count:(this.data?.length??0)+"",column_count:(this.columns?.length??0)+"",has_pagination:this.enablePagination+"",has_virtual_scroll:this.enableVirtualScrolling+""}),this.hasFatalError)return t("div",{class:"data-grid data-grid-fatal-error",role:"grid"},t("div",{class:"empty-state-wrapper"},t("bh-empty-state",{description:this.fatalErrorMessage??void 0,emptyTitle:"Something went wrong"})));const e={"data-grid":!0,["data-grid-"+this.size]:!0,"data-grid-bordered":this.bordered,"data-grid-striped":this.striped,"data-grid-loading":this.loading,"data-grid-virtual":this.enableVirtualScrolling},r={};this.enableVirtualScrolling?(r.height=this.virtualScrollHeight+"px",r.overflowY="auto"):this.maxHeight&&(r.maxHeight=this.maxHeight,r.overflowY="auto");const a=this.toolbarConfig?.position||this.toolbarPosition,i="top"===a||"both"===a,o="bottom"===a||"both"===a;return t("div",{"aria-busy":this.loading?"true":"false",class:e,part:"grid",role:"grid"},t("span",{"aria-atomic":"true","aria-live":"polite",role:"status",style:{border:"0",clip:"rect(0,0,0,0)",height:"1px",overflow:"hidden",padding:"0",position:"absolute",whiteSpace:"nowrap",width:"1px"}},this.loading?"Loading table data":""),"top"===this.captionPosition&&this.renderCaption(),i&&this.renderToolbar(),"above"===this.searchPanelPosition&&this.renderSearchPanel(),!this.enableColumnChooser&&this.renderGlobalFilter(),t("div",{class:"data-grid-container",onScroll:this.enableVirtualScrolling?this.handleVirtualScroll:void 0,part:"container",ref:this.setScrollContainerRef,style:r},t("table",{"aria-label":this.caption||void 0,class:"data-grid-table",part:"table",role:"table"},this.renderHeader(),this.renderBody(),this.renderTotalSummary()),this.renderLoadingOverlay()),"below"===this.searchPanelPosition&&this.renderSearchPanel(),o&&this.renderToolbar(),"bottom"===this.captionPosition&&this.renderCaption(),this.renderPagination(),this.renderFormEditModal(),this.renderContextMenu(),this.renderErrorNotification())}static get watchers(){return{data:[{handleDataChange:0}],columns:[{handleDataChange:0}],sortState:[{handleSortStateChange:0}],filterState:[{handleFilterStateChange:0}],selectedRowIds:[{handleSelectedRowIdsChange:0}],page:[{handlePaginationPropChange:0}],pageSize:[{handlePaginationPropChange:0}],expandedRowIds:[{handleExpandedRowIdsChange:0}],groupBy:[{handleGroupByChange:0}]}}static get style(){return'@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.5}}:root{--bh-breakpoint-xs:0;--bh-breakpoint-sm:576px;--bh-breakpoint-md:768px;--bh-breakpoint-lg:992px;--bh-breakpoint-xl:1200px;--bh-breakpoint-xxl:1400px;--bh-container-sm:540px;--bh-container-md:720px;--bh-container-lg:960px;--bh-container-xl:1140px;--bh-container-xxl:1320px}@layer bh-tokens,bh-base,bh-variants,bh-states,bh-utilities; @layer bh-tokens{:host{display:block;--bh-data-grid-cell-height:40px;--bh-data-grid-cell-height-compact:32px;--bh-data-grid-cell-height-relaxed:48px;--bh-data-grid-cell-padding-x:var(--spacing-lg);--bh-data-grid-header-gap:var(--spacing-xs);--bh-data-grid-header-bg:var(--color-white);--bh-data-grid-header-bg-alt:var(--color-neutral-50);--bh-data-grid-header-color:var(--color-neutral-600);--bh-data-grid-border-color:var(--color-neutral-200);--bh-data-grid-cell-color:var(--color-neutral-700);--bh-data-grid-row-bg:var(--color-white);--bh-data-grid-row-bg-alt:var(--color-neutral-50);--bh-data-grid-row-hover-bg:var(--color-neutral-50);--bh-data-grid-row-selected-bg:var(--color-brand-50);--bh-data-grid-edit-border-color:var(--color-neutral-300);--bh-data-grid-edit-active-border-color:var(--color-brand-600);--bh-data-grid-sort-icon-size:var(--icon-size-sm);--bh-data-grid-content-gap:var(--spacing-md);--bh-data-grid-header-hover-color:var(--color-neutral-700);--bh-data-grid-filter-border-filled:var(--color-brand-500);--bh-data-grid-pagination-btn-size:var(--bh-button-height-sm);--bh-data-grid-search-nav-btn-size:var(--icon-size-xl);--bh-data-grid-context-menu-min-width:180px;--bh-data-grid-dropdown-min-width:160px;--bh-data-grid-column-chooser-min-width:220px;--bh-data-grid-column-chooser-max-height:300px;--bh-data-grid-row-modified-border-color:var(--color-warning-400);--bh-data-grid-row-modified-border-width:var( --data-grid-indicator-border-width );--bh-data-grid-row-modified-bg:var(--color-warning-50);--bh-data-grid-row-inserted-border-color:var(--color-success-500);--bh-data-grid-row-inserted-border-width:var( --data-grid-indicator-border-width );--bh-data-grid-row-inserted-bg:var(--color-success-50);--bh-data-grid-row-deleted-border-color:var(--color-error-500);--bh-data-grid-row-deleted-border-width:var( --data-grid-indicator-border-width );--bh-data-grid-row-deleted-bg:var(--color-error-50);--bh-data-grid-row-deleted-opacity:0.6;--bh-data-grid-cell-modified-bg:var(--color-warning-100)}}@layer bh-base{.data-grid{font-family:var(--font-inter);color:var(--color-neutral-900);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--bh-data-grid-border-color)}.data-grid-container{overflow-x:auto;position:relative}.data-grid-table{width:100%;border-collapse:collapse;table-layout:fixed}.data-grid-header{background-color:var(--bh-data-grid-header-bg)}.data-grid-header-row{border-bottom:1px solid var(--bh-data-grid-border-color)}.data-grid-header-cell{height:var(--bh-data-grid-cell-height);padding:0 var(--bh-data-grid-cell-padding-x);border-bottom:1px solid var(--bh-data-grid-border-color);font-size:var(--text-xs-size);font-weight:var(--weight-semibold);line-height:var(--text-xs-line);letter-spacing:0;color:var(--bh-data-grid-header-color);background-color:var(--bh-data-grid-header-bg);text-align:left;vertical-align:middle;white-space:nowrap}.data-grid-header-cell:hover{color:var(--bh-data-grid-header-hover-color)}.data-grid-header-content{display:flex;align-items:center;gap:var(--bh-data-grid-header-gap);min-width:0;flex:1}.data-grid-header-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.data-grid-sort-indicator{display:flex;align-items:center;flex-shrink:0}.data-grid-sort-indicator .material-symbols-outlined{font-size:var(--bh-data-grid-sort-icon-size)}.data-grid-sort-inactive{opacity:0;transition:opacity var(--animation-duration-fast) ease}.data-grid-header-cell:hover .data-grid-sort-inactive{opacity:0.4}.data-grid-resize-handle{position:absolute;top:0;right:0;width:var(--spacing-xs);height:100%;cursor:col-resize;user-select:none;background-color:transparent;transition:background-color var(--animation-duration-fast) ease}.data-grid-resize-handle:hover{background-color:var(--color-brand-500)}.data-grid-pin-indicator{font-size:var(--bh-data-grid-sort-icon-size);color:var(--color-neutral-400);flex-shrink:0}.data-grid-header-filter{display:flex;align-items:center;gap:var(--spacing-xxs);padding:var(--spacing-xs) var(--bh-data-grid-cell-padding-x);border-bottom:1px solid var(--bh-data-grid-border-color)}.data-grid-header-filter-filled{border-bottom-color:var(--bh-data-grid-filter-border-filled)}.data-grid-header-filter-button{display:flex;align-items:center;justify-content:center;padding:0;background:none;border:none;border-radius:var(--radius-md);cursor:pointer;flex-shrink:0;overflow:hidden}.data-grid-header-filter-button .material-symbols-outlined{font-size:var(--icon-size-lg);color:var(--color-neutral-400)}.data-grid-header-filter-filled .data-grid-header-filter-button .material-symbols-outlined{color:var(--color-brand-500)}.data-grid-header-filter-input{flex:1;min-width:0}.data-grid-header-filter-text{font-size:var(--text-xs-size);font-weight:var(--weight-regular);line-height:var(--text-xs-line);color:var(--bh-data-grid-header-color)}.data-grid-body{background-color:var(--bh-data-grid-row-bg)}.data-grid-row{border-bottom:1px solid var(--bh-data-grid-border-color);background-color:var(--bh-data-grid-row-bg);transition:background-color var(--animation-duration-fast) ease}.data-grid-row:last-child{border-bottom:none}.data-grid-cell{height:var(--bh-data-grid-cell-height);padding:0 var(--bh-data-grid-cell-padding-x);font-size:var(--text-sm-size);font-weight:var(--weight-regular);line-height:var(--text-sm-line);color:var(--bh-data-grid-cell-color);vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-grid-cell-align-left{text-align:left}.data-grid-cell-align-center{text-align:center}.data-grid-cell-align-right{text-align:right;font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"lnum" 1, "tnum" 1;letter-spacing:-0.5px;color:var(--color-neutral-900)}.data-grid-cell-select{width:var(--bh-data-grid-touch-target-size);min-width:var(--bh-data-grid-touch-target-size);text-align:center;padding:0 var(--bh-data-grid-cell-padding-x)}.data-grid-cell-expand{width:var(--bh-data-grid-touch-target-size);min-width:var(--bh-data-grid-touch-target-size);text-align:center;padding:0}.data-grid-cell-drag-handle{width:var(--bh-data-grid-touch-target-size);min-width:var(--bh-data-grid-touch-target-size);text-align:center;padding:0;cursor:grab}.data-grid-cell-drag-handle:active{cursor:grabbing}.data-grid-cell-actions{width:auto;text-align:right;white-space:nowrap}.data-grid-expand-button{display:inline-flex;align-items:center;justify-content:center;width:var(--icon-size-lg);height:var(--icon-size-lg);padding:0;background:none;border:none;border-radius:var(--radius-sm);color:var(--color-neutral-600);cursor:pointer;transition:background-color var(--animation-duration-fast) ease, color var(--animation-duration-fast) ease}.data-grid-expand-button:hover{background-color:var(--color-neutral-100);color:var(--color-neutral-800)}.data-grid-expand-button .material-symbols-outlined{font-size:var(--icon-size-lg)}.data-grid-drag-handle{color:var(--color-neutral-400)}.data-grid-drag-handle .material-symbols-outlined{font-size:var(--icon-size-md)}.data-grid-cell-drag-disabled{opacity:0.4;cursor:not-allowed}.data-grid-cell-pinned{background-color:inherit}.data-grid-footer{border-top:1px solid var(--bh-data-grid-border-color)}.data-grid-summary-row{background-color:var(--color-neutral-50)}.data-grid-summary-row .data-grid-cell{font-weight:var(--weight-semibold)}.data-grid-summary-label{font-size:var(--text-xs-size);color:var(--color-neutral-500);display:block;margin-bottom:var(--spacing-xxs)}.data-grid-summary-value{font-variant-numeric:tabular-nums}.data-grid-cell-summary{border-bottom:none}.data-grid-pagination{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--bh-data-grid-cell-padding-x);border-top:1px solid var(--bh-data-grid-border-color);background-color:var(--bh-data-grid-row-bg);font-size:var(--text-sm-size);color:var(--color-neutral-600)}.data-grid-pagination-info{display:flex;align-items:center;gap:var(--spacing-sm)}.data-grid-pagination-rows{color:var(--color-neutral-600)}.data-grid-pagination-controls{display:flex;align-items:center;gap:var(--spacing-lg)}.data-grid-pagination-nav{display:flex;align-items:center;gap:var(--spacing-xs)}.data-grid-pagination-button{display:inline-flex;align-items:center;justify-content:center;min-width:var(--bh-data-grid-pagination-btn-size);height:var(--bh-data-grid-pagination-btn-size);padding:0 var(--spacing-sm);background:none;border:none;border-radius:var(--radius-md);color:var(--color-neutral-600);font-size:var(--text-sm-size);font-weight:var(--weight-medium);cursor:pointer;transition:background-color var(--animation-duration-fast) ease, color var(--animation-duration-fast) ease}.data-grid-pagination-button:hover:not(:disabled){background-color:var(--color-neutral-100)}.data-grid-pagination-button:disabled{opacity:0.4;cursor:not-allowed}.data-grid-pagination-button[aria-current=page]{background-color:var(--color-brand-600);color:var(--color-white)}.data-grid-pagination-button .material-symbols-outlined{font-size:var(--icon-size-sm)}.data-grid-pagination-pages{display:flex;align-items:center;gap:var(--spacing-xxs)}.data-grid-pagination-page-size{display:flex;align-items:center;gap:var(--spacing-sm)}.data-grid-pagination-page-size select{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--bh-data-grid-border-color);border-radius:var(--radius-sm);font-size:var(--text-sm-size);color:var(--color-neutral-700);background-color:var(--color-white);cursor:pointer}.data-grid-pagination-page-size select:focus{outline:none;border-color:var(--color-brand-500);box-shadow:0 0 0 2px var(--color-brand-100)}.empty-state-wrapper{display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl)}.data-grid-row-empty .data-grid-cell{text-align:center;color:var(--color-neutral-500);padding:var(--spacing-xl);height:auto}.data-grid-search-highlight{background-color:var(--color-warning-100);border-radius:var(--radius-xxs);padding:0 1px}.data-grid-search-highlight-current{background-color:var(--color-warning-300)}.data-grid-search-panel{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--bh-data-grid-cell-padding-x);background-color:var(--color-neutral-50);border-bottom:1px solid var(--bh-data-grid-border-color)}.data-grid-search-panel-input-wrapper{display:flex;align-items:center;gap:var(--spacing-xs);flex:1;min-width:0}.data-grid-search-panel-icon{font-size:var(--icon-size-sm);color:var(--color-neutral-400);flex-shrink:0}.data-grid-search-panel-input{flex:1;min-width:0;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--bh-data-grid-border-color);border-radius:var(--radius-sm);font-size:var(--text-sm-size);color:var(--color-neutral-900);background-color:var(--color-white)}.data-grid-search-panel-input:focus{outline:none;border-color:var(--color-brand-500);box-shadow:0 0 0 2px var(--color-brand-100)}.data-grid-search-panel-input::placeholder{color:var(--color-neutral-400)}.data-grid-search-panel-clear{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-xs);background:none;border:none;color:var(--color-neutral-400);cursor:pointer;border-radius:var(--radius-sm)}.data-grid-search-panel-clear:hover{color:var(--color-neutral-600);background-color:var(--color-neutral-100)}.data-grid-search-panel-results{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0}.data-grid-search-count{font-size:var(--text-xs-size);color:var(--color-neutral-500);white-space:nowrap}.data-grid-search-nav{display:flex;align-items:center;gap:var(--spacing-xs)}.data-grid-search-nav-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--bh-data-grid-search-nav-btn-size);height:var(--bh-data-grid-search-nav-btn-size);padding:0;background:none;border:1px solid var(--bh-data-grid-border-color);border-radius:var(--radius-sm);color:var(--color-neutral-600);cursor:pointer}.data-grid-search-nav-btn:hover:not(:disabled){background-color:var(--color-neutral-100)}.data-grid-search-nav-btn:disabled{opacity:0.4;cursor:not-allowed}.data-grid-search-nav-btn .material-symbols-outlined{font-size:var(--icon-size-sm)}.data-grid-global-filter{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--bh-data-grid-cell-padding-x);background-color:var(--color-neutral-50);border-bottom:1px solid var(--bh-data-grid-border-color)}.data-grid-search-icon{font-size:var(--icon-size-sm);color:var(--color-neutral-400)}.data-grid-global-filter-input{flex:1;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--bh-data-grid-border-color);border-radius:var(--radius-sm);font-size:var(--text-sm-size);color:var(--color-neutral-900);background-color:var(--color-white)}.data-grid-global-filter-input:focus{outline:none;border-color:var(--color-brand-500);box-shadow:0 0 0 2px var(--color-brand-100)}.data-grid-global-filter-input::placeholder{color:var(--color-neutral-400)}.data-grid-context-menu{min-width:var(--bh-data-grid-context-menu-min-width);padding:var(--spacing-xs) 0;background-color:var(--color-white);border:1px solid var(--bh-data-grid-border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:var(--bh-z-index-dropdown)}.data-grid-context-menu-item{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);background:none;border:none;cursor:pointer;font-size:var(--text-sm-size);color:var(--color-neutral-700);transition:background-color var(--animation-duration-fast) ease;position:relative}.data-grid-context-menu-item:hover{background-color:var(--color-neutral-100)}.data-grid-context-menu-item-disabled{opacity:0.4;cursor:not-allowed;pointer-events:none}.data-grid-context-menu-item-icon{font-size:var(--icon-size-sm);color:var(--color-neutral-500);flex-shrink:0}.data-grid-context-menu-item-label{flex:1;text-align:left}.data-grid-context-menu-item-arrow{font-size:var(--icon-size-sm);color:var(--color-neutral-400);flex-shrink:0}.data-grid-context-menu-submenu{position:absolute;left:100%;top:0;min-width:var(--bh-data-grid-dropdown-min-width);padding:var(--spacing-xs) 0;background-color:var(--color-white);border:1px solid var(--bh-data-grid-border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.data-grid-context-menu-item-open{background-color:var(--color-neutral-100)}.data-grid-context-menu-divider{height:1px;margin:var(--spacing-xs) 0;background-color:var(--bh-data-grid-border-color)}.data-grid-export{position:relative}.data-grid-export-btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:none;border:1px solid var(--bh-data-grid-border-color);border-radius:var(--radius-sm);font-size:var(--text-sm-size);color:var(--color-neutral-700);cursor:pointer;transition:background-color var(--animation-duration-fast) ease, border-color var(--animation-duration-fast) ease}.data-grid-export-btn:hover{background-color:var(--color-neutral-100);border-color:var(--color-neutral-300)}.data-grid-export-btn .material-symbols-outlined{font-size:var(--icon-size-sm)}.data-grid-export-btn-active{background-color:var(--color-neutral-100);border-color:var(--color-neutral-300)}.data-grid-export-label{white-space:nowrap}.data-grid-export-arrow{font-size:var(--icon-size-sm);transition:transform var(--animation-duration-fast) ease}.data-grid-export-dropdown{position:absolute;top:100%;right:0;z-index:var(--bh-z-index-dropdown);min-width:var(--bh-data-grid-dropdown-min-width);margin-top:var(--spacing-xs);padding:var(--spacing-xs) 0;background-color:var(--color-white);border:1px solid var(--bh-data-grid-border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.data-grid-export-option{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);background:none;border:none;cursor:pointer;font-size:var(--text-sm-size);color:var(--color-neutral-700);transition:background-color var(--animation-duration-fast) ease}.data-grid-export-option:hover{background-color:var(--color-neutral-100)}.data-grid-column-chooser{position:relative}.data-grid-column-chooser-btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:none;border:1px solid var(--bh-data-grid-border-color);border-radius:var(--radius-sm);font-size:var(--text-sm-size);color:var(--color-neutral-700);cursor:pointer;transition:background-color var(--animation-duration-fast) ease, border-color var(--animation-duration-fast) ease}.data-grid-column-chooser-btn:hover{background-color:var(--color-neutral-100);border-color:var(--color-neutral-300)}.data-grid-column-chooser-btn .material-symbols-outlined{font-size:var(--icon-size-sm)}.data-grid-column-chooser-btn-active{background-color:var(--color-neutral-100);border-color:var(--color-neutral-300)}.data-grid-column-chooser-label{white-space:nowrap}.data-grid-column-chooser-dropdown{position:absolute;top:100%;right:0;z-index:var(--bh-z-index-dropdown);min-width:var(--bh-data-grid-column-chooser-min-width);margin-top:var(--spacing-xs);background-color:var(--color-white);border:1px solid var(--bh-data-grid-border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden}.data-grid-column-chooser-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--bh-data-grid-border-color)}.data-grid-column-chooser-title{font-size:var(--text-sm-size);font-weight:var(--weight-semibold);color:var(--color-neutral-900)}.data-grid-column-chooser-close{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-xs);background:none;border:none;color:var(--color-neutral-400);cursor:pointer;border-radius:var(--radius-sm)}.data-grid-column-chooser-close:hover{color:var(--color-neutral-600);background-color:var(--color-neutral-100)}.data-grid-column-chooser-actions{display:flex;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md);border-bottom:1px solid var(--color-neutral-100)}.data-grid-column-chooser-action{font-size:var(--text-xs-size);color:var(--color-brand-600);background:none;border:none;cursor:pointer;padding:var(--spacing-xs) 0}.data-grid-column-chooser-action:hover{color:var(--color-brand-700);text-decoration:underline}.data-grid-column-chooser-list{max-height:var(--bh-data-grid-column-chooser-max-height);overflow-y:auto;padding:var(--spacing-xs) 0}.data-grid-column-chooser-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md);cursor:pointer;transition:background-color var(--animation-duration-fast) ease}.data-grid-column-chooser-item:hover{background-color:var(--color-neutral-50)}.data-grid-column-chooser-item-hidden{opacity:0.5}.data-grid-column-chooser-item-text{font-size:var(--text-sm-size);color:var(--color-neutral-700)}.data-grid-toolbar-btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:none;border:1px solid var(--bh-data-grid-border-color);border-radius:var(--radius-sm);font-size:var(--text-sm-size);color:var(--color-neutral-700);cursor:pointer;transition:background-color var(--animation-duration-fast) ease, border-color var(--animation-duration-fast) ease}.data-grid-toolbar-btn:hover{background-color:var(--color-neutral-100);border-color:var(--color-neutral-300)}.data-grid-toolbar-btn .material-symbols-outlined{font-size:var(--icon-size-sm)}.data-grid-toolbar-btn-primary{background-color:var(--color-brand-600);border-color:var(--color-brand-600);color:var(--color-white)}.data-grid-toolbar-btn-primary:hover{background-color:var(--color-brand-700);border-color:var(--color-brand-700)}.data-grid-skeleton .data-grid-cell,.data-grid-body-skeleton .data-grid-cell{padding:var(--spacing-sm) var(--bh-data-grid-cell-padding-x)}.data-grid-row-skeleton .data-grid-cell{padding:var(--spacing-sm) var(--bh-data-grid-cell-padding-x)}.data-grid-filter-row{background-color:var(--bh-data-grid-header-bg);border-bottom:1px solid var(--bh-data-grid-border-color)}.data-grid-filter-cell{padding:var(--spacing-xs) var(--bh-data-grid-cell-padding-x);vertical-align:middle}.data-grid-filter-icon{font-size:var(--icon-size-sm);color:var(--color-neutral-400);flex-shrink:0}.data-grid-filter-input{width:100%;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--bh-data-grid-border-color);border-radius:var(--radius-sm);font-size:var(--text-xs-size);line-height:var(--text-xs-line);color:var(--color-neutral-900);background-color:var(--color-white)}.data-grid-filter-input:focus{outline:none;border-color:var(--color-brand-500);box-shadow:0 0 0 2px var(--color-brand-100)}.data-grid-filter-input::placeholder{color:var(--color-neutral-400)}.data-grid-header-filter-dropdown{position:absolute;top:100%;left:0;z-index:var(--bh-z-index-dropdown);min-width:var(--bh-data-grid-column-chooser-min-width);margin-top:var(--spacing-xs);background-color:var(--color-white);border:1px solid var(--bh-data-grid-border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden}.data-grid-header-filter-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--bh-data-grid-border-color)}.data-grid-header-filter-title{font-size:var(--text-sm-size);font-weight:var(--weight-semibold);color:var(--color-neutral-900)}.data-grid-header-filter-close{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-xs);background:none;border:none;color:var(--color-neutral-400);cursor:pointer;border-radius:var(--radius-sm)}.data-grid-header-filter-close:hover{color:var(--color-neutral-600);background-color:var(--color-neutral-100)}.data-grid-header-filter-search{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-neutral-100)}.data-grid-header-filter-search-icon{font-size:var(--icon-size-sm);color:var(--color-neutral-400);flex-shrink:0}.data-grid-header-filter-search-input{flex:1;min-width:0;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--bh-data-grid-border-color);border-radius:var(--radius-sm);font-size:var(--text-xs-size);line-height:var(--text-xs-line);color:var(--color-neutral-900);background-color:var(--color-white)}.data-grid-header-filter-search-input:focus{outline:none;border-color:var(--color-brand-500);box-shadow:0 0 0 2px var(--color-brand-100)}.data-grid-header-filter-search-input::placeholder{color:var(--color-neutral-400)}.data-grid-header-filter-actions{display:flex;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md);border-bottom:1px solid var(--color-neutral-100)}.data-grid-header-filter-action{font-size:var(--text-xs-size);color:var(--color-brand-600);background:none;border:none;cursor:pointer;padding:var(--spacing-xs) 0}.data-grid-header-filter-action:hover{color:var(--color-brand-700);text-decoration:underline}.data-grid-header-filter-list{max-height:var(--bh-data-grid-column-chooser-max-height);overflow-y:auto;padding:var(--spacing-xs) 0}.data-grid-header-filter-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md);cursor:pointer;transition:background-color var(--animation-duration-fast) ease}.data-grid-header-filter-item:hover{background-color:var(--color-neutral-50)}.data-grid-header-filter-item-all{border-bottom:1px solid var(--color-neutral-100);font-weight:var(--weight-medium)}.data-grid-header-filter-item-text{flex:1;font-size:var(--text-sm-size);color:var(--color-neutral-700);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-grid-header-filter-item-count{font-size:var(--text-xs-size);color:var(--color-neutral-400);flex-shrink:0}.data-grid-header-filter-empty{padding:var(--spacing-md);text-align:center;font-size:var(--text-sm-size);color:var(--color-neutral-500)}.data-grid-edit-input{width:100%;padding:var(--spacing-sm) 0;border:none;border-bottom:2px solid var(--bh-data-grid-edit-active-border-color);font-family:var(--font-inter);font-size:var(--text-sm-size);line-height:var(--text-sm-line);color:var(--bh-data-grid-cell-color);background-color:transparent;outline:none}.data-grid-edit-input::placeholder{color:var(--color-neutral-400)}.data-grid-edit-actions{display:flex;align-items:center;gap:var(--spacing-xs)}.data-grid-cell-error-text{display:block;font-size:var(--text-xs-size);line-height:var(--text-xs-line);color:var(--color-error-500);margin-top:var(--spacing-xxs)}.data-grid-row-expansion{background-color:var(--color-neutral-50);border-bottom:1px solid var(--bh-data-grid-border-color)}.data-grid-master-detail{background-color:var(--color-white)}.data-grid-detail-cell{padding:var(--spacing-md) var(--spacing-lg)}.data-grid-expand-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--icon-size-lg);height:var(--icon-size-lg);padding:0;background:none;border:none;border-radius:var(--radius-sm);color:var(--color-neutral-600);cursor:pointer;transition:background-color var(--animation-duration-fast) ease, color var(--animation-duration-fast) ease, transform var(--animation-duration-fast) ease}.data-grid-expand-btn:hover{background-color:var(--color-neutral-100);color:var(--color-neutral-800)}.data-grid-expand-btn .material-symbols-outlined{font-size:var(--icon-size-lg)}.data-grid-cell-group-label{padding:var(--spacing-sm) var(--bh-data-grid-cell-padding-x);background-color:var(--color-neutral-50);font-weight:var(--weight-medium)}.data-grid-group-toggle{display:inline-flex;align-items:center;justify-content:center;padding:0;background:none;border:none;color:var(--color-neutral-600);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--animation-duration-fast) ease}.data-grid-group-toggle:hover{color:var(--color-neutral-800)}.data-grid-group-toggle .material-symbols-outlined{font-size:var(--icon-size-md);transition:transform var(--animation-duration-fast) ease}.data-grid-group-label{display:inline-flex;align-items:center;gap:var(--spacing-xs);font-size:var(--text-sm-size)}.data-grid-group-column{color:var(--color-neutral-500);font-weight:var(--weight-regular)}.data-grid-group-value{color:var(--color-neutral-900);font-weight:var(--weight-medium)}.data-grid-group-count{font-size:var(--text-xs-size);color:var(--color-neutral-400);margin-left:var(--spacing-xs)}.data-grid-body-virtual{position:relative}.data-grid-virtual-spacer{visibility:hidden;padding:0;border:none}.data-grid-virtual-spacer td{padding:0;border:none;line-height:0}.data-grid-sort-icon{font-size:var(--bh-data-grid-sort-icon-size);color:var(--color-neutral-400);flex-shrink:0;transition:color var(--animation-duration-fast) ease}.data-grid-empty .data-grid-cell{text-align:center;color:var(--color-neutral-500);padding:var(--spacing-xl);height:auto}.data-grid-fatal-error{display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl);text-align:center;color:var(--color-error-600);background-color:var(--color-error-50);border-radius:var(--radius-lg);border:1px solid var(--color-error-200)}.data-grid-loading-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background-color:var(--overlay-white-strong);z-index:var(--bh-z-index-raised);pointer-events:none}.data-grid-summary-footer{border-top:1px solid var(--bh-data-grid-border-color);background-color:var(--color-neutral-50)}.data-grid-summary-cell{padding:var(--spacing-sm) var(--bh-data-grid-cell-padding-x);font-size:var(--text-sm-size);color:var(--color-neutral-700);vertical-align:top}.data-grid-summary-item{display:flex;flex-direction:column;gap:var(--spacing-xxs);margin-bottom:var(--spacing-xs)}.data-grid-summary-item:last-child{margin-bottom:0}.data-grid-form-edit-modal{--bh-modal-width:600px}.data-grid-form-edit-header{display:flex;align-items:center;justify-content:space-between;width:100%}.data-grid-form-edit-title{margin:0;font-size:var(--text-lg-size);font-weight:var(--weight-semibold);color:var(--color-neutral-900)}.data-grid-form-edit-close{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-xs);background:none;border:none;color:var(--color-neutral-400);cursor:pointer;border-radius:var(--radius-sm)}.data-grid-form-edit-close:hover{color:var(--color-neutral-600);background-color:var(--color-neutral-100)}.data-grid-form-edit-content{padding:var(--spacing-lg)}.data-grid-form-edit-fields{display:flex;flex-direction:column;gap:var(--spacing-md)}.data-grid-form-edit-footer{display:flex;justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--bh-data-grid-border-color)}.data-grid-form-label{display:block;font-size:var(--text-sm-size);font-weight:var(--weight-medium);color:var(--color-neutral-700);margin-bottom:var(--spacing-xs)}.data-grid-form-required{color:var(--color-error-500);margin-left:var(--spacing-xxs)}.data-grid-form-error{display:block;font-size:var(--text-xs-size);color:var(--color-error-500);margin-top:var(--spacing-xs)}.data-grid-form-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-neutral-300);border-radius:var(--radius-sm);font-family:var(--font-inter);font-size:var(--text-sm-size);line-height:var(--text-sm-line);color:var(--color-neutral-900);background-color:var(--color-white)}.data-grid-form-input:focus{outline:none;border-color:var(--color-brand-500);box-shadow:0 0 0 2px var(--color-brand-100)}.data-grid-form-input::placeholder{color:var(--color-neutral-400)}.data-grid-form-select{appearance:auto;cursor:pointer}.data-grid-form-textarea{min-height:80px;resize:vertical}.data-grid-form-checkbox{width:auto;cursor:pointer}.data-grid-toolbar-column-chooser,.data-grid-toolbar-export{position:relative}}@layer bh-variants{.data-grid-compact .data-grid-header-cell{height:var(--bh-data-grid-cell-height-compact);padding:0 var(--spacing-md);font-size:var(--text-xs-size)}.data-grid-compact .data-grid-cell{height:var(--bh-data-grid-cell-height-compact);padding:0 var(--spacing-md);font-size:var(--text-xs-size)}.data-grid-relaxed .data-grid-header-cell{height:var(--bh-data-grid-cell-height-relaxed);padding:0 var(--spacing-2xl)}.data-grid-relaxed .data-grid-cell{height:var(--bh-data-grid-cell-height-relaxed);padding:0 var(--spacing-2xl)}.data-grid-bordered .data-grid-header-cell,.data-grid-bordered .data-grid-cell{border-right:1px solid var(--bh-data-grid-border-color)}.data-grid-bordered .data-grid-header-cell:last-child,.data-grid-bordered .data-grid-cell:last-child{border-right:none}.data-grid-striped .data-grid-row{border-bottom:none}.data-grid-striped .data-grid-row-striped{background-color:var(--bh-data-grid-row-bg-alt)}}@layer bh-states{.data-grid-row-selected{background-color:var(--bh-data-grid-row-selected-bg)}.data-grid-row-hover{background-color:var(--bh-data-grid-row-hover-bg)}.data-grid-row-clickable{cursor:pointer}.data-grid-row-focused{outline:2px solid var(--color-brand-500);outline-offset:-2px}.data-grid-row-editing{background-color:var(--color-brand-25, var(--color-brand-50))}.data-grid-header-cell-sortable{cursor:pointer;user-select:none}.data-grid-header-cell-sorted{color:var(--color-brand-600)}.data-grid-header-cell-resizable{position:relative}.data-grid-header-cell-resizing{user-select:none}.data-grid-header-cell-pinned{background-color:inherit;z-index:1}.data-grid-header-cell-pinned-left{position:sticky;left:0}.data-grid-header-cell-pinned-right{position:sticky;right:0}.data-grid-header-cell-draggable{cursor:grab}.data-grid-header-cell-draggable:active{cursor:grabbing}.data-grid-header-cell-dragging{opacity:0.5}.data-grid-header-cell-drag-over{border-left:2px solid var(--color-brand-500)}.data-grid-cell-editable{cursor:text}.data-grid-cell-editable:hover{border-bottom:1px solid var(--bh-data-grid-edit-border-color)}.data-grid-cell-editing{border-bottom:2px solid var(--bh-data-grid-edit-active-border-color);background-color:var(--color-white)}.data-grid-loading{position:relative}.data-grid-row-modified{position:relative;background-color:var(--bh-data-grid-row-modified-bg);border-left:var(--bh-data-grid-row-modified-border-width) solid var(--bh-data-grid-row-modified-border-color);transition:background-color var(--animation-duration-normal) ease, border-color var(--animation-duration-normal) ease}.data-grid-row-inserted{position:relative;background-color:var(--bh-data-grid-row-inserted-bg);border-left:var(--bh-data-grid-row-inserted-border-width) solid var(--bh-data-grid-row-inserted-border-color);transition:background-color var(--animation-duration-normal) ease, border-color var(--animation-duration-normal) ease}.data-grid-row-deleted{position:relative;background-color:var(--bh-data-grid-row-deleted-bg);border-left:var(--bh-data-grid-row-deleted-border-width) solid var(--bh-data-grid-row-deleted-border-color);opacity:var(--bh-data-grid-row-deleted-opacity);text-decoration:line-through;transition:background-color var(--animation-duration-normal) ease, border-color var(--animation-duration-normal) ease, opacity var(--animation-duration-normal) ease;pointer-events:none;user-select:none}.data-grid-cell-modified{position:relative;background-color:var(--bh-data-grid-cell-modified-bg);transition:background-color var(--animation-duration-normal) ease;box-shadow:inset 0 0 0 1px var(--color-warning-200)}.data-grid-toolbar{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-neutral-50);border-bottom:1px solid var(--color-neutral-200);gap:var(--spacing-md);transition:background-color var(--animation-duration-normal) ease, box-shadow var(--animation-duration-normal) ease}.data-grid-toolbar-batch-mode{position:sticky;top:0;z-index:var(--bh-z-index-raised);background-color:var(--color-warning-50);border-bottom:2px solid var(--color-warning-400);box-shadow:var(--shadow-sm)}.data-grid-toolbar-left,.data-grid-toolbar-center,.data-grid-toolbar-right{display:flex;align-items:center;gap:var(--spacing-sm)}.data-grid-toolbar-left{flex:1;justify-content:flex-start}.data-grid-toolbar-center{flex:0 0 auto;justify-content:center}.data-grid-toolbar-right{flex:1;justify-content:flex-end}.data-grid-toolbar-compact{padding:var(--spacing-xs) var(--spacing-sm)}.data-grid-toolbar-relaxed{padding:var(--spacing-lg) var(--spacing-xl)}.data-grid-toolbar-search{min-width:var(--bh-data-grid-search-min-width);max-width:var(--bh-data-grid-search-max-width)}.data-grid-export-dropdown{position:relative}.data-grid-export-dropdown-menu{position:absolute;top:100%;right:0;z-index:var(--bh-z-index-dropdown);min-width:var(--bh-data-grid-dropdown-min-width);margin-top:var(--spacing-xs);padding:var(--spacing-xs) 0;background-color:var(--color-white);border:1px solid var(--color-neutral-200);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.data-grid-export-dropdown-item{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);background:none;border:none;cursor:pointer;font-size:var(--text-sm-size);color:var(--color-neutral-700);transition:background-color var(--animation-duration-fast) ease}.data-grid-export-dropdown-item:hover{background-color:var(--color-neutral-100)}.data-grid-export-dropdown-item .material-symbols-outlined{font-size:var(--icon-size-base);color:var(--color-neutral-500)}.data-grid-toolbar-batch-actions{display:flex;align-items:center;gap:var(--spacing-md)}.data-grid-batch-count{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--color-white);border-radius:var(--radius-md);font-size:var(--text-sm-size);color:var(--color-neutral-700)}.data-grid-batch-label{font-weight:var(--weight-medium)}.data-grid-batch-buttons{display:flex;gap:var(--spacing-sm)}.data-grid-toolbar-filter-builder{display:flex;align-items:center;gap:var(--spacing-sm)}.data-grid-filter-display{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--color-neutral-100);border-radius:var(--radius-sm);font-size:var(--text-xs-size)}.data-grid-filter-part[data-type=field]{font-weight:var(--weight-semibold);color:var(--color-brand-600)}.data-grid-filter-part[data-type=operator]{color:var(--color-neutral-500)}.data-grid-filter-part[data-type=value]{color:var(--color-neutral-700)}.data-grid-filter-part[data-type=logic]{font-weight:var(--weight-semibold);color:var(--color-warning-600)}.filter-builder{display:flex;flex-direction:column;min-width:var(--bh-data-grid-filter-min-width);max-width:var(--bh-data-grid-filter-max-width);max-height:80vh;background-color:var(--color-white);border:1px solid var(--color-neutral-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);overflow:hidden}.filter-builder-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-neutral-50);border-bottom:1px solid var(--color-neutral-200)}.filter-builder-title{display:flex;align-items:center;gap:var(--spacing-sm)}.filter-builder-title h2{margin:0;font-size:var(--text-lg-size);font-weight:var(--weight-semibold);color:var(--color-neutral-900)}.filter-builder-title .material-symbols-outlined{font-size:var(--icon-size-lg);color:var(--color-brand-500)}.filter-builder-header-actions{display:flex;align-items:center;gap:var(--spacing-md)}.filter-builder-preset-actions{display:flex;align-items:center;gap:var(--spacing-xs);padding-right:var(--spacing-md);border-right:1px solid var(--color-neutral-200)}.filter-builder-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--color-neutral-50);border-bottom:1px solid var(--color-neutral-100)}.filter-builder-body{flex:1;overflow-y:auto;padding:var(--spacing-lg);min-height:var(--bh-data-grid-filter-body-min-height)}.filter-builder-footer{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-neutral-50);border-top:1px solid var(--color-neutral-200)}.filter-builder-footer-actions{display:flex;gap:var(--spacing-sm)}.filter-builder-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);text-align:center}.filter-builder-empty-icon{font-size:var(--icon-size-5xl);color:var(--color-neutral-300);margin-bottom:var(--spacing-md)}.filter-builder-empty-text{margin:0 0 var(--spacing-lg);color:var(--color-neutral-500);font-size:var(--text-sm-size)}.filter-builder-empty-actions{display:flex;gap:var(--spacing-sm)}.filter-builder-condition{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);background-color:var(--color-neutral-50);border-radius:var(--radius-md);margin-bottom:var(--spacing-sm)}.filter-builder-condition:last-child{margin-bottom:0}.filter-builder-field-select,.filter-builder-operator-select{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--text-sm-size);background-color:var(--color-white);border:1px solid var(--color-neutral-300);border-radius:var(--radius-sm);color:var(--color-neutral-700);cursor:pointer;min-width:var(--bh-data-grid-select-min-width)}.filter-builder-field-select:hover,.filter-builder-operator-select:hover{border-color:var(--color-neutral-400)}.filter-builder-field-select:focus,.filter-builder-operator-select:focus{outline:none;border-color:var(--color-brand-500);box-shadow:0 0 0 2px var(--color-brand-100)}.filter-builder-value-inputs{display:flex;align-items:center;gap:var(--spacing-xs);flex:1;min-width:0}.filter-builder-value-input{flex:1;min-width:var(--bh-data-grid-value-input-min-width)}.filter-builder-remove-btn{flex-shrink:0}.filter-builder-group{padding:var(--spacing-md);background-color:var(--color-white);border:1px solid var(--color-neutral-200);border-radius:var(--radius-md);margin-bottom:var(--spacing-sm)}.filter-builder-group:last-child{margin-bottom:0}.filter-builder-group-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-neutral-100)}.filter-builder-logic-toggle{display:flex;background-color:var(--color-neutral-100);border-radius:var(--radius-sm);overflow:hidden}.filter-builder-logic-btn{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--text-xs-size);font-weight:var(--weight-semibold);color:var(--color-neutral-600);background:none;border:none;cursor:pointer;transition:all var(--animation-duration-fast) ease}.filter-builder-logic-btn:hover{color:var(--color-neutral-800);background-color:var(--color-neutral-200)}.filter-builder-logic-btn-active{color:var(--color-white);background-color:var(--color-brand-500)}.filter-builder-logic-btn-active:hover{color:var(--color-white);background-color:var(--color-brand-600)}.filter-builder-group-actions{display:flex;gap:var(--spacing-xs)}.filter-builder-child{position:relative}.filter-builder-logic-separator{display:flex;align-items:center;justify-content:center;margin:var(--spacing-sm) 0;font-size:var(--text-xs-size);font-weight:var(--weight-semibold);color:var(--color-warning-600)}.filter-builder-logic-separator::before,.filter-builder-logic-separator::after{content:"";flex:1;height:1px;background-color:var(--color-neutral-200);margin:0 var(--spacing-sm)}.filter-builder-root-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px dashed var(--color-neutral-200)}.filter-builder-depth-1{margin-left:var(--spacing-md)}.filter-builder-depth-2{margin-left:calc(var(--spacing-md) * 2)}.filter-builder-depth-3{margin-left:calc(var(--spacing-md) * 3)}.filter-builder-group.filter-builder-depth-1{border-left:3px solid var(--color-brand-300)}.filter-builder-group.filter-builder-depth-2{border-left:3px solid var(--color-secondary-300)}.filter-builder-group.filter-builder-depth-3{border-left:3px solid var(--color-warning-300)}.filter-builder-dialog-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background-color:var(--overlay-dark);z-index:var(--bh-z-index-modal-backdrop)}.filter-builder-dialog{width:100%;max-width:var(--bh-data-grid-dialog-max-width);background-color:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);overflow:hidden}.filter-builder-dialog-wide{max-width:var(--bh-data-grid-dialog-wide-max-width)}.filter-builder-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-neutral-200)}.filter-builder-dialog-header h3{margin:0;font-size:var(--text-md-size);font-weight:var(--weight-semibold);color:var(--color-neutral-900)}.filter-builder-dialog-body{padding:var(--spacing-lg)}.filter-builder-dialog-footer{display:flex;justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-neutral-50);border-top:1px solid var(--color-neutral-200)}.filter-builder-no-presets{text-align:center;color:var(--color-neutral-500);font-size:var(--text-sm-size);padding:var(--spacing-md)}.filter-builder-preset-list{list-style:none;margin:0;padding:0}.filter-builder-preset-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) 0;border-bottom:1px solid var(--color-neutral-100)}.filter-builder-preset-item:last-child{border-bottom:none}.filter-builder-preset-btn{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-xs);padding:var(--spacing-sm);background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:background-color var(--animation-duration-fast) ease}.filter-builder-preset-btn:hover{background-color:var(--color-neutral-100)}.filter-builder-preset-name{font-size:var(--text-sm-size);font-weight:var(--weight-medium);color:var(--color-neutral-900)}.filter-builder-preset-info{font-size:var(--text-xs-size);color:var(--color-neutral-500)}:host{--bh-data-grid-breakpoint-large:1024px;--bh-data-grid-breakpoint-medium:768px;--bh-data-grid-touch-target-size:44px}.data-grid-cell-adaptive-detail{width:var(--bh-data-grid-touch-target-size);min-width:var(--bh-data-grid-touch-target-size);padding:var(--spacing-xs);text-align:center}.data-grid-adaptive-detail-button{display:flex;align-items:center;justify-content:center;width:var(--bh-data-grid-touch-target-size);height:var(--bh-data-grid-touch-target-size);min-width:var(--bh-data-grid-touch-target-size);min-height:var(--bh-data-grid-touch-target-size);padding:0;background:none;border:1px solid var(--color-neutral-300);border-radius:var(--radius-md);color:var(--color-neutral-600);cursor:pointer;transition:background-color var(--animation-duration-fast) ease, border-color var(--animation-duration-fast) ease, color var(--animation-duration-fast) ease}.data-grid-adaptive-detail-button:hover{background-color:var(--color-neutral-100);border-color:var(--color-neutral-400);color:var(--color-neutral-800)}.data-grid-adaptive-detail-button:focus{outline:none;border-color:var(--color-brand-500);box-shadow:0 0 0 2px var(--color-brand-100)}.data-grid-adaptive-detail-button:active{background-color:var(--color-neutral-200)}.data-grid-adaptive-detail-button .material-symbols-outlined{font-size:var(--icon-size-md)}.data-grid-row-adaptive-detail{background-color:var(--color-neutral-50);border-bottom:1px solid var(--color-neutral-200)}.data-grid-row-adaptive-detail:hover{background-color:var(--color-neutral-100)}.data-grid-cell-adaptive-detail-content{padding:var(--spacing-md) var(--spacing-lg)}.adaptive-detail-content{padding:var(--spacing-sm);background-color:var(--color-white);border:1px solid var(--color-neutral-200);border-radius:var(--radius-md)}.adaptive-detail-list{display:grid;grid-template-columns:repeat(auto-fill, minmax(200px, 1fr));gap:var(--spacing-md);margin:0;padding:0}.adaptive-detail-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.adaptive-detail-label{font-size:var(--text-xs-size);font-weight:var(--weight-semibold);color:var(--color-neutral-500);text-transform:uppercase;letter-spacing:0.05em}.adaptive-detail-value{margin:0;font-size:var(--text-sm-size);color:var(--color-neutral-900);word-break:break-word}}@media (min-width: 1024px){:host .data-grid-cell-adaptive-detail{display:none}:host .data-grid-row-adaptive-detail{display:none}}@media (min-width: 768px) and (max-width: 1023px){:host .data-grid-adaptive-detail-button{width:var(--bh-data-grid-touch-target-size);height:var(--bh-data-grid-touch-target-size)}:host .data-grid-table{font-size:var(--text-sm-size)}:host .data-grid-header-cell,:host .data-grid-cell{padding:var(--spacing-sm) var(--spacing-md)}}@media (max-width: 767px){:host .data-grid-adaptive-detail-button{width:var(--bh-data-grid-touch-target-mobile);height:var(--bh-data-grid-touch-target-mobile);min-width:var(--bh-data-grid-touch-target-mobile);min-height:var(--bh-data-grid-touch-target-mobile)}:host .data-grid-table{font-size:var(--text-sm-size)}:host .data-grid-header-cell,:host .data-grid-cell{padding:var(--spacing-sm) var(--spacing-lg)}:host .adaptive-detail-list{grid-template-columns:1fr}:host .data-grid-toolbar{flex-wrap:wrap}:host .data-grid-toolbar-search{width:100%;max-width:none;order:-1;margin-bottom:var(--spacing-sm)}:host .data-grid-pagination{flex-wrap:wrap;justify-content:center;gap:var(--spacing-sm)}}@media (hover: none) and (pointer: coarse){:host .data-grid-expand-button,:host .data-grid-adaptive-detail-button{min-width:var(--bh-data-grid-touch-target-min);min-height:var(--bh-data-grid-touch-target-min)}:host .data-grid-row{min-height:var(--bh-data-grid-touch-target-mobile)}:host .data-grid-header-filter-button{min-width:var(--bh-data-grid-touch-target-min);min-height:var(--bh-data-grid-touch-target-min);padding:var(--spacing-sm)}:host .data-grid-row:hover{background-color:inherit}:host .data-grid-row-striped:hover{background-color:var(--color-neutral-50)}}.data-grid-body-loading{position:relative;opacity:0.6;pointer-events:none;transition:opacity var(--animation-duration-normal) ease}.data-grid-body-loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background-color:var(--overlay-white-strong);z-index:var(--bh-z-index-raised);min-height:var(--bh-data-grid-filter-body-min-height);pointer-events:none}.data-grid-error-notification{margin-bottom:var(--spacing-md);animation:slideInDown var(--animation-duration-slow) ease-out}@keyframes slideInDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.change-preview-header{display:flex;align-items:center;gap:var(--spacing-md)}.change-preview-title{margin:0;font-size:var(--text-lg-size);font-weight:var(--weight-semibold);color:var(--color-neutral-900)}.change-preview-body{padding:var(--spacing-md);max-height:var(--bh-data-grid-preview-max-height);overflow-y:auto}.change-preview-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);text-align:center;color:var(--color-neutral-500)}.change-preview-empty .change-preview-empty-icon{font-size:var(--icon-size-5xl);color:var(--color-success-400);margin-bottom:var(--spacing-md)}.change-preview-empty p{margin:0;font-size:var(--text-md-size)}.change-preview-group{margin-bottom:var(--spacing-md);border:1px solid var(--color-neutral-200);border-radius:var(--radius-md);overflow:hidden}.change-preview-group:last-child{margin-bottom:0}.change-preview-group-header{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-neutral-50);border:none;cursor:pointer;text-align:left;transition:background-color var(--animation-duration-fast) ease}.change-preview-group-header:hover{background-color:var(--color-neutral-100)}.change-preview-group-header:focus{outline:none;box-shadow:inset 0 0 0 2px var(--color-brand-500)}.change-preview-group-icon{font-size:var(--icon-size-md)}.change-preview-group-insert .change-preview-group-icon{color:var(--color-success-500)}.change-preview-group-update .change-preview-group-icon{color:var(--color-warning-500)}.change-preview-group-delete .change-preview-group-icon{color:var(--color-error-500)}.change-preview-group-title{flex:1;font-weight:var(--weight-medium);color:var(--color-neutral-800)}.change-preview-group-expand{font-size:var(--icon-size-md);color:var(--color-neutral-400)}.change-preview-group-content{padding:var(--spacing-sm);background-color:var(--color-white)}.change-preview-item{padding:var(--spacing-sm);margin-bottom:var(--spacing-sm);border:1px solid var(--color-neutral-200);border-radius:var(--radius-sm);background-color:var(--color-neutral-50)}.change-preview-item:last-child{margin-bottom:0}.change-preview-item-insert{border-left:3px solid var(--color-success-500)}.change-preview-item-update{border-left:3px solid var(--color-warning-500)}.change-preview-item-delete{border-left:3px solid var(--color-error-500)}.change-preview-item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-sm)}.change-preview-item-key{font-size:var(--text-sm-size);font-weight:var(--weight-medium);color:var(--color-neutral-700)}.change-preview-item-revert{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--text-xs-size);color:var(--color-neutral-600);background:var(--color-white);border:1px solid var(--color-neutral-300);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--animation-duration-fast) ease}.change-preview-item-revert .material-symbols-outlined{font-size:var(--icon-size-sm)}.change-preview-item-revert:hover{color:var(--color-neutral-800);background-color:var(--color-neutral-100);border-color:var(--color-neutral-400)}.change-preview-item-revert:focus{outline:none;box-shadow:0 0 0 2px var(--color-brand-200)}.change-preview-table{width:100%;border-collapse:collapse;font-size:var(--text-sm-size)}.change-preview-table th,.change-preview-table td{padding:var(--spacing-xs) var(--spacing-sm);text-align:left;border-bottom:1px solid var(--color-neutral-200)}.change-preview-table th{font-weight:var(--weight-medium);color:var(--color-neutral-600);background-color:var(--color-neutral-100)}.change-preview-table td{color:var(--color-neutral-800);background-color:var(--color-white)}.change-preview-table tr:last-child td{border-bottom:none}.change-preview-field{font-weight:var(--weight-medium);color:var(--color-neutral-700);min-width:var(--bh-data-grid-value-input-min-width)}.change-preview-original{color:var(--color-neutral-500);text-decoration:line-through}.change-preview-new{color:var(--color-success-600);font-weight:var(--weight-medium)}.change-preview-deleted{color:var(--color-error-500);text-decoration:line-through}.change-preview-item-errors{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--color-neutral-200)}.change-preview-error{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);margin-bottom:var(--spacing-xs);font-size:var(--text-xs-size);border-radius:var(--radius-sm)}.change-preview-error .material-symbols-outlined{font-size:var(--icon-size-sm)}.change-preview-error:last-child{margin-bottom:0}.change-preview-error-error{color:var(--color-error-700);background-color:var(--color-error-50)}.change-preview-error-warning{color:var(--color-warning-700);background-color:var(--color-warning-50)}.change-preview-footer{display:flex;align-items:center;justify-content:space-between;width:100%}.change-preview-footer-left{display:flex;gap:var(--spacing-sm)}.change-preview-footer-right{display:flex;gap:var(--spacing-sm)}.data-grid-context-menu{position:fixed}'}},[769,"bh-data-grid",{data:[16],columns:[16],getRowId:[16],getSubRows:[16],size:[1],striped:[4],bordered:[4],stickyHeader:[4,"sticky-header"],maxHeight:[1,"max-height"],caption:[1],captionPosition:[1,"caption-position"],emptyTitle:[1,"empty-title"],emptyDescription:[1,"empty-description"],loading:[4],loadingType:[1,"loading-type"],skeletonRowCount:[2,"skeleton-row-count"],operationTimeout:[2,"operation-timeout"],enableSorting:[4,"enable-sorting"],enableMultiSort:[4,"enable-multi-sort"],sortState:[1040],enableFiltering:[4,"enable-filtering"],enableGlobalFilter:[4,"enable-global-filter"],showFilterRow:[4,"show-filter-row"],globalFilterPlaceholder:[1,"global-filter-placeholder"],filterState:[1040],globalFilter:[1025,"global-filter"],selectionMode:[1,"selection-mode"],selectedRowIds:[1040],enablePagination:[4,"enable-pagination"],page:[1026],pageSize:[1026,"page-size"],pageSizeOptions:[16],enableExpansion:[4,"enable-expansion"],expandedRowIds:[1040],enableGrouping:[4,"enable-grouping"],groupBy:[16],enableEditing:[4,"enable-editing"],editMode:[1,"edit-mode"],showEditActions:[4,"show-edit-actions"],formEditConfig:[16],enableColumnResize:[4,"enable-column-resize"],minColumnWidth:[2,"min-column-width"],maxColumnWidth:[2,"max-column-width"],columnSizes:[1040],enableColumnPinning:[4,"enable-column-pinning"],columnPinning:[1040],enableColumnReorder:[4,"enable-column-reorder"],columnOrder:[1040],enableColumnChooser:[4,"enable-column-chooser"],columnVisibility:[1040],enableStatePersistence:[4,"enable-state-persistence"],stateStorageKey:[1,"state-storage-key"],persistedStateKeys:[16],enableHeaderFilter:[4,"enable-header-filter"],headerFilterHeight:[2,"header-filter-height"],headerFilterState:[1040],enableVirtualScrolling:[4,"enable-virtual-scrolling"],virtualScrollHeight:[2,"virtual-scroll-height"],estimatedRowHeight:[2,"estimated-row-height"],overscanCount:[2,"overscan-count"],enableMasterDetail:[4,"enable-master-detail"],masterDetailConfig:[16],autoCollapseOtherRows:[4,"auto-collapse-other-rows"],enableTotalSummary:[4,"enable-total-summary"],totalSummary:[16],enableGroupSummary:[4,"enable-group-summary"],groupSummary:[16],enableExport:[4,"enable-export"],showExportButton:[4,"show-export-button"],exportFormats:[16],exportConfig:[16],enableRowDragging:[4,"enable-row-dragging"],showDragHandle:[4,"show-drag-handle"],rowDragDisabled:[16],enableFocusTracking:[4,"enable-focus-tracking"],focusedRowId:[1025,"focused-row-id"],focusedCell:[1040],enableKeyboardNavigation:[4,"enable-keyboard-navigation"],autoScrollToFocused:[4,"auto-scroll-to-focused"],showToolbar:[4,"show-toolbar"],toolbarPosition:[1,"toolbar-position"],toolbarConfig:[16],showRefreshButton:[4,"show-refresh-button"],showAddButton:[4,"show-add-button"],showClearFilterButton:[4,"show-clear-filter-button"],showClearSelectionButton:[4,"show-clear-selection-button"],enableSearchPanel:[4,"enable-search-panel"],showSearchPanel:[1028,"show-search-panel"],searchPanelPosition:[1,"search-panel-position"],highlightSearchResults:[4,"highlight-search-results"],searchPanelPlaceholder:[1,"search-panel-placeholder"],batchEditingEnabled:[4,"batch-editing-enabled"],enableContextMenu:[4,"enable-context-menu"],contextMenuItems:[16],contextMenuPreparing:[16],showInlineErrorNotification:[4,"show-inline-error-notification"],errorNotificationDuration:[2,"error-notification-duration"],enableResponsiveLayout:[4,"enable-responsive-layout"],responsiveColumns:[16],mediumBreakpoint:[2,"medium-breakpoint"],largeBreakpoint:[2,"large-breakpoint"],labels:[16],hasFatalError:[32],fatalErrorMessage:[32],tableState:[32],editingRowId:[32],editingColumnId:[32],editingValues:[32],validationErrors:[32],hoveredRowId:[32],resizingColumnId:[32],resizeStartX:[32],resizeStartWidth:[32],draggingColumnId:[32],dragOverColumnId:[32],columnChooserOpen:[32],headerFilterOpenColumnId:[32],headerFilterSearchText:[32],virtualScrollTop:[32],exportDropdownOpen:[32],draggingRowId:[32],dragOverRowId:[32],dragPosition:[32],internalFocusedRowId:[32],internalFocusedCell:[32],formEditModalOpen:[32],formEditRowData:[32],formEditIsNew:[32],formEditValues:[32],formEditErrors:[32],searchPanelText:[32],searchMatches:[32],currentSearchMatchIndex:[32],errorNotificationVisible:[32],errorNotificationMessage:[32],errorNotificationType:[32],contextMenuOpen:[32],contextMenuPosition:[32],contextMenuContext:[32],contextMenuResolvedItems:[32],contextMenuSubmenuOpen:[32],responsiveState:[32]},void 0,{data:[{handleDataChange:0}],columns:[{handleDataChange:0}],sortState:[{handleSortStateChange:0}],filterState:[{handleFilterStateChange:0}],selectedRowIds:[{handleSelectedRowIdsChange:0}],page:[{handlePaginationPropChange:0}],pageSize:[{handlePaginationPropChange:0}],expandedRowIds:[{handleExpandedRowIdsChange:0}],groupBy:[{handleGroupByChange:0}]}]),Kt=Gt,Wt=function(){"undefined"!=typeof customElements&&["bh-data-grid","bh-avatar","bh-badge-dot","bh-button","bh-button-icon","bh-checkbox","bh-close-button","bh-empty-state","bh-featured-icon","bh-label","bh-loader-spinner","bh-modal","bh-pagination","bh-radio-button","bh-select","bh-skeleton-loader","bh-tag","bh-toast","bh-tooltip"].forEach((t=>{switch(t){case"bh-data-grid":customElements.get(o(t))||customElements.define(o(t),Gt);break;case"bh-avatar":customElements.get(o(t))||c();break;case"bh-badge-dot":customElements.get(o(t))||h();break;case"bh-button":customElements.get(o(t))||u();break;case"bh-button-icon":customElements.get(o(t))||g();break;case"bh-checkbox":customElements.get(o(t))||p();break;case"bh-close-button":customElements.get(o(t))||b();break;case"bh-empty-state":customElements.get(o(t))||m();break;case"bh-featured-icon":customElements.get(o(t))||v();break;case"bh-label":customElements.get(o(t))||f();break;case"bh-loader-spinner":customElements.get(o(t))||w();break;case"bh-modal":customElements.get(o(t))||C();break;case"bh-pagination":customElements.get(o(t))||k();break;case"bh-radio-button":customElements.get(o(t))||z();break;case"bh-select":customElements.get(o(t))||S();break;case"bh-skeleton-loader":customElements.get(o(t))||I();break;case"bh-tag":customElements.get(o(t))||R();break;case"bh-toast":customElements.get(o(t))||E();break;case"bh-tooltip":customElements.get(o(t))||D()}}))};export{Kt as BhDataGrid,Wt as defineCustomElement}
11
+ */function G(t,e){return"function"==typeof t?t(e):t}function K(t,e){return r=>{e.setState((e=>({...e,[t]:G(r,e[t])})))}}function $(t){return t instanceof Function}function W(t,e){const r=[],a=t=>{t.forEach((t=>{r.push(t);const i=e(t);null!=i&&i.length&&a(i)}))};return a(t),r}function U(t,e,r){let a,i=[];return o=>{let n;r.key&&r.debug&&(n=Date.now());const l=t(o);if(l.length===i.length&&!l.some(((t,e)=>i[e]!==t)))return a;let s;if(i=l,r.key&&r.debug&&(s=Date.now()),a=e(...l),null==r||null==r.onChange||r.onChange(a),r.key&&r.debug&&null!=r&&r.debug()){const t=Math.round(100*(Date.now()-n))/100,e=Math.round(100*(Date.now()-s))/100,a=e/16,i=(t,e)=>{for(t+="";t.length<e;)t=" "+t;return t};console.info(`%c⏱ ${i(e,5)} /${i(t,5)} ms`,`\n font-size: .6rem;\n font-weight: bold;\n color: hsl(${Math.max(0,Math.min(120-120*a,120))}deg 100% 31%);`,null==r?void 0:r.key)}return a}}function J(t,e,r,a){return{debug:()=>{var r;return null!=(r=null==t?void 0:t.debugAll)?r:t[e]},key:!1,onChange:a}}const X="debugHeaders";function Y(t,e,r){var a;let i={id:null!=(a=r.id)?a:e.id,column:e,index:r.index,isPlaceholder:!!r.isPlaceholder,placeholderId:r.placeholderId,depth:r.depth,subHeaders:[],colSpan:0,rowSpan:0,headerGroup:null,getLeafHeaders:()=>{const t=[],e=r=>{r.subHeaders&&r.subHeaders.length&&r.subHeaders.map(e),t.push(r)};return e(i),t},getContext:()=>({table:t,header:i,column:e})};return t._features.forEach((e=>{null==e.createHeader||e.createHeader(i,t)})),i}const Q={createTable:t=>{t.getHeaderGroups=U((()=>[t.getAllColumns(),t.getVisibleLeafColumns(),t.getState().columnPinning.left,t.getState().columnPinning.right]),((e,r,a,i)=>{var o,n;const l=null!=(o=null==a?void 0:a.map((t=>r.find((e=>e.id===t)))).filter(Boolean))?o:[],s=null!=(n=null==i?void 0:i.map((t=>r.find((e=>e.id===t)))).filter(Boolean))?n:[];return Z(e,[...l,...r.filter((t=>!(null!=a&&a.includes(t.id)||null!=i&&i.includes(t.id)))),...s],t)}),J(t.options,X)),t.getCenterHeaderGroups=U((()=>[t.getAllColumns(),t.getVisibleLeafColumns(),t.getState().columnPinning.left,t.getState().columnPinning.right]),((e,r,a,i)=>Z(e,r=r.filter((t=>!(null!=a&&a.includes(t.id)||null!=i&&i.includes(t.id)))),t,"center")),J(t.options,X)),t.getLeftHeaderGroups=U((()=>[t.getAllColumns(),t.getVisibleLeafColumns(),t.getState().columnPinning.left]),((e,r,a)=>{var i;return Z(e,null!=(i=null==a?void 0:a.map((t=>r.find((e=>e.id===t)))).filter(Boolean))?i:[],t,"left")}),J(t.options,X)),t.getRightHeaderGroups=U((()=>[t.getAllColumns(),t.getVisibleLeafColumns(),t.getState().columnPinning.right]),((e,r,a)=>{var i;return Z(e,null!=(i=null==a?void 0:a.map((t=>r.find((e=>e.id===t)))).filter(Boolean))?i:[],t,"right")}),J(t.options,X)),t.getFooterGroups=U((()=>[t.getHeaderGroups()]),(t=>[...t].reverse()),J(t.options,X)),t.getLeftFooterGroups=U((()=>[t.getLeftHeaderGroups()]),(t=>[...t].reverse()),J(t.options,X)),t.getCenterFooterGroups=U((()=>[t.getCenterHeaderGroups()]),(t=>[...t].reverse()),J(t.options,X)),t.getRightFooterGroups=U((()=>[t.getRightHeaderGroups()]),(t=>[...t].reverse()),J(t.options,X)),t.getFlatHeaders=U((()=>[t.getHeaderGroups()]),(t=>t.map((t=>t.headers)).flat()),J(t.options,X)),t.getLeftFlatHeaders=U((()=>[t.getLeftHeaderGroups()]),(t=>t.map((t=>t.headers)).flat()),J(t.options,X)),t.getCenterFlatHeaders=U((()=>[t.getCenterHeaderGroups()]),(t=>t.map((t=>t.headers)).flat()),J(t.options,X)),t.getRightFlatHeaders=U((()=>[t.getRightHeaderGroups()]),(t=>t.map((t=>t.headers)).flat()),J(t.options,X)),t.getCenterLeafHeaders=U((()=>[t.getCenterFlatHeaders()]),(t=>t.filter((t=>{var e;return!(null!=(e=t.subHeaders)&&e.length)}))),J(t.options,X)),t.getLeftLeafHeaders=U((()=>[t.getLeftFlatHeaders()]),(t=>t.filter((t=>{var e;return!(null!=(e=t.subHeaders)&&e.length)}))),J(t.options,X)),t.getRightLeafHeaders=U((()=>[t.getRightFlatHeaders()]),(t=>t.filter((t=>{var e;return!(null!=(e=t.subHeaders)&&e.length)}))),J(t.options,X)),t.getLeafHeaders=U((()=>[t.getLeftHeaderGroups(),t.getCenterHeaderGroups(),t.getRightHeaderGroups()]),((t,e,r)=>{var a,i,o,n,l,s;return[...null!=(a=null==(i=t[0])?void 0:i.headers)?a:[],...null!=(o=null==(n=e[0])?void 0:n.headers)?o:[],...null!=(l=null==(s=r[0])?void 0:s.headers)?l:[]].map((t=>t.getLeafHeaders())).flat()}),J(t.options,X))}};function Z(t,e,r,a){var i,o;let n=0;const l=function(t,e){void 0===e&&(e=1),n=Math.max(n,e),t.filter((t=>t.getIsVisible())).forEach((t=>{var r;null!=(r=t.columns)&&r.length&&l(t.columns,e+1)}),0)};l(t);let s=[];const d=(t,e)=>{const i={depth:e,id:[a,""+e].filter(Boolean).join("_"),headers:[]},o=[];t.forEach((t=>{const n=[...o].reverse()[0];let l,s=!1;if(t.column.depth===i.depth&&t.column.parent?l=t.column.parent:(l=t.column,s=!0),n&&(null==n?void 0:n.column)===l)n.subHeaders.push(t);else{const i=Y(r,l,{id:[a,e,l.id,null==t?void 0:t.id].filter(Boolean).join("_"),isPlaceholder:s,placeholderId:s?""+o.filter((t=>t.column===l)).length:void 0,depth:e,index:o.length});i.subHeaders.push(t),o.push(i)}i.headers.push(t),t.headerGroup=i})),s.push(i),e>0&&d(o,e-1)},c=e.map(((t,e)=>Y(r,t,{depth:n,index:e})));d(c,n-1),s.reverse();const h=t=>t.filter((t=>t.column.getIsVisible())).map((t=>{let e=0,r=0,a=[0];return t.subHeaders&&t.subHeaders.length?(a=[],h(t.subHeaders).forEach((t=>{let{colSpan:r,rowSpan:i}=t;e+=r,a.push(i)}))):e=1,r+=Math.min(...a),t.colSpan=e,t.rowSpan=r,{colSpan:e,rowSpan:r}}));return h(null!=(i=null==(o=s[0])?void 0:o.headers)?i:[]),s}const tt=(t,e,r,a,i,o,n)=>{let l={id:e,index:a,original:r,depth:i,parentId:n,_valuesCache:{},_uniqueValuesCache:{},getValue:e=>{if(l._valuesCache.hasOwnProperty(e))return l._valuesCache[e];const r=t.getColumn(e);return null!=r&&r.accessorFn?(l._valuesCache[e]=r.accessorFn(l.original,a),l._valuesCache[e]):void 0},getUniqueValues:e=>{if(l._uniqueValuesCache.hasOwnProperty(e))return l._uniqueValuesCache[e];const r=t.getColumn(e);return null!=r&&r.accessorFn?r.columnDef.getUniqueValues?(l._uniqueValuesCache[e]=r.columnDef.getUniqueValues(l.original,a),l._uniqueValuesCache[e]):(l._uniqueValuesCache[e]=[l.getValue(e)],l._uniqueValuesCache[e]):void 0},renderValue:e=>{var r;return null!=(r=l.getValue(e))?r:t.options.renderFallbackValue},subRows:null!=o?o:[],getLeafRows:()=>W(l.subRows,(t=>t.subRows)),getParentRow:()=>l.parentId?t.getRow(l.parentId,!0):void 0,getParentRows:()=>{let t=[],e=l;for(;;){const r=e.getParentRow();if(!r)break;t.push(r),e=r}return t.reverse()},getAllCells:U((()=>[t.getAllLeafColumns()]),(e=>e.map((e=>function(t,e,r,a){const i={id:`${e.id}_${r.id}`,row:e,column:r,getValue:()=>e.getValue(a),renderValue:()=>{var e;return null!=(e=i.getValue())?e:t.options.renderFallbackValue},getContext:U((()=>[t,r,e,i]),((t,e,r,a)=>({table:t,column:e,row:r,cell:a,getValue:a.getValue,renderValue:a.renderValue})),J(t.options,"debugCells"))};return t._features.forEach((a=>{null==a.createCell||a.createCell(i,r,e,t)}),{}),i}(t,l,e,e.id)))),J(t.options,"debugRows")),_getAllCellsByColumnId:U((()=>[l.getAllCells()]),(t=>t.reduce(((t,e)=>(t[e.column.id]=e,t)),{})),J(t.options,"debugRows"))};for(let e=0;e<t._features.length;e++){const r=t._features[e];null==r||null==r.createRow||r.createRow(l,t)}return l},et={createColumn:(t,e)=>{t._getFacetedRowModel=e.options.getFacetedRowModel&&e.options.getFacetedRowModel(e,t.id),t.getFacetedRowModel=()=>t._getFacetedRowModel?t._getFacetedRowModel():e.getPreFilteredRowModel(),t._getFacetedUniqueValues=e.options.getFacetedUniqueValues&&e.options.getFacetedUniqueValues(e,t.id),t.getFacetedUniqueValues=()=>t._getFacetedUniqueValues?t._getFacetedUniqueValues():new Map,t._getFacetedMinMaxValues=e.options.getFacetedMinMaxValues&&e.options.getFacetedMinMaxValues(e,t.id),t.getFacetedMinMaxValues=()=>{if(t._getFacetedMinMaxValues)return t._getFacetedMinMaxValues()}}},rt=(t,e,r)=>{var a,i;const o=null==r||null==(a=""+r)?void 0:a.toLowerCase();return!!(null==(i=t.getValue(e))||null==(i=""+i)||null==(i=i.toLowerCase())?void 0:i.includes(o))};rt.autoRemove=t=>ut(t);const at=(t,e,r)=>{var a;return!!(null==(a=t.getValue(e))||null==(a=""+a)?void 0:a.includes(r))};at.autoRemove=t=>ut(t);const it=(t,e,r)=>{var a;return(null==(a=t.getValue(e))||null==(a=""+a)?void 0:a.toLowerCase())===(null==r?void 0:r.toLowerCase())};it.autoRemove=t=>ut(t);const ot=(t,e,r)=>{var a;return null==(a=t.getValue(e))?void 0:a.includes(r)};ot.autoRemove=t=>ut(t);const nt=(t,e,r)=>!r.some((r=>{var a;return!(null!=(a=t.getValue(e))&&a.includes(r))}));nt.autoRemove=t=>ut(t)||!(null!=t&&t.length);const lt=(t,e,r)=>r.some((r=>{var a;return null==(a=t.getValue(e))?void 0:a.includes(r)}));lt.autoRemove=t=>ut(t)||!(null!=t&&t.length);const st=(t,e,r)=>t.getValue(e)===r;st.autoRemove=t=>ut(t);const dt=(t,e,r)=>t.getValue(e)==r;dt.autoRemove=t=>ut(t);const ct=(t,e,r)=>{let[a,i]=r;const o=t.getValue(e);return o>=a&&o<=i};ct.resolveFilterValue=t=>{let[e,r]=t,a="number"!=typeof e?parseFloat(e):e,i="number"!=typeof r?parseFloat(r):r,o=null===e||Number.isNaN(a)?-1/0:a,n=null===r||Number.isNaN(i)?1/0:i;if(o>n){const t=o;o=n,n=t}return[o,n]},ct.autoRemove=t=>ut(t)||ut(t[0])&&ut(t[1]);const ht={includesString:rt,includesStringSensitive:at,equalsString:it,arrIncludes:ot,arrIncludesAll:nt,arrIncludesSome:lt,equals:st,weakEquals:dt,inNumberRange:ct};function ut(t){return null==t||""===t}function gt(t,e,r){return!(!t||!t.autoRemove)&&t.autoRemove(e,r)||void 0===e||"string"==typeof e&&!e}const pt={sum:(t,e,r)=>r.reduce(((e,r)=>{const a=r.getValue(t);return e+("number"==typeof a?a:0)}),0),min:(t,e,r)=>{let a;return r.forEach((e=>{const r=e.getValue(t);null!=r&&(a>r||void 0===a&&r>=r)&&(a=r)})),a},max:(t,e,r)=>{let a;return r.forEach((e=>{const r=e.getValue(t);null!=r&&(a<r||void 0===a&&r>=r)&&(a=r)})),a},extent:(t,e,r)=>{let a,i;return r.forEach((e=>{const r=e.getValue(t);null!=r&&(void 0===a?r>=r&&(a=i=r):(a>r&&(a=r),i<r&&(i=r)))})),[a,i]},mean:(t,e)=>{let r=0,a=0;if(e.forEach((e=>{let i=e.getValue(t);null!=i&&(i=+i)>=i&&(++r,a+=i)})),r)return a/r},median:(t,e)=>{if(!e.length)return;const r=e.map((e=>e.getValue(t)));if(!function(t){return Array.isArray(t)&&t.every((t=>"number"==typeof t))}(r))return;if(1===r.length)return r[0];const a=Math.floor(r.length/2),i=r.sort(((t,e)=>t-e));return r.length%2!=0?i[a]:(i[a-1]+i[a])/2},unique:(t,e)=>Array.from(new Set(e.map((e=>e.getValue(t)))).values()),uniqueCount:(t,e)=>new Set(e.map((e=>e.getValue(t)))).size,count:(t,e)=>e.length},bt={size:150,minSize:20,maxSize:Number.MAX_SAFE_INTEGER},mt={getDefaultColumnDef:()=>bt,getInitialState:t=>({columnSizing:{},columnSizingInfo:{startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]},...t}),getDefaultOptions:t=>({columnResizeMode:"onEnd",columnResizeDirection:"ltr",onColumnSizingChange:K("columnSizing",t),onColumnSizingInfoChange:K("columnSizingInfo",t)}),createColumn:(t,e)=>{t.getSize=()=>{var r,a,i;const o=e.getState().columnSizing[t.id];return Math.min(Math.max(null!=(r=t.columnDef.minSize)?r:bt.minSize,null!=(a=null!=o?o:t.columnDef.size)?a:bt.size),null!=(i=t.columnDef.maxSize)?i:bt.maxSize)},t.getStart=U((t=>[t,wt(e,t),e.getState().columnSizing]),((e,r)=>r.slice(0,t.getIndex(e)).reduce(((t,e)=>t+e.getSize()),0)),J(e.options,"debugColumns")),t.getAfter=U((t=>[t,wt(e,t),e.getState().columnSizing]),((e,r)=>r.slice(t.getIndex(e)+1).reduce(((t,e)=>t+e.getSize()),0)),J(e.options,"debugColumns")),t.resetSize=()=>{e.setColumnSizing((e=>{let{[t.id]:r,...a}=e;return a}))},t.getCanResize=()=>{var r,a;return(null==(r=t.columnDef.enableResizing)||r)&&(null==(a=e.options.enableColumnResizing)||a)},t.getIsResizing=()=>e.getState().columnSizingInfo.isResizingColumn===t.id},createHeader:(t,e)=>{t.getSize=()=>{let e=0;const r=t=>{var a;t.subHeaders.length?t.subHeaders.forEach(r):e+=null!=(a=t.column.getSize())?a:0};return r(t),e},t.getStart=()=>{if(t.index>0){const e=t.headerGroup.headers[t.index-1];return e.getStart()+e.getSize()}return 0},t.getResizeHandler=r=>{const a=e.getColumn(t.column.id),i=null==a?void 0:a.getCanResize();return o=>{if(!a||!i)return;if(null==o.persist||o.persist(),ft(o)&&o.touches&&o.touches.length>1)return;const n=t.getSize(),l=t?t.getLeafHeaders().map((t=>[t.column.id,t.column.getSize()])):[[a.id,a.getSize()]],s=ft(o)?Math.round(o.touches[0].clientX):o.clientX,d={},c=(t,r)=>{"number"==typeof r&&(e.setColumnSizingInfo((t=>{var a,i;const o=(r-(null!=(a=null==t?void 0:t.startOffset)?a:0))*("rtl"===e.options.columnResizeDirection?-1:1),n=Math.max(o/(null!=(i=null==t?void 0:t.startSize)?i:0),-.999999);return t.columnSizingStart.forEach((t=>{let[e,r]=t;d[e]=Math.round(100*Math.max(r+r*n,0))/100})),{...t,deltaOffset:o,deltaPercentage:n}})),"onChange"!==e.options.columnResizeMode&&"end"!==t||e.setColumnSizing((t=>({...t,...d}))))},h=t=>c("move",t),u=t=>{c("end",t),e.setColumnSizingInfo((t=>({...t,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]})))},g=function(t){return t||("undefined"!=typeof document?document:null)}(r),p={moveHandler:t=>h(t.clientX),upHandler:t=>{null==g||g.removeEventListener("mousemove",p.moveHandler),null==g||g.removeEventListener("mouseup",p.upHandler),u(t.clientX)}},b={moveHandler:t=>(t.cancelable&&(t.preventDefault(),t.stopPropagation()),h(t.touches[0].clientX),!1),upHandler:t=>{var e;null==g||g.removeEventListener("touchmove",b.moveHandler),null==g||g.removeEventListener("touchend",b.upHandler),t.cancelable&&(t.preventDefault(),t.stopPropagation()),u(null==(e=t.touches[0])?void 0:e.clientX)}},m=!!function(){if("boolean"==typeof vt)return vt;let t=!1;try{const e=()=>{};window.addEventListener("test",e,{get passive(){return t=!0,!1}}),window.removeEventListener("test",e)}catch(e){t=!1}return vt=t,vt}()&&{passive:!1};ft(o)?(null==g||g.addEventListener("touchmove",b.moveHandler,m),null==g||g.addEventListener("touchend",b.upHandler,m)):(null==g||g.addEventListener("mousemove",p.moveHandler,m),null==g||g.addEventListener("mouseup",p.upHandler,m)),e.setColumnSizingInfo((t=>({...t,startOffset:s,startSize:n,deltaOffset:0,deltaPercentage:0,columnSizingStart:l,isResizingColumn:a.id})))}}},createTable:t=>{t.setColumnSizing=e=>null==t.options.onColumnSizingChange?void 0:t.options.onColumnSizingChange(e),t.setColumnSizingInfo=e=>null==t.options.onColumnSizingInfoChange?void 0:t.options.onColumnSizingInfoChange(e),t.resetColumnSizing=e=>{var r;t.setColumnSizing(e?{}:null!=(r=t.initialState.columnSizing)?r:{})},t.resetHeaderSizeInfo=e=>{var r;t.setColumnSizingInfo(e?{startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}:null!=(r=t.initialState.columnSizingInfo)?r:{startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]})},t.getTotalSize=()=>{var e,r;return null!=(e=null==(r=t.getHeaderGroups()[0])?void 0:r.headers.reduce(((t,e)=>t+e.getSize()),0))?e:0},t.getLeftTotalSize=()=>{var e,r;return null!=(e=null==(r=t.getLeftHeaderGroups()[0])?void 0:r.headers.reduce(((t,e)=>t+e.getSize()),0))?e:0},t.getCenterTotalSize=()=>{var e,r;return null!=(e=null==(r=t.getCenterHeaderGroups()[0])?void 0:r.headers.reduce(((t,e)=>t+e.getSize()),0))?e:0},t.getRightTotalSize=()=>{var e,r;return null!=(e=null==(r=t.getRightHeaderGroups()[0])?void 0:r.headers.reduce(((t,e)=>t+e.getSize()),0))?e:0}}};let vt=null;function ft(t){return"touchstart"===t.type}function wt(t,e){return e?"center"===e?t.getCenterVisibleLeafColumns():"left"===e?t.getLeftVisibleLeafColumns():t.getRightVisibleLeafColumns():t.getVisibleLeafColumns()}const xt={getInitialState:t=>({rowSelection:{},...t}),getDefaultOptions:t=>({onRowSelectionChange:K("rowSelection",t),enableRowSelection:!0,enableMultiRowSelection:!0,enableSubRowSelection:!0}),createTable:t=>{t.setRowSelection=e=>null==t.options.onRowSelectionChange?void 0:t.options.onRowSelectionChange(e),t.resetRowSelection=e=>{var r;return t.setRowSelection(e?{}:null!=(r=t.initialState.rowSelection)?r:{})},t.toggleAllRowsSelected=e=>{t.setRowSelection((r=>{e=void 0!==e?e:!t.getIsAllRowsSelected();const a={...r};return t.getPreGroupedRowModel().flatRows.forEach(e?t=>{t.getCanSelect()&&(a[t.id]=!0)}:t=>{delete a[t.id]}),a}))},t.toggleAllPageRowsSelected=e=>t.setRowSelection((r=>{const a=void 0!==e?e:!t.getIsAllPageRowsSelected(),i={...r};return t.getRowModel().rows.forEach((e=>{yt(i,e.id,a,!0,t)})),i})),t.getPreSelectedRowModel=()=>t.getCoreRowModel(),t.getSelectedRowModel=U((()=>[t.getState().rowSelection,t.getCoreRowModel()]),((e,r)=>Object.keys(e).length?Ct(t,r):{rows:[],flatRows:[],rowsById:{}}),J(t.options,"debugTable")),t.getFilteredSelectedRowModel=U((()=>[t.getState().rowSelection,t.getFilteredRowModel()]),((e,r)=>Object.keys(e).length?Ct(t,r):{rows:[],flatRows:[],rowsById:{}}),J(t.options,"debugTable")),t.getGroupedSelectedRowModel=U((()=>[t.getState().rowSelection,t.getSortedRowModel()]),((e,r)=>Object.keys(e).length?Ct(t,r):{rows:[],flatRows:[],rowsById:{}}),J(t.options,"debugTable")),t.getIsAllRowsSelected=()=>{const e=t.getFilteredRowModel().flatRows,{rowSelection:r}=t.getState();let a=!(!e.length||!Object.keys(r).length);return a&&e.some((t=>t.getCanSelect()&&!r[t.id]))&&(a=!1),a},t.getIsAllPageRowsSelected=()=>{const e=t.getPaginationRowModel().flatRows.filter((t=>t.getCanSelect())),{rowSelection:r}=t.getState();let a=!!e.length;return a&&e.some((t=>!r[t.id]))&&(a=!1),a},t.getIsSomeRowsSelected=()=>{var e;const r=Object.keys(null!=(e=t.getState().rowSelection)?e:{}).length;return r>0&&r<t.getFilteredRowModel().flatRows.length},t.getIsSomePageRowsSelected=()=>{const e=t.getPaginationRowModel().flatRows;return!t.getIsAllPageRowsSelected()&&e.filter((t=>t.getCanSelect())).some((t=>t.getIsSelected()||t.getIsSomeSelected()))},t.getToggleAllRowsSelectedHandler=()=>e=>{t.toggleAllRowsSelected(e.target.checked)},t.getToggleAllPageRowsSelectedHandler=()=>e=>{t.toggleAllPageRowsSelected(e.target.checked)}},createRow:(t,e)=>{t.toggleSelected=(r,a)=>{const i=t.getIsSelected();e.setRowSelection((o=>{var n;if(r=void 0!==r?r:!i,t.getCanSelect()&&i===r)return o;const l={...o};return yt(l,t.id,r,null==(n=null==a?void 0:a.selectChildren)||n,e),l}))},t.getIsSelected=()=>{const{rowSelection:r}=e.getState();return kt(t,r)},t.getIsSomeSelected=()=>{const{rowSelection:r}=e.getState();return"some"===zt(t,r)},t.getIsAllSubRowsSelected=()=>{const{rowSelection:r}=e.getState();return"all"===zt(t,r)},t.getCanSelect=()=>{var r;return"function"==typeof e.options.enableRowSelection?e.options.enableRowSelection(t):null==(r=e.options.enableRowSelection)||r},t.getCanSelectSubRows=()=>{var r;return"function"==typeof e.options.enableSubRowSelection?e.options.enableSubRowSelection(t):null==(r=e.options.enableSubRowSelection)||r},t.getCanMultiSelect=()=>{var r;return"function"==typeof e.options.enableMultiRowSelection?e.options.enableMultiRowSelection(t):null==(r=e.options.enableMultiRowSelection)||r},t.getToggleSelectedHandler=()=>{const e=t.getCanSelect();return r=>{var a;e&&t.toggleSelected(null==(a=r.target)?void 0:a.checked)}}}},yt=(t,e,r,a,i)=>{var o;const n=i.getRow(e,!0);r?(n.getCanMultiSelect()||Object.keys(t).forEach((e=>delete t[e])),n.getCanSelect()&&(t[e]=!0)):delete t[e],a&&null!=(o=n.subRows)&&o.length&&n.getCanSelectSubRows()&&n.subRows.forEach((e=>yt(t,e.id,r,a,i)))};function Ct(t,e){const r=t.getState().rowSelection,a=[],i={},o=function(t){return t.map((t=>{var e;const n=kt(t,r);if(n&&(a.push(t),i[t.id]=t),null!=(e=t.subRows)&&e.length&&(t={...t,subRows:o(t.subRows)}),n)return t})).filter(Boolean)};return{rows:o(e.rows),flatRows:a,rowsById:i}}function kt(t,e){var r;return null!=(r=e[t.id])&&r}function zt(t,e){var r;if(null==(r=t.subRows)||!r.length)return!1;let a=!0,i=!1;return t.subRows.forEach((t=>{if((!i||a)&&(t.getCanSelect()&&(kt(t,e)?i=!0:a=!1),t.subRows&&t.subRows.length)){const r=zt(t,e);"all"===r?i=!0:"some"===r?(i=!0,a=!1):a=!1}})),a?"all":!!i&&"some"}const St=/([0-9]+)/gm;function It(t,e){return t===e?0:t>e?1:-1}function Rt(t){return"number"==typeof t?isNaN(t)||t===1/0||t===-1/0?"":t+"":"string"==typeof t?t:""}function Dt(t,e){const r=t.split(St).filter(Boolean),a=e.split(St).filter(Boolean);for(;r.length&&a.length;){const t=r.shift(),e=a.shift(),i=parseInt(t,10),o=parseInt(e,10),n=[i,o].sort();if(isNaN(n[0])){if(t>e)return 1;if(e>t)return-1}else{if(isNaN(n[1]))return isNaN(i)?-1:1;if(i>o)return 1;if(o>i)return-1}}return r.length-a.length}const Et={alphanumeric:(t,e,r)=>Dt(Rt(t.getValue(r)).toLowerCase(),Rt(e.getValue(r)).toLowerCase()),alphanumericCaseSensitive:(t,e,r)=>Dt(Rt(t.getValue(r)),Rt(e.getValue(r))),text:(t,e,r)=>It(Rt(t.getValue(r)).toLowerCase(),Rt(e.getValue(r)).toLowerCase()),textCaseSensitive:(t,e,r)=>It(Rt(t.getValue(r)),Rt(e.getValue(r))),datetime:(t,e,r)=>{const a=t.getValue(r),i=e.getValue(r);return a>i?1:a<i?-1:0},basic:(t,e,r)=>It(t.getValue(r),e.getValue(r))},Ft=[Q,{getInitialState:t=>({columnVisibility:{},...t}),getDefaultOptions:t=>({onColumnVisibilityChange:K("columnVisibility",t)}),createColumn:(t,e)=>{t.toggleVisibility=r=>{t.getCanHide()&&e.setColumnVisibility((e=>({...e,[t.id]:null!=r?r:!t.getIsVisible()})))},t.getIsVisible=()=>{var r,a;const i=t.columns;return null==(r=i.length?i.some((t=>t.getIsVisible())):null==(a=e.getState().columnVisibility)?void 0:a[t.id])||r},t.getCanHide=()=>{var r,a;return(null==(r=t.columnDef.enableHiding)||r)&&(null==(a=e.options.enableHiding)||a)},t.getToggleVisibilityHandler=()=>e=>{null==t.toggleVisibility||t.toggleVisibility(e.target.checked)}},createRow:(t,e)=>{t._getAllVisibleCells=U((()=>[t.getAllCells(),e.getState().columnVisibility]),(t=>t.filter((t=>t.column.getIsVisible()))),J(e.options,"debugRows")),t.getVisibleCells=U((()=>[t.getLeftVisibleCells(),t.getCenterVisibleCells(),t.getRightVisibleCells()]),((t,e,r)=>[...t,...e,...r]),J(e.options,"debugRows"))},createTable:t=>{const e=(e,r)=>U((()=>[r(),r().filter((t=>t.getIsVisible())).map((t=>t.id)).join("_")]),(t=>t.filter((t=>null==t.getIsVisible?void 0:t.getIsVisible()))),J(t.options,"debugColumns"));t.getVisibleFlatColumns=e(0,(()=>t.getAllFlatColumns())),t.getVisibleLeafColumns=e(0,(()=>t.getAllLeafColumns())),t.getLeftVisibleLeafColumns=e(0,(()=>t.getLeftLeafColumns())),t.getRightVisibleLeafColumns=e(0,(()=>t.getRightLeafColumns())),t.getCenterVisibleLeafColumns=e(0,(()=>t.getCenterLeafColumns())),t.setColumnVisibility=e=>null==t.options.onColumnVisibilityChange?void 0:t.options.onColumnVisibilityChange(e),t.resetColumnVisibility=e=>{var r;t.setColumnVisibility(e?{}:null!=(r=t.initialState.columnVisibility)?r:{})},t.toggleAllColumnsVisible=e=>{var r;e=null!=(r=e)?r:!t.getIsAllColumnsVisible(),t.setColumnVisibility(t.getAllLeafColumns().reduce(((t,r)=>({...t,[r.id]:e||!(null!=r.getCanHide&&r.getCanHide())})),{}))},t.getIsAllColumnsVisible=()=>!t.getAllLeafColumns().some((t=>!(null!=t.getIsVisible&&t.getIsVisible()))),t.getIsSomeColumnsVisible=()=>t.getAllLeafColumns().some((t=>null==t.getIsVisible?void 0:t.getIsVisible())),t.getToggleAllColumnsVisibilityHandler=()=>e=>{var r;t.toggleAllColumnsVisible(null==(r=e.target)?void 0:r.checked)}}},{getInitialState:t=>({columnOrder:[],...t}),getDefaultOptions:t=>({onColumnOrderChange:K("columnOrder",t)}),createColumn:(t,e)=>{t.getIndex=U((t=>[wt(e,t)]),(e=>e.findIndex((e=>e.id===t.id))),J(e.options,"debugColumns")),t.getIsFirstColumn=r=>{var a;return(null==(a=wt(e,r)[0])?void 0:a.id)===t.id},t.getIsLastColumn=r=>{var a;const i=wt(e,r);return(null==(a=i[i.length-1])?void 0:a.id)===t.id}},createTable:t=>{t.setColumnOrder=e=>null==t.options.onColumnOrderChange?void 0:t.options.onColumnOrderChange(e),t.resetColumnOrder=e=>{var r;t.setColumnOrder(e?[]:null!=(r=t.initialState.columnOrder)?r:[])},t._getOrderColumnsFn=U((()=>[t.getState().columnOrder,t.getState().grouping,t.options.groupedColumnMode]),((t,e,r)=>a=>{let i=[];if(null!=t&&t.length){const e=[...t],r=[...a];for(;r.length&&e.length;){const t=e.shift(),a=r.findIndex((e=>e.id===t));a>-1&&i.push(r.splice(a,1)[0])}i=[...i,...r]}else i=a;return function(t,e,r){if(null==e||!e.length||!r)return t;const a=t.filter((t=>!e.includes(t.id)));return"remove"===r?a:[...e.map((e=>t.find((t=>t.id===e)))).filter(Boolean),...a]}(i,e,r)}),J(t.options,"debugTable"))}},{getInitialState:t=>({columnPinning:{left:[],right:[]},...t}),getDefaultOptions:t=>({onColumnPinningChange:K("columnPinning",t)}),createColumn:(t,e)=>{t.pin=r=>{const a=t.getLeafColumns().map((t=>t.id)).filter(Boolean);e.setColumnPinning((t=>{var e,i,o,n,l,s;return"right"===r?{left:(null!=(o=null==t?void 0:t.left)?o:[]).filter((t=>!(null!=a&&a.includes(t)))),right:[...(null!=(n=null==t?void 0:t.right)?n:[]).filter((t=>!(null!=a&&a.includes(t)))),...a]}:"left"===r?{left:[...(null!=(l=null==t?void 0:t.left)?l:[]).filter((t=>!(null!=a&&a.includes(t)))),...a],right:(null!=(s=null==t?void 0:t.right)?s:[]).filter((t=>!(null!=a&&a.includes(t))))}:{left:(null!=(e=null==t?void 0:t.left)?e:[]).filter((t=>!(null!=a&&a.includes(t)))),right:(null!=(i=null==t?void 0:t.right)?i:[]).filter((t=>!(null!=a&&a.includes(t))))}}))},t.getCanPin=()=>t.getLeafColumns().some((t=>{var r,a,i;return(null==(r=t.columnDef.enablePinning)||r)&&(null==(a=null!=(i=e.options.enableColumnPinning)?i:e.options.enablePinning)||a)})),t.getIsPinned=()=>{const r=t.getLeafColumns().map((t=>t.id)),{left:a,right:i}=e.getState().columnPinning,o=r.some((t=>null==a?void 0:a.includes(t))),n=r.some((t=>null==i?void 0:i.includes(t)));return o?"left":!!n&&"right"},t.getPinnedIndex=()=>{var r,a;const i=t.getIsPinned();return i?null!=(r=null==(a=e.getState().columnPinning)||null==(a=a[i])?void 0:a.indexOf(t.id))?r:-1:0}},createRow:(t,e)=>{t.getCenterVisibleCells=U((()=>[t._getAllVisibleCells(),e.getState().columnPinning.left,e.getState().columnPinning.right]),((t,e,r)=>{const a=[...null!=e?e:[],...null!=r?r:[]];return t.filter((t=>!a.includes(t.column.id)))}),J(e.options,"debugRows")),t.getLeftVisibleCells=U((()=>[t._getAllVisibleCells(),e.getState().columnPinning.left]),((t,e)=>(null!=e?e:[]).map((e=>t.find((t=>t.column.id===e)))).filter(Boolean).map((t=>({...t,position:"left"})))),J(e.options,"debugRows")),t.getRightVisibleCells=U((()=>[t._getAllVisibleCells(),e.getState().columnPinning.right]),((t,e)=>(null!=e?e:[]).map((e=>t.find((t=>t.column.id===e)))).filter(Boolean).map((t=>({...t,position:"right"})))),J(e.options,"debugRows"))},createTable:t=>{t.setColumnPinning=e=>null==t.options.onColumnPinningChange?void 0:t.options.onColumnPinningChange(e),t.resetColumnPinning=e=>{var r,a;return t.setColumnPinning(e?{left:[],right:[]}:null!=(r=null==(a=t.initialState)?void 0:a.columnPinning)?r:{left:[],right:[]})},t.getIsSomeColumnsPinned=e=>{var r;const a=t.getState().columnPinning;var i,o;return e?!!(null==(r=a[e])?void 0:r.length):!(!(null==(i=a.left)?void 0:i.length)&&!(null==(o=a.right)?void 0:o.length))},t.getLeftLeafColumns=U((()=>[t.getAllLeafColumns(),t.getState().columnPinning.left]),((t,e)=>(null!=e?e:[]).map((e=>t.find((t=>t.id===e)))).filter(Boolean)),J(t.options,"debugColumns")),t.getRightLeafColumns=U((()=>[t.getAllLeafColumns(),t.getState().columnPinning.right]),((t,e)=>(null!=e?e:[]).map((e=>t.find((t=>t.id===e)))).filter(Boolean)),J(t.options,"debugColumns")),t.getCenterLeafColumns=U((()=>[t.getAllLeafColumns(),t.getState().columnPinning.left,t.getState().columnPinning.right]),((t,e,r)=>{const a=[...null!=e?e:[],...null!=r?r:[]];return t.filter((t=>!a.includes(t.id)))}),J(t.options,"debugColumns"))}},et,{getDefaultColumnDef:()=>({filterFn:"auto"}),getInitialState:t=>({columnFilters:[],...t}),getDefaultOptions:t=>({onColumnFiltersChange:K("columnFilters",t),filterFromLeafRows:!1,maxLeafRowFilterDepth:100}),createColumn:(t,e)=>{t.getAutoFilterFn=()=>{const r=e.getCoreRowModel().flatRows[0],a=null==r?void 0:r.getValue(t.id);return"string"==typeof a?ht.includesString:"number"==typeof a?ht.inNumberRange:"boolean"==typeof a||null!==a&&"object"==typeof a?ht.equals:Array.isArray(a)?ht.arrIncludes:ht.weakEquals},t.getFilterFn=()=>{var r,a;return $(t.columnDef.filterFn)?t.columnDef.filterFn:"auto"===t.columnDef.filterFn?t.getAutoFilterFn():null!=(r=null==(a=e.options.filterFns)?void 0:a[t.columnDef.filterFn])?r:ht[t.columnDef.filterFn]},t.getCanFilter=()=>{var r,a,i;return(null==(r=t.columnDef.enableColumnFilter)||r)&&(null==(a=e.options.enableColumnFilters)||a)&&(null==(i=e.options.enableFilters)||i)&&!!t.accessorFn},t.getIsFiltered=()=>t.getFilterIndex()>-1,t.getFilterValue=()=>{var r;return null==(r=e.getState().columnFilters)||null==(r=r.find((e=>e.id===t.id)))?void 0:r.value},t.getFilterIndex=()=>{var r,a;return null!=(r=null==(a=e.getState().columnFilters)?void 0:a.findIndex((e=>e.id===t.id)))?r:-1},t.setFilterValue=r=>{e.setColumnFilters((e=>{const a=t.getFilterFn(),i=null==e?void 0:e.find((e=>e.id===t.id)),o=G(r,i?i.value:void 0);var n;if(gt(a,o,t))return null!=(n=null==e?void 0:e.filter((e=>e.id!==t.id)))?n:[];const l={id:t.id,value:o};var s;return i?null!=(s=null==e?void 0:e.map((e=>e.id===t.id?l:e)))?s:[]:null!=e&&e.length?[...e,l]:[l]}))}},createRow:t=>{t.columnFilters={},t.columnFiltersMeta={}},createTable:t=>{t.setColumnFilters=e=>{const r=t.getAllLeafColumns();null==t.options.onColumnFiltersChange||t.options.onColumnFiltersChange((t=>{var a;return null==(a=G(e,t))?void 0:a.filter((t=>{const e=r.find((e=>e.id===t.id));return!e||!gt(e.getFilterFn(),t.value,e)}))}))},t.resetColumnFilters=e=>{var r,a;t.setColumnFilters(e?[]:null!=(r=null==(a=t.initialState)?void 0:a.columnFilters)?r:[])},t.getPreFilteredRowModel=()=>t.getCoreRowModel(),t.getFilteredRowModel=()=>(!t._getFilteredRowModel&&t.options.getFilteredRowModel&&(t._getFilteredRowModel=t.options.getFilteredRowModel(t)),t.options.manualFiltering||!t._getFilteredRowModel?t.getPreFilteredRowModel():t._getFilteredRowModel())}},{createTable:t=>{t._getGlobalFacetedRowModel=t.options.getFacetedRowModel&&t.options.getFacetedRowModel(t,"__global__"),t.getGlobalFacetedRowModel=()=>t.options.manualFiltering||!t._getGlobalFacetedRowModel?t.getPreFilteredRowModel():t._getGlobalFacetedRowModel(),t._getGlobalFacetedUniqueValues=t.options.getFacetedUniqueValues&&t.options.getFacetedUniqueValues(t,"__global__"),t.getGlobalFacetedUniqueValues=()=>t._getGlobalFacetedUniqueValues?t._getGlobalFacetedUniqueValues():new Map,t._getGlobalFacetedMinMaxValues=t.options.getFacetedMinMaxValues&&t.options.getFacetedMinMaxValues(t,"__global__"),t.getGlobalFacetedMinMaxValues=()=>{if(t._getGlobalFacetedMinMaxValues)return t._getGlobalFacetedMinMaxValues()}}},{getInitialState:t=>({globalFilter:void 0,...t}),getDefaultOptions:t=>({onGlobalFilterChange:K("globalFilter",t),globalFilterFn:"auto",getColumnCanGlobalFilter:e=>{var r;const a=null==(r=t.getCoreRowModel().flatRows[0])||null==(r=r._getAllCellsByColumnId()[e.id])?void 0:r.getValue();return"string"==typeof a||"number"==typeof a}}),createColumn:(t,e)=>{t.getCanGlobalFilter=()=>{var r,a,i,o;return(null==(r=t.columnDef.enableGlobalFilter)||r)&&(null==(a=e.options.enableGlobalFilter)||a)&&(null==(i=e.options.enableFilters)||i)&&(null==(o=null==e.options.getColumnCanGlobalFilter?void 0:e.options.getColumnCanGlobalFilter(t))||o)&&!!t.accessorFn}},createTable:t=>{t.getGlobalAutoFilterFn=()=>ht.includesString,t.getGlobalFilterFn=()=>{var e,r;const{globalFilterFn:a}=t.options;return $(a)?a:"auto"===a?t.getGlobalAutoFilterFn():null!=(e=null==(r=t.options.filterFns)?void 0:r[a])?e:ht[a]},t.setGlobalFilter=e=>{null==t.options.onGlobalFilterChange||t.options.onGlobalFilterChange(e)},t.resetGlobalFilter=e=>{t.setGlobalFilter(e?void 0:t.initialState.globalFilter)}}},{getInitialState:t=>({sorting:[],...t}),getDefaultColumnDef:()=>({sortingFn:"auto",sortUndefined:1}),getDefaultOptions:t=>({onSortingChange:K("sorting",t),isMultiSortEvent:t=>t.shiftKey}),createColumn:(t,e)=>{t.getAutoSortingFn=()=>{const r=e.getFilteredRowModel().flatRows.slice(10);let a=!1;for(const e of r){const r=null==e?void 0:e.getValue(t.id);if("[object Date]"===Object.prototype.toString.call(r))return Et.datetime;if("string"==typeof r&&(a=!0,r.split(St).length>1))return Et.alphanumeric}return a?Et.text:Et.basic},t.getAutoSortDir=()=>{const r=e.getFilteredRowModel().flatRows[0];return"string"==typeof(null==r?void 0:r.getValue(t.id))?"asc":"desc"},t.getSortingFn=()=>{var r,a;if(!t)throw Error();return $(t.columnDef.sortingFn)?t.columnDef.sortingFn:"auto"===t.columnDef.sortingFn?t.getAutoSortingFn():null!=(r=null==(a=e.options.sortingFns)?void 0:a[t.columnDef.sortingFn])?r:Et[t.columnDef.sortingFn]},t.toggleSorting=(r,a)=>{const i=t.getNextSortingOrder(),o=null!=r;e.setSorting((n=>{const l=null==n?void 0:n.find((e=>e.id===t.id)),s=null==n?void 0:n.findIndex((e=>e.id===t.id));let d,c=[],h=o?r:"desc"===i;var u;return d=null!=n&&n.length&&t.getCanMultiSort()&&a?l?"toggle":"add":null!=n&&n.length&&s!==n.length-1?"replace":l?"toggle":"replace","toggle"===d&&(o||i||(d="remove")),"add"===d?(c=[...n,{id:t.id,desc:h}],c.splice(0,c.length-(null!=(u=e.options.maxMultiSortColCount)?u:Number.MAX_SAFE_INTEGER))):c="toggle"===d?n.map((e=>e.id===t.id?{...e,desc:h}:e)):"remove"===d?n.filter((e=>e.id!==t.id)):[{id:t.id,desc:h}],c}))},t.getFirstSortDir=()=>{var r,a;return(null!=(r=null!=(a=t.columnDef.sortDescFirst)?a:e.options.sortDescFirst)?r:"desc"===t.getAutoSortDir())?"desc":"asc"},t.getNextSortingOrder=r=>{var a,i;const o=t.getFirstSortDir(),n=t.getIsSorted();return n?!!(n===o||null!=(a=e.options.enableSortingRemoval)&&!a||r&&null!=(i=e.options.enableMultiRemove)&&!i)&&("desc"===n?"asc":"desc"):o},t.getCanSort=()=>{var r,a;return(null==(r=t.columnDef.enableSorting)||r)&&(null==(a=e.options.enableSorting)||a)&&!!t.accessorFn},t.getCanMultiSort=()=>{var r,a;return null!=(r=null!=(a=t.columnDef.enableMultiSort)?a:e.options.enableMultiSort)?r:!!t.accessorFn},t.getIsSorted=()=>{var r;const a=null==(r=e.getState().sorting)?void 0:r.find((e=>e.id===t.id));return!!a&&(a.desc?"desc":"asc")},t.getSortIndex=()=>{var r,a;return null!=(r=null==(a=e.getState().sorting)?void 0:a.findIndex((e=>e.id===t.id)))?r:-1},t.clearSorting=()=>{e.setSorting((e=>null!=e&&e.length?e.filter((e=>e.id!==t.id)):[]))},t.getToggleSortingHandler=()=>{const r=t.getCanSort();return a=>{r&&(null==a.persist||a.persist(),null==t.toggleSorting||t.toggleSorting(void 0,!!t.getCanMultiSort()&&(null==e.options.isMultiSortEvent?void 0:e.options.isMultiSortEvent(a))))}}},createTable:t=>{t.setSorting=e=>null==t.options.onSortingChange?void 0:t.options.onSortingChange(e),t.resetSorting=e=>{var r,a;t.setSorting(e?[]:null!=(r=null==(a=t.initialState)?void 0:a.sorting)?r:[])},t.getPreSortedRowModel=()=>t.getGroupedRowModel(),t.getSortedRowModel=()=>(!t._getSortedRowModel&&t.options.getSortedRowModel&&(t._getSortedRowModel=t.options.getSortedRowModel(t)),t.options.manualSorting||!t._getSortedRowModel?t.getPreSortedRowModel():t._getSortedRowModel())}},{getDefaultColumnDef:()=>({aggregatedCell:t=>{var e,r;return null!=(e=null==(r=t.getValue())||null==r.toString?void 0:""+r)?e:null},aggregationFn:"auto"}),getInitialState:t=>({grouping:[],...t}),getDefaultOptions:t=>({onGroupingChange:K("grouping",t),groupedColumnMode:"reorder"}),createColumn:(t,e)=>{t.toggleGrouping=()=>{e.setGrouping((e=>null!=e&&e.includes(t.id)?e.filter((e=>e!==t.id)):[...null!=e?e:[],t.id]))},t.getCanGroup=()=>{var r,a;return(null==(r=t.columnDef.enableGrouping)||r)&&(null==(a=e.options.enableGrouping)||a)&&(!!t.accessorFn||!!t.columnDef.getGroupingValue)},t.getIsGrouped=()=>{var r;return null==(r=e.getState().grouping)?void 0:r.includes(t.id)},t.getGroupedIndex=()=>{var r;return null==(r=e.getState().grouping)?void 0:r.indexOf(t.id)},t.getToggleGroupingHandler=()=>{const e=t.getCanGroup();return()=>{e&&t.toggleGrouping()}},t.getAutoAggregationFn=()=>{const r=e.getCoreRowModel().flatRows[0],a=null==r?void 0:r.getValue(t.id);return"number"==typeof a?pt.sum:"[object Date]"===Object.prototype.toString.call(a)?pt.extent:void 0},t.getAggregationFn=()=>{var r,a;if(!t)throw Error();return $(t.columnDef.aggregationFn)?t.columnDef.aggregationFn:"auto"===t.columnDef.aggregationFn?t.getAutoAggregationFn():null!=(r=null==(a=e.options.aggregationFns)?void 0:a[t.columnDef.aggregationFn])?r:pt[t.columnDef.aggregationFn]}},createTable:t=>{t.setGrouping=e=>null==t.options.onGroupingChange?void 0:t.options.onGroupingChange(e),t.resetGrouping=e=>{var r,a;t.setGrouping(e?[]:null!=(r=null==(a=t.initialState)?void 0:a.grouping)?r:[])},t.getPreGroupedRowModel=()=>t.getFilteredRowModel(),t.getGroupedRowModel=()=>(!t._getGroupedRowModel&&t.options.getGroupedRowModel&&(t._getGroupedRowModel=t.options.getGroupedRowModel(t)),t.options.manualGrouping||!t._getGroupedRowModel?t.getPreGroupedRowModel():t._getGroupedRowModel())},createRow:(t,e)=>{t.getIsGrouped=()=>!!t.groupingColumnId,t.getGroupingValue=r=>{if(t._groupingValuesCache.hasOwnProperty(r))return t._groupingValuesCache[r];const a=e.getColumn(r);return null!=a&&a.columnDef.getGroupingValue?(t._groupingValuesCache[r]=a.columnDef.getGroupingValue(t.original),t._groupingValuesCache[r]):t.getValue(r)},t._groupingValuesCache={}},createCell:(t,e,r)=>{t.getIsGrouped=()=>e.getIsGrouped()&&e.id===r.groupingColumnId,t.getIsPlaceholder=()=>!t.getIsGrouped()&&e.getIsGrouped(),t.getIsAggregated=()=>{var e;return!t.getIsGrouped()&&!t.getIsPlaceholder()&&!(null==(e=r.subRows)||!e.length)}}},{getInitialState:t=>({expanded:{},...t}),getDefaultOptions:t=>({onExpandedChange:K("expanded",t),paginateExpandedRows:!0}),createTable:t=>{let e=!1,r=!1;t._autoResetExpanded=()=>{var a,i;if(e){if(null!=(a=null!=(i=t.options.autoResetAll)?i:t.options.autoResetExpanded)?a:!t.options.manualExpanding){if(r)return;r=!0,t._queue((()=>{t.resetExpanded(),r=!1}))}}else t._queue((()=>{e=!0}))},t.setExpanded=e=>null==t.options.onExpandedChange?void 0:t.options.onExpandedChange(e),t.toggleAllRowsExpanded=e=>{(null!=e?e:!t.getIsAllRowsExpanded())?t.setExpanded(!0):t.setExpanded({})},t.resetExpanded=e=>{var r,a;t.setExpanded(e?{}:null!=(r=null==(a=t.initialState)?void 0:a.expanded)?r:{})},t.getCanSomeRowsExpand=()=>t.getPrePaginationRowModel().flatRows.some((t=>t.getCanExpand())),t.getToggleAllRowsExpandedHandler=()=>e=>{null==e.persist||e.persist(),t.toggleAllRowsExpanded()},t.getIsSomeRowsExpanded=()=>{const e=t.getState().expanded;return!0===e||Object.values(e).some(Boolean)},t.getIsAllRowsExpanded=()=>{const e=t.getState().expanded;return"boolean"==typeof e?!0===e:!!Object.keys(e).length&&!t.getRowModel().flatRows.some((t=>!t.getIsExpanded()))},t.getExpandedDepth=()=>{let e=0;return(!0===t.getState().expanded?Object.keys(t.getRowModel().rowsById):Object.keys(t.getState().expanded)).forEach((t=>{const r=t.split(".");e=Math.max(e,r.length)})),e},t.getPreExpandedRowModel=()=>t.getSortedRowModel(),t.getExpandedRowModel=()=>(!t._getExpandedRowModel&&t.options.getExpandedRowModel&&(t._getExpandedRowModel=t.options.getExpandedRowModel(t)),t.options.manualExpanding||!t._getExpandedRowModel?t.getPreExpandedRowModel():t._getExpandedRowModel())},createRow:(t,e)=>{t.toggleExpanded=r=>{e.setExpanded((a=>{var i;const o=!0===a||!(null==a||!a[t.id]);let n={};if(!0===a?Object.keys(e.getRowModel().rowsById).forEach((t=>{n[t]=!0})):n=a,r=null!=(i=r)?i:!o,!o&&r)return{...n,[t.id]:!0};if(o&&!r){const{[t.id]:e,...r}=n;return r}return a}))},t.getIsExpanded=()=>{var r;const a=e.getState().expanded;return!!(null!=(r=null==e.options.getIsRowExpanded?void 0:e.options.getIsRowExpanded(t))?r:!0===a||(null==a?void 0:a[t.id]))},t.getCanExpand=()=>{var r,a,i;return null!=(r=null==e.options.getRowCanExpand?void 0:e.options.getRowCanExpand(t))?r:(null==(a=e.options.enableExpanding)||a)&&!(null==(i=t.subRows)||!i.length)},t.getIsAllParentsExpanded=()=>{let r=!0,a=t;for(;r&&a.parentId;)a=e.getRow(a.parentId,!0),r=a.getIsExpanded();return r},t.getToggleExpandedHandler=()=>{const e=t.getCanExpand();return()=>{e&&t.toggleExpanded()}}}},{getInitialState:t=>({...t,pagination:{pageIndex:0,pageSize:10,...null==t?void 0:t.pagination}}),getDefaultOptions:t=>({onPaginationChange:K("pagination",t)}),createTable:t=>{let e=!1,r=!1;t._autoResetPageIndex=()=>{var a,i;if(e){if(null!=(a=null!=(i=t.options.autoResetAll)?i:t.options.autoResetPageIndex)?a:!t.options.manualPagination){if(r)return;r=!0,t._queue((()=>{t.resetPageIndex(),r=!1}))}}else t._queue((()=>{e=!0}))},t.setPagination=e=>null==t.options.onPaginationChange?void 0:t.options.onPaginationChange((t=>G(e,t))),t.resetPagination=e=>{var r;t.setPagination(e?{pageIndex:0,pageSize:10}:null!=(r=t.initialState.pagination)?r:{pageIndex:0,pageSize:10})},t.setPageIndex=e=>{t.setPagination((r=>{let a=G(e,r.pageIndex);return a=Math.max(0,Math.min(a,void 0===t.options.pageCount||-1===t.options.pageCount?Number.MAX_SAFE_INTEGER:t.options.pageCount-1)),{...r,pageIndex:a}}))},t.resetPageIndex=e=>{var r,a;t.setPageIndex(e?0:null!=(r=null==(a=t.initialState)||null==(a=a.pagination)?void 0:a.pageIndex)?r:0)},t.resetPageSize=e=>{var r,a;t.setPageSize(e?10:null!=(r=null==(a=t.initialState)||null==(a=a.pagination)?void 0:a.pageSize)?r:10)},t.setPageSize=e=>{t.setPagination((t=>{const r=Math.max(1,G(e,t.pageSize)),a=Math.floor(t.pageSize*t.pageIndex/r);return{...t,pageIndex:a,pageSize:r}}))},t.setPageCount=e=>t.setPagination((r=>{var a;let i=G(e,null!=(a=t.options.pageCount)?a:-1);return"number"==typeof i&&(i=Math.max(-1,i)),{...r,pageCount:i}})),t.getPageOptions=U((()=>[t.getPageCount()]),(t=>{let e=[];return t&&t>0&&(e=[...Array(t)].fill(null).map(((t,e)=>e))),e}),J(t.options,"debugTable")),t.getCanPreviousPage=()=>t.getState().pagination.pageIndex>0,t.getCanNextPage=()=>{const{pageIndex:e}=t.getState().pagination,r=t.getPageCount();return-1===r||0!==r&&e<r-1},t.previousPage=()=>t.setPageIndex((t=>t-1)),t.nextPage=()=>t.setPageIndex((t=>t+1)),t.firstPage=()=>t.setPageIndex(0),t.lastPage=()=>t.setPageIndex(t.getPageCount()-1),t.getPrePaginationRowModel=()=>t.getExpandedRowModel(),t.getPaginationRowModel=()=>(!t._getPaginationRowModel&&t.options.getPaginationRowModel&&(t._getPaginationRowModel=t.options.getPaginationRowModel(t)),t.options.manualPagination||!t._getPaginationRowModel?t.getPrePaginationRowModel():t._getPaginationRowModel()),t.getPageCount=()=>{var e;return null!=(e=t.options.pageCount)?e:Math.ceil(t.getRowCount()/t.getState().pagination.pageSize)},t.getRowCount=()=>{var e;return null!=(e=t.options.rowCount)?e:t.getPrePaginationRowModel().rows.length}}},{getInitialState:t=>({rowPinning:{top:[],bottom:[]},...t}),getDefaultOptions:t=>({onRowPinningChange:K("rowPinning",t)}),createRow:(t,e)=>{t.pin=(r,a,i)=>{const o=a?t.getLeafRows().map((t=>{let{id:e}=t;return e})):[],n=i?t.getParentRows().map((t=>{let{id:e}=t;return e})):[],l=new Set([...n,t.id,...o]);e.setRowPinning((t=>{var e,a,i,o,n,s;return"bottom"===r?{top:(null!=(i=null==t?void 0:t.top)?i:[]).filter((t=>!(null!=l&&l.has(t)))),bottom:[...(null!=(o=null==t?void 0:t.bottom)?o:[]).filter((t=>!(null!=l&&l.has(t)))),...Array.from(l)]}:"top"===r?{top:[...(null!=(n=null==t?void 0:t.top)?n:[]).filter((t=>!(null!=l&&l.has(t)))),...Array.from(l)],bottom:(null!=(s=null==t?void 0:t.bottom)?s:[]).filter((t=>!(null!=l&&l.has(t))))}:{top:(null!=(e=null==t?void 0:t.top)?e:[]).filter((t=>!(null!=l&&l.has(t)))),bottom:(null!=(a=null==t?void 0:t.bottom)?a:[]).filter((t=>!(null!=l&&l.has(t))))}}))},t.getCanPin=()=>{var r;const{enableRowPinning:a,enablePinning:i}=e.options;return"function"==typeof a?a(t):null==(r=null!=a?a:i)||r},t.getIsPinned=()=>{const r=[t.id],{top:a,bottom:i}=e.getState().rowPinning,o=r.some((t=>null==a?void 0:a.includes(t))),n=r.some((t=>null==i?void 0:i.includes(t)));return o?"top":!!n&&"bottom"},t.getPinnedIndex=()=>{var r,a;const i=t.getIsPinned();if(!i)return-1;const o=null==(r="top"===i?e.getTopRows():e.getBottomRows())?void 0:r.map((t=>{let{id:e}=t;return e}));return null!=(a=null==o?void 0:o.indexOf(t.id))?a:-1}},createTable:t=>{t.setRowPinning=e=>null==t.options.onRowPinningChange?void 0:t.options.onRowPinningChange(e),t.resetRowPinning=e=>{var r,a;return t.setRowPinning(e?{top:[],bottom:[]}:null!=(r=null==(a=t.initialState)?void 0:a.rowPinning)?r:{top:[],bottom:[]})},t.getIsSomeRowsPinned=e=>{var r;const a=t.getState().rowPinning;var i,o;return e?!!(null==(r=a[e])?void 0:r.length):!(!(null==(i=a.top)?void 0:i.length)&&!(null==(o=a.bottom)?void 0:o.length))},t._getPinnedRows=(e,r,a)=>{var i;return(null==(i=t.options.keepPinnedRows)||i?(null!=r?r:[]).map((e=>{const r=t.getRow(e,!0);return r.getIsAllParentsExpanded()?r:null})):(null!=r?r:[]).map((t=>e.find((e=>e.id===t))))).filter(Boolean).map((t=>({...t,position:a})))},t.getTopRows=U((()=>[t.getRowModel().rows,t.getState().rowPinning.top]),((e,r)=>t._getPinnedRows(e,r,"top")),J(t.options,"debugRows")),t.getBottomRows=U((()=>[t.getRowModel().rows,t.getState().rowPinning.bottom]),((e,r)=>t._getPinnedRows(e,r,"bottom")),J(t.options,"debugRows")),t.getCenterRows=U((()=>[t.getRowModel().rows,t.getState().rowPinning.top,t.getState().rowPinning.bottom]),((t,e,r)=>{const a=new Set([...null!=e?e:[],...null!=r?r:[]]);return t.filter((t=>!a.has(t.id)))}),J(t.options,"debugRows"))}},xt,mt];function Mt(t){const e=[],r=t=>{var a;e.push(t),null!=(a=t.subRows)&&a.length&&t.getIsExpanded()&&t.subRows.forEach(r)};return t.rows.forEach(r),{rows:e,flatRows:t.flatRows,rowsById:t.rowsById}}function Ot(t){return"bh-data-grid-state-"+t}const jt=/[\\/*?:[\]]/g,Pt=["=","+","-","@","\t","\r"];function Bt(t){if(!t||"string"!=typeof t)return"Sheet";let e=t.replace(jt,"");return e=e.trim(),e?(e.length>31&&(e=e.slice(0,31)),e):"Sheet"}function Tt(t){return null==t?"":"string"==typeof t&&Pt.some((e=>t.startsWith(e)))?"'"+t:t}function _t(t,e){let r=e.length;for(const e of t){if(null==e)continue;let t;t=e instanceof Date?10:"number"==typeof e?e.toFixed(2).length:"boolean"==typeof e?e?4:5:(e+"").length,t>r&&(r=t)}return Math.min(Math.max(r+2,8),50)}function Nt(t,e){const r=t.addWorksheet(Bt(e.name)),a=[];e.headers?.length&&a.push(e.headers);for(const t of e.data){const e=t.map((t=>Tt(t)));a.push(e)}for(const t of a)r.addRow(t);if(a.length>0){const t=a.reduce(((t,e)=>Math.max(t,e.length)),0);for(let i=0;i<t;i++){const t=_t(a.map((t=>t[i])),e.headers?.[i]??"");r.getColumn(i+1).width=t}}}function Vt(t,e){const r=t.accessorKey||t.id||"";return e?.[r]?e[r]:"string"==typeof t.header?t.header:r}function Ht(t,e){if(null==t)return"";switch(e){case"number":{if("number"==typeof t)return t;const e=Number(t);return Number.isNaN(e)?t+"":e}case"date":if(t instanceof Date)return t;if("string"==typeof t||"number"==typeof t){const e=new Date(t);return Number.isNaN(e.getTime())?t+"":e}return t+"";case"boolean":return"boolean"==typeof t?t:"string"==typeof t?"true"===t.toLowerCase():!!t;default:return"object"==typeof t?JSON.stringify(t):t+""}}async function At(t,e,r){!function(t,e){const r=URL.createObjectURL(t),a=document.createElement("a");a.href=r,a.download=e.endsWith(".xlsx")?e:e+".xlsx",a.style.display="none",document.body.appendChild(a),a.click(),document.body.removeChild(a),URL.revokeObjectURL(r)}(await async function(t,e,r){const{Workbook:a}=await import("./p-7T937w-j.js").then((function(t){return t.e})),i=r.xlsx??{},o=Bt(i.sheetName??"Data"),n=!1!==r.includeHeaders,l=e.map((t=>{const e=t.meta;return{id:t.accessorKey||t.id||"",header:Vt(t,r.customHeaders),type:e?.type??"text"}})),s=[];n&&s.push(l.map((t=>t.header)));for(const e of t){const t=[];for(const a of l){const i=e[a.id];if(r.formatters?.[a.id]){const o=r.formatters[a.id](i,e);t.push(Tt(o));continue}const o=Ht(i,a.type);t.push(Tt(o))}s.push(t)}const d=new a;if(function(t,e,r,a,i){for(const r of e)t.addRow(r);if(!1!==a.autoFitColumns)for(let a=0;a<r.length;a++){const i=_t(e.map((t=>t[a])),r[a].header);t.getColumn(a+1).width=i}a.freezeHeader&&i&&(t.views=[{state:"frozen",xSplit:0,ySplit:1}]),(a.numberFormat||a.dateFormat)&&function(t,e,r,a,i){const o=i?2:1,n=i?1:0;for(let i=n;i<e.length;i++){const l=t.getRow(o+(i-n));for(let t=0;t<r.length;t++){const o=l.getCell(t+1),n=r[t].type,s=e[i][t];"number"===n&&a.numberFormat&&"number"==typeof s?o.numFmt=a.numberFormat:"date"===n&&a.dateFormat&&s instanceof Date&&(o.numFmt=a.dateFormat)}}}(t,e,r,a,i)}(d.addWorksheet(o),s,l,i,n),i.additionalSheets?.length)for(const t of i.additionalSheets)Nt(d,t);const c=function(t){if(t instanceof ArrayBuffer)return t;if(ArrayBuffer.isView(t)){const e=new Uint8Array(t.buffer,t.byteOffset,t.byteLength);return Uint8Array.from(e).buffer}throw Error("Unsupported ExcelJS buffer type")}(await d.xlsx.writeBuffer());return new Blob([c],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"})}(t,e,r),r.fileName??"export")}function Lt(t){return"accessorKey"in t?t.accessorKey||t.id||"":t.id||""}const qt={sum:t=>t.reduce(((t,e)=>t+e),0),avg:t=>t.length>0?t.reduce(((t,e)=>t+e),0)/t.length:0,min:t=>t.length>0?t.reduce(((t,e)=>Math.min(t,e)),t[0]):0,max:t=>t.length>0?t.reduce(((t,e)=>Math.max(t,e)),t[0]):0,count:(t,e)=>e.length},Gt=e(class extends r{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.bhError=a(this,"bhError"),this.bhCircuitOpen=a(this,"bhCircuitOpen"),this.bhSortChange=a(this,"bhSortChange"),this.bhFilterChange=a(this,"bhFilterChange"),this.bhSelectionChange=a(this,"bhSelectionChange"),this.bhChange=a(this,"bhChange"),this.bhRowClick=a(this,"bhRowClick"),this.bhCellClick=a(this,"bhCellClick"),this.bhExpandChange=a(this,"bhExpandChange"),this.bhGroupToggle=a(this,"bhGroupToggle"),this.bhEditStart=a(this,"bhEditStart"),this.bhEditorPreparing=a(this,"bhEditorPreparing"),this.bhInitNewRow=a(this,"bhInitNewRow"),this.bhEditCancel=a(this,"bhEditCancel"),this.bhRowDeleting=a(this,"bhRowDeleting"),this.bhRowDeleted=a(this,"bhRowDeleted"),this.bhBatchChangeAdded=a(this,"bhBatchChangeAdded"),this.bhEditSave=a(this,"bhEditSave"),this.bhCellChange=a(this,"bhCellChange"),this.bhValidationError=a(this,"bhValidationError"),this.bhColumnResize=a(this,"bhColumnResize"),this.bhColumnResizeEnd=a(this,"bhColumnResizeEnd"),this.bhColumnPinChange=a(this,"bhColumnPinChange"),this.bhColumnReorder=a(this,"bhColumnReorder"),this.bhColumnVisibilityChange=a(this,"bhColumnVisibilityChange"),this.bhStateLoad=a(this,"bhStateLoad"),this.bhStateSave=a(this,"bhStateSave"),this.bhHeaderFilterChange=a(this,"bhHeaderFilterChange"),this.bhDetailToggle=a(this,"bhDetailToggle"),this.bhExport=a(this,"bhExport"),this.bhRowDragStart=a(this,"bhRowDragStart"),this.bhRowDrop=a(this,"bhRowDrop"),this.bhRowReorder=a(this,"bhRowReorder"),this.bhFocusChange=a(this,"bhFocusChange"),this.bhRefresh=a(this,"bhRefresh"),this.bhAdd=a(this,"bhAdd"),this.bhClearFilter=a(this,"bhClearFilter"),this.bhClearSelection=a(this,"bhClearSelection"),this.bhSearchChange=a(this,"bhSearchChange"),this.bhContextMenu=a(this,"bhContextMenu"),this.bhContextMenuItemClick=a(this,"bhContextMenuItemClick"),this.bhResponsiveChange=a(this,"bhResponsiveChange"),this.bhAdaptiveDetailExpand=a(this,"bhAdaptiveDetailExpand")}get el(){return this}destroy$=P();listeners=x();contextMenuRef=null;dragImageCleanupEl;logger=_("bh-data-grid");dataOperationsCircuitBreaker=function(t){let e,r,a="CLOSED",i=0,o=0;const n=()=>{"OPEN"===a&&e&&Date.now()-e>=t.resetTimeout&&(a="HALF_OPEN")};return{async execute(l){if(n(),"OPEN"===a)throw Error(`Circuit breaker is open (${t.name||"unknown"})`);try{const t=await l();return o++,r=Date.now(),"HALF_OPEN"===a&&(a="CLOSED",i=0),t}catch(r){throw i++,e=Date.now(),i>=t.failureThreshold&&(a="OPEN"),r}},getMetrics:()=>(n(),{state:a,failureCount:i,successCount:o,lastFailureTime:e,lastSuccessTime:r}),reset(){a="CLOSED",i=0,o=0,e=void 0,r=void 0}}}(L);renderTimer=null;dataOperationsDegraded=!1;updatePending=!1;_errorHandler;get handleComponentError(){return this._errorHandler||(this._errorHandler=H({componentName:"bh-data-grid",logger:this.logger,emitError:t=>this.bhError.emit({error:t})})),this._errorHandler}hasFatalError=!1;fatalErrorMessage=null;bhError;bhCircuitOpen;data=[];columns=[];getRowId;getSubRows;size="default";striped=!1;bordered=!1;stickyHeader=!1;maxHeight;caption;captionPosition="top";emptyTitle="No data";emptyDescription="There are no records to display.";loading=!1;loadingType="spinner";skeletonRowCount=5;operationTimeout=5e3;enableSorting=!0;enableMultiSort=!1;sortState=[];enableFiltering=!1;enableGlobalFilter=!1;showFilterRow=!1;globalFilterPlaceholder="Search...";filterState=[];globalFilter="";selectionMode="none";selectedRowIds=[];enablePagination=!1;page=1;pageSize=10;pageSizeOptions=[10,25,50,100];enableExpansion=!1;expandedRowIds=[];enableGrouping=!1;groupBy=[];enableEditing=!1;editMode="cell";showEditActions=!0;formEditConfig;enableColumnResize=!1;minColumnWidth=50;maxColumnWidth=500;columnSizes={};enableColumnPinning=!1;columnPinning={left:[],right:[]};enableColumnReorder=!1;columnOrder=[];enableColumnChooser=!1;columnVisibility={};enableStatePersistence=!1;stateStorageKey;persistedStateKeys=["sorting","columnFilters","globalFilter","columnSizes","columnOrder","columnVisibility","columnPinning","pageSize"];enableHeaderFilter=!1;headerFilterHeight=300;headerFilterState=[];enableVirtualScrolling=!1;virtualScrollHeight=400;estimatedRowHeight=48;overscanCount=5;enableMasterDetail=!1;masterDetailConfig;autoCollapseOtherRows=!1;enableTotalSummary=!1;totalSummary;enableGroupSummary=!1;groupSummary;enableExport=!1;showExportButton=!0;exportFormats=["csv"];exportConfig;enableRowDragging=!1;showDragHandle=!0;rowDragDisabled;enableFocusTracking=!1;focusedRowId;focusedCell;enableKeyboardNavigation=!0;autoScrollToFocused=!0;showToolbar;toolbarPosition="top";toolbarConfig;showRefreshButton=!1;showAddButton=!1;showClearFilterButton=!1;showClearSelectionButton=!1;enableSearchPanel=!1;showSearchPanel=!0;searchPanelPosition="toolbar";highlightSearchResults=!0;searchPanelPlaceholder="Search in grid...";batchEditingEnabled=!1;enableContextMenu=!1;contextMenuItems=[];contextMenuPreparing;showInlineErrorNotification=!0;errorNotificationDuration=5e3;enableResponsiveLayout=!1;responsiveColumns=[];mediumBreakpoint=768;largeBreakpoint=1024;labels={};tableState={};editingRowId=null;editingColumnId=null;editingValues={};validationErrors={};hoveredRowId=null;resizingColumnId=null;resizeStartX=0;resizeStartWidth=0;draggingColumnId=null;dragOverColumnId=null;columnChooserOpen=!1;headerFilterOpenColumnId=null;headerFilterSearchText="";virtualScrollTop=0;exportDropdownOpen=!1;draggingRowId=null;dragOverRowId=null;dragPosition=null;internalFocusedRowId=null;internalFocusedCell=null;formEditModalOpen=!1;formEditRowData=null;formEditIsNew=!1;formEditValues={};formEditErrors={};searchPanelText="";searchMatches=[];currentSearchMatchIndex=0;errorNotificationVisible=!1;errorNotificationMessage="";errorNotificationType="error";contextMenuOpen=!1;contextMenuPosition={x:0,y:0};contextMenuContext=null;contextMenuResolvedItems=[];contextMenuSubmenuOpen=null;responsiveState={viewportWidth:0,breakpoint:"large",visibleColumns:[],adaptiveDetailColumns:[],hiddenColumns:[]};adaptiveDetailExpandedRows=new Set;pendingFocusRafId;observerManager=null;get observers(){return this.observerManager||(this.observerManager=y()),this.observerManager}table=null;get resolvedLabels(){return l(this.labels)}scrollContainerRef=null;bhSortChange;bhFilterChange;bhSelectionChange;bhChange;bhRowClick;bhCellClick;bhExpandChange;bhGroupToggle;bhEditStart;bhEditorPreparing;bhInitNewRow;bhEditCancel;bhRowDeleting;bhRowDeleted;bhBatchChangeAdded;bhEditSave;bhCellChange;bhValidationError;bhColumnResize;bhColumnResizeEnd;bhColumnPinChange;bhColumnReorder;bhColumnVisibilityChange;bhStateLoad;bhStateSave;bhHeaderFilterChange;bhDetailToggle;bhExport;bhRowDragStart;bhRowDrop;bhRowReorder;bhFocusChange;bhRefresh;bhAdd;bhClearFilter;bhClearSelection;bhSearchChange;bhContextMenu;bhContextMenuItemClick;bhResponsiveChange;bhAdaptiveDetailExpand;trackedOperation(t,e,r,a={}){const i=N.startTimer(V.ASYNC_OPERATION,{component:"bh-data-grid",operation:t,...e}),o=this.logger.startTimer();try{r();const i=o();this.logger[a.logLevel??"debug"](t+" completed",{...e,duration:i}),i>(a.slowThreshold??500)&&this.logger.warn("Slow "+t,{...e,duration:i})}catch(r){if(this.logger.error(t+" failed",r instanceof Error?r:Error(r+""),e),this.showErrorNotification(a.errorNotification??"Operation failed. Please try again.","error"),a.rethrow)throw r}finally{this.destroy$&&B(0,this.destroy$)?.subscribe((()=>i()))}}handleDataChange(){(null!==this.editingRowId||null!==this.editingColumnId||Object.keys(this.editingValues).length>0||Object.keys(this.validationErrors).length>0)&&this.resetEditingState(),this.trackedOperation("data_load",{row_count:(this.data?.length??0)+""},(()=>this.initializeTable()),{logLevel:"info",slowThreshold:1e3,rethrow:!0,errorNotification:"Failed to load data. Please refresh and try again."})}handleSortStateChange(t){this.table&&this.trackedOperation("sort",{column_count:t.length+""},(()=>this.table.setSorting(t)),{errorNotification:"Failed to apply sorting. Please try again."})}handleFilterStateChange(t){this.table&&this.trackedOperation("filter",{filter_count:t.length+""},(()=>this.table.setColumnFilters(t)),{errorNotification:"Failed to apply filters. Please try again."})}handleSelectedRowIdsChange(t){if(this.table){const e={};for(const r of t)e[r]=!0;this.table.setRowSelection(e)}}handlePaginationPropChange(){this.table&&this.table.setPagination({pageIndex:this.page-1,pageSize:this.pageSize})}handleExpandedRowIdsChange(t){if(this.table){const e={};for(const r of t)e[r]=!0;this.table.setExpanded(e)}}handleGroupByChange(t){this.table&&this.table.setGrouping(t)}componentWillLoad(){const t=N.startTimer(V.COMPONENT_MOUNT,{component:"bh-data-grid",row_count:(this.data?.length??0)+"",has_pagination:this.enablePagination+""});if(this.enableStatePersistence&&this.stateStorageKey){const t=this.loadPersistedState();t&&this.applyPersistedState(t)}if(this.initializeTable(),this.destroy$&&B(0,this.destroy$)?.subscribe((()=>t())),this.data&&this.data.length>1e3){const t=Math.min(10,this.data.length),e=this.data.slice(0,t),r=JSON.stringify(e).length;N.gauge(V.MEMORY_USAGE,Math.round(r/t*this.data.length),{component:"bh-data-grid",row_count:this.data.length+"",estimation_method:"sample"})}if(this.enableResponsiveLayout){this.observerManager=y();const t=this.columns?.map((t=>Lt(t)))??[],{adaptiveDetailColumns:e,hiddenColumns:r}=this.calculateHiddenColumns(this.responsiveState.breakpoint);this.responsiveState={viewportWidth:"undefined"==typeof window?0:window.innerWidth,breakpoint:this.calculateBreakpoint("undefined"==typeof window?0:window.innerWidth),visibleColumns:t.filter((t=>void 0!==t&&!e.includes(t)&&!r.includes(t))),adaptiveDetailColumns:e,hiddenColumns:r}}}componentDidRender(){this.renderTimer&&(this.renderTimer(),this.renderTimer=null)}componentDidCatch(t){this.hasFatalError=!0,this.fatalErrorMessage=t instanceof Error?t.message:"An unexpected error occurred.",this.handleComponentError(t)}initializeTable(){const t={sorting:this.sortState,columnFilters:this.filterState,globalFilter:this.globalFilter,rowSelection:this.buildRowSelection(),expanded:this.buildExpanded(),pagination:{pageIndex:this.page-1,pageSize:this.pageSize},grouping:this.groupBy,columnVisibility:this.buildColumnVisibility(),columnPinning:this.columnPinning,columnSizing:this.columnSizes,columnOrder:this.columnOrder};this.tableState=t;try{this.table=function(t){var e,r;const a=[...Ft,...null!=(e=t._features)?e:[]];let i={_features:a};const o=i._features.reduce(((t,e)=>Object.assign(t,null==e.getDefaultOptions?void 0:e.getDefaultOptions(i))),{});let n={...null!=(r=t.initialState)?r:{}};i._features.forEach((t=>{var e;n=null!=(e=null==t.getInitialState?void 0:t.getInitialState(n))?e:n}));const l=[];let s=!1;const d={_features:a,options:{...o,...t},initialState:n,_queue:t=>{l.push(t),s||(s=!0,Promise.resolve().then((()=>{for(;l.length;)l.shift()();s=!1})).catch((t=>setTimeout((()=>{throw t})))))},reset:()=>{i.setState(i.initialState)},setOptions:t=>{const e=G(t,i.options);i.options=(t=>i.options.mergeOptions?i.options.mergeOptions(o,t):{...o,...t})(e)},getState:()=>i.options.state,setState:t=>{null==i.options.onStateChange||i.options.onStateChange(t)},_getRowId:(t,e,r)=>{var a;return null!=(a=null==i.options.getRowId?void 0:i.options.getRowId(t,e,r))?a:""+(r?[r.id,e].join("."):e)},getCoreRowModel:()=>(i._getCoreRowModel||(i._getCoreRowModel=i.options.getCoreRowModel(i)),i._getCoreRowModel()),getRowModel:()=>i.getPaginationRowModel(),getRow:(t,e)=>{let r=(e?i.getPrePaginationRowModel():i.getRowModel()).rowsById[t];if(!r&&(r=i.getCoreRowModel().rowsById[t],!r))throw Error();return r},_getDefaultColumnDef:U((()=>[i.options.defaultColumn]),(t=>{var e;return t=null!=(e=t)?e:{},{header:t=>{const e=t.header.column.columnDef;return e.accessorKey?e.accessorKey:e.accessorFn?e.id:null},cell:t=>{var e,r;return null!=(e=null==(r=t.renderValue())||null==r.toString?void 0:""+r)?e:null},...i._features.reduce(((t,e)=>Object.assign(t,null==e.getDefaultColumnDef?void 0:e.getDefaultColumnDef())),{}),...t}}),J(t,"debugColumns")),_getColumnDefs:()=>i.options.columns,getAllColumns:U((()=>[i._getColumnDefs()]),(t=>{const e=function(t,r,a){return void 0===a&&(a=0),t.map((t=>{const o=function(t,e,r,a){var i,o;const n={...t._getDefaultColumnDef(),...e},l=n.accessorKey;let s,d=null!=(i=null!=(o=n.id)?o:l?"function"==typeof String.prototype.replaceAll?l.replaceAll(".","_"):l.replace(/\./g,"_"):void 0)?i:"string"==typeof n.header?n.header:void 0;if(n.accessorFn?s=n.accessorFn:l&&(s=l.includes(".")?t=>{let e=t;for(const t of l.split(".")){var r;e=null==(r=e)?void 0:r[t]}return e}:t=>t[n.accessorKey]),!d)throw Error();let c={id:d+"",accessorFn:s,parent:a,depth:r,columnDef:n,columns:[],getFlatColumns:U((()=>[!0]),(()=>{var t;return[c,...null==(t=c.columns)?void 0:t.flatMap((t=>t.getFlatColumns()))]}),J(t.options,"debugColumns")),getLeafColumns:U((()=>[t._getOrderColumnsFn()]),(t=>{var e;if(null!=(e=c.columns)&&e.length){let e=c.columns.flatMap((t=>t.getLeafColumns()));return t(e)}return[c]}),J(t.options,"debugColumns"))};for(const e of t._features)null==e.createColumn||e.createColumn(c,t);return c}(i,t,a,r);return o.columns=t.columns?e(t.columns,o,a+1):[],o}))};return e(t)}),J(t,"debugColumns")),getAllFlatColumns:U((()=>[i.getAllColumns()]),(t=>t.flatMap((t=>t.getFlatColumns()))),J(t,"debugColumns")),_getAllFlatColumnsById:U((()=>[i.getAllFlatColumns()]),(t=>t.reduce(((t,e)=>(t[e.id]=e,t)),{})),J(t,"debugColumns")),getAllLeafColumns:U((()=>[i.getAllColumns(),i._getOrderColumnsFn()]),((t,e)=>e(t.flatMap((t=>t.getLeafColumns())))),J(t,"debugColumns")),getColumn:t=>i._getAllFlatColumnsById()[t]};Object.assign(i,d);for(let t=0;t<i._features.length;t++){const e=i._features[t];null==e||null==e.createTable||e.createTable(i)}return i}({data:this.data,columns:this.columns,state:this.tableState,onStateChange:t=>{const e="function"==typeof t?t(this.tableState):t;this.handleStateChange(e)},getCoreRowModel:t=>U((()=>[t.options.data]),(e=>{const r={rows:[],flatRows:[],rowsById:{}},a=function(e,i,o){void 0===i&&(i=0);const n=[];for(let s=0;s<e.length;s++){const d=tt(t,t._getRowId(e[s],s,o),e[s],s,i,void 0,null==o?void 0:o.id);var l;r.flatRows.push(d),r.rowsById[d.id]=d,n.push(d),t.options.getSubRows&&(d.originalSubRows=t.options.getSubRows(e[s],s),null!=(l=d.originalSubRows)&&l.length&&(d.subRows=a(d.originalSubRows,i+1,d)))}return n};return r.rows=a(e),r}),J(t.options,"debugTable",0,(()=>t._autoResetPageIndex()))),getSortedRowModel:this.enableSorting?t=>U((()=>[t.getState().sorting,t.getPreSortedRowModel()]),((e,r)=>{if(!r.rows.length||null==e||!e.length)return r;const a=t.getState().sorting,i=[],o=a.filter((e=>{var r;return null==(r=t.getColumn(e.id))?void 0:r.getCanSort()})),n={};o.forEach((e=>{const r=t.getColumn(e.id);r&&(n[e.id]={sortUndefined:r.columnDef.sortUndefined,invertSorting:r.columnDef.invertSorting,sortingFn:r.getSortingFn()})}));const l=t=>{const e=t.map((t=>({...t})));return e.sort(((t,e)=>{for(let a=0;a<o.length;a+=1){var r;const i=o[a],l=n[i.id],s=l.sortUndefined,d=null!=(r=null==i?void 0:i.desc)&&r;let c=0;if(s){const r=void 0===t.getValue(i.id),a=void 0===e.getValue(i.id);if(r||a){if("first"===s)return r?-1:1;if("last"===s)return r?1:-1;c=r&&a?0:r?s:-s}}if(0===c&&(c=l.sortingFn(t,e,i.id)),0!==c)return d&&(c*=-1),l.invertSorting&&(c*=-1),c}return t.index-e.index})),e.forEach((t=>{var e;i.push(t),null!=(e=t.subRows)&&e.length&&(t.subRows=l(t.subRows))})),e};return{rows:l(r.rows),flatRows:i,rowsById:r.rowsById}}),J(t.options,"debugTable",0,(()=>t._autoResetPageIndex()))):void 0,getFilteredRowModel:this.enableFiltering||this.enableGlobalFilter?t=>U((()=>[t.getPreFilteredRowModel(),t.getState().columnFilters,t.getState().globalFilter]),((e,r,a)=>{if(!e.rows.length||(null==r||!r.length)&&!a){for(let t=0;t<e.flatRows.length;t++)e.flatRows[t].columnFilters={},e.flatRows[t].columnFiltersMeta={};return e}const i=[],o=[];(null!=r?r:[]).forEach((e=>{var r;const a=t.getColumn(e.id);if(!a)return;const o=a.getFilterFn();o&&i.push({id:e.id,filterFn:o,resolvedValue:null!=(r=null==o.resolveFilterValue?void 0:o.resolveFilterValue(e.value))?r:e.value})}));const n=(null!=r?r:[]).map((t=>t.id)),l=t.getGlobalFilterFn(),s=t.getAllLeafColumns().filter((t=>t.getCanGlobalFilter()));let d,c;a&&l&&s.length&&(n.push("__global__"),s.forEach((t=>{var e;o.push({id:t.id,filterFn:l,resolvedValue:null!=(e=null==l.resolveFilterValue?void 0:l.resolveFilterValue(a))?e:a})})));for(let t=0;t<e.flatRows.length;t++){const r=e.flatRows[t];if(r.columnFilters={},i.length)for(let t=0;t<i.length;t++){d=i[t];const e=d.id;r.columnFilters[e]=d.filterFn(r,e,d.resolvedValue,(t=>{r.columnFiltersMeta[e]=t}))}if(o.length){for(let t=0;t<o.length;t++){c=o[t];const e=c.id;if(c.filterFn(r,e,c.resolvedValue,(t=>{r.columnFiltersMeta[e]=t}))){r.columnFilters.__global__=!0;break}}!0!==r.columnFilters.__global__&&(r.columnFilters.__global__=!1)}}return function(t,e,r){return r.options.filterFromLeafRows?function(t,e,r){var a;const i=[],o={},n=null!=(a=r.options.maxLeafRowFilterDepth)?a:100,l=function(t,a){void 0===a&&(a=0);const s=[];for(let c=0;c<t.length;c++){var d;let h=t[c];const u=tt(r,h.id,h.original,h.index,h.depth,void 0,h.parentId);if(u.columnFilters=h.columnFilters,null!=(d=h.subRows)&&d.length&&a<n){if(u.subRows=l(h.subRows,a+1),h=u,e(h)&&!u.subRows.length){s.push(h),o[h.id]=h,i.push(h);continue}if(e(h)||u.subRows.length){s.push(h),o[h.id]=h,i.push(h);continue}}else h=u,e(h)&&(s.push(h),o[h.id]=h,i.push(h))}return s};return{rows:l(t),flatRows:i,rowsById:o}}(t,e,r):function(t,e,r){var a;const i=[],o={},n=null!=(a=r.options.maxLeafRowFilterDepth)?a:100,l=function(t,a){void 0===a&&(a=0);const s=[];for(let c=0;c<t.length;c++){let h=t[c];if(e(h)){var d;if(null!=(d=h.subRows)&&d.length&&a<n){const t=tt(r,h.id,h.original,h.index,h.depth,void 0,h.parentId);t.subRows=l(h.subRows,a+1),h=t}s.push(h),i.push(h),o[h.id]=h}}return s};return{rows:l(t),flatRows:i,rowsById:o}}(t,e,r)}(e.rows,(t=>{for(let e=0;e<n.length;e++)if(!1===t.columnFilters[n[e]])return!1;return!0}),t)}),J(t.options,"debugTable",0,(()=>t._autoResetPageIndex()))):void 0,getPaginationRowModel:this.enablePagination?t=>U((()=>[t.getState().pagination,t.getPrePaginationRowModel(),t.options.paginateExpandedRows?void 0:t.getState().expanded]),((e,r)=>{if(!r.rows.length)return r;const{pageSize:a,pageIndex:i}=e;let{rows:o,flatRows:n,rowsById:l}=r;const s=a*i;let d;o=o.slice(s,s+a),d=t.options.paginateExpandedRows?{rows:o,flatRows:n,rowsById:l}:Mt({rows:o,flatRows:n,rowsById:l}),d.flatRows=[];const c=t=>{d.flatRows.push(t),t.subRows.length&&t.subRows.forEach(c)};return d.rows.forEach(c),d}),J(t.options,"debugTable")):void 0,getExpandedRowModel:this.enableExpansion||this.enableGrouping?t=>U((()=>[t.getState().expanded,t.getPreExpandedRowModel(),t.options.paginateExpandedRows]),((t,e,r)=>!e.rows.length||!0!==t&&!Object.keys(null!=t?t:{}).length?e:r?Mt(e):e),J(t.options,"debugTable")):void 0,getGroupedRowModel:this.enableGrouping?t=>U((()=>[t.getState().grouping,t.getPreGroupedRowModel()]),((e,r)=>{if(!r.rows.length||!e.length)return r.rows.forEach((t=>{t.depth=0,t.parentId=void 0})),r;const a=e.filter((e=>t.getColumn(e))),i=[],o={},n=function(e,r,l){if(void 0===r&&(r=0),r>=a.length)return e.map((t=>(t.depth=r,i.push(t),o[t.id]=t,t.subRows&&(t.subRows=n(t.subRows,r+1,t.id)),t)));const s=a[r],d=function(t,e){const r=new Map;return t.reduce(((t,r)=>{const a=""+r.getGroupingValue(e),i=t.get(a);return i?i.push(r):t.set(a,[r]),t}),r)}(e,s),c=Array.from(d.entries()).map(((e,d)=>{let[c,h]=e,u=`${s}:${c}`;u=l?`${l}>${u}`:u;const g=n(h,r+1,u);g.forEach((t=>{t.parentId=u}));const p=r?W(h,(t=>t.subRows)):h,b=tt(t,u,p[0].original,d,r,void 0,l);return Object.assign(b,{groupingColumnId:s,groupingValue:c,subRows:g,leafRows:p,getValue:e=>{var r;if(a.includes(e))return b._valuesCache.hasOwnProperty(e)||h[0]&&(b._valuesCache[e]=null!=(r=h[0].getValue(e))?r:void 0),b._valuesCache[e];if(b._groupingValuesCache.hasOwnProperty(e))return b._groupingValuesCache[e];const i=t.getColumn(e),o=null==i?void 0:i.getAggregationFn();return o?(b._groupingValuesCache[e]=o(e,p,h),b._groupingValuesCache[e]):void 0}}),g.forEach((t=>{i.push(t),o[t.id]=t})),b}));return c},l=n(r.rows,0);return l.forEach((t=>{i.push(t),o[t.id]=t})),{rows:l,flatRows:i,rowsById:o}}),J(t.options,"debugTable",0,(()=>{t._queue((()=>{t._autoResetExpanded(),t._autoResetPageIndex()}))}))):void 0,getRowId:this.getRowId||((t,e)=>(t.id??e)+""),getSubRows:this.getSubRows,enableRowSelection:"none"!==this.selectionMode,enableMultiRowSelection:"multiple-click"===this.selectionMode||"multiple-checkbox"===this.selectionMode,enableSorting:this.enableSorting,enableFilters:this.enableFiltering||this.enableGlobalFilter,enableExpanding:this.enableExpansion||this.enableGrouping,enableGrouping:this.enableGrouping,manualPagination:!1,autoResetExpanded:!1,renderFallbackValue:null}),this.dataOperationsDegraded=!1,i(this.el)}catch(t){const e=this.dataOperationsCircuitBreaker.getMetrics();this.dataOperationsCircuitBreaker.execute((async()=>{throw t})).catch((t=>{this.logger.debug("Circuit breaker recorded failure",{error:t instanceof Error?t.message:t+""})})),"OPEN"!==e.state||this.dataOperationsDegraded||(this.dataOperationsDegraded=!0,this.bhCircuitOpen.emit({metrics:e}),this.logger.error("Circuit breaker opened for data operations",void 0,{state:e.state,failures:e.failureCount})),this.logger.error("Failed to create data grid table",t instanceof Error?t:Error(t+"")),this.hasFatalError=!0,this.fatalErrorMessage=t instanceof Error?t.message:"Failed to initialize data grid",this.bhError.emit({error:t})}}handleStateChange(t){const e=this.tableState;if(this.tableState=t,this.table&&this.table.setOptions((e=>({...e,state:t}))),function(t,e){if(t===e)return!0;if(!t||!e)return!1;if(t.length!==e.length)return!1;for(let r=0;r<t.length;r++){const a=t[r],i=e[r];if(a.id!==i.id||a.desc!==i.desc)return!1}return!0}(e.sorting,t.sorting)||(this.sortState=t.sorting,N.increment(V.EVENT_EMIT,{component:"bh-data-grid",event:"sortChange",sort_columns:t.sorting.length+""}),this.bhSortChange.emit({sorting:t.sorting})),function(t,e){if(t===e)return!0;if(!t||!e)return!1;if(t.length!==e.length)return!1;for(let r=0;r<t.length;r++){const a=t[r],i=e[r];if(a.id!==i.id||a.value!==i.value)return!1}return!0}(e.columnFilters,t.columnFilters)&&e.globalFilter===t.globalFilter||(this.filterState=t.columnFilters,this.globalFilter=t.globalFilter,N.increment(V.EVENT_EMIT,{component:"bh-data-grid",event:"filterChange",filter_count:t.columnFilters.length+"",has_global_filter:!!t.globalFilter+""}),this.bhFilterChange.emit({columnFilters:t.columnFilters,globalFilter:t.globalFilter})),!function(t,e){if(t===e)return!0;if(!t||!e)return!1;const r=Object.keys(t);if(r.length!==Object.keys(e).length)return!1;for(const a of r)if(t[a]!==e[a])return!1;return!0}(e.rowSelection,t.rowSelection)){const e=Object.keys(t.rowSelection).filter((e=>t.rowSelection[e]));this.selectedRowIds=e;const r=this.table?.getSelectedRowModel().rows.map((t=>t.original))??[];N.increment(V.EVENT_EMIT,{component:"bh-data-grid",event:"selectionChange",selected_count:e.length+""}),this.bhSelectionChange.emit({selectedRowIds:e,selectedRows:r})}e.pagination?.pageIndex===t.pagination?.pageIndex&&e.pagination?.pageSize===t.pagination?.pageSize||(this.page=t.pagination.pageIndex+1,this.pageSize=t.pagination.pageSize,N.increment(V.EVENT_EMIT,{component:"bh-data-grid",event:"pageChange",page:this.page+"",page_size:this.pageSize+""}),this.bhChange.emit({page:this.page,pageSize:this.pageSize})),this.savePersistedState(),this.scheduleUpdate()}scheduleUpdate(){this.updatePending||(this.updatePending=!0,queueMicrotask((()=>{this.updatePending=!1,this.el&&i(this.el)})))}buildRowSelection(){const t={};for(const e of this.selectedRowIds)t[e]=!0;return t}buildExpanded(){const t={};for(const e of this.expandedRowIds)t[e]=!0;return t}buildColumnVisibility(){const t={...this.columnVisibility};if(this.enableGrouping)for(const e of this.groupBy)t[e]=!1;return t}handleRowClick=t=>{const e=t.id;if("single-click"===this.selectionMode){const e=t.getIsSelected();this.table?.resetRowSelection(),e||t.toggleSelected(!0)}else"multiple-click"===this.selectionMode&&t.toggleSelected();this.bhRowClick.emit({row:t.original,rowId:e,rowIndex:t.index})};handleCellClick=(t,e)=>{this.bhCellClick.emit({row:t.original,rowId:t.id,rowIndex:t.index,columnId:e.column.id,value:e.getValue()})};handleHeaderClick=t=>{this.enableSorting&&t.column.getCanSort()&&t.column.toggleSorting(void 0,this.enableMultiSort)};handleRowExpand=t=>{const e=!t.getIsExpanded();e&&this.autoCollapseOtherRows&&this.table?.toggleAllRowsExpanded(!1),t.toggleExpanded(),this.bhExpandChange.emit({rowId:t.id,expanded:e}),this.enableMasterDetail&&this.bhDetailToggle.emit({rowId:t.id,row:t.original,expanded:e})};handleGroupToggle=t=>{const e=t.getIsExpanded();t.toggleExpanded(),this.bhGroupToggle.emit({groupId:t.id,expanded:!e})};handleGlobalFilterChange=t=>{const e=t.target;this.table?.setGlobalFilter(e.value)};handleColumnFilterChange=(t,e)=>{const r=this.table?.getColumn(t);r&&r.setFilterValue(e||void 0)};handlePaginationChange=t=>{const{page:e,pageSize:r}=t.detail;this.table?.setPagination({pageIndex:e-1,pageSize:r})};resetEditingState(){this.editingRowId=null,this.editingColumnId=null,this.editingValues={},this.validationErrors={}}startEditing=(t,e)=>{if(!this.enableEditing)return;if("form"===this.editMode||"popup"===this.editMode)return void this.openFormEditModal(t.original,!1);this.editingRowId=t.id,this.editingColumnId="cell"===this.editMode&&e||null;const r={};for(const e of this.columns){const a=Lt(e);a&&(r[a]=t.original[a])}this.editingValues=r,this.validationErrors={},this.bhEditStart.emit({rowId:t.id,row:t.original,columnId:e})};cancelEditing=()=>{if(!this.editingRowId)return;const t=this.table?.getRow(this.editingRowId);t&&this.bhEditCancel.emit({rowId:this.editingRowId,row:t.original}),this.resetEditingState()};saveEditing=()=>{if(!this.editingRowId||!this.table)return;const t=this.table.getRow(this.editingRowId);if(!t)return;const e={};for(const[r,a]of Object.entries(this.editingValues)){const i=this.table.getColumn(r),o=i?.columnDef.meta?.validate;if(o){const i=o(a,t.original);i&&(e[r]=i,this.bhValidationError.emit({rowId:this.editingRowId,columnId:r,value:a,error:i}))}}if(Object.keys(e).length>0)return void(this.validationErrors=e);const r={};for(const[e,a]of Object.entries(this.editingValues))t.original[e]!==a&&(r[e]=a);const a={...t.original,...r};this.bhEditSave.emit({rowId:this.editingRowId,rowIndex:t.index,originalRow:t.original,changes:r,newRow:a}),this.resetEditingState()};handleEditValueChange=(t,e)=>{const r=this.editingValues[t];if(this.editingValues={...this.editingValues,[t]:e},this.validationErrors[t]){const{[t]:e,...r}=this.validationErrors;this.validationErrors=r}this.editingRowId&&this.bhCellChange.emit({rowId:this.editingRowId,columnId:t,oldValue:r,newValue:e})};handleEditKeyDown=(t,e)=>{F(t)?(t.preventDefault(),this.saveEditing()):M(t)?(t.preventDefault(),this.cancelEditing()):O(t)&&"cell"===this.editMode&&(t.preventDefault(),this.moveToNextEditableCell(e,t.shiftKey))};moveToNextEditableCell=(t,e)=>{const r=this.columns.filter((t=>!1!==t.meta?.editable)),a=r.findIndex((e=>Lt(e)===t));if(-1===a)return;const i=e?a-1:a+1;if(i>=0&&i<r.length){const t=Lt(r[i]);this.editingColumnId=t||null}else this.saveEditing()};isEditing(t,e){return this.editingRowId===t&&("cell"!==this.editMode||!!e&&this.editingColumnId===e)}handleCellDoubleClick=(t,e)=>{this.enableEditing&&!1!==e.column.columnDef.meta?.editable&&"cell"===this.editMode&&this.startEditing(t,e.column.id)};openFormEditModal(t,e){const r=t?this.getRowId?.(t,0)||"0":"";if(!e&&t){const e={row:t,rowId:r,columnId:"",value:void 0,editorOptions:{},cancel:!1};if(this.bhEditorPreparing.emit(e),e.cancel)return}if(e){const t={};for(const e of this.columns){const r=Lt(e);r&&(t[r]="")}return this.bhInitNewRow.emit({data:t}),this.formEditRowData=null,this.formEditIsNew=!0,this.formEditErrors={},this.formEditValues=t,void(this.formEditModalOpen=!0)}this.formEditRowData=t,this.formEditIsNew=!1,this.formEditErrors={};const a={};for(const e of this.columns){const r=Lt(e);r&&t&&(a[r]=t[r])}this.formEditValues=a,this.formEditModalOpen=!0,this.bhEditStart.emit({rowId:r,row:t,columnId:void 0})}closeFormEditModal=()=>{if(!this.formEditIsNew&&this.formEditRowData){const t=this.getRowId?.(this.formEditRowData,0)||"0";this.bhEditCancel.emit({rowId:t,row:this.formEditRowData})}this.formEditModalOpen=!1,this.formEditRowData=null,this.formEditIsNew=!1,this.formEditValues={},this.formEditErrors={}};saveFormEdit=()=>{const t={},e=this.formEditConfig?.fields||[];for(const r of e){const e=this.formEditValues[r.columnId];if(!r.required||null!=e&&""!==e){if(r.validator){const a=r.validator(e);a&&(t[r.columnId]=a)}}else t[r.columnId]=(r.label||r.columnId)+" is required"}if(this.table)for(const[e,r]of Object.entries(this.formEditValues)){const a=this.table.getColumn(e),i=a?.columnDef.meta?.validate;if(i&&this.formEditRowData){const a=i(r,this.formEditRowData);a&&(t[e]=a,this.bhValidationError.emit({rowId:this.getRowId?.(this.formEditRowData,0)||"0",columnId:e,value:r,error:a}))}}if(Object.keys(t).length>0)return void(this.formEditErrors=t);const r={...this.formEditRowData||{},...this.formEditValues};if(this.formEditIsNew)this.bhAdd.emit(),this.bhEditSave.emit({rowId:"__new__",rowIndex:-1,originalRow:{},changes:this.formEditValues,newRow:r});else if(this.formEditRowData){const t={};for(const[e,r]of Object.entries(this.formEditValues))this.formEditRowData[e]!==r&&(t[e]=r);const e=this.getRowId?.(this.formEditRowData,0)||"0",a=this.data.findIndex((t=>(this.getRowId?.(t,0)||"0")===e));this.bhEditSave.emit({rowId:e,rowIndex:a,originalRow:this.formEditRowData,changes:t,newRow:r})}this.closeFormEditModal()};handleFormFieldChange=(t,e)=>{const r=this.formEditValues[t];if(this.formEditValues={...this.formEditValues,[t]:e},this.formEditErrors[t]){const{[t]:e,...r}=this.formEditErrors;this.formEditErrors=r}if(this.formEditRowData){const a=this.getRowId?.(this.formEditRowData,0)||"0";this.bhCellChange.emit({rowId:a,columnId:t,oldValue:r,newValue:e})}};openAddForm(){"form"!==this.editMode&&"popup"!==this.editMode||this.openFormEditModal(null,!0)}openEditForm(t){"form"!==this.editMode&&"popup"!==this.editMode||this.openFormEditModal(t,!1)}calculateHiddenColumns(t){const e=[],r=[],a=(this.columns?.map((t=>Lt(t)))??[]).filter((t=>!!t));for(const a of this.responsiveColumns)("small"===t||"medium"===t&&"low"===a.priority)&&"always"!==a.priority&&("adaptive-detail"===a.hiddenBehavior?e.push(a.columnId):r.push(a.columnId));const i=a.filter((t=>!(e.includes(t)||r.includes(t))));return{adaptiveDetailColumns:e,hiddenColumns:r,visibleColumns:i}}calculateBreakpoint(t){return t>=this.largeBreakpoint?"large":t>=this.mediumBreakpoint?"medium":"small"}handleResponsiveResize(t){const e=this.responsiveState.breakpoint,r=this.calculateBreakpoint(t),{adaptiveDetailColumns:a,hiddenColumns:i,visibleColumns:o}=this.calculateHiddenColumns(r);this.responsiveState={viewportWidth:t,breakpoint:r,visibleColumns:o,adaptiveDetailColumns:a,hiddenColumns:i},e!==r&&this.bhResponsiveChange.emit({state:this.responsiveState,previousBreakpoint:e})}isAdaptiveDetailExpanded(t){return this.adaptiveDetailExpandedRows.has(t)}toggleAdaptiveDetailRow(t){const e=!this.adaptiveDetailExpandedRows.has(t);e?this.adaptiveDetailExpandedRows.add(t):this.adaptiveDetailExpandedRows.delete(t),this.bhAdaptiveDetailExpand.emit({data:{rowId:t,hiddenValues:[]},expanded:e})}hasAdaptiveDetailColumns(){return(this.responsiveState.adaptiveDetailColumns?.length??0)>0}async deleteRow(t){const e=this.getRowId?.(t,0)??"",r={type:"delete",row:t,rowId:e,cancel:!1};if(this.bhRowDeleting.emit(r),r.cancel)return!1;if(r.promise)try{await r.promise}catch{return!1}return this.batchEditingEnabled&&this.bhBatchChangeAdded.emit({change:{type:"delete",rowKey:e,originalData:t,modifiedData:null,timestamp:Date.now()},totalChanges:1}),this.bhRowDeleted.emit({type:"delete",row:t,rowId:e}),!0}handleResizeMouseDown=(t,e)=>{if(!this.enableColumnResize)return;t.preventDefault(),t.stopPropagation();const r=e.column.id,a=e.column.columnDef.meta;if(!1===a?.resizable)return;const i=this.columnSizes[r]||e.column.getSize()||150;this.resizingColumnId=r,this.resizeStartX=t.clientX,this.resizeStartWidth=i,document.addEventListener("mousemove",this.handleResizeMouseMove),document.addEventListener("mouseup",this.handleResizeMouseUp),document.body.classList.add("data-grid-resizing")};handleResizeMouseMove=t=>{if(!this.resizingColumnId)return;const e=t.clientX-this.resizeStartX,r=this.table?.getColumn(this.resizingColumnId),a=r?.columnDef.meta,i=a?.minWidth??this.minColumnWidth,o=Math.min(a?.maxWidth??this.maxColumnWidth,Math.max(i,this.resizeStartWidth+e)),n=this.columnSizes[this.resizingColumnId]??this.resizeStartWidth;this.columnSizes={...this.columnSizes,[this.resizingColumnId]:o},this.bhColumnResize.emit({columnId:this.resizingColumnId,width:o,previousWidth:n}),this.scheduleUpdate()};handleResizeMouseUp=()=>{this.resizingColumnId&&this.bhColumnResizeEnd.emit({columnSizes:{...this.columnSizes}}),this.resizingColumnId=null,this.resizeStartX=0,this.resizeStartWidth=0,document.removeEventListener("mousemove",this.handleResizeMouseMove),document.removeEventListener("mouseup",this.handleResizeMouseUp),document.body.classList.remove("data-grid-resizing")};getColumnWidth(t,e){return this.columnSizes[t]??e}pinColumn=(t,e)=>{if(!this.enableColumnPinning)return;const r={...this.columnPinning};r.left=r.left.filter((e=>e!==t)),r.right=r.right.filter((e=>e!==t)),"left"===e?r.left=[...r.left,t]:"right"===e&&(r.right=[...r.right,t]),this.columnPinning=r,this.table&&this.table.setColumnPinning(r),this.bhColumnPinChange.emit({columnId:t,pinned:e}),this.scheduleUpdate()};handleColumnDragStart=(t,e)=>{if(!this.enableColumnReorder)return;const r=e.column.id;this.draggingColumnId=r,t.dataTransfer?.setData("text/plain",r),t.dataTransfer&&(t.dataTransfer.effectAllowed="move"),document.body.classList.add("data-grid-dragging")};handleColumnDragOver=(t,e)=>{if(!this.enableColumnReorder||!this.draggingColumnId)return;t.preventDefault(),t.dataTransfer&&(t.dataTransfer.dropEffect="move");const r=e.column.id;r!==this.draggingColumnId&&(this.dragOverColumnId=r)};handleColumnDragLeave=()=>{this.dragOverColumnId=null};handleColumnDrop=(t,e)=>{if(!this.enableColumnReorder||!this.draggingColumnId)return;t.preventDefault();const r=this.draggingColumnId,a=e.column.id;if(r===a)return void this.resetDragState();const i=this.columnOrder.length>0?[...this.columnOrder]:this.columns.map((t=>Lt(t))),o=i.indexOf(r),n=i.indexOf(a);if(-1===o||-1===n)return void this.resetDragState();const l=i.toSpliced(o,1).toSpliced(n,0,r);this.columnOrder=l,this.table&&this.table.setColumnOrder(l),this.bhColumnReorder.emit({columnOrder:l,draggedColumnId:r,targetIndex:n}),this.resetDragState(),this.scheduleUpdate()};handleColumnDragEnd=()=>{this.resetDragState()};resetDragState=()=>{this.draggingColumnId=null,this.dragOverColumnId=null,document.body.classList.remove("data-grid-dragging")};toggleColumnChooser=()=>{this.columnChooserOpen=!this.columnChooserOpen};closeColumnChooser=()=>{this.columnChooserOpen=!1};toggleColumnVisibility=t=>{const e=!(!1!==this.columnVisibility[t]);this.columnVisibility={...this.columnVisibility,[t]:e},this.table&&this.table.setColumnVisibility({...this.columnVisibility,[t]:e}),this.bhColumnVisibilityChange.emit({columnId:t,visible:e,columnVisibility:{...this.columnVisibility}}),this.scheduleUpdate()};showAllColumns=()=>{const t={};for(const e of this.columns){const r=Lt(e);r&&(t[r]=!0)}this.columnVisibility=t,this.table&&this.table.setColumnVisibility(t),this.scheduleUpdate()};hideAllColumns=()=>{const t={};for(const e of this.columns){const r=Lt(e);r&&(t[r]=!1)}this.columnVisibility=t,this.table&&this.table.setColumnVisibility(t),this.scheduleUpdate()};isColumnVisible(t){return!1!==this.columnVisibility[t]}toggleHeaderFilter=t=>{this.headerFilterOpenColumnId===t?this.closeHeaderFilter():(this.headerFilterOpenColumnId=t,this.headerFilterSearchText="")};closeHeaderFilter=()=>{this.headerFilterOpenColumnId=null,this.headerFilterSearchText=""};getUniqueColumnValues(t){const e=new Map;for(const r of this.data){const a=r[t],i=(a??"")+"";e.has(i)?e.get(i).count++:e.set(i,{value:a,count:1})}return Array.from(e,(([t,{value:e,count:r}])=>({value:e,text:t||"(Blank)",count:r}))).toSorted(((t,e)=>t.text.localeCompare(e.text)))}getHeaderFilterSelectedValues(t){const e=this.headerFilterState.find((e=>e.columnId===t));return e?.selectedValues??[]}isHeaderFilterValueSelected(t,e){return this.getHeaderFilterSelectedValues(t).some((t=>t+""==e+""||null===t&&null===e))}toggleHeaderFilterValue=(t,e)=>{const r=this.getHeaderFilterSelectedValues(t),a=e+"";let i;i=r.some((t=>t+""===a))?r.filter((t=>t+""!==a)):[...r,e],this.updateHeaderFilterState(t,i)};selectAllHeaderFilterValues=t=>{const e=this.getFilteredHeaderFilterValues(t).map((t=>t.value));this.updateHeaderFilterState(t,e)};clearHeaderFilterValues=t=>{this.updateHeaderFilterState(t,[])};updateHeaderFilterState(t,e){const r=this.headerFilterState.findIndex((e=>e.columnId===t));let a;0===e.length?a=this.headerFilterState.filter((e=>e.columnId!==t)):r>=0?(a=[...this.headerFilterState],a[r]={columnId:t,selectedValues:e}):a=[...this.headerFilterState,{columnId:t,selectedValues:e}],this.headerFilterState=a,this.applyHeaderFilterToTable(t,e),this.bhHeaderFilterChange.emit({columnId:t,selectedValues:e,filterState:a}),this.scheduleUpdate()}applyHeaderFilterToTable(t,e){this.table&&(0===e.length?this.table.getColumn(t)?.setFilterValue(void 0):this.table.getColumn(t)?.setFilterValue(e))}getFilteredHeaderFilterValues(t){const e=this.getUniqueColumnValues(t),r=this.headerFilterSearchText.toLowerCase();return r?e.filter((t=>t.text.toLowerCase().includes(r))):e}hasActiveHeaderFilter(t){return this.getHeaderFilterSelectedValues(t).length>0}handleVirtualScroll=t=>{this.virtualScrollTop=t.target.scrollTop,this.scheduleUpdate()};getVirtualizedRows(){if(!this.table||!this.enableVirtualScrolling){const t=this.table?.getRowModel().rows??[];return{visibleRows:t,startIndex:0,endIndex:t.length,totalHeight:t.length*this.estimatedRowHeight,offsetTop:0}}const t=this.table.getRowModel().rows,e=t.length,r=Math.max(this.estimatedRowHeight,1),a=e*r,i=Math.max(0,Math.floor(this.virtualScrollTop/r)-this.overscanCount),o=Math.min(e,i+Math.ceil(this.virtualScrollHeight/r)+2*this.overscanCount);return{visibleRows:t.slice(i,o),startIndex:i,endIndex:o,totalHeight:a,offsetTop:i*r}}setScrollContainerRef=t=>{this.scrollContainerRef=t??null};scrollToRowIndex(t){this.scrollContainerRef&&this.enableVirtualScrolling&&(this.scrollContainerRef.scrollTop=t*this.estimatedRowHeight)}canRowExpand(t){if(this.enableMasterDetail){const e=this.masterDetailConfig;return void 0===e?.enabled||("function"==typeof e.enabled?e.enabled(t.original):e.enabled)}return t.getCanExpand()}calculateSummaryValue(t,e){const r=e.map((e=>e[t.columnId])).filter((t=>null!=t)),a=r.map((t=>Number(t))).filter((t=>Number.isFinite(t))),i=qt[t.type];return i?i(a,r):"custom"===t.type&&t.calculate?t.calculate(r):null}formatSummaryValue(t,e){return t.format?t.format(e):"number"==typeof e?"avg"===t.type?e.toLocaleString(void 0,{minimumFractionDigits:2,maximumFractionDigits:2}):e.toLocaleString():(e??"")+""}getSummaryLabel(t){return t.label?t.label:{sum:"Sum",avg:"Avg",min:"Min",max:"Max",count:"Count",custom:""}[t.type]??""}loadPersistedState(){return function(t){if(!t.enable||!t.stateStorageKey)return null;try{const e=localStorage.getItem(Ot(t.stateStorageKey));if(e){const r=n(e);if(!r.valid)return null;if(r.value)return t.onLoad(r.value),r.value}}catch(t){}return null}({enable:this.enableStatePersistence,stateStorageKey:this.stateStorageKey,onLoad:t=>this.bhStateLoad.emit({state:t})})}savePersistedState(){if(this.enableStatePersistence&&this.stateStorageKey)try{const t={sorting:this.sortState,columnFilters:this.filterState,globalFilter:this.globalFilter,columnSizes:this.columnSizes,columnOrder:this.columnOrder,columnVisibility:this.columnVisibility,columnPinning:this.columnPinning,pageSize:this.pageSize},e={};for(const r of this.persistedStateKeys)r in t&&(e[r]=t[r]);!function(t){if(t.enable&&t.stateStorageKey)try{localStorage.setItem(Ot(t.stateStorageKey),JSON.stringify(t.state)),t.onSave(t.state)}catch(t){}}({enable:this.enableStatePersistence,stateStorageKey:this.stateStorageKey,state:e,onSave:t=>this.bhStateSave.emit({state:t})})}catch{}}applyPersistedState(t){const e=new Set(this.persistedStateKeys);void 0!==t.sorting&&e.has("sorting")&&(this.sortState=t.sorting),void 0!==t.columnFilters&&e.has("columnFilters")&&(this.filterState=t.columnFilters),void 0!==t.globalFilter&&e.has("globalFilter")&&(this.globalFilter=t.globalFilter),void 0!==t.columnSizes&&e.has("columnSizes")&&(this.columnSizes=t.columnSizes),void 0!==t.columnOrder&&e.has("columnOrder")&&(this.columnOrder=t.columnOrder),void 0!==t.columnVisibility&&e.has("columnVisibility")&&(this.columnVisibility=t.columnVisibility),void 0!==t.columnPinning&&e.has("columnPinning")&&(this.columnPinning=t.columnPinning),void 0!==t.pageSize&&e.has("pageSize")&&(this.pageSize=t.pageSize)}clearPersistedState(){!function(t){if(t.stateStorageKey)try{localStorage.removeItem(Ot(t.stateStorageKey))}catch(t){}}({stateStorageKey:this.stateStorageKey})}async exportData(t){if(!this.enableExport)return;const e={fileName:"export",format:"csv",includeHeaders:!0,visibleColumnsOnly:!0,selectedRowsOnly:!1,filteredDataOnly:!0,csvDelimiter:",",includeBOM:!0,...this.exportConfig,...t},r=N.startTimer(V.ASYNC_OPERATION,{component:"bh-data-grid",operation:"export",format:e.format??"csv"}),{rows:a,columns:i}=this.getExportData(e);switch(N.increment(V.EVENT_EMIT,{component:"bh-data-grid",event:"export",format:e.format??"csv",row_count:a.length+"",column_count:i.length+"",selected_only:e.selectedRowsOnly+"",filtered_only:e.filteredDataOnly+""}),e.format){case"csv":this.exportToCSV(a,i,e);break;case"xlsx":try{await At(a,i,e)}catch(t){this.logger.error("XLSX export failed",t instanceof Error?t:Error(t+"")),this.showErrorNotification(this.resolvedLabels.exportFailed,"error")}break;case"json":this.exportToJSON(a,i,e)}r(),this.exportDropdownOpen=!1}getExportData(t){if(!this.table)return{rows:[],columns:[]};let e,r=[...this.columns];if(t.visibleColumnsOnly){const t=this.table.getVisibleFlatColumns().map((t=>t.id));r=r.filter((e=>{const r=Lt(e);return r&&t.includes(r)}))}return t.excludeColumns?.length&&(r=r.filter((e=>{const r=Lt(e);return!t.excludeColumns?.includes(r||"")}))),e=t.selectedRowsOnly?this.table.getSelectedRowModel().rows.map((t=>t.original)):t.filteredDataOnly?this.table.getFilteredRowModel().rows.map((t=>t.original)):[...this.data],{rows:e,columns:r}}getColumnHeader(t,e){const r=Lt(t);return e?.[r]?e[r]:"string"==typeof t.header?t.header:r}getCellValue(t,e,r){const a=Lt(e),i=t[a];return r?.[a]?r[a](i,t):null==i?"":i instanceof Date?i.toISOString():"object"==typeof i?JSON.stringify(i):i+""}exportToCSV(t,e,r){const a=r.csvDelimiter||",",i=[];if(r.includeHeaders){const t=e.map((t=>this.escapeCSVValue(this.getColumnHeader(t,r.customHeaders),a)));i.push(t.join(a))}for(const o of t){const t=e.map((t=>this.escapeCSVValue(this.getCellValue(o,t,r.formatters),a)));i.push(t.join(a))}const o=i.join("\n"),n=new Blob([(r.includeBOM?"\ufeff":"")+o],{type:"text/csv;charset=utf-8;"}),l=r.fileName+".csv";this.downloadBlob(n,l),this.bhExport.emit({format:"csv",rowCount:t.length,columnCount:e.length,fileName:l})}escapeCSVValue(t,e){return t.includes(e)||t.includes('"')||t.includes("\n")||t.includes("\r")?`"${t.replaceAll('"','""')}"`:t}exportToJSON(t,e,r){const a=e.map((t=>Lt(t))),i=t.map((t=>{const e={};for(const i of a)if(i){const a=t[i];e[i]=r.formatters?.[i]?r.formatters[i](a,t):a}return e})),o=JSON.stringify(i,null,2),n=new Blob([o],{type:"application/json;charset=utf-8;"}),l=r.fileName+".json";this.downloadBlob(n,l),this.bhExport.emit({format:"json",rowCount:t.length,columnCount:e.length,fileName:l})}downloadBlob(t,e){const r=URL.createObjectURL(t),a=document.createElement("a");a.href=r,a.download=e,a.style.display="none",document.body.appendChild(a),a.click(),document.body.removeChild(a),URL.revokeObjectURL(r)}handleExportClick=t=>{this.exportData({format:t})};toggleExportDropdown=()=>{this.exportDropdownOpen=!this.exportDropdownOpen};getRowIdValue(t,e){return this.getRowId?this.getRowId(t,e):(t.id??e)+""}isRowDraggable(t){return!(!this.enableRowDragging||this.rowDragDisabled&&this.rowDragDisabled(t))}handleRowDragStart=(t,e,r,a)=>{if(this.isRowDraggable(e)){if(this.draggingRowId=r,this.dragOverRowId=null,this.dragPosition=null,t.dataTransfer){t.dataTransfer.effectAllowed="move",t.dataTransfer.setData("text/plain",r);const e=t.target.cloneNode(!0);e.style.opacity="0.7",e.style.position="absolute",e.style.top="-1000px",document.body.appendChild(e),t.dataTransfer.setDragImage(e,0,0),this.dragImageCleanupEl=e,this.destroy$&&B(0,this.destroy$)?.subscribe((()=>{this.dragImageCleanupEl?.parentNode&&this.dragImageCleanupEl.parentNode.removeChild(this.dragImageCleanupEl),this.dragImageCleanupEl=void 0}))}this.bhRowDragStart.emit({row:e,rowId:r,fromIndex:a})}else t.preventDefault()};handleRowDragOver=(t,e,r)=>{if(!this.draggingRowId||this.draggingRowId===r)return;t.preventDefault(),t.dataTransfer&&(t.dataTransfer.dropEffect="move");const a=t.currentTarget.getBoundingClientRect(),i=t.clientY<a.top+a.height/2?"above":"below";this.dragOverRowId=r,this.dragPosition=i};handleRowDragLeave=()=>{};handleRowDrop=(t,e,r)=>{if(t.preventDefault(),!this.draggingRowId||this.draggingRowId===r)return void this.resetRowDragState();const a=this.table?.getFilteredRowModel().rows??[],i=a.findIndex((t=>this.getRowIdValue(t.original,t.index)===this.draggingRowId)),o=a.findIndex((t=>this.getRowIdValue(t.original,t.index)===r));if(-1===i||-1===o)return void this.resetRowDragState();let n=o;"below"===this.dragPosition&&o>i||"above"===this.dragPosition&&o<i?n=o:"below"===this.dragPosition&&(n=o+1);const l=a.map((t=>this.getRowIdValue(t.original,t.index))),s=l[i],d=n>i?n-1:n,c=l.toSpliced(i,1).toSpliced(d,0,s),h=a[i].original;this.bhRowDrop.emit({row:h,rowId:this.draggingRowId,fromIndex:i,toIndex:n,newOrder:c});const u=this.reorderData(i,d);this.bhRowReorder.emit({row:h,rowId:this.draggingRowId,fromIndex:i,toIndex:d,reorderedData:u}),this.resetRowDragState()};handleRowDragEnd=()=>{this.resetRowDragState()};resetRowDragState(){this.draggingRowId=null,this.dragOverRowId=null,this.dragPosition=null}reorderData(t,e){const r=this.data[t];return this.data.toSpliced(t,1).toSpliced(e,0,r)}getEffectiveFocusedRowId(){return this.focusedRowId??this.internalFocusedRowId}getEffectiveFocusedCell(){return this.focusedCell??this.internalFocusedCell}handleRowFocus=(t,e,r)=>{this.enableFocusTracking&&(this.internalFocusedRowId=e,this.internalFocusedCell=null,void 0!==this.focusedRowId&&(this.focusedRowId=e),void 0!==this.focusedCell&&(this.focusedCell=void 0),this.bhFocusChange.emit({row:t,rowId:e,rowIndex:r,columnId:null,cellValue:null}),this.autoScrollToFocused&&this.scrollToRow(e))};handleCellFocus=(t,e,r,a,i)=>{if(!this.enableFocusTracking)return;const o={rowId:e,columnId:a};this.internalFocusedRowId=e,this.internalFocusedCell=o,void 0!==this.focusedRowId&&(this.focusedRowId=e),void 0!==this.focusedCell&&(this.focusedCell=o),this.bhFocusChange.emit({row:t,rowId:e,rowIndex:r,columnId:a,cellValue:i}),this.autoScrollToFocused&&this.scrollToRow(e)};handleKeyboardNavigation=(t,e,r,a)=>{if(!this.enableFocusTracking||!this.enableKeyboardNavigation)return;if(!this.table)return;const i=this.table.getRowModel().rows,o=this.table.getVisibleLeafColumns();let n=r;const l=a?o.findIndex((t=>t.id===a)):-1;let s=l;switch(t.key){case A.ARROW_UP:t.preventDefault(),n=Math.max(0,r-1);break;case A.ARROW_DOWN:t.preventDefault(),n=Math.min(i.length-1,r+1);break;case A.ARROW_LEFT:a&&s>0&&(t.preventDefault(),s-=1);break;case A.ARROW_RIGHT:a&&s<o.length-1&&(t.preventDefault(),s+=1);break;case A.HOME:t.preventDefault(),(t.ctrlKey||t.metaKey)&&(n=0),a&&(s=0);break;case A.END:t.preventDefault(),(t.ctrlKey||t.metaKey)&&(n=i.length-1),a&&(s=o.length-1);break;case A.PAGE_UP:t.preventDefault(),n=Math.max(0,r-10);break;case A.PAGE_DOWN:t.preventDefault(),n=Math.min(i.length-1,r+10);break;default:return}if(n!==r||a&&s!==l){const t=i[n];if(t){const e=t.id;if(a&&s>=0){const r=o[s],a=t.getValue(r.id);this.handleCellFocus(t.original,e,n,r.id,a)}else this.handleRowFocus(t.original,e,n);this.focusRowElement(e,o[s]?.id)}}};scrollToRow(t){if(!this.scrollContainerRef)return;const e=this.el.shadowRoot?.querySelector(`[data-row-id="${t}"]`);if(e){const t=this.scrollContainerRef.getBoundingClientRect(),r=e.getBoundingClientRect();r.top<t.top?e.scrollIntoView({block:"start",behavior:"smooth"}):r.bottom>t.bottom&&e.scrollIntoView({block:"end",behavior:"smooth"})}}focusRowElement(t,e){this.pendingFocusRafId=requestAnimationFrame((()=>{if(this.pendingFocusRafId=void 0,e){const r=this.el.shadowRoot?.querySelector(`[data-row-id="${t}"] [data-column-id="${e}"]`);r?.focus()}else{const e=this.el.shadowRoot?.querySelector(`[data-row-id="${t}"]`);e?.focus()}}))}clearFocus(){this.internalFocusedRowId=null,this.internalFocusedCell=null,void 0!==this.focusedRowId&&(this.focusedRowId=void 0),void 0!==this.focusedCell&&(this.focusedCell=void 0),this.bhFocusChange.emit({row:null,rowId:null,rowIndex:null,columnId:null,cellValue:null})}focusRow(t){if(!this.table)return;const e=this.table.getRowModel().rows,r=e.findIndex((e=>e.id===t));r>=0&&(this.handleRowFocus(e[r].original,t,r),this.focusRowElement(t))}focusCellById(t,e){if(!this.table)return;const r=this.table.getRowModel().rows,a=r.findIndex((e=>e.id===t));if(a>=0){const i=r[a],o=i.getValue(e);this.handleCellFocus(i.original,t,a,e,o),this.focusRowElement(t,e)}}handleSearchPanelInput=t=>{const e=t.target.value;if(this.searchPanelText=e,!e.trim())return this.searchMatches=[],this.currentSearchMatchIndex=0,void this.bhSearchChange.emit({searchText:"",matchCount:0,matches:[]});const r=this.findSearchMatches(e);this.searchMatches=r,this.currentSearchMatchIndex=r.length>0?0:-1,this.bhSearchChange.emit({searchText:e,matchCount:r.length,matches:r}),r.length>0&&this.scrollToSearchMatch(r[0]),this.scheduleUpdate()};findSearchMatches(t){if(!this.table||!t.trim())return[];const e=[],r=t.toLowerCase(),a=this.table.getRowModel().rows;for(const i of a)for(const a of i.getVisibleCells()){const o=a.column.id,n=a.getValue(),l=this.getCellTextValue(n);if(!l)continue;const s=l.toLowerCase();let d=0,c=0;for(;;){const a=s.indexOf(r,d);if(-1===a)break;e.push({rowId:i.id,columnId:o,matchIndex:c,startIndex:a,endIndex:a+t.length}),d=a+1,c++}}return e}getCellTextValue(t){return null==t?"":"string"==typeof t?t:"number"==typeof t?t+"":"boolean"==typeof t?t?"Yes":"No":t instanceof Date?t.toLocaleDateString():t+""}scrollToSearchMatch(t){if(!this.scrollContainerRef)return;const e=this.el.shadowRoot?.querySelector(`[data-row-id="${t.rowId}"]`);if(e){const t=this.scrollContainerRef.getBoundingClientRect(),r=e.getBoundingClientRect();(r.top<t.top||r.bottom>t.bottom)&&e.scrollIntoView({block:"center",behavior:"smooth"})}}focusNextMatch(){0!==this.searchMatches.length&&(this.currentSearchMatchIndex=(this.currentSearchMatchIndex+1)%this.searchMatches.length,this.scrollToSearchMatch(this.searchMatches[this.currentSearchMatchIndex]),this.scheduleUpdate())}focusPreviousMatch(){0!==this.searchMatches.length&&(this.currentSearchMatchIndex=this.currentSearchMatchIndex<=0?this.searchMatches.length-1:this.currentSearchMatchIndex-1,this.scrollToSearchMatch(this.searchMatches[this.currentSearchMatchIndex]),this.scheduleUpdate())}clearSearch(){this.searchPanelText="",this.searchMatches=[],this.currentSearchMatchIndex=0,this.bhSearchChange.emit({searchText:"",matchCount:0,matches:[]}),this.scheduleUpdate()}handleSearchPanelKeyDown=t=>{F(t)?(t.preventDefault(),t.shiftKey?this.focusPreviousMatch():this.focusNextMatch()):M(t)&&this.clearSearch()};getCellSearchMatches(t,e){return this.searchMatches.filter((r=>r.rowId===t&&r.columnId===e))}isCurrentSearchMatch(t){if(this.currentSearchMatchIndex<0||this.currentSearchMatchIndex>=this.searchMatches.length)return!1;const e=this.searchMatches[this.currentSearchMatchIndex];return e.rowId===t.rowId&&e.columnId===t.columnId&&e.matchIndex===t.matchIndex}highlightSearchText(e,r){if(!this.highlightSearchResults||0===r.length||!e)return e;const a=r.toSorted(((t,e)=>t.startIndex-e.startIndex)),i=[];let o=0;for(const r of a){r.startIndex>o&&i.push(e.slice(o,r.startIndex));const a=e.slice(r.startIndex,r.endIndex),n=this.isCurrentSearchMatch(r);i.push(t("span",{class:{"data-grid-search-highlight":!0,"data-grid-search-highlight-current":n}},a)),o=r.endIndex}return o<e.length&&i.push(e.slice(o)),i}handleContextMenu=(t,e,r,a,i,o)=>{if(!this.enableContextMenu)return;t.preventDefault(),t.stopPropagation();const n={row:e,rowId:r,rowIndex:a,columnId:i,cellValue:o,selectedRows:this.table?.getSelectedRowModel().rows.map((t=>t.original))??[]};let l=[...this.contextMenuItems];if(this.contextMenuPreparing&&(l=this.contextMenuPreparing({context:n,items:l,event:t})),l=l.filter((t=>!1!==t.visible)),0===l.length)return;const s=this.calculateContextMenuPosition(t);this.contextMenuOpen=!0,this.contextMenuPosition=s,this.contextMenuContext=n,this.contextMenuResolvedItems=l,this.contextMenuSubmenuOpen=null,this.bhContextMenu.emit({context:n,items:l,event:t}),this.destroy$&&B(0,this.destroy$)?.subscribe((()=>{this.listeners.add(document,"click",this.handleDocumentClickForContextMenu),this.listeners.add(document,"keydown",this.handleContextMenuKeyDown)}))};disconnectedCallback(){T(this.destroy$),this.destroy$=null,this.listeners.removeAll(),this.observerManager?.disconnectAll(),this.observerManager=null,void 0!==this.pendingFocusRafId&&(cancelAnimationFrame(this.pendingFocusRafId),this.pendingFocusRafId=void 0),this.resizingColumnId&&(document.removeEventListener("mousemove",this.handleResizeMouseMove),document.removeEventListener("mouseup",this.handleResizeMouseUp),document.body.classList.remove("data-grid-resizing"),this.resizingColumnId=null),this.dragImageCleanupEl?.parentNode&&this.dragImageCleanupEl.parentNode.removeChild(this.dragImageCleanupEl),this.dragImageCleanupEl=void 0,this.contextMenuRef=null}calculateContextMenuPosition(t){const e=t.clientX,r=t.clientY,a=window.innerWidth,i=window.innerHeight;let o=e,n=r;return e+200>a&&(o=Math.max(0,a-200-10)),r+300>i&&(n=Math.max(0,i-300-10)),{x:o,y:n}}handleContextMenuItemClick=t=>{t.disabled||"divider"===t.type||("submenu"!==t.type?(t.onClick&&this.contextMenuContext&&t.onClick(this.contextMenuContext),this.contextMenuContext&&this.bhContextMenuItemClick.emit({item:t,context:this.contextMenuContext}),this.closeContextMenu()):this.contextMenuSubmenuOpen=this.contextMenuSubmenuOpen===t.id?null:t.id||null)};closeContextMenu=()=>{this.contextMenuOpen=!1,this.contextMenuContext=null,this.contextMenuResolvedItems=[],this.contextMenuSubmenuOpen=null,document.removeEventListener("click",this.handleDocumentClickForContextMenu),document.removeEventListener("keydown",this.handleContextMenuKeyDown)};handleDocumentClickForContextMenu=t=>{this.contextMenuRef&&!this.contextMenuRef.contains(t.target)&&this.closeContextMenu()};handleContextMenuKeyDown=t=>{M(t)&&this.closeContextMenu()};flexRender(t,e){return"function"==typeof t?t(e):t}formatCellValue(t,e){if(null==t)return"";switch(e?.type){case"number":return"number"==typeof t?t.toLocaleString(void 0,e.numberFormat):t+"";case"date":return t instanceof Date?t.toLocaleDateString(void 0,e.dateFormat):new Date(t).toLocaleDateString(void 0,e.dateFormat);case"boolean":return t?"Yes":"No";default:return t+""}}showErrorNotification(t,e="error"){this.showInlineErrorNotification&&(this.errorNotificationMessage=t,this.errorNotificationType=e,this.errorNotificationVisible=!0,this.errorNotificationDuration>0&&this.destroy$&&B(this.errorNotificationDuration,this.destroy$)?.subscribe((()=>{this.dismissErrorNotification()})),this.logger.info("Error notification shown",{message:t,type:e}))}dismissErrorNotification=()=>{this.errorNotificationVisible=!1,this.errorNotificationMessage=""};renderErrorNotification(){return this.errorNotificationVisible&&this.errorNotificationMessage?t("div",{class:"data-grid-error-notification",part:"error-notification"},t("bh-toast",{description:this.errorNotificationMessage,dismissible:!0,onBhClose:this.dismissErrorNotification,title:"error"===this.errorNotificationType?"Operation Failed":"Warning",variant:this.errorNotificationType})):null}renderContextMenu(){if(!this.enableContextMenu||!this.contextMenuOpen)return null;const{x:e,y:r}=this.contextMenuPosition;return t("div",{class:"data-grid-context-menu",onClick:t=>t.stopPropagation(),ref:t=>this.contextMenuRef=t??null,style:{left:e+"px",top:r+"px"}},this.contextMenuResolvedItems.map(((t,e)=>this.renderContextMenuItem(t,e))))}renderContextMenuItem(e,r){if("divider"===e.type)return t("div",{class:"data-grid-context-menu-divider",key:"divider-"+r,role:"separator"});if("submenu"===e.type&&e.items&&e.items.length>0){const a=this.contextMenuSubmenuOpen===e.id;return t("div",{"aria-disabled":e.disabled?"true":"false","aria-expanded":a?"true":"false","aria-haspopup":"true",class:{"data-grid-context-menu-item":!0,"data-grid-context-menu-item-submenu":!0,"data-grid-context-menu-item-disabled":!!e.disabled,"data-grid-context-menu-item-open":a},key:e.id||"submenu-"+r,onClick:()=>this.handleContextMenuItemClick(e),onMouseEnter:()=>{e.disabled||(this.contextMenuSubmenuOpen=e.id||null)},role:"menuitem"},e.icon&&t("span",{class:"data-grid-context-menu-item-icon material-symbols-outlined"},e.icon),t("span",{class:"data-grid-context-menu-item-label"},e.label),t("span",{class:"data-grid-context-menu-item-arrow material-symbols-outlined"},"chevron_right"),a&&t("div",{class:"data-grid-context-menu-submenu"},e.items.filter((t=>!1!==t.visible)).map(((t,e)=>this.renderContextMenuItem(t,e)))))}return t("div",{"aria-disabled":e.disabled?"true":"false",class:{"data-grid-context-menu-item":!0,"data-grid-context-menu-item-disabled":!!e.disabled},key:e.id||"item-"+r,onClick:()=>this.handleContextMenuItemClick(e),role:"menuitem"},e.icon&&t("span",{class:"data-grid-context-menu-item-icon material-symbols-outlined"},e.icon),t("span",{class:"data-grid-context-menu-item-label"},e.label))}renderSearchPanel(){if(!this.enableSearchPanel||!this.showSearchPanel)return null;const e=this.searchMatches.length,r=this.currentSearchMatchIndex,a=e>0,i=this.searchPanelText.trim().length>0;return t("div",{class:"data-grid-search-panel"},t("div",{class:"data-grid-search-panel-input-wrapper"},t("span",{class:"data-grid-search-panel-icon material-symbols-outlined"},"search"),t("input",{class:"data-grid-search-panel-input",onInput:this.handleSearchPanelInput,onKeyDown:this.handleSearchPanelKeyDown,placeholder:this.searchPanelPlaceholder,type:"text",value:this.searchPanelText}),i&&t("button",{class:"data-grid-search-panel-clear",onClick:()=>this.clearSearch(),title:this.resolvedLabels.clearSearch},t("span",{class:"material-symbols-outlined"},"close"))),i&&t("div",{class:"data-grid-search-panel-results"},t("span",{class:"data-grid-search-count"},a?`${r+1} of ${e} matches`:this.resolvedLabels.noMatches),t("div",{class:"data-grid-search-nav"},t("button",{class:"data-grid-search-nav-btn",disabled:!a,onClick:()=>this.focusPreviousMatch(),title:this.resolvedLabels.previousMatch},t("span",{class:"material-symbols-outlined"},"keyboard_arrow_up")),t("button",{class:"data-grid-search-nav-btn",disabled:!a,onClick:()=>this.focusNextMatch(),title:this.resolvedLabels.nextMatch},t("span",{class:"material-symbols-outlined"},"keyboard_arrow_down")))))}renderCaption(){return this.caption?t("div",{class:{"data-grid-caption":!0,["data-grid-caption-"+this.captionPosition]:!0}},t("slot",{name:"caption"},this.caption)):null}renderGlobalFilter(){return this.enableGlobalFilter?t("div",{class:"data-grid-global-filter"},t("span",{class:"data-grid-search-icon material-symbols-outlined"},"search"),t("input",{class:"data-grid-global-filter-input",onInput:this.handleGlobalFilterChange,placeholder:this.globalFilterPlaceholder,type:"text",value:this.globalFilter})):null}renderToolbar(){if(!(this.showToolbar??(this.enableGlobalFilter||this.enableColumnChooser||this.enableExport&&this.showExportButton||this.showRefreshButton||this.showAddButton||this.showClearFilterButton||this.showClearSelectionButton||this.enableSearchPanel&&"toolbar"===this.searchPanelPosition)))return null;const e={leftItems:["search"],centerItems:[],rightItems:["export","column-chooser"],...this.toolbarConfig};return t("div",{class:{"data-grid-toolbar":!0,[e.cssClass||""]:!!e.cssClass}},t("div",{class:"data-grid-toolbar-left"},"toolbar"===this.searchPanelPosition&&this.renderSearchPanel(),this.renderToolbarItems(e.leftItems||[]),t("slot",{name:"toolbar-left"})),t("div",{class:"data-grid-toolbar-center"},this.renderToolbarItems(e.centerItems||[]),t("slot",{name:"toolbar-center"})),t("div",{class:"data-grid-toolbar-right"},t("slot",{name:"toolbar-right"}),this.renderToolbarItems(e.rightItems||[])))}renderToolbarItems(t){return t.map((t=>this.renderToolbarItem(t)))}renderToolbarItem(t){switch(t){case"search":return this.enableGlobalFilter?this.renderToolbarSearch():null;case"export":return this.enableExport&&this.showExportButton?this.renderExportButton():null;case"column-chooser":return this.enableColumnChooser?this.renderColumnChooser():null;case"refresh":return this.showRefreshButton?this.renderRefreshButton():null;case"add":return this.showAddButton?this.renderAddButton():null;case"clear-filter":return this.showClearFilterButton?this.renderClearFilterButton():null;case"clear-selection":return this.showClearSelectionButton?this.renderClearSelectionButton():null;default:return null}}renderToolbarSearch(){return t("div",{class:"data-grid-toolbar-search"},t("span",{class:"data-grid-search-icon material-symbols-outlined"},"search"),t("input",{class:"data-grid-global-filter-input",onInput:this.handleGlobalFilterChange,placeholder:this.globalFilterPlaceholder,type:"text",value:this.globalFilter}))}renderRefreshButton(){return t("button",{class:"data-grid-toolbar-btn",onClick:()=>this.bhRefresh.emit(),title:this.resolvedLabels.refreshData},t("span",{class:"material-symbols-outlined"},"refresh"))}renderAddButton(){return t("button",{class:"data-grid-toolbar-btn data-grid-toolbar-btn-primary",onClick:()=>this.bhAdd.emit(),title:this.resolvedLabels.addNewRow},t("span",{class:"material-symbols-outlined"},"add"))}renderClearFilterButton(){const e=this.filterState&&this.filterState.length>0||this.globalFilter&&this.globalFilter.length>0||this.headerFilterState&&Object.keys(this.headerFilterState).length>0;return t("button",{class:{"data-grid-toolbar-btn":!0,"data-grid-toolbar-btn-disabled":!e},disabled:!e,onClick:()=>this.handleClearFilters(),title:this.resolvedLabels.clearAllFilters},t("span",{class:"material-symbols-outlined"},"filter_alt_off"))}renderClearSelectionButton(){const e=this.selectedRowIds&&this.selectedRowIds.length>0;return t("button",{class:{"data-grid-toolbar-btn":!0,"data-grid-toolbar-btn-disabled":!e},disabled:!e,onClick:()=>this.handleClearSelection(),title:this.resolvedLabels.clearSelection},t("span",{class:"material-symbols-outlined"},"deselect"))}handleClearFilters=()=>{this.table&&this.table.setColumnFilters([]),this.table&&this.table.setGlobalFilter(""),this.bhClearFilter.emit()};handleClearSelection=()=>{this.table&&this.table.resetRowSelection(),this.bhClearSelection.emit()};renderExportButton(){if(!(this.exportFormats.length>1)){const e=this.exportFormats[0]||"csv";return t("button",{class:"data-grid-export-btn",onClick:()=>this.handleExportClick(e),title:this.resolvedLabels.exportData},t("span",{class:"material-symbols-outlined"},"download"),t("span",{class:"data-grid-export-label"},this.resolvedLabels.export))}return t("div",{class:"data-grid-export"},t("button",{"aria-expanded":this.exportDropdownOpen?"true":"false","aria-haspopup":"true",class:{"data-grid-export-btn":!0,"data-grid-export-btn-active":this.exportDropdownOpen},onClick:this.toggleExportDropdown,title:this.resolvedLabels.exportData},t("span",{class:"material-symbols-outlined"},"download"),t("span",{class:"data-grid-export-label"},this.resolvedLabels.export),t("span",{class:"material-symbols-outlined data-grid-export-arrow"},"expand_more")),this.exportDropdownOpen&&t("div",{class:"data-grid-export-dropdown"},this.exportFormats.map((e=>t("button",{class:"data-grid-export-option",key:e,onClick:()=>this.handleExportClick(e)},t("span",{class:"material-symbols-outlined"},this.getExportFormatIcon(e)),t("span",null,this.getExportFormatLabel(e)))))))}getExportFormatIcon(t){switch(t){case"csv":return"csv";case"xlsx":return"table_chart";case"json":return"data_object";default:return"download"}}getExportFormatLabel(t){return{csv:"CSV",xlsx:"Excel (XLS)",json:"JSON"}[t]||t.toUpperCase()}renderColumnChooser(){return t("div",{class:"data-grid-column-chooser"},t("button",{"aria-expanded":this.columnChooserOpen?"true":"false","aria-haspopup":"true",class:{"data-grid-column-chooser-btn":!0,"data-grid-column-chooser-btn-active":this.columnChooserOpen},onClick:this.toggleColumnChooser,title:this.resolvedLabels.chooseColumns},t("span",{class:"material-symbols-outlined"},"view_column"),t("span",{class:"data-grid-column-chooser-label"},this.resolvedLabels.chooseColumns)),this.columnChooserOpen&&t("div",{class:"data-grid-column-chooser-dropdown"},t("div",{class:"data-grid-column-chooser-header"},t("span",{class:"data-grid-column-chooser-title"},"Show/Hide Columns"),t("button",{"aria-label":this.resolvedLabels.close,class:"data-grid-column-chooser-close",onClick:this.closeColumnChooser},t("span",{class:"material-symbols-outlined"},"close"))),t("div",{class:"data-grid-column-chooser-actions"},t("button",{class:"data-grid-column-chooser-action",onClick:this.showAllColumns},"Show All"),t("button",{class:"data-grid-column-chooser-action",onClick:this.hideAllColumns},"Hide All")),t("div",{class:"data-grid-column-chooser-list"},this.columns.map((e=>{const r=Lt(e),a=e.header,i="string"==typeof a?a:r,o=this.isColumnVisible(r);return t("label",{class:{"data-grid-column-chooser-item":!0,"data-grid-column-chooser-item-hidden":!o},key:r},t("bh-checkbox",{checked:o,onBhChange:()=>this.toggleColumnVisibility(r),size:"sm"}),t("span",{class:"data-grid-column-chooser-item-text"},i))})))))}renderHeader(){if(!this.table)return null;const e=this.table.getHeaderGroups();return t("thead",{class:{"data-grid-header":!0,"data-grid-header-sticky":this.stickyHeader}},e.map((e=>t("tr",{class:"data-grid-header-row",key:e.id,role:"row"},this.enableRowDragging&&this.showDragHandle&&t("th",{class:"data-grid-header-cell data-grid-cell-drag-handle",role:"columnheader"}),this.renderSelectionHeader(),(this.enableExpansion||this.enableMasterDetail)&&!this.enableGrouping&&t("th",{class:"data-grid-header-cell data-grid-cell-expand",role:"columnheader"}),e.headers.map((t=>this.renderHeaderCell(t))),this.enableEditing&&this.showEditActions&&"row"===this.editMode&&t("th",{class:"data-grid-header-cell data-grid-cell-actions",colSpan:1,role:"columnheader"})))),this.showFilterRow&&this.renderFilterRow())}renderSelectionHeader(){if("none"===this.selectionMode||"single-click"===this.selectionMode||"multiple-click"===this.selectionMode)return null;if("single-radio"===this.selectionMode)return t("th",{class:"data-grid-header-cell data-grid-cell-select",colSpan:1,role:"columnheader"});const e=this.table?.getIsAllRowsSelected(),r=this.table?.getIsSomeRowsSelected();return t("th",{class:"data-grid-header-cell data-grid-cell-select",colSpan:1,role:"columnheader"},t("bh-checkbox",{checked:e,indeterminate:r&&!e,onBhChange:()=>this.table?.toggleAllRowsSelected(),size:"sm"}))}renderHeaderCell(e){if(e.isPlaceholder)return t("th",{class:"data-grid-header-cell",colSpan:1,key:e.id,role:"columnheader"});const r=e.column.id,a=e.column.getCanSort(),i=e.column.getIsSorted(),o=e.column.columnDef.meta,n=this.enableColumnResize&&!1!==o?.resizable,l=this.resizingColumnId===r,c=s(r,this.columnPinning),h="left"===c,u="right"===c,g=h||u,p=this.enableColumnReorder,b={"data-grid-header-cell":!0,"data-grid-header-cell-sortable":a,"data-grid-header-cell-sorted":!!i,"data-grid-header-cell-resizable":n,"data-grid-header-cell-resizing":l,"data-grid-header-cell-pinned":g,"data-grid-header-cell-pinned-left":h,"data-grid-header-cell-pinned-right":u,"data-grid-header-cell-draggable":p,"data-grid-header-cell-dragging":this.draggingColumnId===r,"data-grid-header-cell-drag-over":this.dragOverColumnId===r,["data-grid-cell-align-"+(o?.align||"left")]:!0},m=this.getColumnWidth(r,e.column.getSize()),v=m?{width:m+"px",minWidth:m+"px"}:{};if(h){const t=this.table?.getColumn(r)?.getSize()??150;v.position="sticky",v.left=d(r,"left",this.columnPinning,this.columnSizes,t)+"px",v.zIndex="11"}else if(u){const t=this.table?.getColumn(r)?.getSize()??150;v.position="sticky",v.right=d(r,"right",this.columnPinning,this.columnSizes,t)+"px",v.zIndex="11"}return t("th",{"aria-sort":"asc"===i?"ascending":"desc"===i?"descending":"none",class:b,colSpan:1,draggable:p,key:e.id,onClick:()=>a&&this.handleHeaderClick(e),onDragEnd:()=>this.handleColumnDragEnd(),onDragLeave:()=>this.handleColumnDragLeave(),onDragOver:t=>this.handleColumnDragOver(t,e),onDragStart:t=>this.handleColumnDragStart(t,e),onDrop:t=>this.handleColumnDrop(t,e),role:"columnheader",style:v},t("span",{class:"data-grid-header-content"},p&&t("span",{class:"data-grid-drag-handle material-symbols-outlined"},"drag_indicator"),this.enableColumnPinning&&g&&t("span",{class:"data-grid-pin-indicator material-symbols-outlined",onClick:t=>{t.stopPropagation(),this.pinColumn(r,!1)},title:"Pinned "+c},"push_pin"),t("span",{class:"data-grid-header-text"},this.flexRender(e.column.columnDef.header,e.getContext())),a&&i&&t("span",{class:"data-grid-sort-icon material-symbols-outlined"},"asc"===i?"north":"south"),this.enableHeaderFilter&&!1!==o?.filterable&&t("button",{"aria-expanded":this.headerFilterOpenColumnId===r,"aria-haspopup":"true",class:{"data-grid-header-filter-btn":!0,"data-grid-header-filter-btn-active":this.hasActiveHeaderFilter(r),"data-grid-header-filter-btn-open":this.headerFilterOpenColumnId===r},onClick:t=>{t.stopPropagation(),this.toggleHeaderFilter(r)},title:this.resolvedLabels.filter},t("span",{class:"material-symbols-outlined"},"filter_alt"))),this.enableHeaderFilter&&this.headerFilterOpenColumnId===r&&this.renderHeaderFilterDropdown(r),n&&t("div",{class:{"data-grid-resize-handle":!0,"data-grid-resize-handle-active":l},onClick:t=>t.stopPropagation(),onMouseDown:t=>this.handleResizeMouseDown(t,e)}))}renderFilterRow(){if(!this.table)return null;const e=this.table.getHeaderGroups()[0]?.headers||[];return t("tr",{class:"data-grid-filter-row",role:"row"},this.enableRowDragging&&this.showDragHandle&&t("td",{class:"data-grid-filter-cell data-grid-cell-drag-handle",role:"cell"}),("single-radio"===this.selectionMode||"multiple-checkbox"===this.selectionMode)&&t("td",{class:"data-grid-filter-cell data-grid-cell-select",role:"cell"}),(this.enableExpansion||this.enableMasterDetail)&&!this.enableGrouping&&t("td",{class:"data-grid-filter-cell data-grid-cell-expand",role:"cell"}),e.map((e=>{const r=e.column.getCanFilter(),a=e.column.columnDef.meta;if(!r||!1===a?.filterable)return t("div",{class:"data-grid-filter-cell",key:e.id,role:"cell"});const i=e.column.getFilterValue()??"";return t("td",{class:"data-grid-filter-cell",key:e.id,role:"cell"},t("span",{class:"data-grid-filter-icon material-symbols-outlined"},"search"),t("input",{class:"data-grid-filter-input",onInput:t=>this.handleColumnFilterChange(e.column.id,t.target.value),placeholder:"",type:"number"===a?.type?"number":"date"===a?.type?"date":"text",value:i}))})),this.enableEditing&&this.showEditActions&&"row"===this.editMode&&t("td",{class:"data-grid-filter-cell data-grid-cell-actions",role:"cell"}))}renderHeaderFilterDropdown(e){const r=this.getFilteredHeaderFilterValues(e),a=this.getHeaderFilterSelectedValues(e),i=r.length>0&&r.every((t=>this.isHeaderFilterValueSelected(e,t.value))),o=a.length>0&&!i;return t("div",{class:"data-grid-header-filter-dropdown",onClick:t=>t.stopPropagation(),style:{maxHeight:this.headerFilterHeight+"px"}},t("div",{class:"data-grid-header-filter-header"},t("span",{class:"data-grid-header-filter-title"},this.resolvedLabels.filter),t("button",{"aria-label":this.resolvedLabels.close,class:"data-grid-header-filter-close",onClick:this.closeHeaderFilter},t("span",{class:"material-symbols-outlined"},"close"))),t("div",{class:"data-grid-header-filter-search"},t("span",{class:"data-grid-header-filter-search-icon material-symbols-outlined"},"search"),t("input",{class:"data-grid-header-filter-search-input",onInput:t=>{this.headerFilterSearchText=t.target.value},placeholder:this.resolvedLabels.searchPlaceholder,type:"text",value:this.headerFilterSearchText})),t("div",{class:"data-grid-header-filter-actions"},t("button",{class:"data-grid-header-filter-action",disabled:i,onClick:()=>this.selectAllHeaderFilterValues(e)},"Select All"),t("button",{class:"data-grid-header-filter-action",disabled:0===a.length,onClick:()=>this.clearHeaderFilterValues(e)},"Clear")),t("div",{class:"data-grid-header-filter-list"},t("label",{class:"data-grid-header-filter-item data-grid-header-filter-item-all"},t("bh-checkbox",{checked:i,indeterminate:o,onBhChange:()=>{i?this.clearHeaderFilterValues(e):this.selectAllHeaderFilterValues(e)},size:"sm"}),t("span",{class:"data-grid-header-filter-item-text"},"(Select All)")),0===r.length?t("div",{class:"data-grid-header-filter-empty"},"No values found"):r.map((r=>{const a=this.isHeaderFilterValueSelected(e,r.value);return t("label",{class:{"data-grid-header-filter-item":!0,"data-grid-header-filter-item-selected":a},key:r.value+""},t("bh-checkbox",{checked:a,onBhChange:()=>this.toggleHeaderFilterValue(e,r.value),size:"sm"}),t("span",{class:"data-grid-header-filter-item-text"},r.text),t("span",{class:"data-grid-header-filter-item-count"},"(",r.count,")"))}))))}renderBody(){if(!this.table)return null;if(this.loading&&"skeleton"===this.loadingType)return this.renderSkeleton();const e=this.table.getRowModel().rows;if(0===e.length)return this.renderEmptyState();if(this.enableVirtualScrolling){const{visibleRows:e,totalHeight:r,offsetTop:a}=this.getVirtualizedRows();return t("tbody",{class:"data-grid-body data-grid-body-virtual",role:"rowgroup"},t("tr",{"aria-hidden":"true",class:"data-grid-virtual-spacer",style:{height:a+"px"}},t("td",{colSpan:this.getColumnCount()})),e.map((t=>t.getIsGrouped()?this.renderGroupRow(t):this.renderDataRow(t))),t("tr",{"aria-hidden":"true",class:"data-grid-virtual-spacer",style:{height:r-a-e.length*this.estimatedRowHeight+"px"}},t("td",{colSpan:this.getColumnCount()})))}return t("tbody",{class:"data-grid-body",role:"rowgroup"},e.map((t=>t.getIsGrouped()?this.renderGroupRow(t):this.renderDataRow(t))))}getColumnCount(){let t=this.columns.length;return this.enableRowDragging&&this.showDragHandle&&t++,"single-radio"!==this.selectionMode&&"multiple-checkbox"!==this.selectionMode||t++,!this.enableExpansion&&!this.enableMasterDetail||this.enableGrouping||t++,this.enableEditing&&this.showEditActions&&"row"===this.editMode&&t++,t}renderDataRow(e){const r=e.getIsSelected(),a=e.getIsExpanded(),i=this.editingRowId===e.id,o=e.id,n=this.draggingRowId===o,l=this.dragOverRowId===o,s=this.isRowDraggable(e.original),d=this.enableFocusTracking&&this.getEffectiveFocusedRowId()===o;return[t("tr",{"aria-selected":r?"true":"false",class:{"data-grid-row":!0,"data-grid-row-selected":r,"data-grid-row-expanded":a,"data-grid-row-editing":i,"data-grid-row-hover":this.hoveredRowId===e.id,"data-grid-row-striped":this.striped&&e.index%2==1,"data-grid-row-clickable":"single-click"===this.selectionMode||"multiple-click"===this.selectionMode,"data-grid-row-dragging":n,"data-grid-row-drag-over":l,"data-grid-row-drag-above":l&&"above"===this.dragPosition,"data-grid-row-drag-below":l&&"below"===this.dragPosition,"data-grid-row-focused":d},"data-row-id":o,draggable:this.enableRowDragging&&s,key:e.id,onClick:()=>this.handleRowClick(e),onContextMenu:t=>{this.enableContextMenu&&this.handleContextMenu(t,e.original,o,e.index,null,null)},onDragEnd:t=>this.handleRowDragEnd(t),onDragLeave:t=>this.handleRowDragLeave(t),onDragOver:t=>this.handleRowDragOver(t,e.original,o),onDragStart:t=>this.handleRowDragStart(t,e.original,o,e.index),onDrop:t=>this.handleRowDrop(t,e.original,o),onFocus:()=>{this.enableFocusTracking&&this.handleRowFocus(e.original,o,e.index)},onKeyDown:t=>{this.enableFocusTracking&&this.enableKeyboardNavigation&&this.handleKeyboardNavigation(t,o,e.index)},onMouseEnter:()=>{this.hoveredRowId=e.id},onMouseLeave:()=>{this.hoveredRowId=null},role:"row",tabIndex:this.enableFocusTracking?0:void 0},this.enableRowDragging&&this.showDragHandle&&t("td",{class:{"data-grid-cell":!0,"data-grid-cell-drag-handle":!0,"data-grid-cell-drag-disabled":!s},onClick:t=>t.stopPropagation(),role:"cell"},s&&t("span",{class:"data-grid-drag-handle material-symbols-outlined"},"drag_indicator")),this.renderSelectionCell(e),(this.enableExpansion||this.enableMasterDetail)&&!this.enableGrouping&&t("td",{class:"data-grid-cell data-grid-cell-expand",onClick:t=>{t.stopPropagation()},role:"cell"},this.canRowExpand(e)&&t("button",{"aria-label":a?this.resolvedLabels.collapseRow:this.resolvedLabels.expandRow,class:"data-grid-expand-btn",onClick:()=>this.handleRowExpand(e)},t("span",{class:"material-symbols-outlined"},a?"expand_more":"chevron_right"))),e.getVisibleCells().map((t=>this.renderCell(e,t))),this.enableEditing&&this.showEditActions&&"row"===this.editMode&&t("td",{class:"data-grid-cell data-grid-cell-actions",onClick:t=>t.stopPropagation(),role:"cell"},i?t("div",{class:"data-grid-edit-actions"},t("bh-button-icon",{ariaLabel:this.resolvedLabels.save,hierarchy:"tertiary",iconName:"check",onClick:()=>this.saveEditing(),size:"sm",title:this.resolvedLabels.save}),t("bh-button-icon",{ariaLabel:this.resolvedLabels.cancel,hierarchy:"tertiary",iconName:"close",onClick:()=>this.cancelEditing(),size:"sm",title:this.resolvedLabels.cancel})):t("bh-button-icon",{ariaLabel:this.resolvedLabels.edit,hierarchy:"tertiary",iconName:"edit",onClick:()=>this.startEditing(e),size:"sm",title:this.resolvedLabels.edit}))),a&&(this.enableExpansion||this.enableMasterDetail)&&!this.enableGrouping&&this.renderExpandedContent(e)]}renderExpandedContent(e){const r=this.getColumnCount();if(this.enableMasterDetail&&this.masterDetailConfig?.render){const a=this.masterDetailConfig.render(e.original,e.index);return t("tr",{class:"data-grid-row-expansion data-grid-master-detail",key:e.id+"-detail"},t("td",{class:"data-grid-detail-cell",colSpan:r},"string"==typeof a?t("div",{innerHTML:q(a)}):a))}return t("tr",{class:"data-grid-row-expansion",key:e.id+"-expansion"},t("td",{colSpan:r},t("slot",{name:"expanded-row"})))}renderSelectionCell(e){if("none"===this.selectionMode||"single-click"===this.selectionMode||"multiple-click"===this.selectionMode)return null;const r=e.getIsSelected();return t("td",{class:"data-grid-cell data-grid-cell-select",onClick:t=>t.stopPropagation(),role:"cell"},"single-radio"===this.selectionMode?t("bh-radio-button",{onBhChange:()=>{this.table?.resetRowSelection(),e.toggleSelected(!0)},selected:r}):t("bh-checkbox",{checked:r,onBhChange:()=>e.toggleSelected(),size:"sm"}))}renderCell(e,r){const a=r.column.columnDef.meta,i=r.column.id,o=this.isEditing(e.id,i),n=this.enableEditing&&!1!==a?.editable,l=!!this.validationErrors[i],c=e.id,h=s(i,this.columnPinning),u="left"===h,g="right"===h,p=u||g,b=this.getEffectiveFocusedCell(),m=this.enableFocusTracking&&b?.rowId===c&&b?.columnId===i,v={"data-grid-cell":!0,["data-grid-cell-align-"+(a?.align||("number"===a?.type?"right":"left"))]:!0,["data-grid-cell-type-"+(a?.type||"text")]:!0,"data-grid-cell-editing":o,"data-grid-cell-editable":n&&!o,"data-grid-cell-error":l,"data-grid-cell-pinned":p,"data-grid-cell-pinned-left":u,"data-grid-cell-pinned-right":g,"data-grid-cell-focused":m},f=this.getColumnWidth(i,r.column.getSize()),w=f?{width:f+"px",minWidth:f+"px"}:{};if(u){const t=r.column.getSize()??150;w.position="sticky",w.left=d(i,"left",this.columnPinning,this.columnSizes,t)+"px",w.zIndex="1"}else if(g){const t=r.column.getSize()??150;w.position="sticky",w.right=d(i,"right",this.columnPinning,this.columnSizes,t)+"px",w.zIndex="1"}return t("td",{class:v,"data-column-id":i,key:r.id,onClick:t=>{t.stopPropagation(),this.handleCellClick(e,r)},onDblClick:t=>{t.stopPropagation(),this.handleCellDoubleClick(e,r)},onFocus:t=>{this.enableFocusTracking&&(t.stopPropagation(),this.handleCellFocus(e.original,c,e.index,i,r.getValue()))},onKeyDown:t=>{this.enableFocusTracking&&this.enableKeyboardNavigation&&this.handleKeyboardNavigation(t,c,e.index,i)},role:"cell",style:w,tabIndex:this.enableFocusTracking?-1:void 0},o?this.renderEditInput(r):this.renderCellContent(r,c),l&&t("span",{class:"data-grid-cell-error-text"},this.validationErrors[i]))}renderCellContent(t,e){const r=this.flexRender(t.column.columnDef.cell,t.getContext());if(null!=r&&r!==t.getValue())return r;const a=this.formatCellValue(t.getValue(),t.column.columnDef.meta);if(this.enableSearchPanel&&this.highlightSearchResults&&e&&this.searchPanelText.trim()){const r=this.getCellSearchMatches(e,t.column.id);if(r.length>0)return this.highlightSearchText(a,r)}return a}renderEditInput(e){const r=e.column.id,a=e.column.columnDef.meta,i=this.editingValues[r]??e.getValue(),o="number"===a?.type?"number":"date"===a?.type?"date":"boolean"===a?.type?"checkbox":"text";return"boolean"===a?.type?t("bh-checkbox",{checked:!!i,onBhChange:t=>this.handleEditValueChange(r,t.detail.checked),size:"sm"}):t("input",{class:"data-grid-edit-input",onInput:t=>{const e=t.target;this.handleEditValueChange(r,"number"===a?.type?Number(e.value):e.value)},onKeyDown:t=>this.handleEditKeyDown(t,r),ref:t=>{t&&(this.pendingFocusRafId=requestAnimationFrame((()=>{this.pendingFocusRafId=void 0,t.focus()})))},type:o,value:null==i?"":i+""})}renderGroupRow(e){const r=e.getIsExpanded(),a=e.groupingColumnId,i=e.groupingValue,o=e.getLeafRows(),n=o.every((t=>t.getIsSelected())),l=o.some((t=>t.getIsSelected())),s={"data-grid-row":!0,"data-grid-row-group":!0,"data-grid-row-group-expanded":r},d=this.getColumnCount(),c="multiple-checkbox"===this.selectionMode,h=Math.max(1,c?d-1:d);return[t("tr",{"aria-expanded":r?"true":"false",class:s,key:e.id,onClick:()=>this.handleGroupToggle(e),role:"row"},c&&t("td",{class:"data-grid-cell data-grid-cell-select",onClick:t=>t.stopPropagation(),role:"cell"},t("bh-checkbox",{checked:n,indeterminate:l&&!n,onBhChange:()=>{for(const t of o)t.toggleSelected(!n)},size:"sm"})),t("td",{class:"data-grid-cell data-grid-cell-group-label",colSpan:h,role:"cell"},t("button",{"aria-label":r?this.resolvedLabels.collapseGroup:this.resolvedLabels.expandGroup,class:"data-grid-group-toggle"},t("span",{class:"material-symbols-outlined"},r?"expand_more":"chevron_right")),t("span",{class:"data-grid-group-label"},t("span",{class:"data-grid-group-column"},a,": "),t("span",{class:"data-grid-group-value"},i+"")),t("span",{class:"data-grid-group-count"},"(",o.length," ",1===o.length?"item":"items",")"))),r&&e.subRows.map((t=>t.getIsGrouped()?this.renderGroupRow(t):this.renderDataRow(t)))]}renderEmptyState(){return t("tbody",{class:"data-grid-body",role:"rowgroup"},t("tr",{class:"data-grid-empty",role:"row"},t("td",{colSpan:this.columns.length+("single-radio"===this.selectionMode||"multiple-checkbox"===this.selectionMode?1:0)+(this.enableExpansion&&!this.enableGrouping?1:0)+(this.enableEditing&&this.showEditActions&&"row"===this.editMode?1:0),role:"cell"},t("div",{class:"empty-state-wrapper"},t("bh-empty-state",{description:this.emptyDescription,emptyTitle:this.emptyTitle})))))}renderSkeleton(){const e=Array.from({length:this.skeletonRowCount},((t,e)=>e)),r=this.columns.length+("single-radio"===this.selectionMode||"multiple-checkbox"===this.selectionMode?1:0)+(this.enableExpansion&&!this.enableGrouping?1:0)+(this.enableEditing&&this.showEditActions&&"row"===this.editMode?1:0);return t("tbody",{class:"data-grid-body data-grid-skeleton"},e.map((e=>t("tr",{class:"data-grid-row data-grid-row-skeleton",key:e},Array.from({length:r},((e,r)=>t("td",{class:"data-grid-cell",key:r},t("bh-skeleton-loader",{height:"16px",width:"80%"}))))))))}renderLoadingOverlay(){return this.loading&&"spinner"===this.loadingType?t("div",{class:"data-grid-loading-overlay"},t("bh-loader-spinner",{size:"lg"})):null}renderFormEditModal(){if(!this.formEditModalOpen)return null;if("form"!==this.editMode&&"popup"!==this.editMode)return null;const e=this.formEditConfig||{},r=this.formEditIsNew?e.addTitle||this.resolvedLabels.addNewRow:e.editTitle||this.resolvedLabels.editRow,a=e.modalWidth||"md",i=e.fields||this.columns.map((t=>{const e=Lt(t),r=t.meta;return{columnId:e,label:"string"==typeof t.header?t.header:e,inputType:"number"===r?.type?"number":"date"===r?.type?"date":"text",required:!1,disabled:!1===r?.editable,readOnly:!1===r?.editable}})),o=e.formRenderer&&this.formEditRowData?e.formRenderer(this.formEditRowData,this.formEditIsNew):void 0;return t("bh-modal",{ariaLabel:r,class:"data-grid-form-edit-modal",onBhClose:()=>this.closeFormEditModal(),visible:this.formEditModalOpen,width:a},t("div",{class:"data-grid-form-edit-header",slot:"header"},t("h2",{class:"data-grid-form-edit-title"},r),t("button",{"aria-label":this.resolvedLabels.close,class:"data-grid-form-edit-close",onClick:()=>this.closeFormEditModal()},t("span",{class:"material-symbols-outlined"},"close"))),t("div",{class:"data-grid-form-edit-content"},void 0===o?t("div",{class:"data-grid-form-edit-fields"},i.map((t=>this.renderFormField(t)))):t("div",{innerHTML:"string"==typeof o?q(o):void 0},"string"==typeof o?null:o)),!1!==e.showFooter&&t("div",{class:"data-grid-form-edit-footer",slot:"actions"},t("bh-button",{hierarchy:"secondary",onClick:()=>this.closeFormEditModal()},e.cancelButtonText||this.resolvedLabels.cancel),t("bh-button",{hierarchy:"primary",onClick:()=>this.saveFormEdit()},e.saveButtonText||this.resolvedLabels.save)))}renderFormField(e){const r=this.formEditValues[e.columnId],a=this.formEditErrors[e.columnId];return t("div",{class:{"data-grid-form-field":!0,"data-grid-form-field-error":!!a,"data-grid-form-field-required":!!e.required},key:e.columnId},t("label",{class:"data-grid-form-label"},e.label||e.columnId,e.required&&t("span",{class:"data-grid-form-required"},"*")),this.renderFormInput(e,r),a&&t("span",{class:"data-grid-form-error"},a))}renderFormInput(e,r){switch(e.inputType||"text"){case"select":return t("select",{class:"data-grid-form-input data-grid-form-select",disabled:e.disabled,onChange:t=>this.handleFormFieldChange(e.columnId,t.target.value)},t("option",{selected:!r,value:""},e.placeholder||this.resolvedLabels.selectPlaceholder),e.options?.map((e=>t("option",{key:e.value,selected:r===e.value,value:e.value},e.label))));case"textarea":return t("textarea",{class:"data-grid-form-input data-grid-form-textarea",disabled:e.disabled,onInput:t=>this.handleFormFieldChange(e.columnId,t.target.value),placeholder:e.placeholder,readOnly:e.readOnly,value:r});case"checkbox":return t("input",{checked:!!r,class:"data-grid-form-checkbox",disabled:e.disabled,onChange:t=>this.handleFormFieldChange(e.columnId,t.target.checked),type:"checkbox"});case"number":return t("input",{class:"data-grid-form-input",disabled:e.disabled,onInput:t=>this.handleFormFieldChange(e.columnId,Number.parseFloat(t.target.value)||0),placeholder:e.placeholder,readOnly:e.readOnly,type:"number",value:r});case"date":return t("input",{class:"data-grid-form-input",disabled:e.disabled,onInput:t=>this.handleFormFieldChange(e.columnId,t.target.value),readOnly:e.readOnly,type:"date",value:r});default:return t("input",{class:"data-grid-form-input",disabled:e.disabled,onInput:t=>this.handleFormFieldChange(e.columnId,t.target.value),placeholder:e.placeholder,readOnly:e.readOnly,type:"text",value:r})}}renderTotalSummary(){if(!this.enableTotalSummary||!this.totalSummary?.items?.length)return null;const e=this.table?.getFilteredRowModel().rows.map((t=>t.original))??[],r=new Map;for(const t of this.totalSummary.items){const e=r.get(t.columnId)||[];r.set(t.columnId,[...e,t])}return t("tfoot",{class:"data-grid-summary-footer"},t("tr",{class:"data-grid-summary-row",role:"row"},this.enableRowDragging&&this.showDragHandle&&t("td",{class:"data-grid-summary-cell",role:"cell"}),("single-radio"===this.selectionMode||"multiple-checkbox"===this.selectionMode)&&t("td",{class:"data-grid-summary-cell",role:"cell"}),(this.enableExpansion||this.enableMasterDetail)&&!this.enableGrouping&&t("td",{class:"data-grid-summary-cell",role:"cell"}),this.columns.map((a=>{const i=Lt(a),o=r.get(i);return o&&0!==o.length?t("td",{class:"data-grid-summary-cell",key:i,role:"cell"},o.map(((r,a)=>{const i=this.calculateSummaryValue(r,e),o=this.formatSummaryValue(r,i),n=this.getSummaryLabel(r);return t("div",{class:"data-grid-summary-item",key:a},n&&t("span",{class:"data-grid-summary-label"},n,": "),t("span",{class:"data-grid-summary-value"},o))}))):t("td",{class:"data-grid-summary-cell",key:i,role:"cell"})})),this.enableEditing&&this.showEditActions&&"row"===this.editMode&&t("td",{class:"data-grid-summary-cell",role:"cell"})))}renderPagination(){return function(e){if(!e.enablePagination||!e.table)return null;const r=e.table.getFilteredRowModel().rows.length;return t("bh-pagination",{compact:!0,onBhPageChange:e.onPaginationChange,onBhPageSizeChange:e.onPaginationChange,page:e.page,pageSize:e.pageSize,pageSizeOptions:e.pageSizeOptions,showItemCount:!1,totalItems:r})}({enablePagination:this.enablePagination,table:this.table,page:this.page,pageSize:this.pageSize,pageSizeOptions:this.pageSizeOptions,onPaginationChange:this.handlePaginationChange})}render(){if(this.renderTimer&&this.renderTimer(),this.renderTimer=N.startTimer(V.COMPONENT_RENDER,{component:"bh-data-grid",row_count:(this.data?.length??0)+"",column_count:(this.columns?.length??0)+"",has_pagination:this.enablePagination+"",has_virtual_scroll:this.enableVirtualScrolling+""}),this.hasFatalError)return t("div",{class:"data-grid data-grid-fatal-error",role:"grid"},t("div",{class:"empty-state-wrapper"},t("bh-empty-state",{description:this.fatalErrorMessage??void 0,emptyTitle:"Something went wrong"})));const e={"data-grid":!0,["data-grid-"+this.size]:!0,"data-grid-bordered":this.bordered,"data-grid-striped":this.striped,"data-grid-loading":this.loading,"data-grid-virtual":this.enableVirtualScrolling},r={};this.enableVirtualScrolling?(r.height=this.virtualScrollHeight+"px",r.overflowY="auto"):this.maxHeight&&(r.maxHeight=this.maxHeight,r.overflowY="auto");const a=this.toolbarConfig?.position||this.toolbarPosition,i="top"===a||"both"===a,o="bottom"===a||"both"===a;return t("div",{"aria-busy":this.loading?"true":"false",class:e,part:"grid",role:"grid"},t("span",{"aria-atomic":"true","aria-live":"polite",role:"status",style:{border:"0",clip:"rect(0,0,0,0)",height:"1px",overflow:"hidden",padding:"0",position:"absolute",whiteSpace:"nowrap",width:"1px"}},this.loading?"Loading table data":""),"top"===this.captionPosition&&this.renderCaption(),i&&this.renderToolbar(),"above"===this.searchPanelPosition&&this.renderSearchPanel(),!this.enableColumnChooser&&this.renderGlobalFilter(),t("div",{class:"data-grid-container",onScroll:this.enableVirtualScrolling?this.handleVirtualScroll:void 0,part:"container",ref:this.setScrollContainerRef,style:r},t("table",{"aria-label":this.caption||void 0,class:"data-grid-table",part:"table",role:"table"},this.renderHeader(),this.renderBody(),this.renderTotalSummary()),this.renderLoadingOverlay()),"below"===this.searchPanelPosition&&this.renderSearchPanel(),o&&this.renderToolbar(),"bottom"===this.captionPosition&&this.renderCaption(),this.renderPagination(),this.renderFormEditModal(),this.renderContextMenu(),this.renderErrorNotification())}static get watchers(){return{data:[{handleDataChange:0}],columns:[{handleDataChange:0}],sortState:[{handleSortStateChange:0}],filterState:[{handleFilterStateChange:0}],selectedRowIds:[{handleSelectedRowIdsChange:0}],page:[{handlePaginationPropChange:0}],pageSize:[{handlePaginationPropChange:0}],expandedRowIds:[{handleExpandedRowIdsChange:0}],groupBy:[{handleGroupByChange:0}]}}static get style(){return'@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.5}}:root{--bh-breakpoint-xs:0;--bh-breakpoint-sm:576px;--bh-breakpoint-md:768px;--bh-breakpoint-lg:992px;--bh-breakpoint-xl:1200px;--bh-breakpoint-xxl:1400px;--bh-container-sm:540px;--bh-container-md:720px;--bh-container-lg:960px;--bh-container-xl:1140px;--bh-container-xxl:1320px}@layer bh-tokens,bh-base,bh-variants,bh-states,bh-utilities; @layer bh-tokens{:host{display:block;--bh-data-grid-cell-height:40px;--bh-data-grid-cell-height-compact:32px;--bh-data-grid-cell-height-relaxed:48px;--bh-data-grid-cell-padding-x:var(--spacing-lg);--bh-data-grid-header-gap:var(--spacing-xs);--bh-data-grid-header-bg:var(--color-white);--bh-data-grid-header-bg-alt:var(--color-neutral-50);--bh-data-grid-header-color:var(--color-neutral-600);--bh-data-grid-border-color:var(--color-neutral-200);--bh-data-grid-cell-color:var(--color-neutral-700);--bh-data-grid-row-bg:var(--color-white);--bh-data-grid-row-bg-alt:var(--color-neutral-50);--bh-data-grid-row-hover-bg:var(--color-neutral-50);--bh-data-grid-row-selected-bg:var(--color-brand-50);--bh-data-grid-edit-border-color:var(--color-neutral-300);--bh-data-grid-edit-active-border-color:var(--color-brand-600);--bh-data-grid-sort-icon-size:var(--icon-size-sm);--bh-data-grid-content-gap:var(--spacing-md);--bh-data-grid-header-hover-color:var(--color-neutral-700);--bh-data-grid-filter-border-filled:var(--color-brand-500);--bh-data-grid-pagination-btn-size:var(--bh-button-height-sm);--bh-data-grid-search-nav-btn-size:var(--icon-size-xl);--bh-data-grid-context-menu-min-width:180px;--bh-data-grid-dropdown-min-width:160px;--bh-data-grid-column-chooser-min-width:220px;--bh-data-grid-column-chooser-max-height:300px;--bh-data-grid-row-modified-border-color:var(--color-warning-400);--bh-data-grid-row-modified-border-width:var( --data-grid-indicator-border-width );--bh-data-grid-row-modified-bg:var(--color-warning-50);--bh-data-grid-row-inserted-border-color:var(--color-success-500);--bh-data-grid-row-inserted-border-width:var( --data-grid-indicator-border-width );--bh-data-grid-row-inserted-bg:var(--color-success-50);--bh-data-grid-row-deleted-border-color:var(--color-error-500);--bh-data-grid-row-deleted-border-width:var( --data-grid-indicator-border-width );--bh-data-grid-row-deleted-bg:var(--color-error-50);--bh-data-grid-row-deleted-opacity:0.6;--bh-data-grid-cell-modified-bg:var(--color-warning-100)}}@layer bh-base{.data-grid{font-family:var(--font-inter);color:var(--color-neutral-900);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--bh-data-grid-border-color)}.data-grid-container{overflow-x:auto;position:relative}.data-grid-table{width:100%;border-collapse:collapse;table-layout:fixed}.data-grid-header{background-color:var(--bh-data-grid-header-bg)}.data-grid-header-row{border-bottom:1px solid var(--bh-data-grid-border-color)}.data-grid-header-cell{height:var(--bh-data-grid-cell-height);padding:0 var(--bh-data-grid-cell-padding-x);border-bottom:1px solid var(--bh-data-grid-border-color);font-size:var(--text-xs-size);font-weight:var(--weight-semibold);line-height:var(--text-xs-line);letter-spacing:0;color:var(--bh-data-grid-header-color);background-color:var(--bh-data-grid-header-bg);text-align:left;vertical-align:middle;white-space:nowrap}.data-grid-header-cell:hover{color:var(--bh-data-grid-header-hover-color)}.data-grid-header-content{display:flex;align-items:center;gap:var(--bh-data-grid-header-gap);min-width:0;flex:1}.data-grid-header-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.data-grid-sort-indicator{display:flex;align-items:center;flex-shrink:0}.data-grid-sort-indicator .material-symbols-outlined{font-size:var(--bh-data-grid-sort-icon-size)}.data-grid-sort-inactive{opacity:0;transition:opacity var(--animation-duration-fast) ease}.data-grid-header-cell:hover .data-grid-sort-inactive{opacity:0.4}.data-grid-resize-handle{position:absolute;top:0;right:0;width:var(--spacing-xs);height:100%;cursor:col-resize;user-select:none;background-color:transparent;transition:background-color var(--animation-duration-fast) ease}.data-grid-resize-handle:hover{background-color:var(--color-brand-500)}.data-grid-pin-indicator{font-size:var(--bh-data-grid-sort-icon-size);color:var(--color-neutral-400);flex-shrink:0}.data-grid-header-filter{display:flex;align-items:center;gap:var(--spacing-xxs);padding:var(--spacing-xs) var(--bh-data-grid-cell-padding-x);border-bottom:1px solid var(--bh-data-grid-border-color)}.data-grid-header-filter-filled{border-bottom-color:var(--bh-data-grid-filter-border-filled)}.data-grid-header-filter-button{display:flex;align-items:center;justify-content:center;padding:0;background:none;border:none;border-radius:var(--radius-md);cursor:pointer;flex-shrink:0;overflow:hidden}.data-grid-header-filter-button .material-symbols-outlined{font-size:var(--icon-size-lg);color:var(--color-neutral-400)}.data-grid-header-filter-filled .data-grid-header-filter-button .material-symbols-outlined{color:var(--color-brand-500)}.data-grid-header-filter-input{flex:1;min-width:0}.data-grid-header-filter-text{font-size:var(--text-xs-size);font-weight:var(--weight-regular);line-height:var(--text-xs-line);color:var(--bh-data-grid-header-color)}.data-grid-body{background-color:var(--bh-data-grid-row-bg)}.data-grid-row{border-bottom:1px solid var(--bh-data-grid-border-color);background-color:var(--bh-data-grid-row-bg);transition:background-color var(--animation-duration-fast) ease}.data-grid-row:last-child{border-bottom:none}.data-grid-cell{height:var(--bh-data-grid-cell-height);padding:0 var(--bh-data-grid-cell-padding-x);font-size:var(--text-sm-size);font-weight:var(--weight-regular);line-height:var(--text-sm-line);color:var(--bh-data-grid-cell-color);vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-grid-cell-align-left{text-align:left}.data-grid-cell-align-center{text-align:center}.data-grid-cell-align-right{text-align:right;font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"lnum" 1, "tnum" 1;letter-spacing:-0.5px;color:var(--color-neutral-900)}.data-grid-cell-select{width:var(--bh-data-grid-touch-target-size);min-width:var(--bh-data-grid-touch-target-size);text-align:center;padding:0 var(--bh-data-grid-cell-padding-x)}.data-grid-cell-expand{width:var(--bh-data-grid-touch-target-size);min-width:var(--bh-data-grid-touch-target-size);text-align:center;padding:0}.data-grid-cell-drag-handle{width:var(--bh-data-grid-touch-target-size);min-width:var(--bh-data-grid-touch-target-size);text-align:center;padding:0;cursor:grab}.data-grid-cell-drag-handle:active{cursor:grabbing}.data-grid-cell-actions{width:auto;text-align:right;white-space:nowrap}.data-grid-expand-button{display:inline-flex;align-items:center;justify-content:center;width:var(--icon-size-lg);height:var(--icon-size-lg);padding:0;background:none;border:none;border-radius:var(--radius-sm);color:var(--color-neutral-600);cursor:pointer;transition:background-color var(--animation-duration-fast) ease, color var(--animation-duration-fast) ease}.data-grid-expand-button:hover{background-color:var(--color-neutral-100);color:var(--color-neutral-800)}.data-grid-expand-button .material-symbols-outlined{font-size:var(--icon-size-lg)}.data-grid-drag-handle{color:var(--color-neutral-400)}.data-grid-drag-handle .material-symbols-outlined{font-size:var(--icon-size-md)}.data-grid-cell-drag-disabled{opacity:0.4;cursor:not-allowed}.data-grid-cell-pinned{background-color:inherit}.data-grid-footer{border-top:1px solid var(--bh-data-grid-border-color)}.data-grid-summary-row{background-color:var(--color-neutral-50)}.data-grid-summary-row .data-grid-cell{font-weight:var(--weight-semibold)}.data-grid-summary-label{font-size:var(--text-xs-size);color:var(--color-neutral-500);display:block;margin-bottom:var(--spacing-xxs)}.data-grid-summary-value{font-variant-numeric:tabular-nums}.data-grid-cell-summary{border-bottom:none}.data-grid-pagination{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--bh-data-grid-cell-padding-x);border-top:1px solid var(--bh-data-grid-border-color);background-color:var(--bh-data-grid-row-bg);font-size:var(--text-sm-size);color:var(--color-neutral-600)}.data-grid-pagination-info{display:flex;align-items:center;gap:var(--spacing-sm)}.data-grid-pagination-rows{color:var(--color-neutral-600)}.data-grid-pagination-controls{display:flex;align-items:center;gap:var(--spacing-lg)}.data-grid-pagination-nav{display:flex;align-items:center;gap:var(--spacing-xs)}.data-grid-pagination-button{display:inline-flex;align-items:center;justify-content:center;min-width:var(--bh-data-grid-pagination-btn-size);height:var(--bh-data-grid-pagination-btn-size);padding:0 var(--spacing-sm);background:none;border:none;border-radius:var(--radius-md);color:var(--color-neutral-600);font-size:var(--text-sm-size);font-weight:var(--weight-medium);cursor:pointer;transition:background-color var(--animation-duration-fast) ease, color var(--animation-duration-fast) ease}.data-grid-pagination-button:hover:not(:disabled){background-color:var(--color-neutral-100)}.data-grid-pagination-button:disabled{opacity:0.4;cursor:not-allowed}.data-grid-pagination-button[aria-current=page]{background-color:var(--color-brand-600);color:var(--color-white)}.data-grid-pagination-button .material-symbols-outlined{font-size:var(--icon-size-sm)}.data-grid-pagination-pages{display:flex;align-items:center;gap:var(--spacing-xxs)}.data-grid-pagination-page-size{display:flex;align-items:center;gap:var(--spacing-sm)}.data-grid-pagination-page-size select{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--bh-data-grid-border-color);border-radius:var(--radius-sm);font-size:var(--text-sm-size);color:var(--color-neutral-700);background-color:var(--color-white);cursor:pointer}.data-grid-pagination-page-size select:focus{outline:none;border-color:var(--color-brand-500);box-shadow:0 0 0 2px var(--color-brand-100)}.empty-state-wrapper{display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl)}.data-grid-row-empty .data-grid-cell{text-align:center;color:var(--color-neutral-500);padding:var(--spacing-xl);height:auto}.data-grid-search-highlight{background-color:var(--color-warning-100);border-radius:var(--radius-xxs);padding:0 1px}.data-grid-search-highlight-current{background-color:var(--color-warning-300)}.data-grid-search-panel{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--bh-data-grid-cell-padding-x);background-color:var(--color-neutral-50);border-bottom:1px solid var(--bh-data-grid-border-color)}.data-grid-search-panel-input-wrapper{display:flex;align-items:center;gap:var(--spacing-xs);flex:1;min-width:0}.data-grid-search-panel-icon{font-size:var(--icon-size-sm);color:var(--color-neutral-400);flex-shrink:0}.data-grid-search-panel-input{flex:1;min-width:0;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--bh-data-grid-border-color);border-radius:var(--radius-sm);font-size:var(--text-sm-size);color:var(--color-neutral-900);background-color:var(--color-white)}.data-grid-search-panel-input:focus{outline:none;border-color:var(--color-brand-500);box-shadow:0 0 0 2px var(--color-brand-100)}.data-grid-search-panel-input::placeholder{color:var(--color-neutral-400)}.data-grid-search-panel-clear{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-xs);background:none;border:none;color:var(--color-neutral-400);cursor:pointer;border-radius:var(--radius-sm)}.data-grid-search-panel-clear:hover{color:var(--color-neutral-600);background-color:var(--color-neutral-100)}.data-grid-search-panel-results{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0}.data-grid-search-count{font-size:var(--text-xs-size);color:var(--color-neutral-500);white-space:nowrap}.data-grid-search-nav{display:flex;align-items:center;gap:var(--spacing-xs)}.data-grid-search-nav-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--bh-data-grid-search-nav-btn-size);height:var(--bh-data-grid-search-nav-btn-size);padding:0;background:none;border:1px solid var(--bh-data-grid-border-color);border-radius:var(--radius-sm);color:var(--color-neutral-600);cursor:pointer}.data-grid-search-nav-btn:hover:not(:disabled){background-color:var(--color-neutral-100)}.data-grid-search-nav-btn:disabled{opacity:0.4;cursor:not-allowed}.data-grid-search-nav-btn .material-symbols-outlined{font-size:var(--icon-size-sm)}.data-grid-global-filter{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--bh-data-grid-cell-padding-x);background-color:var(--color-neutral-50);border-bottom:1px solid var(--bh-data-grid-border-color)}.data-grid-search-icon{font-size:var(--icon-size-sm);color:var(--color-neutral-400)}.data-grid-global-filter-input{flex:1;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--bh-data-grid-border-color);border-radius:var(--radius-sm);font-size:var(--text-sm-size);color:var(--color-neutral-900);background-color:var(--color-white)}.data-grid-global-filter-input:focus{outline:none;border-color:var(--color-brand-500);box-shadow:0 0 0 2px var(--color-brand-100)}.data-grid-global-filter-input::placeholder{color:var(--color-neutral-400)}.data-grid-context-menu{min-width:var(--bh-data-grid-context-menu-min-width);padding:var(--spacing-xs) 0;background-color:var(--color-white);border:1px solid var(--bh-data-grid-border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:var(--bh-z-index-dropdown)}.data-grid-context-menu-item{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);background:none;border:none;cursor:pointer;font-size:var(--text-sm-size);color:var(--color-neutral-700);transition:background-color var(--animation-duration-fast) ease;position:relative}.data-grid-context-menu-item:hover{background-color:var(--color-neutral-100)}.data-grid-context-menu-item-disabled{opacity:0.4;cursor:not-allowed;pointer-events:none}.data-grid-context-menu-item-icon{font-size:var(--icon-size-sm);color:var(--color-neutral-500);flex-shrink:0}.data-grid-context-menu-item-label{flex:1;text-align:left}.data-grid-context-menu-item-arrow{font-size:var(--icon-size-sm);color:var(--color-neutral-400);flex-shrink:0}.data-grid-context-menu-submenu{position:absolute;left:100%;top:0;min-width:var(--bh-data-grid-dropdown-min-width);padding:var(--spacing-xs) 0;background-color:var(--color-white);border:1px solid var(--bh-data-grid-border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.data-grid-context-menu-item-open{background-color:var(--color-neutral-100)}.data-grid-context-menu-divider{height:1px;margin:var(--spacing-xs) 0;background-color:var(--bh-data-grid-border-color)}.data-grid-export{position:relative}.data-grid-export-btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:none;border:1px solid var(--bh-data-grid-border-color);border-radius:var(--radius-sm);font-size:var(--text-sm-size);color:var(--color-neutral-700);cursor:pointer;transition:background-color var(--animation-duration-fast) ease, border-color var(--animation-duration-fast) ease}.data-grid-export-btn:hover{background-color:var(--color-neutral-100);border-color:var(--color-neutral-300)}.data-grid-export-btn .material-symbols-outlined{font-size:var(--icon-size-sm)}.data-grid-export-btn-active{background-color:var(--color-neutral-100);border-color:var(--color-neutral-300)}.data-grid-export-label{white-space:nowrap}.data-grid-export-arrow{font-size:var(--icon-size-sm);transition:transform var(--animation-duration-fast) ease}.data-grid-export-dropdown{position:absolute;top:100%;right:0;z-index:var(--bh-z-index-dropdown);min-width:var(--bh-data-grid-dropdown-min-width);margin-top:var(--spacing-xs);padding:var(--spacing-xs) 0;background-color:var(--color-white);border:1px solid var(--bh-data-grid-border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.data-grid-export-option{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);background:none;border:none;cursor:pointer;font-size:var(--text-sm-size);color:var(--color-neutral-700);transition:background-color var(--animation-duration-fast) ease}.data-grid-export-option:hover{background-color:var(--color-neutral-100)}.data-grid-column-chooser{position:relative}.data-grid-column-chooser-btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:none;border:1px solid var(--bh-data-grid-border-color);border-radius:var(--radius-sm);font-size:var(--text-sm-size);color:var(--color-neutral-700);cursor:pointer;transition:background-color var(--animation-duration-fast) ease, border-color var(--animation-duration-fast) ease}.data-grid-column-chooser-btn:hover{background-color:var(--color-neutral-100);border-color:var(--color-neutral-300)}.data-grid-column-chooser-btn .material-symbols-outlined{font-size:var(--icon-size-sm)}.data-grid-column-chooser-btn-active{background-color:var(--color-neutral-100);border-color:var(--color-neutral-300)}.data-grid-column-chooser-label{white-space:nowrap}.data-grid-column-chooser-dropdown{position:absolute;top:100%;right:0;z-index:var(--bh-z-index-dropdown);min-width:var(--bh-data-grid-column-chooser-min-width);margin-top:var(--spacing-xs);background-color:var(--color-white);border:1px solid var(--bh-data-grid-border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden}.data-grid-column-chooser-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--bh-data-grid-border-color)}.data-grid-column-chooser-title{font-size:var(--text-sm-size);font-weight:var(--weight-semibold);color:var(--color-neutral-900)}.data-grid-column-chooser-close{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-xs);background:none;border:none;color:var(--color-neutral-400);cursor:pointer;border-radius:var(--radius-sm)}.data-grid-column-chooser-close:hover{color:var(--color-neutral-600);background-color:var(--color-neutral-100)}.data-grid-column-chooser-actions{display:flex;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md);border-bottom:1px solid var(--color-neutral-100)}.data-grid-column-chooser-action{font-size:var(--text-xs-size);color:var(--color-brand-600);background:none;border:none;cursor:pointer;padding:var(--spacing-xs) 0}.data-grid-column-chooser-action:hover{color:var(--color-brand-700);text-decoration:underline}.data-grid-column-chooser-list{max-height:var(--bh-data-grid-column-chooser-max-height);overflow-y:auto;padding:var(--spacing-xs) 0}.data-grid-column-chooser-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md);cursor:pointer;transition:background-color var(--animation-duration-fast) ease}.data-grid-column-chooser-item:hover{background-color:var(--color-neutral-50)}.data-grid-column-chooser-item-hidden{opacity:0.5}.data-grid-column-chooser-item-text{font-size:var(--text-sm-size);color:var(--color-neutral-700)}.data-grid-toolbar-btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:none;border:1px solid var(--bh-data-grid-border-color);border-radius:var(--radius-sm);font-size:var(--text-sm-size);color:var(--color-neutral-700);cursor:pointer;transition:background-color var(--animation-duration-fast) ease, border-color var(--animation-duration-fast) ease}.data-grid-toolbar-btn:hover{background-color:var(--color-neutral-100);border-color:var(--color-neutral-300)}.data-grid-toolbar-btn .material-symbols-outlined{font-size:var(--icon-size-sm)}.data-grid-toolbar-btn-primary{background-color:var(--color-brand-600);border-color:var(--color-brand-600);color:var(--color-white)}.data-grid-toolbar-btn-primary:hover{background-color:var(--color-brand-700);border-color:var(--color-brand-700)}.data-grid-skeleton .data-grid-cell,.data-grid-body-skeleton .data-grid-cell{padding:var(--spacing-sm) var(--bh-data-grid-cell-padding-x)}.data-grid-row-skeleton .data-grid-cell{padding:var(--spacing-sm) var(--bh-data-grid-cell-padding-x)}.data-grid-filter-row{background-color:var(--bh-data-grid-header-bg);border-bottom:1px solid var(--bh-data-grid-border-color)}.data-grid-filter-cell{padding:var(--spacing-xs) var(--bh-data-grid-cell-padding-x);vertical-align:middle}.data-grid-filter-icon{font-size:var(--icon-size-sm);color:var(--color-neutral-400);flex-shrink:0}.data-grid-filter-input{width:100%;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--bh-data-grid-border-color);border-radius:var(--radius-sm);font-size:var(--text-xs-size);line-height:var(--text-xs-line);color:var(--color-neutral-900);background-color:var(--color-white)}.data-grid-filter-input:focus{outline:none;border-color:var(--color-brand-500);box-shadow:0 0 0 2px var(--color-brand-100)}.data-grid-filter-input::placeholder{color:var(--color-neutral-400)}.data-grid-header-filter-dropdown{position:absolute;top:100%;left:0;z-index:var(--bh-z-index-dropdown);min-width:var(--bh-data-grid-column-chooser-min-width);margin-top:var(--spacing-xs);background-color:var(--color-white);border:1px solid var(--bh-data-grid-border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden}.data-grid-header-filter-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--bh-data-grid-border-color)}.data-grid-header-filter-title{font-size:var(--text-sm-size);font-weight:var(--weight-semibold);color:var(--color-neutral-900)}.data-grid-header-filter-close{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-xs);background:none;border:none;color:var(--color-neutral-400);cursor:pointer;border-radius:var(--radius-sm)}.data-grid-header-filter-close:hover{color:var(--color-neutral-600);background-color:var(--color-neutral-100)}.data-grid-header-filter-search{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-neutral-100)}.data-grid-header-filter-search-icon{font-size:var(--icon-size-sm);color:var(--color-neutral-400);flex-shrink:0}.data-grid-header-filter-search-input{flex:1;min-width:0;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--bh-data-grid-border-color);border-radius:var(--radius-sm);font-size:var(--text-xs-size);line-height:var(--text-xs-line);color:var(--color-neutral-900);background-color:var(--color-white)}.data-grid-header-filter-search-input:focus{outline:none;border-color:var(--color-brand-500);box-shadow:0 0 0 2px var(--color-brand-100)}.data-grid-header-filter-search-input::placeholder{color:var(--color-neutral-400)}.data-grid-header-filter-actions{display:flex;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md);border-bottom:1px solid var(--color-neutral-100)}.data-grid-header-filter-action{font-size:var(--text-xs-size);color:var(--color-brand-600);background:none;border:none;cursor:pointer;padding:var(--spacing-xs) 0}.data-grid-header-filter-action:hover{color:var(--color-brand-700);text-decoration:underline}.data-grid-header-filter-list{max-height:var(--bh-data-grid-column-chooser-max-height);overflow-y:auto;padding:var(--spacing-xs) 0}.data-grid-header-filter-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md);cursor:pointer;transition:background-color var(--animation-duration-fast) ease}.data-grid-header-filter-item:hover{background-color:var(--color-neutral-50)}.data-grid-header-filter-item-all{border-bottom:1px solid var(--color-neutral-100);font-weight:var(--weight-medium)}.data-grid-header-filter-item-text{flex:1;font-size:var(--text-sm-size);color:var(--color-neutral-700);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-grid-header-filter-item-count{font-size:var(--text-xs-size);color:var(--color-neutral-400);flex-shrink:0}.data-grid-header-filter-empty{padding:var(--spacing-md);text-align:center;font-size:var(--text-sm-size);color:var(--color-neutral-500)}.data-grid-edit-input{width:100%;padding:var(--spacing-sm) 0;border:none;border-bottom:2px solid var(--bh-data-grid-edit-active-border-color);font-family:var(--font-inter);font-size:var(--text-sm-size);line-height:var(--text-sm-line);color:var(--bh-data-grid-cell-color);background-color:transparent;outline:none}.data-grid-edit-input::placeholder{color:var(--color-neutral-400)}.data-grid-edit-actions{display:flex;align-items:center;gap:var(--spacing-xs)}.data-grid-cell-error-text{display:block;font-size:var(--text-xs-size);line-height:var(--text-xs-line);color:var(--color-error-500);margin-top:var(--spacing-xxs)}.data-grid-row-expansion{background-color:var(--color-neutral-50);border-bottom:1px solid var(--bh-data-grid-border-color)}.data-grid-master-detail{background-color:var(--color-white)}.data-grid-detail-cell{padding:var(--spacing-md) var(--spacing-lg)}.data-grid-expand-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--icon-size-lg);height:var(--icon-size-lg);padding:0;background:none;border:none;border-radius:var(--radius-sm);color:var(--color-neutral-600);cursor:pointer;transition:background-color var(--animation-duration-fast) ease, color var(--animation-duration-fast) ease, transform var(--animation-duration-fast) ease}.data-grid-expand-btn:hover{background-color:var(--color-neutral-100);color:var(--color-neutral-800)}.data-grid-expand-btn .material-symbols-outlined{font-size:var(--icon-size-lg)}.data-grid-cell-group-label{padding:var(--spacing-sm) var(--bh-data-grid-cell-padding-x);background-color:var(--color-neutral-50);font-weight:var(--weight-medium)}.data-grid-group-toggle{display:inline-flex;align-items:center;justify-content:center;padding:0;background:none;border:none;color:var(--color-neutral-600);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--animation-duration-fast) ease}.data-grid-group-toggle:hover{color:var(--color-neutral-800)}.data-grid-group-toggle .material-symbols-outlined{font-size:var(--icon-size-md);transition:transform var(--animation-duration-fast) ease}.data-grid-group-label{display:inline-flex;align-items:center;gap:var(--spacing-xs);font-size:var(--text-sm-size)}.data-grid-group-column{color:var(--color-neutral-500);font-weight:var(--weight-regular)}.data-grid-group-value{color:var(--color-neutral-900);font-weight:var(--weight-medium)}.data-grid-group-count{font-size:var(--text-xs-size);color:var(--color-neutral-400);margin-left:var(--spacing-xs)}.data-grid-body-virtual{position:relative}.data-grid-virtual-spacer{visibility:hidden;padding:0;border:none}.data-grid-virtual-spacer td{padding:0;border:none;line-height:0}.data-grid-sort-icon{font-size:var(--bh-data-grid-sort-icon-size);color:var(--color-neutral-400);flex-shrink:0;transition:color var(--animation-duration-fast) ease}.data-grid-empty .data-grid-cell{text-align:center;color:var(--color-neutral-500);padding:var(--spacing-xl);height:auto}.data-grid-fatal-error{display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl);text-align:center;color:var(--color-error-600);background-color:var(--color-error-50);border-radius:var(--radius-lg);border:1px solid var(--color-error-200)}.data-grid-loading-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background-color:var(--overlay-white-strong);z-index:var(--bh-z-index-raised);pointer-events:none}.data-grid-summary-footer{border-top:1px solid var(--bh-data-grid-border-color);background-color:var(--color-neutral-50)}.data-grid-summary-cell{padding:var(--spacing-sm) var(--bh-data-grid-cell-padding-x);font-size:var(--text-sm-size);color:var(--color-neutral-700);vertical-align:top}.data-grid-summary-item{display:flex;flex-direction:column;gap:var(--spacing-xxs);margin-bottom:var(--spacing-xs)}.data-grid-summary-item:last-child{margin-bottom:0}.data-grid-form-edit-modal{--bh-modal-width:600px}.data-grid-form-edit-header{display:flex;align-items:center;justify-content:space-between;width:100%}.data-grid-form-edit-title{margin:0;font-size:var(--text-lg-size);font-weight:var(--weight-semibold);color:var(--color-neutral-900)}.data-grid-form-edit-close{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-xs);background:none;border:none;color:var(--color-neutral-400);cursor:pointer;border-radius:var(--radius-sm)}.data-grid-form-edit-close:hover{color:var(--color-neutral-600);background-color:var(--color-neutral-100)}.data-grid-form-edit-content{padding:var(--spacing-lg)}.data-grid-form-edit-fields{display:flex;flex-direction:column;gap:var(--spacing-md)}.data-grid-form-edit-footer{display:flex;justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--bh-data-grid-border-color)}.data-grid-form-label{display:block;font-size:var(--text-sm-size);font-weight:var(--weight-medium);color:var(--color-neutral-700);margin-bottom:var(--spacing-xs)}.data-grid-form-required{color:var(--color-error-500);margin-left:var(--spacing-xxs)}.data-grid-form-error{display:block;font-size:var(--text-xs-size);color:var(--color-error-500);margin-top:var(--spacing-xs)}.data-grid-form-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-neutral-300);border-radius:var(--radius-sm);font-family:var(--font-inter);font-size:var(--text-sm-size);line-height:var(--text-sm-line);color:var(--color-neutral-900);background-color:var(--color-white)}.data-grid-form-input:focus{outline:none;border-color:var(--color-brand-500);box-shadow:0 0 0 2px var(--color-brand-100)}.data-grid-form-input::placeholder{color:var(--color-neutral-400)}.data-grid-form-select{appearance:auto;cursor:pointer}.data-grid-form-textarea{min-height:80px;resize:vertical}.data-grid-form-checkbox{width:auto;cursor:pointer}.data-grid-toolbar-column-chooser,.data-grid-toolbar-export{position:relative}}@layer bh-variants{.data-grid-compact .data-grid-header-cell{height:var(--bh-data-grid-cell-height-compact);padding:0 var(--spacing-md);font-size:var(--text-xs-size)}.data-grid-compact .data-grid-cell{height:var(--bh-data-grid-cell-height-compact);padding:0 var(--spacing-md);font-size:var(--text-xs-size)}.data-grid-relaxed .data-grid-header-cell{height:var(--bh-data-grid-cell-height-relaxed);padding:0 var(--spacing-2xl)}.data-grid-relaxed .data-grid-cell{height:var(--bh-data-grid-cell-height-relaxed);padding:0 var(--spacing-2xl)}.data-grid-bordered .data-grid-header-cell,.data-grid-bordered .data-grid-cell{border-right:1px solid var(--bh-data-grid-border-color)}.data-grid-bordered .data-grid-header-cell:last-child,.data-grid-bordered .data-grid-cell:last-child{border-right:none}.data-grid-striped .data-grid-row{border-bottom:none}.data-grid-striped .data-grid-row-striped{background-color:var(--bh-data-grid-row-bg-alt)}}@layer bh-states{.data-grid-row-selected{background-color:var(--bh-data-grid-row-selected-bg)}.data-grid-row-hover{background-color:var(--bh-data-grid-row-hover-bg)}.data-grid-row-clickable{cursor:pointer}.data-grid-row-focused{outline:2px solid var(--color-brand-500);outline-offset:-2px}.data-grid-row-editing{background-color:var(--color-brand-25, var(--color-brand-50))}.data-grid-header-cell-sortable{cursor:pointer;user-select:none}.data-grid-header-cell-sorted{color:var(--color-brand-600)}.data-grid-header-cell-resizable{position:relative}.data-grid-header-cell-resizing{user-select:none}.data-grid-header-cell-pinned{background-color:inherit;z-index:1}.data-grid-header-cell-pinned-left{position:sticky;left:0}.data-grid-header-cell-pinned-right{position:sticky;right:0}.data-grid-header-cell-draggable{cursor:grab}.data-grid-header-cell-draggable:active{cursor:grabbing}.data-grid-header-cell-dragging{opacity:0.5}.data-grid-header-cell-drag-over{border-left:2px solid var(--color-brand-500)}.data-grid-cell-editable{cursor:text}.data-grid-cell-editable:hover{border-bottom:1px solid var(--bh-data-grid-edit-border-color)}.data-grid-cell-editing{border-bottom:2px solid var(--bh-data-grid-edit-active-border-color);background-color:var(--color-white)}.data-grid-loading{position:relative}.data-grid-row-modified{position:relative;background-color:var(--bh-data-grid-row-modified-bg);border-left:var(--bh-data-grid-row-modified-border-width) solid var(--bh-data-grid-row-modified-border-color);transition:background-color var(--animation-duration-normal) ease, border-color var(--animation-duration-normal) ease}.data-grid-row-inserted{position:relative;background-color:var(--bh-data-grid-row-inserted-bg);border-left:var(--bh-data-grid-row-inserted-border-width) solid var(--bh-data-grid-row-inserted-border-color);transition:background-color var(--animation-duration-normal) ease, border-color var(--animation-duration-normal) ease}.data-grid-row-deleted{position:relative;background-color:var(--bh-data-grid-row-deleted-bg);border-left:var(--bh-data-grid-row-deleted-border-width) solid var(--bh-data-grid-row-deleted-border-color);opacity:var(--bh-data-grid-row-deleted-opacity);text-decoration:line-through;transition:background-color var(--animation-duration-normal) ease, border-color var(--animation-duration-normal) ease, opacity var(--animation-duration-normal) ease;pointer-events:none;user-select:none}.data-grid-cell-modified{position:relative;background-color:var(--bh-data-grid-cell-modified-bg);transition:background-color var(--animation-duration-normal) ease;box-shadow:inset 0 0 0 1px var(--color-warning-200)}.data-grid-toolbar{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-neutral-50);border-bottom:1px solid var(--color-neutral-200);gap:var(--spacing-md);transition:background-color var(--animation-duration-normal) ease, box-shadow var(--animation-duration-normal) ease}.data-grid-toolbar-batch-mode{position:sticky;top:0;z-index:var(--bh-z-index-raised);background-color:var(--color-warning-50);border-bottom:2px solid var(--color-warning-400);box-shadow:var(--shadow-sm)}.data-grid-toolbar-left,.data-grid-toolbar-center,.data-grid-toolbar-right{display:flex;align-items:center;gap:var(--spacing-sm)}.data-grid-toolbar-left{flex:1;justify-content:flex-start}.data-grid-toolbar-center{flex:0 0 auto;justify-content:center}.data-grid-toolbar-right{flex:1;justify-content:flex-end}.data-grid-toolbar-compact{padding:var(--spacing-xs) var(--spacing-sm)}.data-grid-toolbar-relaxed{padding:var(--spacing-lg) var(--spacing-xl)}.data-grid-toolbar-search{min-width:var(--bh-data-grid-search-min-width);max-width:var(--bh-data-grid-search-max-width)}.data-grid-export-dropdown{position:relative}.data-grid-export-dropdown-menu{position:absolute;top:100%;right:0;z-index:var(--bh-z-index-dropdown);min-width:var(--bh-data-grid-dropdown-min-width);margin-top:var(--spacing-xs);padding:var(--spacing-xs) 0;background-color:var(--color-white);border:1px solid var(--color-neutral-200);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.data-grid-export-dropdown-item{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);background:none;border:none;cursor:pointer;font-size:var(--text-sm-size);color:var(--color-neutral-700);transition:background-color var(--animation-duration-fast) ease}.data-grid-export-dropdown-item:hover{background-color:var(--color-neutral-100)}.data-grid-export-dropdown-item .material-symbols-outlined{font-size:var(--icon-size-base);color:var(--color-neutral-500)}.data-grid-toolbar-batch-actions{display:flex;align-items:center;gap:var(--spacing-md)}.data-grid-batch-count{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--color-white);border-radius:var(--radius-md);font-size:var(--text-sm-size);color:var(--color-neutral-700)}.data-grid-batch-label{font-weight:var(--weight-medium)}.data-grid-batch-buttons{display:flex;gap:var(--spacing-sm)}.data-grid-toolbar-filter-builder{display:flex;align-items:center;gap:var(--spacing-sm)}.data-grid-filter-display{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--color-neutral-100);border-radius:var(--radius-sm);font-size:var(--text-xs-size)}.data-grid-filter-part[data-type=field]{font-weight:var(--weight-semibold);color:var(--color-brand-600)}.data-grid-filter-part[data-type=operator]{color:var(--color-neutral-500)}.data-grid-filter-part[data-type=value]{color:var(--color-neutral-700)}.data-grid-filter-part[data-type=logic]{font-weight:var(--weight-semibold);color:var(--color-warning-600)}.filter-builder{display:flex;flex-direction:column;min-width:var(--bh-data-grid-filter-min-width);max-width:var(--bh-data-grid-filter-max-width);max-height:80vh;background-color:var(--color-white);border:1px solid var(--color-neutral-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);overflow:hidden}.filter-builder-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-neutral-50);border-bottom:1px solid var(--color-neutral-200)}.filter-builder-title{display:flex;align-items:center;gap:var(--spacing-sm)}.filter-builder-title h2{margin:0;font-size:var(--text-lg-size);font-weight:var(--weight-semibold);color:var(--color-neutral-900)}.filter-builder-title .material-symbols-outlined{font-size:var(--icon-size-lg);color:var(--color-brand-500)}.filter-builder-header-actions{display:flex;align-items:center;gap:var(--spacing-md)}.filter-builder-preset-actions{display:flex;align-items:center;gap:var(--spacing-xs);padding-right:var(--spacing-md);border-right:1px solid var(--color-neutral-200)}.filter-builder-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--color-neutral-50);border-bottom:1px solid var(--color-neutral-100)}.filter-builder-body{flex:1;overflow-y:auto;padding:var(--spacing-lg);min-height:var(--bh-data-grid-filter-body-min-height)}.filter-builder-footer{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-neutral-50);border-top:1px solid var(--color-neutral-200)}.filter-builder-footer-actions{display:flex;gap:var(--spacing-sm)}.filter-builder-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);text-align:center}.filter-builder-empty-icon{font-size:var(--icon-size-5xl);color:var(--color-neutral-300);margin-bottom:var(--spacing-md)}.filter-builder-empty-text{margin:0 0 var(--spacing-lg);color:var(--color-neutral-500);font-size:var(--text-sm-size)}.filter-builder-empty-actions{display:flex;gap:var(--spacing-sm)}.filter-builder-condition{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);background-color:var(--color-neutral-50);border-radius:var(--radius-md);margin-bottom:var(--spacing-sm)}.filter-builder-condition:last-child{margin-bottom:0}.filter-builder-field-select,.filter-builder-operator-select{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--text-sm-size);background-color:var(--color-white);border:1px solid var(--color-neutral-300);border-radius:var(--radius-sm);color:var(--color-neutral-700);cursor:pointer;min-width:var(--bh-data-grid-select-min-width)}.filter-builder-field-select:hover,.filter-builder-operator-select:hover{border-color:var(--color-neutral-400)}.filter-builder-field-select:focus,.filter-builder-operator-select:focus{outline:none;border-color:var(--color-brand-500);box-shadow:0 0 0 2px var(--color-brand-100)}.filter-builder-value-inputs{display:flex;align-items:center;gap:var(--spacing-xs);flex:1;min-width:0}.filter-builder-value-input{flex:1;min-width:var(--bh-data-grid-value-input-min-width)}.filter-builder-remove-btn{flex-shrink:0}.filter-builder-group{padding:var(--spacing-md);background-color:var(--color-white);border:1px solid var(--color-neutral-200);border-radius:var(--radius-md);margin-bottom:var(--spacing-sm)}.filter-builder-group:last-child{margin-bottom:0}.filter-builder-group-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-neutral-100)}.filter-builder-logic-toggle{display:flex;background-color:var(--color-neutral-100);border-radius:var(--radius-sm);overflow:hidden}.filter-builder-logic-btn{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--text-xs-size);font-weight:var(--weight-semibold);color:var(--color-neutral-600);background:none;border:none;cursor:pointer;transition:all var(--animation-duration-fast) ease}.filter-builder-logic-btn:hover{color:var(--color-neutral-800);background-color:var(--color-neutral-200)}.filter-builder-logic-btn-active{color:var(--color-white);background-color:var(--color-brand-500)}.filter-builder-logic-btn-active:hover{color:var(--color-white);background-color:var(--color-brand-600)}.filter-builder-group-actions{display:flex;gap:var(--spacing-xs)}.filter-builder-child{position:relative}.filter-builder-logic-separator{display:flex;align-items:center;justify-content:center;margin:var(--spacing-sm) 0;font-size:var(--text-xs-size);font-weight:var(--weight-semibold);color:var(--color-warning-600)}.filter-builder-logic-separator::before,.filter-builder-logic-separator::after{content:"";flex:1;height:1px;background-color:var(--color-neutral-200);margin:0 var(--spacing-sm)}.filter-builder-root-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px dashed var(--color-neutral-200)}.filter-builder-depth-1{margin-left:var(--spacing-md)}.filter-builder-depth-2{margin-left:calc(var(--spacing-md) * 2)}.filter-builder-depth-3{margin-left:calc(var(--spacing-md) * 3)}.filter-builder-group.filter-builder-depth-1{border-left:3px solid var(--color-brand-300)}.filter-builder-group.filter-builder-depth-2{border-left:3px solid var(--color-secondary-300)}.filter-builder-group.filter-builder-depth-3{border-left:3px solid var(--color-warning-300)}.filter-builder-dialog-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background-color:var(--overlay-dark);z-index:var(--bh-z-index-modal-backdrop)}.filter-builder-dialog{width:100%;max-width:var(--bh-data-grid-dialog-max-width);background-color:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);overflow:hidden}.filter-builder-dialog-wide{max-width:var(--bh-data-grid-dialog-wide-max-width)}.filter-builder-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-neutral-200)}.filter-builder-dialog-header h3{margin:0;font-size:var(--text-md-size);font-weight:var(--weight-semibold);color:var(--color-neutral-900)}.filter-builder-dialog-body{padding:var(--spacing-lg)}.filter-builder-dialog-footer{display:flex;justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-neutral-50);border-top:1px solid var(--color-neutral-200)}.filter-builder-no-presets{text-align:center;color:var(--color-neutral-500);font-size:var(--text-sm-size);padding:var(--spacing-md)}.filter-builder-preset-list{list-style:none;margin:0;padding:0}.filter-builder-preset-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) 0;border-bottom:1px solid var(--color-neutral-100)}.filter-builder-preset-item:last-child{border-bottom:none}.filter-builder-preset-btn{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-xs);padding:var(--spacing-sm);background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:background-color var(--animation-duration-fast) ease}.filter-builder-preset-btn:hover{background-color:var(--color-neutral-100)}.filter-builder-preset-name{font-size:var(--text-sm-size);font-weight:var(--weight-medium);color:var(--color-neutral-900)}.filter-builder-preset-info{font-size:var(--text-xs-size);color:var(--color-neutral-500)}:host{--bh-data-grid-breakpoint-large:1024px;--bh-data-grid-breakpoint-medium:768px;--bh-data-grid-touch-target-size:44px}.data-grid-cell-adaptive-detail{width:var(--bh-data-grid-touch-target-size);min-width:var(--bh-data-grid-touch-target-size);padding:var(--spacing-xs);text-align:center}.data-grid-adaptive-detail-button{display:flex;align-items:center;justify-content:center;width:var(--bh-data-grid-touch-target-size);height:var(--bh-data-grid-touch-target-size);min-width:var(--bh-data-grid-touch-target-size);min-height:var(--bh-data-grid-touch-target-size);padding:0;background:none;border:1px solid var(--color-neutral-300);border-radius:var(--radius-md);color:var(--color-neutral-600);cursor:pointer;transition:background-color var(--animation-duration-fast) ease, border-color var(--animation-duration-fast) ease, color var(--animation-duration-fast) ease}.data-grid-adaptive-detail-button:hover{background-color:var(--color-neutral-100);border-color:var(--color-neutral-400);color:var(--color-neutral-800)}.data-grid-adaptive-detail-button:focus{outline:none;border-color:var(--color-brand-500);box-shadow:0 0 0 2px var(--color-brand-100)}.data-grid-adaptive-detail-button:active{background-color:var(--color-neutral-200)}.data-grid-adaptive-detail-button .material-symbols-outlined{font-size:var(--icon-size-md)}.data-grid-row-adaptive-detail{background-color:var(--color-neutral-50);border-bottom:1px solid var(--color-neutral-200)}.data-grid-row-adaptive-detail:hover{background-color:var(--color-neutral-100)}.data-grid-cell-adaptive-detail-content{padding:var(--spacing-md) var(--spacing-lg)}.adaptive-detail-content{padding:var(--spacing-sm);background-color:var(--color-white);border:1px solid var(--color-neutral-200);border-radius:var(--radius-md)}.adaptive-detail-list{display:grid;grid-template-columns:repeat(auto-fill, minmax(200px, 1fr));gap:var(--spacing-md);margin:0;padding:0}.adaptive-detail-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.adaptive-detail-label{font-size:var(--text-xs-size);font-weight:var(--weight-semibold);color:var(--color-neutral-500);text-transform:uppercase;letter-spacing:0.05em}.adaptive-detail-value{margin:0;font-size:var(--text-sm-size);color:var(--color-neutral-900);word-break:break-word}}@media (min-width: 1024px){:host .data-grid-cell-adaptive-detail{display:none}:host .data-grid-row-adaptive-detail{display:none}}@media (min-width: 768px) and (max-width: 1023px){:host .data-grid-adaptive-detail-button{width:var(--bh-data-grid-touch-target-size);height:var(--bh-data-grid-touch-target-size)}:host .data-grid-table{font-size:var(--text-sm-size)}:host .data-grid-header-cell,:host .data-grid-cell{padding:var(--spacing-sm) var(--spacing-md)}}@media (max-width: 767px){:host .data-grid-adaptive-detail-button{width:var(--bh-data-grid-touch-target-mobile);height:var(--bh-data-grid-touch-target-mobile);min-width:var(--bh-data-grid-touch-target-mobile);min-height:var(--bh-data-grid-touch-target-mobile)}:host .data-grid-table{font-size:var(--text-sm-size)}:host .data-grid-header-cell,:host .data-grid-cell{padding:var(--spacing-sm) var(--spacing-lg)}:host .adaptive-detail-list{grid-template-columns:1fr}:host .data-grid-toolbar{flex-wrap:wrap}:host .data-grid-toolbar-search{width:100%;max-width:none;order:-1;margin-bottom:var(--spacing-sm)}:host .data-grid-pagination{flex-wrap:wrap;justify-content:center;gap:var(--spacing-sm)}}@media (hover: none) and (pointer: coarse){:host .data-grid-expand-button,:host .data-grid-adaptive-detail-button{min-width:var(--bh-data-grid-touch-target-min);min-height:var(--bh-data-grid-touch-target-min)}:host .data-grid-row{min-height:var(--bh-data-grid-touch-target-mobile)}:host .data-grid-header-filter-button{min-width:var(--bh-data-grid-touch-target-min);min-height:var(--bh-data-grid-touch-target-min);padding:var(--spacing-sm)}:host .data-grid-row:hover{background-color:inherit}:host .data-grid-row-striped:hover{background-color:var(--color-neutral-50)}}.data-grid-body-loading{position:relative;opacity:0.6;pointer-events:none;transition:opacity var(--animation-duration-normal) ease}.data-grid-body-loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background-color:var(--overlay-white-strong);z-index:var(--bh-z-index-raised);min-height:var(--bh-data-grid-filter-body-min-height);pointer-events:none}.data-grid-error-notification{margin-bottom:var(--spacing-md);animation:slideInDown var(--animation-duration-slow) ease-out}@keyframes slideInDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.change-preview-header{display:flex;align-items:center;gap:var(--spacing-md)}.change-preview-title{margin:0;font-size:var(--text-lg-size);font-weight:var(--weight-semibold);color:var(--color-neutral-900)}.change-preview-body{padding:var(--spacing-md);max-height:var(--bh-data-grid-preview-max-height);overflow-y:auto}.change-preview-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);text-align:center;color:var(--color-neutral-500)}.change-preview-empty .change-preview-empty-icon{font-size:var(--icon-size-5xl);color:var(--color-success-400);margin-bottom:var(--spacing-md)}.change-preview-empty p{margin:0;font-size:var(--text-md-size)}.change-preview-group{margin-bottom:var(--spacing-md);border:1px solid var(--color-neutral-200);border-radius:var(--radius-md);overflow:hidden}.change-preview-group:last-child{margin-bottom:0}.change-preview-group-header{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-neutral-50);border:none;cursor:pointer;text-align:left;transition:background-color var(--animation-duration-fast) ease}.change-preview-group-header:hover{background-color:var(--color-neutral-100)}.change-preview-group-header:focus{outline:none;box-shadow:inset 0 0 0 2px var(--color-brand-500)}.change-preview-group-icon{font-size:var(--icon-size-md)}.change-preview-group-insert .change-preview-group-icon{color:var(--color-success-500)}.change-preview-group-update .change-preview-group-icon{color:var(--color-warning-500)}.change-preview-group-delete .change-preview-group-icon{color:var(--color-error-500)}.change-preview-group-title{flex:1;font-weight:var(--weight-medium);color:var(--color-neutral-800)}.change-preview-group-expand{font-size:var(--icon-size-md);color:var(--color-neutral-400)}.change-preview-group-content{padding:var(--spacing-sm);background-color:var(--color-white)}.change-preview-item{padding:var(--spacing-sm);margin-bottom:var(--spacing-sm);border:1px solid var(--color-neutral-200);border-radius:var(--radius-sm);background-color:var(--color-neutral-50)}.change-preview-item:last-child{margin-bottom:0}.change-preview-item-insert{border-left:3px solid var(--color-success-500)}.change-preview-item-update{border-left:3px solid var(--color-warning-500)}.change-preview-item-delete{border-left:3px solid var(--color-error-500)}.change-preview-item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-sm)}.change-preview-item-key{font-size:var(--text-sm-size);font-weight:var(--weight-medium);color:var(--color-neutral-700)}.change-preview-item-revert{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--text-xs-size);color:var(--color-neutral-600);background:var(--color-white);border:1px solid var(--color-neutral-300);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--animation-duration-fast) ease}.change-preview-item-revert .material-symbols-outlined{font-size:var(--icon-size-sm)}.change-preview-item-revert:hover{color:var(--color-neutral-800);background-color:var(--color-neutral-100);border-color:var(--color-neutral-400)}.change-preview-item-revert:focus{outline:none;box-shadow:0 0 0 2px var(--color-brand-200)}.change-preview-table{width:100%;border-collapse:collapse;font-size:var(--text-sm-size)}.change-preview-table th,.change-preview-table td{padding:var(--spacing-xs) var(--spacing-sm);text-align:left;border-bottom:1px solid var(--color-neutral-200)}.change-preview-table th{font-weight:var(--weight-medium);color:var(--color-neutral-600);background-color:var(--color-neutral-100)}.change-preview-table td{color:var(--color-neutral-800);background-color:var(--color-white)}.change-preview-table tr:last-child td{border-bottom:none}.change-preview-field{font-weight:var(--weight-medium);color:var(--color-neutral-700);min-width:var(--bh-data-grid-value-input-min-width)}.change-preview-original{color:var(--color-neutral-500);text-decoration:line-through}.change-preview-new{color:var(--color-success-600);font-weight:var(--weight-medium)}.change-preview-deleted{color:var(--color-error-500);text-decoration:line-through}.change-preview-item-errors{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--color-neutral-200)}.change-preview-error{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);margin-bottom:var(--spacing-xs);font-size:var(--text-xs-size);border-radius:var(--radius-sm)}.change-preview-error .material-symbols-outlined{font-size:var(--icon-size-sm)}.change-preview-error:last-child{margin-bottom:0}.change-preview-error-error{color:var(--color-error-700);background-color:var(--color-error-50)}.change-preview-error-warning{color:var(--color-warning-700);background-color:var(--color-warning-50)}.change-preview-footer{display:flex;align-items:center;justify-content:space-between;width:100%}.change-preview-footer-left{display:flex;gap:var(--spacing-sm)}.change-preview-footer-right{display:flex;gap:var(--spacing-sm)}.data-grid-context-menu{position:fixed}'}},[769,"bh-data-grid",{data:[16],columns:[16],getRowId:[16],getSubRows:[16],size:[1],striped:[4],bordered:[4],stickyHeader:[4,"sticky-header"],maxHeight:[1,"max-height"],caption:[1],captionPosition:[1,"caption-position"],emptyTitle:[1,"empty-title"],emptyDescription:[1,"empty-description"],loading:[4],loadingType:[1,"loading-type"],skeletonRowCount:[2,"skeleton-row-count"],operationTimeout:[2,"operation-timeout"],enableSorting:[4,"enable-sorting"],enableMultiSort:[4,"enable-multi-sort"],sortState:[1040],enableFiltering:[4,"enable-filtering"],enableGlobalFilter:[4,"enable-global-filter"],showFilterRow:[4,"show-filter-row"],globalFilterPlaceholder:[1,"global-filter-placeholder"],filterState:[1040],globalFilter:[1025,"global-filter"],selectionMode:[1,"selection-mode"],selectedRowIds:[1040],enablePagination:[4,"enable-pagination"],page:[1026],pageSize:[1026,"page-size"],pageSizeOptions:[16],enableExpansion:[4,"enable-expansion"],expandedRowIds:[1040],enableGrouping:[4,"enable-grouping"],groupBy:[16],enableEditing:[4,"enable-editing"],editMode:[1,"edit-mode"],showEditActions:[4,"show-edit-actions"],formEditConfig:[16],enableColumnResize:[4,"enable-column-resize"],minColumnWidth:[2,"min-column-width"],maxColumnWidth:[2,"max-column-width"],columnSizes:[1040],enableColumnPinning:[4,"enable-column-pinning"],columnPinning:[1040],enableColumnReorder:[4,"enable-column-reorder"],columnOrder:[1040],enableColumnChooser:[4,"enable-column-chooser"],columnVisibility:[1040],enableStatePersistence:[4,"enable-state-persistence"],stateStorageKey:[1,"state-storage-key"],persistedStateKeys:[16],enableHeaderFilter:[4,"enable-header-filter"],headerFilterHeight:[2,"header-filter-height"],headerFilterState:[1040],enableVirtualScrolling:[4,"enable-virtual-scrolling"],virtualScrollHeight:[2,"virtual-scroll-height"],estimatedRowHeight:[2,"estimated-row-height"],overscanCount:[2,"overscan-count"],enableMasterDetail:[4,"enable-master-detail"],masterDetailConfig:[16],autoCollapseOtherRows:[4,"auto-collapse-other-rows"],enableTotalSummary:[4,"enable-total-summary"],totalSummary:[16],enableGroupSummary:[4,"enable-group-summary"],groupSummary:[16],enableExport:[4,"enable-export"],showExportButton:[4,"show-export-button"],exportFormats:[16],exportConfig:[16],enableRowDragging:[4,"enable-row-dragging"],showDragHandle:[4,"show-drag-handle"],rowDragDisabled:[16],enableFocusTracking:[4,"enable-focus-tracking"],focusedRowId:[1025,"focused-row-id"],focusedCell:[1040],enableKeyboardNavigation:[4,"enable-keyboard-navigation"],autoScrollToFocused:[4,"auto-scroll-to-focused"],showToolbar:[4,"show-toolbar"],toolbarPosition:[1,"toolbar-position"],toolbarConfig:[16],showRefreshButton:[4,"show-refresh-button"],showAddButton:[4,"show-add-button"],showClearFilterButton:[4,"show-clear-filter-button"],showClearSelectionButton:[4,"show-clear-selection-button"],enableSearchPanel:[4,"enable-search-panel"],showSearchPanel:[1028,"show-search-panel"],searchPanelPosition:[1,"search-panel-position"],highlightSearchResults:[4,"highlight-search-results"],searchPanelPlaceholder:[1,"search-panel-placeholder"],batchEditingEnabled:[4,"batch-editing-enabled"],enableContextMenu:[4,"enable-context-menu"],contextMenuItems:[16],contextMenuPreparing:[16],showInlineErrorNotification:[4,"show-inline-error-notification"],errorNotificationDuration:[2,"error-notification-duration"],enableResponsiveLayout:[4,"enable-responsive-layout"],responsiveColumns:[16],mediumBreakpoint:[2,"medium-breakpoint"],largeBreakpoint:[2,"large-breakpoint"],labels:[16],hasFatalError:[32],fatalErrorMessage:[32],tableState:[32],editingRowId:[32],editingColumnId:[32],editingValues:[32],validationErrors:[32],hoveredRowId:[32],resizingColumnId:[32],resizeStartX:[32],resizeStartWidth:[32],draggingColumnId:[32],dragOverColumnId:[32],columnChooserOpen:[32],headerFilterOpenColumnId:[32],headerFilterSearchText:[32],virtualScrollTop:[32],exportDropdownOpen:[32],draggingRowId:[32],dragOverRowId:[32],dragPosition:[32],internalFocusedRowId:[32],internalFocusedCell:[32],formEditModalOpen:[32],formEditRowData:[32],formEditIsNew:[32],formEditValues:[32],formEditErrors:[32],searchPanelText:[32],searchMatches:[32],currentSearchMatchIndex:[32],errorNotificationVisible:[32],errorNotificationMessage:[32],errorNotificationType:[32],contextMenuOpen:[32],contextMenuPosition:[32],contextMenuContext:[32],contextMenuResolvedItems:[32],contextMenuSubmenuOpen:[32],responsiveState:[32]},void 0,{data:[{handleDataChange:0}],columns:[{handleDataChange:0}],sortState:[{handleSortStateChange:0}],filterState:[{handleFilterStateChange:0}],selectedRowIds:[{handleSelectedRowIdsChange:0}],page:[{handlePaginationPropChange:0}],pageSize:[{handlePaginationPropChange:0}],expandedRowIds:[{handleExpandedRowIdsChange:0}],groupBy:[{handleGroupByChange:0}]}]),Kt=Gt,$t=function(){"undefined"!=typeof customElements&&["bh-data-grid","bh-avatar","bh-badge-dot","bh-button","bh-button-icon","bh-checkbox","bh-close-button","bh-empty-state","bh-featured-icon","bh-label","bh-loader-spinner","bh-modal","bh-pagination","bh-radio-button","bh-select","bh-skeleton-loader","bh-tag","bh-toast","bh-tooltip"].forEach((t=>{switch(t){case"bh-data-grid":customElements.get(o(t))||customElements.define(o(t),Gt);break;case"bh-avatar":customElements.get(o(t))||c();break;case"bh-badge-dot":customElements.get(o(t))||h();break;case"bh-button":customElements.get(o(t))||u();break;case"bh-button-icon":customElements.get(o(t))||g();break;case"bh-checkbox":customElements.get(o(t))||p();break;case"bh-close-button":customElements.get(o(t))||b();break;case"bh-empty-state":customElements.get(o(t))||m();break;case"bh-featured-icon":customElements.get(o(t))||v();break;case"bh-label":customElements.get(o(t))||f();break;case"bh-loader-spinner":customElements.get(o(t))||w();break;case"bh-modal":customElements.get(o(t))||C();break;case"bh-pagination":customElements.get(o(t))||k();break;case"bh-radio-button":customElements.get(o(t))||z();break;case"bh-select":customElements.get(o(t))||S();break;case"bh-skeleton-loader":customElements.get(o(t))||I();break;case"bh-tag":customElements.get(o(t))||R();break;case"bh-toast":customElements.get(o(t))||D();break;case"bh-tooltip":customElements.get(o(t))||E()}}))};export{Kt as BhDataGrid,$t as defineCustomElement}