@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.
- package/components/bh-accordion-item.js +1 -1
- package/components/bh-activity-feed.js +1 -1
- package/components/bh-alert.js +1 -1
- package/components/bh-appbar.js +1 -1
- package/components/bh-avatar-add.js +1 -1
- package/components/bh-avatar-stacked.js +1 -1
- package/components/bh-avatar.js +1 -1
- package/components/bh-badge-dot.js +1 -1
- package/components/bh-badge.js +1 -1
- package/components/bh-banner.js +1 -1
- package/components/bh-bar-chart.js +1 -1
- package/components/bh-breadcrumbs.js +1 -1
- package/components/bh-button-icon.js +1 -1
- package/components/bh-button.js +1 -1
- package/components/bh-card-content.js +1 -1
- package/components/bh-card-footer.js +1 -1
- package/components/bh-card-header.js +1 -1
- package/components/bh-card.js +1 -1
- package/components/bh-chart-tooltip.js +1 -1
- package/components/bh-chat-message.js +1 -1
- package/components/bh-chat-reaction.js +1 -1
- package/components/bh-checkbox.js +1 -1
- package/components/bh-checklist-task-group.js +1 -1
- package/components/bh-close-button.js +1 -1
- package/components/bh-command-bar.d.ts +11 -0
- package/components/bh-command-bar.js +1 -0
- package/components/bh-container-footer.js +1 -1
- package/components/bh-container.js +1 -1
- package/components/bh-credit-card.js +1 -1
- package/components/bh-data-grid-body.js +1 -1
- package/components/bh-data-grid-change-preview.js +1 -1
- package/components/bh-data-grid-filter-builder.js +1 -1
- package/components/bh-data-grid-footer.js +1 -1
- package/components/bh-data-grid-header.js +1 -1
- package/components/bh-data-grid-toolbar.js +1 -1
- package/components/bh-data-grid.js +2 -2
- package/components/bh-date-picker-content.js +1 -1
- package/components/bh-date-picker.js +1 -1
- package/components/bh-date-range-picker-content.js +1 -1
- package/components/bh-date-range-picker.js +1 -1
- package/components/bh-divider.js +1 -1
- package/components/bh-dropdown-menu.js +1 -1
- package/components/bh-dropdown.js +1 -1
- package/components/bh-emoji-picker.js +1 -1
- package/components/bh-empty-state.js +1 -1
- package/components/bh-fab.js +1 -1
- package/components/bh-featured-icon.js +1 -1
- package/components/bh-feed-item.js +1 -1
- package/components/bh-gauge-chart.js +1 -1
- package/components/bh-guided-checklist.js +1 -1
- package/components/bh-html-editor-bubble-menu.js +1 -1
- package/components/bh-html-editor-toolbar.js +1 -1
- package/components/bh-html-editor.js +1 -1
- package/components/bh-illustrations.js +1 -1
- package/components/bh-inline-cta.js +1 -1
- package/components/bh-input-autocomplete.js +1 -1
- package/components/bh-input-number.js +1 -1
- package/components/bh-input-password.js +1 -1
- package/components/bh-input-text.js +1 -1
- package/components/bh-input-verification.js +1 -1
- package/components/bh-kbd.d.ts +11 -0
- package/components/bh-kbd.js +1 -0
- package/components/bh-label.js +1 -1
- package/components/bh-line-chart.js +1 -1
- package/components/bh-logo-box.js +1 -1
- package/components/bh-menu-item.js +1 -1
- package/components/bh-menu.js +1 -1
- package/components/bh-modal-actions.js +1 -1
- package/components/bh-modal-header.js +1 -1
- package/components/bh-month-picker-content.js +1 -1
- package/components/bh-month-picker.js +1 -1
- package/components/bh-multi-select.js +1 -1
- package/components/bh-nav-item.js +1 -1
- package/components/bh-notification-center.d.ts +11 -0
- package/components/bh-notification-center.js +1 -0
- package/components/bh-page-header.js +1 -1
- package/components/bh-page-navigation-child.js +1 -1
- package/components/bh-page-navigation-multi-level.js +1 -1
- package/components/bh-page-navigation-single-level.js +1 -1
- package/components/bh-page-navigation.js +1 -1
- package/components/bh-pagination.js +1 -1
- package/components/bh-picker-menu.js +1 -1
- package/components/bh-pie-chart.js +1 -1
- package/components/bh-pivot-grid-field-chooser.js +1 -1
- package/components/bh-pivot-grid.js +1 -1
- package/components/bh-progress-bar.js +1 -1
- package/components/bh-progress-ring.js +1 -1
- package/components/bh-property-switcher.js +1 -1
- package/components/bh-radar-chart.js +1 -1
- package/components/bh-radio-button.js +1 -1
- package/components/bh-radio-group.js +1 -1
- package/components/bh-range-slider.js +1 -1
- package/components/bh-section-footer.js +1 -1
- package/components/bh-section-header.js +1 -1
- package/components/bh-select.js +1 -1
- package/components/bh-selection-group-item.js +1 -1
- package/components/bh-selection-group.js +1 -1
- package/components/bh-side-panel-footer.js +1 -1
- package/components/bh-side-panel-header.js +1 -1
- package/components/bh-sidebar.js +1 -1
- package/components/bh-skeleton-loader.js +1 -1
- package/components/bh-stepper.js +1 -1
- package/components/bh-tab-item.js +1 -1
- package/components/bh-table-header.js +1 -1
- package/components/bh-tabs.js +1 -1
- package/components/bh-tag-group.js +1 -1
- package/components/bh-tag-input.js +1 -1
- package/components/bh-tag.js +1 -1
- package/components/bh-textarea.js +1 -1
- package/components/bh-toast-container.js +1 -1
- package/components/bh-toast.js +1 -1
- package/components/bh-toggle.js +1 -1
- package/components/bh-tooltip.js +1 -1
- package/components/bh-trend-chart.js +1 -1
- package/components/index.d.ts +6 -0
- package/components/index.js +1 -1
- package/components/{p-BVwh7Zds.js → p-2SnKTVal.js} +1 -1
- package/components/{p-DpyQ9_VL.js → p-6tew_a-x.js} +1 -1
- package/components/{p-BUoq_1rz.js → p-B7La6Iwp.js} +1 -1
- package/components/p-B8HxD-vO.js +1 -0
- package/components/{p-CdwBDbHF.js → p-B9--bog4.js} +1 -1
- package/components/{p-D_0aDuRr.js → p-BF5hfv7s.js} +1 -1
- package/components/{p-oaisznHL.js → p-BI2Y2Le4.js} +1 -1
- package/components/p-Be6mIKzo.js +1 -0
- package/components/p-Bh0oD_Yf.js +1 -0
- package/components/{p-nMu0IHKp.js → p-BniMhcxp.js} +1 -1
- package/components/{p-CZRjavNE.js → p-Br9M2BbM.js} +1 -1
- package/components/{p-QCa_P3zY.js → p-BwxcuFPS.js} +1 -1
- package/components/{p-Dq8Cpk56.js → p-BzHDM9Tg.js} +1 -1
- package/components/{p-D-D80sUk.js → p-C4rAmars.js} +1 -1
- package/components/{p-B2KPN863.js → p-C7fkgBQS.js} +1 -1
- package/components/{p-cD3vmu49.js → p-CClVva-u.js} +1 -1
- package/components/p-CJUnjRCe.js +1 -0
- package/components/{p--a7Uv1ky.js → p-CK_Py1Yi.js} +1 -1
- package/components/{p-DjJP-dIm.js → p-CWdw6bHR.js} +1 -1
- package/components/{p-XYHjFWDD.js → p-CZ_H3nat.js} +1 -1
- package/components/{p-CtaODgcw.js → p-C_nrq7_Y.js} +1 -1
- package/components/{p-BFL2Pm_E.js → p-CssmbrSc.js} +1 -1
- package/components/p-CvsupUaF.js +1 -0
- package/components/{p-DBAPExTG.js → p-CvwyG_Kj.js} +1 -1
- package/components/{p-Bf_iTZDv.js → p-D6aw0IK6.js} +1 -1
- package/components/{p-CzvaS9up.js → p-DBl9mNfN.js} +1 -1
- package/components/{p-DWoyQVnq.js → p-DG90uKhz.js} +1 -1
- package/components/{p-CWY9YV_9.js → p-DGWzDn9Y.js} +1 -1
- package/components/p-DJlRFgcj.js +1 -0
- package/components/p-DKWhUGrV.js +1 -0
- package/components/{p-CC_DXFwx.js → p-DSDbfC31.js} +1 -1
- package/components/{p-1SkDR91n.js → p-DUm7JrA0.js} +1 -1
- package/components/{p-C6UC_xxP.js → p-DblmzWu8.js} +1 -1
- package/components/{p-BHeNnP2q.js → p-DfCONXO0.js} +1 -1
- package/components/p-DhgfM7Wy.js +1 -0
- package/components/{p-Xa6gUVGr.js → p-DjUfsCJJ.js} +1 -1
- package/components/{p-CVSRqFZ0.js → p-DjpXtbw8.js} +1 -1
- package/components/{p-GjWzFf-V.js → p-Dzlsnb7d.js} +1 -1
- package/components/{p-Be20AcNb.js → p-S-miu3h6.js} +1 -1
- package/components/{p-DIMoIy0w.js → p-W2SGLZN7.js} +1 -1
- package/components/{p-arW9uaFJ.js → p-hhv9O2Qq.js} +1 -1
- package/components/{p-BwwSI2Fv.js → p-jNp3nckG.js} +1 -1
- package/dist/bellhop-core/bellhop-core.esm.js +1 -1
- package/dist/bellhop-core/p-009efb12.entry.js +1 -0
- package/dist/bellhop-core/p-01b505e3.entry.js +1 -0
- package/dist/bellhop-core/p-02945f90.entry.js +1 -0
- package/dist/bellhop-core/p-04d2ec72.entry.js +1 -0
- package/dist/bellhop-core/p-05867224.entry.js +1 -0
- package/dist/bellhop-core/p-05a53d3b.entry.js +1 -0
- package/dist/bellhop-core/p-0692ab72.entry.js +1 -0
- package/dist/bellhop-core/p-06f9b713.entry.js +1 -0
- package/dist/bellhop-core/p-08b8ba36.entry.js +1 -0
- package/dist/bellhop-core/p-0953e008.entry.js +1 -0
- package/dist/bellhop-core/p-0976eb7a.entry.js +1 -0
- package/dist/bellhop-core/p-097d70d9.entry.js +1 -0
- package/dist/bellhop-core/p-0a316bb6.entry.js +1 -0
- package/dist/bellhop-core/p-108ca612.entry.js +1 -0
- package/dist/bellhop-core/p-12d3c4e9.entry.js +1 -0
- package/dist/bellhop-core/p-13f15f41.entry.js +1 -0
- package/dist/bellhop-core/p-15bb1050.entry.js +1 -0
- package/dist/bellhop-core/p-16e01b81.entry.js +1 -0
- package/dist/bellhop-core/p-188980bd.entry.js +1 -0
- package/dist/bellhop-core/p-1fba0985.entry.js +1 -0
- package/dist/bellhop-core/p-24e5c52b.entry.js +1 -0
- package/dist/bellhop-core/p-29729109.entry.js +1 -0
- package/dist/bellhop-core/p-2b93b512.entry.js +1 -0
- package/dist/bellhop-core/{p-213a104c.entry.js → p-2bcd94d0.entry.js} +1 -1
- package/dist/bellhop-core/p-2bdb9784.entry.js +1 -0
- package/dist/bellhop-core/p-2ee44b97.entry.js +1 -0
- package/dist/bellhop-core/p-3348400a.entry.js +1 -0
- package/dist/bellhop-core/p-38873b75.entry.js +1 -0
- package/dist/bellhop-core/p-399be504.entry.js +1 -0
- package/dist/bellhop-core/p-3d67e55f.entry.js +1 -0
- package/dist/bellhop-core/p-3dcf8812.entry.js +1 -0
- package/dist/bellhop-core/p-42f26142.entry.js +1 -0
- package/dist/bellhop-core/p-43d94b51.entry.js +1 -0
- package/dist/bellhop-core/p-4c65d80a.entry.js +1 -0
- package/dist/bellhop-core/p-4e4b59cc.entry.js +1 -0
- package/dist/bellhop-core/p-50c00ac6.entry.js +1 -0
- package/dist/bellhop-core/p-52d0c0ac.entry.js +1 -0
- package/dist/bellhop-core/p-53ddab62.entry.js +1 -0
- package/dist/bellhop-core/p-558c1c9f.entry.js +1 -0
- package/dist/bellhop-core/{p-fb8e0e6c.entry.js → p-59feba80.entry.js} +1 -1
- package/dist/bellhop-core/{p-165b45f3.entry.js → p-5a49ebee.entry.js} +1 -1
- package/dist/bellhop-core/p-5f5648e6.entry.js +1 -0
- package/dist/bellhop-core/p-614f84ff.entry.js +1 -0
- package/dist/bellhop-core/p-6517c63b.entry.js +1 -0
- package/dist/bellhop-core/{p-c86b7e41.entry.js → p-654de2b6.entry.js} +1 -1
- package/dist/bellhop-core/p-65e10ead.entry.js +1 -0
- package/dist/bellhop-core/p-68c5a0bd.entry.js +1 -0
- package/dist/bellhop-core/p-68cf8430.entry.js +1 -0
- package/dist/bellhop-core/p-6ad1ed53.entry.js +1 -0
- package/dist/bellhop-core/p-6df539be.entry.js +1 -0
- package/dist/bellhop-core/p-6e1c1c27.entry.js +1 -0
- package/dist/bellhop-core/p-710e4da7.entry.js +1 -0
- package/dist/bellhop-core/p-7841fbc2.entry.js +1 -0
- package/dist/bellhop-core/p-7bceb793.entry.js +1 -0
- package/dist/bellhop-core/p-7bd58fae.entry.js +1 -0
- package/dist/bellhop-core/p-7c0d23d4.entry.js +1 -0
- package/dist/bellhop-core/p-7e226f98.entry.js +1 -0
- package/dist/bellhop-core/{p-4a96c207.entry.js → p-815fb83e.entry.js} +1 -1
- package/dist/bellhop-core/p-832bf58d.entry.js +1 -0
- package/dist/bellhop-core/p-8370a956.entry.js +1 -0
- package/dist/bellhop-core/{p-b992fd96.entry.js → p-858017eb.entry.js} +1 -1
- package/dist/bellhop-core/p-87c827d7.entry.js +1 -0
- package/dist/bellhop-core/p-8a38724f.entry.js +1 -0
- package/dist/bellhop-core/p-8aa87a99.entry.js +1 -0
- package/dist/bellhop-core/p-8ad4d720.entry.js +1 -0
- package/dist/bellhop-core/p-8d319614.entry.js +1 -0
- package/dist/bellhop-core/p-963e6ad9.entry.js +1 -0
- package/dist/bellhop-core/p-97bed0b0.entry.js +1 -0
- package/dist/bellhop-core/{p-df4c2032.entry.js → p-9b2d67db.entry.js} +2 -2
- package/dist/bellhop-core/p-9b935b1a.entry.js +1 -0
- package/dist/bellhop-core/p-9cf187af.entry.js +1 -0
- package/dist/bellhop-core/p-9e0b9dec.entry.js +1 -0
- package/dist/bellhop-core/p-CBTS9Vhx.js +1 -0
- package/dist/bellhop-core/{p-Dn-MvAk9.js → p-CKTtXT2O.js} +1 -1
- package/dist/bellhop-core/p-CMKOFHIa.js +1 -0
- package/dist/bellhop-core/p-Xi3uD33F.js +1 -0
- package/dist/bellhop-core/p-a57034cf.entry.js +1 -0
- package/dist/bellhop-core/p-a925a3d8.entry.js +1 -0
- package/dist/bellhop-core/p-abf0f15d.entry.js +1 -0
- package/dist/bellhop-core/p-b212b4c1.entry.js +1 -0
- package/dist/bellhop-core/p-b2380f56.entry.js +1 -0
- package/dist/bellhop-core/p-b333c85f.entry.js +1 -0
- package/dist/bellhop-core/p-b9d363b0.entry.js +1 -0
- package/dist/bellhop-core/p-b9d86b80.entry.js +1 -0
- package/dist/bellhop-core/p-baa76b6d.entry.js +1 -0
- package/dist/bellhop-core/p-bb11a7df.entry.js +1 -0
- package/dist/bellhop-core/p-bcc53e7e.entry.js +1 -0
- package/dist/bellhop-core/p-c0513194.entry.js +1 -0
- package/dist/bellhop-core/p-c1eed46c.entry.js +1 -0
- package/dist/bellhop-core/p-c2440a5a.entry.js +1 -0
- package/dist/bellhop-core/p-c338d5ed.entry.js +1 -0
- package/dist/bellhop-core/p-c4cd8445.entry.js +1 -0
- package/dist/bellhop-core/p-cd404c53.entry.js +1 -0
- package/dist/bellhop-core/p-d2fdf27a.entry.js +1 -0
- package/dist/bellhop-core/p-d89a2316.entry.js +1 -0
- package/dist/bellhop-core/p-d9903fd1.entry.js +1 -0
- package/dist/bellhop-core/p-df86ac00.entry.js +1 -0
- package/dist/bellhop-core/p-dfc61397.entry.js +1 -0
- package/dist/bellhop-core/p-e02bdcfb.entry.js +1 -0
- package/dist/bellhop-core/p-e6ad9a10.entry.js +1 -0
- package/dist/bellhop-core/p-e86b4fbf.entry.js +1 -0
- package/dist/bellhop-core/p-eed85b08.entry.js +1 -0
- package/dist/bellhop-core/p-f0a47a26.entry.js +1 -0
- package/dist/bellhop-core/p-f46e818f.entry.js +1 -0
- package/dist/bellhop-core/p-f6c8568f.entry.js +1 -0
- package/dist/bellhop-core/p-f784164a.entry.js +1 -0
- package/dist/bellhop-core/p-f8d47699.entry.js +1 -0
- package/dist/bellhop-core/{p-1323f446.entry.js → p-f8dce3b6.entry.js} +1 -1
- package/dist/bellhop-core/p-f9962334.entry.js +1 -0
- package/dist/bellhop-core/p-fb897d66.entry.js +1 -0
- package/dist/cjs/bellhop-core.cjs.js +1 -1
- package/dist/cjs/bh-accordion-item.cjs.entry.js +4 -3
- package/dist/cjs/bh-accordion.cjs.entry.js +3 -2
- package/dist/cjs/bh-activity-feed_2.cjs.entry.js +174 -0
- package/dist/cjs/bh-alert.cjs.entry.js +4 -3
- package/dist/cjs/bh-appbar.cjs.entry.js +57 -11
- package/dist/cjs/bh-autocomplete-menu.cjs.entry.js +3 -2
- package/dist/cjs/bh-avatar-add.cjs.entry.js +4 -3
- package/dist/cjs/bh-avatar-stacked.cjs.entry.js +4 -3
- package/dist/cjs/bh-avatar.cjs.entry.js +6 -5
- package/dist/cjs/bh-badge-dot_2.cjs.entry.js +8 -7
- package/dist/cjs/bh-badge.cjs.entry.js +6 -5
- package/dist/cjs/bh-banner.cjs.entry.js +5 -4
- package/dist/cjs/bh-bar-chart.cjs.entry.js +5 -4
- package/dist/cjs/bh-breadcrumbs.cjs.entry.js +16 -5
- package/dist/cjs/bh-button-icon_2.cjs.entry.js +5 -4
- package/dist/cjs/bh-button.cjs.entry.js +5 -4
- package/dist/cjs/bh-card-content.cjs.entry.js +4 -3
- package/dist/cjs/bh-card-footer.cjs.entry.js +4 -3
- package/dist/cjs/bh-card-header.cjs.entry.js +4 -3
- package/dist/cjs/bh-card.cjs.entry.js +4 -3
- package/dist/cjs/bh-chart-tooltip.cjs.entry.js +5 -4
- package/dist/cjs/bh-chat-message.cjs.entry.js +5 -4
- package/dist/cjs/bh-chat-reaction.cjs.entry.js +5 -4
- package/dist/cjs/bh-checkbox.cjs.entry.js +3 -2
- package/dist/cjs/bh-checklist-task-group_3.cjs.entry.js +6 -5
- package/dist/cjs/bh-close-button.cjs.entry.js +1 -1
- package/dist/cjs/bh-command-bar.cjs.entry.js +309 -0
- package/dist/cjs/bh-container-footer.cjs.entry.js +4 -3
- package/dist/cjs/bh-container.cjs.entry.js +4 -3
- package/dist/cjs/bh-credit-card.cjs.entry.js +4 -3
- package/dist/cjs/bh-data-grid-body.cjs.entry.js +3 -2
- package/dist/cjs/bh-data-grid-change-preview.cjs.entry.js +3 -2
- package/dist/cjs/bh-data-grid-filter-builder.cjs.entry.js +3 -2
- package/dist/cjs/bh-data-grid-footer.cjs.entry.js +4 -3
- package/dist/cjs/bh-data-grid-header.cjs.entry.js +3 -2
- package/dist/cjs/bh-data-grid-toolbar.cjs.entry.js +4 -3
- package/dist/cjs/bh-data-grid.cjs.entry.js +4 -3
- package/dist/cjs/bh-date-picker-content.cjs.entry.js +6 -5
- package/dist/cjs/bh-date-picker.cjs.entry.js +6 -5
- package/dist/cjs/bh-date-range-picker-content.cjs.entry.js +5 -4
- package/dist/cjs/bh-date-range-picker.cjs.entry.js +7 -6
- package/dist/cjs/bh-divider.cjs.entry.js +4 -3
- package/dist/cjs/bh-dropdown-menu.cjs.entry.js +1 -1
- package/dist/cjs/bh-dropdown.cjs.entry.js +13 -4
- package/dist/cjs/bh-emoji-picker.cjs.entry.js +1 -1
- package/dist/cjs/bh-empty-state_2.cjs.entry.js +6 -5
- package/dist/cjs/bh-featured-icon.cjs.entry.js +4 -3
- package/dist/cjs/bh-gauge-chart.cjs.entry.js +5 -4
- package/dist/cjs/bh-guided-checklist.cjs.entry.js +5 -4
- package/dist/cjs/bh-html-editor-bubble-menu_2.cjs.entry.js +8 -7
- package/dist/cjs/bh-html-editor.cjs.entry.js +5 -4
- package/dist/cjs/bh-illustrations.cjs.entry.js +4 -3
- package/dist/cjs/bh-inline-cta.cjs.entry.js +5 -4
- package/dist/cjs/bh-input-autocomplete.cjs.entry.js +7 -6
- package/dist/cjs/bh-input-number.cjs.entry.js +5 -4
- package/dist/cjs/bh-input-password.cjs.entry.js +6 -5
- package/dist/cjs/bh-input-text.cjs.entry.js +5 -4
- package/dist/cjs/bh-input-verification.cjs.entry.js +4 -3
- package/dist/cjs/bh-kbd.cjs.entry.js +34 -0
- package/dist/cjs/bh-label_2.cjs.entry.js +5 -4
- package/dist/cjs/bh-line-chart.cjs.entry.js +5 -4
- package/dist/cjs/bh-logo-box_2.cjs.entry.js +8 -7
- package/dist/cjs/bh-menu_2.cjs.entry.js +4 -3
- package/dist/cjs/bh-modal-actions.cjs.entry.js +4 -3
- package/dist/cjs/bh-modal-header.cjs.entry.js +7 -6
- package/dist/cjs/bh-modal.cjs.entry.js +4 -3
- package/dist/cjs/bh-month-picker-content.cjs.entry.js +4 -3
- package/dist/cjs/bh-month-picker.cjs.entry.js +6 -5
- package/dist/cjs/bh-multi-select.cjs.entry.js +8 -7
- package/dist/cjs/bh-notification-center.cjs.entry.js +210 -0
- package/dist/cjs/bh-page-header.cjs.entry.js +4 -3
- package/dist/cjs/bh-page-navigation-child.cjs.entry.js +4 -3
- package/dist/cjs/bh-page-navigation-multi-level_2.cjs.entry.js +7 -6
- package/dist/cjs/bh-page-navigation.cjs.entry.js +4 -3
- package/dist/cjs/bh-pagination_2.cjs.entry.js +10 -9
- package/dist/cjs/bh-picker-menu.cjs.entry.js +3 -2
- package/dist/cjs/bh-pie-chart.cjs.entry.js +6 -5
- package/dist/cjs/bh-pivot-grid-field-chooser.cjs.entry.js +5 -4
- package/dist/cjs/bh-pivot-grid.cjs.entry.js +20 -19
- package/dist/cjs/bh-popover.cjs.entry.js +3 -2
- package/dist/cjs/bh-product-switcher.cjs.entry.js +3 -2
- package/dist/cjs/bh-progress-bar.cjs.entry.js +7 -6
- package/dist/cjs/bh-progress-ring.cjs.entry.js +1 -1
- package/dist/cjs/bh-property-switcher.cjs.entry.js +22 -5
- package/dist/cjs/bh-radar-chart.cjs.entry.js +5 -4
- package/dist/cjs/bh-radio-button.cjs.entry.js +3 -2
- package/dist/cjs/bh-radio-group.cjs.entry.js +4 -3
- package/dist/cjs/bh-range-slider.cjs.entry.js +4 -3
- package/dist/cjs/bh-section-footer.cjs.entry.js +4 -3
- package/dist/cjs/bh-section-header.cjs.entry.js +4 -3
- package/dist/cjs/bh-selection-group-item.cjs.entry.js +3 -2
- package/dist/cjs/bh-selection-group.cjs.entry.js +4 -3
- package/dist/cjs/bh-side-panel-footer.cjs.entry.js +1 -1
- package/dist/cjs/bh-side-panel-header.cjs.entry.js +1 -1
- package/dist/cjs/bh-sidebar.cjs.entry.js +19 -5
- package/dist/cjs/bh-stepper.cjs.entry.js +3 -2
- package/dist/cjs/bh-tab-item.cjs.entry.js +5 -4
- package/dist/cjs/bh-table-header.cjs.entry.js +4 -3
- package/dist/cjs/bh-tabs.cjs.entry.js +4 -3
- package/dist/cjs/bh-tag-group.cjs.entry.js +4 -3
- package/dist/cjs/bh-tag-input.cjs.entry.js +5 -4
- package/dist/cjs/bh-textarea.cjs.entry.js +5 -4
- package/dist/cjs/bh-toast-container.cjs.entry.js +1 -1
- package/dist/cjs/bh-toast.cjs.entry.js +5 -4
- package/dist/cjs/bh-toggle.cjs.entry.js +4 -3
- package/dist/cjs/bh-trend-chart.cjs.entry.js +5 -4
- package/dist/cjs/{component-error-handler-C4vfF_Qu.js → component-error-handler-BxXlGq4E.js} +1 -1
- package/dist/cjs/error-boundary-fNUNT0lE.js +75 -0
- package/dist/cjs/hotkeys-BzAUI8Zg.js +113 -0
- package/dist/cjs/index-B6sArKsK.js +20 -12
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{error-boundary-Bf7TcT4U.js → logger-DZionBgs.js} +0 -71
- package/dist/collection/collection-manifest.json +3 -0
- package/dist/collection/components/bh-accordion/bh-accordion-item/bh-accordion-item.js +1 -1
- package/dist/collection/components/bh-activity-feed/bh-activity-feed.css +8 -0
- package/dist/collection/components/bh-activity-feed/bh-activity-feed.js +29 -2
- package/dist/collection/components/bh-appbar/bh-appbar.css +28 -1
- package/dist/collection/components/bh-appbar/bh-appbar.js +220 -9
- package/dist/collection/components/bh-appbar/bh-notification-center/bh-notification-center.css +118 -0
- package/dist/collection/components/bh-appbar/bh-notification-center/bh-notification-center.js +513 -0
- package/dist/collection/components/bh-avatar/bh-avatar-add/bh-avatar-add.js +1 -1
- package/dist/collection/components/bh-avatar/bh-avatar-stacked/bh-avatar-stacked.js +1 -1
- package/dist/collection/components/bh-avatar/bh-avatar.css +8 -2
- package/dist/collection/components/bh-avatar/bh-avatar.js +2 -2
- package/dist/collection/components/bh-badge/bh-badge-dot/bh-badge-dot.js +1 -1
- package/dist/collection/components/bh-badge/bh-badge.js +2 -2
- package/dist/collection/components/bh-banner/bh-banner.js +2 -2
- package/dist/collection/components/bh-breadcrumbs/bh-breadcrumbs.css +3 -1
- package/dist/collection/components/bh-breadcrumbs/bh-breadcrumbs.js +14 -3
- package/dist/collection/components/bh-button/bh-button-icon/bh-button-icon.js +1 -1
- package/dist/collection/components/bh-button/bh-button.js +1 -1
- package/dist/collection/components/bh-card/bh-card-content/bh-card-content.js +1 -1
- package/dist/collection/components/bh-card/bh-card-footer/bh-card-footer.js +1 -1
- package/dist/collection/components/bh-card/bh-card-header/bh-card-header.js +1 -1
- package/dist/collection/components/bh-card/bh-card.js +1 -1
- package/dist/collection/components/bh-chart/bh-bar-chart/bh-bar-chart.js +2 -2
- package/dist/collection/components/bh-chart/bh-chart-tooltip/bh-chart-tooltip.js +2 -2
- package/dist/collection/components/bh-chart/bh-gauge-chart/bh-gauge-chart.js +2 -2
- package/dist/collection/components/bh-chart/bh-line-chart/bh-line-chart.js +2 -2
- package/dist/collection/components/bh-chart/bh-pie-chart/bh-pie-chart.js +3 -3
- package/dist/collection/components/bh-chart/bh-progress-bar/bh-progress-bar.js +4 -4
- package/dist/collection/components/bh-chart/bh-radar-chart/bh-radar-chart.js +2 -2
- package/dist/collection/components/bh-chart/bh-trend-chart/bh-trend-chart.js +2 -2
- package/dist/collection/components/bh-chat/bh-chat-message/bh-chat-message.js +2 -2
- package/dist/collection/components/bh-chat/bh-chat-reaction/bh-chat-reaction.js +2 -2
- package/dist/collection/components/bh-close-button/bh-close-button.js +1 -1
- package/dist/collection/components/bh-command-bar/bh-command-bar.css +181 -0
- package/dist/collection/components/bh-command-bar/bh-command-bar.figma.js +9 -0
- package/dist/collection/components/bh-command-bar/bh-command-bar.js +663 -0
- package/dist/collection/components/bh-container/bh-container-footer/bh-container-footer.js +1 -1
- package/dist/collection/components/bh-container/bh-container.js +1 -1
- package/dist/collection/components/bh-credit-card/bh-credit-card.js +1 -1
- package/dist/collection/components/bh-data-grid/bh-data-grid-footer.js +1 -1
- package/dist/collection/components/bh-data-grid/bh-data-grid-toolbar.js +1 -1
- package/dist/collection/components/bh-divider/bh-divider.js +1 -1
- package/dist/collection/components/bh-dropdown/bh-dropdown-menu/bh-dropdown-menu.js +1 -1
- package/dist/collection/components/bh-dropdown/bh-dropdown.js +29 -1
- package/dist/collection/components/bh-emoji-picker/bh-emoji-picker.js +1 -1
- package/dist/collection/components/bh-empty-state/bh-empty-state.js +1 -1
- package/dist/collection/components/bh-fab/bh-fab.js +2 -2
- package/dist/collection/components/bh-featured-icon/bh-featured-icon.js +1 -1
- package/dist/collection/components/bh-feed-item/bh-feed-item.css +9 -2
- package/dist/collection/components/bh-feed-item/bh-feed-item.js +81 -4
- package/dist/collection/components/bh-guided-checklist/bh-guided-checklist.js +1 -1
- package/dist/collection/components/bh-html-editor/bh-html-editor-bubble-menu/bh-html-editor-bubble-menu.js +3 -3
- package/dist/collection/components/bh-html-editor/bh-html-editor-toolbar/bh-html-editor-toolbar.js +1 -1
- package/dist/collection/components/bh-html-editor/bh-html-editor.js +2 -2
- package/dist/collection/components/bh-illustrations/bh-illustrations.js +1 -1
- package/dist/collection/components/bh-inline-cta/bh-inline-cta.js +2 -2
- package/dist/collection/components/bh-input/bh-input-autocomplete/bh-input-autocomplete.js +3 -3
- package/dist/collection/components/bh-input/bh-input-number/bh-input-number.js +2 -2
- package/dist/collection/components/bh-input/bh-input-password/bh-input-password.js +3 -3
- package/dist/collection/components/bh-input/bh-input-text/bh-input-text.js +2 -2
- package/dist/collection/components/bh-input/bh-input-verification/bh-input-verification.js +1 -1
- package/dist/collection/components/bh-input/bh-tag-input/bh-tag-input.js +2 -2
- package/dist/collection/components/bh-input/bh-textarea/bh-textarea.js +2 -2
- package/dist/collection/components/bh-kbd/bh-kbd.css +33 -0
- package/dist/collection/components/bh-kbd/bh-kbd.figma.js +11 -0
- package/dist/collection/components/bh-kbd/bh-kbd.js +78 -0
- package/dist/collection/components/bh-logo-box/bh-logo-box.js +2 -2
- package/dist/collection/components/bh-modal/bh-modal-actions/bh-modal-actions.js +1 -1
- package/dist/collection/components/bh-modal/bh-modal-header/bh-modal-header.js +4 -4
- package/dist/collection/components/bh-multi-select/bh-multi-select.js +3 -3
- package/dist/collection/components/bh-page-header/bh-page-header.js +2 -2
- package/dist/collection/components/bh-page-navigation/bh-page-navigation-child/bh-page-navigation-child.js +1 -1
- package/dist/collection/components/bh-page-navigation/bh-page-navigation-multi-level/bh-page-navigation-multi-level.js +2 -2
- package/dist/collection/components/bh-page-navigation/bh-page-navigation-single-level/bh-page-navigation-single-level.js +1 -1
- package/dist/collection/components/bh-page-navigation/bh-page-navigation.js +1 -1
- package/dist/collection/components/bh-pagination/bh-pagination.js +2 -2
- package/dist/collection/components/bh-picker/bh-date-picker/bh-date-picker-content/bh-date-picker-content.js +3 -3
- package/dist/collection/components/bh-picker/bh-date-picker/bh-date-picker.js +3 -3
- package/dist/collection/components/bh-picker/bh-date-range-picker/bh-date-range-picker-content/bh-date-range-picker-content.js +2 -2
- package/dist/collection/components/bh-picker/bh-date-range-picker/bh-date-range-picker.js +4 -4
- package/dist/collection/components/bh-picker/bh-month-picker/bh-month-picker-content/bh-month-picker-content.js +1 -1
- package/dist/collection/components/bh-picker/bh-month-picker/bh-month-picker.js +3 -3
- package/dist/collection/components/bh-pivot-grid/bh-pivot-grid-field-chooser/bh-pivot-grid-field-chooser.js +2 -2
- package/dist/collection/components/bh-pivot-grid/bh-pivot-grid.js +16 -16
- package/dist/collection/components/bh-progress-ring/bh-progress-ring.js +1 -1
- package/dist/collection/components/bh-property-switcher/bh-property-switcher.js +20 -4
- package/dist/collection/components/bh-radio-group/bh-radio-group.js +1 -1
- package/dist/collection/components/bh-range-slider/bh-range-slider.js +1 -1
- package/dist/collection/components/bh-section-footer/bh-section-footer.js +1 -1
- package/dist/collection/components/bh-section-header/bh-section-header.js +1 -1
- package/dist/collection/components/bh-select/bh-select.js +4 -4
- package/dist/collection/components/bh-selection-group/bh-selection-group.js +1 -1
- package/dist/collection/components/bh-side-panel/bh-side-panel-footer/bh-side-panel-footer.js +1 -1
- package/dist/collection/components/bh-side-panel/bh-side-panel-header/bh-side-panel-header.js +1 -1
- package/dist/collection/components/bh-sidebar/bh-nav-item/bh-nav-item.js +2 -2
- package/dist/collection/components/bh-sidebar/bh-sidebar.js +79 -3
- package/dist/collection/components/bh-skeleton-loader/bh-skeleton-loader.js +1 -1
- package/dist/collection/components/bh-table-header/bh-table-header.js +1 -1
- package/dist/collection/components/bh-tabs/bh-tab-item/bh-tab-item.js +2 -2
- package/dist/collection/components/bh-tabs/bh-tabs.js +1 -1
- package/dist/collection/components/bh-tag/bh-tag-group/bh-tag-group.js +1 -1
- package/dist/collection/components/bh-tag/bh-tag.js +2 -2
- package/dist/collection/components/bh-toast/bh-toast.js +2 -2
- package/dist/collection/components/bh-toast-container/bh-toast-container.js +1 -1
- package/dist/collection/components/bh-toggle/bh-toggle.js +1 -1
- package/dist/collection/components/bh-tooltip/bh-tooltip.js +1 -1
- package/dist/collection/components/index.js +5 -0
- package/dist/collection/utils/hotkeys.js +107 -0
- package/dist/collection/utils/index.js +4 -0
- package/dist/esm/bellhop-core.js +1 -1
- package/dist/esm/bh-accordion-item.entry.js +3 -2
- package/dist/esm/bh-accordion.entry.js +2 -1
- package/dist/esm/bh-activity-feed_2.entry.js +171 -0
- package/dist/esm/bh-alert.entry.js +3 -2
- package/dist/esm/bh-appbar.entry.js +56 -10
- package/dist/esm/bh-autocomplete-menu.entry.js +2 -1
- package/dist/esm/bh-avatar-add.entry.js +3 -2
- package/dist/esm/bh-avatar-stacked.entry.js +3 -2
- package/dist/esm/bh-avatar.entry.js +5 -4
- package/dist/esm/bh-badge-dot_2.entry.js +6 -5
- package/dist/esm/bh-badge.entry.js +5 -4
- package/dist/esm/bh-banner.entry.js +4 -3
- package/dist/esm/bh-bar-chart.entry.js +4 -3
- package/dist/esm/bh-breadcrumbs.entry.js +15 -4
- package/dist/esm/bh-button-icon_2.entry.js +3 -2
- package/dist/esm/bh-button.entry.js +4 -3
- package/dist/esm/bh-card-content.entry.js +3 -2
- package/dist/esm/bh-card-footer.entry.js +3 -2
- package/dist/esm/bh-card-header.entry.js +3 -2
- package/dist/esm/bh-card.entry.js +3 -2
- package/dist/esm/bh-chart-tooltip.entry.js +4 -3
- package/dist/esm/bh-chat-message.entry.js +4 -3
- package/dist/esm/bh-chat-reaction.entry.js +4 -3
- package/dist/esm/bh-checkbox.entry.js +2 -1
- package/dist/esm/bh-checklist-task-group_3.entry.js +5 -4
- package/dist/esm/bh-close-button.entry.js +1 -1
- package/dist/esm/bh-command-bar.entry.js +307 -0
- package/dist/esm/bh-container-footer.entry.js +3 -2
- package/dist/esm/bh-container.entry.js +3 -2
- package/dist/esm/bh-credit-card.entry.js +3 -2
- package/dist/esm/bh-data-grid-body.entry.js +2 -1
- package/dist/esm/bh-data-grid-change-preview.entry.js +2 -1
- package/dist/esm/bh-data-grid-filter-builder.entry.js +2 -1
- package/dist/esm/bh-data-grid-footer.entry.js +3 -2
- package/dist/esm/bh-data-grid-header.entry.js +2 -1
- package/dist/esm/bh-data-grid-toolbar.entry.js +3 -2
- package/dist/esm/bh-data-grid.entry.js +3 -2
- package/dist/esm/bh-date-picker-content.entry.js +5 -4
- package/dist/esm/bh-date-picker.entry.js +5 -4
- package/dist/esm/bh-date-range-picker-content.entry.js +4 -3
- package/dist/esm/bh-date-range-picker.entry.js +6 -5
- package/dist/esm/bh-divider.entry.js +3 -2
- package/dist/esm/bh-dropdown-menu.entry.js +1 -1
- package/dist/esm/bh-dropdown.entry.js +12 -3
- package/dist/esm/bh-emoji-picker.entry.js +1 -1
- package/dist/esm/bh-empty-state_2.entry.js +4 -3
- package/dist/esm/bh-featured-icon.entry.js +3 -2
- package/dist/esm/bh-gauge-chart.entry.js +4 -3
- package/dist/esm/bh-guided-checklist.entry.js +4 -3
- package/dist/esm/bh-html-editor-bubble-menu_2.entry.js +6 -5
- package/dist/esm/bh-html-editor.entry.js +4 -3
- package/dist/esm/bh-illustrations.entry.js +3 -2
- package/dist/esm/bh-inline-cta.entry.js +4 -3
- package/dist/esm/bh-input-autocomplete.entry.js +6 -5
- package/dist/esm/bh-input-number.entry.js +4 -3
- package/dist/esm/bh-input-password.entry.js +5 -4
- package/dist/esm/bh-input-text.entry.js +4 -3
- package/dist/esm/bh-input-verification.entry.js +3 -2
- package/dist/esm/bh-kbd.entry.js +32 -0
- package/dist/esm/bh-label_2.entry.js +3 -2
- package/dist/esm/bh-line-chart.entry.js +4 -3
- package/dist/esm/bh-logo-box_2.entry.js +6 -5
- package/dist/esm/bh-menu_2.entry.js +2 -1
- package/dist/esm/bh-modal-actions.entry.js +3 -2
- package/dist/esm/bh-modal-header.entry.js +6 -5
- package/dist/esm/bh-modal.entry.js +3 -2
- package/dist/esm/bh-month-picker-content.entry.js +3 -2
- package/dist/esm/bh-month-picker.entry.js +5 -4
- package/dist/esm/bh-multi-select.entry.js +7 -6
- package/dist/esm/bh-notification-center.entry.js +208 -0
- package/dist/esm/bh-page-header.entry.js +3 -2
- package/dist/esm/bh-page-navigation-child.entry.js +3 -2
- package/dist/esm/bh-page-navigation-multi-level_2.entry.js +5 -4
- package/dist/esm/bh-page-navigation.entry.js +3 -2
- package/dist/esm/bh-pagination_2.entry.js +8 -7
- package/dist/esm/bh-picker-menu.entry.js +2 -1
- package/dist/esm/bh-pie-chart.entry.js +5 -4
- package/dist/esm/bh-pivot-grid-field-chooser.entry.js +4 -3
- package/dist/esm/bh-pivot-grid.entry.js +19 -18
- package/dist/esm/bh-popover.entry.js +2 -1
- package/dist/esm/bh-product-switcher.entry.js +2 -1
- package/dist/esm/bh-progress-bar.entry.js +6 -5
- package/dist/esm/bh-progress-ring.entry.js +1 -1
- package/dist/esm/bh-property-switcher.entry.js +21 -4
- package/dist/esm/bh-radar-chart.entry.js +4 -3
- package/dist/esm/bh-radio-button.entry.js +2 -1
- package/dist/esm/bh-radio-group.entry.js +3 -2
- package/dist/esm/bh-range-slider.entry.js +3 -2
- package/dist/esm/bh-section-footer.entry.js +3 -2
- package/dist/esm/bh-section-header.entry.js +3 -2
- package/dist/esm/bh-selection-group-item.entry.js +2 -1
- package/dist/esm/bh-selection-group.entry.js +3 -2
- package/dist/esm/bh-side-panel-footer.entry.js +1 -1
- package/dist/esm/bh-side-panel-header.entry.js +1 -1
- package/dist/esm/bh-sidebar.entry.js +18 -4
- package/dist/esm/bh-stepper.entry.js +2 -1
- package/dist/esm/bh-tab-item.entry.js +4 -3
- package/dist/esm/bh-table-header.entry.js +3 -2
- package/dist/esm/bh-tabs.entry.js +3 -2
- package/dist/esm/bh-tag-group.entry.js +3 -2
- package/dist/esm/bh-tag-input.entry.js +4 -3
- package/dist/esm/bh-textarea.entry.js +4 -3
- package/dist/esm/bh-toast-container.entry.js +1 -1
- package/dist/esm/bh-toast.entry.js +4 -3
- package/dist/esm/bh-toggle.entry.js +3 -2
- package/dist/esm/bh-trend-chart.entry.js +4 -3
- package/dist/esm/{component-error-handler-BVWQSuxn.js → component-error-handler-bgLpf9Pn.js} +1 -1
- package/dist/esm/error-boundary-afpK3NgJ.js +70 -0
- package/dist/esm/hotkeys-CBTS9Vhx.js +109 -0
- package/dist/esm/index-CTHvNfIu.js +20 -12
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{error-boundary-YLeLKAYJ.js → logger-CMKOFHIa.js} +1 -68
- package/dist/locales/bh-appbar/de.json +4 -1
- package/dist/locales/bh-appbar/en.json +4 -1
- package/dist/locales/bh-appbar/es.json +4 -1
- package/dist/locales/bh-appbar/fr.json +4 -1
- package/dist/locales/bh-appbar/ja.json +4 -1
- package/dist/locales/bh-appbar/pt.json +4 -1
- package/dist/locales/bh-appbar/ru.json +4 -1
- package/dist/locales/bh-appbar/zh.json +4 -1
- package/dist/locales/bh-command-bar/de.json +13 -0
- package/dist/locales/bh-command-bar/en.json +13 -0
- package/dist/locales/bh-command-bar/es.json +13 -0
- package/dist/locales/bh-command-bar/fr.json +13 -0
- package/dist/locales/bh-command-bar/ja.json +13 -0
- package/dist/locales/bh-command-bar/pt.json +13 -0
- package/dist/locales/bh-command-bar/ru.json +13 -0
- package/dist/locales/bh-command-bar/zh.json +13 -0
- package/dist/types/components/bh-activity-feed/bh-activity-feed.d.ts +6 -0
- package/dist/types/components/bh-appbar/bh-appbar.d.ts +38 -0
- package/dist/types/components/bh-appbar/bh-notification-center/bh-notification-center.d.ts +108 -0
- package/dist/types/components/bh-breadcrumbs/bh-breadcrumbs.d.ts +8 -0
- package/dist/types/components/bh-command-bar/bh-command-bar.d.ts +131 -0
- package/dist/types/components/bh-command-bar/bh-command-bar.figma.d.ts +1 -0
- package/dist/types/components/bh-dropdown/bh-dropdown.d.ts +4 -0
- package/dist/types/components/bh-feed-item/bh-feed-item.d.ts +15 -0
- package/dist/types/components/bh-kbd/bh-kbd.d.ts +13 -0
- package/dist/types/components/bh-kbd/bh-kbd.figma.d.ts +1 -0
- package/dist/types/components/bh-property-switcher/bh-property-switcher.d.ts +2 -0
- package/dist/types/components/bh-sidebar/bh-sidebar.d.ts +14 -1
- package/dist/types/components/index.d.ts +3 -0
- package/dist/types/components.d.ts +541 -4
- package/dist/types/index.d.ts +2 -0
- package/dist/types/utils/hotkeys.d.ts +23 -0
- package/dist/types/utils/index.d.ts +1 -0
- package/hydrate/index.js +1021 -189
- package/hydrate/index.mjs +1021 -189
- package/llms.txt +4251 -286
- package/package.json +1 -1
- package/vscode-data.json +215 -0
- package/components/p-B7i48CAz.js +0 -1
- package/components/p-Bk-ipvH3.js +0 -1
- package/components/p-Cy98fCjm.js +0 -1
- package/components/p-i7ZvTRXV.js +0 -1
- package/dist/bellhop-core/p-008932dc.entry.js +0 -1
- package/dist/bellhop-core/p-03e002af.entry.js +0 -1
- package/dist/bellhop-core/p-062955a0.entry.js +0 -1
- package/dist/bellhop-core/p-0705eb78.entry.js +0 -1
- package/dist/bellhop-core/p-0a1548b0.entry.js +0 -1
- package/dist/bellhop-core/p-0a758a65.entry.js +0 -1
- package/dist/bellhop-core/p-0b3a286d.entry.js +0 -1
- package/dist/bellhop-core/p-0e60f7f5.entry.js +0 -1
- package/dist/bellhop-core/p-105d9352.entry.js +0 -1
- package/dist/bellhop-core/p-11eec77c.entry.js +0 -1
- package/dist/bellhop-core/p-1334408b.entry.js +0 -1
- package/dist/bellhop-core/p-141d68b7.entry.js +0 -1
- package/dist/bellhop-core/p-164db491.entry.js +0 -1
- package/dist/bellhop-core/p-170c4a62.entry.js +0 -1
- package/dist/bellhop-core/p-19739563.entry.js +0 -1
- package/dist/bellhop-core/p-1cfa274f.entry.js +0 -1
- package/dist/bellhop-core/p-1ddb2ef9.entry.js +0 -1
- package/dist/bellhop-core/p-22243198.entry.js +0 -1
- package/dist/bellhop-core/p-23acfc6a.entry.js +0 -1
- package/dist/bellhop-core/p-277693e6.entry.js +0 -1
- package/dist/bellhop-core/p-283eb6ee.entry.js +0 -1
- package/dist/bellhop-core/p-298d6782.entry.js +0 -1
- package/dist/bellhop-core/p-30f1e109.entry.js +0 -1
- package/dist/bellhop-core/p-31e952ed.entry.js +0 -1
- package/dist/bellhop-core/p-3254b058.entry.js +0 -1
- package/dist/bellhop-core/p-332a6b0d.entry.js +0 -1
- package/dist/bellhop-core/p-43c97303.entry.js +0 -1
- package/dist/bellhop-core/p-4b8fe1fa.entry.js +0 -1
- package/dist/bellhop-core/p-4d8b9186.entry.js +0 -1
- package/dist/bellhop-core/p-50b95dc8.entry.js +0 -1
- package/dist/bellhop-core/p-53006e0e.entry.js +0 -1
- package/dist/bellhop-core/p-53683664.entry.js +0 -1
- package/dist/bellhop-core/p-53dc8f16.entry.js +0 -1
- package/dist/bellhop-core/p-54d147b9.entry.js +0 -1
- package/dist/bellhop-core/p-56b090e1.entry.js +0 -1
- package/dist/bellhop-core/p-58eae3e6.entry.js +0 -1
- package/dist/bellhop-core/p-5d43f80b.entry.js +0 -1
- package/dist/bellhop-core/p-61aeccd7.entry.js +0 -1
- package/dist/bellhop-core/p-63303380.entry.js +0 -1
- package/dist/bellhop-core/p-63af6f45.entry.js +0 -1
- package/dist/bellhop-core/p-640aaf14.entry.js +0 -1
- package/dist/bellhop-core/p-6632ba13.entry.js +0 -1
- package/dist/bellhop-core/p-6807b97e.entry.js +0 -1
- package/dist/bellhop-core/p-6a725cbe.entry.js +0 -1
- package/dist/bellhop-core/p-6bfb6425.entry.js +0 -1
- package/dist/bellhop-core/p-6c4eb165.entry.js +0 -1
- package/dist/bellhop-core/p-72cd0a98.entry.js +0 -1
- package/dist/bellhop-core/p-74972e2e.entry.js +0 -1
- package/dist/bellhop-core/p-77a7967d.entry.js +0 -1
- package/dist/bellhop-core/p-79bc0c14.entry.js +0 -1
- package/dist/bellhop-core/p-7f2736ab.entry.js +0 -1
- package/dist/bellhop-core/p-83024333.entry.js +0 -1
- package/dist/bellhop-core/p-8c01d55f.entry.js +0 -1
- package/dist/bellhop-core/p-8d4654ea.entry.js +0 -1
- package/dist/bellhop-core/p-9429002f.entry.js +0 -1
- package/dist/bellhop-core/p-956ca990.entry.js +0 -1
- package/dist/bellhop-core/p-9b0d2d1d.entry.js +0 -1
- package/dist/bellhop-core/p-YLeLKAYJ.js +0 -1
- package/dist/bellhop-core/p-a0005573.entry.js +0 -1
- package/dist/bellhop-core/p-a26f1ec0.entry.js +0 -1
- package/dist/bellhop-core/p-a42cca95.entry.js +0 -1
- package/dist/bellhop-core/p-a7153865.entry.js +0 -1
- package/dist/bellhop-core/p-a7608d57.entry.js +0 -1
- package/dist/bellhop-core/p-a94d36ae.entry.js +0 -1
- package/dist/bellhop-core/p-a9644488.entry.js +0 -1
- package/dist/bellhop-core/p-aac0f3c1.entry.js +0 -1
- package/dist/bellhop-core/p-aae7e90e.entry.js +0 -1
- package/dist/bellhop-core/p-ac2d706c.entry.js +0 -1
- package/dist/bellhop-core/p-b21105d4.entry.js +0 -1
- package/dist/bellhop-core/p-b7995c47.entry.js +0 -1
- package/dist/bellhop-core/p-bacf8b19.entry.js +0 -1
- package/dist/bellhop-core/p-bf2f5dbd.entry.js +0 -1
- package/dist/bellhop-core/p-c10aff52.entry.js +0 -1
- package/dist/bellhop-core/p-c30fcfcb.entry.js +0 -1
- package/dist/bellhop-core/p-c581c876.entry.js +0 -1
- package/dist/bellhop-core/p-c97c166b.entry.js +0 -1
- package/dist/bellhop-core/p-cb19b35b.entry.js +0 -1
- package/dist/bellhop-core/p-cb1dde19.entry.js +0 -1
- package/dist/bellhop-core/p-cf8c9d85.entry.js +0 -1
- package/dist/bellhop-core/p-d3816b20.entry.js +0 -1
- package/dist/bellhop-core/p-d4107350.entry.js +0 -1
- package/dist/bellhop-core/p-d59fdc08.entry.js +0 -1
- package/dist/bellhop-core/p-d77016ec.entry.js +0 -1
- package/dist/bellhop-core/p-dd1e6138.entry.js +0 -1
- package/dist/bellhop-core/p-dd6f2996.entry.js +0 -1
- package/dist/bellhop-core/p-e082bce2.entry.js +0 -1
- package/dist/bellhop-core/p-e0e28b1f.entry.js +0 -1
- package/dist/bellhop-core/p-e4a47861.entry.js +0 -1
- package/dist/bellhop-core/p-e74a03e3.entry.js +0 -1
- package/dist/bellhop-core/p-e9168244.entry.js +0 -1
- package/dist/bellhop-core/p-ea1fe131.entry.js +0 -1
- package/dist/bellhop-core/p-ecf1b0c4.entry.js +0 -1
- package/dist/bellhop-core/p-f16e07ca.entry.js +0 -1
- package/dist/bellhop-core/p-f2d2abb2.entry.js +0 -1
- package/dist/bellhop-core/p-f8f6e900.entry.js +0 -1
- package/dist/bellhop-core/p-fbdeab71.entry.js +0 -1
- package/dist/bellhop-core/p-fcb058cf.entry.js +0 -1
- package/dist/cjs/bh-activity-feed.cjs.entry.js +0 -71
- package/dist/cjs/bh-feed-item.cjs.entry.js +0 -82
- package/dist/esm/bh-activity-feed.entry.js +0 -69
- package/dist/esm/bh-feed-item.entry.js +0 -80
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{h as t,r,c as e,a,f as i}from"./p-CTHvNfIu.js";import{v as o}from"./p-R-A72b5e.js";import{r as n}from"./p-gY2wiaRN.js";import{i as l,g as s}from"./p-jpCe1QTg.js";import{c as d}from"./p-
|
|
1
|
+
import{h as t,r,c as e,a,f as i}from"./p-CTHvNfIu.js";import{v as o}from"./p-R-A72b5e.js";import{r as n}from"./p-gY2wiaRN.js";import{i as l,g as s}from"./p-jpCe1QTg.js";import{c as d}from"./p-CKTtXT2O.js";import{b as c,i as h,c as u}from"./p-BqJRACkO.js";import{K as g}from"./p-zdFuIabL.js";import{D as p}from"./p-UjNYPqeE.js";import{c as v,a as b}from"./p-CS8F5LFw.js";import{c as m}from"./p-CijzRD3j.js";import{c as f}from"./p-CMKOFHIa.js";import{c as w}from"./p-CtKihrmj.js";import{m as x,M as y}from"./p-CSH9RXgl.js";import{t as C}from"./p-Bf0qW3wI.js";import"./p-BNVOtH-1.js";import"./p-Xi3uD33F.js";const k={failureThreshold:5,resetTimeout:3e4,name:"data-grid"};function z(t){if(!t)return"";try{return p.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 t.replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""").replaceAll("'","'")}}
|
|
2
2
|
/**
|
|
3
3
|
* table-core
|
|
4
4
|
*
|
|
@@ -8,4 +8,4 @@ import{h as t,r,c as e,a,f as i}from"./p-CTHvNfIu.js";import{v as o}from"./p-R-A
|
|
|
8
8
|
* LICENSE.md file in the root directory of this source tree.
|
|
9
9
|
*
|
|
10
10
|
* @license MIT
|
|
11
|
-
*/function S(t,r){return"function"==typeof t?t(r):t}function I(t,r){return e=>{r.setState((r=>({...r,[t]:S(e,r[t])})))}}function R(t){return t instanceof Function}function D(t,r){const e=[],a=t=>{t.forEach((t=>{e.push(t);const i=r(t);null!=i&&i.length&&a(i)}))};return a(t),e}function F(t,r,e){let a,i=[];return o=>{let n;e.key&&e.debug&&(n=Date.now());const l=t(o);if(l.length===i.length&&!l.some(((t,r)=>i[r]!==t)))return a;let s;if(i=l,e.key&&e.debug&&(s=Date.now()),a=r(...l),null==e||null==e.onChange||e.onChange(a),e.key&&e.debug&&null!=e&&e.debug()){const t=Math.round(100*(Date.now()-n))/100,r=Math.round(100*(Date.now()-s))/100,a=r/16,i=(t,r)=>{for(t=String(t);t.length<r;)t=" "+t;return t};console.info(`%c⏱ ${i(r,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==e?void 0:e.key)}return a}}function E(t,r,e,a){return{debug:()=>{var e;return null!=(e=null==t?void 0:t.debugAll)?e:t[r]},key:!1,onChange:a}}const M="debugHeaders";function O(t,r,e){var a;let i={id:null!=(a=e.id)?a:r.id,column:r,index:e.index,isPlaceholder:!!e.isPlaceholder,placeholderId:e.placeholderId,depth:e.depth,subHeaders:[],colSpan:0,rowSpan:0,headerGroup:null,getLeafHeaders:()=>{const t=[],r=e=>{e.subHeaders&&e.subHeaders.length&&e.subHeaders.map(r),t.push(e)};return r(i),t},getContext:()=>({table:t,header:i,column:r})};return t._features.forEach((r=>{null==r.createHeader||r.createHeader(i,t)})),i}const j={createTable:t=>{t.getHeaderGroups=F((()=>[t.getAllColumns(),t.getVisibleLeafColumns(),t.getState().columnPinning.left,t.getState().columnPinning.right]),((r,e,a,i)=>{var o,n;const l=null!=(o=null==a?void 0:a.map((t=>e.find((r=>r.id===t)))).filter(Boolean))?o:[],s=null!=(n=null==i?void 0:i.map((t=>e.find((r=>r.id===t)))).filter(Boolean))?n:[];return B(r,[...l,...e.filter((t=>!(null!=a&&a.includes(t.id)||null!=i&&i.includes(t.id)))),...s],t)}),E(t.options,M)),t.getCenterHeaderGroups=F((()=>[t.getAllColumns(),t.getVisibleLeafColumns(),t.getState().columnPinning.left,t.getState().columnPinning.right]),((r,e,a,i)=>B(r,e=e.filter((t=>!(null!=a&&a.includes(t.id)||null!=i&&i.includes(t.id)))),t,"center")),E(t.options,M)),t.getLeftHeaderGroups=F((()=>[t.getAllColumns(),t.getVisibleLeafColumns(),t.getState().columnPinning.left]),((r,e,a)=>{var i;return B(r,null!=(i=null==a?void 0:a.map((t=>e.find((r=>r.id===t)))).filter(Boolean))?i:[],t,"left")}),E(t.options,M)),t.getRightHeaderGroups=F((()=>[t.getAllColumns(),t.getVisibleLeafColumns(),t.getState().columnPinning.right]),((r,e,a)=>{var i;return B(r,null!=(i=null==a?void 0:a.map((t=>e.find((r=>r.id===t)))).filter(Boolean))?i:[],t,"right")}),E(t.options,M)),t.getFooterGroups=F((()=>[t.getHeaderGroups()]),(t=>[...t].reverse()),E(t.options,M)),t.getLeftFooterGroups=F((()=>[t.getLeftHeaderGroups()]),(t=>[...t].reverse()),E(t.options,M)),t.getCenterFooterGroups=F((()=>[t.getCenterHeaderGroups()]),(t=>[...t].reverse()),E(t.options,M)),t.getRightFooterGroups=F((()=>[t.getRightHeaderGroups()]),(t=>[...t].reverse()),E(t.options,M)),t.getFlatHeaders=F((()=>[t.getHeaderGroups()]),(t=>t.map((t=>t.headers)).flat()),E(t.options,M)),t.getLeftFlatHeaders=F((()=>[t.getLeftHeaderGroups()]),(t=>t.map((t=>t.headers)).flat()),E(t.options,M)),t.getCenterFlatHeaders=F((()=>[t.getCenterHeaderGroups()]),(t=>t.map((t=>t.headers)).flat()),E(t.options,M)),t.getRightFlatHeaders=F((()=>[t.getRightHeaderGroups()]),(t=>t.map((t=>t.headers)).flat()),E(t.options,M)),t.getCenterLeafHeaders=F((()=>[t.getCenterFlatHeaders()]),(t=>t.filter((t=>{var r;return!(null!=(r=t.subHeaders)&&r.length)}))),E(t.options,M)),t.getLeftLeafHeaders=F((()=>[t.getLeftFlatHeaders()]),(t=>t.filter((t=>{var r;return!(null!=(r=t.subHeaders)&&r.length)}))),E(t.options,M)),t.getRightLeafHeaders=F((()=>[t.getRightFlatHeaders()]),(t=>t.filter((t=>{var r;return!(null!=(r=t.subHeaders)&&r.length)}))),E(t.options,M)),t.getLeafHeaders=F((()=>[t.getLeftHeaderGroups(),t.getCenterHeaderGroups(),t.getRightHeaderGroups()]),((t,r,e)=>{var a,i,o,n,l,s;return[...null!=(a=null==(i=t[0])?void 0:i.headers)?a:[],...null!=(o=null==(n=r[0])?void 0:n.headers)?o:[],...null!=(l=null==(s=e[0])?void 0:s.headers)?l:[]].map((t=>t.getLeafHeaders())).flat()}),E(t.options,M))}};function B(t,r,e,a){var i,o;let n=0;const l=function(t,r){void 0===r&&(r=1),n=Math.max(n,r),t.filter((t=>t.getIsVisible())).forEach((t=>{var e;null!=(e=t.columns)&&e.length&&l(t.columns,r+1)}),0)};l(t);let s=[];const d=(t,r)=>{const i={depth:r,id:[a,`${r}`].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=O(e,l,{id:[a,r,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:r,index:o.length});i.subHeaders.push(t),o.push(i)}i.headers.push(t),t.headerGroup=i})),s.push(i),r>0&&d(o,r-1)},c=r.map(((t,r)=>O(e,t,{depth:n,index:r})));d(c,n-1),s.reverse();const h=t=>t.filter((t=>t.column.getIsVisible())).map((t=>{let r=0,e=0,a=[0];return t.subHeaders&&t.subHeaders.length?(a=[],h(t.subHeaders).forEach((t=>{let{colSpan:e,rowSpan:i}=t;r+=e,a.push(i)}))):r=1,e+=Math.min(...a),t.colSpan=r,t.rowSpan=e,{colSpan:r,rowSpan:e}}));return h(null!=(i=null==(o=s[0])?void 0:o.headers)?i:[]),s}const _=(t,r,e,a,i,o,n)=>{let l={id:r,index:a,original:e,depth:i,parentId:n,_valuesCache:{},_uniqueValuesCache:{},getValue:r=>{if(l._valuesCache.hasOwnProperty(r))return l._valuesCache[r];const e=t.getColumn(r);return null!=e&&e.accessorFn?(l._valuesCache[r]=e.accessorFn(l.original,a),l._valuesCache[r]):void 0},getUniqueValues:r=>{if(l._uniqueValuesCache.hasOwnProperty(r))return l._uniqueValuesCache[r];const e=t.getColumn(r);return null!=e&&e.accessorFn?e.columnDef.getUniqueValues?(l._uniqueValuesCache[r]=e.columnDef.getUniqueValues(l.original,a),l._uniqueValuesCache[r]):(l._uniqueValuesCache[r]=[l.getValue(r)],l._uniqueValuesCache[r]):void 0},renderValue:r=>{var e;return null!=(e=l.getValue(r))?e:t.options.renderFallbackValue},subRows:null!=o?o:[],getLeafRows:()=>D(l.subRows,(t=>t.subRows)),getParentRow:()=>l.parentId?t.getRow(l.parentId,!0):void 0,getParentRows:()=>{let t=[],r=l;for(;;){const e=r.getParentRow();if(!e)break;t.push(e),r=e}return t.reverse()},getAllCells:F((()=>[t.getAllLeafColumns()]),(r=>r.map((r=>function(t,r,e,a){const i={id:`${r.id}_${e.id}`,row:r,column:e,getValue:()=>r.getValue(a),renderValue:()=>{var r;return null!=(r=i.getValue())?r:t.options.renderFallbackValue},getContext:F((()=>[t,e,r,i]),((t,r,e,a)=>({table:t,column:r,row:e,cell:a,getValue:a.getValue,renderValue:a.renderValue})),E(t.options,"debugCells"))};return t._features.forEach((a=>{null==a.createCell||a.createCell(i,e,r,t)}),{}),i}(t,l,r,r.id)))),E(t.options,"debugRows")),_getAllCellsByColumnId:F((()=>[l.getAllCells()]),(t=>t.reduce(((t,r)=>(t[r.column.id]=r,t)),{})),E(t.options,"debugRows"))};for(let r=0;r<t._features.length;r++){const e=t._features[r];null==e||null==e.createRow||e.createRow(l,t)}return l},P={createColumn:(t,r)=>{t._getFacetedRowModel=r.options.getFacetedRowModel&&r.options.getFacetedRowModel(r,t.id),t.getFacetedRowModel=()=>t._getFacetedRowModel?t._getFacetedRowModel():r.getPreFilteredRowModel(),t._getFacetedUniqueValues=r.options.getFacetedUniqueValues&&r.options.getFacetedUniqueValues(r,t.id),t.getFacetedUniqueValues=()=>t._getFacetedUniqueValues?t._getFacetedUniqueValues():new Map,t._getFacetedMinMaxValues=r.options.getFacetedMinMaxValues&&r.options.getFacetedMinMaxValues(r,t.id),t.getFacetedMinMaxValues=()=>{if(t._getFacetedMinMaxValues)return t._getFacetedMinMaxValues()}}},T=(t,r,e)=>{var a,i;const o=null==e||null==(a=e.toString())?void 0:a.toLowerCase();return Boolean(null==(i=t.getValue(r))||null==(i=i.toString())||null==(i=i.toLowerCase())?void 0:i.includes(o))};T.autoRemove=t=>U(t);const N=(t,r,e)=>{var a;return Boolean(null==(a=t.getValue(r))||null==(a=a.toString())?void 0:a.includes(e))};N.autoRemove=t=>U(t);const V=(t,r,e)=>{var a;return(null==(a=t.getValue(r))||null==(a=a.toString())?void 0:a.toLowerCase())===(null==e?void 0:e.toLowerCase())};V.autoRemove=t=>U(t);const $=(t,r,e)=>{var a;return null==(a=t.getValue(r))?void 0:a.includes(e)};$.autoRemove=t=>U(t);const A=(t,r,e)=>!e.some((e=>{var a;return!(null!=(a=t.getValue(r))&&a.includes(e))}));A.autoRemove=t=>U(t)||!(null!=t&&t.length);const H=(t,r,e)=>e.some((e=>{var a;return null==(a=t.getValue(r))?void 0:a.includes(e)}));H.autoRemove=t=>U(t)||!(null!=t&&t.length);const L=(t,r,e)=>t.getValue(r)===e;L.autoRemove=t=>U(t);const q=(t,r,e)=>t.getValue(r)==e;q.autoRemove=t=>U(t);const K=(t,r,e)=>{let[a,i]=e;const o=t.getValue(r);return o>=a&&o<=i};K.resolveFilterValue=t=>{let[r,e]=t,a="number"!=typeof r?parseFloat(r):r,i="number"!=typeof e?parseFloat(e):e,o=null===r||Number.isNaN(a)?-1/0:a,n=null===e||Number.isNaN(i)?1/0:i;if(o>n){const t=o;o=n,n=t}return[o,n]},K.autoRemove=t=>U(t)||U(t[0])&&U(t[1]);const G={includesString:T,includesStringSensitive:N,equalsString:V,arrIncludes:$,arrIncludesAll:A,arrIncludesSome:H,equals:L,weakEquals:q,inNumberRange:K};function U(t){return null==t||""===t}function W(t,r,e){return!(!t||!t.autoRemove)&&t.autoRemove(r,e)||void 0===r||"string"==typeof r&&!r}const J={sum:(t,r,e)=>e.reduce(((r,e)=>{const a=e.getValue(t);return r+("number"==typeof a?a:0)}),0),min:(t,r,e)=>{let a;return e.forEach((r=>{const e=r.getValue(t);null!=e&&(a>e||void 0===a&&e>=e)&&(a=e)})),a},max:(t,r,e)=>{let a;return e.forEach((r=>{const e=r.getValue(t);null!=e&&(a<e||void 0===a&&e>=e)&&(a=e)})),a},extent:(t,r,e)=>{let a,i;return e.forEach((r=>{const e=r.getValue(t);null!=e&&(void 0===a?e>=e&&(a=i=e):(a>e&&(a=e),i<e&&(i=e)))})),[a,i]},mean:(t,r)=>{let e=0,a=0;if(r.forEach((r=>{let i=r.getValue(t);null!=i&&(i=+i)>=i&&(++e,a+=i)})),e)return a/e},median:(t,r)=>{if(!r.length)return;const e=r.map((r=>r.getValue(t)));if(a=e,!Array.isArray(a)||!a.every((t=>"number"==typeof t)))return;var a;if(1===e.length)return e[0];const i=Math.floor(e.length/2),o=e.sort(((t,r)=>t-r));return e.length%2!=0?o[i]:(o[i-1]+o[i])/2},unique:(t,r)=>Array.from(new Set(r.map((r=>r.getValue(t)))).values()),uniqueCount:(t,r)=>new Set(r.map((r=>r.getValue(t)))).size,count:(t,r)=>r.length},Y={size:150,minSize:20,maxSize:Number.MAX_SAFE_INTEGER},X={getDefaultColumnDef:()=>Y,getInitialState:t=>({columnSizing:{},columnSizingInfo:{startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]},...t}),getDefaultOptions:t=>({columnResizeMode:"onEnd",columnResizeDirection:"ltr",onColumnSizingChange:I("columnSizing",t),onColumnSizingInfoChange:I("columnSizingInfo",t)}),createColumn:(t,r)=>{t.getSize=()=>{var e,a,i;const o=r.getState().columnSizing[t.id];return Math.min(Math.max(null!=(e=t.columnDef.minSize)?e:Y.minSize,null!=(a=null!=o?o:t.columnDef.size)?a:Y.size),null!=(i=t.columnDef.maxSize)?i:Y.maxSize)},t.getStart=F((t=>[t,tt(r,t),r.getState().columnSizing]),((r,e)=>e.slice(0,t.getIndex(r)).reduce(((t,r)=>t+r.getSize()),0)),E(r.options,"debugColumns")),t.getAfter=F((t=>[t,tt(r,t),r.getState().columnSizing]),((r,e)=>e.slice(t.getIndex(r)+1).reduce(((t,r)=>t+r.getSize()),0)),E(r.options,"debugColumns")),t.resetSize=()=>{r.setColumnSizing((r=>{let{[t.id]:e,...a}=r;return a}))},t.getCanResize=()=>{var e,a;return(null==(e=t.columnDef.enableResizing)||e)&&(null==(a=r.options.enableColumnResizing)||a)},t.getIsResizing=()=>r.getState().columnSizingInfo.isResizingColumn===t.id},createHeader:(t,r)=>{t.getSize=()=>{let r=0;const e=t=>{var a;t.subHeaders.length?t.subHeaders.forEach(e):r+=null!=(a=t.column.getSize())?a:0};return e(t),r},t.getStart=()=>{if(t.index>0){const r=t.headerGroup.headers[t.index-1];return r.getStart()+r.getSize()}return 0},t.getResizeHandler=e=>{const a=r.getColumn(t.column.id),i=null==a?void 0:a.getCanResize();return o=>{if(!a||!i)return;if(null==o.persist||o.persist(),Z(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=Z(o)?Math.round(o.touches[0].clientX):o.clientX,d={},c=(t,e)=>{"number"==typeof e&&(r.setColumnSizingInfo((t=>{var a,i;const o=(e-(null!=(a=null==t?void 0:t.startOffset)?a:0))*("rtl"===r.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[r,e]=t;d[r]=Math.round(100*Math.max(e+e*n,0))/100})),{...t,deltaOffset:o,deltaPercentage:n}})),"onChange"!==r.options.columnResizeMode&&"end"!==t||r.setColumnSizing((t=>({...t,...d}))))},h=t=>c("move",t),u=t=>{c("end",t),r.setColumnSizingInfo((t=>({...t,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]})))},g=e||("undefined"!=typeof document?document:null),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)}},v={moveHandler:t=>(t.cancelable&&(t.preventDefault(),t.stopPropagation()),h(t.touches[0].clientX),!1),upHandler:t=>{var r;null==g||g.removeEventListener("touchmove",v.moveHandler),null==g||g.removeEventListener("touchend",v.upHandler),t.cancelable&&(t.preventDefault(),t.stopPropagation()),u(null==(r=t.touches[0])?void 0:r.clientX)}},b=!!function(){if("boolean"==typeof Q)return Q;let t=!1;try{const r=()=>{};window.addEventListener("test",r,{get passive(){return t=!0,!1}}),window.removeEventListener("test",r)}catch(r){t=!1}return Q=t,Q}()&&{passive:!1};Z(o)?(null==g||g.addEventListener("touchmove",v.moveHandler,b),null==g||g.addEventListener("touchend",v.upHandler,b)):(null==g||g.addEventListener("mousemove",p.moveHandler,b),null==g||g.addEventListener("mouseup",p.upHandler,b)),r.setColumnSizingInfo((t=>({...t,startOffset:s,startSize:n,deltaOffset:0,deltaPercentage:0,columnSizingStart:l,isResizingColumn:a.id})))}}},createTable:t=>{t.setColumnSizing=r=>null==t.options.onColumnSizingChange?void 0:t.options.onColumnSizingChange(r),t.setColumnSizingInfo=r=>null==t.options.onColumnSizingInfoChange?void 0:t.options.onColumnSizingInfoChange(r),t.resetColumnSizing=r=>{var e;t.setColumnSizing(r?{}:null!=(e=t.initialState.columnSizing)?e:{})},t.resetHeaderSizeInfo=r=>{var e;t.setColumnSizingInfo(r?{startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}:null!=(e=t.initialState.columnSizingInfo)?e:{startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]})},t.getTotalSize=()=>{var r,e;return null!=(r=null==(e=t.getHeaderGroups()[0])?void 0:e.headers.reduce(((t,r)=>t+r.getSize()),0))?r:0},t.getLeftTotalSize=()=>{var r,e;return null!=(r=null==(e=t.getLeftHeaderGroups()[0])?void 0:e.headers.reduce(((t,r)=>t+r.getSize()),0))?r:0},t.getCenterTotalSize=()=>{var r,e;return null!=(r=null==(e=t.getCenterHeaderGroups()[0])?void 0:e.headers.reduce(((t,r)=>t+r.getSize()),0))?r:0},t.getRightTotalSize=()=>{var r,e;return null!=(r=null==(e=t.getRightHeaderGroups()[0])?void 0:e.headers.reduce(((t,r)=>t+r.getSize()),0))?r:0}}};let Q=null;function Z(t){return"touchstart"===t.type}function tt(t,r){return r?"center"===r?t.getCenterVisibleLeafColumns():"left"===r?t.getLeftVisibleLeafColumns():t.getRightVisibleLeafColumns():t.getVisibleLeafColumns()}const rt={getInitialState:t=>({rowSelection:{},...t}),getDefaultOptions:t=>({onRowSelectionChange:I("rowSelection",t),enableRowSelection:!0,enableMultiRowSelection:!0,enableSubRowSelection:!0}),createTable:t=>{t.setRowSelection=r=>null==t.options.onRowSelectionChange?void 0:t.options.onRowSelectionChange(r),t.resetRowSelection=r=>{var e;return t.setRowSelection(r?{}:null!=(e=t.initialState.rowSelection)?e:{})},t.toggleAllRowsSelected=r=>{t.setRowSelection((e=>{r=void 0!==r?r:!t.getIsAllRowsSelected();const a={...e};return t.getPreGroupedRowModel().flatRows.forEach(r?t=>{t.getCanSelect()&&(a[t.id]=!0)}:t=>{delete a[t.id]}),a}))},t.toggleAllPageRowsSelected=r=>t.setRowSelection((e=>{const a=void 0!==r?r:!t.getIsAllPageRowsSelected(),i={...e};return t.getRowModel().rows.forEach((r=>{et(i,r.id,a,!0,t)})),i})),t.getPreSelectedRowModel=()=>t.getCoreRowModel(),t.getSelectedRowModel=F((()=>[t.getState().rowSelection,t.getCoreRowModel()]),((r,e)=>Object.keys(r).length?at(t,e):{rows:[],flatRows:[],rowsById:{}}),E(t.options,"debugTable")),t.getFilteredSelectedRowModel=F((()=>[t.getState().rowSelection,t.getFilteredRowModel()]),((r,e)=>Object.keys(r).length?at(t,e):{rows:[],flatRows:[],rowsById:{}}),E(t.options,"debugTable")),t.getGroupedSelectedRowModel=F((()=>[t.getState().rowSelection,t.getSortedRowModel()]),((r,e)=>Object.keys(r).length?at(t,e):{rows:[],flatRows:[],rowsById:{}}),E(t.options,"debugTable")),t.getIsAllRowsSelected=()=>{const r=t.getFilteredRowModel().flatRows,{rowSelection:e}=t.getState();let a=Boolean(r.length&&Object.keys(e).length);return a&&r.some((t=>t.getCanSelect()&&!e[t.id]))&&(a=!1),a},t.getIsAllPageRowsSelected=()=>{const r=t.getPaginationRowModel().flatRows.filter((t=>t.getCanSelect())),{rowSelection:e}=t.getState();let a=!!r.length;return a&&r.some((t=>!e[t.id]))&&(a=!1),a},t.getIsSomeRowsSelected=()=>{var r;const e=Object.keys(null!=(r=t.getState().rowSelection)?r:{}).length;return e>0&&e<t.getFilteredRowModel().flatRows.length},t.getIsSomePageRowsSelected=()=>{const r=t.getPaginationRowModel().flatRows;return!t.getIsAllPageRowsSelected()&&r.filter((t=>t.getCanSelect())).some((t=>t.getIsSelected()||t.getIsSomeSelected()))},t.getToggleAllRowsSelectedHandler=()=>r=>{t.toggleAllRowsSelected(r.target.checked)},t.getToggleAllPageRowsSelectedHandler=()=>r=>{t.toggleAllPageRowsSelected(r.target.checked)}},createRow:(t,r)=>{t.toggleSelected=(e,a)=>{const i=t.getIsSelected();r.setRowSelection((o=>{var n;if(e=void 0!==e?e:!i,t.getCanSelect()&&i===e)return o;const l={...o};return et(l,t.id,e,null==(n=null==a?void 0:a.selectChildren)||n,r),l}))},t.getIsSelected=()=>{const{rowSelection:e}=r.getState();return it(t,e)},t.getIsSomeSelected=()=>{const{rowSelection:e}=r.getState();return"some"===ot(t,e)},t.getIsAllSubRowsSelected=()=>{const{rowSelection:e}=r.getState();return"all"===ot(t,e)},t.getCanSelect=()=>{var e;return"function"==typeof r.options.enableRowSelection?r.options.enableRowSelection(t):null==(e=r.options.enableRowSelection)||e},t.getCanSelectSubRows=()=>{var e;return"function"==typeof r.options.enableSubRowSelection?r.options.enableSubRowSelection(t):null==(e=r.options.enableSubRowSelection)||e},t.getCanMultiSelect=()=>{var e;return"function"==typeof r.options.enableMultiRowSelection?r.options.enableMultiRowSelection(t):null==(e=r.options.enableMultiRowSelection)||e},t.getToggleSelectedHandler=()=>{const r=t.getCanSelect();return e=>{var a;r&&t.toggleSelected(null==(a=e.target)?void 0:a.checked)}}}},et=(t,r,e,a,i)=>{var o;const n=i.getRow(r,!0);e?(n.getCanMultiSelect()||Object.keys(t).forEach((r=>delete t[r])),n.getCanSelect()&&(t[r]=!0)):delete t[r],a&&null!=(o=n.subRows)&&o.length&&n.getCanSelectSubRows()&&n.subRows.forEach((r=>et(t,r.id,e,a,i)))};function at(t,r){const e=t.getState().rowSelection,a=[],i={},o=function(t){return t.map((t=>{var r;const n=it(t,e);if(n&&(a.push(t),i[t.id]=t),null!=(r=t.subRows)&&r.length&&(t={...t,subRows:o(t.subRows)}),n)return t})).filter(Boolean)};return{rows:o(r.rows),flatRows:a,rowsById:i}}function it(t,r){var e;return null!=(e=r[t.id])&&e}function ot(t,r){var e;if(null==(e=t.subRows)||!e.length)return!1;let a=!0,i=!1;return t.subRows.forEach((t=>{if((!i||a)&&(t.getCanSelect()&&(it(t,r)?i=!0:a=!1),t.subRows&&t.subRows.length)){const e=ot(t,r);"all"===e?i=!0:"some"===e?(i=!0,a=!1):a=!1}})),a?"all":!!i&&"some"}const nt=/([0-9]+)/gm;function lt(t,r){return t===r?0:t>r?1:-1}function st(t){return"number"==typeof t?isNaN(t)||t===1/0||t===-1/0?"":String(t):"string"==typeof t?t:""}function dt(t,r){const e=t.split(nt).filter(Boolean),a=r.split(nt).filter(Boolean);for(;e.length&&a.length;){const t=e.shift(),r=a.shift(),i=parseInt(t,10),o=parseInt(r,10),n=[i,o].sort();if(isNaN(n[0])){if(t>r)return 1;if(r>t)return-1}else{if(isNaN(n[1]))return isNaN(i)?-1:1;if(i>o)return 1;if(o>i)return-1}}return e.length-a.length}const ct={alphanumeric:(t,r,e)=>dt(st(t.getValue(e)).toLowerCase(),st(r.getValue(e)).toLowerCase()),alphanumericCaseSensitive:(t,r,e)=>dt(st(t.getValue(e)),st(r.getValue(e))),text:(t,r,e)=>lt(st(t.getValue(e)).toLowerCase(),st(r.getValue(e)).toLowerCase()),textCaseSensitive:(t,r,e)=>lt(st(t.getValue(e)),st(r.getValue(e))),datetime:(t,r,e)=>{const a=t.getValue(e),i=r.getValue(e);return a>i?1:a<i?-1:0},basic:(t,r,e)=>lt(t.getValue(e),r.getValue(e))},ht=[j,{getInitialState:t=>({columnVisibility:{},...t}),getDefaultOptions:t=>({onColumnVisibilityChange:I("columnVisibility",t)}),createColumn:(t,r)=>{t.toggleVisibility=e=>{t.getCanHide()&&r.setColumnVisibility((r=>({...r,[t.id]:null!=e?e:!t.getIsVisible()})))},t.getIsVisible=()=>{var e,a;const i=t.columns;return null==(e=i.length?i.some((t=>t.getIsVisible())):null==(a=r.getState().columnVisibility)?void 0:a[t.id])||e},t.getCanHide=()=>{var e,a;return(null==(e=t.columnDef.enableHiding)||e)&&(null==(a=r.options.enableHiding)||a)},t.getToggleVisibilityHandler=()=>r=>{null==t.toggleVisibility||t.toggleVisibility(r.target.checked)}},createRow:(t,r)=>{t._getAllVisibleCells=F((()=>[t.getAllCells(),r.getState().columnVisibility]),(t=>t.filter((t=>t.column.getIsVisible()))),E(r.options,"debugRows")),t.getVisibleCells=F((()=>[t.getLeftVisibleCells(),t.getCenterVisibleCells(),t.getRightVisibleCells()]),((t,r,e)=>[...t,...r,...e]),E(r.options,"debugRows"))},createTable:t=>{const r=(r,e)=>F((()=>[e(),e().filter((t=>t.getIsVisible())).map((t=>t.id)).join("_")]),(t=>t.filter((t=>null==t.getIsVisible?void 0:t.getIsVisible()))),E(t.options,"debugColumns"));t.getVisibleFlatColumns=r(0,(()=>t.getAllFlatColumns())),t.getVisibleLeafColumns=r(0,(()=>t.getAllLeafColumns())),t.getLeftVisibleLeafColumns=r(0,(()=>t.getLeftLeafColumns())),t.getRightVisibleLeafColumns=r(0,(()=>t.getRightLeafColumns())),t.getCenterVisibleLeafColumns=r(0,(()=>t.getCenterLeafColumns())),t.setColumnVisibility=r=>null==t.options.onColumnVisibilityChange?void 0:t.options.onColumnVisibilityChange(r),t.resetColumnVisibility=r=>{var e;t.setColumnVisibility(r?{}:null!=(e=t.initialState.columnVisibility)?e:{})},t.toggleAllColumnsVisible=r=>{var e;r=null!=(e=r)?e:!t.getIsAllColumnsVisible(),t.setColumnVisibility(t.getAllLeafColumns().reduce(((t,e)=>({...t,[e.id]:r||!(null!=e.getCanHide&&e.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=()=>r=>{var e;t.toggleAllColumnsVisible(null==(e=r.target)?void 0:e.checked)}}},{getInitialState:t=>({columnOrder:[],...t}),getDefaultOptions:t=>({onColumnOrderChange:I("columnOrder",t)}),createColumn:(t,r)=>{t.getIndex=F((t=>[tt(r,t)]),(r=>r.findIndex((r=>r.id===t.id))),E(r.options,"debugColumns")),t.getIsFirstColumn=e=>{var a;return(null==(a=tt(r,e)[0])?void 0:a.id)===t.id},t.getIsLastColumn=e=>{var a;const i=tt(r,e);return(null==(a=i[i.length-1])?void 0:a.id)===t.id}},createTable:t=>{t.setColumnOrder=r=>null==t.options.onColumnOrderChange?void 0:t.options.onColumnOrderChange(r),t.resetColumnOrder=r=>{var e;t.setColumnOrder(r?[]:null!=(e=t.initialState.columnOrder)?e:[])},t._getOrderColumnsFn=F((()=>[t.getState().columnOrder,t.getState().grouping,t.options.groupedColumnMode]),((t,r,e)=>a=>{let i=[];if(null!=t&&t.length){const r=[...t],e=[...a];for(;e.length&&r.length;){const t=r.shift(),a=e.findIndex((r=>r.id===t));a>-1&&i.push(e.splice(a,1)[0])}i=[...i,...e]}else i=a;return function(t,r,e){if(null==r||!r.length||!e)return t;const a=t.filter((t=>!r.includes(t.id)));return"remove"===e?a:[...r.map((r=>t.find((t=>t.id===r)))).filter(Boolean),...a]}(i,r,e)}),E(t.options,"debugTable"))}},{getInitialState:t=>({columnPinning:{left:[],right:[]},...t}),getDefaultOptions:t=>({onColumnPinningChange:I("columnPinning",t)}),createColumn:(t,r)=>{t.pin=e=>{const a=t.getLeafColumns().map((t=>t.id)).filter(Boolean);r.setColumnPinning((t=>{var r,i,o,n,l,s;return"right"===e?{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"===e?{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!=(r=null==t?void 0:t.left)?r:[]).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 e,a,i;return(null==(e=t.columnDef.enablePinning)||e)&&(null==(a=null!=(i=r.options.enableColumnPinning)?i:r.options.enablePinning)||a)})),t.getIsPinned=()=>{const e=t.getLeafColumns().map((t=>t.id)),{left:a,right:i}=r.getState().columnPinning,o=e.some((t=>null==a?void 0:a.includes(t))),n=e.some((t=>null==i?void 0:i.includes(t)));return o?"left":!!n&&"right"},t.getPinnedIndex=()=>{var e,a;const i=t.getIsPinned();return i?null!=(e=null==(a=r.getState().columnPinning)||null==(a=a[i])?void 0:a.indexOf(t.id))?e:-1:0}},createRow:(t,r)=>{t.getCenterVisibleCells=F((()=>[t._getAllVisibleCells(),r.getState().columnPinning.left,r.getState().columnPinning.right]),((t,r,e)=>{const a=[...null!=r?r:[],...null!=e?e:[]];return t.filter((t=>!a.includes(t.column.id)))}),E(r.options,"debugRows")),t.getLeftVisibleCells=F((()=>[t._getAllVisibleCells(),r.getState().columnPinning.left]),((t,r)=>(null!=r?r:[]).map((r=>t.find((t=>t.column.id===r)))).filter(Boolean).map((t=>({...t,position:"left"})))),E(r.options,"debugRows")),t.getRightVisibleCells=F((()=>[t._getAllVisibleCells(),r.getState().columnPinning.right]),((t,r)=>(null!=r?r:[]).map((r=>t.find((t=>t.column.id===r)))).filter(Boolean).map((t=>({...t,position:"right"})))),E(r.options,"debugRows"))},createTable:t=>{t.setColumnPinning=r=>null==t.options.onColumnPinningChange?void 0:t.options.onColumnPinningChange(r),t.resetColumnPinning=r=>{var e,a;return t.setColumnPinning(r?{left:[],right:[]}:null!=(e=null==(a=t.initialState)?void 0:a.columnPinning)?e:{left:[],right:[]})},t.getIsSomeColumnsPinned=r=>{var e;const a=t.getState().columnPinning;var i,o;return r?Boolean(null==(e=a[r])?void 0:e.length):Boolean((null==(i=a.left)?void 0:i.length)||(null==(o=a.right)?void 0:o.length))},t.getLeftLeafColumns=F((()=>[t.getAllLeafColumns(),t.getState().columnPinning.left]),((t,r)=>(null!=r?r:[]).map((r=>t.find((t=>t.id===r)))).filter(Boolean)),E(t.options,"debugColumns")),t.getRightLeafColumns=F((()=>[t.getAllLeafColumns(),t.getState().columnPinning.right]),((t,r)=>(null!=r?r:[]).map((r=>t.find((t=>t.id===r)))).filter(Boolean)),E(t.options,"debugColumns")),t.getCenterLeafColumns=F((()=>[t.getAllLeafColumns(),t.getState().columnPinning.left,t.getState().columnPinning.right]),((t,r,e)=>{const a=[...null!=r?r:[],...null!=e?e:[]];return t.filter((t=>!a.includes(t.id)))}),E(t.options,"debugColumns"))}},P,{getDefaultColumnDef:()=>({filterFn:"auto"}),getInitialState:t=>({columnFilters:[],...t}),getDefaultOptions:t=>({onColumnFiltersChange:I("columnFilters",t),filterFromLeafRows:!1,maxLeafRowFilterDepth:100}),createColumn:(t,r)=>{t.getAutoFilterFn=()=>{const e=r.getCoreRowModel().flatRows[0],a=null==e?void 0:e.getValue(t.id);return"string"==typeof a?G.includesString:"number"==typeof a?G.inNumberRange:"boolean"==typeof a||null!==a&&"object"==typeof a?G.equals:Array.isArray(a)?G.arrIncludes:G.weakEquals},t.getFilterFn=()=>{var e,a;return R(t.columnDef.filterFn)?t.columnDef.filterFn:"auto"===t.columnDef.filterFn?t.getAutoFilterFn():null!=(e=null==(a=r.options.filterFns)?void 0:a[t.columnDef.filterFn])?e:G[t.columnDef.filterFn]},t.getCanFilter=()=>{var e,a,i;return(null==(e=t.columnDef.enableColumnFilter)||e)&&(null==(a=r.options.enableColumnFilters)||a)&&(null==(i=r.options.enableFilters)||i)&&!!t.accessorFn},t.getIsFiltered=()=>t.getFilterIndex()>-1,t.getFilterValue=()=>{var e;return null==(e=r.getState().columnFilters)||null==(e=e.find((r=>r.id===t.id)))?void 0:e.value},t.getFilterIndex=()=>{var e,a;return null!=(e=null==(a=r.getState().columnFilters)?void 0:a.findIndex((r=>r.id===t.id)))?e:-1},t.setFilterValue=e=>{r.setColumnFilters((r=>{const a=t.getFilterFn(),i=null==r?void 0:r.find((r=>r.id===t.id)),o=S(e,i?i.value:void 0);var n;if(W(a,o,t))return null!=(n=null==r?void 0:r.filter((r=>r.id!==t.id)))?n:[];const l={id:t.id,value:o};var s;return i?null!=(s=null==r?void 0:r.map((r=>r.id===t.id?l:r)))?s:[]:null!=r&&r.length?[...r,l]:[l]}))}},createRow:t=>{t.columnFilters={},t.columnFiltersMeta={}},createTable:t=>{t.setColumnFilters=r=>{const e=t.getAllLeafColumns();null==t.options.onColumnFiltersChange||t.options.onColumnFiltersChange((t=>{var a;return null==(a=S(r,t))?void 0:a.filter((t=>{const r=e.find((r=>r.id===t.id));return!r||!W(r.getFilterFn(),t.value,r)}))}))},t.resetColumnFilters=r=>{var e,a;t.setColumnFilters(r?[]:null!=(e=null==(a=t.initialState)?void 0:a.columnFilters)?e:[])},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:I("globalFilter",t),globalFilterFn:"auto",getColumnCanGlobalFilter:r=>{var e;const a=null==(e=t.getCoreRowModel().flatRows[0])||null==(e=e._getAllCellsByColumnId()[r.id])?void 0:e.getValue();return"string"==typeof a||"number"==typeof a}}),createColumn:(t,r)=>{t.getCanGlobalFilter=()=>{var e,a,i,o;return(null==(e=t.columnDef.enableGlobalFilter)||e)&&(null==(a=r.options.enableGlobalFilter)||a)&&(null==(i=r.options.enableFilters)||i)&&(null==(o=null==r.options.getColumnCanGlobalFilter?void 0:r.options.getColumnCanGlobalFilter(t))||o)&&!!t.accessorFn}},createTable:t=>{t.getGlobalAutoFilterFn=()=>G.includesString,t.getGlobalFilterFn=()=>{var r,e;const{globalFilterFn:a}=t.options;return R(a)?a:"auto"===a?t.getGlobalAutoFilterFn():null!=(r=null==(e=t.options.filterFns)?void 0:e[a])?r:G[a]},t.setGlobalFilter=r=>{null==t.options.onGlobalFilterChange||t.options.onGlobalFilterChange(r)},t.resetGlobalFilter=r=>{t.setGlobalFilter(r?void 0:t.initialState.globalFilter)}}},{getInitialState:t=>({sorting:[],...t}),getDefaultColumnDef:()=>({sortingFn:"auto",sortUndefined:1}),getDefaultOptions:t=>({onSortingChange:I("sorting",t),isMultiSortEvent:t=>t.shiftKey}),createColumn:(t,r)=>{t.getAutoSortingFn=()=>{const e=r.getFilteredRowModel().flatRows.slice(10);let a=!1;for(const r of e){const e=null==r?void 0:r.getValue(t.id);if("[object Date]"===Object.prototype.toString.call(e))return ct.datetime;if("string"==typeof e&&(a=!0,e.split(nt).length>1))return ct.alphanumeric}return a?ct.text:ct.basic},t.getAutoSortDir=()=>{const e=r.getFilteredRowModel().flatRows[0];return"string"==typeof(null==e?void 0:e.getValue(t.id))?"asc":"desc"},t.getSortingFn=()=>{var e,a;if(!t)throw new Error;return R(t.columnDef.sortingFn)?t.columnDef.sortingFn:"auto"===t.columnDef.sortingFn?t.getAutoSortingFn():null!=(e=null==(a=r.options.sortingFns)?void 0:a[t.columnDef.sortingFn])?e:ct[t.columnDef.sortingFn]},t.toggleSorting=(e,a)=>{const i=t.getNextSortingOrder(),o=null!=e;r.setSorting((n=>{const l=null==n?void 0:n.find((r=>r.id===t.id)),s=null==n?void 0:n.findIndex((r=>r.id===t.id));let d,c=[],h=o?e:"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=r.options.maxMultiSortColCount)?u:Number.MAX_SAFE_INTEGER))):c="toggle"===d?n.map((r=>r.id===t.id?{...r,desc:h}:r)):"remove"===d?n.filter((r=>r.id!==t.id)):[{id:t.id,desc:h}],c}))},t.getFirstSortDir=()=>{var e,a;return(null!=(e=null!=(a=t.columnDef.sortDescFirst)?a:r.options.sortDescFirst)?e:"desc"===t.getAutoSortDir())?"desc":"asc"},t.getNextSortingOrder=e=>{var a,i;const o=t.getFirstSortDir(),n=t.getIsSorted();return n?!!(n===o||null!=(a=r.options.enableSortingRemoval)&&!a||e&&null!=(i=r.options.enableMultiRemove)&&!i)&&("desc"===n?"asc":"desc"):o},t.getCanSort=()=>{var e,a;return(null==(e=t.columnDef.enableSorting)||e)&&(null==(a=r.options.enableSorting)||a)&&!!t.accessorFn},t.getCanMultiSort=()=>{var e,a;return null!=(e=null!=(a=t.columnDef.enableMultiSort)?a:r.options.enableMultiSort)?e:!!t.accessorFn},t.getIsSorted=()=>{var e;const a=null==(e=r.getState().sorting)?void 0:e.find((r=>r.id===t.id));return!!a&&(a.desc?"desc":"asc")},t.getSortIndex=()=>{var e,a;return null!=(e=null==(a=r.getState().sorting)?void 0:a.findIndex((r=>r.id===t.id)))?e:-1},t.clearSorting=()=>{r.setSorting((r=>null!=r&&r.length?r.filter((r=>r.id!==t.id)):[]))},t.getToggleSortingHandler=()=>{const e=t.getCanSort();return a=>{e&&(null==a.persist||a.persist(),null==t.toggleSorting||t.toggleSorting(void 0,!!t.getCanMultiSort()&&(null==r.options.isMultiSortEvent?void 0:r.options.isMultiSortEvent(a))))}}},createTable:t=>{t.setSorting=r=>null==t.options.onSortingChange?void 0:t.options.onSortingChange(r),t.resetSorting=r=>{var e,a;t.setSorting(r?[]:null!=(e=null==(a=t.initialState)?void 0:a.sorting)?e:[])},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 r,e;return null!=(r=null==(e=t.getValue())||null==e.toString?void 0:e.toString())?r:null},aggregationFn:"auto"}),getInitialState:t=>({grouping:[],...t}),getDefaultOptions:t=>({onGroupingChange:I("grouping",t),groupedColumnMode:"reorder"}),createColumn:(t,r)=>{t.toggleGrouping=()=>{r.setGrouping((r=>null!=r&&r.includes(t.id)?r.filter((r=>r!==t.id)):[...null!=r?r:[],t.id]))},t.getCanGroup=()=>{var e,a;return(null==(e=t.columnDef.enableGrouping)||e)&&(null==(a=r.options.enableGrouping)||a)&&(!!t.accessorFn||!!t.columnDef.getGroupingValue)},t.getIsGrouped=()=>{var e;return null==(e=r.getState().grouping)?void 0:e.includes(t.id)},t.getGroupedIndex=()=>{var e;return null==(e=r.getState().grouping)?void 0:e.indexOf(t.id)},t.getToggleGroupingHandler=()=>{const r=t.getCanGroup();return()=>{r&&t.toggleGrouping()}},t.getAutoAggregationFn=()=>{const e=r.getCoreRowModel().flatRows[0],a=null==e?void 0:e.getValue(t.id);return"number"==typeof a?J.sum:"[object Date]"===Object.prototype.toString.call(a)?J.extent:void 0},t.getAggregationFn=()=>{var e,a;if(!t)throw new Error;return R(t.columnDef.aggregationFn)?t.columnDef.aggregationFn:"auto"===t.columnDef.aggregationFn?t.getAutoAggregationFn():null!=(e=null==(a=r.options.aggregationFns)?void 0:a[t.columnDef.aggregationFn])?e:J[t.columnDef.aggregationFn]}},createTable:t=>{t.setGrouping=r=>null==t.options.onGroupingChange?void 0:t.options.onGroupingChange(r),t.resetGrouping=r=>{var e,a;t.setGrouping(r?[]:null!=(e=null==(a=t.initialState)?void 0:a.grouping)?e:[])},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,r)=>{t.getIsGrouped=()=>!!t.groupingColumnId,t.getGroupingValue=e=>{if(t._groupingValuesCache.hasOwnProperty(e))return t._groupingValuesCache[e];const a=r.getColumn(e);return null!=a&&a.columnDef.getGroupingValue?(t._groupingValuesCache[e]=a.columnDef.getGroupingValue(t.original),t._groupingValuesCache[e]):t.getValue(e)},t._groupingValuesCache={}},createCell:(t,r,e)=>{t.getIsGrouped=()=>r.getIsGrouped()&&r.id===e.groupingColumnId,t.getIsPlaceholder=()=>!t.getIsGrouped()&&r.getIsGrouped(),t.getIsAggregated=()=>{var r;return!t.getIsGrouped()&&!t.getIsPlaceholder()&&!(null==(r=e.subRows)||!r.length)}}},{getInitialState:t=>({expanded:{},...t}),getDefaultOptions:t=>({onExpandedChange:I("expanded",t),paginateExpandedRows:!0}),createTable:t=>{let r=!1,e=!1;t._autoResetExpanded=()=>{var a,i;if(r){if(null!=(a=null!=(i=t.options.autoResetAll)?i:t.options.autoResetExpanded)?a:!t.options.manualExpanding){if(e)return;e=!0,t._queue((()=>{t.resetExpanded(),e=!1}))}}else t._queue((()=>{r=!0}))},t.setExpanded=r=>null==t.options.onExpandedChange?void 0:t.options.onExpandedChange(r),t.toggleAllRowsExpanded=r=>{(null!=r?r:!t.getIsAllRowsExpanded())?t.setExpanded(!0):t.setExpanded({})},t.resetExpanded=r=>{var e,a;t.setExpanded(r?{}:null!=(e=null==(a=t.initialState)?void 0:a.expanded)?e:{})},t.getCanSomeRowsExpand=()=>t.getPrePaginationRowModel().flatRows.some((t=>t.getCanExpand())),t.getToggleAllRowsExpandedHandler=()=>r=>{null==r.persist||r.persist(),t.toggleAllRowsExpanded()},t.getIsSomeRowsExpanded=()=>{const r=t.getState().expanded;return!0===r||Object.values(r).some(Boolean)},t.getIsAllRowsExpanded=()=>{const r=t.getState().expanded;return"boolean"==typeof r?!0===r:!!Object.keys(r).length&&!t.getRowModel().flatRows.some((t=>!t.getIsExpanded()))},t.getExpandedDepth=()=>{let r=0;return(!0===t.getState().expanded?Object.keys(t.getRowModel().rowsById):Object.keys(t.getState().expanded)).forEach((t=>{const e=t.split(".");r=Math.max(r,e.length)})),r},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,r)=>{t.toggleExpanded=e=>{r.setExpanded((a=>{var i;const o=!0===a||!(null==a||!a[t.id]);let n={};if(!0===a?Object.keys(r.getRowModel().rowsById).forEach((t=>{n[t]=!0})):n=a,e=null!=(i=e)?i:!o,!o&&e)return{...n,[t.id]:!0};if(o&&!e){const{[t.id]:r,...e}=n;return e}return a}))},t.getIsExpanded=()=>{var e;const a=r.getState().expanded;return!!(null!=(e=null==r.options.getIsRowExpanded?void 0:r.options.getIsRowExpanded(t))?e:!0===a||(null==a?void 0:a[t.id]))},t.getCanExpand=()=>{var e,a,i;return null!=(e=null==r.options.getRowCanExpand?void 0:r.options.getRowCanExpand(t))?e:(null==(a=r.options.enableExpanding)||a)&&!(null==(i=t.subRows)||!i.length)},t.getIsAllParentsExpanded=()=>{let e=!0,a=t;for(;e&&a.parentId;)a=r.getRow(a.parentId,!0),e=a.getIsExpanded();return e},t.getToggleExpandedHandler=()=>{const r=t.getCanExpand();return()=>{r&&t.toggleExpanded()}}}},{getInitialState:t=>({...t,pagination:{pageIndex:0,pageSize:10,...null==t?void 0:t.pagination}}),getDefaultOptions:t=>({onPaginationChange:I("pagination",t)}),createTable:t=>{let r=!1,e=!1;t._autoResetPageIndex=()=>{var a,i;if(r){if(null!=(a=null!=(i=t.options.autoResetAll)?i:t.options.autoResetPageIndex)?a:!t.options.manualPagination){if(e)return;e=!0,t._queue((()=>{t.resetPageIndex(),e=!1}))}}else t._queue((()=>{r=!0}))},t.setPagination=r=>null==t.options.onPaginationChange?void 0:t.options.onPaginationChange((t=>S(r,t))),t.resetPagination=r=>{var e;t.setPagination(r?{pageIndex:0,pageSize:10}:null!=(e=t.initialState.pagination)?e:{pageIndex:0,pageSize:10})},t.setPageIndex=r=>{t.setPagination((e=>{let a=S(r,e.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)),{...e,pageIndex:a}}))},t.resetPageIndex=r=>{var e,a;t.setPageIndex(r?0:null!=(e=null==(a=t.initialState)||null==(a=a.pagination)?void 0:a.pageIndex)?e:0)},t.resetPageSize=r=>{var e,a;t.setPageSize(r?10:null!=(e=null==(a=t.initialState)||null==(a=a.pagination)?void 0:a.pageSize)?e:10)},t.setPageSize=r=>{t.setPagination((t=>{const e=Math.max(1,S(r,t.pageSize)),a=Math.floor(t.pageSize*t.pageIndex/e);return{...t,pageIndex:a,pageSize:e}}))},t.setPageCount=r=>t.setPagination((e=>{var a;let i=S(r,null!=(a=t.options.pageCount)?a:-1);return"number"==typeof i&&(i=Math.max(-1,i)),{...e,pageCount:i}})),t.getPageOptions=F((()=>[t.getPageCount()]),(t=>{let r=[];return t&&t>0&&(r=[...new Array(t)].fill(null).map(((t,r)=>r))),r}),E(t.options,"debugTable")),t.getCanPreviousPage=()=>t.getState().pagination.pageIndex>0,t.getCanNextPage=()=>{const{pageIndex:r}=t.getState().pagination,e=t.getPageCount();return-1===e||0!==e&&r<e-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 r;return null!=(r=t.options.pageCount)?r:Math.ceil(t.getRowCount()/t.getState().pagination.pageSize)},t.getRowCount=()=>{var r;return null!=(r=t.options.rowCount)?r:t.getPrePaginationRowModel().rows.length}}},{getInitialState:t=>({rowPinning:{top:[],bottom:[]},...t}),getDefaultOptions:t=>({onRowPinningChange:I("rowPinning",t)}),createRow:(t,r)=>{t.pin=(e,a,i)=>{const o=a?t.getLeafRows().map((t=>{let{id:r}=t;return r})):[],n=i?t.getParentRows().map((t=>{let{id:r}=t;return r})):[],l=new Set([...n,t.id,...o]);r.setRowPinning((t=>{var r,a,i,o,n,s;return"bottom"===e?{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"===e?{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!=(r=null==t?void 0:t.top)?r:[]).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 e;const{enableRowPinning:a,enablePinning:i}=r.options;return"function"==typeof a?a(t):null==(e=null!=a?a:i)||e},t.getIsPinned=()=>{const e=[t.id],{top:a,bottom:i}=r.getState().rowPinning,o=e.some((t=>null==a?void 0:a.includes(t))),n=e.some((t=>null==i?void 0:i.includes(t)));return o?"top":!!n&&"bottom"},t.getPinnedIndex=()=>{var e,a;const i=t.getIsPinned();if(!i)return-1;const o=null==(e="top"===i?r.getTopRows():r.getBottomRows())?void 0:e.map((t=>{let{id:r}=t;return r}));return null!=(a=null==o?void 0:o.indexOf(t.id))?a:-1}},createTable:t=>{t.setRowPinning=r=>null==t.options.onRowPinningChange?void 0:t.options.onRowPinningChange(r),t.resetRowPinning=r=>{var e,a;return t.setRowPinning(r?{top:[],bottom:[]}:null!=(e=null==(a=t.initialState)?void 0:a.rowPinning)?e:{top:[],bottom:[]})},t.getIsSomeRowsPinned=r=>{var e;const a=t.getState().rowPinning;var i,o;return r?Boolean(null==(e=a[r])?void 0:e.length):Boolean((null==(i=a.top)?void 0:i.length)||(null==(o=a.bottom)?void 0:o.length))},t._getPinnedRows=(r,e,a)=>{var i;return(null==(i=t.options.keepPinnedRows)||i?(null!=e?e:[]).map((r=>{const e=t.getRow(r,!0);return e.getIsAllParentsExpanded()?e:null})):(null!=e?e:[]).map((t=>r.find((r=>r.id===t))))).filter(Boolean).map((t=>({...t,position:a})))},t.getTopRows=F((()=>[t.getRowModel().rows,t.getState().rowPinning.top]),((r,e)=>t._getPinnedRows(r,e,"top")),E(t.options,"debugRows")),t.getBottomRows=F((()=>[t.getRowModel().rows,t.getState().rowPinning.bottom]),((r,e)=>t._getPinnedRows(r,e,"bottom")),E(t.options,"debugRows")),t.getCenterRows=F((()=>[t.getRowModel().rows,t.getState().rowPinning.top,t.getState().rowPinning.bottom]),((t,r,e)=>{const a=new Set([...null!=r?r:[],...null!=e?e:[]]);return t.filter((t=>!a.has(t.id)))}),E(t.options,"debugRows"))}},rt,X];function ut(t){const r=[],e=t=>{var a;r.push(t),null!=(a=t.subRows)&&a.length&&t.getIsExpanded()&&t.subRows.forEach(e)};return t.rows.forEach(e),{rows:r,flatRows:t.flatRows,rowsById:t.rowsById}}function gt(t){return`bh-data-grid-state-${t}`}const pt=/[\\/*?:[\]]/g,vt=["=","+","-","@","\t","\r"];function bt(t){if(!t||"string"!=typeof t)return"Sheet";let r=t.replace(pt,"");return r=r.trim(),r?(r.length>31&&(r=r.slice(0,31)),r):"Sheet"}function mt(t){return null==t?"":"string"==typeof t&&vt.some((r=>t.startsWith(r)))?`'${t}`:t}function ft(t,r){let e=r.length;for(const r of t){if(null==r)continue;let t;t=r instanceof Date?10:"number"==typeof r?r.toFixed(2).length:"boolean"==typeof r?r?4:5:String(r).length,t>e&&(e=t)}return Math.min(Math.max(e+2,8),50)}function wt(t,r){const e=t.addWorksheet(bt(r.name)),a=[];r.headers?.length&&a.push(r.headers);for(const t of r.data){const r=t.map((t=>mt(t)));a.push(r)}for(const t of a)e.addRow(t);if(a.length>0){const t=a.reduce(((t,r)=>Math.max(t,r.length)),0);for(let i=0;i<t;i++){const t=ft(a.map((t=>t[i])),r.headers?.[i]??"");e.getColumn(i+1).width=t}}}function xt(t,r){const e=t.accessorKey||t.id||"";return r?.[e]?r[e]:"string"==typeof t.header?t.header:e}function yt(t,r){if(null==t)return"";switch(r){case"number":{if("number"==typeof t)return t;const r=Number(t);return Number.isNaN(r)?String(t):r}case"date":if(t instanceof Date)return t;if("string"==typeof t||"number"==typeof t){const r=new Date(t);return Number.isNaN(r.getTime())?String(t):r}return String(t);case"boolean":return"boolean"==typeof t?t:"string"==typeof t?"true"===t.toLowerCase():Boolean(t);default:return"object"==typeof t?JSON.stringify(t):String(t)}}async function Ct(t,r,e){!function(t,r){const e=URL.createObjectURL(t),a=document.createElement("a");a.href=e,a.download=r.endsWith(".xlsx")?r:`${r}.xlsx`,a.style.display="none",document.body.appendChild(a),a.click(),document.body.removeChild(a),URL.revokeObjectURL(e)}(await async function(t,r,e){const{Workbook:a}=await import("./p-7T937w-j.js").then((function(t){return t.e})),i=e.xlsx??{},o=bt(i.sheetName??"Data"),n=!1!==e.includeHeaders,l=r.map((t=>{const r=t.meta;return{id:t.accessorKey||t.id||"",header:xt(t,e.customHeaders),type:r?.type??"text"}})),s=[];n&&s.push(l.map((t=>t.header)));for(const r of t){const t=[];for(const a of l){const i=r[a.id];if(e.formatters?.[a.id]){const o=e.formatters[a.id](i,r);t.push(mt(o));continue}const o=yt(i,a.type);t.push(mt(o))}s.push(t)}const d=new a;if(function(t,r,e,a,i){for(const e of r)t.addRow(e);if(!1!==a.autoFitColumns)for(let a=0;a<e.length;a++){const i=ft(r.map((t=>t[a])),e[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,r,e,a,i){const o=i?2:1,n=i?1:0;for(let i=n;i<r.length;i++){const l=t.getRow(o+(i-n));for(let t=0;t<e.length;t++){const o=l.getCell(t+1),n=e[t].type,s=r[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,r,e,a,i)}(d.addWorksheet(o),s,l,i,n),i.additionalSheets?.length)for(const t of i.additionalSheets)wt(d,t);const c=function(t){if(t instanceof ArrayBuffer)return t;if(ArrayBuffer.isView(t)){const r=new Uint8Array(t.buffer,t.byteOffset,t.byteLength);return Uint8Array.from(r).buffer}throw new Error("Unsupported ExcelJS buffer type")}(await d.xlsx.writeBuffer());return new Blob([c],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"})}(t,r,e),e.fileName??"export")}function kt(t){return"accessorKey"in t?t.accessorKey||t.id||"":t.id||""}const zt={sum:t=>t.reduce(((t,r)=>t+r),0),avg:t=>t.length>0?t.reduce(((t,r)=>t+r),0)/t.length:0,min:t=>t.length>0?t.reduce(((t,r)=>Math.min(t,r)),t[0]):0,max:t=>t.length>0?t.reduce(((t,r)=>Math.max(t,r)),t[0]):0,count:(t,r)=>r.length},St=class{constructor(t){r(this,t),this.bhError=e(this,"bhError"),this.bhCircuitOpen=e(this,"bhCircuitOpen"),this.bhSortChange=e(this,"bhSortChange"),this.bhFilterChange=e(this,"bhFilterChange"),this.bhSelectionChange=e(this,"bhSelectionChange"),this.bhChange=e(this,"bhChange"),this.bhRowClick=e(this,"bhRowClick"),this.bhCellClick=e(this,"bhCellClick"),this.bhExpandChange=e(this,"bhExpandChange"),this.bhGroupToggle=e(this,"bhGroupToggle"),this.bhEditStart=e(this,"bhEditStart"),this.bhEditorPreparing=e(this,"bhEditorPreparing"),this.bhInitNewRow=e(this,"bhInitNewRow"),this.bhEditCancel=e(this,"bhEditCancel"),this.bhRowDeleting=e(this,"bhRowDeleting"),this.bhRowDeleted=e(this,"bhRowDeleted"),this.bhBatchChangeAdded=e(this,"bhBatchChangeAdded"),this.bhEditSave=e(this,"bhEditSave"),this.bhCellChange=e(this,"bhCellChange"),this.bhValidationError=e(this,"bhValidationError"),this.bhColumnResize=e(this,"bhColumnResize"),this.bhColumnResizeEnd=e(this,"bhColumnResizeEnd"),this.bhColumnPinChange=e(this,"bhColumnPinChange"),this.bhColumnReorder=e(this,"bhColumnReorder"),this.bhColumnVisibilityChange=e(this,"bhColumnVisibilityChange"),this.bhStateLoad=e(this,"bhStateLoad"),this.bhStateSave=e(this,"bhStateSave"),this.bhHeaderFilterChange=e(this,"bhHeaderFilterChange"),this.bhDetailToggle=e(this,"bhDetailToggle"),this.bhExport=e(this,"bhExport"),this.bhRowDragStart=e(this,"bhRowDragStart"),this.bhRowDrop=e(this,"bhRowDrop"),this.bhRowReorder=e(this,"bhRowReorder"),this.bhFocusChange=e(this,"bhFocusChange"),this.bhRefresh=e(this,"bhRefresh"),this.bhAdd=e(this,"bhAdd"),this.bhClearFilter=e(this,"bhClearFilter"),this.bhClearSelection=e(this,"bhClearSelection"),this.bhSearchChange=e(this,"bhSearchChange"),this.bhContextMenu=e(this,"bhContextMenu"),this.bhContextMenuItemClick=e(this,"bhContextMenuItemClick"),this.bhResponsiveChange=e(this,"bhResponsiveChange"),this.bhAdaptiveDetailExpand=e(this,"bhAdaptiveDetailExpand")}get el(){return a(this)}destroy$=v();listeners=m();contextMenuRef=null;dragImageCleanupEl;logger=f("bh-data-grid");dataOperationsCircuitBreaker=function(t){let r,e,a="CLOSED",i=0,o=0;const n=()=>{"OPEN"===a&&r&&Date.now()-r>=t.resetTimeout&&(a="HALF_OPEN")};return{async execute(l){if(n(),"OPEN"===a)throw new Error(`Circuit breaker is open (${t.name||"unknown"})`);try{const t=await l();return o++,e=Date.now(),"HALF_OPEN"===a&&(a="CLOSED",i=0),t}catch(e){throw i++,r=Date.now(),i>=t.failureThreshold&&(a="OPEN"),e}},getMetrics:()=>(n(),{state:a,failureCount:i,successCount:o,lastFailureTime:r,lastSuccessTime:e}),reset(){a="CLOSED",i=0,o=0,r=void 0,e=void 0}}}(k);renderTimer=null;dataOperationsDegraded=!1;updatePending=!1;_errorHandler;get handleComponentError(){return this._errorHandler||(this._errorHandler=d({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=w()),this.observerManager}table=null;get resolvedLabels(){return n(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,r,e,a={}){const i=x.startTimer(y.ASYNC_OPERATION,{component:"bh-data-grid",operation:t,...r}),o=this.logger.startTimer();try{e();const i=o();this.logger[a.logLevel??"debug"](`${t} completed`,{...r,duration:i}),i>(a.slowThreshold??500)&&this.logger.warn(`Slow ${t}`,{...r,duration:i})}catch(e){if(this.logger.error(`${t} failed`,e instanceof Error?e:new Error(String(e)),r),this.showErrorNotification(a.errorNotification??"Operation failed. Please try again.","error"),a.rethrow)throw e}finally{this.destroy$&&C(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:String(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:String(t.length)},(()=>this.table.setSorting(t)),{errorNotification:"Failed to apply sorting. Please try again."})}handleFilterStateChange(t){this.table&&this.trackedOperation("filter",{filter_count:String(t.length)},(()=>this.table.setColumnFilters(t)),{errorNotification:"Failed to apply filters. Please try again."})}handleSelectedRowIdsChange(t){if(this.table){const r={};for(const e of t)r[e]=!0;this.table.setRowSelection(r)}}handlePaginationPropChange(){this.table&&this.table.setPagination({pageIndex:this.page-1,pageSize:this.pageSize})}handleExpandedRowIdsChange(t){if(this.table){const r={};for(const e of t)r[e]=!0;this.table.setExpanded(r)}}handleGroupByChange(t){this.table&&this.table.setGrouping(t)}componentWillLoad(){const t=x.startTimer(y.COMPONENT_MOUNT,{component:"bh-data-grid",row_count:String(this.data?.length??0),has_pagination:String(this.enablePagination)});if(this.enableStatePersistence&&this.stateStorageKey){const t=this.loadPersistedState();t&&this.applyPersistedState(t)}if(this.initializeTable(),this.destroy$&&C(0,this.destroy$)?.subscribe((()=>t())),this.data&&this.data.length>1e3){const t=Math.min(10,this.data.length),r=this.data.slice(0,t),e=JSON.stringify(r).length,a=Math.round(e/t*this.data.length);x.gauge(y.MEMORY_USAGE,a,{component:"bh-data-grid",row_count:String(this.data.length),estimation_method:"sample"})}if(this.enableResponsiveLayout){this.observerManager=w();const t=this.columns?.map((t=>kt(t)))??[],{adaptiveDetailColumns:r,hiddenColumns:e}=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&&!r.includes(t)&&!e.includes(t))),adaptiveDetailColumns:r,hiddenColumns:e}}}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 r,e;const a=[...ht,...null!=(r=t._features)?r:[]];let i={_features:a};const o=i._features.reduce(((t,r)=>Object.assign(t,null==r.getDefaultOptions?void 0:r.getDefaultOptions(i))),{});let n={...null!=(e=t.initialState)?e:{}};i._features.forEach((t=>{var r;n=null!=(r=null==t.getInitialState?void 0:t.getInitialState(n))?r: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 r=S(t,i.options);i.options=(t=>i.options.mergeOptions?i.options.mergeOptions(o,t):{...o,...t})(r)},getState:()=>i.options.state,setState:t=>{null==i.options.onStateChange||i.options.onStateChange(t)},_getRowId:(t,r,e)=>{var a;return null!=(a=null==i.options.getRowId?void 0:i.options.getRowId(t,r,e))?a:`${e?[e.id,r].join("."):r}`},getCoreRowModel:()=>(i._getCoreRowModel||(i._getCoreRowModel=i.options.getCoreRowModel(i)),i._getCoreRowModel()),getRowModel:()=>i.getPaginationRowModel(),getRow:(t,r)=>{let e=(r?i.getPrePaginationRowModel():i.getRowModel()).rowsById[t];if(!e&&(e=i.getCoreRowModel().rowsById[t],!e))throw new Error;return e},_getDefaultColumnDef:F((()=>[i.options.defaultColumn]),(t=>{var r;return t=null!=(r=t)?r:{},{header:t=>{const r=t.header.column.columnDef;return r.accessorKey?r.accessorKey:r.accessorFn?r.id:null},cell:t=>{var r,e;return null!=(r=null==(e=t.renderValue())||null==e.toString?void 0:e.toString())?r:null},...i._features.reduce(((t,r)=>Object.assign(t,null==r.getDefaultColumnDef?void 0:r.getDefaultColumnDef())),{}),...t}}),E(t,"debugColumns")),_getColumnDefs:()=>i.options.columns,getAllColumns:F((()=>[i._getColumnDefs()]),(t=>{const r=function(t,e,a){return void 0===a&&(a=0),t.map((t=>{const o=function(t,r,e,a){var i,o;const n={...t._getDefaultColumnDef(),...r},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 r=t;for(const t of l.split(".")){var e;r=null==(e=r)?void 0:e[t]}return r}:t=>t[n.accessorKey]),!d)throw new Error;let c={id:`${String(d)}`,accessorFn:s,parent:a,depth:e,columnDef:n,columns:[],getFlatColumns:F((()=>[!0]),(()=>{var t;return[c,...null==(t=c.columns)?void 0:t.flatMap((t=>t.getFlatColumns()))]}),E(t.options,"debugColumns")),getLeafColumns:F((()=>[t._getOrderColumnsFn()]),(t=>{var r;if(null!=(r=c.columns)&&r.length){let r=c.columns.flatMap((t=>t.getLeafColumns()));return t(r)}return[c]}),E(t.options,"debugColumns"))};for(const r of t._features)null==r.createColumn||r.createColumn(c,t);return c}(i,t,a,e);return o.columns=t.columns?r(t.columns,o,a+1):[],o}))};return r(t)}),E(t,"debugColumns")),getAllFlatColumns:F((()=>[i.getAllColumns()]),(t=>t.flatMap((t=>t.getFlatColumns()))),E(t,"debugColumns")),_getAllFlatColumnsById:F((()=>[i.getAllFlatColumns()]),(t=>t.reduce(((t,r)=>(t[r.id]=r,t)),{})),E(t,"debugColumns")),getAllLeafColumns:F((()=>[i.getAllColumns(),i._getOrderColumnsFn()]),((t,r)=>r(t.flatMap((t=>t.getLeafColumns())))),E(t,"debugColumns")),getColumn:t=>i._getAllFlatColumnsById()[t]};Object.assign(i,d);for(let t=0;t<i._features.length;t++){const r=i._features[t];null==r||null==r.createTable||r.createTable(i)}return i}({data:this.data,columns:this.columns,state:this.tableState,onStateChange:t=>{const r="function"==typeof t?t(this.tableState):t;this.handleStateChange(r)},getCoreRowModel:t=>F((()=>[t.options.data]),(r=>{const e={rows:[],flatRows:[],rowsById:{}},a=function(r,i,o){void 0===i&&(i=0);const n=[];for(let s=0;s<r.length;s++){const d=_(t,t._getRowId(r[s],s,o),r[s],s,i,void 0,null==o?void 0:o.id);var l;e.flatRows.push(d),e.rowsById[d.id]=d,n.push(d),t.options.getSubRows&&(d.originalSubRows=t.options.getSubRows(r[s],s),null!=(l=d.originalSubRows)&&l.length&&(d.subRows=a(d.originalSubRows,i+1,d)))}return n};return e.rows=a(r),e}),E(t.options,"debugTable",0,(()=>t._autoResetPageIndex()))),getSortedRowModel:this.enableSorting?t=>F((()=>[t.getState().sorting,t.getPreSortedRowModel()]),((r,e)=>{if(!e.rows.length||null==r||!r.length)return e;const a=t.getState().sorting,i=[],o=a.filter((r=>{var e;return null==(e=t.getColumn(r.id))?void 0:e.getCanSort()})),n={};o.forEach((r=>{const e=t.getColumn(r.id);e&&(n[r.id]={sortUndefined:e.columnDef.sortUndefined,invertSorting:e.columnDef.invertSorting,sortingFn:e.getSortingFn()})}));const l=t=>{const r=t.map((t=>({...t})));return r.sort(((t,r)=>{for(let a=0;a<o.length;a+=1){var e;const i=o[a],l=n[i.id],s=l.sortUndefined,d=null!=(e=null==i?void 0:i.desc)&&e;let c=0;if(s){const e=void 0===t.getValue(i.id),a=void 0===r.getValue(i.id);if(e||a){if("first"===s)return e?-1:1;if("last"===s)return e?1:-1;c=e&&a?0:e?s:-s}}if(0===c&&(c=l.sortingFn(t,r,i.id)),0!==c)return d&&(c*=-1),l.invertSorting&&(c*=-1),c}return t.index-r.index})),r.forEach((t=>{var r;i.push(t),null!=(r=t.subRows)&&r.length&&(t.subRows=l(t.subRows))})),r};return{rows:l(e.rows),flatRows:i,rowsById:e.rowsById}}),E(t.options,"debugTable",0,(()=>t._autoResetPageIndex()))):void 0,getFilteredRowModel:this.enableFiltering||this.enableGlobalFilter?t=>F((()=>[t.getPreFilteredRowModel(),t.getState().columnFilters,t.getState().globalFilter]),((r,e,a)=>{if(!r.rows.length||(null==e||!e.length)&&!a){for(let t=0;t<r.flatRows.length;t++)r.flatRows[t].columnFilters={},r.flatRows[t].columnFiltersMeta={};return r}const i=[],o=[];(null!=e?e:[]).forEach((r=>{var e;const a=t.getColumn(r.id);if(!a)return;const o=a.getFilterFn();o&&i.push({id:r.id,filterFn:o,resolvedValue:null!=(e=null==o.resolveFilterValue?void 0:o.resolveFilterValue(r.value))?e:r.value})}));const n=(null!=e?e:[]).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 r;o.push({id:t.id,filterFn:l,resolvedValue:null!=(r=null==l.resolveFilterValue?void 0:l.resolveFilterValue(a))?r:a})})));for(let t=0;t<r.flatRows.length;t++){const e=r.flatRows[t];if(e.columnFilters={},i.length)for(let t=0;t<i.length;t++){d=i[t];const r=d.id;e.columnFilters[r]=d.filterFn(e,r,d.resolvedValue,(t=>{e.columnFiltersMeta[r]=t}))}if(o.length){for(let t=0;t<o.length;t++){c=o[t];const r=c.id;if(c.filterFn(e,r,c.resolvedValue,(t=>{e.columnFiltersMeta[r]=t}))){e.columnFilters.__global__=!0;break}}!0!==e.columnFilters.__global__&&(e.columnFilters.__global__=!1)}}return function(t,r,e){return e.options.filterFromLeafRows?function(t,r,e){var a;const i=[],o={},n=null!=(a=e.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=_(e,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,r(h)&&!u.subRows.length){s.push(h),o[h.id]=h,i.push(h);continue}if(r(h)||u.subRows.length){s.push(h),o[h.id]=h,i.push(h);continue}}else h=u,r(h)&&(s.push(h),o[h.id]=h,i.push(h))}return s};return{rows:l(t),flatRows:i,rowsById:o}}(t,r,e):function(t,r,e){var a;const i=[],o={},n=null!=(a=e.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(r(h)){var d;if(null!=(d=h.subRows)&&d.length&&a<n){const t=_(e,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,r,e)}(r.rows,(t=>{for(let r=0;r<n.length;r++)if(!1===t.columnFilters[n[r]])return!1;return!0}),t)}),E(t.options,"debugTable",0,(()=>t._autoResetPageIndex()))):void 0,getPaginationRowModel:this.enablePagination?t=>F((()=>[t.getState().pagination,t.getPrePaginationRowModel(),t.options.paginateExpandedRows?void 0:t.getState().expanded]),((r,e)=>{if(!e.rows.length)return e;const{pageSize:a,pageIndex:i}=r;let{rows:o,flatRows:n,rowsById:l}=e;const s=a*i;let d;o=o.slice(s,s+a),d=t.options.paginateExpandedRows?{rows:o,flatRows:n,rowsById:l}:ut({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}),E(t.options,"debugTable")):void 0,getExpandedRowModel:this.enableExpansion||this.enableGrouping?t=>F((()=>[t.getState().expanded,t.getPreExpandedRowModel(),t.options.paginateExpandedRows]),((t,r,e)=>!r.rows.length||!0!==t&&!Object.keys(null!=t?t:{}).length?r:e?ut(r):r),E(t.options,"debugTable")):void 0,getGroupedRowModel:this.enableGrouping?t=>F((()=>[t.getState().grouping,t.getPreGroupedRowModel()]),((r,e)=>{if(!e.rows.length||!r.length)return e.rows.forEach((t=>{t.depth=0,t.parentId=void 0})),e;const a=r.filter((r=>t.getColumn(r))),i=[],o={},n=function(r,e,l){if(void 0===e&&(e=0),e>=a.length)return r.map((t=>(t.depth=e,i.push(t),o[t.id]=t,t.subRows&&(t.subRows=n(t.subRows,e+1,t.id)),t)));const s=a[e],d=function(t,r){const e=new Map;return t.reduce(((t,e)=>{const a=`${e.getGroupingValue(r)}`,i=t.get(a);return i?i.push(e):t.set(a,[e]),t}),e)}(r,s),c=Array.from(d.entries()).map(((r,d)=>{let[c,h]=r,u=`${s}:${c}`;u=l?`${l}>${u}`:u;const g=n(h,e+1,u);g.forEach((t=>{t.parentId=u}));const p=e?D(h,(t=>t.subRows)):h,v=_(t,u,p[0].original,d,e,void 0,l);return Object.assign(v,{groupingColumnId:s,groupingValue:c,subRows:g,leafRows:p,getValue:r=>{var e;if(a.includes(r))return v._valuesCache.hasOwnProperty(r)||h[0]&&(v._valuesCache[r]=null!=(e=h[0].getValue(r))?e:void 0),v._valuesCache[r];if(v._groupingValuesCache.hasOwnProperty(r))return v._groupingValuesCache[r];const i=t.getColumn(r),o=null==i?void 0:i.getAggregationFn();return o?(v._groupingValuesCache[r]=o(r,p,h),v._groupingValuesCache[r]):void 0}}),g.forEach((t=>{i.push(t),o[t.id]=t})),v}));return c},l=n(e.rows,0);return l.forEach((t=>{i.push(t),o[t.id]=t})),{rows:l,flatRows:i,rowsById:o}}),E(t.options,"debugTable",0,(()=>{t._queue((()=>{t._autoResetExpanded(),t._autoResetPageIndex()}))}))):void 0,getRowId:this.getRowId||((t,r)=>String(t.id??r)),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 r=this.dataOperationsCircuitBreaker.getMetrics();this.dataOperationsCircuitBreaker.execute((async()=>{throw t})).catch((t=>{this.logger.debug("Circuit breaker recorded failure",{error:t instanceof Error?t.message:String(t)})})),"OPEN"!==r.state||this.dataOperationsDegraded||(this.dataOperationsDegraded=!0,this.bhCircuitOpen.emit({metrics:r}),this.logger.error("Circuit breaker opened for data operations",void 0,{state:r.state,failures:r.failureCount})),this.logger.error("Failed to create data grid table",t instanceof Error?t:new Error(String(t))),this.hasFatalError=!0,this.fatalErrorMessage=t instanceof Error?t.message:"Failed to initialize data grid",this.bhError.emit({error:t})}}handleStateChange(t){const r=this.tableState;if(this.tableState=t,this.table&&this.table.setOptions((r=>({...r,state:t}))),function(t,r){if(t===r)return!0;if(!t||!r)return!1;if(t.length!==r.length)return!1;for(let e=0;e<t.length;e++){const a=t[e],i=r[e];if(a.id!==i.id||a.desc!==i.desc)return!1}return!0}(r.sorting,t.sorting)||(this.sortState=t.sorting,x.increment(y.EVENT_EMIT,{component:"bh-data-grid",event:"sortChange",sort_columns:String(t.sorting.length)}),this.bhSortChange.emit({sorting:t.sorting})),function(t,r){if(t===r)return!0;if(!t||!r)return!1;if(t.length!==r.length)return!1;for(let e=0;e<t.length;e++){const a=t[e],i=r[e];if(a.id!==i.id||a.value!==i.value)return!1}return!0}(r.columnFilters,t.columnFilters)&&r.globalFilter===t.globalFilter||(this.filterState=t.columnFilters,this.globalFilter=t.globalFilter,x.increment(y.EVENT_EMIT,{component:"bh-data-grid",event:"filterChange",filter_count:String(t.columnFilters.length),has_global_filter:String(!!t.globalFilter)}),this.bhFilterChange.emit({columnFilters:t.columnFilters,globalFilter:t.globalFilter})),!function(t,r){if(t===r)return!0;if(!t||!r)return!1;const e=Object.keys(t),a=Object.keys(r);if(e.length!==a.length)return!1;for(const a of e)if(t[a]!==r[a])return!1;return!0}(r.rowSelection,t.rowSelection)){const r=Object.keys(t.rowSelection).filter((r=>t.rowSelection[r]));this.selectedRowIds=r;const e=this.table?.getSelectedRowModel().rows.map((t=>t.original))??[];x.increment(y.EVENT_EMIT,{component:"bh-data-grid",event:"selectionChange",selected_count:String(r.length)}),this.bhSelectionChange.emit({selectedRowIds:r,selectedRows:e})}r.pagination?.pageIndex===t.pagination?.pageIndex&&r.pagination?.pageSize===t.pagination?.pageSize||(this.page=t.pagination.pageIndex+1,this.pageSize=t.pagination.pageSize,x.increment(y.EVENT_EMIT,{component:"bh-data-grid",event:"pageChange",page:String(this.page),page_size:String(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 r of this.selectedRowIds)t[r]=!0;return t}buildExpanded(){const t={};for(const r of this.expandedRowIds)t[r]=!0;return t}buildColumnVisibility(){const t={...this.columnVisibility};if(this.enableGrouping)for(const r of this.groupBy)t[r]=!1;return t}handleRowClick=t=>{const r=t.id;if("single-click"===this.selectionMode){const r=t.getIsSelected();this.table?.resetRowSelection(),r||t.toggleSelected(!0)}else"multiple-click"===this.selectionMode&&t.toggleSelected();this.bhRowClick.emit({row:t.original,rowId:r,rowIndex:t.index})};handleCellClick=(t,r)=>{this.bhCellClick.emit({row:t.original,rowId:t.id,rowIndex:t.index,columnId:r.column.id,value:r.getValue()})};handleHeaderClick=t=>{this.enableSorting&&t.column.getCanSort()&&t.column.toggleSorting(void 0,this.enableMultiSort)};handleRowExpand=t=>{const r=!t.getIsExpanded();r&&this.autoCollapseOtherRows&&this.table?.toggleAllRowsExpanded(!1),t.toggleExpanded(),this.bhExpandChange.emit({rowId:t.id,expanded:r}),this.enableMasterDetail&&this.bhDetailToggle.emit({rowId:t.id,row:t.original,expanded:r})};handleGroupToggle=t=>{const r=t.getIsExpanded();t.toggleExpanded(),this.bhGroupToggle.emit({groupId:t.id,expanded:!r})};handleGlobalFilterChange=t=>{const r=t.target;this.table?.setGlobalFilter(r.value)};handleColumnFilterChange=(t,r)=>{const e=this.table?.getColumn(t);e&&e.setFilterValue(r||void 0)};handlePaginationChange=t=>{const{page:r,pageSize:e}=t.detail;this.table?.setPagination({pageIndex:r-1,pageSize:e})};resetEditingState(){this.editingRowId=null,this.editingColumnId=null,this.editingValues={},this.validationErrors={}}startEditing=(t,r)=>{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&&r||null;const e={};for(const r of this.columns){const a=kt(r);a&&(e[a]=t.original[a])}this.editingValues=e,this.validationErrors={},this.bhEditStart.emit({rowId:t.id,row:t.original,columnId:r})};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 r={};for(const[e,a]of Object.entries(this.editingValues)){const i=this.table.getColumn(e),o=i?.columnDef.meta?.validate;if(o){const i=o(a,t.original);i&&(r[e]=i,this.bhValidationError.emit({rowId:this.editingRowId,columnId:e,value:a,error:i}))}}if(Object.keys(r).length>0)return void(this.validationErrors=r);const e={};for(const[r,a]of Object.entries(this.editingValues))t.original[r]!==a&&(e[r]=a);const a={...t.original,...e};this.bhEditSave.emit({rowId:this.editingRowId,rowIndex:t.index,originalRow:t.original,changes:e,newRow:a}),this.resetEditingState()};handleEditValueChange=(t,r)=>{const e=this.editingValues[t];if(this.editingValues={...this.editingValues,[t]:r},this.validationErrors[t]){const{[t]:r,...e}=this.validationErrors;this.validationErrors=e}this.editingRowId&&this.bhCellChange.emit({rowId:this.editingRowId,columnId:t,oldValue:e,newValue:r})};handleEditKeyDown=(t,r)=>{c(t)?(t.preventDefault(),this.saveEditing()):h(t)?(t.preventDefault(),this.cancelEditing()):u(t)&&"cell"===this.editMode&&(t.preventDefault(),this.moveToNextEditableCell(r,t.shiftKey))};moveToNextEditableCell=(t,r)=>{const e=this.columns.filter((t=>!1!==t.meta?.editable)),a=e.findIndex((r=>kt(r)===t));if(-1===a)return;const i=r?a-1:a+1;if(i>=0&&i<e.length){const t=kt(e[i]);this.editingColumnId=t||null}else this.saveEditing()};isEditing(t,r){return this.editingRowId===t&&("cell"!==this.editMode||!!r&&this.editingColumnId===r)}handleCellDoubleClick=(t,r)=>{this.enableEditing&&!1!==r.column.columnDef.meta?.editable&&"cell"===this.editMode&&this.startEditing(t,r.column.id)};openFormEditModal(t,r){const e=t?this.getRowId?.(t,0)||"0":"";if(!r&&t){const r={row:t,rowId:e,columnId:"",value:void 0,editorOptions:{},cancel:!1};if(this.bhEditorPreparing.emit(r),r.cancel)return}if(r){const t={};for(const r of this.columns){const e=kt(r);e&&(t[e]="")}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 r of this.columns){const e=kt(r);e&&t&&(a[e]=t[e])}this.formEditValues=a,this.formEditModalOpen=!0,this.bhEditStart.emit({rowId:e,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={},r=this.formEditConfig?.fields||[];for(const e of r){const r=this.formEditValues[e.columnId];if(!e.required||null!=r&&""!==r){if(e.validator){const a=e.validator(r);a&&(t[e.columnId]=a)}}else t[e.columnId]=`${e.label||e.columnId} is required`}if(this.table)for(const[r,e]of Object.entries(this.formEditValues)){const a=this.table.getColumn(r),i=a?.columnDef.meta?.validate;if(i&&this.formEditRowData){const a=i(e,this.formEditRowData);a&&(t[r]=a,this.bhValidationError.emit({rowId:this.getRowId?.(this.formEditRowData,0)||"0",columnId:r,value:e,error:a}))}}if(Object.keys(t).length>0)return void(this.formEditErrors=t);const e={...this.formEditRowData||{},...this.formEditValues};if(this.formEditIsNew)this.bhAdd.emit(),this.bhEditSave.emit({rowId:"__new__",rowIndex:-1,originalRow:{},changes:this.formEditValues,newRow:e});else if(this.formEditRowData){const t={};for(const[r,e]of Object.entries(this.formEditValues))this.formEditRowData[r]!==e&&(t[r]=e);const r=this.getRowId?.(this.formEditRowData,0)||"0",a=this.data.findIndex((t=>(this.getRowId?.(t,0)||"0")===r));this.bhEditSave.emit({rowId:r,rowIndex:a,originalRow:this.formEditRowData,changes:t,newRow:e})}this.closeFormEditModal()};handleFormFieldChange=(t,r)=>{const e=this.formEditValues[t];if(this.formEditValues={...this.formEditValues,[t]:r},this.formEditErrors[t]){const{[t]:r,...e}=this.formEditErrors;this.formEditErrors=e}if(this.formEditRowData){const a=this.getRowId?.(this.formEditRowData,0)||"0";this.bhCellChange.emit({rowId:a,columnId:t,oldValue:e,newValue:r})}};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 r=[],e=[],a=(this.columns?.map((t=>kt(t)))??[]).filter((t=>Boolean(t)));for(const a of this.responsiveColumns)("small"===t||"medium"===t&&"low"===a.priority)&&"always"!==a.priority&&("adaptive-detail"===a.hiddenBehavior?r.push(a.columnId):e.push(a.columnId));const i=a.filter((t=>!(r.includes(t)||e.includes(t))));return{adaptiveDetailColumns:r,hiddenColumns:e,visibleColumns:i}}calculateBreakpoint(t){return t>=this.largeBreakpoint?"large":t>=this.mediumBreakpoint?"medium":"small"}handleResponsiveResize(t){const r=this.responsiveState.breakpoint,e=this.calculateBreakpoint(t),{adaptiveDetailColumns:a,hiddenColumns:i,visibleColumns:o}=this.calculateHiddenColumns(e);this.responsiveState={viewportWidth:t,breakpoint:e,visibleColumns:o,adaptiveDetailColumns:a,hiddenColumns:i},r!==e&&this.bhResponsiveChange.emit({state:this.responsiveState,previousBreakpoint:r})}isAdaptiveDetailExpanded(t){return this.adaptiveDetailExpandedRows.has(t)}toggleAdaptiveDetailRow(t){const r=!this.adaptiveDetailExpandedRows.has(t);r?this.adaptiveDetailExpandedRows.add(t):this.adaptiveDetailExpandedRows.delete(t),this.bhAdaptiveDetailExpand.emit({data:{rowId:t,hiddenValues:[]},expanded:r})}hasAdaptiveDetailColumns(){return(this.responsiveState.adaptiveDetailColumns?.length??0)>0}async deleteRow(t){const r=this.getRowId?.(t,0)??"",e={type:"delete",row:t,rowId:r,cancel:!1};if(this.bhRowDeleting.emit(e),e.cancel)return!1;if(e.promise)try{await e.promise}catch{return!1}return this.batchEditingEnabled&&this.bhBatchChangeAdded.emit({change:{type:"delete",rowKey:r,originalData:t,modifiedData:null,timestamp:Date.now()},totalChanges:1}),this.bhRowDeleted.emit({type:"delete",row:t,rowId:r}),!0}handleResizeMouseDown=(t,r)=>{if(!this.enableColumnResize)return;t.preventDefault(),t.stopPropagation();const e=r.column.id,a=r.column.columnDef.meta;if(!1===a?.resizable)return;const i=this.columnSizes[e]||r.column.getSize()||150;this.resizingColumnId=e,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 r=t.clientX-this.resizeStartX,e=this.table?.getColumn(this.resizingColumnId),a=e?.columnDef.meta,i=a?.minWidth??this.minColumnWidth,o=Math.min(a?.maxWidth??this.maxColumnWidth,Math.max(i,this.resizeStartWidth+r)),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,r){return this.columnSizes[t]??r}pinColumn=(t,r)=>{if(!this.enableColumnPinning)return;const e={...this.columnPinning};e.left=e.left.filter((r=>r!==t)),e.right=e.right.filter((r=>r!==t)),"left"===r?e.left=[...e.left,t]:"right"===r&&(e.right=[...e.right,t]),this.columnPinning=e,this.table&&this.table.setColumnPinning(e),this.bhColumnPinChange.emit({columnId:t,pinned:r}),this.scheduleUpdate()};handleColumnDragStart=(t,r)=>{if(!this.enableColumnReorder)return;const e=r.column.id;this.draggingColumnId=e,t.dataTransfer?.setData("text/plain",e),t.dataTransfer&&(t.dataTransfer.effectAllowed="move"),document.body.classList.add("data-grid-dragging")};handleColumnDragOver=(t,r)=>{if(!this.enableColumnReorder||!this.draggingColumnId)return;t.preventDefault(),t.dataTransfer&&(t.dataTransfer.dropEffect="move");const e=r.column.id;e!==this.draggingColumnId&&(this.dragOverColumnId=e)};handleColumnDragLeave=()=>{this.dragOverColumnId=null};handleColumnDrop=(t,r)=>{if(!this.enableColumnReorder||!this.draggingColumnId)return;t.preventDefault();const e=this.draggingColumnId,a=r.column.id;if(e===a)return void this.resetDragState();const i=this.columnOrder.length>0?[...this.columnOrder]:this.columns.map((t=>kt(t))),o=i.indexOf(e),n=i.indexOf(a);if(-1===o||-1===n)return void this.resetDragState();const l=i.toSpliced(o,1).toSpliced(n,0,e);this.columnOrder=l,this.table&&this.table.setColumnOrder(l),this.bhColumnReorder.emit({columnOrder:l,draggedColumnId:e,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 r=!(!1!==this.columnVisibility[t]);this.columnVisibility={...this.columnVisibility,[t]:r},this.table&&this.table.setColumnVisibility({...this.columnVisibility,[t]:r}),this.bhColumnVisibilityChange.emit({columnId:t,visible:r,columnVisibility:{...this.columnVisibility}}),this.scheduleUpdate()};showAllColumns=()=>{const t={};for(const r of this.columns){const e=kt(r);e&&(t[e]=!0)}this.columnVisibility=t,this.table&&this.table.setColumnVisibility(t),this.scheduleUpdate()};hideAllColumns=()=>{const t={};for(const r of this.columns){const e=kt(r);e&&(t[e]=!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 r=new Map;for(const e of this.data){const a=e[t],i=String(a??"");r.has(i)?r.get(i).count++:r.set(i,{value:a,count:1})}return Array.from(r,(([t,{value:r,count:e}])=>({value:r,text:t||"(Blank)",count:e}))).toSorted(((t,r)=>t.text.localeCompare(r.text)))}getHeaderFilterSelectedValues(t){const r=this.headerFilterState.find((r=>r.columnId===t));return r?.selectedValues??[]}isHeaderFilterValueSelected(t,r){return this.getHeaderFilterSelectedValues(t).some((t=>String(t)===String(r)||null===t&&null===r))}toggleHeaderFilterValue=(t,r)=>{const e=this.getHeaderFilterSelectedValues(t),a=String(r);let i;i=e.some((t=>String(t)===a))?e.filter((t=>String(t)!==a)):[...e,r],this.updateHeaderFilterState(t,i)};selectAllHeaderFilterValues=t=>{const r=this.getFilteredHeaderFilterValues(t).map((t=>t.value));this.updateHeaderFilterState(t,r)};clearHeaderFilterValues=t=>{this.updateHeaderFilterState(t,[])};updateHeaderFilterState(t,r){const e=this.headerFilterState.findIndex((r=>r.columnId===t));let a;0===r.length?a=this.headerFilterState.filter((r=>r.columnId!==t)):e>=0?(a=[...this.headerFilterState],a[e]={columnId:t,selectedValues:r}):a=[...this.headerFilterState,{columnId:t,selectedValues:r}],this.headerFilterState=a,this.applyHeaderFilterToTable(t,r),this.bhHeaderFilterChange.emit({columnId:t,selectedValues:r,filterState:a}),this.scheduleUpdate()}applyHeaderFilterToTable(t,r){this.table&&(0===r.length?this.table.getColumn(t)?.setFilterValue(void 0):this.table.getColumn(t)?.setFilterValue(r))}getFilteredHeaderFilterValues(t){const r=this.getUniqueColumnValues(t),e=this.headerFilterSearchText.toLowerCase();return e?r.filter((t=>t.text.toLowerCase().includes(e))):r}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,r=t.length,e=Math.max(this.estimatedRowHeight,1),a=r*e,i=Math.max(0,Math.floor(this.virtualScrollTop/e)-this.overscanCount),o=Math.ceil(this.virtualScrollHeight/e),n=Math.min(r,i+o+2*this.overscanCount);return{visibleRows:t.slice(i,n),startIndex:i,endIndex:n,totalHeight:a,offsetTop:i*e}}setScrollContainerRef=t=>{this.scrollContainerRef=t??null};scrollToRowIndex(t){this.scrollContainerRef&&this.enableVirtualScrolling&&(this.scrollContainerRef.scrollTop=t*this.estimatedRowHeight)}canRowExpand(t){if(this.enableMasterDetail){const r=this.masterDetailConfig;return void 0===r?.enabled||("function"==typeof r.enabled?r.enabled(t.original):r.enabled)}return t.getCanExpand()}calculateSummaryValue(t,r){const e=r.map((r=>r[t.columnId])).filter((t=>null!=t)),a=e.map((t=>Number(t))).filter((t=>Number.isFinite(t))),i=zt[t.type];return i?i(a,e):"custom"===t.type&&t.calculate?t.calculate(e):null}formatSummaryValue(t,r){return t.format?t.format(r):"number"==typeof r?"avg"===t.type?r.toLocaleString(void 0,{minimumFractionDigits:2,maximumFractionDigits:2}):r.toLocaleString():String(r??"")}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 r=localStorage.getItem(gt(t.stateStorageKey));if(r){const e=o(r);if(!e.valid)return null;if(e.value)return t.onLoad(e.value),e.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},r={};for(const e of this.persistedStateKeys)e in t&&(r[e]=t[e]);!function(t){if(t.enable&&t.stateStorageKey)try{localStorage.setItem(gt(t.stateStorageKey),JSON.stringify(t.state)),t.onSave(t.state)}catch(t){}}({enable:this.enableStatePersistence,stateStorageKey:this.stateStorageKey,state:r,onSave:t=>this.bhStateSave.emit({state:t})})}catch{}}applyPersistedState(t){const r=new Set(this.persistedStateKeys);void 0!==t.sorting&&r.has("sorting")&&(this.sortState=t.sorting),void 0!==t.columnFilters&&r.has("columnFilters")&&(this.filterState=t.columnFilters),void 0!==t.globalFilter&&r.has("globalFilter")&&(this.globalFilter=t.globalFilter),void 0!==t.columnSizes&&r.has("columnSizes")&&(this.columnSizes=t.columnSizes),void 0!==t.columnOrder&&r.has("columnOrder")&&(this.columnOrder=t.columnOrder),void 0!==t.columnVisibility&&r.has("columnVisibility")&&(this.columnVisibility=t.columnVisibility),void 0!==t.columnPinning&&r.has("columnPinning")&&(this.columnPinning=t.columnPinning),void 0!==t.pageSize&&r.has("pageSize")&&(this.pageSize=t.pageSize)}clearPersistedState(){!function(t){if(t.stateStorageKey)try{localStorage.removeItem(gt(t.stateStorageKey))}catch(t){}}({stateStorageKey:this.stateStorageKey})}async exportData(t){if(!this.enableExport)return;const r={fileName:"export",format:"csv",includeHeaders:!0,visibleColumnsOnly:!0,selectedRowsOnly:!1,filteredDataOnly:!0,csvDelimiter:",",includeBOM:!0,...this.exportConfig,...t},e=x.startTimer(y.ASYNC_OPERATION,{component:"bh-data-grid",operation:"export",format:r.format??"csv"}),{rows:a,columns:i}=this.getExportData(r);switch(x.increment(y.EVENT_EMIT,{component:"bh-data-grid",event:"export",format:r.format??"csv",row_count:String(a.length),column_count:String(i.length),selected_only:String(r.selectedRowsOnly),filtered_only:String(r.filteredDataOnly)}),r.format){case"csv":this.exportToCSV(a,i,r);break;case"xlsx":try{await Ct(a,i,r)}catch(t){this.logger.error("XLSX export failed",t instanceof Error?t:new Error(String(t))),this.showErrorNotification(this.resolvedLabels.exportFailed,"error")}break;case"json":this.exportToJSON(a,i,r)}e(),this.exportDropdownOpen=!1}getExportData(t){if(!this.table)return{rows:[],columns:[]};let r,e=[...this.columns];if(t.visibleColumnsOnly){const t=this.table.getVisibleFlatColumns().map((t=>t.id));e=e.filter((r=>{const e=kt(r);return e&&t.includes(e)}))}return t.excludeColumns?.length&&(e=e.filter((r=>{const e=kt(r);return!t.excludeColumns?.includes(e||"")}))),r=t.selectedRowsOnly?this.table.getSelectedRowModel().rows.map((t=>t.original)):t.filteredDataOnly?this.table.getFilteredRowModel().rows.map((t=>t.original)):[...this.data],{rows:r,columns:e}}getColumnHeader(t,r){const e=kt(t);return r?.[e]?r[e]:"string"==typeof t.header?t.header:e}getCellValue(t,r,e){const a=kt(r),i=t[a];return e?.[a]?e[a](i,t):null==i?"":i instanceof Date?i.toISOString():"object"==typeof i?JSON.stringify(i):String(i)}exportToCSV(t,r,e){const a=e.csvDelimiter||",",i=[];if(e.includeHeaders){const t=r.map((t=>this.escapeCSVValue(this.getColumnHeader(t,e.customHeaders),a)));i.push(t.join(a))}for(const o of t){const t=r.map((t=>this.escapeCSVValue(this.getCellValue(o,t,e.formatters),a)));i.push(t.join(a))}const o=i.join("\n"),n=new Blob([(e.includeBOM?"\ufeff":"")+o],{type:"text/csv;charset=utf-8;"}),l=`${e.fileName}.csv`;this.downloadBlob(n,l),this.bhExport.emit({format:"csv",rowCount:t.length,columnCount:r.length,fileName:l})}escapeCSVValue(t,r){return t.includes(r)||t.includes('"')||t.includes("\n")||t.includes("\r")?`"${t.replaceAll('"','""')}"`:t}exportToJSON(t,r,e){const a=r.map((t=>kt(t))),i=t.map((t=>{const r={};for(const i of a)if(i){const a=t[i];r[i]=e.formatters?.[i]?e.formatters[i](a,t):a}return r})),o=JSON.stringify(i,null,2),n=new Blob([o],{type:"application/json;charset=utf-8;"}),l=`${e.fileName}.json`;this.downloadBlob(n,l),this.bhExport.emit({format:"json",rowCount:t.length,columnCount:r.length,fileName:l})}downloadBlob(t,r){const e=URL.createObjectURL(t),a=document.createElement("a");a.href=e,a.download=r,a.style.display="none",document.body.appendChild(a),a.click(),document.body.removeChild(a),URL.revokeObjectURL(e)}handleExportClick=t=>{this.exportData({format:t})};toggleExportDropdown=()=>{this.exportDropdownOpen=!this.exportDropdownOpen};getRowIdValue(t,r){return this.getRowId?this.getRowId(t,r):String(t.id??r)}isRowDraggable(t){return!(!this.enableRowDragging||this.rowDragDisabled&&this.rowDragDisabled(t))}handleRowDragStart=(t,r,e,a)=>{if(this.isRowDraggable(r)){if(this.draggingRowId=e,this.dragOverRowId=null,this.dragPosition=null,t.dataTransfer){t.dataTransfer.effectAllowed="move",t.dataTransfer.setData("text/plain",e);const r=t.target.cloneNode(!0);r.style.opacity="0.7",r.style.position="absolute",r.style.top="-1000px",document.body.appendChild(r),t.dataTransfer.setDragImage(r,0,0),this.dragImageCleanupEl=r,this.destroy$&&C(0,this.destroy$)?.subscribe((()=>{this.dragImageCleanupEl?.parentNode&&this.dragImageCleanupEl.parentNode.removeChild(this.dragImageCleanupEl),this.dragImageCleanupEl=void 0}))}this.bhRowDragStart.emit({row:r,rowId:e,fromIndex:a})}else t.preventDefault()};handleRowDragOver=(t,r,e)=>{if(!this.draggingRowId||this.draggingRowId===e)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=e,this.dragPosition=i};handleRowDragLeave=()=>{};handleRowDrop=(t,r,e)=>{if(t.preventDefault(),!this.draggingRowId||this.draggingRowId===e)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)===e));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,r){const e=this.data[t];return this.data.toSpliced(t,1).toSpliced(r,0,e)}getEffectiveFocusedRowId(){return this.focusedRowId??this.internalFocusedRowId}getEffectiveFocusedCell(){return this.focusedCell??this.internalFocusedCell}handleRowFocus=(t,r,e)=>{this.enableFocusTracking&&(this.internalFocusedRowId=r,this.internalFocusedCell=null,void 0!==this.focusedRowId&&(this.focusedRowId=r),void 0!==this.focusedCell&&(this.focusedCell=void 0),this.bhFocusChange.emit({row:t,rowId:r,rowIndex:e,columnId:null,cellValue:null}),this.autoScrollToFocused&&this.scrollToRow(r))};handleCellFocus=(t,r,e,a,i)=>{if(!this.enableFocusTracking)return;const o={rowId:r,columnId:a};this.internalFocusedRowId=r,this.internalFocusedCell=o,void 0!==this.focusedRowId&&(this.focusedRowId=r),void 0!==this.focusedCell&&(this.focusedCell=o),this.bhFocusChange.emit({row:t,rowId:r,rowIndex:e,columnId:a,cellValue:i}),this.autoScrollToFocused&&this.scrollToRow(r)};handleKeyboardNavigation=(t,r,e,a)=>{if(!this.enableFocusTracking||!this.enableKeyboardNavigation)return;if(!this.table)return;const i=this.table.getRowModel().rows,o=this.table.getVisibleLeafColumns();let n=e;const l=a?o.findIndex((t=>t.id===a)):-1;let s=l;switch(t.key){case g.ARROW_UP:t.preventDefault(),n=Math.max(0,e-1);break;case g.ARROW_DOWN:t.preventDefault(),n=Math.min(i.length-1,e+1);break;case g.ARROW_LEFT:a&&s>0&&(t.preventDefault(),s-=1);break;case g.ARROW_RIGHT:a&&s<o.length-1&&(t.preventDefault(),s+=1);break;case g.HOME:t.preventDefault(),(t.ctrlKey||t.metaKey)&&(n=0),a&&(s=0);break;case g.END:t.preventDefault(),(t.ctrlKey||t.metaKey)&&(n=i.length-1),a&&(s=o.length-1);break;case g.PAGE_UP:t.preventDefault(),n=Math.max(0,e-10);break;case g.PAGE_DOWN:t.preventDefault(),n=Math.min(i.length-1,e+10);break;default:return}if(n!==e||a&&s!==l){const t=i[n];if(t){const r=t.id;if(a&&s>=0){const e=o[s],a=t.getValue(e.id);this.handleCellFocus(t.original,r,n,e.id,a)}else this.handleRowFocus(t.original,r,n);this.focusRowElement(r,o[s]?.id)}}};scrollToRow(t){if(!this.scrollContainerRef)return;const r=this.el.shadowRoot?.querySelector(`[data-row-id="${t}"]`);if(r){const t=this.scrollContainerRef.getBoundingClientRect(),e=r.getBoundingClientRect();e.top<t.top?r.scrollIntoView({block:"start",behavior:"smooth"}):e.bottom>t.bottom&&r.scrollIntoView({block:"end",behavior:"smooth"})}}focusRowElement(t,r){this.pendingFocusRafId=requestAnimationFrame((()=>{if(this.pendingFocusRafId=void 0,r){const e=this.el.shadowRoot?.querySelector(`[data-row-id="${t}"] [data-column-id="${r}"]`);e?.focus()}else{const r=this.el.shadowRoot?.querySelector(`[data-row-id="${t}"]`);r?.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 r=this.table.getRowModel().rows,e=r.findIndex((r=>r.id===t));e>=0&&(this.handleRowFocus(r[e].original,t,e),this.focusRowElement(t))}focusCellById(t,r){if(!this.table)return;const e=this.table.getRowModel().rows,a=e.findIndex((r=>r.id===t));if(a>=0){const i=e[a],o=i.getValue(r);this.handleCellFocus(i.original,t,a,r,o),this.focusRowElement(t,r)}}handleSearchPanelInput=t=>{const r=t.target.value;if(this.searchPanelText=r,!r.trim())return this.searchMatches=[],this.currentSearchMatchIndex=0,void this.bhSearchChange.emit({searchText:"",matchCount:0,matches:[]});const e=this.findSearchMatches(r);this.searchMatches=e,this.currentSearchMatchIndex=e.length>0?0:-1,this.bhSearchChange.emit({searchText:r,matchCount:e.length,matches:e}),e.length>0&&this.scrollToSearchMatch(e[0]),this.scheduleUpdate()};findSearchMatches(t){if(!this.table||!t.trim())return[];const r=[],e=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(e,d);if(-1===a)break;r.push({rowId:i.id,columnId:o,matchIndex:c,startIndex:a,endIndex:a+t.length}),d=a+1,c++}}return r}getCellTextValue(t){return null==t?"":"string"==typeof t?t:"number"==typeof t?String(t):"boolean"==typeof t?t?"Yes":"No":t instanceof Date?t.toLocaleDateString():String(t)}scrollToSearchMatch(t){if(!this.scrollContainerRef)return;const r=this.el.shadowRoot?.querySelector(`[data-row-id="${t.rowId}"]`);if(r){const t=this.scrollContainerRef.getBoundingClientRect(),e=r.getBoundingClientRect();(e.top<t.top||e.bottom>t.bottom)&&r.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=>{c(t)?(t.preventDefault(),t.shiftKey?this.focusPreviousMatch():this.focusNextMatch()):h(t)&&this.clearSearch()};getCellSearchMatches(t,r){return this.searchMatches.filter((e=>e.rowId===t&&e.columnId===r))}isCurrentSearchMatch(t){if(this.currentSearchMatchIndex<0||this.currentSearchMatchIndex>=this.searchMatches.length)return!1;const r=this.searchMatches[this.currentSearchMatchIndex];return r.rowId===t.rowId&&r.columnId===t.columnId&&r.matchIndex===t.matchIndex}highlightSearchText(r,e){if(!this.highlightSearchResults||0===e.length||!r)return r;const a=e.toSorted(((t,r)=>t.startIndex-r.startIndex)),i=[];let o=0;for(const e of a){e.startIndex>o&&i.push(r.slice(o,e.startIndex));const a=r.slice(e.startIndex,e.endIndex),n=this.isCurrentSearchMatch(e);i.push(t("span",{class:{"data-grid-search-highlight":!0,"data-grid-search-highlight-current":n}},a)),o=e.endIndex}return o<r.length&&i.push(r.slice(o)),i}handleContextMenu=(t,r,e,a,i,o)=>{if(!this.enableContextMenu)return;t.preventDefault(),t.stopPropagation();const n={row:r,rowId:e,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$&&C(0,this.destroy$)?.subscribe((()=>{this.listeners.add(document,"click",this.handleDocumentClickForContextMenu),this.listeners.add(document,"keydown",this.handleContextMenuKeyDown)}))};disconnectedCallback(){b(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 r=t.clientX,e=t.clientY,a=window.innerWidth,i=window.innerHeight;let o=r,n=e;return r+200>a&&(o=Math.max(0,a-200-10)),e+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=>{h(t)&&this.closeContextMenu()};flexRender(t,r){return"function"==typeof t?t(r):t}formatCellValue(t,r){if(null==t)return"";switch(r?.type){case"number":return"number"==typeof t?t.toLocaleString(void 0,r.numberFormat):String(t);case"date":return t instanceof Date?t.toLocaleDateString(void 0,r.dateFormat):new Date(t).toLocaleDateString(void 0,r.dateFormat);case"boolean":return t?"Yes":"No";default:return String(t)}}showErrorNotification(t,r="error"){this.showInlineErrorNotification&&(this.errorNotificationMessage=t,this.errorNotificationType=r,this.errorNotificationVisible=!0,this.errorNotificationDuration>0&&this.destroy$&&C(this.errorNotificationDuration,this.destroy$)?.subscribe((()=>{this.dismissErrorNotification()})),this.logger.info("Error notification shown",{message:t,type:r}))}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:r,y:e}=this.contextMenuPosition;return t("div",{class:"data-grid-context-menu",onClick:t=>t.stopPropagation(),ref:t=>this.contextMenuRef=t??null,style:{left:`${r}px`,top:`${e}px`}},this.contextMenuResolvedItems.map(((t,r)=>this.renderContextMenuItem(t,r))))}renderContextMenuItem(r,e){if("divider"===r.type)return t("div",{class:"data-grid-context-menu-divider",key:`divider-${e}`,role:"separator"});if("submenu"===r.type&&r.items&&r.items.length>0){const a=this.contextMenuSubmenuOpen===r.id;return t("div",{"aria-disabled":r.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":!!r.disabled,"data-grid-context-menu-item-open":a},key:r.id||`submenu-${e}`,onClick:()=>this.handleContextMenuItemClick(r),onMouseEnter:()=>{r.disabled||(this.contextMenuSubmenuOpen=r.id||null)},role:"menuitem"},r.icon&&t("span",{class:"data-grid-context-menu-item-icon material-symbols-outlined"},r.icon),t("span",{class:"data-grid-context-menu-item-label"},r.label),t("span",{class:"data-grid-context-menu-item-arrow material-symbols-outlined"},"chevron_right"),a&&t("div",{class:"data-grid-context-menu-submenu"},r.items.filter((t=>!1!==t.visible)).map(((t,r)=>this.renderContextMenuItem(t,r)))))}return t("div",{"aria-disabled":r.disabled?"true":"false",class:{"data-grid-context-menu-item":!0,"data-grid-context-menu-item-disabled":!!r.disabled},key:r.id||`item-${e}`,onClick:()=>this.handleContextMenuItemClick(r),role:"menuitem"},r.icon&&t("span",{class:"data-grid-context-menu-item-icon material-symbols-outlined"},r.icon),t("span",{class:"data-grid-context-menu-item-label"},r.label))}renderSearchPanel(){if(!this.enableSearchPanel||!this.showSearchPanel)return null;const r=this.searchMatches.length,e=this.currentSearchMatchIndex,a=r>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?`${e+1} of ${r} 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 r={leftItems:["search"],centerItems:[],rightItems:["export","column-chooser"],...this.toolbarConfig};return t("div",{class:{"data-grid-toolbar":!0,[r.cssClass||""]:!!r.cssClass}},t("div",{class:"data-grid-toolbar-left"},"toolbar"===this.searchPanelPosition&&this.renderSearchPanel(),this.renderToolbarItems(r.leftItems||[]),t("slot",{name:"toolbar-left"})),t("div",{class:"data-grid-toolbar-center"},this.renderToolbarItems(r.centerItems||[]),t("slot",{name:"toolbar-center"})),t("div",{class:"data-grid-toolbar-right"},t("slot",{name:"toolbar-right"}),this.renderToolbarItems(r.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 r=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":!r},disabled:!r,onClick:()=>this.handleClearFilters(),title:this.resolvedLabels.clearAllFilters},t("span",{class:"material-symbols-outlined"},"filter_alt_off"))}renderClearSelectionButton(){const r=this.selectedRowIds&&this.selectedRowIds.length>0;return t("button",{class:{"data-grid-toolbar-btn":!0,"data-grid-toolbar-btn-disabled":!r},disabled:!r,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 r=this.exportFormats[0]||"csv";return t("button",{class:"data-grid-export-btn",onClick:()=>this.handleExportClick(r),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((r=>t("button",{class:"data-grid-export-option",key:r,onClick:()=>this.handleExportClick(r)},t("span",{class:"material-symbols-outlined"},this.getExportFormatIcon(r)),t("span",null,this.getExportFormatLabel(r)))))))}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((r=>{const e=kt(r),a=r.header,i="string"==typeof a?a:e,o=this.isColumnVisible(e);return t("label",{class:{"data-grid-column-chooser-item":!0,"data-grid-column-chooser-item-hidden":!o},key:e},t("bh-checkbox",{checked:o,onBhChange:()=>this.toggleColumnVisibility(e),size:"sm"}),t("span",{class:"data-grid-column-chooser-item-text"},i))})))))}renderHeader(){if(!this.table)return null;const r=this.table.getHeaderGroups();return t("thead",{class:{"data-grid-header":!0,"data-grid-header-sticky":this.stickyHeader}},r.map((r=>t("tr",{class:"data-grid-header-row",key:r.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"}),r.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 r=this.table?.getIsAllRowsSelected(),e=this.table?.getIsSomeRowsSelected();return t("th",{class:"data-grid-header-cell data-grid-cell-select",colSpan:1,role:"columnheader"},t("bh-checkbox",{checked:r,indeterminate:e&&!r,onBhChange:()=>this.table?.toggleAllRowsSelected(),size:"sm"}))}renderHeaderCell(r){if(r.isPlaceholder)return t("th",{class:"data-grid-header-cell",colSpan:1,key:r.id,role:"columnheader"});const e=r.column.id,a=r.column.getCanSort(),i=r.column.getIsSorted(),o=r.column.columnDef.meta,n=this.enableColumnResize&&!1!==o?.resizable,d=this.resizingColumnId===e,c=l(e,this.columnPinning),h="left"===c,u="right"===c,g=h||u,p=this.enableColumnReorder,v={"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":d,"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===e,"data-grid-header-cell-drag-over":this.dragOverColumnId===e,[`data-grid-cell-align-${o?.align||"left"}`]:!0},b=this.getColumnWidth(e,r.column.getSize()),m=b?{width:`${b}px`,minWidth:`${b}px`}:{};if(h){const t=this.table?.getColumn(e)?.getSize()??150;m.position="sticky",m.left=`${s(e,"left",this.columnPinning,this.columnSizes,t)}px`,m.zIndex="11"}else if(u){const t=this.table?.getColumn(e)?.getSize()??150;m.position="sticky",m.right=`${s(e,"right",this.columnPinning,this.columnSizes,t)}px`,m.zIndex="11"}return t("th",{"aria-sort":"asc"===i?"ascending":"desc"===i?"descending":"none",class:v,colSpan:1,draggable:p,key:r.id,onClick:()=>a&&this.handleHeaderClick(r),onDragEnd:()=>this.handleColumnDragEnd(),onDragLeave:()=>this.handleColumnDragLeave(),onDragOver:t=>this.handleColumnDragOver(t,r),onDragStart:t=>this.handleColumnDragStart(t,r),onDrop:t=>this.handleColumnDrop(t,r),role:"columnheader",style:m},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(e,!1)},title:`Pinned ${c}`},"push_pin"),t("span",{class:"data-grid-header-text"},this.flexRender(r.column.columnDef.header,r.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===e,"aria-haspopup":"true",class:{"data-grid-header-filter-btn":!0,"data-grid-header-filter-btn-active":this.hasActiveHeaderFilter(e),"data-grid-header-filter-btn-open":this.headerFilterOpenColumnId===e},onClick:t=>{t.stopPropagation(),this.toggleHeaderFilter(e)},title:this.resolvedLabels.filter},t("span",{class:"material-symbols-outlined"},"filter_alt"))),this.enableHeaderFilter&&this.headerFilterOpenColumnId===e&&this.renderHeaderFilterDropdown(e),n&&t("div",{class:{"data-grid-resize-handle":!0,"data-grid-resize-handle-active":d},onClick:t=>t.stopPropagation(),onMouseDown:t=>this.handleResizeMouseDown(t,r)}))}renderFilterRow(){if(!this.table)return null;const r=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"}),r.map((r=>{const e=r.column.getCanFilter(),a=r.column.columnDef.meta;if(!e||!1===a?.filterable)return t("div",{class:"data-grid-filter-cell",key:r.id,role:"cell"});const i=r.column.getFilterValue()??"";return t("td",{class:"data-grid-filter-cell",key:r.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(r.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(r){const e=this.getFilteredHeaderFilterValues(r),a=this.getHeaderFilterSelectedValues(r),i=e.length>0&&e.every((t=>this.isHeaderFilterValueSelected(r,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(r)},"Select All"),t("button",{class:"data-grid-header-filter-action",disabled:0===a.length,onClick:()=>this.clearHeaderFilterValues(r)},"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(r):this.selectAllHeaderFilterValues(r)},size:"sm"}),t("span",{class:"data-grid-header-filter-item-text"},"(Select All)")),0===e.length?t("div",{class:"data-grid-header-filter-empty"},"No values found"):e.map((e=>{const a=this.isHeaderFilterValueSelected(r,e.value);return t("label",{class:{"data-grid-header-filter-item":!0,"data-grid-header-filter-item-selected":a},key:String(e.value)},t("bh-checkbox",{checked:a,onBhChange:()=>this.toggleHeaderFilterValue(r,e.value),size:"sm"}),t("span",{class:"data-grid-header-filter-item-text"},e.text),t("span",{class:"data-grid-header-filter-item-count"},"(",e.count,")"))}))))}renderBody(){if(!this.table)return null;if(this.loading&&"skeleton"===this.loadingType)return this.renderSkeleton();const r=this.table.getRowModel().rows;if(0===r.length)return this.renderEmptyState();if(this.enableVirtualScrolling){const{visibleRows:r,totalHeight:e,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()})),r.map((t=>t.getIsGrouped()?this.renderGroupRow(t):this.renderDataRow(t))),t("tr",{"aria-hidden":"true",class:"data-grid-virtual-spacer",style:{height:e-a-r.length*this.estimatedRowHeight+"px"}},t("td",{colSpan:this.getColumnCount()})))}return t("tbody",{class:"data-grid-body",role:"rowgroup"},r.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(r){const e=r.getIsSelected(),a=r.getIsExpanded(),i=this.editingRowId===r.id,o=r.id,n=this.draggingRowId===o,l=this.dragOverRowId===o,s=this.isRowDraggable(r.original),d=this.enableFocusTracking&&this.getEffectiveFocusedRowId()===o;return[t("tr",{"aria-selected":e?"true":"false",class:{"data-grid-row":!0,"data-grid-row-selected":e,"data-grid-row-expanded":a,"data-grid-row-editing":i,"data-grid-row-hover":this.hoveredRowId===r.id,"data-grid-row-striped":this.striped&&r.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:r.id,onClick:()=>this.handleRowClick(r),onContextMenu:t=>{this.enableContextMenu&&this.handleContextMenu(t,r.original,o,r.index,null,null)},onDragEnd:t=>this.handleRowDragEnd(t),onDragLeave:t=>this.handleRowDragLeave(t),onDragOver:t=>this.handleRowDragOver(t,r.original,o),onDragStart:t=>this.handleRowDragStart(t,r.original,o,r.index),onDrop:t=>this.handleRowDrop(t,r.original,o),onFocus:()=>{this.enableFocusTracking&&this.handleRowFocus(r.original,o,r.index)},onKeyDown:t=>{this.enableFocusTracking&&this.enableKeyboardNavigation&&this.handleKeyboardNavigation(t,o,r.index)},onMouseEnter:()=>{this.hoveredRowId=r.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(r),(this.enableExpansion||this.enableMasterDetail)&&!this.enableGrouping&&t("td",{class:"data-grid-cell data-grid-cell-expand",onClick:t=>{t.stopPropagation()},role:"cell"},this.canRowExpand(r)&&t("button",{"aria-label":a?this.resolvedLabels.collapseRow:this.resolvedLabels.expandRow,class:"data-grid-expand-btn",onClick:()=>this.handleRowExpand(r)},t("span",{class:"material-symbols-outlined"},a?"expand_more":"chevron_right"))),r.getVisibleCells().map((t=>this.renderCell(r,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(r),size:"sm",title:this.resolvedLabels.edit}))),a&&(this.enableExpansion||this.enableMasterDetail)&&!this.enableGrouping&&this.renderExpandedContent(r)]}renderExpandedContent(r){const e=this.getColumnCount();if(this.enableMasterDetail&&this.masterDetailConfig?.render){const a=this.masterDetailConfig.render(r.original,r.index);return t("tr",{class:"data-grid-row-expansion data-grid-master-detail",key:`${r.id}-detail`},t("td",{class:"data-grid-detail-cell",colSpan:e},"string"==typeof a?t("div",{innerHTML:z(a)}):a))}return t("tr",{class:"data-grid-row-expansion",key:`${r.id}-expansion`},t("td",{colSpan:e},t("slot",{name:"expanded-row"})))}renderSelectionCell(r){if("none"===this.selectionMode||"single-click"===this.selectionMode||"multiple-click"===this.selectionMode)return null;const e=r.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(),r.toggleSelected(!0)},selected:e}):t("bh-checkbox",{checked:e,onBhChange:()=>r.toggleSelected(),size:"sm"}))}renderCell(r,e){const a=e.column.columnDef.meta,i=e.column.id,o=this.isEditing(r.id,i),n=this.enableEditing&&!1!==a?.editable,d=!!this.validationErrors[i],c=r.id,h=l(i,this.columnPinning),u="left"===h,g="right"===h,p=u||g,v=this.getEffectiveFocusedCell(),b=this.enableFocusTracking&&v?.rowId===c&&v?.columnId===i,m={"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":d,"data-grid-cell-pinned":p,"data-grid-cell-pinned-left":u,"data-grid-cell-pinned-right":g,"data-grid-cell-focused":b},f=this.getColumnWidth(i,e.column.getSize()),w=f?{width:`${f}px`,minWidth:`${f}px`}:{};if(u){const t=e.column.getSize()??150;w.position="sticky",w.left=`${s(i,"left",this.columnPinning,this.columnSizes,t)}px`,w.zIndex="1"}else if(g){const t=e.column.getSize()??150;w.position="sticky",w.right=`${s(i,"right",this.columnPinning,this.columnSizes,t)}px`,w.zIndex="1"}return t("td",{class:m,"data-column-id":i,key:e.id,onClick:t=>{t.stopPropagation(),this.handleCellClick(r,e)},onDblClick:t=>{t.stopPropagation(),this.handleCellDoubleClick(r,e)},onFocus:t=>{this.enableFocusTracking&&(t.stopPropagation(),this.handleCellFocus(r.original,c,r.index,i,e.getValue()))},onKeyDown:t=>{this.enableFocusTracking&&this.enableKeyboardNavigation&&this.handleKeyboardNavigation(t,c,r.index,i)},role:"cell",style:w,tabIndex:this.enableFocusTracking?-1:void 0},o?this.renderEditInput(e):this.renderCellContent(e,c),d&&t("span",{class:"data-grid-cell-error-text"},this.validationErrors[i]))}renderCellContent(t,r){const e=this.flexRender(t.column.columnDef.cell,t.getContext());if(null!=e&&e!==t.getValue())return e;const a=this.formatCellValue(t.getValue(),t.column.columnDef.meta);if(this.enableSearchPanel&&this.highlightSearchResults&&r&&this.searchPanelText.trim()){const e=this.getCellSearchMatches(r,t.column.id);if(e.length>0)return this.highlightSearchText(a,e)}return a}renderEditInput(r){const e=r.column.id,a=r.column.columnDef.meta,i=this.editingValues[e]??r.getValue(),o="number"===a?.type?"number":"date"===a?.type?"date":"boolean"===a?.type?"checkbox":"text";return"boolean"===a?.type?t("bh-checkbox",{checked:Boolean(i),onBhChange:t=>this.handleEditValueChange(e,t.detail.checked),size:"sm"}):t("input",{class:"data-grid-edit-input",onInput:t=>{const r=t.target,i="number"===a?.type?Number(r.value):r.value;this.handleEditValueChange(e,i)},onKeyDown:t=>this.handleEditKeyDown(t,e),ref:t=>{t&&(this.pendingFocusRafId=requestAnimationFrame((()=>{this.pendingFocusRafId=void 0,t.focus()})))},type:o,value:null==i?"":String(i)})}renderGroupRow(r){const e=r.getIsExpanded(),a=r.groupingColumnId,i=r.groupingValue,o=r.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":e},d=this.getColumnCount(),c="multiple-checkbox"===this.selectionMode,h=Math.max(1,c?d-1:d);return[t("tr",{"aria-expanded":e?"true":"false",class:s,key:r.id,onClick:()=>this.handleGroupToggle(r),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":e?this.resolvedLabels.collapseGroup:this.resolvedLabels.expandGroup,class:"data-grid-group-toggle"},t("span",{class:"material-symbols-outlined"},e?"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"},String(i))),t("span",{class:"data-grid-group-count"},"(",o.length," ",1===o.length?"item":"items",")"))),e&&r.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 r=Array.from({length:this.skeletonRowCount},((t,r)=>r)),e=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"},r.map((r=>t("tr",{class:"data-grid-row data-grid-row-skeleton",key:r},Array.from({length:e},((r,e)=>t("td",{class:"data-grid-cell",key:e},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 r=this.formEditConfig||{},e=this.formEditIsNew?r.addTitle||this.resolvedLabels.addNewRow:r.editTitle||this.resolvedLabels.editRow,a=r.modalWidth||"md",i=r.fields||this.columns.map((t=>{const r=kt(t),e=t.meta;return{columnId:r,label:"string"==typeof t.header?t.header:r,inputType:"number"===e?.type?"number":"date"===e?.type?"date":"text",required:!1,disabled:!1===e?.editable,readOnly:!1===e?.editable}})),o=r.formRenderer&&this.formEditRowData?r.formRenderer(this.formEditRowData,this.formEditIsNew):void 0;return t("bh-modal",{ariaLabel:e,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"},e),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?z(o):void 0},"string"==typeof o?null:o)),!1!==r.showFooter&&t("div",{class:"data-grid-form-edit-footer",slot:"actions"},t("bh-button",{hierarchy:"secondary",onClick:()=>this.closeFormEditModal()},r.cancelButtonText||this.resolvedLabels.cancel),t("bh-button",{hierarchy:"primary",onClick:()=>this.saveFormEdit()},r.saveButtonText||this.resolvedLabels.save)))}renderFormField(r){const e=this.formEditValues[r.columnId],a=this.formEditErrors[r.columnId];return t("div",{class:{"data-grid-form-field":!0,"data-grid-form-field-error":!!a,"data-grid-form-field-required":!!r.required},key:r.columnId},t("label",{class:"data-grid-form-label"},r.label||r.columnId,r.required&&t("span",{class:"data-grid-form-required"},"*")),this.renderFormInput(r,e),a&&t("span",{class:"data-grid-form-error"},a))}renderFormInput(r,e){switch(r.inputType||"text"){case"select":return t("select",{class:"data-grid-form-input data-grid-form-select",disabled:r.disabled,onChange:t=>this.handleFormFieldChange(r.columnId,t.target.value)},t("option",{selected:!e,value:""},r.placeholder||this.resolvedLabels.selectPlaceholder),r.options?.map((r=>t("option",{key:r.value,selected:e===r.value,value:r.value},r.label))));case"textarea":return t("textarea",{class:"data-grid-form-input data-grid-form-textarea",disabled:r.disabled,onInput:t=>this.handleFormFieldChange(r.columnId,t.target.value),placeholder:r.placeholder,readOnly:r.readOnly,value:e});case"checkbox":return t("input",{checked:!!e,class:"data-grid-form-checkbox",disabled:r.disabled,onChange:t=>this.handleFormFieldChange(r.columnId,t.target.checked),type:"checkbox"});case"number":return t("input",{class:"data-grid-form-input",disabled:r.disabled,onInput:t=>this.handleFormFieldChange(r.columnId,Number.parseFloat(t.target.value)||0),placeholder:r.placeholder,readOnly:r.readOnly,type:"number",value:e});case"date":return t("input",{class:"data-grid-form-input",disabled:r.disabled,onInput:t=>this.handleFormFieldChange(r.columnId,t.target.value),readOnly:r.readOnly,type:"date",value:e});default:return t("input",{class:"data-grid-form-input",disabled:r.disabled,onInput:t=>this.handleFormFieldChange(r.columnId,t.target.value),placeholder:r.placeholder,readOnly:r.readOnly,type:"text",value:e})}}renderTotalSummary(){if(!this.enableTotalSummary||!this.totalSummary?.items?.length)return null;const r=this.table?.getFilteredRowModel().rows.map((t=>t.original))??[],e=new Map;for(const t of this.totalSummary.items){const r=e.get(t.columnId)||[];e.set(t.columnId,[...r,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=kt(a),o=e.get(i);return o&&0!==o.length?t("td",{class:"data-grid-summary-cell",key:i,role:"cell"},o.map(((e,a)=>{const i=this.calculateSummaryValue(e,r),o=this.formatSummaryValue(e,i),n=this.getSummaryLabel(e);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(r){if(!r.enablePagination||!r.table)return null;const e=r.table.getFilteredRowModel().rows.length;return t("bh-pagination",{compact:!0,onBhPageChange:r.onPaginationChange,onBhPageSizeChange:r.onPaginationChange,page:r.page,pageSize:r.pageSize,pageSizeOptions:r.pageSizeOptions,showItemCount:!1,totalItems:e})}({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=x.startTimer(y.COMPONENT_RENDER,{component:"bh-data-grid",row_count:String(this.data?.length??0),column_count:String(this.columns?.length??0),has_pagination:String(this.enablePagination),has_virtual_scroll:String(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 r={"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},e={};this.enableVirtualScrolling?(e.height=`${this.virtualScrollHeight}px`,e.overflowY="auto"):this.maxHeight&&(e.maxHeight=this.maxHeight,e.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:r,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:e},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}]}}};St.style='@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}';export{St as bh_data_grid}
|
|
11
|
+
*/function S(t,r){return"function"==typeof t?t(r):t}function I(t,r){return e=>{r.setState((r=>({...r,[t]:S(e,r[t])})))}}function R(t){return t instanceof Function}function D(t,r){const e=[],a=t=>{t.forEach((t=>{e.push(t);const i=r(t);null!=i&&i.length&&a(i)}))};return a(t),e}function F(t,r,e){let a,i=[];return o=>{let n;e.key&&e.debug&&(n=Date.now());const l=t(o);if(l.length===i.length&&!l.some(((t,r)=>i[r]!==t)))return a;let s;if(i=l,e.key&&e.debug&&(s=Date.now()),a=r(...l),null==e||null==e.onChange||e.onChange(a),e.key&&e.debug&&null!=e&&e.debug()){const t=Math.round(100*(Date.now()-n))/100,r=Math.round(100*(Date.now()-s))/100,a=r/16,i=(t,r)=>{for(t=String(t);t.length<r;)t=" "+t;return t};console.info(`%c⏱ ${i(r,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==e?void 0:e.key)}return a}}function E(t,r,e,a){return{debug:()=>{var e;return null!=(e=null==t?void 0:t.debugAll)?e:t[r]},key:!1,onChange:a}}const O="debugHeaders";function M(t,r,e){var a;let i={id:null!=(a=e.id)?a:r.id,column:r,index:e.index,isPlaceholder:!!e.isPlaceholder,placeholderId:e.placeholderId,depth:e.depth,subHeaders:[],colSpan:0,rowSpan:0,headerGroup:null,getLeafHeaders:()=>{const t=[],r=e=>{e.subHeaders&&e.subHeaders.length&&e.subHeaders.map(r),t.push(e)};return r(i),t},getContext:()=>({table:t,header:i,column:r})};return t._features.forEach((r=>{null==r.createHeader||r.createHeader(i,t)})),i}const j={createTable:t=>{t.getHeaderGroups=F((()=>[t.getAllColumns(),t.getVisibleLeafColumns(),t.getState().columnPinning.left,t.getState().columnPinning.right]),((r,e,a,i)=>{var o,n;const l=null!=(o=null==a?void 0:a.map((t=>e.find((r=>r.id===t)))).filter(Boolean))?o:[],s=null!=(n=null==i?void 0:i.map((t=>e.find((r=>r.id===t)))).filter(Boolean))?n:[];return B(r,[...l,...e.filter((t=>!(null!=a&&a.includes(t.id)||null!=i&&i.includes(t.id)))),...s],t)}),E(t.options,O)),t.getCenterHeaderGroups=F((()=>[t.getAllColumns(),t.getVisibleLeafColumns(),t.getState().columnPinning.left,t.getState().columnPinning.right]),((r,e,a,i)=>B(r,e=e.filter((t=>!(null!=a&&a.includes(t.id)||null!=i&&i.includes(t.id)))),t,"center")),E(t.options,O)),t.getLeftHeaderGroups=F((()=>[t.getAllColumns(),t.getVisibleLeafColumns(),t.getState().columnPinning.left]),((r,e,a)=>{var i;return B(r,null!=(i=null==a?void 0:a.map((t=>e.find((r=>r.id===t)))).filter(Boolean))?i:[],t,"left")}),E(t.options,O)),t.getRightHeaderGroups=F((()=>[t.getAllColumns(),t.getVisibleLeafColumns(),t.getState().columnPinning.right]),((r,e,a)=>{var i;return B(r,null!=(i=null==a?void 0:a.map((t=>e.find((r=>r.id===t)))).filter(Boolean))?i:[],t,"right")}),E(t.options,O)),t.getFooterGroups=F((()=>[t.getHeaderGroups()]),(t=>[...t].reverse()),E(t.options,O)),t.getLeftFooterGroups=F((()=>[t.getLeftHeaderGroups()]),(t=>[...t].reverse()),E(t.options,O)),t.getCenterFooterGroups=F((()=>[t.getCenterHeaderGroups()]),(t=>[...t].reverse()),E(t.options,O)),t.getRightFooterGroups=F((()=>[t.getRightHeaderGroups()]),(t=>[...t].reverse()),E(t.options,O)),t.getFlatHeaders=F((()=>[t.getHeaderGroups()]),(t=>t.map((t=>t.headers)).flat()),E(t.options,O)),t.getLeftFlatHeaders=F((()=>[t.getLeftHeaderGroups()]),(t=>t.map((t=>t.headers)).flat()),E(t.options,O)),t.getCenterFlatHeaders=F((()=>[t.getCenterHeaderGroups()]),(t=>t.map((t=>t.headers)).flat()),E(t.options,O)),t.getRightFlatHeaders=F((()=>[t.getRightHeaderGroups()]),(t=>t.map((t=>t.headers)).flat()),E(t.options,O)),t.getCenterLeafHeaders=F((()=>[t.getCenterFlatHeaders()]),(t=>t.filter((t=>{var r;return!(null!=(r=t.subHeaders)&&r.length)}))),E(t.options,O)),t.getLeftLeafHeaders=F((()=>[t.getLeftFlatHeaders()]),(t=>t.filter((t=>{var r;return!(null!=(r=t.subHeaders)&&r.length)}))),E(t.options,O)),t.getRightLeafHeaders=F((()=>[t.getRightFlatHeaders()]),(t=>t.filter((t=>{var r;return!(null!=(r=t.subHeaders)&&r.length)}))),E(t.options,O)),t.getLeafHeaders=F((()=>[t.getLeftHeaderGroups(),t.getCenterHeaderGroups(),t.getRightHeaderGroups()]),((t,r,e)=>{var a,i,o,n,l,s;return[...null!=(a=null==(i=t[0])?void 0:i.headers)?a:[],...null!=(o=null==(n=r[0])?void 0:n.headers)?o:[],...null!=(l=null==(s=e[0])?void 0:s.headers)?l:[]].map((t=>t.getLeafHeaders())).flat()}),E(t.options,O))}};function B(t,r,e,a){var i,o;let n=0;const l=function(t,r){void 0===r&&(r=1),n=Math.max(n,r),t.filter((t=>t.getIsVisible())).forEach((t=>{var e;null!=(e=t.columns)&&e.length&&l(t.columns,r+1)}),0)};l(t);let s=[];const d=(t,r)=>{const i={depth:r,id:[a,`${r}`].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=M(e,l,{id:[a,r,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:r,index:o.length});i.subHeaders.push(t),o.push(i)}i.headers.push(t),t.headerGroup=i})),s.push(i),r>0&&d(o,r-1)},c=r.map(((t,r)=>M(e,t,{depth:n,index:r})));d(c,n-1),s.reverse();const h=t=>t.filter((t=>t.column.getIsVisible())).map((t=>{let r=0,e=0,a=[0];return t.subHeaders&&t.subHeaders.length?(a=[],h(t.subHeaders).forEach((t=>{let{colSpan:e,rowSpan:i}=t;r+=e,a.push(i)}))):r=1,e+=Math.min(...a),t.colSpan=r,t.rowSpan=e,{colSpan:r,rowSpan:e}}));return h(null!=(i=null==(o=s[0])?void 0:o.headers)?i:[]),s}const _=(t,r,e,a,i,o,n)=>{let l={id:r,index:a,original:e,depth:i,parentId:n,_valuesCache:{},_uniqueValuesCache:{},getValue:r=>{if(l._valuesCache.hasOwnProperty(r))return l._valuesCache[r];const e=t.getColumn(r);return null!=e&&e.accessorFn?(l._valuesCache[r]=e.accessorFn(l.original,a),l._valuesCache[r]):void 0},getUniqueValues:r=>{if(l._uniqueValuesCache.hasOwnProperty(r))return l._uniqueValuesCache[r];const e=t.getColumn(r);return null!=e&&e.accessorFn?e.columnDef.getUniqueValues?(l._uniqueValuesCache[r]=e.columnDef.getUniqueValues(l.original,a),l._uniqueValuesCache[r]):(l._uniqueValuesCache[r]=[l.getValue(r)],l._uniqueValuesCache[r]):void 0},renderValue:r=>{var e;return null!=(e=l.getValue(r))?e:t.options.renderFallbackValue},subRows:null!=o?o:[],getLeafRows:()=>D(l.subRows,(t=>t.subRows)),getParentRow:()=>l.parentId?t.getRow(l.parentId,!0):void 0,getParentRows:()=>{let t=[],r=l;for(;;){const e=r.getParentRow();if(!e)break;t.push(e),r=e}return t.reverse()},getAllCells:F((()=>[t.getAllLeafColumns()]),(r=>r.map((r=>function(t,r,e,a){const i={id:`${r.id}_${e.id}`,row:r,column:e,getValue:()=>r.getValue(a),renderValue:()=>{var r;return null!=(r=i.getValue())?r:t.options.renderFallbackValue},getContext:F((()=>[t,e,r,i]),((t,r,e,a)=>({table:t,column:r,row:e,cell:a,getValue:a.getValue,renderValue:a.renderValue})),E(t.options,"debugCells"))};return t._features.forEach((a=>{null==a.createCell||a.createCell(i,e,r,t)}),{}),i}(t,l,r,r.id)))),E(t.options,"debugRows")),_getAllCellsByColumnId:F((()=>[l.getAllCells()]),(t=>t.reduce(((t,r)=>(t[r.column.id]=r,t)),{})),E(t.options,"debugRows"))};for(let r=0;r<t._features.length;r++){const e=t._features[r];null==e||null==e.createRow||e.createRow(l,t)}return l},P={createColumn:(t,r)=>{t._getFacetedRowModel=r.options.getFacetedRowModel&&r.options.getFacetedRowModel(r,t.id),t.getFacetedRowModel=()=>t._getFacetedRowModel?t._getFacetedRowModel():r.getPreFilteredRowModel(),t._getFacetedUniqueValues=r.options.getFacetedUniqueValues&&r.options.getFacetedUniqueValues(r,t.id),t.getFacetedUniqueValues=()=>t._getFacetedUniqueValues?t._getFacetedUniqueValues():new Map,t._getFacetedMinMaxValues=r.options.getFacetedMinMaxValues&&r.options.getFacetedMinMaxValues(r,t.id),t.getFacetedMinMaxValues=()=>{if(t._getFacetedMinMaxValues)return t._getFacetedMinMaxValues()}}},T=(t,r,e)=>{var a,i;const o=null==e||null==(a=e.toString())?void 0:a.toLowerCase();return Boolean(null==(i=t.getValue(r))||null==(i=i.toString())||null==(i=i.toLowerCase())?void 0:i.includes(o))};T.autoRemove=t=>U(t);const N=(t,r,e)=>{var a;return Boolean(null==(a=t.getValue(r))||null==(a=a.toString())?void 0:a.includes(e))};N.autoRemove=t=>U(t);const V=(t,r,e)=>{var a;return(null==(a=t.getValue(r))||null==(a=a.toString())?void 0:a.toLowerCase())===(null==e?void 0:e.toLowerCase())};V.autoRemove=t=>U(t);const $=(t,r,e)=>{var a;return null==(a=t.getValue(r))?void 0:a.includes(e)};$.autoRemove=t=>U(t);const A=(t,r,e)=>!e.some((e=>{var a;return!(null!=(a=t.getValue(r))&&a.includes(e))}));A.autoRemove=t=>U(t)||!(null!=t&&t.length);const H=(t,r,e)=>e.some((e=>{var a;return null==(a=t.getValue(r))?void 0:a.includes(e)}));H.autoRemove=t=>U(t)||!(null!=t&&t.length);const L=(t,r,e)=>t.getValue(r)===e;L.autoRemove=t=>U(t);const q=(t,r,e)=>t.getValue(r)==e;q.autoRemove=t=>U(t);const K=(t,r,e)=>{let[a,i]=e;const o=t.getValue(r);return o>=a&&o<=i};K.resolveFilterValue=t=>{let[r,e]=t,a="number"!=typeof r?parseFloat(r):r,i="number"!=typeof e?parseFloat(e):e,o=null===r||Number.isNaN(a)?-1/0:a,n=null===e||Number.isNaN(i)?1/0:i;if(o>n){const t=o;o=n,n=t}return[o,n]},K.autoRemove=t=>U(t)||U(t[0])&&U(t[1]);const G={includesString:T,includesStringSensitive:N,equalsString:V,arrIncludes:$,arrIncludesAll:A,arrIncludesSome:H,equals:L,weakEquals:q,inNumberRange:K};function U(t){return null==t||""===t}function W(t,r,e){return!(!t||!t.autoRemove)&&t.autoRemove(r,e)||void 0===r||"string"==typeof r&&!r}const J={sum:(t,r,e)=>e.reduce(((r,e)=>{const a=e.getValue(t);return r+("number"==typeof a?a:0)}),0),min:(t,r,e)=>{let a;return e.forEach((r=>{const e=r.getValue(t);null!=e&&(a>e||void 0===a&&e>=e)&&(a=e)})),a},max:(t,r,e)=>{let a;return e.forEach((r=>{const e=r.getValue(t);null!=e&&(a<e||void 0===a&&e>=e)&&(a=e)})),a},extent:(t,r,e)=>{let a,i;return e.forEach((r=>{const e=r.getValue(t);null!=e&&(void 0===a?e>=e&&(a=i=e):(a>e&&(a=e),i<e&&(i=e)))})),[a,i]},mean:(t,r)=>{let e=0,a=0;if(r.forEach((r=>{let i=r.getValue(t);null!=i&&(i=+i)>=i&&(++e,a+=i)})),e)return a/e},median:(t,r)=>{if(!r.length)return;const e=r.map((r=>r.getValue(t)));if(a=e,!Array.isArray(a)||!a.every((t=>"number"==typeof t)))return;var a;if(1===e.length)return e[0];const i=Math.floor(e.length/2),o=e.sort(((t,r)=>t-r));return e.length%2!=0?o[i]:(o[i-1]+o[i])/2},unique:(t,r)=>Array.from(new Set(r.map((r=>r.getValue(t)))).values()),uniqueCount:(t,r)=>new Set(r.map((r=>r.getValue(t)))).size,count:(t,r)=>r.length},X={size:150,minSize:20,maxSize:Number.MAX_SAFE_INTEGER},Y={getDefaultColumnDef:()=>X,getInitialState:t=>({columnSizing:{},columnSizingInfo:{startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]},...t}),getDefaultOptions:t=>({columnResizeMode:"onEnd",columnResizeDirection:"ltr",onColumnSizingChange:I("columnSizing",t),onColumnSizingInfoChange:I("columnSizingInfo",t)}),createColumn:(t,r)=>{t.getSize=()=>{var e,a,i;const o=r.getState().columnSizing[t.id];return Math.min(Math.max(null!=(e=t.columnDef.minSize)?e:X.minSize,null!=(a=null!=o?o:t.columnDef.size)?a:X.size),null!=(i=t.columnDef.maxSize)?i:X.maxSize)},t.getStart=F((t=>[t,tt(r,t),r.getState().columnSizing]),((r,e)=>e.slice(0,t.getIndex(r)).reduce(((t,r)=>t+r.getSize()),0)),E(r.options,"debugColumns")),t.getAfter=F((t=>[t,tt(r,t),r.getState().columnSizing]),((r,e)=>e.slice(t.getIndex(r)+1).reduce(((t,r)=>t+r.getSize()),0)),E(r.options,"debugColumns")),t.resetSize=()=>{r.setColumnSizing((r=>{let{[t.id]:e,...a}=r;return a}))},t.getCanResize=()=>{var e,a;return(null==(e=t.columnDef.enableResizing)||e)&&(null==(a=r.options.enableColumnResizing)||a)},t.getIsResizing=()=>r.getState().columnSizingInfo.isResizingColumn===t.id},createHeader:(t,r)=>{t.getSize=()=>{let r=0;const e=t=>{var a;t.subHeaders.length?t.subHeaders.forEach(e):r+=null!=(a=t.column.getSize())?a:0};return e(t),r},t.getStart=()=>{if(t.index>0){const r=t.headerGroup.headers[t.index-1];return r.getStart()+r.getSize()}return 0},t.getResizeHandler=e=>{const a=r.getColumn(t.column.id),i=null==a?void 0:a.getCanResize();return o=>{if(!a||!i)return;if(null==o.persist||o.persist(),Z(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=Z(o)?Math.round(o.touches[0].clientX):o.clientX,d={},c=(t,e)=>{"number"==typeof e&&(r.setColumnSizingInfo((t=>{var a,i;const o=(e-(null!=(a=null==t?void 0:t.startOffset)?a:0))*("rtl"===r.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[r,e]=t;d[r]=Math.round(100*Math.max(e+e*n,0))/100})),{...t,deltaOffset:o,deltaPercentage:n}})),"onChange"!==r.options.columnResizeMode&&"end"!==t||r.setColumnSizing((t=>({...t,...d}))))},h=t=>c("move",t),u=t=>{c("end",t),r.setColumnSizingInfo((t=>({...t,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]})))},g=e||("undefined"!=typeof document?document:null),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)}},v={moveHandler:t=>(t.cancelable&&(t.preventDefault(),t.stopPropagation()),h(t.touches[0].clientX),!1),upHandler:t=>{var r;null==g||g.removeEventListener("touchmove",v.moveHandler),null==g||g.removeEventListener("touchend",v.upHandler),t.cancelable&&(t.preventDefault(),t.stopPropagation()),u(null==(r=t.touches[0])?void 0:r.clientX)}},b=!!function(){if("boolean"==typeof Q)return Q;let t=!1;try{const r=()=>{};window.addEventListener("test",r,{get passive(){return t=!0,!1}}),window.removeEventListener("test",r)}catch(r){t=!1}return Q=t,Q}()&&{passive:!1};Z(o)?(null==g||g.addEventListener("touchmove",v.moveHandler,b),null==g||g.addEventListener("touchend",v.upHandler,b)):(null==g||g.addEventListener("mousemove",p.moveHandler,b),null==g||g.addEventListener("mouseup",p.upHandler,b)),r.setColumnSizingInfo((t=>({...t,startOffset:s,startSize:n,deltaOffset:0,deltaPercentage:0,columnSizingStart:l,isResizingColumn:a.id})))}}},createTable:t=>{t.setColumnSizing=r=>null==t.options.onColumnSizingChange?void 0:t.options.onColumnSizingChange(r),t.setColumnSizingInfo=r=>null==t.options.onColumnSizingInfoChange?void 0:t.options.onColumnSizingInfoChange(r),t.resetColumnSizing=r=>{var e;t.setColumnSizing(r?{}:null!=(e=t.initialState.columnSizing)?e:{})},t.resetHeaderSizeInfo=r=>{var e;t.setColumnSizingInfo(r?{startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}:null!=(e=t.initialState.columnSizingInfo)?e:{startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]})},t.getTotalSize=()=>{var r,e;return null!=(r=null==(e=t.getHeaderGroups()[0])?void 0:e.headers.reduce(((t,r)=>t+r.getSize()),0))?r:0},t.getLeftTotalSize=()=>{var r,e;return null!=(r=null==(e=t.getLeftHeaderGroups()[0])?void 0:e.headers.reduce(((t,r)=>t+r.getSize()),0))?r:0},t.getCenterTotalSize=()=>{var r,e;return null!=(r=null==(e=t.getCenterHeaderGroups()[0])?void 0:e.headers.reduce(((t,r)=>t+r.getSize()),0))?r:0},t.getRightTotalSize=()=>{var r,e;return null!=(r=null==(e=t.getRightHeaderGroups()[0])?void 0:e.headers.reduce(((t,r)=>t+r.getSize()),0))?r:0}}};let Q=null;function Z(t){return"touchstart"===t.type}function tt(t,r){return r?"center"===r?t.getCenterVisibleLeafColumns():"left"===r?t.getLeftVisibleLeafColumns():t.getRightVisibleLeafColumns():t.getVisibleLeafColumns()}const rt={getInitialState:t=>({rowSelection:{},...t}),getDefaultOptions:t=>({onRowSelectionChange:I("rowSelection",t),enableRowSelection:!0,enableMultiRowSelection:!0,enableSubRowSelection:!0}),createTable:t=>{t.setRowSelection=r=>null==t.options.onRowSelectionChange?void 0:t.options.onRowSelectionChange(r),t.resetRowSelection=r=>{var e;return t.setRowSelection(r?{}:null!=(e=t.initialState.rowSelection)?e:{})},t.toggleAllRowsSelected=r=>{t.setRowSelection((e=>{r=void 0!==r?r:!t.getIsAllRowsSelected();const a={...e};return t.getPreGroupedRowModel().flatRows.forEach(r?t=>{t.getCanSelect()&&(a[t.id]=!0)}:t=>{delete a[t.id]}),a}))},t.toggleAllPageRowsSelected=r=>t.setRowSelection((e=>{const a=void 0!==r?r:!t.getIsAllPageRowsSelected(),i={...e};return t.getRowModel().rows.forEach((r=>{et(i,r.id,a,!0,t)})),i})),t.getPreSelectedRowModel=()=>t.getCoreRowModel(),t.getSelectedRowModel=F((()=>[t.getState().rowSelection,t.getCoreRowModel()]),((r,e)=>Object.keys(r).length?at(t,e):{rows:[],flatRows:[],rowsById:{}}),E(t.options,"debugTable")),t.getFilteredSelectedRowModel=F((()=>[t.getState().rowSelection,t.getFilteredRowModel()]),((r,e)=>Object.keys(r).length?at(t,e):{rows:[],flatRows:[],rowsById:{}}),E(t.options,"debugTable")),t.getGroupedSelectedRowModel=F((()=>[t.getState().rowSelection,t.getSortedRowModel()]),((r,e)=>Object.keys(r).length?at(t,e):{rows:[],flatRows:[],rowsById:{}}),E(t.options,"debugTable")),t.getIsAllRowsSelected=()=>{const r=t.getFilteredRowModel().flatRows,{rowSelection:e}=t.getState();let a=Boolean(r.length&&Object.keys(e).length);return a&&r.some((t=>t.getCanSelect()&&!e[t.id]))&&(a=!1),a},t.getIsAllPageRowsSelected=()=>{const r=t.getPaginationRowModel().flatRows.filter((t=>t.getCanSelect())),{rowSelection:e}=t.getState();let a=!!r.length;return a&&r.some((t=>!e[t.id]))&&(a=!1),a},t.getIsSomeRowsSelected=()=>{var r;const e=Object.keys(null!=(r=t.getState().rowSelection)?r:{}).length;return e>0&&e<t.getFilteredRowModel().flatRows.length},t.getIsSomePageRowsSelected=()=>{const r=t.getPaginationRowModel().flatRows;return!t.getIsAllPageRowsSelected()&&r.filter((t=>t.getCanSelect())).some((t=>t.getIsSelected()||t.getIsSomeSelected()))},t.getToggleAllRowsSelectedHandler=()=>r=>{t.toggleAllRowsSelected(r.target.checked)},t.getToggleAllPageRowsSelectedHandler=()=>r=>{t.toggleAllPageRowsSelected(r.target.checked)}},createRow:(t,r)=>{t.toggleSelected=(e,a)=>{const i=t.getIsSelected();r.setRowSelection((o=>{var n;if(e=void 0!==e?e:!i,t.getCanSelect()&&i===e)return o;const l={...o};return et(l,t.id,e,null==(n=null==a?void 0:a.selectChildren)||n,r),l}))},t.getIsSelected=()=>{const{rowSelection:e}=r.getState();return it(t,e)},t.getIsSomeSelected=()=>{const{rowSelection:e}=r.getState();return"some"===ot(t,e)},t.getIsAllSubRowsSelected=()=>{const{rowSelection:e}=r.getState();return"all"===ot(t,e)},t.getCanSelect=()=>{var e;return"function"==typeof r.options.enableRowSelection?r.options.enableRowSelection(t):null==(e=r.options.enableRowSelection)||e},t.getCanSelectSubRows=()=>{var e;return"function"==typeof r.options.enableSubRowSelection?r.options.enableSubRowSelection(t):null==(e=r.options.enableSubRowSelection)||e},t.getCanMultiSelect=()=>{var e;return"function"==typeof r.options.enableMultiRowSelection?r.options.enableMultiRowSelection(t):null==(e=r.options.enableMultiRowSelection)||e},t.getToggleSelectedHandler=()=>{const r=t.getCanSelect();return e=>{var a;r&&t.toggleSelected(null==(a=e.target)?void 0:a.checked)}}}},et=(t,r,e,a,i)=>{var o;const n=i.getRow(r,!0);e?(n.getCanMultiSelect()||Object.keys(t).forEach((r=>delete t[r])),n.getCanSelect()&&(t[r]=!0)):delete t[r],a&&null!=(o=n.subRows)&&o.length&&n.getCanSelectSubRows()&&n.subRows.forEach((r=>et(t,r.id,e,a,i)))};function at(t,r){const e=t.getState().rowSelection,a=[],i={},o=function(t){return t.map((t=>{var r;const n=it(t,e);if(n&&(a.push(t),i[t.id]=t),null!=(r=t.subRows)&&r.length&&(t={...t,subRows:o(t.subRows)}),n)return t})).filter(Boolean)};return{rows:o(r.rows),flatRows:a,rowsById:i}}function it(t,r){var e;return null!=(e=r[t.id])&&e}function ot(t,r){var e;if(null==(e=t.subRows)||!e.length)return!1;let a=!0,i=!1;return t.subRows.forEach((t=>{if((!i||a)&&(t.getCanSelect()&&(it(t,r)?i=!0:a=!1),t.subRows&&t.subRows.length)){const e=ot(t,r);"all"===e?i=!0:"some"===e?(i=!0,a=!1):a=!1}})),a?"all":!!i&&"some"}const nt=/([0-9]+)/gm;function lt(t,r){return t===r?0:t>r?1:-1}function st(t){return"number"==typeof t?isNaN(t)||t===1/0||t===-1/0?"":String(t):"string"==typeof t?t:""}function dt(t,r){const e=t.split(nt).filter(Boolean),a=r.split(nt).filter(Boolean);for(;e.length&&a.length;){const t=e.shift(),r=a.shift(),i=parseInt(t,10),o=parseInt(r,10),n=[i,o].sort();if(isNaN(n[0])){if(t>r)return 1;if(r>t)return-1}else{if(isNaN(n[1]))return isNaN(i)?-1:1;if(i>o)return 1;if(o>i)return-1}}return e.length-a.length}const ct={alphanumeric:(t,r,e)=>dt(st(t.getValue(e)).toLowerCase(),st(r.getValue(e)).toLowerCase()),alphanumericCaseSensitive:(t,r,e)=>dt(st(t.getValue(e)),st(r.getValue(e))),text:(t,r,e)=>lt(st(t.getValue(e)).toLowerCase(),st(r.getValue(e)).toLowerCase()),textCaseSensitive:(t,r,e)=>lt(st(t.getValue(e)),st(r.getValue(e))),datetime:(t,r,e)=>{const a=t.getValue(e),i=r.getValue(e);return a>i?1:a<i?-1:0},basic:(t,r,e)=>lt(t.getValue(e),r.getValue(e))},ht=[j,{getInitialState:t=>({columnVisibility:{},...t}),getDefaultOptions:t=>({onColumnVisibilityChange:I("columnVisibility",t)}),createColumn:(t,r)=>{t.toggleVisibility=e=>{t.getCanHide()&&r.setColumnVisibility((r=>({...r,[t.id]:null!=e?e:!t.getIsVisible()})))},t.getIsVisible=()=>{var e,a;const i=t.columns;return null==(e=i.length?i.some((t=>t.getIsVisible())):null==(a=r.getState().columnVisibility)?void 0:a[t.id])||e},t.getCanHide=()=>{var e,a;return(null==(e=t.columnDef.enableHiding)||e)&&(null==(a=r.options.enableHiding)||a)},t.getToggleVisibilityHandler=()=>r=>{null==t.toggleVisibility||t.toggleVisibility(r.target.checked)}},createRow:(t,r)=>{t._getAllVisibleCells=F((()=>[t.getAllCells(),r.getState().columnVisibility]),(t=>t.filter((t=>t.column.getIsVisible()))),E(r.options,"debugRows")),t.getVisibleCells=F((()=>[t.getLeftVisibleCells(),t.getCenterVisibleCells(),t.getRightVisibleCells()]),((t,r,e)=>[...t,...r,...e]),E(r.options,"debugRows"))},createTable:t=>{const r=(r,e)=>F((()=>[e(),e().filter((t=>t.getIsVisible())).map((t=>t.id)).join("_")]),(t=>t.filter((t=>null==t.getIsVisible?void 0:t.getIsVisible()))),E(t.options,"debugColumns"));t.getVisibleFlatColumns=r(0,(()=>t.getAllFlatColumns())),t.getVisibleLeafColumns=r(0,(()=>t.getAllLeafColumns())),t.getLeftVisibleLeafColumns=r(0,(()=>t.getLeftLeafColumns())),t.getRightVisibleLeafColumns=r(0,(()=>t.getRightLeafColumns())),t.getCenterVisibleLeafColumns=r(0,(()=>t.getCenterLeafColumns())),t.setColumnVisibility=r=>null==t.options.onColumnVisibilityChange?void 0:t.options.onColumnVisibilityChange(r),t.resetColumnVisibility=r=>{var e;t.setColumnVisibility(r?{}:null!=(e=t.initialState.columnVisibility)?e:{})},t.toggleAllColumnsVisible=r=>{var e;r=null!=(e=r)?e:!t.getIsAllColumnsVisible(),t.setColumnVisibility(t.getAllLeafColumns().reduce(((t,e)=>({...t,[e.id]:r||!(null!=e.getCanHide&&e.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=()=>r=>{var e;t.toggleAllColumnsVisible(null==(e=r.target)?void 0:e.checked)}}},{getInitialState:t=>({columnOrder:[],...t}),getDefaultOptions:t=>({onColumnOrderChange:I("columnOrder",t)}),createColumn:(t,r)=>{t.getIndex=F((t=>[tt(r,t)]),(r=>r.findIndex((r=>r.id===t.id))),E(r.options,"debugColumns")),t.getIsFirstColumn=e=>{var a;return(null==(a=tt(r,e)[0])?void 0:a.id)===t.id},t.getIsLastColumn=e=>{var a;const i=tt(r,e);return(null==(a=i[i.length-1])?void 0:a.id)===t.id}},createTable:t=>{t.setColumnOrder=r=>null==t.options.onColumnOrderChange?void 0:t.options.onColumnOrderChange(r),t.resetColumnOrder=r=>{var e;t.setColumnOrder(r?[]:null!=(e=t.initialState.columnOrder)?e:[])},t._getOrderColumnsFn=F((()=>[t.getState().columnOrder,t.getState().grouping,t.options.groupedColumnMode]),((t,r,e)=>a=>{let i=[];if(null!=t&&t.length){const r=[...t],e=[...a];for(;e.length&&r.length;){const t=r.shift(),a=e.findIndex((r=>r.id===t));a>-1&&i.push(e.splice(a,1)[0])}i=[...i,...e]}else i=a;return function(t,r,e){if(null==r||!r.length||!e)return t;const a=t.filter((t=>!r.includes(t.id)));return"remove"===e?a:[...r.map((r=>t.find((t=>t.id===r)))).filter(Boolean),...a]}(i,r,e)}),E(t.options,"debugTable"))}},{getInitialState:t=>({columnPinning:{left:[],right:[]},...t}),getDefaultOptions:t=>({onColumnPinningChange:I("columnPinning",t)}),createColumn:(t,r)=>{t.pin=e=>{const a=t.getLeafColumns().map((t=>t.id)).filter(Boolean);r.setColumnPinning((t=>{var r,i,o,n,l,s;return"right"===e?{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"===e?{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!=(r=null==t?void 0:t.left)?r:[]).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 e,a,i;return(null==(e=t.columnDef.enablePinning)||e)&&(null==(a=null!=(i=r.options.enableColumnPinning)?i:r.options.enablePinning)||a)})),t.getIsPinned=()=>{const e=t.getLeafColumns().map((t=>t.id)),{left:a,right:i}=r.getState().columnPinning,o=e.some((t=>null==a?void 0:a.includes(t))),n=e.some((t=>null==i?void 0:i.includes(t)));return o?"left":!!n&&"right"},t.getPinnedIndex=()=>{var e,a;const i=t.getIsPinned();return i?null!=(e=null==(a=r.getState().columnPinning)||null==(a=a[i])?void 0:a.indexOf(t.id))?e:-1:0}},createRow:(t,r)=>{t.getCenterVisibleCells=F((()=>[t._getAllVisibleCells(),r.getState().columnPinning.left,r.getState().columnPinning.right]),((t,r,e)=>{const a=[...null!=r?r:[],...null!=e?e:[]];return t.filter((t=>!a.includes(t.column.id)))}),E(r.options,"debugRows")),t.getLeftVisibleCells=F((()=>[t._getAllVisibleCells(),r.getState().columnPinning.left]),((t,r)=>(null!=r?r:[]).map((r=>t.find((t=>t.column.id===r)))).filter(Boolean).map((t=>({...t,position:"left"})))),E(r.options,"debugRows")),t.getRightVisibleCells=F((()=>[t._getAllVisibleCells(),r.getState().columnPinning.right]),((t,r)=>(null!=r?r:[]).map((r=>t.find((t=>t.column.id===r)))).filter(Boolean).map((t=>({...t,position:"right"})))),E(r.options,"debugRows"))},createTable:t=>{t.setColumnPinning=r=>null==t.options.onColumnPinningChange?void 0:t.options.onColumnPinningChange(r),t.resetColumnPinning=r=>{var e,a;return t.setColumnPinning(r?{left:[],right:[]}:null!=(e=null==(a=t.initialState)?void 0:a.columnPinning)?e:{left:[],right:[]})},t.getIsSomeColumnsPinned=r=>{var e;const a=t.getState().columnPinning;var i,o;return r?Boolean(null==(e=a[r])?void 0:e.length):Boolean((null==(i=a.left)?void 0:i.length)||(null==(o=a.right)?void 0:o.length))},t.getLeftLeafColumns=F((()=>[t.getAllLeafColumns(),t.getState().columnPinning.left]),((t,r)=>(null!=r?r:[]).map((r=>t.find((t=>t.id===r)))).filter(Boolean)),E(t.options,"debugColumns")),t.getRightLeafColumns=F((()=>[t.getAllLeafColumns(),t.getState().columnPinning.right]),((t,r)=>(null!=r?r:[]).map((r=>t.find((t=>t.id===r)))).filter(Boolean)),E(t.options,"debugColumns")),t.getCenterLeafColumns=F((()=>[t.getAllLeafColumns(),t.getState().columnPinning.left,t.getState().columnPinning.right]),((t,r,e)=>{const a=[...null!=r?r:[],...null!=e?e:[]];return t.filter((t=>!a.includes(t.id)))}),E(t.options,"debugColumns"))}},P,{getDefaultColumnDef:()=>({filterFn:"auto"}),getInitialState:t=>({columnFilters:[],...t}),getDefaultOptions:t=>({onColumnFiltersChange:I("columnFilters",t),filterFromLeafRows:!1,maxLeafRowFilterDepth:100}),createColumn:(t,r)=>{t.getAutoFilterFn=()=>{const e=r.getCoreRowModel().flatRows[0],a=null==e?void 0:e.getValue(t.id);return"string"==typeof a?G.includesString:"number"==typeof a?G.inNumberRange:"boolean"==typeof a||null!==a&&"object"==typeof a?G.equals:Array.isArray(a)?G.arrIncludes:G.weakEquals},t.getFilterFn=()=>{var e,a;return R(t.columnDef.filterFn)?t.columnDef.filterFn:"auto"===t.columnDef.filterFn?t.getAutoFilterFn():null!=(e=null==(a=r.options.filterFns)?void 0:a[t.columnDef.filterFn])?e:G[t.columnDef.filterFn]},t.getCanFilter=()=>{var e,a,i;return(null==(e=t.columnDef.enableColumnFilter)||e)&&(null==(a=r.options.enableColumnFilters)||a)&&(null==(i=r.options.enableFilters)||i)&&!!t.accessorFn},t.getIsFiltered=()=>t.getFilterIndex()>-1,t.getFilterValue=()=>{var e;return null==(e=r.getState().columnFilters)||null==(e=e.find((r=>r.id===t.id)))?void 0:e.value},t.getFilterIndex=()=>{var e,a;return null!=(e=null==(a=r.getState().columnFilters)?void 0:a.findIndex((r=>r.id===t.id)))?e:-1},t.setFilterValue=e=>{r.setColumnFilters((r=>{const a=t.getFilterFn(),i=null==r?void 0:r.find((r=>r.id===t.id)),o=S(e,i?i.value:void 0);var n;if(W(a,o,t))return null!=(n=null==r?void 0:r.filter((r=>r.id!==t.id)))?n:[];const l={id:t.id,value:o};var s;return i?null!=(s=null==r?void 0:r.map((r=>r.id===t.id?l:r)))?s:[]:null!=r&&r.length?[...r,l]:[l]}))}},createRow:t=>{t.columnFilters={},t.columnFiltersMeta={}},createTable:t=>{t.setColumnFilters=r=>{const e=t.getAllLeafColumns();null==t.options.onColumnFiltersChange||t.options.onColumnFiltersChange((t=>{var a;return null==(a=S(r,t))?void 0:a.filter((t=>{const r=e.find((r=>r.id===t.id));return!r||!W(r.getFilterFn(),t.value,r)}))}))},t.resetColumnFilters=r=>{var e,a;t.setColumnFilters(r?[]:null!=(e=null==(a=t.initialState)?void 0:a.columnFilters)?e:[])},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:I("globalFilter",t),globalFilterFn:"auto",getColumnCanGlobalFilter:r=>{var e;const a=null==(e=t.getCoreRowModel().flatRows[0])||null==(e=e._getAllCellsByColumnId()[r.id])?void 0:e.getValue();return"string"==typeof a||"number"==typeof a}}),createColumn:(t,r)=>{t.getCanGlobalFilter=()=>{var e,a,i,o;return(null==(e=t.columnDef.enableGlobalFilter)||e)&&(null==(a=r.options.enableGlobalFilter)||a)&&(null==(i=r.options.enableFilters)||i)&&(null==(o=null==r.options.getColumnCanGlobalFilter?void 0:r.options.getColumnCanGlobalFilter(t))||o)&&!!t.accessorFn}},createTable:t=>{t.getGlobalAutoFilterFn=()=>G.includesString,t.getGlobalFilterFn=()=>{var r,e;const{globalFilterFn:a}=t.options;return R(a)?a:"auto"===a?t.getGlobalAutoFilterFn():null!=(r=null==(e=t.options.filterFns)?void 0:e[a])?r:G[a]},t.setGlobalFilter=r=>{null==t.options.onGlobalFilterChange||t.options.onGlobalFilterChange(r)},t.resetGlobalFilter=r=>{t.setGlobalFilter(r?void 0:t.initialState.globalFilter)}}},{getInitialState:t=>({sorting:[],...t}),getDefaultColumnDef:()=>({sortingFn:"auto",sortUndefined:1}),getDefaultOptions:t=>({onSortingChange:I("sorting",t),isMultiSortEvent:t=>t.shiftKey}),createColumn:(t,r)=>{t.getAutoSortingFn=()=>{const e=r.getFilteredRowModel().flatRows.slice(10);let a=!1;for(const r of e){const e=null==r?void 0:r.getValue(t.id);if("[object Date]"===Object.prototype.toString.call(e))return ct.datetime;if("string"==typeof e&&(a=!0,e.split(nt).length>1))return ct.alphanumeric}return a?ct.text:ct.basic},t.getAutoSortDir=()=>{const e=r.getFilteredRowModel().flatRows[0];return"string"==typeof(null==e?void 0:e.getValue(t.id))?"asc":"desc"},t.getSortingFn=()=>{var e,a;if(!t)throw new Error;return R(t.columnDef.sortingFn)?t.columnDef.sortingFn:"auto"===t.columnDef.sortingFn?t.getAutoSortingFn():null!=(e=null==(a=r.options.sortingFns)?void 0:a[t.columnDef.sortingFn])?e:ct[t.columnDef.sortingFn]},t.toggleSorting=(e,a)=>{const i=t.getNextSortingOrder(),o=null!=e;r.setSorting((n=>{const l=null==n?void 0:n.find((r=>r.id===t.id)),s=null==n?void 0:n.findIndex((r=>r.id===t.id));let d,c=[],h=o?e:"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=r.options.maxMultiSortColCount)?u:Number.MAX_SAFE_INTEGER))):c="toggle"===d?n.map((r=>r.id===t.id?{...r,desc:h}:r)):"remove"===d?n.filter((r=>r.id!==t.id)):[{id:t.id,desc:h}],c}))},t.getFirstSortDir=()=>{var e,a;return(null!=(e=null!=(a=t.columnDef.sortDescFirst)?a:r.options.sortDescFirst)?e:"desc"===t.getAutoSortDir())?"desc":"asc"},t.getNextSortingOrder=e=>{var a,i;const o=t.getFirstSortDir(),n=t.getIsSorted();return n?!!(n===o||null!=(a=r.options.enableSortingRemoval)&&!a||e&&null!=(i=r.options.enableMultiRemove)&&!i)&&("desc"===n?"asc":"desc"):o},t.getCanSort=()=>{var e,a;return(null==(e=t.columnDef.enableSorting)||e)&&(null==(a=r.options.enableSorting)||a)&&!!t.accessorFn},t.getCanMultiSort=()=>{var e,a;return null!=(e=null!=(a=t.columnDef.enableMultiSort)?a:r.options.enableMultiSort)?e:!!t.accessorFn},t.getIsSorted=()=>{var e;const a=null==(e=r.getState().sorting)?void 0:e.find((r=>r.id===t.id));return!!a&&(a.desc?"desc":"asc")},t.getSortIndex=()=>{var e,a;return null!=(e=null==(a=r.getState().sorting)?void 0:a.findIndex((r=>r.id===t.id)))?e:-1},t.clearSorting=()=>{r.setSorting((r=>null!=r&&r.length?r.filter((r=>r.id!==t.id)):[]))},t.getToggleSortingHandler=()=>{const e=t.getCanSort();return a=>{e&&(null==a.persist||a.persist(),null==t.toggleSorting||t.toggleSorting(void 0,!!t.getCanMultiSort()&&(null==r.options.isMultiSortEvent?void 0:r.options.isMultiSortEvent(a))))}}},createTable:t=>{t.setSorting=r=>null==t.options.onSortingChange?void 0:t.options.onSortingChange(r),t.resetSorting=r=>{var e,a;t.setSorting(r?[]:null!=(e=null==(a=t.initialState)?void 0:a.sorting)?e:[])},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 r,e;return null!=(r=null==(e=t.getValue())||null==e.toString?void 0:e.toString())?r:null},aggregationFn:"auto"}),getInitialState:t=>({grouping:[],...t}),getDefaultOptions:t=>({onGroupingChange:I("grouping",t),groupedColumnMode:"reorder"}),createColumn:(t,r)=>{t.toggleGrouping=()=>{r.setGrouping((r=>null!=r&&r.includes(t.id)?r.filter((r=>r!==t.id)):[...null!=r?r:[],t.id]))},t.getCanGroup=()=>{var e,a;return(null==(e=t.columnDef.enableGrouping)||e)&&(null==(a=r.options.enableGrouping)||a)&&(!!t.accessorFn||!!t.columnDef.getGroupingValue)},t.getIsGrouped=()=>{var e;return null==(e=r.getState().grouping)?void 0:e.includes(t.id)},t.getGroupedIndex=()=>{var e;return null==(e=r.getState().grouping)?void 0:e.indexOf(t.id)},t.getToggleGroupingHandler=()=>{const r=t.getCanGroup();return()=>{r&&t.toggleGrouping()}},t.getAutoAggregationFn=()=>{const e=r.getCoreRowModel().flatRows[0],a=null==e?void 0:e.getValue(t.id);return"number"==typeof a?J.sum:"[object Date]"===Object.prototype.toString.call(a)?J.extent:void 0},t.getAggregationFn=()=>{var e,a;if(!t)throw new Error;return R(t.columnDef.aggregationFn)?t.columnDef.aggregationFn:"auto"===t.columnDef.aggregationFn?t.getAutoAggregationFn():null!=(e=null==(a=r.options.aggregationFns)?void 0:a[t.columnDef.aggregationFn])?e:J[t.columnDef.aggregationFn]}},createTable:t=>{t.setGrouping=r=>null==t.options.onGroupingChange?void 0:t.options.onGroupingChange(r),t.resetGrouping=r=>{var e,a;t.setGrouping(r?[]:null!=(e=null==(a=t.initialState)?void 0:a.grouping)?e:[])},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,r)=>{t.getIsGrouped=()=>!!t.groupingColumnId,t.getGroupingValue=e=>{if(t._groupingValuesCache.hasOwnProperty(e))return t._groupingValuesCache[e];const a=r.getColumn(e);return null!=a&&a.columnDef.getGroupingValue?(t._groupingValuesCache[e]=a.columnDef.getGroupingValue(t.original),t._groupingValuesCache[e]):t.getValue(e)},t._groupingValuesCache={}},createCell:(t,r,e)=>{t.getIsGrouped=()=>r.getIsGrouped()&&r.id===e.groupingColumnId,t.getIsPlaceholder=()=>!t.getIsGrouped()&&r.getIsGrouped(),t.getIsAggregated=()=>{var r;return!t.getIsGrouped()&&!t.getIsPlaceholder()&&!(null==(r=e.subRows)||!r.length)}}},{getInitialState:t=>({expanded:{},...t}),getDefaultOptions:t=>({onExpandedChange:I("expanded",t),paginateExpandedRows:!0}),createTable:t=>{let r=!1,e=!1;t._autoResetExpanded=()=>{var a,i;if(r){if(null!=(a=null!=(i=t.options.autoResetAll)?i:t.options.autoResetExpanded)?a:!t.options.manualExpanding){if(e)return;e=!0,t._queue((()=>{t.resetExpanded(),e=!1}))}}else t._queue((()=>{r=!0}))},t.setExpanded=r=>null==t.options.onExpandedChange?void 0:t.options.onExpandedChange(r),t.toggleAllRowsExpanded=r=>{(null!=r?r:!t.getIsAllRowsExpanded())?t.setExpanded(!0):t.setExpanded({})},t.resetExpanded=r=>{var e,a;t.setExpanded(r?{}:null!=(e=null==(a=t.initialState)?void 0:a.expanded)?e:{})},t.getCanSomeRowsExpand=()=>t.getPrePaginationRowModel().flatRows.some((t=>t.getCanExpand())),t.getToggleAllRowsExpandedHandler=()=>r=>{null==r.persist||r.persist(),t.toggleAllRowsExpanded()},t.getIsSomeRowsExpanded=()=>{const r=t.getState().expanded;return!0===r||Object.values(r).some(Boolean)},t.getIsAllRowsExpanded=()=>{const r=t.getState().expanded;return"boolean"==typeof r?!0===r:!!Object.keys(r).length&&!t.getRowModel().flatRows.some((t=>!t.getIsExpanded()))},t.getExpandedDepth=()=>{let r=0;return(!0===t.getState().expanded?Object.keys(t.getRowModel().rowsById):Object.keys(t.getState().expanded)).forEach((t=>{const e=t.split(".");r=Math.max(r,e.length)})),r},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,r)=>{t.toggleExpanded=e=>{r.setExpanded((a=>{var i;const o=!0===a||!(null==a||!a[t.id]);let n={};if(!0===a?Object.keys(r.getRowModel().rowsById).forEach((t=>{n[t]=!0})):n=a,e=null!=(i=e)?i:!o,!o&&e)return{...n,[t.id]:!0};if(o&&!e){const{[t.id]:r,...e}=n;return e}return a}))},t.getIsExpanded=()=>{var e;const a=r.getState().expanded;return!!(null!=(e=null==r.options.getIsRowExpanded?void 0:r.options.getIsRowExpanded(t))?e:!0===a||(null==a?void 0:a[t.id]))},t.getCanExpand=()=>{var e,a,i;return null!=(e=null==r.options.getRowCanExpand?void 0:r.options.getRowCanExpand(t))?e:(null==(a=r.options.enableExpanding)||a)&&!(null==(i=t.subRows)||!i.length)},t.getIsAllParentsExpanded=()=>{let e=!0,a=t;for(;e&&a.parentId;)a=r.getRow(a.parentId,!0),e=a.getIsExpanded();return e},t.getToggleExpandedHandler=()=>{const r=t.getCanExpand();return()=>{r&&t.toggleExpanded()}}}},{getInitialState:t=>({...t,pagination:{pageIndex:0,pageSize:10,...null==t?void 0:t.pagination}}),getDefaultOptions:t=>({onPaginationChange:I("pagination",t)}),createTable:t=>{let r=!1,e=!1;t._autoResetPageIndex=()=>{var a,i;if(r){if(null!=(a=null!=(i=t.options.autoResetAll)?i:t.options.autoResetPageIndex)?a:!t.options.manualPagination){if(e)return;e=!0,t._queue((()=>{t.resetPageIndex(),e=!1}))}}else t._queue((()=>{r=!0}))},t.setPagination=r=>null==t.options.onPaginationChange?void 0:t.options.onPaginationChange((t=>S(r,t))),t.resetPagination=r=>{var e;t.setPagination(r?{pageIndex:0,pageSize:10}:null!=(e=t.initialState.pagination)?e:{pageIndex:0,pageSize:10})},t.setPageIndex=r=>{t.setPagination((e=>{let a=S(r,e.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)),{...e,pageIndex:a}}))},t.resetPageIndex=r=>{var e,a;t.setPageIndex(r?0:null!=(e=null==(a=t.initialState)||null==(a=a.pagination)?void 0:a.pageIndex)?e:0)},t.resetPageSize=r=>{var e,a;t.setPageSize(r?10:null!=(e=null==(a=t.initialState)||null==(a=a.pagination)?void 0:a.pageSize)?e:10)},t.setPageSize=r=>{t.setPagination((t=>{const e=Math.max(1,S(r,t.pageSize)),a=Math.floor(t.pageSize*t.pageIndex/e);return{...t,pageIndex:a,pageSize:e}}))},t.setPageCount=r=>t.setPagination((e=>{var a;let i=S(r,null!=(a=t.options.pageCount)?a:-1);return"number"==typeof i&&(i=Math.max(-1,i)),{...e,pageCount:i}})),t.getPageOptions=F((()=>[t.getPageCount()]),(t=>{let r=[];return t&&t>0&&(r=[...new Array(t)].fill(null).map(((t,r)=>r))),r}),E(t.options,"debugTable")),t.getCanPreviousPage=()=>t.getState().pagination.pageIndex>0,t.getCanNextPage=()=>{const{pageIndex:r}=t.getState().pagination,e=t.getPageCount();return-1===e||0!==e&&r<e-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 r;return null!=(r=t.options.pageCount)?r:Math.ceil(t.getRowCount()/t.getState().pagination.pageSize)},t.getRowCount=()=>{var r;return null!=(r=t.options.rowCount)?r:t.getPrePaginationRowModel().rows.length}}},{getInitialState:t=>({rowPinning:{top:[],bottom:[]},...t}),getDefaultOptions:t=>({onRowPinningChange:I("rowPinning",t)}),createRow:(t,r)=>{t.pin=(e,a,i)=>{const o=a?t.getLeafRows().map((t=>{let{id:r}=t;return r})):[],n=i?t.getParentRows().map((t=>{let{id:r}=t;return r})):[],l=new Set([...n,t.id,...o]);r.setRowPinning((t=>{var r,a,i,o,n,s;return"bottom"===e?{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"===e?{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!=(r=null==t?void 0:t.top)?r:[]).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 e;const{enableRowPinning:a,enablePinning:i}=r.options;return"function"==typeof a?a(t):null==(e=null!=a?a:i)||e},t.getIsPinned=()=>{const e=[t.id],{top:a,bottom:i}=r.getState().rowPinning,o=e.some((t=>null==a?void 0:a.includes(t))),n=e.some((t=>null==i?void 0:i.includes(t)));return o?"top":!!n&&"bottom"},t.getPinnedIndex=()=>{var e,a;const i=t.getIsPinned();if(!i)return-1;const o=null==(e="top"===i?r.getTopRows():r.getBottomRows())?void 0:e.map((t=>{let{id:r}=t;return r}));return null!=(a=null==o?void 0:o.indexOf(t.id))?a:-1}},createTable:t=>{t.setRowPinning=r=>null==t.options.onRowPinningChange?void 0:t.options.onRowPinningChange(r),t.resetRowPinning=r=>{var e,a;return t.setRowPinning(r?{top:[],bottom:[]}:null!=(e=null==(a=t.initialState)?void 0:a.rowPinning)?e:{top:[],bottom:[]})},t.getIsSomeRowsPinned=r=>{var e;const a=t.getState().rowPinning;var i,o;return r?Boolean(null==(e=a[r])?void 0:e.length):Boolean((null==(i=a.top)?void 0:i.length)||(null==(o=a.bottom)?void 0:o.length))},t._getPinnedRows=(r,e,a)=>{var i;return(null==(i=t.options.keepPinnedRows)||i?(null!=e?e:[]).map((r=>{const e=t.getRow(r,!0);return e.getIsAllParentsExpanded()?e:null})):(null!=e?e:[]).map((t=>r.find((r=>r.id===t))))).filter(Boolean).map((t=>({...t,position:a})))},t.getTopRows=F((()=>[t.getRowModel().rows,t.getState().rowPinning.top]),((r,e)=>t._getPinnedRows(r,e,"top")),E(t.options,"debugRows")),t.getBottomRows=F((()=>[t.getRowModel().rows,t.getState().rowPinning.bottom]),((r,e)=>t._getPinnedRows(r,e,"bottom")),E(t.options,"debugRows")),t.getCenterRows=F((()=>[t.getRowModel().rows,t.getState().rowPinning.top,t.getState().rowPinning.bottom]),((t,r,e)=>{const a=new Set([...null!=r?r:[],...null!=e?e:[]]);return t.filter((t=>!a.has(t.id)))}),E(t.options,"debugRows"))}},rt,Y];function ut(t){const r=[],e=t=>{var a;r.push(t),null!=(a=t.subRows)&&a.length&&t.getIsExpanded()&&t.subRows.forEach(e)};return t.rows.forEach(e),{rows:r,flatRows:t.flatRows,rowsById:t.rowsById}}function gt(t){return`bh-data-grid-state-${t}`}const pt=/[\\/*?:[\]]/g,vt=["=","+","-","@","\t","\r"];function bt(t){if(!t||"string"!=typeof t)return"Sheet";let r=t.replace(pt,"");return r=r.trim(),r?(r.length>31&&(r=r.slice(0,31)),r):"Sheet"}function mt(t){return null==t?"":"string"==typeof t&&vt.some((r=>t.startsWith(r)))?`'${t}`:t}function ft(t,r){let e=r.length;for(const r of t){if(null==r)continue;let t;t=r instanceof Date?10:"number"==typeof r?r.toFixed(2).length:"boolean"==typeof r?r?4:5:String(r).length,t>e&&(e=t)}return Math.min(Math.max(e+2,8),50)}function wt(t,r){const e=t.addWorksheet(bt(r.name)),a=[];r.headers?.length&&a.push(r.headers);for(const t of r.data){const r=t.map((t=>mt(t)));a.push(r)}for(const t of a)e.addRow(t);if(a.length>0){const t=a.reduce(((t,r)=>Math.max(t,r.length)),0);for(let i=0;i<t;i++){const t=ft(a.map((t=>t[i])),r.headers?.[i]??"");e.getColumn(i+1).width=t}}}function xt(t,r){const e=t.accessorKey||t.id||"";return r?.[e]?r[e]:"string"==typeof t.header?t.header:e}function yt(t,r){if(null==t)return"";switch(r){case"number":{if("number"==typeof t)return t;const r=Number(t);return Number.isNaN(r)?String(t):r}case"date":if(t instanceof Date)return t;if("string"==typeof t||"number"==typeof t){const r=new Date(t);return Number.isNaN(r.getTime())?String(t):r}return String(t);case"boolean":return"boolean"==typeof t?t:"string"==typeof t?"true"===t.toLowerCase():Boolean(t);default:return"object"==typeof t?JSON.stringify(t):String(t)}}async function Ct(t,r,e){!function(t,r){const e=URL.createObjectURL(t),a=document.createElement("a");a.href=e,a.download=r.endsWith(".xlsx")?r:`${r}.xlsx`,a.style.display="none",document.body.appendChild(a),a.click(),document.body.removeChild(a),URL.revokeObjectURL(e)}(await async function(t,r,e){const{Workbook:a}=await import("./p-7T937w-j.js").then((function(t){return t.e})),i=e.xlsx??{},o=bt(i.sheetName??"Data"),n=!1!==e.includeHeaders,l=r.map((t=>{const r=t.meta;return{id:t.accessorKey||t.id||"",header:xt(t,e.customHeaders),type:r?.type??"text"}})),s=[];n&&s.push(l.map((t=>t.header)));for(const r of t){const t=[];for(const a of l){const i=r[a.id];if(e.formatters?.[a.id]){const o=e.formatters[a.id](i,r);t.push(mt(o));continue}const o=yt(i,a.type);t.push(mt(o))}s.push(t)}const d=new a;if(function(t,r,e,a,i){for(const e of r)t.addRow(e);if(!1!==a.autoFitColumns)for(let a=0;a<e.length;a++){const i=ft(r.map((t=>t[a])),e[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,r,e,a,i){const o=i?2:1,n=i?1:0;for(let i=n;i<r.length;i++){const l=t.getRow(o+(i-n));for(let t=0;t<e.length;t++){const o=l.getCell(t+1),n=e[t].type,s=r[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,r,e,a,i)}(d.addWorksheet(o),s,l,i,n),i.additionalSheets?.length)for(const t of i.additionalSheets)wt(d,t);const c=function(t){if(t instanceof ArrayBuffer)return t;if(ArrayBuffer.isView(t)){const r=new Uint8Array(t.buffer,t.byteOffset,t.byteLength);return Uint8Array.from(r).buffer}throw new Error("Unsupported ExcelJS buffer type")}(await d.xlsx.writeBuffer());return new Blob([c],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"})}(t,r,e),e.fileName??"export")}function kt(t){return"accessorKey"in t?t.accessorKey||t.id||"":t.id||""}const zt={sum:t=>t.reduce(((t,r)=>t+r),0),avg:t=>t.length>0?t.reduce(((t,r)=>t+r),0)/t.length:0,min:t=>t.length>0?t.reduce(((t,r)=>Math.min(t,r)),t[0]):0,max:t=>t.length>0?t.reduce(((t,r)=>Math.max(t,r)),t[0]):0,count:(t,r)=>r.length},St=class{constructor(t){r(this,t),this.bhError=e(this,"bhError"),this.bhCircuitOpen=e(this,"bhCircuitOpen"),this.bhSortChange=e(this,"bhSortChange"),this.bhFilterChange=e(this,"bhFilterChange"),this.bhSelectionChange=e(this,"bhSelectionChange"),this.bhChange=e(this,"bhChange"),this.bhRowClick=e(this,"bhRowClick"),this.bhCellClick=e(this,"bhCellClick"),this.bhExpandChange=e(this,"bhExpandChange"),this.bhGroupToggle=e(this,"bhGroupToggle"),this.bhEditStart=e(this,"bhEditStart"),this.bhEditorPreparing=e(this,"bhEditorPreparing"),this.bhInitNewRow=e(this,"bhInitNewRow"),this.bhEditCancel=e(this,"bhEditCancel"),this.bhRowDeleting=e(this,"bhRowDeleting"),this.bhRowDeleted=e(this,"bhRowDeleted"),this.bhBatchChangeAdded=e(this,"bhBatchChangeAdded"),this.bhEditSave=e(this,"bhEditSave"),this.bhCellChange=e(this,"bhCellChange"),this.bhValidationError=e(this,"bhValidationError"),this.bhColumnResize=e(this,"bhColumnResize"),this.bhColumnResizeEnd=e(this,"bhColumnResizeEnd"),this.bhColumnPinChange=e(this,"bhColumnPinChange"),this.bhColumnReorder=e(this,"bhColumnReorder"),this.bhColumnVisibilityChange=e(this,"bhColumnVisibilityChange"),this.bhStateLoad=e(this,"bhStateLoad"),this.bhStateSave=e(this,"bhStateSave"),this.bhHeaderFilterChange=e(this,"bhHeaderFilterChange"),this.bhDetailToggle=e(this,"bhDetailToggle"),this.bhExport=e(this,"bhExport"),this.bhRowDragStart=e(this,"bhRowDragStart"),this.bhRowDrop=e(this,"bhRowDrop"),this.bhRowReorder=e(this,"bhRowReorder"),this.bhFocusChange=e(this,"bhFocusChange"),this.bhRefresh=e(this,"bhRefresh"),this.bhAdd=e(this,"bhAdd"),this.bhClearFilter=e(this,"bhClearFilter"),this.bhClearSelection=e(this,"bhClearSelection"),this.bhSearchChange=e(this,"bhSearchChange"),this.bhContextMenu=e(this,"bhContextMenu"),this.bhContextMenuItemClick=e(this,"bhContextMenuItemClick"),this.bhResponsiveChange=e(this,"bhResponsiveChange"),this.bhAdaptiveDetailExpand=e(this,"bhAdaptiveDetailExpand")}get el(){return a(this)}destroy$=v();listeners=m();contextMenuRef=null;dragImageCleanupEl;logger=f("bh-data-grid");dataOperationsCircuitBreaker=function(t){let r,e,a="CLOSED",i=0,o=0;const n=()=>{"OPEN"===a&&r&&Date.now()-r>=t.resetTimeout&&(a="HALF_OPEN")};return{async execute(l){if(n(),"OPEN"===a)throw new Error(`Circuit breaker is open (${t.name||"unknown"})`);try{const t=await l();return o++,e=Date.now(),"HALF_OPEN"===a&&(a="CLOSED",i=0),t}catch(e){throw i++,r=Date.now(),i>=t.failureThreshold&&(a="OPEN"),e}},getMetrics:()=>(n(),{state:a,failureCount:i,successCount:o,lastFailureTime:r,lastSuccessTime:e}),reset(){a="CLOSED",i=0,o=0,r=void 0,e=void 0}}}(k);renderTimer=null;dataOperationsDegraded=!1;updatePending=!1;_errorHandler;get handleComponentError(){return this._errorHandler||(this._errorHandler=d({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=w()),this.observerManager}table=null;get resolvedLabels(){return n(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,r,e,a={}){const i=x.startTimer(y.ASYNC_OPERATION,{component:"bh-data-grid",operation:t,...r}),o=this.logger.startTimer();try{e();const i=o();this.logger[a.logLevel??"debug"](`${t} completed`,{...r,duration:i}),i>(a.slowThreshold??500)&&this.logger.warn(`Slow ${t}`,{...r,duration:i})}catch(e){if(this.logger.error(`${t} failed`,e instanceof Error?e:new Error(String(e)),r),this.showErrorNotification(a.errorNotification??"Operation failed. Please try again.","error"),a.rethrow)throw e}finally{this.destroy$&&C(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:String(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:String(t.length)},(()=>this.table.setSorting(t)),{errorNotification:"Failed to apply sorting. Please try again."})}handleFilterStateChange(t){this.table&&this.trackedOperation("filter",{filter_count:String(t.length)},(()=>this.table.setColumnFilters(t)),{errorNotification:"Failed to apply filters. Please try again."})}handleSelectedRowIdsChange(t){if(this.table){const r={};for(const e of t)r[e]=!0;this.table.setRowSelection(r)}}handlePaginationPropChange(){this.table&&this.table.setPagination({pageIndex:this.page-1,pageSize:this.pageSize})}handleExpandedRowIdsChange(t){if(this.table){const r={};for(const e of t)r[e]=!0;this.table.setExpanded(r)}}handleGroupByChange(t){this.table&&this.table.setGrouping(t)}componentWillLoad(){const t=x.startTimer(y.COMPONENT_MOUNT,{component:"bh-data-grid",row_count:String(this.data?.length??0),has_pagination:String(this.enablePagination)});if(this.enableStatePersistence&&this.stateStorageKey){const t=this.loadPersistedState();t&&this.applyPersistedState(t)}if(this.initializeTable(),this.destroy$&&C(0,this.destroy$)?.subscribe((()=>t())),this.data&&this.data.length>1e3){const t=Math.min(10,this.data.length),r=this.data.slice(0,t),e=JSON.stringify(r).length,a=Math.round(e/t*this.data.length);x.gauge(y.MEMORY_USAGE,a,{component:"bh-data-grid",row_count:String(this.data.length),estimation_method:"sample"})}if(this.enableResponsiveLayout){this.observerManager=w();const t=this.columns?.map((t=>kt(t)))??[],{adaptiveDetailColumns:r,hiddenColumns:e}=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&&!r.includes(t)&&!e.includes(t))),adaptiveDetailColumns:r,hiddenColumns:e}}}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 r,e;const a=[...ht,...null!=(r=t._features)?r:[]];let i={_features:a};const o=i._features.reduce(((t,r)=>Object.assign(t,null==r.getDefaultOptions?void 0:r.getDefaultOptions(i))),{});let n={...null!=(e=t.initialState)?e:{}};i._features.forEach((t=>{var r;n=null!=(r=null==t.getInitialState?void 0:t.getInitialState(n))?r: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 r=S(t,i.options);i.options=(t=>i.options.mergeOptions?i.options.mergeOptions(o,t):{...o,...t})(r)},getState:()=>i.options.state,setState:t=>{null==i.options.onStateChange||i.options.onStateChange(t)},_getRowId:(t,r,e)=>{var a;return null!=(a=null==i.options.getRowId?void 0:i.options.getRowId(t,r,e))?a:`${e?[e.id,r].join("."):r}`},getCoreRowModel:()=>(i._getCoreRowModel||(i._getCoreRowModel=i.options.getCoreRowModel(i)),i._getCoreRowModel()),getRowModel:()=>i.getPaginationRowModel(),getRow:(t,r)=>{let e=(r?i.getPrePaginationRowModel():i.getRowModel()).rowsById[t];if(!e&&(e=i.getCoreRowModel().rowsById[t],!e))throw new Error;return e},_getDefaultColumnDef:F((()=>[i.options.defaultColumn]),(t=>{var r;return t=null!=(r=t)?r:{},{header:t=>{const r=t.header.column.columnDef;return r.accessorKey?r.accessorKey:r.accessorFn?r.id:null},cell:t=>{var r,e;return null!=(r=null==(e=t.renderValue())||null==e.toString?void 0:e.toString())?r:null},...i._features.reduce(((t,r)=>Object.assign(t,null==r.getDefaultColumnDef?void 0:r.getDefaultColumnDef())),{}),...t}}),E(t,"debugColumns")),_getColumnDefs:()=>i.options.columns,getAllColumns:F((()=>[i._getColumnDefs()]),(t=>{const r=function(t,e,a){return void 0===a&&(a=0),t.map((t=>{const o=function(t,r,e,a){var i,o;const n={...t._getDefaultColumnDef(),...r},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 r=t;for(const t of l.split(".")){var e;r=null==(e=r)?void 0:e[t]}return r}:t=>t[n.accessorKey]),!d)throw new Error;let c={id:`${String(d)}`,accessorFn:s,parent:a,depth:e,columnDef:n,columns:[],getFlatColumns:F((()=>[!0]),(()=>{var t;return[c,...null==(t=c.columns)?void 0:t.flatMap((t=>t.getFlatColumns()))]}),E(t.options,"debugColumns")),getLeafColumns:F((()=>[t._getOrderColumnsFn()]),(t=>{var r;if(null!=(r=c.columns)&&r.length){let r=c.columns.flatMap((t=>t.getLeafColumns()));return t(r)}return[c]}),E(t.options,"debugColumns"))};for(const r of t._features)null==r.createColumn||r.createColumn(c,t);return c}(i,t,a,e);return o.columns=t.columns?r(t.columns,o,a+1):[],o}))};return r(t)}),E(t,"debugColumns")),getAllFlatColumns:F((()=>[i.getAllColumns()]),(t=>t.flatMap((t=>t.getFlatColumns()))),E(t,"debugColumns")),_getAllFlatColumnsById:F((()=>[i.getAllFlatColumns()]),(t=>t.reduce(((t,r)=>(t[r.id]=r,t)),{})),E(t,"debugColumns")),getAllLeafColumns:F((()=>[i.getAllColumns(),i._getOrderColumnsFn()]),((t,r)=>r(t.flatMap((t=>t.getLeafColumns())))),E(t,"debugColumns")),getColumn:t=>i._getAllFlatColumnsById()[t]};Object.assign(i,d);for(let t=0;t<i._features.length;t++){const r=i._features[t];null==r||null==r.createTable||r.createTable(i)}return i}({data:this.data,columns:this.columns,state:this.tableState,onStateChange:t=>{const r="function"==typeof t?t(this.tableState):t;this.handleStateChange(r)},getCoreRowModel:t=>F((()=>[t.options.data]),(r=>{const e={rows:[],flatRows:[],rowsById:{}},a=function(r,i,o){void 0===i&&(i=0);const n=[];for(let s=0;s<r.length;s++){const d=_(t,t._getRowId(r[s],s,o),r[s],s,i,void 0,null==o?void 0:o.id);var l;e.flatRows.push(d),e.rowsById[d.id]=d,n.push(d),t.options.getSubRows&&(d.originalSubRows=t.options.getSubRows(r[s],s),null!=(l=d.originalSubRows)&&l.length&&(d.subRows=a(d.originalSubRows,i+1,d)))}return n};return e.rows=a(r),e}),E(t.options,"debugTable",0,(()=>t._autoResetPageIndex()))),getSortedRowModel:this.enableSorting?t=>F((()=>[t.getState().sorting,t.getPreSortedRowModel()]),((r,e)=>{if(!e.rows.length||null==r||!r.length)return e;const a=t.getState().sorting,i=[],o=a.filter((r=>{var e;return null==(e=t.getColumn(r.id))?void 0:e.getCanSort()})),n={};o.forEach((r=>{const e=t.getColumn(r.id);e&&(n[r.id]={sortUndefined:e.columnDef.sortUndefined,invertSorting:e.columnDef.invertSorting,sortingFn:e.getSortingFn()})}));const l=t=>{const r=t.map((t=>({...t})));return r.sort(((t,r)=>{for(let a=0;a<o.length;a+=1){var e;const i=o[a],l=n[i.id],s=l.sortUndefined,d=null!=(e=null==i?void 0:i.desc)&&e;let c=0;if(s){const e=void 0===t.getValue(i.id),a=void 0===r.getValue(i.id);if(e||a){if("first"===s)return e?-1:1;if("last"===s)return e?1:-1;c=e&&a?0:e?s:-s}}if(0===c&&(c=l.sortingFn(t,r,i.id)),0!==c)return d&&(c*=-1),l.invertSorting&&(c*=-1),c}return t.index-r.index})),r.forEach((t=>{var r;i.push(t),null!=(r=t.subRows)&&r.length&&(t.subRows=l(t.subRows))})),r};return{rows:l(e.rows),flatRows:i,rowsById:e.rowsById}}),E(t.options,"debugTable",0,(()=>t._autoResetPageIndex()))):void 0,getFilteredRowModel:this.enableFiltering||this.enableGlobalFilter?t=>F((()=>[t.getPreFilteredRowModel(),t.getState().columnFilters,t.getState().globalFilter]),((r,e,a)=>{if(!r.rows.length||(null==e||!e.length)&&!a){for(let t=0;t<r.flatRows.length;t++)r.flatRows[t].columnFilters={},r.flatRows[t].columnFiltersMeta={};return r}const i=[],o=[];(null!=e?e:[]).forEach((r=>{var e;const a=t.getColumn(r.id);if(!a)return;const o=a.getFilterFn();o&&i.push({id:r.id,filterFn:o,resolvedValue:null!=(e=null==o.resolveFilterValue?void 0:o.resolveFilterValue(r.value))?e:r.value})}));const n=(null!=e?e:[]).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 r;o.push({id:t.id,filterFn:l,resolvedValue:null!=(r=null==l.resolveFilterValue?void 0:l.resolveFilterValue(a))?r:a})})));for(let t=0;t<r.flatRows.length;t++){const e=r.flatRows[t];if(e.columnFilters={},i.length)for(let t=0;t<i.length;t++){d=i[t];const r=d.id;e.columnFilters[r]=d.filterFn(e,r,d.resolvedValue,(t=>{e.columnFiltersMeta[r]=t}))}if(o.length){for(let t=0;t<o.length;t++){c=o[t];const r=c.id;if(c.filterFn(e,r,c.resolvedValue,(t=>{e.columnFiltersMeta[r]=t}))){e.columnFilters.__global__=!0;break}}!0!==e.columnFilters.__global__&&(e.columnFilters.__global__=!1)}}return function(t,r,e){return e.options.filterFromLeafRows?function(t,r,e){var a;const i=[],o={},n=null!=(a=e.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=_(e,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,r(h)&&!u.subRows.length){s.push(h),o[h.id]=h,i.push(h);continue}if(r(h)||u.subRows.length){s.push(h),o[h.id]=h,i.push(h);continue}}else h=u,r(h)&&(s.push(h),o[h.id]=h,i.push(h))}return s};return{rows:l(t),flatRows:i,rowsById:o}}(t,r,e):function(t,r,e){var a;const i=[],o={},n=null!=(a=e.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(r(h)){var d;if(null!=(d=h.subRows)&&d.length&&a<n){const t=_(e,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,r,e)}(r.rows,(t=>{for(let r=0;r<n.length;r++)if(!1===t.columnFilters[n[r]])return!1;return!0}),t)}),E(t.options,"debugTable",0,(()=>t._autoResetPageIndex()))):void 0,getPaginationRowModel:this.enablePagination?t=>F((()=>[t.getState().pagination,t.getPrePaginationRowModel(),t.options.paginateExpandedRows?void 0:t.getState().expanded]),((r,e)=>{if(!e.rows.length)return e;const{pageSize:a,pageIndex:i}=r;let{rows:o,flatRows:n,rowsById:l}=e;const s=a*i;let d;o=o.slice(s,s+a),d=t.options.paginateExpandedRows?{rows:o,flatRows:n,rowsById:l}:ut({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}),E(t.options,"debugTable")):void 0,getExpandedRowModel:this.enableExpansion||this.enableGrouping?t=>F((()=>[t.getState().expanded,t.getPreExpandedRowModel(),t.options.paginateExpandedRows]),((t,r,e)=>!r.rows.length||!0!==t&&!Object.keys(null!=t?t:{}).length?r:e?ut(r):r),E(t.options,"debugTable")):void 0,getGroupedRowModel:this.enableGrouping?t=>F((()=>[t.getState().grouping,t.getPreGroupedRowModel()]),((r,e)=>{if(!e.rows.length||!r.length)return e.rows.forEach((t=>{t.depth=0,t.parentId=void 0})),e;const a=r.filter((r=>t.getColumn(r))),i=[],o={},n=function(r,e,l){if(void 0===e&&(e=0),e>=a.length)return r.map((t=>(t.depth=e,i.push(t),o[t.id]=t,t.subRows&&(t.subRows=n(t.subRows,e+1,t.id)),t)));const s=a[e],d=function(t,r){const e=new Map;return t.reduce(((t,e)=>{const a=`${e.getGroupingValue(r)}`,i=t.get(a);return i?i.push(e):t.set(a,[e]),t}),e)}(r,s),c=Array.from(d.entries()).map(((r,d)=>{let[c,h]=r,u=`${s}:${c}`;u=l?`${l}>${u}`:u;const g=n(h,e+1,u);g.forEach((t=>{t.parentId=u}));const p=e?D(h,(t=>t.subRows)):h,v=_(t,u,p[0].original,d,e,void 0,l);return Object.assign(v,{groupingColumnId:s,groupingValue:c,subRows:g,leafRows:p,getValue:r=>{var e;if(a.includes(r))return v._valuesCache.hasOwnProperty(r)||h[0]&&(v._valuesCache[r]=null!=(e=h[0].getValue(r))?e:void 0),v._valuesCache[r];if(v._groupingValuesCache.hasOwnProperty(r))return v._groupingValuesCache[r];const i=t.getColumn(r),o=null==i?void 0:i.getAggregationFn();return o?(v._groupingValuesCache[r]=o(r,p,h),v._groupingValuesCache[r]):void 0}}),g.forEach((t=>{i.push(t),o[t.id]=t})),v}));return c},l=n(e.rows,0);return l.forEach((t=>{i.push(t),o[t.id]=t})),{rows:l,flatRows:i,rowsById:o}}),E(t.options,"debugTable",0,(()=>{t._queue((()=>{t._autoResetExpanded(),t._autoResetPageIndex()}))}))):void 0,getRowId:this.getRowId||((t,r)=>String(t.id??r)),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 r=this.dataOperationsCircuitBreaker.getMetrics();this.dataOperationsCircuitBreaker.execute((async()=>{throw t})).catch((t=>{this.logger.debug("Circuit breaker recorded failure",{error:t instanceof Error?t.message:String(t)})})),"OPEN"!==r.state||this.dataOperationsDegraded||(this.dataOperationsDegraded=!0,this.bhCircuitOpen.emit({metrics:r}),this.logger.error("Circuit breaker opened for data operations",void 0,{state:r.state,failures:r.failureCount})),this.logger.error("Failed to create data grid table",t instanceof Error?t:new Error(String(t))),this.hasFatalError=!0,this.fatalErrorMessage=t instanceof Error?t.message:"Failed to initialize data grid",this.bhError.emit({error:t})}}handleStateChange(t){const r=this.tableState;if(this.tableState=t,this.table&&this.table.setOptions((r=>({...r,state:t}))),function(t,r){if(t===r)return!0;if(!t||!r)return!1;if(t.length!==r.length)return!1;for(let e=0;e<t.length;e++){const a=t[e],i=r[e];if(a.id!==i.id||a.desc!==i.desc)return!1}return!0}(r.sorting,t.sorting)||(this.sortState=t.sorting,x.increment(y.EVENT_EMIT,{component:"bh-data-grid",event:"sortChange",sort_columns:String(t.sorting.length)}),this.bhSortChange.emit({sorting:t.sorting})),function(t,r){if(t===r)return!0;if(!t||!r)return!1;if(t.length!==r.length)return!1;for(let e=0;e<t.length;e++){const a=t[e],i=r[e];if(a.id!==i.id||a.value!==i.value)return!1}return!0}(r.columnFilters,t.columnFilters)&&r.globalFilter===t.globalFilter||(this.filterState=t.columnFilters,this.globalFilter=t.globalFilter,x.increment(y.EVENT_EMIT,{component:"bh-data-grid",event:"filterChange",filter_count:String(t.columnFilters.length),has_global_filter:String(!!t.globalFilter)}),this.bhFilterChange.emit({columnFilters:t.columnFilters,globalFilter:t.globalFilter})),!function(t,r){if(t===r)return!0;if(!t||!r)return!1;const e=Object.keys(t),a=Object.keys(r);if(e.length!==a.length)return!1;for(const a of e)if(t[a]!==r[a])return!1;return!0}(r.rowSelection,t.rowSelection)){const r=Object.keys(t.rowSelection).filter((r=>t.rowSelection[r]));this.selectedRowIds=r;const e=this.table?.getSelectedRowModel().rows.map((t=>t.original))??[];x.increment(y.EVENT_EMIT,{component:"bh-data-grid",event:"selectionChange",selected_count:String(r.length)}),this.bhSelectionChange.emit({selectedRowIds:r,selectedRows:e})}r.pagination?.pageIndex===t.pagination?.pageIndex&&r.pagination?.pageSize===t.pagination?.pageSize||(this.page=t.pagination.pageIndex+1,this.pageSize=t.pagination.pageSize,x.increment(y.EVENT_EMIT,{component:"bh-data-grid",event:"pageChange",page:String(this.page),page_size:String(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 r of this.selectedRowIds)t[r]=!0;return t}buildExpanded(){const t={};for(const r of this.expandedRowIds)t[r]=!0;return t}buildColumnVisibility(){const t={...this.columnVisibility};if(this.enableGrouping)for(const r of this.groupBy)t[r]=!1;return t}handleRowClick=t=>{const r=t.id;if("single-click"===this.selectionMode){const r=t.getIsSelected();this.table?.resetRowSelection(),r||t.toggleSelected(!0)}else"multiple-click"===this.selectionMode&&t.toggleSelected();this.bhRowClick.emit({row:t.original,rowId:r,rowIndex:t.index})};handleCellClick=(t,r)=>{this.bhCellClick.emit({row:t.original,rowId:t.id,rowIndex:t.index,columnId:r.column.id,value:r.getValue()})};handleHeaderClick=t=>{this.enableSorting&&t.column.getCanSort()&&t.column.toggleSorting(void 0,this.enableMultiSort)};handleRowExpand=t=>{const r=!t.getIsExpanded();r&&this.autoCollapseOtherRows&&this.table?.toggleAllRowsExpanded(!1),t.toggleExpanded(),this.bhExpandChange.emit({rowId:t.id,expanded:r}),this.enableMasterDetail&&this.bhDetailToggle.emit({rowId:t.id,row:t.original,expanded:r})};handleGroupToggle=t=>{const r=t.getIsExpanded();t.toggleExpanded(),this.bhGroupToggle.emit({groupId:t.id,expanded:!r})};handleGlobalFilterChange=t=>{const r=t.target;this.table?.setGlobalFilter(r.value)};handleColumnFilterChange=(t,r)=>{const e=this.table?.getColumn(t);e&&e.setFilterValue(r||void 0)};handlePaginationChange=t=>{const{page:r,pageSize:e}=t.detail;this.table?.setPagination({pageIndex:r-1,pageSize:e})};resetEditingState(){this.editingRowId=null,this.editingColumnId=null,this.editingValues={},this.validationErrors={}}startEditing=(t,r)=>{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&&r||null;const e={};for(const r of this.columns){const a=kt(r);a&&(e[a]=t.original[a])}this.editingValues=e,this.validationErrors={},this.bhEditStart.emit({rowId:t.id,row:t.original,columnId:r})};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 r={};for(const[e,a]of Object.entries(this.editingValues)){const i=this.table.getColumn(e),o=i?.columnDef.meta?.validate;if(o){const i=o(a,t.original);i&&(r[e]=i,this.bhValidationError.emit({rowId:this.editingRowId,columnId:e,value:a,error:i}))}}if(Object.keys(r).length>0)return void(this.validationErrors=r);const e={};for(const[r,a]of Object.entries(this.editingValues))t.original[r]!==a&&(e[r]=a);const a={...t.original,...e};this.bhEditSave.emit({rowId:this.editingRowId,rowIndex:t.index,originalRow:t.original,changes:e,newRow:a}),this.resetEditingState()};handleEditValueChange=(t,r)=>{const e=this.editingValues[t];if(this.editingValues={...this.editingValues,[t]:r},this.validationErrors[t]){const{[t]:r,...e}=this.validationErrors;this.validationErrors=e}this.editingRowId&&this.bhCellChange.emit({rowId:this.editingRowId,columnId:t,oldValue:e,newValue:r})};handleEditKeyDown=(t,r)=>{c(t)?(t.preventDefault(),this.saveEditing()):h(t)?(t.preventDefault(),this.cancelEditing()):u(t)&&"cell"===this.editMode&&(t.preventDefault(),this.moveToNextEditableCell(r,t.shiftKey))};moveToNextEditableCell=(t,r)=>{const e=this.columns.filter((t=>!1!==t.meta?.editable)),a=e.findIndex((r=>kt(r)===t));if(-1===a)return;const i=r?a-1:a+1;if(i>=0&&i<e.length){const t=kt(e[i]);this.editingColumnId=t||null}else this.saveEditing()};isEditing(t,r){return this.editingRowId===t&&("cell"!==this.editMode||!!r&&this.editingColumnId===r)}handleCellDoubleClick=(t,r)=>{this.enableEditing&&!1!==r.column.columnDef.meta?.editable&&"cell"===this.editMode&&this.startEditing(t,r.column.id)};openFormEditModal(t,r){const e=t?this.getRowId?.(t,0)||"0":"";if(!r&&t){const r={row:t,rowId:e,columnId:"",value:void 0,editorOptions:{},cancel:!1};if(this.bhEditorPreparing.emit(r),r.cancel)return}if(r){const t={};for(const r of this.columns){const e=kt(r);e&&(t[e]="")}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 r of this.columns){const e=kt(r);e&&t&&(a[e]=t[e])}this.formEditValues=a,this.formEditModalOpen=!0,this.bhEditStart.emit({rowId:e,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={},r=this.formEditConfig?.fields||[];for(const e of r){const r=this.formEditValues[e.columnId];if(!e.required||null!=r&&""!==r){if(e.validator){const a=e.validator(r);a&&(t[e.columnId]=a)}}else t[e.columnId]=`${e.label||e.columnId} is required`}if(this.table)for(const[r,e]of Object.entries(this.formEditValues)){const a=this.table.getColumn(r),i=a?.columnDef.meta?.validate;if(i&&this.formEditRowData){const a=i(e,this.formEditRowData);a&&(t[r]=a,this.bhValidationError.emit({rowId:this.getRowId?.(this.formEditRowData,0)||"0",columnId:r,value:e,error:a}))}}if(Object.keys(t).length>0)return void(this.formEditErrors=t);const e={...this.formEditRowData||{},...this.formEditValues};if(this.formEditIsNew)this.bhAdd.emit(),this.bhEditSave.emit({rowId:"__new__",rowIndex:-1,originalRow:{},changes:this.formEditValues,newRow:e});else if(this.formEditRowData){const t={};for(const[r,e]of Object.entries(this.formEditValues))this.formEditRowData[r]!==e&&(t[r]=e);const r=this.getRowId?.(this.formEditRowData,0)||"0",a=this.data.findIndex((t=>(this.getRowId?.(t,0)||"0")===r));this.bhEditSave.emit({rowId:r,rowIndex:a,originalRow:this.formEditRowData,changes:t,newRow:e})}this.closeFormEditModal()};handleFormFieldChange=(t,r)=>{const e=this.formEditValues[t];if(this.formEditValues={...this.formEditValues,[t]:r},this.formEditErrors[t]){const{[t]:r,...e}=this.formEditErrors;this.formEditErrors=e}if(this.formEditRowData){const a=this.getRowId?.(this.formEditRowData,0)||"0";this.bhCellChange.emit({rowId:a,columnId:t,oldValue:e,newValue:r})}};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 r=[],e=[],a=(this.columns?.map((t=>kt(t)))??[]).filter((t=>Boolean(t)));for(const a of this.responsiveColumns)("small"===t||"medium"===t&&"low"===a.priority)&&"always"!==a.priority&&("adaptive-detail"===a.hiddenBehavior?r.push(a.columnId):e.push(a.columnId));const i=a.filter((t=>!(r.includes(t)||e.includes(t))));return{adaptiveDetailColumns:r,hiddenColumns:e,visibleColumns:i}}calculateBreakpoint(t){return t>=this.largeBreakpoint?"large":t>=this.mediumBreakpoint?"medium":"small"}handleResponsiveResize(t){const r=this.responsiveState.breakpoint,e=this.calculateBreakpoint(t),{adaptiveDetailColumns:a,hiddenColumns:i,visibleColumns:o}=this.calculateHiddenColumns(e);this.responsiveState={viewportWidth:t,breakpoint:e,visibleColumns:o,adaptiveDetailColumns:a,hiddenColumns:i},r!==e&&this.bhResponsiveChange.emit({state:this.responsiveState,previousBreakpoint:r})}isAdaptiveDetailExpanded(t){return this.adaptiveDetailExpandedRows.has(t)}toggleAdaptiveDetailRow(t){const r=!this.adaptiveDetailExpandedRows.has(t);r?this.adaptiveDetailExpandedRows.add(t):this.adaptiveDetailExpandedRows.delete(t),this.bhAdaptiveDetailExpand.emit({data:{rowId:t,hiddenValues:[]},expanded:r})}hasAdaptiveDetailColumns(){return(this.responsiveState.adaptiveDetailColumns?.length??0)>0}async deleteRow(t){const r=this.getRowId?.(t,0)??"",e={type:"delete",row:t,rowId:r,cancel:!1};if(this.bhRowDeleting.emit(e),e.cancel)return!1;if(e.promise)try{await e.promise}catch{return!1}return this.batchEditingEnabled&&this.bhBatchChangeAdded.emit({change:{type:"delete",rowKey:r,originalData:t,modifiedData:null,timestamp:Date.now()},totalChanges:1}),this.bhRowDeleted.emit({type:"delete",row:t,rowId:r}),!0}handleResizeMouseDown=(t,r)=>{if(!this.enableColumnResize)return;t.preventDefault(),t.stopPropagation();const e=r.column.id,a=r.column.columnDef.meta;if(!1===a?.resizable)return;const i=this.columnSizes[e]||r.column.getSize()||150;this.resizingColumnId=e,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 r=t.clientX-this.resizeStartX,e=this.table?.getColumn(this.resizingColumnId),a=e?.columnDef.meta,i=a?.minWidth??this.minColumnWidth,o=Math.min(a?.maxWidth??this.maxColumnWidth,Math.max(i,this.resizeStartWidth+r)),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,r){return this.columnSizes[t]??r}pinColumn=(t,r)=>{if(!this.enableColumnPinning)return;const e={...this.columnPinning};e.left=e.left.filter((r=>r!==t)),e.right=e.right.filter((r=>r!==t)),"left"===r?e.left=[...e.left,t]:"right"===r&&(e.right=[...e.right,t]),this.columnPinning=e,this.table&&this.table.setColumnPinning(e),this.bhColumnPinChange.emit({columnId:t,pinned:r}),this.scheduleUpdate()};handleColumnDragStart=(t,r)=>{if(!this.enableColumnReorder)return;const e=r.column.id;this.draggingColumnId=e,t.dataTransfer?.setData("text/plain",e),t.dataTransfer&&(t.dataTransfer.effectAllowed="move"),document.body.classList.add("data-grid-dragging")};handleColumnDragOver=(t,r)=>{if(!this.enableColumnReorder||!this.draggingColumnId)return;t.preventDefault(),t.dataTransfer&&(t.dataTransfer.dropEffect="move");const e=r.column.id;e!==this.draggingColumnId&&(this.dragOverColumnId=e)};handleColumnDragLeave=()=>{this.dragOverColumnId=null};handleColumnDrop=(t,r)=>{if(!this.enableColumnReorder||!this.draggingColumnId)return;t.preventDefault();const e=this.draggingColumnId,a=r.column.id;if(e===a)return void this.resetDragState();const i=this.columnOrder.length>0?[...this.columnOrder]:this.columns.map((t=>kt(t))),o=i.indexOf(e),n=i.indexOf(a);if(-1===o||-1===n)return void this.resetDragState();const l=i.toSpliced(o,1).toSpliced(n,0,e);this.columnOrder=l,this.table&&this.table.setColumnOrder(l),this.bhColumnReorder.emit({columnOrder:l,draggedColumnId:e,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 r=!(!1!==this.columnVisibility[t]);this.columnVisibility={...this.columnVisibility,[t]:r},this.table&&this.table.setColumnVisibility({...this.columnVisibility,[t]:r}),this.bhColumnVisibilityChange.emit({columnId:t,visible:r,columnVisibility:{...this.columnVisibility}}),this.scheduleUpdate()};showAllColumns=()=>{const t={};for(const r of this.columns){const e=kt(r);e&&(t[e]=!0)}this.columnVisibility=t,this.table&&this.table.setColumnVisibility(t),this.scheduleUpdate()};hideAllColumns=()=>{const t={};for(const r of this.columns){const e=kt(r);e&&(t[e]=!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 r=new Map;for(const e of this.data){const a=e[t],i=String(a??"");r.has(i)?r.get(i).count++:r.set(i,{value:a,count:1})}return Array.from(r,(([t,{value:r,count:e}])=>({value:r,text:t||"(Blank)",count:e}))).toSorted(((t,r)=>t.text.localeCompare(r.text)))}getHeaderFilterSelectedValues(t){const r=this.headerFilterState.find((r=>r.columnId===t));return r?.selectedValues??[]}isHeaderFilterValueSelected(t,r){return this.getHeaderFilterSelectedValues(t).some((t=>String(t)===String(r)||null===t&&null===r))}toggleHeaderFilterValue=(t,r)=>{const e=this.getHeaderFilterSelectedValues(t),a=String(r);let i;i=e.some((t=>String(t)===a))?e.filter((t=>String(t)!==a)):[...e,r],this.updateHeaderFilterState(t,i)};selectAllHeaderFilterValues=t=>{const r=this.getFilteredHeaderFilterValues(t).map((t=>t.value));this.updateHeaderFilterState(t,r)};clearHeaderFilterValues=t=>{this.updateHeaderFilterState(t,[])};updateHeaderFilterState(t,r){const e=this.headerFilterState.findIndex((r=>r.columnId===t));let a;0===r.length?a=this.headerFilterState.filter((r=>r.columnId!==t)):e>=0?(a=[...this.headerFilterState],a[e]={columnId:t,selectedValues:r}):a=[...this.headerFilterState,{columnId:t,selectedValues:r}],this.headerFilterState=a,this.applyHeaderFilterToTable(t,r),this.bhHeaderFilterChange.emit({columnId:t,selectedValues:r,filterState:a}),this.scheduleUpdate()}applyHeaderFilterToTable(t,r){this.table&&(0===r.length?this.table.getColumn(t)?.setFilterValue(void 0):this.table.getColumn(t)?.setFilterValue(r))}getFilteredHeaderFilterValues(t){const r=this.getUniqueColumnValues(t),e=this.headerFilterSearchText.toLowerCase();return e?r.filter((t=>t.text.toLowerCase().includes(e))):r}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,r=t.length,e=Math.max(this.estimatedRowHeight,1),a=r*e,i=Math.max(0,Math.floor(this.virtualScrollTop/e)-this.overscanCount),o=Math.ceil(this.virtualScrollHeight/e),n=Math.min(r,i+o+2*this.overscanCount);return{visibleRows:t.slice(i,n),startIndex:i,endIndex:n,totalHeight:a,offsetTop:i*e}}setScrollContainerRef=t=>{this.scrollContainerRef=t??null};scrollToRowIndex(t){this.scrollContainerRef&&this.enableVirtualScrolling&&(this.scrollContainerRef.scrollTop=t*this.estimatedRowHeight)}canRowExpand(t){if(this.enableMasterDetail){const r=this.masterDetailConfig;return void 0===r?.enabled||("function"==typeof r.enabled?r.enabled(t.original):r.enabled)}return t.getCanExpand()}calculateSummaryValue(t,r){const e=r.map((r=>r[t.columnId])).filter((t=>null!=t)),a=e.map((t=>Number(t))).filter((t=>Number.isFinite(t))),i=zt[t.type];return i?i(a,e):"custom"===t.type&&t.calculate?t.calculate(e):null}formatSummaryValue(t,r){return t.format?t.format(r):"number"==typeof r?"avg"===t.type?r.toLocaleString(void 0,{minimumFractionDigits:2,maximumFractionDigits:2}):r.toLocaleString():String(r??"")}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 r=localStorage.getItem(gt(t.stateStorageKey));if(r){const e=o(r);if(!e.valid)return null;if(e.value)return t.onLoad(e.value),e.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},r={};for(const e of this.persistedStateKeys)e in t&&(r[e]=t[e]);!function(t){if(t.enable&&t.stateStorageKey)try{localStorage.setItem(gt(t.stateStorageKey),JSON.stringify(t.state)),t.onSave(t.state)}catch(t){}}({enable:this.enableStatePersistence,stateStorageKey:this.stateStorageKey,state:r,onSave:t=>this.bhStateSave.emit({state:t})})}catch{}}applyPersistedState(t){const r=new Set(this.persistedStateKeys);void 0!==t.sorting&&r.has("sorting")&&(this.sortState=t.sorting),void 0!==t.columnFilters&&r.has("columnFilters")&&(this.filterState=t.columnFilters),void 0!==t.globalFilter&&r.has("globalFilter")&&(this.globalFilter=t.globalFilter),void 0!==t.columnSizes&&r.has("columnSizes")&&(this.columnSizes=t.columnSizes),void 0!==t.columnOrder&&r.has("columnOrder")&&(this.columnOrder=t.columnOrder),void 0!==t.columnVisibility&&r.has("columnVisibility")&&(this.columnVisibility=t.columnVisibility),void 0!==t.columnPinning&&r.has("columnPinning")&&(this.columnPinning=t.columnPinning),void 0!==t.pageSize&&r.has("pageSize")&&(this.pageSize=t.pageSize)}clearPersistedState(){!function(t){if(t.stateStorageKey)try{localStorage.removeItem(gt(t.stateStorageKey))}catch(t){}}({stateStorageKey:this.stateStorageKey})}async exportData(t){if(!this.enableExport)return;const r={fileName:"export",format:"csv",includeHeaders:!0,visibleColumnsOnly:!0,selectedRowsOnly:!1,filteredDataOnly:!0,csvDelimiter:",",includeBOM:!0,...this.exportConfig,...t},e=x.startTimer(y.ASYNC_OPERATION,{component:"bh-data-grid",operation:"export",format:r.format??"csv"}),{rows:a,columns:i}=this.getExportData(r);switch(x.increment(y.EVENT_EMIT,{component:"bh-data-grid",event:"export",format:r.format??"csv",row_count:String(a.length),column_count:String(i.length),selected_only:String(r.selectedRowsOnly),filtered_only:String(r.filteredDataOnly)}),r.format){case"csv":this.exportToCSV(a,i,r);break;case"xlsx":try{await Ct(a,i,r)}catch(t){this.logger.error("XLSX export failed",t instanceof Error?t:new Error(String(t))),this.showErrorNotification(this.resolvedLabels.exportFailed,"error")}break;case"json":this.exportToJSON(a,i,r)}e(),this.exportDropdownOpen=!1}getExportData(t){if(!this.table)return{rows:[],columns:[]};let r,e=[...this.columns];if(t.visibleColumnsOnly){const t=this.table.getVisibleFlatColumns().map((t=>t.id));e=e.filter((r=>{const e=kt(r);return e&&t.includes(e)}))}return t.excludeColumns?.length&&(e=e.filter((r=>{const e=kt(r);return!t.excludeColumns?.includes(e||"")}))),r=t.selectedRowsOnly?this.table.getSelectedRowModel().rows.map((t=>t.original)):t.filteredDataOnly?this.table.getFilteredRowModel().rows.map((t=>t.original)):[...this.data],{rows:r,columns:e}}getColumnHeader(t,r){const e=kt(t);return r?.[e]?r[e]:"string"==typeof t.header?t.header:e}getCellValue(t,r,e){const a=kt(r),i=t[a];return e?.[a]?e[a](i,t):null==i?"":i instanceof Date?i.toISOString():"object"==typeof i?JSON.stringify(i):String(i)}exportToCSV(t,r,e){const a=e.csvDelimiter||",",i=[];if(e.includeHeaders){const t=r.map((t=>this.escapeCSVValue(this.getColumnHeader(t,e.customHeaders),a)));i.push(t.join(a))}for(const o of t){const t=r.map((t=>this.escapeCSVValue(this.getCellValue(o,t,e.formatters),a)));i.push(t.join(a))}const o=i.join("\n"),n=new Blob([(e.includeBOM?"\ufeff":"")+o],{type:"text/csv;charset=utf-8;"}),l=`${e.fileName}.csv`;this.downloadBlob(n,l),this.bhExport.emit({format:"csv",rowCount:t.length,columnCount:r.length,fileName:l})}escapeCSVValue(t,r){return t.includes(r)||t.includes('"')||t.includes("\n")||t.includes("\r")?`"${t.replaceAll('"','""')}"`:t}exportToJSON(t,r,e){const a=r.map((t=>kt(t))),i=t.map((t=>{const r={};for(const i of a)if(i){const a=t[i];r[i]=e.formatters?.[i]?e.formatters[i](a,t):a}return r})),o=JSON.stringify(i,null,2),n=new Blob([o],{type:"application/json;charset=utf-8;"}),l=`${e.fileName}.json`;this.downloadBlob(n,l),this.bhExport.emit({format:"json",rowCount:t.length,columnCount:r.length,fileName:l})}downloadBlob(t,r){const e=URL.createObjectURL(t),a=document.createElement("a");a.href=e,a.download=r,a.style.display="none",document.body.appendChild(a),a.click(),document.body.removeChild(a),URL.revokeObjectURL(e)}handleExportClick=t=>{this.exportData({format:t})};toggleExportDropdown=()=>{this.exportDropdownOpen=!this.exportDropdownOpen};getRowIdValue(t,r){return this.getRowId?this.getRowId(t,r):String(t.id??r)}isRowDraggable(t){return!(!this.enableRowDragging||this.rowDragDisabled&&this.rowDragDisabled(t))}handleRowDragStart=(t,r,e,a)=>{if(this.isRowDraggable(r)){if(this.draggingRowId=e,this.dragOverRowId=null,this.dragPosition=null,t.dataTransfer){t.dataTransfer.effectAllowed="move",t.dataTransfer.setData("text/plain",e);const r=t.target.cloneNode(!0);r.style.opacity="0.7",r.style.position="absolute",r.style.top="-1000px",document.body.appendChild(r),t.dataTransfer.setDragImage(r,0,0),this.dragImageCleanupEl=r,this.destroy$&&C(0,this.destroy$)?.subscribe((()=>{this.dragImageCleanupEl?.parentNode&&this.dragImageCleanupEl.parentNode.removeChild(this.dragImageCleanupEl),this.dragImageCleanupEl=void 0}))}this.bhRowDragStart.emit({row:r,rowId:e,fromIndex:a})}else t.preventDefault()};handleRowDragOver=(t,r,e)=>{if(!this.draggingRowId||this.draggingRowId===e)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=e,this.dragPosition=i};handleRowDragLeave=()=>{};handleRowDrop=(t,r,e)=>{if(t.preventDefault(),!this.draggingRowId||this.draggingRowId===e)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)===e));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,r){const e=this.data[t];return this.data.toSpliced(t,1).toSpliced(r,0,e)}getEffectiveFocusedRowId(){return this.focusedRowId??this.internalFocusedRowId}getEffectiveFocusedCell(){return this.focusedCell??this.internalFocusedCell}handleRowFocus=(t,r,e)=>{this.enableFocusTracking&&(this.internalFocusedRowId=r,this.internalFocusedCell=null,void 0!==this.focusedRowId&&(this.focusedRowId=r),void 0!==this.focusedCell&&(this.focusedCell=void 0),this.bhFocusChange.emit({row:t,rowId:r,rowIndex:e,columnId:null,cellValue:null}),this.autoScrollToFocused&&this.scrollToRow(r))};handleCellFocus=(t,r,e,a,i)=>{if(!this.enableFocusTracking)return;const o={rowId:r,columnId:a};this.internalFocusedRowId=r,this.internalFocusedCell=o,void 0!==this.focusedRowId&&(this.focusedRowId=r),void 0!==this.focusedCell&&(this.focusedCell=o),this.bhFocusChange.emit({row:t,rowId:r,rowIndex:e,columnId:a,cellValue:i}),this.autoScrollToFocused&&this.scrollToRow(r)};handleKeyboardNavigation=(t,r,e,a)=>{if(!this.enableFocusTracking||!this.enableKeyboardNavigation)return;if(!this.table)return;const i=this.table.getRowModel().rows,o=this.table.getVisibleLeafColumns();let n=e;const l=a?o.findIndex((t=>t.id===a)):-1;let s=l;switch(t.key){case g.ARROW_UP:t.preventDefault(),n=Math.max(0,e-1);break;case g.ARROW_DOWN:t.preventDefault(),n=Math.min(i.length-1,e+1);break;case g.ARROW_LEFT:a&&s>0&&(t.preventDefault(),s-=1);break;case g.ARROW_RIGHT:a&&s<o.length-1&&(t.preventDefault(),s+=1);break;case g.HOME:t.preventDefault(),(t.ctrlKey||t.metaKey)&&(n=0),a&&(s=0);break;case g.END:t.preventDefault(),(t.ctrlKey||t.metaKey)&&(n=i.length-1),a&&(s=o.length-1);break;case g.PAGE_UP:t.preventDefault(),n=Math.max(0,e-10);break;case g.PAGE_DOWN:t.preventDefault(),n=Math.min(i.length-1,e+10);break;default:return}if(n!==e||a&&s!==l){const t=i[n];if(t){const r=t.id;if(a&&s>=0){const e=o[s],a=t.getValue(e.id);this.handleCellFocus(t.original,r,n,e.id,a)}else this.handleRowFocus(t.original,r,n);this.focusRowElement(r,o[s]?.id)}}};scrollToRow(t){if(!this.scrollContainerRef)return;const r=this.el.shadowRoot?.querySelector(`[data-row-id="${t}"]`);if(r){const t=this.scrollContainerRef.getBoundingClientRect(),e=r.getBoundingClientRect();e.top<t.top?r.scrollIntoView({block:"start",behavior:"smooth"}):e.bottom>t.bottom&&r.scrollIntoView({block:"end",behavior:"smooth"})}}focusRowElement(t,r){this.pendingFocusRafId=requestAnimationFrame((()=>{if(this.pendingFocusRafId=void 0,r){const e=this.el.shadowRoot?.querySelector(`[data-row-id="${t}"] [data-column-id="${r}"]`);e?.focus()}else{const r=this.el.shadowRoot?.querySelector(`[data-row-id="${t}"]`);r?.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 r=this.table.getRowModel().rows,e=r.findIndex((r=>r.id===t));e>=0&&(this.handleRowFocus(r[e].original,t,e),this.focusRowElement(t))}focusCellById(t,r){if(!this.table)return;const e=this.table.getRowModel().rows,a=e.findIndex((r=>r.id===t));if(a>=0){const i=e[a],o=i.getValue(r);this.handleCellFocus(i.original,t,a,r,o),this.focusRowElement(t,r)}}handleSearchPanelInput=t=>{const r=t.target.value;if(this.searchPanelText=r,!r.trim())return this.searchMatches=[],this.currentSearchMatchIndex=0,void this.bhSearchChange.emit({searchText:"",matchCount:0,matches:[]});const e=this.findSearchMatches(r);this.searchMatches=e,this.currentSearchMatchIndex=e.length>0?0:-1,this.bhSearchChange.emit({searchText:r,matchCount:e.length,matches:e}),e.length>0&&this.scrollToSearchMatch(e[0]),this.scheduleUpdate()};findSearchMatches(t){if(!this.table||!t.trim())return[];const r=[],e=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(e,d);if(-1===a)break;r.push({rowId:i.id,columnId:o,matchIndex:c,startIndex:a,endIndex:a+t.length}),d=a+1,c++}}return r}getCellTextValue(t){return null==t?"":"string"==typeof t?t:"number"==typeof t?String(t):"boolean"==typeof t?t?"Yes":"No":t instanceof Date?t.toLocaleDateString():String(t)}scrollToSearchMatch(t){if(!this.scrollContainerRef)return;const r=this.el.shadowRoot?.querySelector(`[data-row-id="${t.rowId}"]`);if(r){const t=this.scrollContainerRef.getBoundingClientRect(),e=r.getBoundingClientRect();(e.top<t.top||e.bottom>t.bottom)&&r.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=>{c(t)?(t.preventDefault(),t.shiftKey?this.focusPreviousMatch():this.focusNextMatch()):h(t)&&this.clearSearch()};getCellSearchMatches(t,r){return this.searchMatches.filter((e=>e.rowId===t&&e.columnId===r))}isCurrentSearchMatch(t){if(this.currentSearchMatchIndex<0||this.currentSearchMatchIndex>=this.searchMatches.length)return!1;const r=this.searchMatches[this.currentSearchMatchIndex];return r.rowId===t.rowId&&r.columnId===t.columnId&&r.matchIndex===t.matchIndex}highlightSearchText(r,e){if(!this.highlightSearchResults||0===e.length||!r)return r;const a=e.toSorted(((t,r)=>t.startIndex-r.startIndex)),i=[];let o=0;for(const e of a){e.startIndex>o&&i.push(r.slice(o,e.startIndex));const a=r.slice(e.startIndex,e.endIndex),n=this.isCurrentSearchMatch(e);i.push(t("span",{class:{"data-grid-search-highlight":!0,"data-grid-search-highlight-current":n}},a)),o=e.endIndex}return o<r.length&&i.push(r.slice(o)),i}handleContextMenu=(t,r,e,a,i,o)=>{if(!this.enableContextMenu)return;t.preventDefault(),t.stopPropagation();const n={row:r,rowId:e,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$&&C(0,this.destroy$)?.subscribe((()=>{this.listeners.add(document,"click",this.handleDocumentClickForContextMenu),this.listeners.add(document,"keydown",this.handleContextMenuKeyDown)}))};disconnectedCallback(){b(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 r=t.clientX,e=t.clientY,a=window.innerWidth,i=window.innerHeight;let o=r,n=e;return r+200>a&&(o=Math.max(0,a-200-10)),e+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=>{h(t)&&this.closeContextMenu()};flexRender(t,r){return"function"==typeof t?t(r):t}formatCellValue(t,r){if(null==t)return"";switch(r?.type){case"number":return"number"==typeof t?t.toLocaleString(void 0,r.numberFormat):String(t);case"date":return t instanceof Date?t.toLocaleDateString(void 0,r.dateFormat):new Date(t).toLocaleDateString(void 0,r.dateFormat);case"boolean":return t?"Yes":"No";default:return String(t)}}showErrorNotification(t,r="error"){this.showInlineErrorNotification&&(this.errorNotificationMessage=t,this.errorNotificationType=r,this.errorNotificationVisible=!0,this.errorNotificationDuration>0&&this.destroy$&&C(this.errorNotificationDuration,this.destroy$)?.subscribe((()=>{this.dismissErrorNotification()})),this.logger.info("Error notification shown",{message:t,type:r}))}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:r,y:e}=this.contextMenuPosition;return t("div",{class:"data-grid-context-menu",onClick:t=>t.stopPropagation(),ref:t=>this.contextMenuRef=t??null,style:{left:`${r}px`,top:`${e}px`}},this.contextMenuResolvedItems.map(((t,r)=>this.renderContextMenuItem(t,r))))}renderContextMenuItem(r,e){if("divider"===r.type)return t("div",{class:"data-grid-context-menu-divider",key:`divider-${e}`,role:"separator"});if("submenu"===r.type&&r.items&&r.items.length>0){const a=this.contextMenuSubmenuOpen===r.id;return t("div",{"aria-disabled":r.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":!!r.disabled,"data-grid-context-menu-item-open":a},key:r.id||`submenu-${e}`,onClick:()=>this.handleContextMenuItemClick(r),onMouseEnter:()=>{r.disabled||(this.contextMenuSubmenuOpen=r.id||null)},role:"menuitem"},r.icon&&t("span",{class:"data-grid-context-menu-item-icon material-symbols-outlined"},r.icon),t("span",{class:"data-grid-context-menu-item-label"},r.label),t("span",{class:"data-grid-context-menu-item-arrow material-symbols-outlined"},"chevron_right"),a&&t("div",{class:"data-grid-context-menu-submenu"},r.items.filter((t=>!1!==t.visible)).map(((t,r)=>this.renderContextMenuItem(t,r)))))}return t("div",{"aria-disabled":r.disabled?"true":"false",class:{"data-grid-context-menu-item":!0,"data-grid-context-menu-item-disabled":!!r.disabled},key:r.id||`item-${e}`,onClick:()=>this.handleContextMenuItemClick(r),role:"menuitem"},r.icon&&t("span",{class:"data-grid-context-menu-item-icon material-symbols-outlined"},r.icon),t("span",{class:"data-grid-context-menu-item-label"},r.label))}renderSearchPanel(){if(!this.enableSearchPanel||!this.showSearchPanel)return null;const r=this.searchMatches.length,e=this.currentSearchMatchIndex,a=r>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?`${e+1} of ${r} 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 r={leftItems:["search"],centerItems:[],rightItems:["export","column-chooser"],...this.toolbarConfig};return t("div",{class:{"data-grid-toolbar":!0,[r.cssClass||""]:!!r.cssClass}},t("div",{class:"data-grid-toolbar-left"},"toolbar"===this.searchPanelPosition&&this.renderSearchPanel(),this.renderToolbarItems(r.leftItems||[]),t("slot",{name:"toolbar-left"})),t("div",{class:"data-grid-toolbar-center"},this.renderToolbarItems(r.centerItems||[]),t("slot",{name:"toolbar-center"})),t("div",{class:"data-grid-toolbar-right"},t("slot",{name:"toolbar-right"}),this.renderToolbarItems(r.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 r=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":!r},disabled:!r,onClick:()=>this.handleClearFilters(),title:this.resolvedLabels.clearAllFilters},t("span",{class:"material-symbols-outlined"},"filter_alt_off"))}renderClearSelectionButton(){const r=this.selectedRowIds&&this.selectedRowIds.length>0;return t("button",{class:{"data-grid-toolbar-btn":!0,"data-grid-toolbar-btn-disabled":!r},disabled:!r,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 r=this.exportFormats[0]||"csv";return t("button",{class:"data-grid-export-btn",onClick:()=>this.handleExportClick(r),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((r=>t("button",{class:"data-grid-export-option",key:r,onClick:()=>this.handleExportClick(r)},t("span",{class:"material-symbols-outlined"},this.getExportFormatIcon(r)),t("span",null,this.getExportFormatLabel(r)))))))}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((r=>{const e=kt(r),a=r.header,i="string"==typeof a?a:e,o=this.isColumnVisible(e);return t("label",{class:{"data-grid-column-chooser-item":!0,"data-grid-column-chooser-item-hidden":!o},key:e},t("bh-checkbox",{checked:o,onBhChange:()=>this.toggleColumnVisibility(e),size:"sm"}),t("span",{class:"data-grid-column-chooser-item-text"},i))})))))}renderHeader(){if(!this.table)return null;const r=this.table.getHeaderGroups();return t("thead",{class:{"data-grid-header":!0,"data-grid-header-sticky":this.stickyHeader}},r.map((r=>t("tr",{class:"data-grid-header-row",key:r.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"}),r.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 r=this.table?.getIsAllRowsSelected(),e=this.table?.getIsSomeRowsSelected();return t("th",{class:"data-grid-header-cell data-grid-cell-select",colSpan:1,role:"columnheader"},t("bh-checkbox",{checked:r,indeterminate:e&&!r,onBhChange:()=>this.table?.toggleAllRowsSelected(),size:"sm"}))}renderHeaderCell(r){if(r.isPlaceholder)return t("th",{class:"data-grid-header-cell",colSpan:1,key:r.id,role:"columnheader"});const e=r.column.id,a=r.column.getCanSort(),i=r.column.getIsSorted(),o=r.column.columnDef.meta,n=this.enableColumnResize&&!1!==o?.resizable,d=this.resizingColumnId===e,c=l(e,this.columnPinning),h="left"===c,u="right"===c,g=h||u,p=this.enableColumnReorder,v={"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":d,"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===e,"data-grid-header-cell-drag-over":this.dragOverColumnId===e,[`data-grid-cell-align-${o?.align||"left"}`]:!0},b=this.getColumnWidth(e,r.column.getSize()),m=b?{width:`${b}px`,minWidth:`${b}px`}:{};if(h){const t=this.table?.getColumn(e)?.getSize()??150;m.position="sticky",m.left=`${s(e,"left",this.columnPinning,this.columnSizes,t)}px`,m.zIndex="11"}else if(u){const t=this.table?.getColumn(e)?.getSize()??150;m.position="sticky",m.right=`${s(e,"right",this.columnPinning,this.columnSizes,t)}px`,m.zIndex="11"}return t("th",{"aria-sort":"asc"===i?"ascending":"desc"===i?"descending":"none",class:v,colSpan:1,draggable:p,key:r.id,onClick:()=>a&&this.handleHeaderClick(r),onDragEnd:()=>this.handleColumnDragEnd(),onDragLeave:()=>this.handleColumnDragLeave(),onDragOver:t=>this.handleColumnDragOver(t,r),onDragStart:t=>this.handleColumnDragStart(t,r),onDrop:t=>this.handleColumnDrop(t,r),role:"columnheader",style:m},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(e,!1)},title:`Pinned ${c}`},"push_pin"),t("span",{class:"data-grid-header-text"},this.flexRender(r.column.columnDef.header,r.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===e,"aria-haspopup":"true",class:{"data-grid-header-filter-btn":!0,"data-grid-header-filter-btn-active":this.hasActiveHeaderFilter(e),"data-grid-header-filter-btn-open":this.headerFilterOpenColumnId===e},onClick:t=>{t.stopPropagation(),this.toggleHeaderFilter(e)},title:this.resolvedLabels.filter},t("span",{class:"material-symbols-outlined"},"filter_alt"))),this.enableHeaderFilter&&this.headerFilterOpenColumnId===e&&this.renderHeaderFilterDropdown(e),n&&t("div",{class:{"data-grid-resize-handle":!0,"data-grid-resize-handle-active":d},onClick:t=>t.stopPropagation(),onMouseDown:t=>this.handleResizeMouseDown(t,r)}))}renderFilterRow(){if(!this.table)return null;const r=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"}),r.map((r=>{const e=r.column.getCanFilter(),a=r.column.columnDef.meta;if(!e||!1===a?.filterable)return t("div",{class:"data-grid-filter-cell",key:r.id,role:"cell"});const i=r.column.getFilterValue()??"";return t("td",{class:"data-grid-filter-cell",key:r.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(r.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(r){const e=this.getFilteredHeaderFilterValues(r),a=this.getHeaderFilterSelectedValues(r),i=e.length>0&&e.every((t=>this.isHeaderFilterValueSelected(r,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(r)},"Select All"),t("button",{class:"data-grid-header-filter-action",disabled:0===a.length,onClick:()=>this.clearHeaderFilterValues(r)},"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(r):this.selectAllHeaderFilterValues(r)},size:"sm"}),t("span",{class:"data-grid-header-filter-item-text"},"(Select All)")),0===e.length?t("div",{class:"data-grid-header-filter-empty"},"No values found"):e.map((e=>{const a=this.isHeaderFilterValueSelected(r,e.value);return t("label",{class:{"data-grid-header-filter-item":!0,"data-grid-header-filter-item-selected":a},key:String(e.value)},t("bh-checkbox",{checked:a,onBhChange:()=>this.toggleHeaderFilterValue(r,e.value),size:"sm"}),t("span",{class:"data-grid-header-filter-item-text"},e.text),t("span",{class:"data-grid-header-filter-item-count"},"(",e.count,")"))}))))}renderBody(){if(!this.table)return null;if(this.loading&&"skeleton"===this.loadingType)return this.renderSkeleton();const r=this.table.getRowModel().rows;if(0===r.length)return this.renderEmptyState();if(this.enableVirtualScrolling){const{visibleRows:r,totalHeight:e,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()})),r.map((t=>t.getIsGrouped()?this.renderGroupRow(t):this.renderDataRow(t))),t("tr",{"aria-hidden":"true",class:"data-grid-virtual-spacer",style:{height:e-a-r.length*this.estimatedRowHeight+"px"}},t("td",{colSpan:this.getColumnCount()})))}return t("tbody",{class:"data-grid-body",role:"rowgroup"},r.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(r){const e=r.getIsSelected(),a=r.getIsExpanded(),i=this.editingRowId===r.id,o=r.id,n=this.draggingRowId===o,l=this.dragOverRowId===o,s=this.isRowDraggable(r.original),d=this.enableFocusTracking&&this.getEffectiveFocusedRowId()===o;return[t("tr",{"aria-selected":e?"true":"false",class:{"data-grid-row":!0,"data-grid-row-selected":e,"data-grid-row-expanded":a,"data-grid-row-editing":i,"data-grid-row-hover":this.hoveredRowId===r.id,"data-grid-row-striped":this.striped&&r.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:r.id,onClick:()=>this.handleRowClick(r),onContextMenu:t=>{this.enableContextMenu&&this.handleContextMenu(t,r.original,o,r.index,null,null)},onDragEnd:t=>this.handleRowDragEnd(t),onDragLeave:t=>this.handleRowDragLeave(t),onDragOver:t=>this.handleRowDragOver(t,r.original,o),onDragStart:t=>this.handleRowDragStart(t,r.original,o,r.index),onDrop:t=>this.handleRowDrop(t,r.original,o),onFocus:()=>{this.enableFocusTracking&&this.handleRowFocus(r.original,o,r.index)},onKeyDown:t=>{this.enableFocusTracking&&this.enableKeyboardNavigation&&this.handleKeyboardNavigation(t,o,r.index)},onMouseEnter:()=>{this.hoveredRowId=r.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(r),(this.enableExpansion||this.enableMasterDetail)&&!this.enableGrouping&&t("td",{class:"data-grid-cell data-grid-cell-expand",onClick:t=>{t.stopPropagation()},role:"cell"},this.canRowExpand(r)&&t("button",{"aria-label":a?this.resolvedLabels.collapseRow:this.resolvedLabels.expandRow,class:"data-grid-expand-btn",onClick:()=>this.handleRowExpand(r)},t("span",{class:"material-symbols-outlined"},a?"expand_more":"chevron_right"))),r.getVisibleCells().map((t=>this.renderCell(r,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(r),size:"sm",title:this.resolvedLabels.edit}))),a&&(this.enableExpansion||this.enableMasterDetail)&&!this.enableGrouping&&this.renderExpandedContent(r)]}renderExpandedContent(r){const e=this.getColumnCount();if(this.enableMasterDetail&&this.masterDetailConfig?.render){const a=this.masterDetailConfig.render(r.original,r.index);return t("tr",{class:"data-grid-row-expansion data-grid-master-detail",key:`${r.id}-detail`},t("td",{class:"data-grid-detail-cell",colSpan:e},"string"==typeof a?t("div",{innerHTML:z(a)}):a))}return t("tr",{class:"data-grid-row-expansion",key:`${r.id}-expansion`},t("td",{colSpan:e},t("slot",{name:"expanded-row"})))}renderSelectionCell(r){if("none"===this.selectionMode||"single-click"===this.selectionMode||"multiple-click"===this.selectionMode)return null;const e=r.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(),r.toggleSelected(!0)},selected:e}):t("bh-checkbox",{checked:e,onBhChange:()=>r.toggleSelected(),size:"sm"}))}renderCell(r,e){const a=e.column.columnDef.meta,i=e.column.id,o=this.isEditing(r.id,i),n=this.enableEditing&&!1!==a?.editable,d=!!this.validationErrors[i],c=r.id,h=l(i,this.columnPinning),u="left"===h,g="right"===h,p=u||g,v=this.getEffectiveFocusedCell(),b=this.enableFocusTracking&&v?.rowId===c&&v?.columnId===i,m={"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":d,"data-grid-cell-pinned":p,"data-grid-cell-pinned-left":u,"data-grid-cell-pinned-right":g,"data-grid-cell-focused":b},f=this.getColumnWidth(i,e.column.getSize()),w=f?{width:`${f}px`,minWidth:`${f}px`}:{};if(u){const t=e.column.getSize()??150;w.position="sticky",w.left=`${s(i,"left",this.columnPinning,this.columnSizes,t)}px`,w.zIndex="1"}else if(g){const t=e.column.getSize()??150;w.position="sticky",w.right=`${s(i,"right",this.columnPinning,this.columnSizes,t)}px`,w.zIndex="1"}return t("td",{class:m,"data-column-id":i,key:e.id,onClick:t=>{t.stopPropagation(),this.handleCellClick(r,e)},onDblClick:t=>{t.stopPropagation(),this.handleCellDoubleClick(r,e)},onFocus:t=>{this.enableFocusTracking&&(t.stopPropagation(),this.handleCellFocus(r.original,c,r.index,i,e.getValue()))},onKeyDown:t=>{this.enableFocusTracking&&this.enableKeyboardNavigation&&this.handleKeyboardNavigation(t,c,r.index,i)},role:"cell",style:w,tabIndex:this.enableFocusTracking?-1:void 0},o?this.renderEditInput(e):this.renderCellContent(e,c),d&&t("span",{class:"data-grid-cell-error-text"},this.validationErrors[i]))}renderCellContent(t,r){const e=this.flexRender(t.column.columnDef.cell,t.getContext());if(null!=e&&e!==t.getValue())return e;const a=this.formatCellValue(t.getValue(),t.column.columnDef.meta);if(this.enableSearchPanel&&this.highlightSearchResults&&r&&this.searchPanelText.trim()){const e=this.getCellSearchMatches(r,t.column.id);if(e.length>0)return this.highlightSearchText(a,e)}return a}renderEditInput(r){const e=r.column.id,a=r.column.columnDef.meta,i=this.editingValues[e]??r.getValue(),o="number"===a?.type?"number":"date"===a?.type?"date":"boolean"===a?.type?"checkbox":"text";return"boolean"===a?.type?t("bh-checkbox",{checked:Boolean(i),onBhChange:t=>this.handleEditValueChange(e,t.detail.checked),size:"sm"}):t("input",{class:"data-grid-edit-input",onInput:t=>{const r=t.target,i="number"===a?.type?Number(r.value):r.value;this.handleEditValueChange(e,i)},onKeyDown:t=>this.handleEditKeyDown(t,e),ref:t=>{t&&(this.pendingFocusRafId=requestAnimationFrame((()=>{this.pendingFocusRafId=void 0,t.focus()})))},type:o,value:null==i?"":String(i)})}renderGroupRow(r){const e=r.getIsExpanded(),a=r.groupingColumnId,i=r.groupingValue,o=r.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":e},d=this.getColumnCount(),c="multiple-checkbox"===this.selectionMode,h=Math.max(1,c?d-1:d);return[t("tr",{"aria-expanded":e?"true":"false",class:s,key:r.id,onClick:()=>this.handleGroupToggle(r),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":e?this.resolvedLabels.collapseGroup:this.resolvedLabels.expandGroup,class:"data-grid-group-toggle"},t("span",{class:"material-symbols-outlined"},e?"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"},String(i))),t("span",{class:"data-grid-group-count"},"(",o.length," ",1===o.length?"item":"items",")"))),e&&r.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 r=Array.from({length:this.skeletonRowCount},((t,r)=>r)),e=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"},r.map((r=>t("tr",{class:"data-grid-row data-grid-row-skeleton",key:r},Array.from({length:e},((r,e)=>t("td",{class:"data-grid-cell",key:e},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 r=this.formEditConfig||{},e=this.formEditIsNew?r.addTitle||this.resolvedLabels.addNewRow:r.editTitle||this.resolvedLabels.editRow,a=r.modalWidth||"md",i=r.fields||this.columns.map((t=>{const r=kt(t),e=t.meta;return{columnId:r,label:"string"==typeof t.header?t.header:r,inputType:"number"===e?.type?"number":"date"===e?.type?"date":"text",required:!1,disabled:!1===e?.editable,readOnly:!1===e?.editable}})),o=r.formRenderer&&this.formEditRowData?r.formRenderer(this.formEditRowData,this.formEditIsNew):void 0;return t("bh-modal",{ariaLabel:e,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"},e),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?z(o):void 0},"string"==typeof o?null:o)),!1!==r.showFooter&&t("div",{class:"data-grid-form-edit-footer",slot:"actions"},t("bh-button",{hierarchy:"secondary",onClick:()=>this.closeFormEditModal()},r.cancelButtonText||this.resolvedLabels.cancel),t("bh-button",{hierarchy:"primary",onClick:()=>this.saveFormEdit()},r.saveButtonText||this.resolvedLabels.save)))}renderFormField(r){const e=this.formEditValues[r.columnId],a=this.formEditErrors[r.columnId];return t("div",{class:{"data-grid-form-field":!0,"data-grid-form-field-error":!!a,"data-grid-form-field-required":!!r.required},key:r.columnId},t("label",{class:"data-grid-form-label"},r.label||r.columnId,r.required&&t("span",{class:"data-grid-form-required"},"*")),this.renderFormInput(r,e),a&&t("span",{class:"data-grid-form-error"},a))}renderFormInput(r,e){switch(r.inputType||"text"){case"select":return t("select",{class:"data-grid-form-input data-grid-form-select",disabled:r.disabled,onChange:t=>this.handleFormFieldChange(r.columnId,t.target.value)},t("option",{selected:!e,value:""},r.placeholder||this.resolvedLabels.selectPlaceholder),r.options?.map((r=>t("option",{key:r.value,selected:e===r.value,value:r.value},r.label))));case"textarea":return t("textarea",{class:"data-grid-form-input data-grid-form-textarea",disabled:r.disabled,onInput:t=>this.handleFormFieldChange(r.columnId,t.target.value),placeholder:r.placeholder,readOnly:r.readOnly,value:e});case"checkbox":return t("input",{checked:!!e,class:"data-grid-form-checkbox",disabled:r.disabled,onChange:t=>this.handleFormFieldChange(r.columnId,t.target.checked),type:"checkbox"});case"number":return t("input",{class:"data-grid-form-input",disabled:r.disabled,onInput:t=>this.handleFormFieldChange(r.columnId,Number.parseFloat(t.target.value)||0),placeholder:r.placeholder,readOnly:r.readOnly,type:"number",value:e});case"date":return t("input",{class:"data-grid-form-input",disabled:r.disabled,onInput:t=>this.handleFormFieldChange(r.columnId,t.target.value),readOnly:r.readOnly,type:"date",value:e});default:return t("input",{class:"data-grid-form-input",disabled:r.disabled,onInput:t=>this.handleFormFieldChange(r.columnId,t.target.value),placeholder:r.placeholder,readOnly:r.readOnly,type:"text",value:e})}}renderTotalSummary(){if(!this.enableTotalSummary||!this.totalSummary?.items?.length)return null;const r=this.table?.getFilteredRowModel().rows.map((t=>t.original))??[],e=new Map;for(const t of this.totalSummary.items){const r=e.get(t.columnId)||[];e.set(t.columnId,[...r,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=kt(a),o=e.get(i);return o&&0!==o.length?t("td",{class:"data-grid-summary-cell",key:i,role:"cell"},o.map(((e,a)=>{const i=this.calculateSummaryValue(e,r),o=this.formatSummaryValue(e,i),n=this.getSummaryLabel(e);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(r){if(!r.enablePagination||!r.table)return null;const e=r.table.getFilteredRowModel().rows.length;return t("bh-pagination",{compact:!0,onBhPageChange:r.onPaginationChange,onBhPageSizeChange:r.onPaginationChange,page:r.page,pageSize:r.pageSize,pageSizeOptions:r.pageSizeOptions,showItemCount:!1,totalItems:e})}({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=x.startTimer(y.COMPONENT_RENDER,{component:"bh-data-grid",row_count:String(this.data?.length??0),column_count:String(this.columns?.length??0),has_pagination:String(this.enablePagination),has_virtual_scroll:String(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 r={"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},e={};this.enableVirtualScrolling?(e.height=`${this.virtualScrollHeight}px`,e.overflowY="auto"):this.maxHeight&&(e.maxHeight=this.maxHeight,e.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:r,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:e},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}]}}};St.style='@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}';export{St as bh_data_grid}
|