@alfadocs/ui-kit-debug 1.109.0 → 1.111.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (162) hide show
  1. package/dist/_chunks/{anamnesis-summary-rows-QhbDdY7b.js → anamnesis-summary-rows-BrTx7diS.js} +2 -2
  2. package/dist/_chunks/{anamnesis-summary-rows-QhbDdY7b.js.map → anamnesis-summary-rows-BrTx7diS.js.map} +1 -1
  3. package/dist/_chunks/{calculator-dialog-BsVVb8cT.js → calculator-dialog-D4TyJwqy.js} +2 -2
  4. package/dist/_chunks/{calculator-dialog-BsVVb8cT.js.map → calculator-dialog-D4TyJwqy.js.map} +1 -1
  5. package/dist/_chunks/{calendar-appointment-editor-dialog-D8DblVjW.js → calendar-appointment-editor-dialog-Oc3Df8O3.js} +4 -4
  6. package/dist/_chunks/{calendar-appointment-editor-dialog-D8DblVjW.js.map → calendar-appointment-editor-dialog-Oc3Df8O3.js.map} +1 -1
  7. package/dist/_chunks/data-grid.agent-CASyEAnb.js +1773 -0
  8. package/dist/_chunks/data-grid.agent-CASyEAnb.js.map +1 -0
  9. package/dist/_chunks/{dialog-C7RWaH08.js → dialog-BTjSQjdY.js} +17 -16
  10. package/dist/_chunks/dialog-BTjSQjdY.js.map +1 -0
  11. package/dist/_chunks/{file-manager-BDKe59sg.js → file-manager-CVxBE4yy.js} +2 -2
  12. package/dist/_chunks/{file-manager-BDKe59sg.js.map → file-manager-CVxBE4yy.js.map} +1 -1
  13. package/dist/_chunks/{help-me-write-templates-YmceSxf5.js → help-me-write-templates-CWxgjDZl.js} +2 -2
  14. package/dist/_chunks/{help-me-write-templates-YmceSxf5.js.map → help-me-write-templates-CWxgjDZl.js.map} +1 -1
  15. package/dist/_chunks/{notes-panel-SlzUL8in.js → notes-panel-Cz621DWV.js} +3 -3
  16. package/dist/_chunks/{notes-panel-SlzUL8in.js.map → notes-panel-Cz621DWV.js.map} +1 -1
  17. package/dist/_chunks/{public-footer-3Jy1zHSs.js → public-footer-DGjLTtNK.js} +30 -30
  18. package/dist/_chunks/public-footer-DGjLTtNK.js.map +1 -0
  19. package/dist/_chunks/{radiograph-panel.agent-0ngF2sGS.js → radiograph-panel.agent-CXah49KM.js} +2 -2
  20. package/dist/_chunks/{radiograph-panel.agent-0ngF2sGS.js.map → radiograph-panel.agent-CXah49KM.js.map} +1 -1
  21. package/dist/_chunks/{reviews-panel-CtrwZOUS.js → reviews-panel-B03auSpQ.js} +210 -207
  22. package/dist/_chunks/reviews-panel-B03auSpQ.js.map +1 -0
  23. package/dist/_chunks/{rich-text-editor-C3nANKZt.js → rich-text-editor-BLS2cK-u.js} +2 -2
  24. package/dist/_chunks/{rich-text-editor-C3nANKZt.js.map → rich-text-editor-BLS2cK-u.js.map} +1 -1
  25. package/dist/_chunks/{signature-request-opW0fQ5P.js → signature-request-DJwdPji_.js} +2 -2
  26. package/dist/_chunks/{signature-request-opW0fQ5P.js.map → signature-request-DJwdPji_.js.map} +1 -1
  27. package/dist/_chunks/{signed-out-frame-Bs_LSPWe.js → signed-out-frame-CPow3aCZ.js} +2 -2
  28. package/dist/_chunks/{signed-out-frame-Bs_LSPWe.js.map → signed-out-frame-CPow3aCZ.js.map} +1 -1
  29. package/dist/_chunks/{task-editor-CmXcj6cC.js → task-editor-jqRf2JP6.js} +2 -2
  30. package/dist/_chunks/{task-editor-CmXcj6cC.js.map → task-editor-jqRf2JP6.js.map} +1 -1
  31. package/dist/_chunks/{widget-picker-DNYIqRT1.js → widget-picker-U4JsEhQE.js} +2 -2
  32. package/dist/_chunks/{widget-picker-DNYIqRT1.js.map → widget-picker-U4JsEhQE.js.map} +1 -1
  33. package/dist/ag-grid.css +0 -10
  34. package/dist/agent-catalog.json +66 -1
  35. package/dist/components/calculator-dialog/index.js +1 -1
  36. package/dist/components/data-grid/data-grid.agent.d.ts +3 -0
  37. package/dist/components/data-grid/data-grid.agent.d.ts.map +1 -0
  38. package/dist/components/data-grid/data-grid.d.ts +28 -0
  39. package/dist/components/data-grid/data-grid.d.ts.map +1 -0
  40. package/dist/components/data-grid/index.d.ts +4 -0
  41. package/dist/components/data-grid/index.d.ts.map +1 -0
  42. package/dist/components/data-grid/index.js +6 -0
  43. package/dist/components/data-grid/index.js.map +1 -0
  44. package/dist/components/dialog/dialog.d.ts +2 -2
  45. package/dist/components/dialog/dialog.d.ts.map +1 -1
  46. package/dist/components/dialog/index.js +1 -1
  47. package/dist/components/file-manager/index.js +1 -1
  48. package/dist/components/index.d.ts +1 -0
  49. package/dist/components/index.d.ts.map +1 -1
  50. package/dist/components/notes-panel/index.js +1 -1
  51. package/dist/components/public-footer/index.js +1 -1
  52. package/dist/components/radiograph-panel/index.js +1 -1
  53. package/dist/components/reviews-panel/index.js +1 -1
  54. package/dist/components/reviews-panel/reviews-panel.d.ts +7 -0
  55. package/dist/components/reviews-panel/reviews-panel.d.ts.map +1 -1
  56. package/dist/components/rich-text-editor/index.js +1 -1
  57. package/dist/components/task-editor/index.js +1 -1
  58. package/dist/components/widget-picker/index.js +1 -1
  59. package/dist/core.css +1 -1
  60. package/dist/host-legacy.css +17 -1
  61. package/dist/i18n/locales/ar.d.ts +1 -0
  62. package/dist/i18n/locales/ar.d.ts.map +1 -1
  63. package/dist/i18n/locales/ar.js +1 -0
  64. package/dist/i18n/locales/ar.js.map +1 -1
  65. package/dist/i18n/locales/de.d.ts +1 -0
  66. package/dist/i18n/locales/de.d.ts.map +1 -1
  67. package/dist/i18n/locales/de.js +1 -0
  68. package/dist/i18n/locales/de.js.map +1 -1
  69. package/dist/i18n/locales/el.d.ts +1 -0
  70. package/dist/i18n/locales/el.d.ts.map +1 -1
  71. package/dist/i18n/locales/el.js +1 -0
  72. package/dist/i18n/locales/el.js.map +1 -1
  73. package/dist/i18n/locales/en.d.ts +1 -0
  74. package/dist/i18n/locales/en.d.ts.map +1 -1
  75. package/dist/i18n/locales/en.js +1 -0
  76. package/dist/i18n/locales/en.js.map +1 -1
  77. package/dist/i18n/locales/es.d.ts +1 -0
  78. package/dist/i18n/locales/es.d.ts.map +1 -1
  79. package/dist/i18n/locales/es.js +1 -0
  80. package/dist/i18n/locales/es.js.map +1 -1
  81. package/dist/i18n/locales/fr.d.ts +1 -0
  82. package/dist/i18n/locales/fr.d.ts.map +1 -1
  83. package/dist/i18n/locales/fr.js +1 -0
  84. package/dist/i18n/locales/fr.js.map +1 -1
  85. package/dist/i18n/locales/hi.d.ts +1 -0
  86. package/dist/i18n/locales/hi.d.ts.map +1 -1
  87. package/dist/i18n/locales/hi.js +1 -0
  88. package/dist/i18n/locales/hi.js.map +1 -1
  89. package/dist/i18n/locales/it.d.ts +1 -0
  90. package/dist/i18n/locales/it.d.ts.map +1 -1
  91. package/dist/i18n/locales/it.js +1 -0
  92. package/dist/i18n/locales/it.js.map +1 -1
  93. package/dist/i18n/locales/ja.d.ts +1 -0
  94. package/dist/i18n/locales/ja.d.ts.map +1 -1
  95. package/dist/i18n/locales/ja.js +1 -0
  96. package/dist/i18n/locales/ja.js.map +1 -1
  97. package/dist/i18n/locales/nl.d.ts +1 -0
  98. package/dist/i18n/locales/nl.d.ts.map +1 -1
  99. package/dist/i18n/locales/nl.js +1 -0
  100. package/dist/i18n/locales/nl.js.map +1 -1
  101. package/dist/i18n/locales/pl.d.ts +1 -0
  102. package/dist/i18n/locales/pl.d.ts.map +1 -1
  103. package/dist/i18n/locales/pl.js +1 -0
  104. package/dist/i18n/locales/pl.js.map +1 -1
  105. package/dist/i18n/locales/pt.d.ts +1 -0
  106. package/dist/i18n/locales/pt.d.ts.map +1 -1
  107. package/dist/i18n/locales/pt.js +1 -0
  108. package/dist/i18n/locales/pt.js.map +1 -1
  109. package/dist/i18n/locales/ro.d.ts +1 -0
  110. package/dist/i18n/locales/ro.d.ts.map +1 -1
  111. package/dist/i18n/locales/ro.js +1 -0
  112. package/dist/i18n/locales/ro.js.map +1 -1
  113. package/dist/i18n/locales/ru.d.ts +1 -0
  114. package/dist/i18n/locales/ru.d.ts.map +1 -1
  115. package/dist/i18n/locales/ru.js +1 -0
  116. package/dist/i18n/locales/ru.js.map +1 -1
  117. package/dist/i18n/locales/sq.d.ts +1 -0
  118. package/dist/i18n/locales/sq.d.ts.map +1 -1
  119. package/dist/i18n/locales/sq.js +1 -0
  120. package/dist/i18n/locales/sq.js.map +1 -1
  121. package/dist/i18n/locales/sv.d.ts +1 -0
  122. package/dist/i18n/locales/sv.d.ts.map +1 -1
  123. package/dist/i18n/locales/sv.js +1 -0
  124. package/dist/i18n/locales/sv.js.map +1 -1
  125. package/dist/i18n/locales/tr.d.ts +1 -0
  126. package/dist/i18n/locales/tr.d.ts.map +1 -1
  127. package/dist/i18n/locales/tr.js +1 -0
  128. package/dist/i18n/locales/tr.js.map +1 -1
  129. package/dist/i18n/locales/zh.d.ts +1 -0
  130. package/dist/i18n/locales/zh.d.ts.map +1 -1
  131. package/dist/i18n/locales/zh.js +1 -0
  132. package/dist/i18n/locales/zh.js.map +1 -1
  133. package/dist/index.js +982 -979
  134. package/dist/index.js.map +1 -1
  135. package/dist/locales/ar.json +1 -0
  136. package/dist/locales/de.json +1 -0
  137. package/dist/locales/el.json +1 -0
  138. package/dist/locales/en.json +1 -0
  139. package/dist/locales/es.json +1 -0
  140. package/dist/locales/fr.json +1 -0
  141. package/dist/locales/hi.json +1 -0
  142. package/dist/locales/it.json +1 -0
  143. package/dist/locales/ja.json +1 -0
  144. package/dist/locales/nl.json +1 -0
  145. package/dist/locales/pl.json +1 -0
  146. package/dist/locales/pt.json +1 -0
  147. package/dist/locales/ro.json +1 -0
  148. package/dist/locales/ru.json +1 -0
  149. package/dist/locales/sq.json +1 -0
  150. package/dist/locales/sv.json +1 -0
  151. package/dist/locales/tr.json +1 -0
  152. package/dist/locales/zh.json +1 -0
  153. package/dist/patterns/anamnesis/index.js +1 -1
  154. package/dist/patterns/calendar/index.js +1 -1
  155. package/dist/patterns/help-me-write-templates/index.js +1 -1
  156. package/dist/patterns/signature-request/index.js +1 -1
  157. package/dist/patterns/signed-out-frame/index.js +1 -1
  158. package/dist/tokens.css +1 -6
  159. package/package.json +6 -1
  160. package/dist/_chunks/dialog-C7RWaH08.js.map +0 -1
  161. package/dist/_chunks/public-footer-3Jy1zHSs.js.map +0 -1
  162. package/dist/_chunks/reviews-panel-CtrwZOUS.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-grid.agent-CASyEAnb.js","sources":["../../node_modules/@tanstack/react-table/dist/FlexRender.js","../../node_modules/@tanstack/store/dist/alien.js","../../node_modules/@tanstack/store/dist/atom.js","../../node_modules/@tanstack/store/dist/shallow.js","../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js","../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js","../../node_modules/use-sync-external-store/shim/index.js","../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.js","../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js","../../node_modules/use-sync-external-store/shim/with-selector.js","../../node_modules/@tanstack/react-store/dist/useSelector.js","../../node_modules/@tanstack/react-table/dist/Subscribe.js","../../node_modules/@tanstack/table-core/dist/core/reactivity/coreReactivityFeature.utils.js","../../node_modules/@tanstack/table-core/dist/core/reactivity/renderPhaseReactivity.js","../../node_modules/@tanstack/react-table/dist/reactivity.js","../../node_modules/@tanstack/table-core/dist/utils.js","../../node_modules/@tanstack/table-core/dist/core/cells/coreCellsFeature.utils.js","../../node_modules/@tanstack/table-core/dist/core/cells/coreCellsFeature.js","../../node_modules/@tanstack/table-core/dist/core/columns/constructColumn.js","../../node_modules/@tanstack/table-core/dist/core/featureStubs.js","../../node_modules/@tanstack/table-core/dist/core/columns/coreColumnsFeature.utils.js","../../node_modules/@tanstack/table-core/dist/core/columns/coreColumnsFeature.js","../../node_modules/@tanstack/table-core/dist/core/headers/constructHeader.js","../../node_modules/@tanstack/table-core/dist/core/headers/buildHeaderGroups.js","../../node_modules/@tanstack/table-core/dist/core/headers/coreHeadersFeature.utils.js","../../node_modules/@tanstack/table-core/dist/core/headers/coreHeadersFeature.js","../../node_modules/@tanstack/table-core/dist/core/rows/constructRow.js","../../node_modules/@tanstack/table-core/dist/core/row-models/createCoreRowModel.js","../../node_modules/@tanstack/table-core/dist/core/row-models/coreRowModelsFeature.utils.js","../../node_modules/@tanstack/table-core/dist/core/row-models/coreRowModelsFeature.js","../../node_modules/@tanstack/table-core/dist/core/cells/constructCell.js","../../node_modules/@tanstack/table-core/dist/core/rows/coreRowsFeature.utils.js","../../node_modules/@tanstack/table-core/dist/core/rows/coreRowsFeature.js","../../node_modules/@tanstack/table-core/dist/core/table/coreTablesFeature.utils.js","../../node_modules/@tanstack/table-core/dist/core/table/coreTablesFeature.js","../../node_modules/@tanstack/table-core/dist/core/coreFeatures.js","../../node_modules/@tanstack/table-core/dist/core/table/constructTable.js","../../node_modules/@tanstack/react-table/dist/useTable.js","../../src/components/data-grid/data-grid.tsx","../../src/components/data-grid/data-grid.agent.ts"],"sourcesContent":["import React from \"react\";\n\n//#region src/FlexRender.tsx\nfunction isReactComponent(component) {\n\treturn isClassComponent(component) || typeof component === \"function\" || isExoticComponent(component);\n}\nfunction isClassComponent(component) {\n\treturn typeof component === \"function\" && (() => {\n\t\tconst proto = Object.getPrototypeOf(component);\n\t\treturn proto.prototype && proto.prototype.isReactComponent;\n\t})();\n}\nfunction isExoticComponent(component) {\n\treturn typeof component === \"object\" && typeof component.$$typeof === \"symbol\" && [\"react.memo\", \"react.forward_ref\"].includes(component.$$typeof.description);\n}\n/**\n* If rendering headers, cells, or footers with custom markup, use flexRender instead of `cell.getValue()` or `cell.renderValue()`.\n* @example flexRender(cell.column.columnDef.cell, cell.getContext())\n*/\nfunction flexRender(Comp, props) {\n\tif (Comp === null || Comp === void 0) return null;\n\treturn isReactComponent(Comp) ? /* @__PURE__ */ React.createElement(Comp, props) : Comp;\n}\n/**\n* Simplified component wrapper of `flexRender`. Use this utility component to render headers, cells, or footers with custom markup.\n* Only one prop (`cell`, `header`, or `footer`) may be passed.\n* @example\n* ```tsx\n* <FlexRender cell={cell} />\n* <FlexRender header={header} />\n* <FlexRender footer={footer} />\n* ```\n*\n* This replaces calling `flexRender` directly like this:\n* ```tsx\n* flexRender(cell.column.columnDef.cell, cell.getContext())\n* flexRender(header.column.columnDef.header, header.getContext())\n* flexRender(footer.column.columnDef.footer, footer.getContext())\n* ```\n*/\nfunction FlexRender(props) {\n\tif (\"cell\" in props && props.cell) {\n\t\tconst cell = props.cell;\n\t\tconst def = cell.column.columnDef;\n\t\tconst groupingCell = cell;\n\t\tconst groupingDef = def;\n\t\tif (groupingCell.getIsAggregated?.()) return flexRender(groupingDef.aggregatedCell ?? def.cell, cell.getContext());\n\t\tif (groupingCell.getIsPlaceholder?.()) return null;\n\t\treturn flexRender(def.cell, cell.getContext());\n\t}\n\tif (\"header\" in props && props.header) return flexRender(props.header.column.columnDef.header, props.header.getContext());\n\tif (\"footer\" in props && props.footer) return flexRender(props.footer.column.columnDef.footer, props.footer.getContext());\n\treturn null;\n}\n\n//#endregion\nexport { FlexRender, flexRender };","//#region src/alien.ts\nconst NONE = 0;\nconst MUTABLE = 1;\nconst WATCHING = 2;\nconst RECURSED_CHECK = 4;\nconst RECURSED = 8;\nconst DIRTY = 16;\nconst PENDING = 32;\n/* @__NO_SIDE_EFFECTS__ */\nfunction createReactiveSystem({ update, notify, unwatched }) {\n\treturn {\n\t\tlink,\n\t\tunlink,\n\t\tpropagate,\n\t\tcheckDirty,\n\t\tshallowPropagate\n\t};\n\tfunction link(dep, sub, version) {\n\t\tconst prevDep = sub.depsTail;\n\t\tif (prevDep !== void 0 && prevDep.dep === dep) return;\n\t\tconst nextDep = prevDep !== void 0 ? prevDep.nextDep : sub.deps;\n\t\tif (nextDep !== void 0 && nextDep.dep === dep) {\n\t\t\tnextDep.version = version;\n\t\t\tsub.depsTail = nextDep;\n\t\t\treturn;\n\t\t}\n\t\tconst prevSub = dep.subsTail;\n\t\tif (prevSub !== void 0 && prevSub.version === version && prevSub.sub === sub) return;\n\t\tconst newLink = sub.depsTail = dep.subsTail = {\n\t\t\tversion,\n\t\t\tdep,\n\t\t\tsub,\n\t\t\tprevDep,\n\t\t\tnextDep,\n\t\t\tprevSub,\n\t\t\tnextSub: void 0\n\t\t};\n\t\tif (nextDep !== void 0) nextDep.prevDep = newLink;\n\t\tif (prevDep !== void 0) prevDep.nextDep = newLink;\n\t\telse sub.deps = newLink;\n\t\tif (prevSub !== void 0) prevSub.nextSub = newLink;\n\t\telse dep.subs = newLink;\n\t}\n\tfunction unlink(link, sub = link.sub) {\n\t\tconst dep = link.dep;\n\t\tconst prevDep = link.prevDep;\n\t\tconst nextDep = link.nextDep;\n\t\tconst nextSub = link.nextSub;\n\t\tconst prevSub = link.prevSub;\n\t\tif (nextDep !== void 0) nextDep.prevDep = prevDep;\n\t\telse sub.depsTail = prevDep;\n\t\tif (prevDep !== void 0) prevDep.nextDep = nextDep;\n\t\telse sub.deps = nextDep;\n\t\tif (nextSub !== void 0) nextSub.prevSub = prevSub;\n\t\telse dep.subsTail = prevSub;\n\t\tif (prevSub !== void 0) prevSub.nextSub = nextSub;\n\t\telse if ((dep.subs = nextSub) === void 0) unwatched(dep);\n\t\treturn nextDep;\n\t}\n\tfunction propagate(link) {\n\t\tlet next = link.nextSub;\n\t\tlet stack;\n\t\ttop: do {\n\t\t\tconst sub = link.sub;\n\t\t\tlet flags = sub.flags;\n\t\t\tif (!(flags & 60)) sub.flags = flags | 32;\n\t\t\telse if (!(flags & (4 | 8))) flags = 0;\n\t\t\telse if (!(flags & 4)) sub.flags = flags & ~8 | 32;\n\t\t\telse if (!(flags & (16 | 32)) && isValidLink(link, sub)) {\n\t\t\t\tsub.flags = flags | (8 | 32);\n\t\t\t\tflags &= 1;\n\t\t\t} else flags = 0;\n\t\t\tif (flags & 2) notify(sub);\n\t\t\tif (flags & 1) {\n\t\t\t\tconst subSubs = sub.subs;\n\t\t\t\tif (subSubs !== void 0) {\n\t\t\t\t\tconst nextSub = (link = subSubs).nextSub;\n\t\t\t\t\tif (nextSub !== void 0) {\n\t\t\t\t\t\tstack = {\n\t\t\t\t\t\t\tvalue: next,\n\t\t\t\t\t\t\tprev: stack\n\t\t\t\t\t\t};\n\t\t\t\t\t\tnext = nextSub;\n\t\t\t\t\t}\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ((link = next) !== void 0) {\n\t\t\t\tnext = link.nextSub;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\twhile (stack !== void 0) {\n\t\t\t\tlink = stack.value;\n\t\t\t\tstack = stack.prev;\n\t\t\t\tif (link !== void 0) {\n\t\t\t\t\tnext = link.nextSub;\n\t\t\t\t\tcontinue top;\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\t} while (true);\n\t}\n\tfunction checkDirty(link, sub) {\n\t\tlet stack;\n\t\tlet checkDepth = 0;\n\t\tlet dirty = false;\n\t\ttop: do {\n\t\t\tconst dep = link.dep;\n\t\t\tconst flags = dep.flags;\n\t\t\tif (sub.flags & 16) dirty = true;\n\t\t\telse if ((flags & (1 | 16)) === (1 | 16)) {\n\t\t\t\tif (update(dep)) {\n\t\t\t\t\tconst subs = dep.subs;\n\t\t\t\t\tif (subs.nextSub !== void 0) shallowPropagate(subs);\n\t\t\t\t\tdirty = true;\n\t\t\t\t}\n\t\t\t} else if ((flags & (1 | 32)) === (1 | 32)) {\n\t\t\t\tif (link.nextSub !== void 0 || link.prevSub !== void 0) stack = {\n\t\t\t\t\tvalue: link,\n\t\t\t\t\tprev: stack\n\t\t\t\t};\n\t\t\t\tlink = dep.deps;\n\t\t\t\tsub = dep;\n\t\t\t\t++checkDepth;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (!dirty) {\n\t\t\t\tconst nextDep = link.nextDep;\n\t\t\t\tif (nextDep !== void 0) {\n\t\t\t\t\tlink = nextDep;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\t\t\twhile (checkDepth--) {\n\t\t\t\tconst firstSub = sub.subs;\n\t\t\t\tconst hasMultipleSubs = firstSub.nextSub !== void 0;\n\t\t\t\tif (hasMultipleSubs) {\n\t\t\t\t\tlink = stack.value;\n\t\t\t\t\tstack = stack.prev;\n\t\t\t\t} else link = firstSub;\n\t\t\t\tif (dirty) {\n\t\t\t\t\tif (update(sub)) {\n\t\t\t\t\t\tif (hasMultipleSubs) shallowPropagate(firstSub);\n\t\t\t\t\t\tsub = link.sub;\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tdirty = false;\n\t\t\t\t} else sub.flags &= ~32;\n\t\t\t\tsub = link.sub;\n\t\t\t\tconst nextDep = link.nextDep;\n\t\t\t\tif (nextDep !== void 0) {\n\t\t\t\t\tlink = nextDep;\n\t\t\t\t\tcontinue top;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn dirty;\n\t\t} while (true);\n\t}\n\tfunction shallowPropagate(link) {\n\t\tdo {\n\t\t\tconst sub = link.sub;\n\t\t\tconst flags = sub.flags;\n\t\t\tif ((flags & (32 | 16)) === 32) {\n\t\t\t\tsub.flags = flags | 16;\n\t\t\t\tif ((flags & (2 | 4)) === 2) notify(sub);\n\t\t\t}\n\t\t} while ((link = link.nextSub) !== void 0);\n\t}\n\tfunction isValidLink(checkLink, sub) {\n\t\tlet link = sub.depsTail;\n\t\twhile (link !== void 0) {\n\t\t\tif (link === checkLink) return true;\n\t\t\tlink = link.prevDep;\n\t\t}\n\t\treturn false;\n\t}\n}\n\n//#endregion\nexport { createReactiveSystem };\n//# sourceMappingURL=alien.js.map","import { createReactiveSystem } from \"./alien.js\";\n\n//#region src/atom.ts\nfunction toObserver(nextHandler, errorHandler, completionHandler) {\n\tconst isObserver = typeof nextHandler === \"object\";\n\tconst self = isObserver ? nextHandler : void 0;\n\treturn {\n\t\tnext: (isObserver ? nextHandler.next : nextHandler)?.bind(self),\n\t\terror: (isObserver ? nextHandler.error : errorHandler)?.bind(self),\n\t\tcomplete: (isObserver ? nextHandler.complete : completionHandler)?.bind(self)\n\t};\n}\nconst queuedEffects = [];\nlet cycle = 0;\nconst { link, unlink, propagate, checkDirty, shallowPropagate } = /* @__PURE__ */ createReactiveSystem({\n\tupdate(atom) {\n\t\treturn atom._update();\n\t},\n\tnotify(effect) {\n\t\tqueuedEffects[queuedEffectsLength++] = effect;\n\t\teffect.flags &= ~2;\n\t},\n\tunwatched(atom) {\n\t\tif (atom.depsTail !== void 0) {\n\t\t\tatom.depsTail = void 0;\n\t\t\tatom.flags = 1 | 16;\n\t\t\tpurgeDeps(atom);\n\t\t}\n\t}\n});\nlet notifyIndex = 0;\nlet queuedEffectsLength = 0;\nlet activeSub;\nlet batchDepth = 0;\nfunction batch(fn) {\n\ttry {\n\t\t++batchDepth;\n\t\tfn();\n\t} finally {\n\t\tif (!--batchDepth) flush();\n\t}\n}\nfunction purgeDeps(sub) {\n\tconst depsTail = sub.depsTail;\n\tlet dep = depsTail !== void 0 ? depsTail.nextDep : sub.deps;\n\twhile (dep !== void 0) dep = unlink(dep, sub);\n}\nfunction flush() {\n\tif (batchDepth > 0) return;\n\twhile (notifyIndex < queuedEffectsLength) {\n\t\tconst effect = queuedEffects[notifyIndex];\n\t\tqueuedEffects[notifyIndex++] = void 0;\n\t\teffect.notify();\n\t}\n\tnotifyIndex = 0;\n\tqueuedEffectsLength = 0;\n}\nfunction createAsyncAtom(getValue, options) {\n\tconst ref = {};\n\tconst atom = createAtom(() => {\n\t\tgetValue().then((data) => {\n\t\t\tconst internalAtom = ref.current;\n\t\t\tif (internalAtom._update({\n\t\t\t\tstatus: \"done\",\n\t\t\t\tdata\n\t\t\t})) {\n\t\t\t\tconst subs = internalAtom.subs;\n\t\t\t\tif (subs !== void 0) {\n\t\t\t\t\tpropagate(subs);\n\t\t\t\t\tshallowPropagate(subs);\n\t\t\t\t\tflush();\n\t\t\t\t}\n\t\t\t}\n\t\t}, (error) => {\n\t\t\tconst internalAtom = ref.current;\n\t\t\tif (internalAtom._update({\n\t\t\t\tstatus: \"error\",\n\t\t\t\terror\n\t\t\t})) {\n\t\t\t\tconst subs = internalAtom.subs;\n\t\t\t\tif (subs !== void 0) {\n\t\t\t\t\tpropagate(subs);\n\t\t\t\t\tshallowPropagate(subs);\n\t\t\t\t\tflush();\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\treturn { status: \"pending\" };\n\t}, options);\n\tref.current = atom;\n\treturn atom;\n}\nfunction createAtom(valueOrFn, options) {\n\tconst isComputed = typeof valueOrFn === \"function\";\n\tconst getter = valueOrFn;\n\tconst atom = {\n\t\t_snapshot: isComputed ? void 0 : valueOrFn,\n\t\tsubs: void 0,\n\t\tsubsTail: void 0,\n\t\tdeps: void 0,\n\t\tdepsTail: void 0,\n\t\tflags: isComputed ? 0 : 1,\n\t\tget() {\n\t\t\tif (activeSub !== void 0) link(atom, activeSub, cycle);\n\t\t\treturn atom._snapshot;\n\t\t},\n\t\tsubscribe(observerOrFn) {\n\t\t\tconst obs = toObserver(observerOrFn);\n\t\t\tconst observed = { current: false };\n\t\t\tconst e = effect(() => {\n\t\t\t\tatom.get();\n\t\t\t\tif (!observed.current) observed.current = true;\n\t\t\t\telse {\n\t\t\t\t\tactiveSub = void 0;\n\t\t\t\t\tobs.next?.(atom._snapshot);\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn { unsubscribe: () => {\n\t\t\t\te.stop();\n\t\t\t} };\n\t\t},\n\t\t_update(getValue) {\n\t\t\tconst prevSub = activeSub;\n\t\t\tconst compare = options?.compare ?? Object.is;\n\t\t\tif (isComputed) {\n\t\t\t\tactiveSub = atom;\n\t\t\t\t++cycle;\n\t\t\t\tatom.depsTail = void 0;\n\t\t\t} else if (getValue === void 0) return false;\n\t\t\tif (isComputed) atom.flags = 1 | 4;\n\t\t\ttry {\n\t\t\t\tconst oldValue = atom._snapshot;\n\t\t\t\tconst newValue = typeof getValue === \"function\" ? getValue(oldValue) : getValue === void 0 && isComputed ? getter(oldValue) : getValue;\n\t\t\t\tif (oldValue === void 0 || !compare(oldValue, newValue)) {\n\t\t\t\t\tatom._snapshot = newValue;\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t} finally {\n\t\t\t\tactiveSub = prevSub;\n\t\t\t\tif (isComputed) atom.flags &= ~4;\n\t\t\t\tpurgeDeps(atom);\n\t\t\t}\n\t\t}\n\t};\n\tif (isComputed) {\n\t\tatom.flags = 1 | 16;\n\t\tatom.get = function() {\n\t\t\tconst flags = atom.flags;\n\t\t\tif (flags & 16 || flags & 32 && checkDirty(atom.deps, atom)) {\n\t\t\t\tif (atom._update()) {\n\t\t\t\t\tconst subs = atom.subs;\n\t\t\t\t\tif (subs !== void 0) shallowPropagate(subs);\n\t\t\t\t}\n\t\t\t} else if (flags & 32) atom.flags = flags & ~32;\n\t\t\tif (activeSub !== void 0) link(atom, activeSub, cycle);\n\t\t\treturn atom._snapshot;\n\t\t};\n\t} else atom.set = function(valueOrFn) {\n\t\tif (atom._update(valueOrFn)) {\n\t\t\tconst subs = atom.subs;\n\t\t\tif (subs !== void 0) {\n\t\t\t\tpropagate(subs);\n\t\t\t\tshallowPropagate(subs);\n\t\t\t\tflush();\n\t\t\t}\n\t\t}\n\t};\n\treturn atom;\n}\nfunction effect(fn) {\n\tconst run = () => {\n\t\tconst prevSub = activeSub;\n\t\tactiveSub = effectObj;\n\t\t++cycle;\n\t\teffectObj.depsTail = void 0;\n\t\teffectObj.flags = 2 | 4;\n\t\ttry {\n\t\t\treturn fn();\n\t\t} finally {\n\t\t\tactiveSub = prevSub;\n\t\t\teffectObj.flags &= ~4;\n\t\t\tpurgeDeps(effectObj);\n\t\t}\n\t};\n\tconst effectObj = {\n\t\tdeps: void 0,\n\t\tdepsTail: void 0,\n\t\tsubs: void 0,\n\t\tsubsTail: void 0,\n\t\tflags: 2 | 4,\n\t\tnotify() {\n\t\t\tconst flags = this.flags;\n\t\t\tif (flags & 16 || flags & 32 && checkDirty(this.deps, this)) run();\n\t\t\telse this.flags = 2;\n\t\t},\n\t\tstop() {\n\t\t\tthis.flags = 0;\n\t\t\tthis.depsTail = void 0;\n\t\t\tpurgeDeps(this);\n\t\t}\n\t};\n\trun();\n\treturn effectObj;\n}\n\n//#endregion\nexport { batch, createAsyncAtom, createAtom, flush, toObserver };\n//# sourceMappingURL=atom.js.map","//#region src/shallow.ts\nfunction shallow(objA, objB) {\n\tif (Object.is(objA, objB)) return true;\n\tif (typeof objA !== \"object\" || objA === null || typeof objB !== \"object\" || objB === null) return false;\n\tif (objA instanceof Map && objB instanceof Map) {\n\t\tif (objA.size !== objB.size) return false;\n\t\tfor (const [k, v] of objA) if (!objB.has(k) || !Object.is(v, objB.get(k))) return false;\n\t\treturn true;\n\t}\n\tif (objA instanceof Set && objB instanceof Set) {\n\t\tif (objA.size !== objB.size) return false;\n\t\tfor (const v of objA) if (!objB.has(v)) return false;\n\t\treturn true;\n\t}\n\tif (objA instanceof Date && objB instanceof Date) {\n\t\tif (objA.getTime() !== objB.getTime()) return false;\n\t\treturn true;\n\t}\n\tconst keysA = getOwnKeys(objA);\n\tif (keysA.length !== getOwnKeys(objB).length) return false;\n\tfor (let i = 0; i < keysA.length; i++) if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) || !Object.is(objA[keysA[i]], objB[keysA[i]])) return false;\n\treturn true;\n}\nfunction getOwnKeys(obj) {\n\treturn Object.keys(obj).concat(Object.getOwnPropertySymbols(obj));\n}\n\n//#endregion\nexport { shallow };\n//# sourceMappingURL=shallow.js.map","/**\n * @license React\n * use-sync-external-store-shim.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\");\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue;\nfunction useSyncExternalStore$2(subscribe, getSnapshot) {\n var value = getSnapshot(),\n _useState = useState({ inst: { value: value, getSnapshot: getSnapshot } }),\n inst = _useState[0].inst,\n forceUpdate = _useState[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n}\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n}\nfunction useSyncExternalStore$1(subscribe, getSnapshot) {\n return getSnapshot();\n}\nvar shim =\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ? useSyncExternalStore$1\n : useSyncExternalStore$2;\nexports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;\n","/**\n * @license React\n * use-sync-external-store-shim.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n }\n function useSyncExternalStore$2(subscribe, getSnapshot) {\n didWarnOld18Alpha ||\n void 0 === React.startTransition ||\n ((didWarnOld18Alpha = !0),\n console.error(\n \"You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release.\"\n ));\n var value = getSnapshot();\n if (!didWarnUncachedGetSnapshot) {\n var cachedValue = getSnapshot();\n objectIs(value, cachedValue) ||\n (console.error(\n \"The result of getSnapshot should be cached to avoid an infinite loop\"\n ),\n (didWarnUncachedGetSnapshot = !0));\n }\n cachedValue = useState({\n inst: { value: value, getSnapshot: getSnapshot }\n });\n var inst = cachedValue[0].inst,\n forceUpdate = cachedValue[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n }\n function checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n }\n function useSyncExternalStore$1(subscribe, getSnapshot) {\n return getSnapshot();\n }\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());\n var React = require(\"react\"),\n objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue,\n didWarnOld18Alpha = !1,\n didWarnUncachedGetSnapshot = !1,\n shim =\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ? useSyncExternalStore$1\n : useSyncExternalStore$2;\n exports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","/**\n * @license React\n * use-sync-external-store-shim/with-selector.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\"),\n shim = require(\"use-sync-external-store/shim\");\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useSyncExternalStore = shim.useSyncExternalStore,\n useRef = React.useRef,\n useEffect = React.useEffect,\n useMemo = React.useMemo,\n useDebugValue = React.useDebugValue;\nexports.useSyncExternalStoreWithSelector = function (\n subscribe,\n getSnapshot,\n getServerSnapshot,\n selector,\n isEqual\n) {\n var instRef = useRef(null);\n if (null === instRef.current) {\n var inst = { hasValue: !1, value: null };\n instRef.current = inst;\n } else inst = instRef.current;\n instRef = useMemo(\n function () {\n function memoizedSelector(nextSnapshot) {\n if (!hasMemo) {\n hasMemo = !0;\n memoizedSnapshot = nextSnapshot;\n nextSnapshot = selector(nextSnapshot);\n if (void 0 !== isEqual && inst.hasValue) {\n var currentSelection = inst.value;\n if (isEqual(currentSelection, nextSnapshot))\n return (memoizedSelection = currentSelection);\n }\n return (memoizedSelection = nextSnapshot);\n }\n currentSelection = memoizedSelection;\n if (objectIs(memoizedSnapshot, nextSnapshot)) return currentSelection;\n var nextSelection = selector(nextSnapshot);\n if (void 0 !== isEqual && isEqual(currentSelection, nextSelection))\n return (memoizedSnapshot = nextSnapshot), currentSelection;\n memoizedSnapshot = nextSnapshot;\n return (memoizedSelection = nextSelection);\n }\n var hasMemo = !1,\n memoizedSnapshot,\n memoizedSelection,\n maybeGetServerSnapshot =\n void 0 === getServerSnapshot ? null : getServerSnapshot;\n return [\n function () {\n return memoizedSelector(getSnapshot());\n },\n null === maybeGetServerSnapshot\n ? void 0\n : function () {\n return memoizedSelector(maybeGetServerSnapshot());\n }\n ];\n },\n [getSnapshot, getServerSnapshot, selector, isEqual]\n );\n var value = useSyncExternalStore(subscribe, instRef[0], instRef[1]);\n useEffect(\n function () {\n inst.hasValue = !0;\n inst.value = value;\n },\n [value]\n );\n useDebugValue(value);\n return value;\n};\n","/**\n * @license React\n * use-sync-external-store-shim/with-selector.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n }\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());\n var React = require(\"react\"),\n shim = require(\"use-sync-external-store/shim\"),\n objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useSyncExternalStore = shim.useSyncExternalStore,\n useRef = React.useRef,\n useEffect = React.useEffect,\n useMemo = React.useMemo,\n useDebugValue = React.useDebugValue;\n exports.useSyncExternalStoreWithSelector = function (\n subscribe,\n getSnapshot,\n getServerSnapshot,\n selector,\n isEqual\n ) {\n var instRef = useRef(null);\n if (null === instRef.current) {\n var inst = { hasValue: !1, value: null };\n instRef.current = inst;\n } else inst = instRef.current;\n instRef = useMemo(\n function () {\n function memoizedSelector(nextSnapshot) {\n if (!hasMemo) {\n hasMemo = !0;\n memoizedSnapshot = nextSnapshot;\n nextSnapshot = selector(nextSnapshot);\n if (void 0 !== isEqual && inst.hasValue) {\n var currentSelection = inst.value;\n if (isEqual(currentSelection, nextSnapshot))\n return (memoizedSelection = currentSelection);\n }\n return (memoizedSelection = nextSnapshot);\n }\n currentSelection = memoizedSelection;\n if (objectIs(memoizedSnapshot, nextSnapshot))\n return currentSelection;\n var nextSelection = selector(nextSnapshot);\n if (void 0 !== isEqual && isEqual(currentSelection, nextSelection))\n return (memoizedSnapshot = nextSnapshot), currentSelection;\n memoizedSnapshot = nextSnapshot;\n return (memoizedSelection = nextSelection);\n }\n var hasMemo = !1,\n memoizedSnapshot,\n memoizedSelection,\n maybeGetServerSnapshot =\n void 0 === getServerSnapshot ? null : getServerSnapshot;\n return [\n function () {\n return memoizedSelector(getSnapshot());\n },\n null === maybeGetServerSnapshot\n ? void 0\n : function () {\n return memoizedSelector(maybeGetServerSnapshot());\n }\n ];\n },\n [getSnapshot, getServerSnapshot, selector, isEqual]\n );\n var value = useSyncExternalStore(subscribe, instRef[0], instRef[1]);\n useEffect(\n function () {\n inst.hasValue = !0;\n inst.value = value;\n },\n [value]\n );\n useDebugValue(value);\n return value;\n };\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.production.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.development.js');\n}\n","import { useCallback } from \"react\";\nimport { useSyncExternalStoreWithSelector } from \"use-sync-external-store/shim/with-selector\";\n\n//#region src/useSelector.ts\nfunction defaultCompare(a, b) {\n\treturn a === b;\n}\n/**\n* Selects a slice of state from an atom or store and subscribes the component\n* to that selection.\n*\n* This is the primary React read hook for TanStack Store. It works with any\n* source that exposes `get()` and `subscribe()`, including atoms, readonly\n* atoms, stores, and readonly stores.\n*\n* Omit the selector to subscribe to the whole value.\n*\n* @example\n* ```tsx\n* const count = useSelector(counterStore, (state) => state.count)\n* ```\n*\n* @example\n* ```tsx\n* const value = useSelector(countAtom)\n* ```\n*/\nfunction useSelector(source, selector = (s) => s, options) {\n\tconst compare = options?.compare ?? defaultCompare;\n\tconst subscribe = useCallback((handleStoreChange) => {\n\t\tconst { unsubscribe } = source.subscribe(handleStoreChange);\n\t\treturn unsubscribe;\n\t}, [source]);\n\tconst getSnapshot = useCallback(() => source.get(), [source]);\n\treturn useSyncExternalStoreWithSelector(subscribe, getSnapshot, getSnapshot, selector, compare);\n}\n\n//#endregion\nexport { useSelector };\n//# sourceMappingURL=useSelector.js.map","'use client';\n\nimport { shallow, useSelector } from \"@tanstack/react-store\";\n\n//#region src/Subscribe.ts\nfunction Subscribe(props) {\n\tconst selected = useSelector(props.source, props.selector, { compare: shallow });\n\treturn typeof props.children === \"function\" ? props.children(selected) : props.children;\n}\n\n//#endregion\nexport { Subscribe };","//#region src/core/reactivity/coreReactivityFeature.utils.ts\n/**\n* Bridges atom instances to the `Store`/`ReadonlyStore` API by exposing\n* a `state` getter backed by `atom.get()`, and wiring `setState` for\n* writable atoms.\n*\n* @example\n* ```ts\n* const store = atomToStore(atom)\n* ```\n*/\nfunction atomToStore(atom) {\n\tconst store = atom;\n\tObject.defineProperty(atom, \"state\", { get() {\n\t\treturn atom.get();\n\t} });\n\tif (\"set\" in atom) store.setState = atom.set.bind(atom);\n\treturn store;\n}\n\n//#endregion\nexport { atomToStore };","//#region src/core/reactivity/renderPhaseReactivity.ts\n/**\n* Creates reactivity bindings for render-phase adapters (React, Preact, Lit):\n* frameworks with plain, non-reactive options that are re-synchronized during\n* component render, where store notifications must not fire until the host\n* commits.\n*\n* Readonly atoms are exposed as live facades. `get()` re-evaluates the\n* resolver against the options of the render in progress — a normal computed\n* cannot know that plain `options.state` changed — and caches the result\n* through the configured comparator so external-store consumers (e.g. React's\n* `useSyncExternalStore`) see referentially stable snapshots. `subscribe()`\n* goes through a hidden computed that tracks the resolver's real atom\n* dependencies plus a commit version, so subscribers are invalidated by\n* actual reactive writes and by the adapter's post-commit publication.\n*\n* @example\n* ```ts\n* import { batch, createAtom } from '@tanstack/react-store'\n*\n* export const reactReactivity = () =>\n* renderPhaseReactivity({ createAtom, batch })\n* ```\n*/\nfunction renderPhaseReactivity(primitives) {\n\tconst { createAtom, batch } = primitives;\n\tconst commitAtom = createAtom(0);\n\treturn {\n\t\tcreateOptionsStore: false,\n\t\twrapExternalAtoms: false,\n\t\taddSubscription: () => {\n\t\t\tthrow new Error(\"Feature not supported in current reactivity implementation\");\n\t\t},\n\t\tunmount: () => {\n\t\t\tthrow new Error(\"Feature not supported in current reactivity implementation\");\n\t\t},\n\t\tschedule: primitives.schedule ?? ((fn) => queueMicrotask(fn)),\n\t\tbatch,\n\t\tuntrack: (fn) => fn(),\n\t\tcreateReadonlyAtom: (fn, atomOptions) => {\n\t\t\tconst compare = atomOptions?.compare ?? Object.is;\n\t\t\tlet hasSnapshot = false;\n\t\t\tlet snapshot;\n\t\t\tconst getSnapshot = () => {\n\t\t\t\tconst nextSnapshot = fn();\n\t\t\t\tif (!hasSnapshot || !compare(snapshot, nextSnapshot)) {\n\t\t\t\t\tsnapshot = nextSnapshot;\n\t\t\t\t\thasSnapshot = true;\n\t\t\t\t}\n\t\t\t\treturn snapshot;\n\t\t\t};\n\t\t\tconst reactiveAtom = createAtom(() => {\n\t\t\t\tcommitAtom.get();\n\t\t\t\treturn getSnapshot();\n\t\t\t}, { compare });\n\t\t\treturn {\n\t\t\t\tget: getSnapshot,\n\t\t\t\tsubscribe: reactiveAtom.subscribe.bind(reactiveAtom)\n\t\t\t};\n\t\t},\n\t\tcreateWritableAtom: (value, atomOptions) => {\n\t\t\treturn createAtom(value, { compare: atomOptions?.compare });\n\t\t},\n\t\tcommit: () => {\n\t\t\tcommitAtom.set((version) => version + 1);\n\t\t}\n\t};\n}\n/**\n* Creates a render-phase source with an explicit commit baseline.\n*\n* Render-phase adapters publish controlled state after the host framework\n* commits so isolated subscribers update, but the component that owns the\n* table already rendered that exact snapshot — forwarding the notification to\n* its root subscription would produce a redundant render. Unlike a last-read\n* filter, speculative reads do not change notification behavior: only\n* `markCommitted()` advances the baseline.\n*/\nfunction createRenderPhaseSource(source, compare = Object.is) {\n\tlet hasCommittedSnapshot = false;\n\tlet committedSnapshot;\n\treturn {\n\t\tget: source.get,\n\t\tmarkCommitted: (snapshot) => {\n\t\t\tcommittedSnapshot = snapshot;\n\t\t\thasCommittedSnapshot = true;\n\t\t},\n\t\tsubscribe: (listener) => source.subscribe((value) => {\n\t\t\tif (!hasCommittedSnapshot || !compare(committedSnapshot, value)) listener(value);\n\t\t})\n\t};\n}\n\n//#endregion\nexport { createRenderPhaseSource, renderPhaseReactivity };","import { batch, createAtom } from \"@tanstack/react-store\";\nimport { renderPhaseReactivity } from \"@tanstack/table-core/reactivity\";\n\n//#region src/reactivity.ts\n/**\n* Creates the table-core reactivity bindings used by the React adapter.\n*\n* React stores table state in TanStack Store atoms and leaves options as plain\n* resolved data because `useTable` synchronizes options during render. The\n* render-phase preset supplies the live readonly-atom facades and the `commit`\n* hook; the store primitives are passed in from `@tanstack/react-store` so all\n* atoms share one store instance with user-provided external atoms.\n*/\nfunction reactReactivity() {\n\treturn renderPhaseReactivity({\n\t\tcreateAtom,\n\t\tbatch\n\t});\n}\n\n//#endregion\nexport { reactReactivity };","//#region src/utils.ts\n/**\n* Applies a TanStack updater to a value.\n*\n* If the updater is a function it is called with the previous value; otherwise the updater value is returned directly.\n*/\nfunction functionalUpdate(updater, input) {\n\treturn typeof updater === \"function\" ? updater(input) : updater;\n}\n/**\n* Clones table state values while preserving non-plain objects.\n*\n* Plain objects and arrays are copied recursively so state updates can avoid mutating existing references.\n*/\nfunction cloneState(value) {\n\tif (Array.isArray(value)) return value.map(cloneState);\n\tif (value && typeof value === \"object\") {\n\t\tconst proto = Object.getPrototypeOf(value);\n\t\tif (proto !== Object.prototype && proto !== null) return value;\n\t\tconst copy = proto === null ? makeObjectMap() : {};\n\t\tconst keys = Object.keys(value);\n\t\tfor (let i = 0; i < keys.length; i++) {\n\t\t\tconst key = keys[i];\n\t\t\tObject.defineProperty(copy, key, {\n\t\t\t\tconfigurable: true,\n\t\t\t\tenumerable: true,\n\t\t\t\tvalue: cloneState(value[key]),\n\t\t\t\twritable: true\n\t\t\t});\n\t\t}\n\t\treturn copy;\n\t}\n\treturn value;\n}\n/**\n* Copies prototype-instance own properties without carrying over lazy memo\n* closures or the per-row cell cache, both of which are bound to the source\n* instance (cached cells reference the source row).\n*/\nfunction copyInstancePropertiesWithoutMemos(target, source) {\n\tconst keys = Object.keys(source);\n\tconst targetRecord = target;\n\tfor (let i = 0; i < keys.length; i++) {\n\t\tconst key = keys[i];\n\t\tif (!key.startsWith(\"_memo_\") && key !== \"_cellsCache\") targetRecord[key] = source[key];\n\t}\n\treturn target;\n}\n/**\n* Creates an object intended only for string-keyed dictionary lookups.\n*\n* The null prototype keeps user-controlled ids such as `__proto__` and\n* `hasOwnProperty` as plain data keys.\n*/\nfunction makeObjectMap() {\n\treturn Object.create(null);\n}\n/**\n* Checks whether an object owns a key, including null-prototype dictionaries.\n*/\nfunction hasOwn(obj, key) {\n\treturn Object.prototype.hasOwnProperty.call(obj, key);\n}\n/**\n* Creates a table state updater for a single state slice.\n*\n* The updater writes through the table base atom for the slice and supports both value and functional updater forms.\n*/\nfunction makeStateUpdater(key, instance) {\n\treturn (updater) => {\n\t\t(instance.options.atoms?.[key] ?? instance.baseAtoms[key]).set((old) => functionalUpdate(updater, old));\n\t};\n}\n/**\n* Checks whether a value is an array or a plain (or null-prototype) object.\n* Class instances, dates, and other exotic values compare by reference only,\n* mirroring the `cloneState` plain-object policy.\n*/\nfunction isPlainContainer(value) {\n\tif (typeof value !== \"object\" || value === null) return false;\n\tif (Array.isArray(value)) return true;\n\tconst proto = Object.getPrototypeOf(value);\n\treturn proto === Object.prototype || proto === null;\n}\n/**\n* Returns every enumerable own key, including symbols and non-index array\n* properties. Keeping key presence explicit distinguishes sparse array holes\n* from entries whose value is `undefined`.\n*/\nfunction getEnumerableOwnKeys(value) {\n\treturn Reflect.ownKeys(value).filter((key) => Object.prototype.propertyIsEnumerable.call(value, key));\n}\nconst MAX_STATE_COMPARE_DEPTH = 3;\n/**\n* Structurally compares two state slice values as deeply as stock feature\n* state can nest and no deeper.\n*\n* Three container levels cover flat maps and arrays, arrays of state objects,\n* array-valued filter values, and `columnResizing.columnSizingStart` tuples.\n* Deeper containers and non-plain values compare by reference. A `false`\n* result is always safe: the state update simply proceeds.\n*/\nfunction stateSlicesEqual(a, b) {\n\treturn stateSlicesEqualAtDepth(a, b, MAX_STATE_COMPARE_DEPTH);\n}\nfunction stateSlicesEqualAtDepth(a, b, depth) {\n\tif (Object.is(a, b)) return true;\n\tif (depth <= 0 || !isPlainContainer(a) || !isPlainContainer(b)) return false;\n\tif (Array.isArray(a) || Array.isArray(b)) {\n\t\tif (!Array.isArray(a) || !Array.isArray(b) || a.length !== b.length) return false;\n\t}\n\tconst keysA = getEnumerableOwnKeys(a);\n\tconst keysB = getEnumerableOwnKeys(b);\n\tif (keysA.length !== keysB.length) return false;\n\tconst recordA = a;\n\tconst recordB = b;\n\tfor (let i = 0; i < keysA.length; i++) {\n\t\tconst key = keysA[i];\n\t\tif (!Object.prototype.propertyIsEnumerable.call(b, key)) return false;\n\t\tif (!stateSlicesEqualAtDepth(recordA[key], recordB[key], depth - 1)) return false;\n\t}\n\treturn true;\n}\n/**\n* Routes a state slice update through the slice's `on<State>Change` handler,\n* preserving the owner's current reference for structural no-ops.\n*\n* Equality is evaluated inside the updater received by the state owner, never\n* against the table's potentially stale controlled snapshot. This keeps\n* same-tick updates composable in queued host containers such as React state,\n* evaluates the original updater only when the owner applies it, and lets atom\n* owners suppress notifications by returning their existing reference.\n*\n* A user-provided change handler is still invoked for a no-op because only that\n* handler's state container can know its latest queued value. The guarded\n* updater returns that container's previous reference, preventing a state write\n* or render in state containers with identity bailout semantics.\n*\n* Hot-path slices that skip guarding entirely (selection maps that scale with\n* row count, pointer-frequency resize state) call their change handler\n* directly instead of routing through this util. Custom feature slices with a\n* cheaper or semantic-aware comparison can pass `isEqual` to override the\n* structural default.\n*/\nfunction setStateSlice(instance, key, updater, isEqual = stateSlicesEqual) {\n\tconst onChangeKey = `on${key.charAt(0).toUpperCase()}${key.slice(1)}Change`;\n\tconst onChange = instance.options[onChangeKey];\n\tif (!onChange) return;\n\tonChange((current) => {\n\t\tconst next = functionalUpdate(updater, current);\n\t\treturn isEqual(current, next) ? current : next;\n\t});\n}\n/**\n* Returns whether a value is a function.\n*/\nfunction isFunction(d) {\n\treturn d instanceof Function;\n}\n/**\n* Flattens a tree of nodes by recursively reading child nodes.\n*\n* The original nodes are preserved in depth-first order.\n*/\nfunction flattenBy(arr, getChildren) {\n\tconst flat = [];\n\tconst recurse = (subArr) => {\n\t\tsubArr.forEach((item) => {\n\t\t\tflat.push(item);\n\t\t\tconst children = getChildren(item);\n\t\t\tif (children.length) recurse(children);\n\t\t});\n\t};\n\trecurse(arr);\n\treturn flat;\n}\n/**\n* Creates a dependency-tracked memoized function for table internals.\n*\n* The memo recomputes only when its dependency tuple changes and can emit debug timing information.\n*/\nconst memo = ({ fn, memoDeps, onAfterCompare, onAfterUpdate, onBeforeCompare, onBeforeUpdate }) => {\n\tlet deps = [];\n\tlet result;\n\tconst memoizedFn = (depArgs) => {\n\t\tonBeforeCompare?.();\n\t\tconst newDeps = memoDeps?.(depArgs);\n\t\tlet depsChanged = !newDeps || newDeps.length !== deps?.length;\n\t\tif (!depsChanged && newDeps) {\n\t\t\tfor (let i = 0; i < newDeps.length; i++) if (newDeps[i] !== deps[i]) {\n\t\t\t\tdepsChanged = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tonAfterCompare?.(depsChanged);\n\t\tif (!depsChanged) return result;\n\t\tdeps = newDeps;\n\t\tonBeforeUpdate?.();\n\t\tresult = fn(...newDeps ?? []);\n\t\tonAfterUpdate?.(result);\n\t\treturn result;\n\t};\n\treturn memoizedFn;\n};\n/**\n* Wraps a callback so that its first invocation is skipped.\n*\n* Row-model `onAfterUpdate` hooks schedule auto-resets when their inputs\n* change. The initial computation of a row model is not a change, so state\n* resets must not fire for it — otherwise merely reading a row model on mount\n* would wipe initial or controlled state.\n*/\nfunction skipFirstRun(fn) {\n\tlet hasRun = false;\n\treturn () => {\n\t\tif (!hasRun) {\n\t\t\thasRun = true;\n\t\t\treturn;\n\t\t}\n\t\tfn();\n\t};\n}\nconst pad = (str, num) => {\n\tstr = String(str);\n\twhile (str.length < num) str = \" \" + str;\n\treturn str;\n};\n/**\n* Creates a table-aware memoized function.\n*\n* This wraps `memo` with table debug options and feature metadata so row models and derived APIs can share consistent diagnostics.\n*/\nfunction tableMemo({ feature, fnName, objectId, onAfterUpdate, table, ...memoOptions }) {\n\tlet startCalcTime;\n\tlet endCalcTime;\n\tlet runCount = 0;\n\tlet debug;\n\tif (process.env.NODE_ENV === \"development\") {\n\t\tconst { debugAll } = table.options;\n\t\tconst { parentName } = getFunctionNameInfo(fnName, \".\");\n\t\tconst debugByParent = table.options[`debug${(parentName != \"table\" ? parentName + \"s\" : parentName).replace(parentName, parentName.charAt(0).toUpperCase() + parentName.slice(1))}`];\n\t\tconst debugByFeature = feature ? table.options[`debug${feature.charAt(0).toUpperCase() + feature.slice(1)}`] : false;\n\t\tdebug = debugAll || debugByParent || debugByFeature;\n\t}\n\tfunction logTime(time, depsChanged) {\n\t\tconst runType = runCount === 0 ? \"(1st run)\" : depsChanged ? \"(rerun #\" + runCount + \")\" : \"(cache)\";\n\t\trunCount++;\n\t\tconsole.groupCollapsed(`%c⏱ ${pad(`${time.toFixed(1)} ms`, 12)} %c${runType}%c ${fnName}%c ${objectId ? `(${fnName.split(\".\")[0]}Id: ${objectId})` : \"\"}`, `font-size: .6rem; font-weight: bold; ${depsChanged ? `color: hsl(\n ${Math.max(0, Math.min(120 - Math.log10(time) * 60, 120))}deg 100% 31%);` : \"\"} `, `color: ${runCount < 2 ? \"#FF00FF\" : \"#FF1493\"}`, \"color: #666\", \"color: #87CEEB\");\n\t\tconsole.info({\n\t\t\tfeature,\n\t\t\tstate: table.store.state,\n\t\t\tdeps: memoOptions.memoDeps?.toString()\n\t\t});\n\t\tconsole.trace();\n\t\tconsole.groupEnd();\n\t}\n\tconst onAfterUpdateHandler = onAfterUpdate ? () => {\n\t\tconst { schedule, untrack } = table._reactivity;\n\t\tschedule(() => untrack(() => onAfterUpdate()));\n\t} : void 0;\n\tconst debugOptions = process.env.NODE_ENV === \"development\" ? {\n\t\tonBeforeCompare: () => {},\n\t\tonAfterCompare: (depsChanged) => {},\n\t\tonBeforeUpdate: () => {\n\t\t\tif (debug) startCalcTime = performance.now();\n\t\t},\n\t\tonAfterUpdate: () => {\n\t\t\tif (debug) {\n\t\t\t\tendCalcTime = performance.now();\n\t\t\t\tlogTime(Math.round((endCalcTime - startCalcTime) * 100) / 100, true);\n\t\t\t}\n\t\t\tonAfterUpdateHandler?.();\n\t\t}\n\t} : { onAfterUpdate: onAfterUpdateHandler };\n\treturn memo({\n\t\t...memoOptions,\n\t\t...debugOptions\n\t});\n}\n/**\n* Assumes that a function name is in the format of `parentName_fnKey` and returns the `fnKey` and `fnName` in the format of `parentName.fnKey`.\n*\n* Splits on the first separator only, so an internal API name such as\n* `table__expandRows` has the `fnKey` `_expandRows`.\n*/\nfunction getFunctionNameInfo(staticFnName, splitBy = \"_\") {\n\tconst [parentName, fnKey] = staticFnName.replace(splitBy, \" \").split(\" \");\n\treturn {\n\t\tfnKey,\n\t\tfnName: `${parentName}.${fnKey}`,\n\t\tparentName\n\t};\n}\n/**\n* Assigns Table API methods directly to the table instance.\n* Unlike row/cell/column/header, the table is a singleton so methods are assigned directly.\n*/\nfunction assignTableAPIs(feature, table, apis) {\n\tfor (const [staticFnName, { fn, memoDeps }] of Object.entries(apis)) {\n\t\tconst { fnKey, fnName } = getFunctionNameInfo(staticFnName);\n\t\ttable[fnKey] = memoDeps ? tableMemo({\n\t\t\tmemoDeps,\n\t\t\tfn,\n\t\t\tfnName,\n\t\t\ttable,\n\t\t\tfeature\n\t\t}) : fn;\n\t}\n}\n/**\n* Assigns API methods to a prototype object for memory-efficient method sharing.\n* All instances created with this prototype will share the same method references.\n*\n* For memoized methods, the memo state is lazily created and stored on each instance.\n* This provides the best of both worlds: shared method code + per-instance caching.\n*/\nfunction assignPrototypeAPIs(feature, prototype, table, apis) {\n\tfor (const [staticFnName, { fn, memoDeps }] of Object.entries(apis)) {\n\t\tconst { fnKey, fnName } = getFunctionNameInfo(staticFnName);\n\t\tif (memoDeps) {\n\t\t\tconst memoKey = `_memo_${fnKey}`;\n\t\t\tprototype[fnKey] = function(...args) {\n\t\t\t\tif (!this[memoKey]) {\n\t\t\t\t\tconst self = this;\n\t\t\t\t\tthis[memoKey] = tableMemo({\n\t\t\t\t\t\tmemoDeps: (depArgs) => memoDeps(self, depArgs),\n\t\t\t\t\t\tfn: (...deps) => fn(self, ...deps),\n\t\t\t\t\t\tfnName,\n\t\t\t\t\t\tobjectId: self.id,\n\t\t\t\t\t\ttable,\n\t\t\t\t\t\tfeature\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn this[memoKey](...args);\n\t\t\t};\n\t\t} else prototype[fnKey] = function(...args) {\n\t\t\treturn fn(this, ...args);\n\t\t};\n\t}\n}\n/**\n* Looks to run the memoized function with the builder pattern on the object if it exists, otherwise fall back to the static method passed in.\n*/\nfunction callMemoOrStaticFn(obj, fnKey, staticFn, ...args) {\n\treturn obj[fnKey]?.(...args) ?? staticFn(obj, ...args);\n}\n\n//#endregion\nexport { assignPrototypeAPIs, assignTableAPIs, callMemoOrStaticFn, cloneState, copyInstancePropertiesWithoutMemos, flattenBy, functionalUpdate, getFunctionNameInfo, hasOwn, isFunction, makeObjectMap, makeStateUpdater, memo, setStateSlice, skipFirstRun, stateSlicesEqual, tableMemo };","//#region src/core/cells/coreCellsFeature.utils.ts\n/**\n* Reads this cell's accessor value from its owning row and column.\n*\n* This is the standalone implementation behind `cell.getValue()`, useful when\n* importing static APIs instead of calling methods from the cell prototype.\n*\n* @example\n* ```ts\n* const value = cell_getValue(cell)\n* ```\n*/\nfunction cell_getValue(cell) {\n\treturn cell.row.getValue(cell.column.id);\n}\n/**\n* Reads the value that should be rendered for this cell.\n*\n* Nullish accessor values are replaced with `table.options.renderFallbackValue`,\n* matching the behavior of `cell.renderValue()`.\n*\n* @example\n* ```ts\n* const rendered = cell_renderValue(cell)\n* ```\n*/\nfunction cell_renderValue(cell) {\n\treturn cell.getValue() ?? cell.table.options.renderFallbackValue;\n}\n/**\n* Builds the render context passed to a column's `cell` template.\n*\n* The returned object includes stable references to the table, row, column, and\n* cell, plus bound `getValue` and `renderValue` helpers for render functions.\n*\n* @example\n* ```ts\n* const context = cell_getContext(cell)\n* ```\n*/\nfunction cell_getContext(cell) {\n\treturn {\n\t\ttable: cell.table,\n\t\tcolumn: cell.column,\n\t\trow: cell.row,\n\t\tcell,\n\t\tgetValue: () => cell.getValue(),\n\t\trenderValue: () => cell.renderValue()\n\t};\n}\n\n//#endregion\nexport { cell_getContext, cell_getValue, cell_renderValue };","import { assignPrototypeAPIs } from \"../../utils.js\";\nimport { cell_getContext, cell_getValue, cell_renderValue } from \"./coreCellsFeature.utils.js\";\n\n//#region src/core/cells/coreCellsFeature.ts\n/**\n* Core feature that adds cell value, render, and context APIs.\n*/\nconst coreCellsFeature = { assignCellPrototype: (prototype, table) => {\n\tassignPrototypeAPIs(\"coreCellsFeature\", prototype, table, {\n\t\tcell_getValue: { fn: (cell) => cell_getValue(cell) },\n\t\tcell_renderValue: { fn: (cell) => cell_renderValue(cell) },\n\t\tcell_getContext: {\n\t\t\tfn: (cell) => cell_getContext(cell),\n\t\t\tmemoDeps: (cell) => [cell]\n\t\t}\n\t});\n} };\n\n//#endregion\nexport { coreCellsFeature };","//#region src/core/columns/constructColumn.ts\n/**\n* Creates or retrieves the column prototype for a table.\n* The prototype is cached on the table and shared by all column instances.\n*/\nfunction getColumnPrototype(table) {\n\tif (!table._columnPrototype) {\n\t\ttable._columnPrototype = { table };\n\t\tconst features = Object.values(table._features);\n\t\tfor (let i = 0; i < features.length; i++) features[i].assignColumnPrototype?.(table._columnPrototype, table);\n\t}\n\treturn table._columnPrototype;\n}\n/**\n* Constructs a column instance from normalized table internals.\n*\n* This wires core properties, feature prototype APIs, and instance data used by table rendering and row-model operations.\n*/\nfunction constructColumn(table, columnDef, depth, parent) {\n\tconst resolvedColumnDef = {\n\t\t...table.getDefaultColumnDef(),\n\t\t...columnDef\n\t};\n\tconst accessorKey = resolvedColumnDef.accessorKey;\n\tconst accessorKeyString = accessorKey === void 0 ? void 0 : String(accessorKey);\n\tconst id = resolvedColumnDef.id ?? accessorKeyString?.replaceAll(\".\", \"_\") ?? (typeof resolvedColumnDef.header === \"string\" ? resolvedColumnDef.header : void 0);\n\tlet accessorFn;\n\tif (resolvedColumnDef.accessorFn) accessorFn = resolvedColumnDef.accessorFn;\n\telse if (accessorKey !== void 0) {\n\t\tif (typeof accessorKey === \"string\" && accessorKey.includes(\".\")) {\n\t\t\tconst keys = accessorKey.split(\".\");\n\t\t\taccessorFn = (originalRow) => {\n\t\t\t\tlet result = originalRow;\n\t\t\t\tfor (let i = 0; i < keys.length; i++) {\n\t\t\t\t\tconst key = keys[i];\n\t\t\t\t\tresult = result?.[key];\n\t\t\t\t\tif (process.env.NODE_ENV === \"development\" && result === void 0) console.warn(`\"${key}\" in deeply nested key \"${accessorKey}\" returned undefined.`);\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t};\n\t\t} else accessorFn = (originalRow) => originalRow[resolvedColumnDef.accessorKey];\n\t}\n\tif (!id) {\n\t\tif (process.env.NODE_ENV === \"development\") throw new Error(resolvedColumnDef.accessorFn ? `coreColumnsFeature require an id when using an accessorFn` : `coreColumnsFeature require an id when using a non-string header`);\n\t\tthrow new Error();\n\t}\n\tconst columnPrototype = getColumnPrototype(table);\n\tconst column = Object.create(columnPrototype);\n\tcolumn.accessorFn = accessorFn;\n\tcolumn.columnDef = resolvedColumnDef;\n\tcolumn.columns = [];\n\tcolumn.depth = depth;\n\tcolumn.id = `${String(id)}`;\n\tcolumn.parent = parent;\n\tconst initFns = table._columnInstanceInitFns;\n\tfor (let i = 0; i < initFns.length; i++) initFns[i](column);\n\treturn column;\n}\n\n//#endregion\nexport { constructColumn };","//#region src/core/featureStubs.ts\n/**\n* Stubs for optional features, used by the core and by any feature or row\n* model that reads another feature.\n*\n* Importing a feature's code from shared code would bundle that feature into\n* every table that uses the shared code, registered or not. A stub instead\n* calls a member the feature declares on its table, column, or row type and\n* assigns when it is registered, and otherwise behaves as if the feature were\n* absent. Members that only other features use are `_`-prefixed and marked\n* `@internal`, such as `table._expandRows`.\n*\n* How code in this package reaches other code:\n*\n* - Its own feature: call the static function, or `callMemoOrStaticFn` to use\n* the feature's memoized API.\n* - The core: import it. Every table bundles the core.\n* - Another feature's state: read `table.atoms.<slice>?.get()`.\n* - Another feature's APIs: call a stub from this file, adding one if needed.\n* - A feature it requires, such as column resizing requiring column sizing:\n* import it.\n*\n* Features assign functions, internal ones included, with `assignTableAPIs` or\n* `assignPrototypeAPIs`, and keep the `init*InstanceData` hooks for mutable\n* per-instance state. The `import/no-restricted-paths` lint rule rejects value\n* imports between feature folders outside an explicit list.\n*\n* Internal: not exported from any package entry point.\n*/\n/** Whether a column is visible; every column is without the feature. */\nfunction getIsColumnVisible(column) {\n\treturn column.getIsVisible?.() ?? true;\n}\n/** Visible leaf columns; all leaf columns without the feature. */\nfunction getVisibleLeafColumns(table) {\n\treturn table.getVisibleLeafColumns?.() ?? table.getAllLeafColumns();\n}\n/**\n* A row's visible cells; all cells, in leaf column order, without the\n* feature.\n*/\nfunction getVisibleCells(row) {\n\treturn row.getVisibleCells?.() ?? row.getAllCells();\n}\n/** A row's visible cells by column id; all cells without the feature. */\nfunction getVisibleCellsByColumnId(row) {\n\treturn row.getVisibleCellsByColumnId?.() ?? row.getAllCellsByColumnId();\n}\n/**\n* Orders leaf columns for display. The column ordering feature applies\n* `columnOrder` and moves grouped columns. Without it, the grouping feature\n* still moves grouped columns, and without either the order is unchanged.\n*/\nfunction orderLeafColumns(table, columns) {\n\tconst orderedTable = table;\n\tconst leafColumns = columns;\n\treturn orderedTable.getOrderColumnsFn?.()(leafColumns) ?? orderedTable._orderGroupedColumns?.(leafColumns) ?? columns;\n}\n/**\n* Orders items that each belong to a leaf column, such as visible leaf columns\n* or a row's visible cells, with start-pinned items first and end-pinned items\n* last. Without the feature, nothing is pinned and the order is unchanged.\n*/\nfunction orderByColumnPinning(table, items, getColumnId, getItemsByColumnId) {\n\treturn table._orderByColumnPinning?.(items, getColumnId, getItemsByColumnId) ?? items;\n}\n/**\n* Visible leaf columns in a pinning region. Without the feature, nothing is\n* pinned: the start and end regions are empty, and the center region and the\n* full list (`position` omitted) hold every visible leaf column.\n*/\nfunction getPinnedVisibleLeafColumns(table, position) {\n\treturn table.getPinnedVisibleLeafColumns?.(position) ?? (position && position !== \"center\" ? [] : getVisibleLeafColumns(table));\n}\n/** The resolved global filter function, if the feature is registered. */\nfunction getGlobalFilterFn(table) {\n\treturn table.getGlobalFilterFn?.();\n}\n/** Whether a column takes part in global filtering; none do without the feature. */\nfunction getCanGlobalFilter(column) {\n\treturn column.getCanGlobalFilter?.() ?? false;\n}\n/**\n* Lists expanded sub-rows inline below their parents. Without the feature no\n* row is expanded, so the row model is returned as is.\n*/\nfunction expandRowModel(table, rowModel) {\n\treturn table._expandRows?.(rowModel) ?? rowModel;\n}\n/**\n* Whether every parent of a row is expanded. Without the feature no row is\n* expanded, so only a top-level row qualifies.\n*/\nfunction getIsAllParentsExpanded(row) {\n\treturn row.getIsAllParentsExpanded?.() ?? !row.parentId;\n}\n/** Resets expanded state if row expanding is registered. */\nfunction autoResetExpanded(table) {\n\ttable.autoResetExpanded?.();\n}\n/** Resets the page index if row pagination is registered. */\nfunction autoResetPageIndex(table) {\n\ttable.autoResetPageIndex?.();\n}\n/** Resets sorting if row sorting is registered. */\nfunction autoResetSorting(table) {\n\ttable.autoResetSorting?.();\n}\n/** Resets cell selection if cell selection is registered. */\nfunction autoResetCellSelection(table) {\n\ttable.autoResetCellSelection?.();\n}\n/**\n* The aggregation executor `rowAggregationFeature` assigns to the table, or\n* `undefined` when the feature is not registered.\n*/\nfunction getAggregateColumnValue(table) {\n\treturn table._aggregateColumnValue;\n}\n\n//#endregion\nexport { autoResetCellSelection, autoResetExpanded, autoResetPageIndex, autoResetSorting, expandRowModel, getAggregateColumnValue, getCanGlobalFilter, getGlobalFilterFn, getIsAllParentsExpanded, getIsColumnVisible, getPinnedVisibleLeafColumns, getVisibleCells, getVisibleCellsByColumnId, getVisibleLeafColumns, orderByColumnPinning, orderLeafColumns };","import { makeObjectMap } from \"../../utils.js\";\nimport { orderLeafColumns } from \"../featureStubs.js\";\nimport { constructColumn } from \"./constructColumn.js\";\n\n//#region src/core/columns/coreColumnsFeature.utils.ts\n/**\n* Flattens this column and every descendant column into a single array.\n*\n* Group columns appear before their child columns, which matches the normalized\n* column hierarchy produced during table construction.\n*\n* @example\n* ```ts\n* const flatColumns = column_getFlatColumns(column)\n* ```\n*/\nfunction column_getFlatColumns(column) {\n\treturn [column, ...column.columns.flatMap((col) => col.getFlatColumns())];\n}\n/**\n* Collects the terminal leaf columns below this column.\n*\n* Group columns return their ordered descendants. Non-group columns return an\n* array containing only the column itself.\n*\n* @example\n* ```ts\n* const leafColumns = column_getLeafColumns(column)\n* ```\n*/\nfunction column_getLeafColumns(column) {\n\tif (column.columns.length) {\n\t\tconst leafColumns = column.columns.flatMap((col) => col.getLeafColumns());\n\t\treturn orderLeafColumns(column.table, leafColumns);\n\t}\n\treturn [column];\n}\n/**\n* Merges built-in, feature, and user default column definitions.\n*\n* Built-in defaults provide a header and fallback cell renderer, feature\n* defaults can add feature-specific column options, and\n* `options.defaultColumn` wins last.\n*\n* @example\n* ```ts\n* const defaultColumn = table_getDefaultColumnDef(table)\n* ```\n*/\nfunction table_getDefaultColumnDef(table) {\n\treturn {\n\t\theader: (props) => {\n\t\t\tconst resolvedColumnDef = props.header.column.columnDef;\n\t\t\tif (resolvedColumnDef.accessorKey) return resolvedColumnDef.accessorKey;\n\t\t\tif (resolvedColumnDef.accessorFn) return resolvedColumnDef.id;\n\t\t\treturn null;\n\t\t},\n\t\tcell: (props) => props.renderValue()?.toString?.() ?? null,\n\t\t...Object.values(table._features).reduce((obj, feature) => {\n\t\t\treturn Object.assign(obj, feature.getDefaultColumnDef?.());\n\t\t}, {}),\n\t\t...table.options.defaultColumn\n\t};\n}\nfunction constructColumns(table, columnDefs, parent, depth = 0) {\n\tconst columns = new Array(columnDefs.length);\n\tfor (let i = 0; i < columnDefs.length; i++) {\n\t\tif (!(i in columnDefs)) continue;\n\t\tconst columnDef = columnDefs[i];\n\t\tconst column = constructColumn(table, columnDef, depth, parent);\n\t\tconst groupingColumnDef = columnDef;\n\t\tcolumn.columns = groupingColumnDef.columns ? constructColumns(table, groupingColumnDef.columns, column, depth + 1) : [];\n\t\tcolumns[i] = column;\n\t}\n\treturn columns;\n}\n/**\n* Normalizes `options.columns` into the table's nested column tree.\n*\n* Each column definition is constructed with its parent and depth, and group\n* column children are recursively constructed.\n*\n* @example\n* ```ts\n* const columns = table_getAllColumns(table)\n* ```\n*/\nfunction table_getAllColumns(table) {\n\treturn constructColumns(table, table.options.columns);\n}\n/**\n* Flattens every table column, including group columns and leaf columns.\n*\n* Use this when parent/group columns must be included in addition to data leaf\n* columns.\n*\n* @example\n* ```ts\n* const flatColumns = table_getAllFlatColumns(table)\n* ```\n*/\nfunction table_getAllFlatColumns(table) {\n\treturn table.getAllColumns().flatMap((column) => column.getFlatColumns());\n}\n/**\n* Builds an id lookup for every flat column in the table.\n*\n* Group columns and leaf columns are included. Later columns with the same id\n* replace earlier entries.\n*\n* @example\n* ```ts\n* const columnsById = table_getAllFlatColumnsById(table)\n* ```\n*/\nfunction table_getAllFlatColumnsById(table) {\n\tconst result = makeObjectMap();\n\tconst flatColumns = table.getAllFlatColumns();\n\tfor (let i = 0; i < flatColumns.length; i++) {\n\t\tconst column = flatColumns[i];\n\t\tresult[column.id] = column;\n\t}\n\treturn result;\n}\n/**\n* Collects all terminal leaf columns in their current table order.\n*\n* Column ordering features can reorder the collected leaves before the result\n* is returned.\n*\n* @example\n* ```ts\n* const leafColumns = table_getAllLeafColumns(table)\n* ```\n*/\nfunction table_getAllLeafColumns(table) {\n\tconst leafColumns = table.getAllColumns().flatMap((c) => c.getLeafColumns());\n\treturn orderLeafColumns(table, leafColumns);\n}\n/**\n* Builds an id lookup for terminal leaf columns only.\n*\n* Parent/group columns are excluded, making this lookup appropriate for row\n* cells and feature state keyed by data columns.\n*\n* @example\n* ```ts\n* const leavesById = table_getAllLeafColumnsById(table)\n* ```\n*/\nfunction table_getAllLeafColumnsById(table) {\n\tconst result = makeObjectMap();\n\tconst leafColumns = table.getAllLeafColumns();\n\tfor (let i = 0; i < leafColumns.length; i++) {\n\t\tconst column = leafColumns[i];\n\t\tresult[column.id] = column;\n\t}\n\treturn result;\n}\n/**\n* Looks up a column by id from the flat column map.\n*\n* The lookup can return group columns or leaf columns. In development, a\n* missing id logs a warning to help catch stale column references.\n*\n* @example\n* ```ts\n* const column = table_getColumn(table, 'firstName')\n* ```\n*/\nfunction table_getColumn(table, columnId) {\n\tconst column = table.getAllFlatColumnsById()[columnId];\n\tif (process.env.NODE_ENV === \"development\" && !column) console.warn(`[Table] Column with id '${columnId}' does not exist.`);\n\treturn column;\n}\n\n//#endregion\nexport { column_getFlatColumns, column_getLeafColumns, table_getAllColumns, table_getAllFlatColumns, table_getAllFlatColumnsById, table_getAllLeafColumns, table_getAllLeafColumnsById, table_getColumn, table_getDefaultColumnDef };","import { assignPrototypeAPIs, assignTableAPIs } from \"../../utils.js\";\nimport { column_getFlatColumns, column_getLeafColumns, table_getAllColumns, table_getAllFlatColumns, table_getAllFlatColumnsById, table_getAllLeafColumns, table_getAllLeafColumnsById, table_getColumn, table_getDefaultColumnDef } from \"./coreColumnsFeature.utils.js\";\n\n//#region src/core/columns/coreColumnsFeature.ts\n/**\n* Core feature that builds the column tree and exposes table/column APIs.\n*/\nconst coreColumnsFeature = {\n\tassignColumnPrototype: (prototype, table) => {\n\t\tassignPrototypeAPIs(\"coreColumnsFeature\", prototype, table, {\n\t\t\tcolumn_getFlatColumns: {\n\t\t\t\tfn: (column) => column_getFlatColumns(column),\n\t\t\t\tmemoDeps: (column) => [column.table.options.columns]\n\t\t\t},\n\t\t\tcolumn_getLeafColumns: {\n\t\t\t\tfn: (column) => column_getLeafColumns(column),\n\t\t\t\tmemoDeps: (column) => [\n\t\t\t\t\tcolumn.table.atoms.columnOrder?.get(),\n\t\t\t\t\tcolumn.table.atoms.grouping?.get(),\n\t\t\t\t\tcolumn.table.options.columns,\n\t\t\t\t\tcolumn.table.options.groupedColumnMode\n\t\t\t\t]\n\t\t\t}\n\t\t});\n\t},\n\tconstructTableAPIs: (table) => {\n\t\tassignTableAPIs(\"coreColumnsFeature\", table, {\n\t\t\ttable_getDefaultColumnDef: {\n\t\t\t\tfn: () => table_getDefaultColumnDef(table),\n\t\t\t\tmemoDeps: () => [table.options.defaultColumn]\n\t\t\t},\n\t\t\ttable_getAllColumns: {\n\t\t\t\tfn: () => table_getAllColumns(table),\n\t\t\t\tmemoDeps: () => [table.options.columns]\n\t\t\t},\n\t\t\ttable_getAllFlatColumns: {\n\t\t\t\tfn: () => table_getAllFlatColumns(table),\n\t\t\t\tmemoDeps: () => [table.options.columns]\n\t\t\t},\n\t\t\ttable_getAllFlatColumnsById: {\n\t\t\t\tfn: () => table_getAllFlatColumnsById(table),\n\t\t\t\tmemoDeps: () => [table.options.columns]\n\t\t\t},\n\t\t\ttable_getAllLeafColumns: {\n\t\t\t\tfn: () => table_getAllLeafColumns(table),\n\t\t\t\tmemoDeps: () => [\n\t\t\t\t\ttable.atoms.columnOrder?.get(),\n\t\t\t\t\ttable.atoms.grouping?.get(),\n\t\t\t\t\ttable.options.columns,\n\t\t\t\t\ttable.options.groupedColumnMode\n\t\t\t\t]\n\t\t\t},\n\t\t\ttable_getAllLeafColumnsById: {\n\t\t\t\tfn: () => table_getAllLeafColumnsById(table),\n\t\t\t\tmemoDeps: () => [table.getAllLeafColumns()]\n\t\t\t},\n\t\t\ttable_getColumn: { fn: (columnId) => table_getColumn(table, columnId) }\n\t\t});\n\t}\n};\n\n//#endregion\nexport { coreColumnsFeature };","//#region src/core/headers/constructHeader.ts\n/**\n* Creates or retrieves the header prototype for a table.\n* The prototype is cached on the table and shared by all header instances.\n*/\nfunction getHeaderPrototype(table) {\n\tif (!table._headerPrototype) {\n\t\ttable._headerPrototype = { table };\n\t\tconst features = Object.values(table._features);\n\t\tfor (let i = 0; i < features.length; i++) features[i].assignHeaderPrototype?.(table._headerPrototype, table);\n\t}\n\treturn table._headerPrototype;\n}\n/**\n* Constructs a header instance from normalized table internals.\n*\n* This wires core properties, feature prototype APIs, and instance data used by table rendering and row-model operations.\n*/\nfunction constructHeader(table, column, options) {\n\tconst headerPrototype = getHeaderPrototype(table);\n\tconst header = Object.create(headerPrototype);\n\theader.colSpan = 0;\n\theader.column = column;\n\theader.depth = options.depth;\n\theader.headerGroup = null;\n\theader.id = options.id ?? column.id;\n\theader.index = options.index;\n\theader.isPlaceholder = !!options.isPlaceholder;\n\theader.placeholderId = options.placeholderId;\n\theader.rowSpan = 0;\n\theader.subHeaders = [];\n\tconst initFns = table._headerInstanceInitFns;\n\tfor (let i = 0; i < initFns.length; i++) initFns[i](header);\n\treturn header;\n}\n\n//#endregion\nexport { constructHeader };","import { getIsColumnVisible } from \"../featureStubs.js\";\nimport { constructHeader } from \"./constructHeader.js\";\n\n//#region src/core/headers/buildHeaderGroups.ts\nfunction getMaxHeaderDepth(columns, depth = 1) {\n\tlet maxDepth = depth;\n\tfor (let i = 0; i < columns.length; i++) {\n\t\tconst column = columns[i];\n\t\tif (getIsColumnVisible(column) && column.columns.length) maxDepth = Math.max(maxDepth, getMaxHeaderDepth(column.columns, depth + 1));\n\t}\n\treturn maxDepth;\n}\nfunction formatHeaderGroupId(headerFamily, depth) {\n\treturn headerFamily ? `${headerFamily}_${depth}` : String(depth);\n}\nfunction formatHeaderId(headerFamily, depth, columnId, childHeaderId) {\n\tlet id = headerFamily ?? \"\";\n\tif (depth) id = id ? `${id}_${depth}` : String(depth);\n\tif (columnId) id = id ? `${id}_${columnId}` : columnId;\n\tif (childHeaderId) id = id ? `${id}_${childHeaderId}` : childHeaderId;\n\treturn id;\n}\nfunction countPendingHeadersForColumn(headers, column) {\n\tlet count = 0;\n\tfor (let i = 0; i < headers.length; i++) if (headers[i].column === column) count++;\n\treturn count;\n}\nfunction constructHeaderGroup(headersToGroup, depth, table, headerFamily, headerGroups, headerGroupInitFns) {\n\tconst headerGroup = {\n\t\tdepth,\n\t\tid: formatHeaderGroupId(headerFamily, depth),\n\t\theaders: []\n\t};\n\tconst pendingParentHeaders = [];\n\tfor (let i = 0; i < headersToGroup.length; i++) {\n\t\tif (!(i in headersToGroup)) continue;\n\t\tconst headerToGroup = headersToGroup[i];\n\t\tconst latestPendingParentHeader = pendingParentHeaders[pendingParentHeaders.length - 1];\n\t\tconst isLeafHeader = headerToGroup.column.depth === headerGroup.depth;\n\t\tlet column;\n\t\tlet isPlaceholder = false;\n\t\tif (isLeafHeader && headerToGroup.column.parent) column = headerToGroup.column.parent;\n\t\telse {\n\t\t\tcolumn = headerToGroup.column;\n\t\t\tisPlaceholder = true;\n\t\t}\n\t\tif (latestPendingParentHeader && latestPendingParentHeader.column === column) latestPendingParentHeader.subHeaders.push(headerToGroup);\n\t\telse {\n\t\t\tconst header = constructHeader(table, column, {\n\t\t\t\tid: formatHeaderId(headerFamily, depth, column.id, headerToGroup.id),\n\t\t\t\tisPlaceholder,\n\t\t\t\tplaceholderId: isPlaceholder ? String(countPendingHeadersForColumn(pendingParentHeaders, column)) : void 0,\n\t\t\t\tdepth,\n\t\t\t\tindex: pendingParentHeaders.length\n\t\t\t});\n\t\t\theader.subHeaders.push(headerToGroup);\n\t\t\tpendingParentHeaders.push(header);\n\t\t}\n\t\theaderGroup.headers.push(headerToGroup);\n\t\theaderToGroup.headerGroup = headerGroup;\n\t}\n\tfor (let i = 0; i < headerGroupInitFns.length; i++) headerGroupInitFns[i](headerGroup);\n\theaderGroups.push(headerGroup);\n\tif (depth > 0) constructHeaderGroup(pendingParentHeaders, depth - 1, table, headerFamily, headerGroups, headerGroupInitFns);\n}\nfunction updateHeaderSpans(headers) {\n\tfor (let i = 0; i < headers.length; i++) {\n\t\tconst header = headers[i];\n\t\tif (!getIsColumnVisible(header.column)) continue;\n\t\tlet colSpan = 0;\n\t\tif (header.subHeaders.length) {\n\t\t\tupdateHeaderSpans(header.subHeaders);\n\t\t\tfor (let j = 0; j < header.subHeaders.length; j++) {\n\t\t\t\tconst child = header.subHeaders[j];\n\t\t\t\tif (!getIsColumnVisible(child.column)) continue;\n\t\t\t\tcolSpan += child.colSpan;\n\t\t\t}\n\t\t} else colSpan = 1;\n\t\theader.colSpan = colSpan;\n\t\tif (header.isPlaceholder && header.subHeaders.length === 1 && header.subHeaders[0].column === header.column) {\n\t\t\tlet rowSpan = 1;\n\t\t\tlet chainChild = header.subHeaders[0];\n\t\t\twhile (chainChild) {\n\t\t\t\tchainChild.rowSpan = 0;\n\t\t\t\trowSpan++;\n\t\t\t\tchainChild = chainChild.subHeaders.length === 1 && chainChild.subHeaders[0].column === header.column ? chainChild.subHeaders[0] : void 0;\n\t\t\t}\n\t\t\theader.rowSpan = rowSpan;\n\t\t} else header.rowSpan = 1;\n\t}\n}\n/**\n* Builds the nested header group structure for a table.\n*\n* The result accounts for visible leaf columns, pinned column groups, and placeholder headers needed to render multi-level headers.\n*/\nfunction buildHeaderGroups(allColumns, columnsToGroup, table, headerFamily) {\n\tconst maxDepth = getMaxHeaderDepth(allColumns);\n\tconst headerGroups = [];\n\tconst headerGroupInitFns = table._headerGroupInstanceInitFns;\n\tconst bottomHeaders = new Array(columnsToGroup.length);\n\tfor (let i = 0; i < columnsToGroup.length; i++) {\n\t\tif (!(i in columnsToGroup)) continue;\n\t\tbottomHeaders[i] = constructHeader(table, columnsToGroup[i], {\n\t\t\tdepth: maxDepth,\n\t\t\tindex: i\n\t\t});\n\t}\n\tconstructHeaderGroup(bottomHeaders, maxDepth - 1, table, headerFamily, headerGroups, headerGroupInitFns);\n\theaderGroups.reverse();\n\tupdateHeaderSpans(headerGroups[0]?.headers ?? []);\n\treturn headerGroups;\n}\n\n//#endregion\nexport { buildHeaderGroups };","import { getVisibleLeafColumns, orderByColumnPinning } from \"../featureStubs.js\";\nimport { buildHeaderGroups } from \"./buildHeaderGroups.js\";\n\n//#region src/core/headers/coreHeadersFeature.utils.ts\nfunction collectLeafHeaders(header, leafHeaders) {\n\tfor (let i = 0; i < header.subHeaders.length; i++) collectLeafHeaders(header.subHeaders[i], leafHeaders);\n\tleafHeaders.push(header);\n}\n/**\n* Walks a header tree and collects all descendant leaf headers.\n*\n* The header itself is included after its descendants, matching the recursive\n* shape used by nested header groups.\n*\n* @example\n* ```ts\n* const leafHeaders = header_getLeafHeaders(header)\n* ```\n*/\nfunction header_getLeafHeaders(header) {\n\tconst leafHeaders = [];\n\tcollectLeafHeaders(header, leafHeaders);\n\treturn leafHeaders;\n}\n/**\n* Builds the render context passed to a column's `header` or `footer` template.\n*\n* The context contains the header, its column, and the owning table instance.\n*\n* @example\n* ```ts\n* const context = header_getContext(header)\n* ```\n*/\nfunction header_getContext(header) {\n\treturn {\n\t\tcolumn: header.column,\n\t\theader,\n\t\ttable: header.column.table\n\t};\n}\n/**\n* Builds visible header groups for the current column tree.\n*\n* Column visibility and pinning are applied before groups are built. When no\n* columns are pinned, the fast path skips pin partitioning.\n*\n* @example\n* ```ts\n* const headerGroups = table_getHeaderGroups(table)\n* ```\n*/\nfunction table_getHeaderGroups(table) {\n\treturn buildHeaderGroups(table.getAllColumns(), orderByColumnPinning(table, getVisibleLeafColumns(table), (column) => column.id), table);\n}\n/**\n* Builds footer groups by reversing the current header groups.\n*\n* Footer rendering uses the same header objects and grouping structure, but\n* renders them from leaf level back toward the root.\n*\n* @example\n* ```ts\n* const footerGroups = table_getFooterGroups(table)\n* ```\n*/\nfunction table_getFooterGroups(table) {\n\treturn [...table.getHeaderGroups()].reverse();\n}\n/**\n* Flattens every header from every header group into one array.\n*\n* The result includes parent headers and placeholder headers, in header-group\n* order from top to bottom.\n*\n* @example\n* ```ts\n* const flatHeaders = table_getFlatHeaders(table)\n* ```\n*/\nfunction table_getFlatHeaders(table) {\n\tconst headerGroups = table.getHeaderGroups();\n\tconst result = [];\n\tfor (let i = 0; i < headerGroups.length; i++) {\n\t\tconst headers = headerGroups[i].headers;\n\t\tfor (let j = 0; j < headers.length; j++) result.push(headers[j]);\n\t}\n\treturn result;\n}\n/**\n* Collects only the leaf headers from the current header tree.\n*\n* Parent/group headers are skipped, making the result suitable for rendering\n* one header per visible leaf column.\n*\n* @example\n* ```ts\n* const leafHeaders = table_getLeafHeaders(table)\n* ```\n*/\nfunction table_getLeafHeaders(table) {\n\tconst topHeaders = table.getHeaderGroups()[0]?.headers ?? [];\n\tconst result = [];\n\tfor (let i = 0; i < topHeaders.length; i++) {\n\t\tconst leafHeaders = topHeaders[i].getLeafHeaders();\n\t\tfor (let j = 0; j < leafHeaders.length; j++) result.push(leafHeaders[j]);\n\t}\n\treturn result;\n}\n\n//#endregion\nexport { header_getContext, header_getLeafHeaders, table_getFlatHeaders, table_getFooterGroups, table_getHeaderGroups, table_getLeafHeaders };","import { assignPrototypeAPIs, assignTableAPIs } from \"../../utils.js\";\nimport { header_getContext, header_getLeafHeaders, table_getFlatHeaders, table_getFooterGroups, table_getHeaderGroups, table_getLeafHeaders } from \"./coreHeadersFeature.utils.js\";\n\n//#region src/core/headers/coreHeadersFeature.ts\n/**\n* Core feature that builds header groups and exposes header context APIs.\n*/\nconst coreHeadersFeature = {\n\tassignHeaderPrototype: (prototype, table) => {\n\t\tassignPrototypeAPIs(\"coreHeadersFeature\", prototype, table, {\n\t\t\theader_getLeafHeaders: {\n\t\t\t\tfn: (header) => header_getLeafHeaders(header),\n\t\t\t\tmemoDeps: (header) => [header.column.table.options.columns]\n\t\t\t},\n\t\t\theader_getContext: {\n\t\t\t\tfn: (header) => header_getContext(header),\n\t\t\t\tmemoDeps: (header) => [header.column.table.options.columns]\n\t\t\t}\n\t\t});\n\t},\n\tconstructTableAPIs: (table) => {\n\t\tassignTableAPIs(\"coreHeadersFeature\", table, {\n\t\t\ttable_getHeaderGroups: {\n\t\t\t\tfn: () => table_getHeaderGroups(table),\n\t\t\t\tmemoDeps: () => [\n\t\t\t\t\ttable.options.columns,\n\t\t\t\t\ttable.atoms.columnOrder?.get(),\n\t\t\t\t\ttable.atoms.grouping?.get(),\n\t\t\t\t\ttable.atoms.columnPinning?.get(),\n\t\t\t\t\ttable.atoms.columnVisibility?.get(),\n\t\t\t\t\ttable.options.groupedColumnMode\n\t\t\t\t]\n\t\t\t},\n\t\t\ttable_getFooterGroups: {\n\t\t\t\tfn: () => table_getFooterGroups(table),\n\t\t\t\tmemoDeps: () => [table.getHeaderGroups()]\n\t\t\t},\n\t\t\ttable_getFlatHeaders: {\n\t\t\t\tfn: () => table_getFlatHeaders(table),\n\t\t\t\tmemoDeps: () => [table.getHeaderGroups()]\n\t\t\t},\n\t\t\ttable_getLeafHeaders: {\n\t\t\t\tfn: () => table_getLeafHeaders(table),\n\t\t\t\tmemoDeps: () => [table.getHeaderGroups()]\n\t\t\t}\n\t\t});\n\t}\n};\n\n//#endregion\nexport { coreHeadersFeature };","import { makeObjectMap } from \"../../utils.js\";\n\n//#region src/core/rows/constructRow.ts\n/**\n* Creates or retrieves the row prototype for a table.\n* The prototype is cached on the table and shared by all row instances.\n*/\nfunction getRowPrototype(table) {\n\tif (!table._rowPrototype) {\n\t\ttable._rowPrototype = { table };\n\t\tconst features = Object.values(table._features);\n\t\tfor (let i = 0; i < features.length; i++) features[i].assignRowPrototype?.(table._rowPrototype, table);\n\t}\n\treturn table._rowPrototype;\n}\n/**\n* Constructs a row instance from normalized table internals.\n*\n* This wires core properties, feature prototype APIs, and instance data used by table rendering and row-model operations.\n*/\nconst constructRow = (table, id, original, rowIndex, depth, subRows, parentId) => {\n\tconst rowPrototype = getRowPrototype(table);\n\tconst row = Object.create(rowPrototype);\n\trow._displayIndexCache = -1;\n\trow._uniqueValuesCache = makeObjectMap();\n\trow._valuesCache = makeObjectMap();\n\trow.depth = depth;\n\trow.id = id;\n\trow.index = rowIndex;\n\trow.original = original;\n\trow.parentId = parentId;\n\trow.subRows = subRows ?? [];\n\tconst initFns = table._rowInstanceInitFns;\n\tfor (let i = 0; i < initFns.length; i++) initFns[i](row);\n\treturn row;\n};\n\n//#endregion\nexport { constructRow };","import { makeObjectMap, skipFirstRun, tableMemo } from \"../../utils.js\";\nimport { autoResetCellSelection, autoResetExpanded, autoResetPageIndex, autoResetSorting } from \"../featureStubs.js\";\nimport { constructRow } from \"../rows/constructRow.js\";\n\n//#region src/core/row-models/createCoreRowModel.ts\n/**\n* Creates a memoized core row model factory.\n*\n* The factory reads the relevant table state atoms and options, then returns a row model function used by the table row-model pipeline.\n*/\nfunction createCoreRowModel() {\n\treturn (table) => {\n\t\treturn tableMemo({\n\t\t\tfeature: \"coreRowModelsFeature\",\n\t\t\ttable,\n\t\t\tfnName: \"table.getCoreRowModel\",\n\t\t\tmemoDeps: () => [table.options.data],\n\t\t\tfn: () => _createCoreRowModel(table, table.options.data),\n\t\t\tonAfterUpdate: skipFirstRun(() => {\n\t\t\t\tautoResetExpanded(table);\n\t\t\t\tautoResetPageIndex(table);\n\t\t\t\tautoResetSorting(table);\n\t\t\t\tautoResetCellSelection(table);\n\t\t\t})\n\t\t});\n\t};\n}\nfunction accessRows(table, rowModel, originalRows, depth = 0, parentRow) {\n\tconst rows = [];\n\tfor (let i = 0; i < originalRows.length; i++) {\n\t\tconst originalRow = originalRows[i];\n\t\tconst row = constructRow(table, table.getRowId(originalRow, i, parentRow), originalRow, i, depth, void 0, parentRow?.id);\n\t\trowModel.flatRows.push(row);\n\t\trowModel.rowsById[row.id] = row;\n\t\trows.push(row);\n\t\tif (table.options.getSubRows) {\n\t\t\trow.originalSubRows = table.options.getSubRows(originalRow, i);\n\t\t\tif (row.originalSubRows?.length) row.subRows = accessRows(table, rowModel, row.originalSubRows, depth + 1, row);\n\t\t}\n\t}\n\treturn rows;\n}\nfunction _createCoreRowModel(table, data) {\n\tconst rowModel = {\n\t\trows: [],\n\t\tflatRows: [],\n\t\trowsById: makeObjectMap()\n\t};\n\trowModel.rows = accessRows(table, rowModel, data);\n\treturn rowModel;\n}\n\n//#endregion\nexport { createCoreRowModel };","import { createCoreRowModel } from \"./createCoreRowModel.js\";\n\n//#region src/core/row-models/coreRowModelsFeature.utils.ts\n/**\n* Resolves the table's unmodified core row model.\n*\n* The factory is created once per table, either from the `coreRowModel` slot on the `features` option\n* or the built-in `createCoreRowModel()`, then reused for later calls.\n*\n* @example\n* ```ts\n* const coreRows = table_getCoreRowModel(table)\n* ```\n*/\nfunction table_getCoreRowModel(table) {\n\tif (!table._rowModels.coreRowModel) table._rowModels.coreRowModel = table.options.features.coreRowModel?.(table) ?? createCoreRowModel()(table);\n\treturn table._rowModels.coreRowModel();\n}\n/**\n* Reads the row model immediately before column/global filtering.\n*\n* Filtering is the first derived row-model stage, so this currently aliases\n* `table.getCoreRowModel()`.\n*\n* @example\n* ```ts\n* const rowsBeforeFiltering = table_getPreFilteredRowModel(table)\n* ```\n*/\nfunction table_getPreFilteredRowModel(table) {\n\treturn table.getCoreRowModel();\n}\n/**\n* Resolves the row model after column and global filtering.\n*\n* When `manualFiltering` is enabled, or no filtered row-model factory was\n* registered, this returns the pre-filtered row model because filtering is\n* expected to happen outside the table.\n*\n* @example\n* ```ts\n* const filteredRows = table_getFilteredRowModel(table)\n* ```\n*/\nfunction table_getFilteredRowModel(table) {\n\tif (!table._rowModels.filteredRowModel) table._rowModels.filteredRowModel = table.options.features.filteredRowModel?.(table);\n\tif (table.options.manualFiltering || !table._rowModels.filteredRowModel) return table.getPreFilteredRowModel();\n\treturn table._rowModels.filteredRowModel();\n}\n/**\n* Reads the row model immediately before grouping.\n*\n* Grouping runs after filtering, so this aliases `table.getFilteredRowModel()`.\n*\n* @example\n* ```ts\n* const rowsBeforeGrouping = table_getPreGroupedRowModel(table)\n* ```\n*/\nfunction table_getPreGroupedRowModel(table) {\n\treturn table.getFilteredRowModel();\n}\n/**\n* Resolves the row model after grouping has produced grouped rows.\n*\n* When `manualGrouping` is enabled, or no grouped row-model factory was\n* registered, this returns the pre-grouped row model unchanged.\n*\n* @example\n* ```ts\n* const groupedRows = table_getGroupedRowModel(table)\n* ```\n*/\nfunction table_getGroupedRowModel(table) {\n\tif (!table._rowModels.groupedRowModel) table._rowModels.groupedRowModel = table.options.features.groupedRowModel?.(table);\n\tif (table.options.manualGrouping || !table._rowModels.groupedRowModel) return table.getPreGroupedRowModel();\n\treturn table._rowModels.groupedRowModel();\n}\n/**\n* Reads the row model immediately before sorting.\n*\n* Sorting runs after grouping, so this aliases `table.getGroupedRowModel()`.\n*\n* @example\n* ```ts\n* const rowsBeforeSorting = table_getPreSortedRowModel(table)\n* ```\n*/\nfunction table_getPreSortedRowModel(table) {\n\treturn table.getGroupedRowModel();\n}\n/**\n* Resolves the row model after sorting has been applied.\n*\n* When `manualSorting` is enabled, or no sorted row-model factory was\n* registered, this returns the pre-sorted row model because sorted data is\n* expected to be supplied by the caller.\n*\n* @example\n* ```ts\n* const sortedRows = table_getSortedRowModel(table)\n* ```\n*/\nfunction table_getSortedRowModel(table) {\n\tif (!table._rowModels.sortedRowModel) table._rowModels.sortedRowModel = table.options.features.sortedRowModel?.(table);\n\tif (table.options.manualSorting || !table._rowModels.sortedRowModel) return table.getPreSortedRowModel();\n\treturn table._rowModels.sortedRowModel();\n}\n/**\n* Reads the row model immediately before row expansion.\n*\n* Expansion runs after sorting, so this aliases `table.getSortedRowModel()`.\n*\n* @example\n* ```ts\n* const rowsBeforeExpansion = table_getPreExpandedRowModel(table)\n* ```\n*/\nfunction table_getPreExpandedRowModel(table) {\n\treturn table.getSortedRowModel();\n}\n/**\n* Resolves the row model after expanded rows have been flattened into view.\n*\n* When `manualExpanding` is enabled, or no expanded row-model factory was\n* registered, this returns the pre-expanded row model unchanged.\n*\n* @example\n* ```ts\n* const expandedRows = table_getExpandedRowModel(table)\n* ```\n*/\nfunction table_getExpandedRowModel(table) {\n\tif (!table._rowModels.expandedRowModel) table._rowModels.expandedRowModel = table.options.features.expandedRowModel?.(table);\n\tif (table.options.manualExpanding || !table._rowModels.expandedRowModel) return table.getPreExpandedRowModel();\n\treturn table._rowModels.expandedRowModel();\n}\n/**\n* Reads the row model immediately before pagination.\n*\n* Pagination is the final built-in row-model stage, so this aliases\n* `table.getExpandedRowModel()`.\n*\n* @example\n* ```ts\n* const rowsBeforePagination = table_getPrePaginatedRowModel(table)\n* ```\n*/\nfunction table_getPrePaginatedRowModel(table) {\n\treturn table.getExpandedRowModel();\n}\n/**\n* Resolves the row model after pagination has sliced rows for the current page.\n*\n* When `manualPagination` is enabled, or no paginated row-model factory was\n* registered, this returns the pre-paginated row model because pagination is\n* expected to happen before data reaches the table.\n*\n* @example\n* ```ts\n* const pageRows = table_getPaginatedRowModel(table)\n* ```\n*/\nfunction table_getPaginatedRowModel(table) {\n\tif (!table._rowModels.paginatedRowModel) table._rowModels.paginatedRowModel = table.options.features.paginatedRowModel?.(table);\n\tif (table.options.manualPagination || !table._rowModels.paginatedRowModel) return table.getPrePaginatedRowModel();\n\treturn table._rowModels.paginatedRowModel();\n}\n/**\n* Resolves the final row model consumed by renderers.\n*\n* This is the end of the built-in row-model pipeline: core -> filtering ->\n* grouping -> sorting -> expanding -> pagination.\n*\n* @example\n* ```ts\n* const visibleRows = table_getRowModel(table)\n* ```\n*/\nfunction table_getRowModel(table) {\n\treturn table.getPaginatedRowModel();\n}\n\n//#endregion\nexport { table_getCoreRowModel, table_getExpandedRowModel, table_getFilteredRowModel, table_getGroupedRowModel, table_getPaginatedRowModel, table_getPreExpandedRowModel, table_getPreFilteredRowModel, table_getPreGroupedRowModel, table_getPrePaginatedRowModel, table_getPreSortedRowModel, table_getRowModel, table_getSortedRowModel };","import { assignTableAPIs } from \"../../utils.js\";\nimport { table_getCoreRowModel, table_getExpandedRowModel, table_getFilteredRowModel, table_getGroupedRowModel, table_getPaginatedRowModel, table_getPreExpandedRowModel, table_getPreFilteredRowModel, table_getPreGroupedRowModel, table_getPrePaginatedRowModel, table_getPreSortedRowModel, table_getRowModel, table_getSortedRowModel } from \"./coreRowModelsFeature.utils.js\";\n\n//#region src/core/row-models/coreRowModelsFeature.ts\n/**\n* Core feature that wires table row-model accessors and row-model caches.\n*/\nconst coreRowModelsFeature = { constructTableAPIs: (table) => {\n\tassignTableAPIs(\"coreRowModelsFeature\", table, {\n\t\ttable_getCoreRowModel: { fn: () => table_getCoreRowModel(table) },\n\t\ttable_getPreFilteredRowModel: { fn: () => table_getPreFilteredRowModel(table) },\n\t\ttable_getFilteredRowModel: { fn: () => table_getFilteredRowModel(table) },\n\t\ttable_getPreGroupedRowModel: { fn: () => table_getPreGroupedRowModel(table) },\n\t\ttable_getGroupedRowModel: { fn: () => table_getGroupedRowModel(table) },\n\t\ttable_getPreSortedRowModel: { fn: () => table_getPreSortedRowModel(table) },\n\t\ttable_getSortedRowModel: { fn: () => table_getSortedRowModel(table) },\n\t\ttable_getPreExpandedRowModel: { fn: () => table_getPreExpandedRowModel(table) },\n\t\ttable_getExpandedRowModel: { fn: () => table_getExpandedRowModel(table) },\n\t\ttable_getPrePaginatedRowModel: { fn: () => table_getPrePaginatedRowModel(table) },\n\t\ttable_getPaginatedRowModel: { fn: () => table_getPaginatedRowModel(table) },\n\t\ttable_getRowModel: { fn: () => table_getRowModel(table) }\n\t});\n} };\n\n//#endregion\nexport { coreRowModelsFeature };","//#region src/core/cells/constructCell.ts\n/**\n* Creates or retrieves the cell prototype for a table.\n* The prototype is cached on the table and shared by all cell instances.\n*/\nfunction getCellPrototype(table) {\n\tif (!table._cellPrototype) {\n\t\ttable._cellPrototype = { table };\n\t\tconst features = Object.values(table._features);\n\t\tfor (let i = 0; i < features.length; i++) features[i].assignCellPrototype?.(table._cellPrototype, table);\n\t}\n\treturn table._cellPrototype;\n}\n/**\n* Constructs a cell instance from normalized table internals.\n*\n* This wires core properties, feature prototype APIs, and instance data used by table rendering and row-model operations.\n*/\nfunction constructCell(column, row, table) {\n\tconst cellPrototype = getCellPrototype(table);\n\tconst cell = Object.create(cellPrototype);\n\tcell.column = column;\n\tcell.id = `${row.id}_${column.id}`;\n\tcell.row = row;\n\tconst initFns = table._cellInstanceInitFns;\n\tfor (let i = 0; i < initFns.length; i++) initFns[i](cell);\n\treturn cell;\n}\n\n//#endregion\nexport { constructCell };","import { flattenBy, hasOwn, makeObjectMap } from \"../../utils.js\";\nimport { expandRowModel } from \"../featureStubs.js\";\nimport { constructCell } from \"../cells/constructCell.js\";\n\n//#region src/core/rows/coreRowsFeature.utils.ts\n/**\n* Returns this row's zero-based position in the current pre-pagination row\n* model. Rows outside that model return `-1`.\n*/\nfunction row_getDisplayIndex(row) {\n\tconst rows = row.table.getRowsInDisplayOrder();\n\tconst displayIndex = row._displayIndexCache;\n\treturn rows[displayIndex] === row ? displayIndex : -1;\n}\n/**\n* Returns the rows in the current display order after assigning their\n* zero-based display indexes.\n*\n* When expanded rows bypass pagination, expanded descendants are inserted into\n* the returned order even though they are absent from the pre-pagination row\n* model.\n*/\nfunction table_getRowsInDisplayOrder(table) {\n\tconst rowModel = table.getPrePaginatedRowModel();\n\tconst rows = table.options.paginateExpandedRows === false ? expandRowModel(table, rowModel).rows : rowModel.rows;\n\tfor (let i = 0; i < rows.length; i++) rows[i]._displayIndexCache = i;\n\treturn rows;\n}\n/**\n* Reads and caches this row's value for a column.\n*\n* The value is produced by the column accessor. Missing columns or display\n* columns without an accessor return `undefined`.\n*\n* @example\n* ```ts\n* const firstName = row_getValue(row, 'firstName')\n* ```\n*/\nfunction row_getValue(row, columnId) {\n\tif (hasOwn(row._valuesCache, columnId)) return row._valuesCache[columnId];\n\tconst column = row.table.getColumn(columnId);\n\tif (!column?.accessorFn) return;\n\trow._valuesCache[columnId] = column.accessorFn(row.original, row.index);\n\treturn row._valuesCache[columnId];\n}\n/**\n* Reads and caches the values used by faceting/grouping for a column.\n*\n* If the column defines `getUniqueValues`, that result is used. Otherwise the\n* row's accessor value is wrapped in a single-item array.\n*\n* @example\n* ```ts\n* const values = row_getUniqueValues(row, 'tags')\n* ```\n*/\nfunction row_getUniqueValues(row, columnId) {\n\tif (hasOwn(row._uniqueValuesCache, columnId)) return row._uniqueValuesCache[columnId];\n\tconst column = row.table.getColumn(columnId);\n\tif (!column?.accessorFn) return;\n\tif (!column.columnDef.getUniqueValues) {\n\t\trow._uniqueValuesCache[columnId] = [row.getValue(columnId)];\n\t\treturn row._uniqueValuesCache[columnId];\n\t}\n\trow._uniqueValuesCache[columnId] = column.columnDef.getUniqueValues(row.original, row.index);\n\treturn row._uniqueValuesCache[columnId];\n}\n/**\n* Returns a renderable row value for a column.\n*\n* If the accessor value is nullish, the table's `renderFallbackValue` is used\n* instead.\n*\n* @example\n* ```ts\n* const value = row_renderValue(row, 'firstName')\n* ```\n*/\nfunction row_renderValue(row, columnId) {\n\treturn row.getValue(columnId) ?? row.table.options.renderFallbackValue;\n}\n/**\n* Flattens this row's descendant tree into leaf rows.\n*\n* The row itself is not included; only nested `subRows` are walked.\n*\n* @example\n* ```ts\n* const descendants = row_getLeafRows(row)\n* ```\n*/\nfunction row_getLeafRows(row) {\n\treturn flattenBy(row.subRows, (d) => d.subRows);\n}\n/**\n* Returns the deepest structural row depth in the core row model.\n* Root rows are depth `0`, their direct sub-rows are depth `1`, and so on.\n*/\nfunction table_getMaxSubRowDepth(table) {\n\tconst rows = table.getCoreRowModel().flatRows;\n\tlet maxDepth = 0;\n\tfor (let i = 0; i < rows.length; i++) maxDepth = Math.max(maxDepth, rows[i].depth);\n\treturn maxDepth;\n}\n/**\n* Looks up this row's direct parent, if it has one.\n*\n* Parent lookup prefers the core row model for structural parents, then falls\n* back to the pre-pagination row model for generated parent rows.\n*\n* @example\n* ```ts\n* const parent = row_getParentRow(row)\n* ```\n*/\nfunction row_getParentRow(row) {\n\tif (!row.parentId) return;\n\treturn row.table.getCoreRowModel().rowsById[row.parentId] ?? row.table.getRow(row.parentId, true);\n}\n/**\n* Collects this row's ancestor chain from root to direct parent.\n*\n* The current row is not included. Rows without a parent return an empty array.\n*\n* @example\n* ```ts\n* const ancestors = row_getParentRows(row)\n* ```\n*/\nfunction row_getParentRows(row) {\n\tconst parentRows = [];\n\tlet currentRow = row;\n\twhile (true) {\n\t\tconst parentRow = currentRow.getParentRow();\n\t\tif (!parentRow) break;\n\t\tparentRows.push(parentRow);\n\t\tcurrentRow = parentRow;\n\t}\n\treturn parentRows.reverse();\n}\n/**\n* Constructs one cell for each leaf column in this row.\n*\n* The result follows `table.getAllLeafColumns()` order and includes hidden\n* columns; visibility-specific APIs filter this list later.\n*\n* @example\n* ```ts\n* const cells = row_getAllCells(row)\n* ```\n*/\nfunction row_getAllCells(row) {\n\tconst columns = row.table.getAllLeafColumns();\n\tlet cache = row._cellsCache;\n\tif (!cache) cache = row._cellsCache = /* @__PURE__ */ new WeakMap();\n\tconst cells = new Array(columns.length);\n\tfor (let i = 0; i < columns.length; i++) {\n\t\tconst column = columns[i];\n\t\tlet cell = cache.get(column);\n\t\tif (!cell) {\n\t\t\tcell = constructCell(column, row, row.table);\n\t\t\tcache.set(column, cell);\n\t\t}\n\t\tcells[i] = cell;\n\t}\n\treturn cells;\n}\n/**\n* Builds a lookup map of this row's cells keyed by column id.\n*\n* This is the static implementation behind `row.getAllCellsByColumnId()`.\n*\n* @example\n* ```ts\n* const cellsById = row_getAllCellsByColumnId(row)\n* ```\n*/\nfunction row_getAllCellsByColumnId(row) {\n\tconst result = makeObjectMap();\n\tconst cells = row.getAllCells();\n\tfor (let i = 0; i < cells.length; i++) {\n\t\tconst cell = cells[i];\n\t\tresult[cell.column.id] = cell;\n\t}\n\treturn result;\n}\n/**\n* Resolves the stable id for a row.\n*\n* `options.getRowId` wins when provided. Otherwise root rows use their index\n* and child rows append their index to the parent id, such as `0.2`.\n*\n* @example\n* ```ts\n* const id = table_getRowId(originalRow, table, index, parentRow)\n* ```\n*/\nfunction table_getRowId(originalRow, table, index, parent) {\n\treturn table.options.getRowId?.(originalRow, index, parent) ?? (parent ? `${parent.id}.${index}` : String(index));\n}\n/**\n* Looks up a row by id from the current or full row model.\n*\n* By default this searches `table.getRowModel()`. Passing `searchAll` searches\n* the pre-pagination model first, then falls back to the core model.\n*\n* @example\n* ```ts\n* const row = table_getRow(table, rowId, true)\n* ```\n*/\nfunction table_getRow(table, rowId, searchAll) {\n\tlet row = (searchAll ? table.getPrePaginatedRowModel() : table.getRowModel()).rowsById[rowId];\n\tif (!row) {\n\t\trow = table.getCoreRowModel().rowsById[rowId];\n\t\tif (!row) {\n\t\t\tif (process.env.NODE_ENV === \"development\") throw new Error(`getRow could not find row with ID: ${rowId}`);\n\t\t\tthrow new Error();\n\t\t}\n\t}\n\treturn row;\n}\n\n//#endregion\nexport { row_getAllCells, row_getAllCellsByColumnId, row_getDisplayIndex, row_getLeafRows, row_getParentRow, row_getParentRows, row_getUniqueValues, row_getValue, row_renderValue, table_getMaxSubRowDepth, table_getRow, table_getRowId, table_getRowsInDisplayOrder };","import { assignPrototypeAPIs, assignTableAPIs } from \"../../utils.js\";\nimport { row_getAllCells, row_getAllCellsByColumnId, row_getDisplayIndex, row_getLeafRows, row_getParentRow, row_getParentRows, row_getUniqueValues, row_getValue, row_renderValue, table_getMaxSubRowDepth, table_getRow, table_getRowId, table_getRowsInDisplayOrder } from \"./coreRowsFeature.utils.js\";\n\n//#region src/core/rows/coreRowsFeature.ts\n/**\n* Core feature that creates row APIs for values, cells, and tree traversal.\n*/\nconst coreRowsFeature = {\n\tassignRowPrototype: (prototype, table) => {\n\t\tassignPrototypeAPIs(\"coreRowsFeature\", prototype, table, {\n\t\t\trow_getDisplayIndex: { fn: (row) => row_getDisplayIndex(row) },\n\t\t\trow_getAllCellsByColumnId: {\n\t\t\t\tfn: (row) => row_getAllCellsByColumnId(row),\n\t\t\t\tmemoDeps: (row) => [row.getAllCells()]\n\t\t\t},\n\t\t\trow_getAllCells: {\n\t\t\t\tfn: (row) => row_getAllCells(row),\n\t\t\t\tmemoDeps: (row) => [row.table.getAllLeafColumns()]\n\t\t\t},\n\t\t\trow_getLeafRows: {\n\t\t\t\tfn: (row) => row_getLeafRows(row),\n\t\t\t\tmemoDeps: (row) => [row.subRows]\n\t\t\t},\n\t\t\trow_getParentRow: { fn: (row) => row_getParentRow(row) },\n\t\t\trow_getParentRows: { fn: (row) => row_getParentRows(row) },\n\t\t\trow_getUniqueValues: { fn: (row, columnId) => row_getUniqueValues(row, columnId) },\n\t\t\trow_getValue: { fn: (row, columnId) => row_getValue(row, columnId) },\n\t\t\trow_renderValue: { fn: (row, columnId) => row_renderValue(row, columnId) }\n\t\t});\n\t},\n\tconstructTableAPIs: (table) => {\n\t\tassignTableAPIs(\"coreRowsFeature\", table, {\n\t\t\ttable_getRowsInDisplayOrder: {\n\t\t\t\tfn: () => table_getRowsInDisplayOrder(table),\n\t\t\t\tmemoDeps: () => [\n\t\t\t\t\ttable.getPrePaginatedRowModel().rows,\n\t\t\t\t\ttable.options.paginateExpandedRows,\n\t\t\t\t\ttable.options.paginateExpandedRows === false ? table.atoms.expanded?.get() : void 0\n\t\t\t\t]\n\t\t\t},\n\t\t\ttable_getRowId: { fn: (originalRow, index, parent) => table_getRowId(originalRow, table, index, parent) },\n\t\t\ttable_getRow: { fn: (id, searchAll) => table_getRow(table, id, searchAll) },\n\t\t\ttable_getMaxSubRowDepth: {\n\t\t\t\tfn: () => table_getMaxSubRowDepth(table),\n\t\t\t\tmemoDeps: () => [table.getCoreRowModel()]\n\t\t\t}\n\t\t});\n\t}\n};\n\n//#endregion\nexport { coreRowsFeature };","import { cloneState, functionalUpdate } from \"../../utils.js\";\n\n//#region src/core/table/coreTablesFeature.utils.ts\n/**\n* Synchronizes externally controlled state slices into the table's base atoms.\n*\n* This keeps `options.state` values mirrored in the atom graph so derived\n* atoms, stores, and table APIs read a consistent snapshot.\n*\n* Adapters that update options during their host's render phase pass the\n* state snapshot captured by the committed render as `capturedState` — the\n* shared options object may already hold values from a newer render that\n* never commits. Pass `null` to publish nothing (a captured \"no controlled\n* state\"); omitting the argument reads the current `table.options.state`\n* instead. An optional `compare` suppresses semantically unchanged slice\n* writes; the default remains reference equality.\n*\n* @example\n* ```ts\n* table_syncExternalStateToBaseAtoms(table)\n* table_syncExternalStateToBaseAtoms(table, capturedState ?? null, shallow)\n* ```\n*/\nfunction table_syncExternalStateToBaseAtoms(table, capturedState, compare = (currentState, externalState) => currentState === externalState) {\n\tconst state = capturedState === void 0 ? table.options.state : capturedState;\n\ttable._reactivity.batch(() => {\n\t\tif (state) for (const key in state) {\n\t\t\tconst baseAtom = table.baseAtoms[key];\n\t\t\tif (!baseAtom) continue;\n\t\t\tconst rawExternalState = state[key];\n\t\t\tconst externalState = rawExternalState === void 0 ? table.initialState[key] : rawExternalState;\n\t\t\tif (!compare(table._reactivity.untrack(() => baseAtom.get()), externalState)) baseAtom.set(() => externalState);\n\t\t}\n\t});\n}\n/**\n* Publishes captured controlled state after a host framework commits.\n*\n* Render-phase adapters stage options without synchronizing base atoms, then\n* pass the state captured by the committed render here. The commit signal also\n* invalidates ownership changes when no base atom was written.\n*/\nfunction table_publishExternalState(table, state, compare = (currentState, externalState) => currentState === externalState) {\n\ttable._reactivity.batch(() => {\n\t\ttable_syncExternalStateToBaseAtoms(table, state, compare);\n\t\ttable._reactivity.commit?.();\n\t});\n}\n/**\n* Resets all internal table base atoms to `table.initialState`, then clears\n* transient instance data through registered feature reset hooks.\n*\n* This resets internally owned state slices in a single reactivity batch. Use\n* feature-specific reset APIs when a slice may be externally owned.\n*\n* @example\n* ```ts\n* table_reset(table)\n* ```\n*/\nfunction table_reset(table) {\n\tconst snap = cloneState(table.initialState);\n\ttable._reactivity.batch(() => {\n\t\tconst keys = Object.keys(snap);\n\t\tfor (let i = 0; i < keys.length; i++) {\n\t\t\tconst key = keys[i];\n\t\t\ttable.baseAtoms[key].set(snap[key]);\n\t\t}\n\t});\n\tconst features = Object.values(table._features);\n\tfor (let i = 0; i < features.length; i++) features[i].resetTableInstanceData?.(table);\n}\n/**\n* Merges new table options with the current resolved options.\n*\n* If `options.mergeOptions` is provided, it owns the merge behavior; otherwise\n* options are shallow-merged. Static options that should never change after\n* initialization are restored on a fresh object so framework merge helpers may\n* return readonly getter/proxy objects.\n*\n* @example\n* ```ts\n* const options = table_mergeOptions(table, nextOptions)\n* ```\n*/\nfunction table_mergeOptions(table, newOptions) {\n\tconst { features, atoms, initialState } = table.options;\n\tif (!table.options.mergeOptions) return {\n\t\t...table.options,\n\t\t...newOptions,\n\t\tfeatures,\n\t\tatoms,\n\t\tinitialState\n\t};\n\tconst mergedOptions = table.options.mergeOptions(table.options, newOptions);\n\tconst descriptors = { ...Object.getOwnPropertyDescriptors(mergedOptions) };\n\treturn Object.defineProperties(Object.create(Object.getPrototypeOf(mergedOptions)), {\n\t\t...descriptors,\n\t\tfeatures: {\n\t\t\tvalue: features,\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\twritable: true\n\t\t},\n\t\tatoms: {\n\t\t\tvalue: atoms,\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\twritable: true\n\t\t},\n\t\tinitialState: {\n\t\t\tvalue: initialState,\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\twritable: true\n\t\t}\n\t});\n}\n/**\n* Updates the table options object.\n*\n* The updater receives the current resolved options and the merged result is\n* immediately assigned to the table instance.\n*\n* @example\n* ```ts\n* table_setOptions(table, (old) => old)\n* table_setOptions(table, (old) => old, { syncExternalState: false })\n* ```\n*/\nfunction table_setOptions(table, updater, options) {\n\tconst mergedOptions = table_mergeOptions(table, functionalUpdate(updater, table.options));\n\tif (table.optionsStore) table.optionsStore.set(() => mergedOptions);\n\telse table.options = mergedOptions;\n\tif (options?.syncExternalState !== false) table_publishExternalState(table, mergedOptions.state ?? null);\n}\n\n//#endregion\nexport { table_mergeOptions, table_publishExternalState, table_reset, table_setOptions, table_syncExternalStateToBaseAtoms };","import { assignTableAPIs } from \"../../utils.js\";\nimport { table_reset, table_setOptions } from \"./coreTablesFeature.utils.js\";\n\n//#region src/core/table/coreTablesFeature.ts\n/**\n* Core feature that adds base table instance APIs such as reset and setOptions.\n*/\nconst coreTablesFeature = { constructTableAPIs: (table) => {\n\tassignTableAPIs(\"coreTablesFeature\", table, {\n\t\ttable_reset: { fn: () => table_reset(table) },\n\t\ttable_setOptions: { fn: (updater) => table_setOptions(table, updater) }\n\t});\n} };\n\n//#endregion\nexport { coreTablesFeature };","import { coreCellsFeature } from \"./cells/coreCellsFeature.js\";\nimport { coreColumnsFeature } from \"./columns/coreColumnsFeature.js\";\nimport { coreHeadersFeature } from \"./headers/coreHeadersFeature.js\";\nimport { coreRowModelsFeature } from \"./row-models/coreRowModelsFeature.js\";\nimport { coreRowsFeature } from \"./rows/coreRowsFeature.js\";\nimport { coreTablesFeature } from \"./table/coreTablesFeature.js\";\n\n//#region src/core/coreFeatures.ts\n/**\n* The built-in core feature set required by every table.\n*\n* These features provide table, column, row, header, cell, and core row-model behavior before optional feature plugins are added.\n*/\nconst coreFeatures = {\n\tcoreCellsFeature,\n\tcoreColumnsFeature,\n\tcoreHeadersFeature,\n\tcoreRowModelsFeature,\n\tcoreRowsFeature,\n\tcoreTablesFeature\n};\n\n//#endregion\nexport { coreFeatures };","import { cloneState, hasOwn } from \"../../utils.js\";\nimport { table_syncExternalStateToBaseAtoms } from \"./coreTablesFeature.utils.js\";\nimport { coreFeatures } from \"../coreFeatures.js\";\nimport { atomToStore } from \"../reactivity/coreReactivityFeature.utils.js\";\nimport { shallow } from \"@tanstack/store\";\n\n//#region src/core/table/constructTable.ts\n/**\n* Builds the initial table state from registered features and user initial state.\n*\n* Each feature contributes its default state before user-provided `initialState` values are merged in.\n*/\nfunction getInitialTableState(features, initialState = {}) {\n\tObject.values(features).forEach((feature) => {\n\t\tinitialState = feature.getInitialState?.(initialState) ?? initialState;\n\t});\n\treturn cloneState(initialState);\n}\n/**\n* Constructs a table instance from normalized table internals.\n*\n* This wires core properties, feature prototype APIs, and instance data used by table rendering and row-model operations.\n*/\nfunction constructTable(tableOptions) {\n\tconst _reactivity = tableOptions.features.coreReactivityFeature;\n\tconst { aggregationFns, columnMeta: _columnMeta, coreRowModel, expandedRowModel, facetedMinMaxValues, facetedRowModel, facetedUniqueValues, filterFns, filterMeta: _filterMeta, filteredRowModel, groupedRowModel, paginatedRowModel, sortFns, sortedRowModel, tableMeta: _tableMeta, ...features } = tableOptions.features;\n\tconst table = {\n\t\t_cellInstanceInitFns: [],\n\t\t_columnInstanceInitFns: [],\n\t\t_features: {\n\t\t\t...coreFeatures,\n\t\t\t...features\n\t\t},\n\t\t_headerGroupInstanceInitFns: [],\n\t\t_headerInstanceInitFns: [],\n\t\t_reactivity,\n\t\t_rowInstanceInitFns: [],\n\t\t_rowModelFns: {\n\t\t\taggregationFns,\n\t\t\tfilterFns,\n\t\t\tsortFns\n\t\t},\n\t\t_rowModels: {},\n\t\tatoms: {},\n\t\tbaseAtoms: {}\n\t};\n\tconst featuresList = Object.values(table._features);\n\tconst mergedOptions = {\n\t\t...featuresList.reduce((obj, feature) => {\n\t\t\treturn Object.assign(obj, feature.getDefaultTableOptions?.(table));\n\t\t}, {}),\n\t\t...tableOptions\n\t};\n\tif (_reactivity.wrapExternalAtoms && mergedOptions.atoms) for (const [atomKey, _atom] of Object.entries(mergedOptions.atoms)) {\n\t\tconst atom = _atom;\n\t\tconst wrappedAtom = _reactivity.createWritableAtom(atom.get(), { debugName: `externalAtom/${atomKey}` });\n\t\tmergedOptions.atoms[atomKey] = wrappedAtom;\n\t\tlet syncExternal = false;\n\t\tconst syncAtomToWrappedSub = atom.subscribe((value) => {\n\t\t\tif (syncExternal) return;\n\t\t\twrappedAtom.set(value);\n\t\t});\n\t\tconst syncWrappedToAtomSub = wrappedAtom.subscribe((value) => {\n\t\t\tsyncExternal = true;\n\t\t\tatom.set(value);\n\t\t\tsyncExternal = false;\n\t\t});\n\t\t_reactivity.addSubscription(syncAtomToWrappedSub);\n\t\t_reactivity.addSubscription(syncWrappedToAtomSub);\n\t}\n\tif (_reactivity.createOptionsStore) {\n\t\ttable.optionsStore = _reactivity.createWritableAtom(mergedOptions, { debugName: \"table/optionsStore\" });\n\t\tObject.defineProperty(table, \"options\", {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: true,\n\t\t\tget() {\n\t\t\t\treturn table.optionsStore.get();\n\t\t\t},\n\t\t\tset(value) {\n\t\t\t\ttable.optionsStore.set(() => value);\n\t\t\t}\n\t\t});\n\t} else table.options = mergedOptions;\n\ttable.initialState = getInitialTableState(table._features, table.options.initialState);\n\tconst stateKeys = Object.keys(table.initialState);\n\tfor (let i = 0; i < stateKeys.length; i++) {\n\t\tconst key = stateKeys[i];\n\t\ttable.baseAtoms[key] = _reactivity.createWritableAtom(table.initialState[key], { debugName: `table/baseAtoms/${key}` });\n\t\ttable.atoms[key] = _reactivity.createReadonlyAtom(() => {\n\t\t\tconst options = table.options;\n\t\t\tconst externalAtom = options.atoms?.[key];\n\t\t\tconst reactiveState = externalAtom ? externalAtom.get() : table.baseAtoms[key].get();\n\t\t\tif (externalAtom) return reactiveState;\n\t\t\tconst controlledState = options.state;\n\t\t\tif (controlledState && hasOwn(controlledState, key)) {\n\t\t\t\tconst controlledValue = controlledState[key];\n\t\t\t\treturn controlledValue === void 0 ? table.initialState[key] : controlledValue;\n\t\t\t}\n\t\t\treturn reactiveState;\n\t\t}, { debugName: `table/atoms/${key}` });\n\t}\n\ttable_syncExternalStateToBaseAtoms(table);\n\ttable.store = atomToStore(_reactivity.createReadonlyAtom(() => {\n\t\tconst snapshot = {};\n\t\tfor (let i = 0; i < stateKeys.length; i++) {\n\t\t\tconst key = stateKeys[i];\n\t\t\tsnapshot[key] = table.atoms[key].get();\n\t\t}\n\t\treturn snapshot;\n\t}, {\n\t\tcompare: shallow,\n\t\tdebugName: \"table/store\"\n\t}));\n\tfor (let i = 0; i < featuresList.length; i++) {\n\t\tconst feature = featuresList[i];\n\t\tfeature.initTableInstanceData?.(table);\n\t\tif (feature.initCellInstanceData) table._cellInstanceInitFns.push(feature.initCellInstanceData.bind(feature));\n\t\tif (feature.initColumnInstanceData) table._columnInstanceInitFns.push(feature.initColumnInstanceData.bind(feature));\n\t\tif (feature.initHeaderGroupInstanceData) table._headerGroupInstanceInitFns.push(feature.initHeaderGroupInstanceData.bind(feature));\n\t\tif (feature.initHeaderInstanceData) table._headerInstanceInitFns.push(feature.initHeaderInstanceData.bind(feature));\n\t\tif (feature.initRowInstanceData) table._rowInstanceInitFns.push(feature.initRowInstanceData.bind(feature));\n\t\tfeature.constructTableAPIs?.(table);\n\t}\n\tif (process.env.NODE_ENV === \"development\" && (tableOptions.debugAll || tableOptions.debugTable)) {\n\t\tconst features = Object.keys(table._features);\n\t\tconst rowModels = Object.entries({\n\t\t\tcoreRowModel,\n\t\t\tfilteredRowModel,\n\t\t\tgroupedRowModel,\n\t\t\tsortedRowModel,\n\t\t\texpandedRowModel,\n\t\t\tpaginatedRowModel,\n\t\t\tfacetedRowModel,\n\t\t\tfacetedMinMaxValues,\n\t\t\tfacetedUniqueValues\n\t\t}).filter(([, factory]) => factory).map(([key]) => key);\n\t\tconst states = Object.keys(table.initialState);\n\t\tconsole.log(`Constructing Table Instance\n\n Features: ${features.join(\"\\n \")}\n\n Row Models: ${rowModels.length ? rowModels.join(\"\\n \") : \"(none)\"}\n\n States: ${states.join(\"\\n \")}\\n`, { table });\n\t}\n\treturn table;\n}\n\n//#endregion\nexport { constructTable, getInitialTableState };","'use client';\n\nimport { FlexRender } from \"./FlexRender.js\";\nimport { Subscribe } from \"./Subscribe.js\";\nimport { reactReactivity } from \"./reactivity.js\";\nimport { constructTable } from \"@tanstack/table-core\";\nimport { useEffect, useLayoutEffect, useMemo, useState } from \"react\";\nimport { shallow, useSelector } from \"@tanstack/react-store\";\nimport { createRenderPhaseSource } from \"@tanstack/table-core/reactivity\";\nimport { table_publishExternalState, table_setOptions } from \"@tanstack/table-core/static-functions\";\n\n//#region src/useTable.ts\nconst useIsomorphicLayoutEffect = typeof window === \"undefined\" ? useEffect : useLayoutEffect;\n/**\n* Creates a React table instance backed by TanStack Store atoms.\n*\n* The optional selector projects from `table.store`; the selected value is\n* exposed on `table.state` and compared shallowly for React re-renders. Omit\n* the selector to subscribe to every registered table state slice, or pass a\n* narrower selector and use `table.Subscribe` lower in the tree for targeted\n* subscriptions.\n*\n* @example\n* ```tsx\n* const table = useTable(\n* {\n* features,\n* columns,\n* data,\n* },\n* (state) => ({ pagination: state.pagination }),\n* )\n*\n* table.state.pagination\n* ```\n*/\nfunction useTable(tableOptions, selector) {\n\tconst [{ table, rootSource }] = useState(() => {\n\t\tconst tableInstance = constructTable({\n\t\t\t...tableOptions,\n\t\t\tfeatures: {\n\t\t\t\tcoreReactivityFeature: reactReactivity(),\n\t\t\t\t...tableOptions.features\n\t\t\t}\n\t\t});\n\t\ttableInstance.Subscribe = ((props) => {\n\t\t\treturn Subscribe({\n\t\t\t\t...props,\n\t\t\t\tsource: props.source ?? tableInstance.store\n\t\t\t});\n\t\t});\n\t\ttableInstance.FlexRender = FlexRender;\n\t\treturn {\n\t\t\ttable: tableInstance,\n\t\t\trootSource: createRenderPhaseSource(tableInstance.store, shallow)\n\t\t};\n\t});\n\tconst coreTable = table;\n\ttable_setOptions(coreTable, (prev) => ({\n\t\t...prev,\n\t\t...tableOptions\n\t}), { syncExternalState: false });\n\tconst controlledState = coreTable.options.state;\n\tconst renderSnapshot = rootSource.get();\n\tconst state = useSelector(rootSource, selector, { compare: shallow });\n\tuseIsomorphicLayoutEffect(() => {\n\t\trootSource.markCommitted(renderSnapshot);\n\t\ttable_publishExternalState(coreTable, controlledState ?? null, shallow);\n\t});\n\treturn useMemo(() => ({\n\t\t...table,\n\t\toptions: tableOptions,\n\t\tstate\n\t}), [\n\t\ttable,\n\t\ttableOptions,\n\t\tstate\n\t]);\n}\n\n//#endregion\nexport { useTable };","/* -------------------------------------------------------------------- */\n/* DataGrid — a read-only table on TanStack Table. */\n/* */\n/* For a screen that must not load AG Grid. It looks like `DataTable`, */\n/* with the same header, row lines and pinned-column dividers, and it */\n/* shares the `--data-grid-*` tokens. It renders a semantic `<table>`. */\n/* */\n/* Read-only so far: no sorting, filtering, paging or selection. When a */\n/* screen needs one of those, add it here rather than beside it. No */\n/* TanStack type appears in a public prop. */\n/* -------------------------------------------------------------------- */\n\nimport { useId, useMemo, type HTMLAttributes, type ReactNode } from 'react';\nimport { cva } from 'class-variance-authority';\nimport { tableFeatures, useTable, type ColumnDef } from '@tanstack/react-table';\n\nimport { ScrollArea } from '../scroll-area';\n\n/* ------------------------------------------------------------------ */\n/* CVA */\n/* ------------------------------------------------------------------ */\n\nconst rootVariants = cva(\n [\n 'ds:rounded-[var(--radius-md)] ds:bg-[color:var(--background)] ds:shadow-[var(--shadow-sm)]',\n // The header and totals are sticky, so keyboard focus must not land under\n // them when the grid scrolls a control into view.\n 'ds:[scroll-padding-block:calc(var(--min-target-size)*2)]',\n // The same softened line as DataTable: half-strength `--border`, or 35%\n // on the accessible themes, where `--border` is a full-contrast edge.\n 'ds:[--data-grid-line:color-mix(in_srgb,var(--border)_var(--data-grid-border-mix,50%),transparent)]',\n ].join(' '),\n {\n variants: {\n // The same, for pinned columns.\n pinned: {\n true: 'ds:[scroll-padding-inline:calc(var(--spacing-lg)*6)]',\n false: '',\n },\n },\n defaultVariants: { pinned: false },\n },\n);\n\n// The totals row draws its own top line, and a table with none needs no line\n// against the frame, so the last body row never draws one.\nconst tableVariants = cva(\n 'ds:w-full ds:border-separate ds:[border-spacing:0] ds:[&_tbody_tr:last-child>*]:border-b-0',\n);\n\nconst cellVariants = cva(\n 'ds:h-[var(--min-target-size)] ds:border-[color:var(--data-grid-line)] ds:px-[var(--spacing-md)] ds:py-[var(--spacing-sm)]',\n {\n variants: {\n section: {\n head: [\n 'ds:sticky ds:top-0 ds:z-[2] ds:border-b ds:align-bottom ds:bg-[color:var(--background)]',\n // Opaque background under the tint: the dark header surface is\n // translucent, and rows scroll beneath this cell.\n 'ds:[background-image:linear-gradient(var(--data-grid-header-surface,var(--muted)),var(--data-grid-header-surface,var(--muted)))]',\n // The eyebrow, as DataTable's header. CJK has no capitals to track.\n 'ds:[font-size:var(--data-grid-eyebrow-size,var(--font-size-xs))] ds:[font-weight:var(--font-weight-bold)] ds:uppercase ds:tracking-[0.04em] ds:text-[color:var(--data-grid-eyebrow-ink,var(--muted-foreground))]',\n 'ds:[&:lang(ja)]:tracking-normal ds:[&:lang(ko)]:tracking-normal ds:[&:lang(zh)]:tracking-normal',\n ].join(' '),\n body: 'type-body-sm ds:border-b ds:bg-[color:var(--background)] ds:align-middle',\n // Not `type-body-sm`: that class would win over the totals' weight.\n foot: 'ds:sticky ds:bottom-0 ds:z-[2] ds:border-t ds:bg-[color:var(--muted)] ds:align-middle ds:[font-size:var(--font-size-sm)] ds:[font-weight:var(--font-weight-semibold)]',\n },\n align: {\n start: 'ds:text-start',\n end: 'ds:text-end',\n },\n pin: {\n none: '',\n start: 'ds:sticky ds:start-0 ds:border-e',\n end: 'ds:sticky ds:end-0 ds:border-s',\n },\n },\n compoundVariants: [\n { section: 'body', pin: ['start', 'end'], className: 'ds:z-[1]' },\n {\n section: ['head', 'foot'],\n pin: ['start', 'end'],\n className: 'ds:z-[3]',\n },\n ],\n defaultVariants: { align: 'start', pin: 'none' },\n },\n);\n\n/* ------------------------------------------------------------------ */\n/* Types */\n/* ------------------------------------------------------------------ */\n\nexport interface DataGridColumn<TData> {\n /** Unique within the grid. */\n id: string;\n header: ReactNode;\n /** The column's plain name, when `header` holds more than text, such as an\n * InfoTip. Without it, the tip's name joins every cell's announcement. */\n headerLabel?: string;\n /** What this column shows for a row. */\n cell: (row: TData) => ReactNode;\n /** This column's cell in the totals row. The row appears when any column\n * has a footer. */\n footer?: ReactNode;\n /** Amounts go `end`, so a column lines up on the decimal. */\n align?: 'start' | 'end';\n /** Keeps the column in view while the others scroll sideways. */\n pin?: 'start' | 'end';\n}\n\nexport interface DataGridProps<TData> extends Omit<\n HTMLAttributes<HTMLDivElement>,\n 'children' | 'dir'\n> {\n columns: DataGridColumn<TData>[];\n rows: TData[];\n getRowId: (row: TData) => string;\n /** Names the table for screen readers. Pass a translated string. */\n caption: string;\n}\n\n/* ------------------------------------------------------------------ */\n/* Component */\n/* ------------------------------------------------------------------ */\n\nconst features = tableFeatures({});\n\n/** The first column is the row header, so name each row with it. */\nexport function DataGrid<TData extends object>({\n columns,\n rows,\n getRowId,\n caption,\n className,\n ...rest\n}: DataGridProps<TData>) {\n const captionId = useId();\n\n const columnDefs = useMemo(\n () =>\n columns.map<ColumnDef<typeof features, TData>>((column) => ({\n id: column.id,\n accessorFn: (row) => row,\n header: () => column.header,\n cell: ({ row }) => column.cell(row.original),\n footer: () => column.footer,\n })),\n [columns],\n );\n\n const table = useTable({\n features,\n columns: columnDefs,\n data: rows,\n getRowId: (row) => getRowId(row),\n });\n\n const hasFooter = columns.some((column) => column.footer !== undefined);\n const pinned = columns.some((column) => column.pin !== undefined);\n\n return (\n <ScrollArea\n type=\"native\"\n orientation=\"both\"\n role=\"group\"\n aria-labelledby={captionId}\n data-component=\"data-grid\"\n className={rootVariants({ pinned, className })}\n {...rest}\n >\n <table className={tableVariants()}>\n <caption id={captionId} className=\"ds:sr-only\">\n {caption}\n </caption>\n <thead>\n {table.getHeaderGroups().map((group) => (\n <tr key={group.id}>\n {group.headers.map((header, index) => (\n <th\n key={header.id}\n scope=\"col\"\n aria-label={columns[index].headerLabel}\n className={cellVariants({\n section: 'head',\n align: columns[index].align,\n pin: columns[index].pin,\n })}\n >\n {columns[index].header}\n </th>\n ))}\n </tr>\n ))}\n </thead>\n <tbody>\n {table.getRowModel().rows.map((row) => (\n <tr key={row.id}>\n {columns.map((column, index) => {\n const Cell = index === 0 ? 'th' : 'td';\n return (\n <Cell\n key={column.id}\n scope={index === 0 ? 'row' : undefined}\n className={cellVariants({\n section: 'body',\n align: column.align,\n pin: column.pin,\n })}\n >\n {column.cell(row.original)}\n </Cell>\n );\n })}\n </tr>\n ))}\n </tbody>\n {hasFooter ? (\n <tfoot>\n <tr>\n {columns.map((column, index) => {\n const Cell = index === 0 ? 'th' : 'td';\n return (\n <Cell\n key={column.id}\n scope={index === 0 ? 'row' : undefined}\n className={cellVariants({\n section: 'foot',\n align: column.align,\n pin: column.pin,\n })}\n >\n {column.footer}\n </Cell>\n );\n })}\n </tr>\n </tfoot>\n ) : null}\n </table>\n </ScrollArea>\n );\n}\n","/* -------------------------------------------------------------------- */\n/* Agent adapter — DataGrid. */\n/* */\n/* A read-only table. It holds no state an agent can change and exposes */\n/* no actions yet; sorting and paging add theirs when they arrive. */\n/* -------------------------------------------------------------------- */\n\nimport type { AgentAdapter } from '../../agent/types';\n\nexport const dataGridAgent: AgentAdapter = {\n id: 'data-grid',\n capabilities: [],\n state: {},\n actions: {},\n domHooks: {\n root: {\n attr: 'data-component',\n value: 'data-grid',\n description: 'Marks the element as a kit DataGrid.',\n },\n },\n};\n"],"names":["isReactComponent","component","isClassComponent","isExoticComponent","proto","flexRender","Comp","props","React","FlexRender","cell","def","groupingCell","groupingDef","_a","_b","createReactiveSystem","update","notify","unwatched","link","unlink","propagate","checkDirty","shallowPropagate","dep","sub","version","prevDep","nextDep","prevSub","newLink","nextSub","next","stack","top","flags","isValidLink","subSubs","checkDepth","dirty","subs","firstSub","hasMultipleSubs","checkLink","toObserver","nextHandler","errorHandler","completionHandler","isObserver","self","_c","queuedEffects","cycle","atom","effect","queuedEffectsLength","purgeDeps","notifyIndex","activeSub","batchDepth","batch","fn","flush","depsTail","createAtom","valueOrFn","options","isComputed","getter","observerOrFn","obs","observed","e","getValue","compare","oldValue","newValue","run","effectObj","shallow","objA","objB","k","v","keysA","getOwnKeys","i","obj","require$$0","is","x","y","objectIs","useState","useEffect","useLayoutEffect","useDebugValue","useSyncExternalStore$2","subscribe","getSnapshot","value","_useState","inst","forceUpdate","checkIfSnapshotChanged","latestGetSnapshot","nextValue","useSyncExternalStore$1","shim","useSyncExternalStoreShim_production","didWarnOld18Alpha","didWarnUncachedGetSnapshot","cachedValue","useSyncExternalStoreShim_development","shimModule","require$$1","useSyncExternalStore","useRef","useMemo","withSelector_production","getServerSnapshot","selector","isEqual","instRef","memoizedSelector","nextSnapshot","hasMemo","memoizedSnapshot","currentSelection","memoizedSelection","nextSelection","maybeGetServerSnapshot","withSelector_development","withSelectorModule","defaultCompare","a","b","useSelector","source","s","useCallback","handleStoreChange","unsubscribe","useSyncExternalStoreWithSelector","Subscribe","selected","atomToStore","store","renderPhaseReactivity","primitives","commitAtom","atomOptions","hasSnapshot","snapshot","reactiveAtom","createRenderPhaseSource","hasCommittedSnapshot","committedSnapshot","listener","reactReactivity","functionalUpdate","updater","input","cloneState","copy","makeObjectMap","keys","key","hasOwn","flattenBy","arr","getChildren","flat","recurse","subArr","item","children","memo","memoDeps","onAfterCompare","onAfterUpdate","onBeforeCompare","onBeforeUpdate","deps","result","depArgs","newDeps","depsChanged","skipFirstRun","hasRun","pad","str","num","tableMemo","feature","fnName","objectId","table","memoOptions","startCalcTime","endCalcTime","runCount","debug","debugAll","parentName","getFunctionNameInfo","debugByParent","debugByFeature","logTime","time","runType","onAfterUpdateHandler","schedule","untrack","debugOptions","staticFnName","splitBy","fnKey","assignTableAPIs","apis","assignPrototypeAPIs","prototype","memoKey","args","cell_getValue","cell_renderValue","cell_getContext","coreCellsFeature","getColumnPrototype","features","constructColumn","columnDef","depth","parent","resolvedColumnDef","accessorKey","accessorKeyString","id","accessorFn","originalRow","columnPrototype","column","initFns","getIsColumnVisible","getVisibleLeafColumns","orderLeafColumns","columns","orderedTable","leafColumns","orderByColumnPinning","items","getColumnId","getItemsByColumnId","expandRowModel","rowModel","autoResetExpanded","autoResetPageIndex","autoResetSorting","autoResetCellSelection","column_getFlatColumns","col","column_getLeafColumns","table_getDefaultColumnDef","constructColumns","columnDefs","groupingColumnDef","table_getAllColumns","table_getAllFlatColumns","table_getAllFlatColumnsById","flatColumns","table_getAllLeafColumns","c","table_getAllLeafColumnsById","table_getColumn","columnId","coreColumnsFeature","getHeaderPrototype","constructHeader","headerPrototype","header","getMaxHeaderDepth","maxDepth","formatHeaderGroupId","headerFamily","formatHeaderId","childHeaderId","countPendingHeadersForColumn","headers","count","constructHeaderGroup","headersToGroup","headerGroups","headerGroupInitFns","headerGroup","pendingParentHeaders","headerToGroup","latestPendingParentHeader","isLeafHeader","isPlaceholder","updateHeaderSpans","colSpan","j","child","rowSpan","chainChild","buildHeaderGroups","allColumns","columnsToGroup","bottomHeaders","collectLeafHeaders","leafHeaders","header_getLeafHeaders","header_getContext","table_getHeaderGroups","table_getFooterGroups","table_getFlatHeaders","table_getLeafHeaders","topHeaders","coreHeadersFeature","_d","getRowPrototype","constructRow","original","rowIndex","subRows","parentId","rowPrototype","row","createCoreRowModel","_createCoreRowModel","accessRows","originalRows","parentRow","rows","data","table_getCoreRowModel","table_getPreFilteredRowModel","table_getFilteredRowModel","table_getPreGroupedRowModel","table_getGroupedRowModel","table_getPreSortedRowModel","table_getSortedRowModel","table_getPreExpandedRowModel","table_getExpandedRowModel","table_getPrePaginatedRowModel","table_getPaginatedRowModel","table_getRowModel","coreRowModelsFeature","getCellPrototype","constructCell","cellPrototype","row_getDisplayIndex","displayIndex","table_getRowsInDisplayOrder","row_getValue","row_getUniqueValues","row_renderValue","row_getLeafRows","d","table_getMaxSubRowDepth","row_getParentRow","row_getParentRows","parentRows","currentRow","row_getAllCells","cache","cells","row_getAllCellsByColumnId","table_getRowId","index","table_getRow","rowId","searchAll","coreRowsFeature","table_syncExternalStateToBaseAtoms","capturedState","currentState","externalState","state","baseAtom","rawExternalState","table_publishExternalState","table_reset","snap","table_mergeOptions","newOptions","atoms","initialState","mergedOptions","descriptors","table_setOptions","coreTablesFeature","coreFeatures","getInitialTableState","constructTable","tableOptions","_reactivity","aggregationFns","_columnMeta","coreRowModel","expandedRowModel","facetedMinMaxValues","facetedRowModel","facetedUniqueValues","filterFns","_filterMeta","filteredRowModel","groupedRowModel","paginatedRowModel","sortFns","sortedRowModel","_tableMeta","featuresList","atomKey","_atom","wrappedAtom","syncExternal","syncAtomToWrappedSub","syncWrappedToAtomSub","stateKeys","externalAtom","reactiveState","controlledState","controlledValue","rowModels","factory","states","useIsomorphicLayoutEffect","useTable","rootSource","tableInstance","coreTable","prev","renderSnapshot","rootVariants","cva","tableVariants","cellVariants","DataGrid","getRowId","caption","className","rest","captionId","useId","hasFooter","pinned","jsx","ScrollArea","jsxs","group","dataGridAgent"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37]}
@@ -1,5 +1,5 @@
1
- import { jsx as t, jsxs as D } from "react/jsx-runtime";
2
- import { useRef as S, useEffect as V, useMemo as _, forwardRef as i, useContext as A, createContext as z } from "react";
1
+ import { jsx as t, jsxs as _ } from "react/jsx-runtime";
2
+ import { useRef as S, useEffect as V, useMemo as D, forwardRef as i, useContext as A, createContext as z } from "react";
3
3
  import * as s from "@radix-ui/react-dialog";
4
4
  import { c as b } from "./index-D2ZczOXr.js";
5
5
  import { useTranslation as F } from "react-i18next";
@@ -72,6 +72,7 @@ const P = {
72
72
  sm: "ds-dialog__surface--sm",
73
73
  md: "",
74
74
  lg: "ds-dialog__surface--lg",
75
+ xl: "ds-dialog__surface--xl",
75
76
  fullscreen: "ds-dialog__surface--fullscreen"
76
77
  },
77
78
  // `body` pins the header and footer and scrolls only `Dialog.Body` once
@@ -93,20 +94,20 @@ const P = {
93
94
  children: e,
94
95
  id: o,
95
96
  open: a,
96
- defaultOpen: r,
97
+ defaultOpen: l,
97
98
  onOpenChange: g,
98
- modal: l = !0,
99
+ modal: r = !0,
99
100
  ...m
100
101
  }) => {
101
102
  const [c, d] = I({
102
103
  value: a,
103
- defaultValue: r ?? !1,
104
+ defaultValue: l ?? !1,
104
105
  onChange: g
105
106
  }), n = c ?? !1, p = S(n);
106
107
  V(() => {
107
108
  p.current = n;
108
109
  }, [n]);
109
- const u = _(
110
+ const u = D(
110
111
  () => ({
111
112
  getIsOpen: () => p.current,
112
113
  open: () => d(!0),
@@ -115,13 +116,13 @@ const P = {
115
116
  [d]
116
117
  );
117
118
  w(P, u, o);
118
- const f = _(() => ({ id: o, modal: l }), [o, l]);
119
+ const f = D(() => ({ id: o, modal: r }), [o, r]);
119
120
  return /* @__PURE__ */ t(h.Provider, { value: f, children: /* @__PURE__ */ t(
120
121
  s.Root,
121
122
  {
122
123
  open: n,
123
124
  onOpenChange: d,
124
- modal: l,
125
+ modal: r,
125
126
  ...m,
126
127
  children: e
127
128
  }
@@ -137,15 +138,15 @@ const x = i(
137
138
  size: e = "md",
138
139
  variant: o = "default",
139
140
  scroll: a = "surface",
140
- flush: r = !1,
141
+ flush: l = !1,
141
142
  hideCloseButton: g,
142
- className: l,
143
+ className: r,
143
144
  children: m,
144
145
  onKeyDown: c,
145
146
  ...d
146
147
  }, n) => {
147
148
  const { t: p } = F("ui"), { id: u, modal: f } = A(h), B = L(!f), E = o === "alert" ? { role: "alertdialog" } : {}, H = g ?? o !== "default";
148
- return /* @__PURE__ */ D(s.Portal, { children: [
149
+ return /* @__PURE__ */ _(s.Portal, { children: [
149
150
  /* @__PURE__ */ t(
150
151
  s.Overlay,
151
152
  {
@@ -153,14 +154,14 @@ const x = i(
153
154
  className: K
154
155
  }
155
156
  ),
156
- /* @__PURE__ */ D(
157
+ /* @__PURE__ */ _(
157
158
  s.Content,
158
159
  {
159
160
  ref: n,
160
161
  ...E,
161
162
  "data-component": "dialog",
162
163
  "data-component-id": u,
163
- className: X({ size: e, scroll: a, flush: r, className: l }),
164
+ className: X({ size: e, scroll: a, flush: l, className: r }),
164
165
  ...d,
165
166
  onKeyDown: (v) => {
166
167
  c == null || c(v), B(v);
@@ -245,10 +246,10 @@ const Y = b(
245
246
  defaultVariants: { divider: !1 }
246
247
  }
247
248
  ), k = i(
248
- ({ className: e, divider: o = !1, ...a }, r) => /* @__PURE__ */ t(
249
+ ({ className: e, divider: o = !1, ...a }, l) => /* @__PURE__ */ t(
249
250
  "div",
250
251
  {
251
- ref: r,
252
+ ref: l,
252
253
  className: Y({ divider: o, className: e }),
253
254
  ...a
254
255
  }
@@ -270,4 +271,4 @@ export {
270
271
  oe as D,
271
272
  P as d
272
273
  };
273
- //# sourceMappingURL=dialog-C7RWaH08.js.map
274
+ //# sourceMappingURL=dialog-BTjSQjdY.js.map