@nu-grid/nuxt 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (348) hide show
  1. package/LICENSE.md +21 -0
  2. package/README.md +261 -0
  3. package/dist/module.d.mts +13 -0
  4. package/dist/module.json +9 -0
  5. package/dist/module.mjs +52 -0
  6. package/dist/runtime/cell-types/action-menu/ActionMenuRenderer.d.vue.ts +12 -0
  7. package/dist/runtime/cell-types/action-menu/ActionMenuRenderer.vue +123 -0
  8. package/dist/runtime/cell-types/action-menu/ActionMenuRenderer.vue.d.ts +12 -0
  9. package/dist/runtime/cell-types/action-menu/index.d.ts +8 -0
  10. package/dist/runtime/cell-types/action-menu/index.js +28 -0
  11. package/dist/runtime/cell-types/boolean/BooleanEditor.d.vue.ts +15 -0
  12. package/dist/runtime/cell-types/boolean/BooleanEditor.vue +32 -0
  13. package/dist/runtime/cell-types/boolean/BooleanEditor.vue.d.ts +15 -0
  14. package/dist/runtime/cell-types/boolean/BooleanFilter.d.vue.ts +7 -0
  15. package/dist/runtime/cell-types/boolean/BooleanFilter.vue +42 -0
  16. package/dist/runtime/cell-types/boolean/BooleanFilter.vue.d.ts +7 -0
  17. package/dist/runtime/cell-types/boolean/BooleanRenderer.d.vue.ts +13 -0
  18. package/dist/runtime/cell-types/boolean/BooleanRenderer.vue +23 -0
  19. package/dist/runtime/cell-types/boolean/BooleanRenderer.vue.d.ts +13 -0
  20. package/dist/runtime/cell-types/boolean/index.d.ts +8 -0
  21. package/dist/runtime/cell-types/boolean/index.js +31 -0
  22. package/dist/runtime/cell-types/currency/CurrencyEditor.d.vue.ts +15 -0
  23. package/dist/runtime/cell-types/currency/CurrencyEditor.vue +40 -0
  24. package/dist/runtime/cell-types/currency/CurrencyEditor.vue.d.ts +15 -0
  25. package/dist/runtime/cell-types/currency/CurrencyFilter.d.vue.ts +7 -0
  26. package/dist/runtime/cell-types/currency/CurrencyFilter.vue +76 -0
  27. package/dist/runtime/cell-types/currency/CurrencyFilter.vue.d.ts +7 -0
  28. package/dist/runtime/cell-types/currency/index.d.ts +6 -0
  29. package/dist/runtime/cell-types/currency/index.js +42 -0
  30. package/dist/runtime/cell-types/date/DateEditor.d.vue.ts +15 -0
  31. package/dist/runtime/cell-types/date/DateEditor.vue +42 -0
  32. package/dist/runtime/cell-types/date/DateEditor.vue.d.ts +15 -0
  33. package/dist/runtime/cell-types/date/DateFilter.d.vue.ts +7 -0
  34. package/dist/runtime/cell-types/date/DateFilter.vue +58 -0
  35. package/dist/runtime/cell-types/date/DateFilter.vue.d.ts +7 -0
  36. package/dist/runtime/cell-types/date/index.d.ts +6 -0
  37. package/dist/runtime/cell-types/date/index.js +13 -0
  38. package/dist/runtime/cell-types/index.d.ts +17 -0
  39. package/dist/runtime/cell-types/index.js +34 -0
  40. package/dist/runtime/cell-types/lookup/LookupEditor.d.vue.ts +15 -0
  41. package/dist/runtime/cell-types/lookup/LookupEditor.vue +291 -0
  42. package/dist/runtime/cell-types/lookup/LookupEditor.vue.d.ts +15 -0
  43. package/dist/runtime/cell-types/lookup/LookupRenderer.d.vue.ts +8 -0
  44. package/dist/runtime/cell-types/lookup/LookupRenderer.vue +43 -0
  45. package/dist/runtime/cell-types/lookup/LookupRenderer.vue.d.ts +8 -0
  46. package/dist/runtime/cell-types/lookup/index.d.ts +36 -0
  47. package/dist/runtime/cell-types/lookup/index.js +50 -0
  48. package/dist/runtime/cell-types/number/NumberEditor.d.vue.ts +15 -0
  49. package/dist/runtime/cell-types/number/NumberEditor.vue +34 -0
  50. package/dist/runtime/cell-types/number/NumberEditor.vue.d.ts +15 -0
  51. package/dist/runtime/cell-types/number/NumberFilter.d.vue.ts +7 -0
  52. package/dist/runtime/cell-types/number/NumberFilter.vue +66 -0
  53. package/dist/runtime/cell-types/number/NumberFilter.vue.d.ts +7 -0
  54. package/dist/runtime/cell-types/number/index.d.ts +6 -0
  55. package/dist/runtime/cell-types/number/index.js +13 -0
  56. package/dist/runtime/cell-types/rating/RatingEditor.d.vue.ts +15 -0
  57. package/dist/runtime/cell-types/rating/RatingEditor.vue +219 -0
  58. package/dist/runtime/cell-types/rating/RatingEditor.vue.d.ts +15 -0
  59. package/dist/runtime/cell-types/rating/RatingFilter.d.vue.ts +7 -0
  60. package/dist/runtime/cell-types/rating/RatingFilter.vue +74 -0
  61. package/dist/runtime/cell-types/rating/RatingFilter.vue.d.ts +7 -0
  62. package/dist/runtime/cell-types/rating/RatingRenderer.d.vue.ts +10 -0
  63. package/dist/runtime/cell-types/rating/RatingRenderer.vue +75 -0
  64. package/dist/runtime/cell-types/rating/RatingRenderer.vue.d.ts +10 -0
  65. package/dist/runtime/cell-types/rating/index.d.ts +6 -0
  66. package/dist/runtime/cell-types/rating/index.js +67 -0
  67. package/dist/runtime/cell-types/selection/SelectionEditor.d.vue.ts +15 -0
  68. package/dist/runtime/cell-types/selection/SelectionEditor.vue +42 -0
  69. package/dist/runtime/cell-types/selection/SelectionEditor.vue.d.ts +15 -0
  70. package/dist/runtime/cell-types/selection/SelectionRenderer.d.vue.ts +14 -0
  71. package/dist/runtime/cell-types/selection/SelectionRenderer.vue +25 -0
  72. package/dist/runtime/cell-types/selection/SelectionRenderer.vue.d.ts +14 -0
  73. package/dist/runtime/cell-types/selection/index.d.ts +8 -0
  74. package/dist/runtime/cell-types/selection/index.js +36 -0
  75. package/dist/runtime/cell-types/text/TextEditor.d.vue.ts +15 -0
  76. package/dist/runtime/cell-types/text/TextEditor.vue +70 -0
  77. package/dist/runtime/cell-types/text/TextEditor.vue.d.ts +15 -0
  78. package/dist/runtime/cell-types/text/TextFilter.d.vue.ts +7 -0
  79. package/dist/runtime/cell-types/text/TextFilter.vue +50 -0
  80. package/dist/runtime/cell-types/text/TextFilter.vue.d.ts +7 -0
  81. package/dist/runtime/cell-types/text/TextareaEditor.d.vue.ts +15 -0
  82. package/dist/runtime/cell-types/text/TextareaEditor.vue +100 -0
  83. package/dist/runtime/cell-types/text/TextareaEditor.vue.d.ts +15 -0
  84. package/dist/runtime/cell-types/text/index.d.ts +10 -0
  85. package/dist/runtime/cell-types/text/index.js +16 -0
  86. package/dist/runtime/cell-types/text/textarea.d.ts +13 -0
  87. package/dist/runtime/cell-types/text/textarea.js +13 -0
  88. package/dist/runtime/components/NuGrid.d.vue.ts +96 -0
  89. package/dist/runtime/components/NuGrid.vue +651 -0
  90. package/dist/runtime/components/NuGrid.vue.d.ts +96 -0
  91. package/dist/runtime/components/NuGridCellCheckbox.d.vue.ts +24 -0
  92. package/dist/runtime/components/NuGridCellCheckbox.vue +105 -0
  93. package/dist/runtime/components/NuGridCellCheckbox.vue.d.ts +24 -0
  94. package/dist/runtime/components/NuGridGroup.d.vue.ts +20 -0
  95. package/dist/runtime/components/NuGridGroup.vue +650 -0
  96. package/dist/runtime/components/NuGridGroup.vue.d.ts +20 -0
  97. package/dist/runtime/components/NuGridLazyCell.d.vue.ts +62 -0
  98. package/dist/runtime/components/NuGridLazyCell.vue +133 -0
  99. package/dist/runtime/components/NuGridLazyCell.vue.d.ts +62 -0
  100. package/dist/runtime/components/_internal/NuGridAddRow.d.vue.ts +36 -0
  101. package/dist/runtime/components/_internal/NuGridAddRow.vue +144 -0
  102. package/dist/runtime/components/_internal/NuGridAddRow.vue.d.ts +36 -0
  103. package/dist/runtime/components/_internal/NuGridBase.d.vue.ts +20 -0
  104. package/dist/runtime/components/_internal/NuGridBase.vue +1172 -0
  105. package/dist/runtime/components/_internal/NuGridBase.vue.d.ts +20 -0
  106. package/dist/runtime/components/_internal/NuGridCellContent.d.vue.ts +9 -0
  107. package/dist/runtime/components/_internal/NuGridCellContent.vue +202 -0
  108. package/dist/runtime/components/_internal/NuGridCellContent.vue.d.ts +9 -0
  109. package/dist/runtime/components/_internal/NuGridColumnMenu.d.vue.ts +25 -0
  110. package/dist/runtime/components/_internal/NuGridColumnMenu.vue +391 -0
  111. package/dist/runtime/components/_internal/NuGridColumnMenu.vue.d.ts +25 -0
  112. package/dist/runtime/components/_internal/NuGridGroup.d.vue.ts +20 -0
  113. package/dist/runtime/components/_internal/NuGridGroup.vue +650 -0
  114. package/dist/runtime/components/_internal/NuGridGroup.vue.d.ts +20 -0
  115. package/dist/runtime/components/_internal/NuGridGroupCheckbox.d.vue.ts +22 -0
  116. package/dist/runtime/components/_internal/NuGridGroupCheckbox.vue +132 -0
  117. package/dist/runtime/components/_internal/NuGridGroupCheckbox.vue.d.ts +22 -0
  118. package/dist/runtime/components/_internal/NuGridHeaderSortButton.d.vue.ts +31 -0
  119. package/dist/runtime/components/_internal/NuGridHeaderSortButton.vue +61 -0
  120. package/dist/runtime/components/_internal/NuGridHeaderSortButton.vue.d.ts +31 -0
  121. package/dist/runtime/components/_internal/NuGridPaging.d.vue.ts +3 -0
  122. package/dist/runtime/components/_internal/NuGridPaging.vue +65 -0
  123. package/dist/runtime/components/_internal/NuGridPaging.vue.d.ts +3 -0
  124. package/dist/runtime/components/_internal/NuGridRow.d.vue.ts +40 -0
  125. package/dist/runtime/components/_internal/NuGridRow.vue +645 -0
  126. package/dist/runtime/components/_internal/NuGridRow.vue.d.ts +40 -0
  127. package/dist/runtime/components/_internal/NuGridSplitGroup.d.vue.ts +20 -0
  128. package/dist/runtime/components/_internal/NuGridSplitGroup.vue +735 -0
  129. package/dist/runtime/components/_internal/NuGridSplitGroup.vue.d.ts +20 -0
  130. package/dist/runtime/components/_internal/NuGridTooltip.d.vue.ts +3 -0
  131. package/dist/runtime/components/_internal/NuGridTooltip.vue +36 -0
  132. package/dist/runtime/components/_internal/NuGridTooltip.vue.d.ts +3 -0
  133. package/dist/runtime/composables/_internal/index.d.ts +31 -0
  134. package/dist/runtime/composables/_internal/index.js +28 -0
  135. package/dist/runtime/composables/_internal/keyboard-handlers/index.d.ts +5 -0
  136. package/dist/runtime/composables/_internal/keyboard-handlers/index.js +9 -0
  137. package/dist/runtime/composables/_internal/keyboard-handlers/useKeyboardCellTypeDispatch.d.ts +18 -0
  138. package/dist/runtime/composables/_internal/keyboard-handlers/useKeyboardCellTypeDispatch.js +53 -0
  139. package/dist/runtime/composables/_internal/keyboard-handlers/useKeyboardEditingTriggers.d.ts +12 -0
  140. package/dist/runtime/composables/_internal/keyboard-handlers/useKeyboardEditingTriggers.js +53 -0
  141. package/dist/runtime/composables/_internal/keyboard-handlers/useKeyboardNavigation.d.ts +9 -0
  142. package/dist/runtime/composables/_internal/keyboard-handlers/useKeyboardNavigation.js +35 -0
  143. package/dist/runtime/composables/_internal/keyboard-handlers/useKeyboardSetup.d.ts +33 -0
  144. package/dist/runtime/composables/_internal/keyboard-handlers/useKeyboardSetup.js +111 -0
  145. package/dist/runtime/composables/_internal/keyboard-handlers/usePagingKeyboard.d.ts +11 -0
  146. package/dist/runtime/composables/_internal/keyboard-handlers/usePagingKeyboard.js +67 -0
  147. package/dist/runtime/composables/_internal/useNuGridActionMenu.d.ts +15 -0
  148. package/dist/runtime/composables/_internal/useNuGridActionMenu.js +137 -0
  149. package/dist/runtime/composables/_internal/useNuGridAddRow.d.ts +39 -0
  150. package/dist/runtime/composables/_internal/useNuGridAddRow.js +735 -0
  151. package/dist/runtime/composables/_internal/useNuGridAnimation.d.ts +33 -0
  152. package/dist/runtime/composables/_internal/useNuGridAnimation.js +178 -0
  153. package/dist/runtime/composables/_internal/useNuGridAutosize.d.ts +14 -0
  154. package/dist/runtime/composables/_internal/useNuGridAutosize.js +161 -0
  155. package/dist/runtime/composables/_internal/useNuGridCellEditing.d.ts +15 -0
  156. package/dist/runtime/composables/_internal/useNuGridCellEditing.js +1243 -0
  157. package/dist/runtime/composables/_internal/useNuGridColumnDragDrop.d.ts +8 -0
  158. package/dist/runtime/composables/_internal/useNuGridColumnDragDrop.js +148 -0
  159. package/dist/runtime/composables/_internal/useNuGridColumnPinning.d.ts +15 -0
  160. package/dist/runtime/composables/_internal/useNuGridColumnPinning.js +44 -0
  161. package/dist/runtime/composables/_internal/useNuGridColumnResize.d.ts +22 -0
  162. package/dist/runtime/composables/_internal/useNuGridColumnResize.js +427 -0
  163. package/dist/runtime/composables/_internal/useNuGridCore.d.ts +62 -0
  164. package/dist/runtime/composables/_internal/useNuGridCore.js +359 -0
  165. package/dist/runtime/composables/_internal/useNuGridExcel.d.ts +60 -0
  166. package/dist/runtime/composables/_internal/useNuGridExcel.js +35 -0
  167. package/dist/runtime/composables/_internal/useNuGridFocus.d.ts +15 -0
  168. package/dist/runtime/composables/_internal/useNuGridFocus.js +1378 -0
  169. package/dist/runtime/composables/_internal/useNuGridGroupSelection.d.ts +13 -0
  170. package/dist/runtime/composables/_internal/useNuGridGroupSelection.js +38 -0
  171. package/dist/runtime/composables/_internal/useNuGridGrouping.d.ts +28 -0
  172. package/dist/runtime/composables/_internal/useNuGridGrouping.js +211 -0
  173. package/dist/runtime/composables/_internal/useNuGridInteractionRouter.d.ts +9 -0
  174. package/dist/runtime/composables/_internal/useNuGridInteractionRouter.js +441 -0
  175. package/dist/runtime/composables/_internal/useNuGridInteractions.d.ts +10 -0
  176. package/dist/runtime/composables/_internal/useNuGridInteractions.js +36 -0
  177. package/dist/runtime/composables/_internal/useNuGridKeyboardNavigation.d.ts +54 -0
  178. package/dist/runtime/composables/_internal/useNuGridKeyboardNavigation.js +407 -0
  179. package/dist/runtime/composables/_internal/useNuGridPaging.d.ts +76 -0
  180. package/dist/runtime/composables/_internal/useNuGridPaging.js +147 -0
  181. package/dist/runtime/composables/_internal/useNuGridRowDragDrop.d.ts +68 -0
  182. package/dist/runtime/composables/_internal/useNuGridRowDragDrop.js +295 -0
  183. package/dist/runtime/composables/_internal/useNuGridRowSelection.d.ts +14 -0
  184. package/dist/runtime/composables/_internal/useNuGridRowSelection.js +214 -0
  185. package/dist/runtime/composables/_internal/useNuGridScroll.d.ts +110 -0
  186. package/dist/runtime/composables/_internal/useNuGridScroll.js +463 -0
  187. package/dist/runtime/composables/_internal/useNuGridScrollState.d.ts +32 -0
  188. package/dist/runtime/composables/_internal/useNuGridScrollState.js +60 -0
  189. package/dist/runtime/composables/_internal/useNuGridScrollbars.d.ts +24 -0
  190. package/dist/runtime/composables/_internal/useNuGridScrollbars.js +69 -0
  191. package/dist/runtime/composables/_internal/useNuGridStatePersistence.d.ts +27 -0
  192. package/dist/runtime/composables/_internal/useNuGridStatePersistence.js +243 -0
  193. package/dist/runtime/composables/_internal/useNuGridTooltip.d.ts +41 -0
  194. package/dist/runtime/composables/_internal/useNuGridTooltip.js +304 -0
  195. package/dist/runtime/composables/_internal/useNuGridUI.d.ts +3283 -0
  196. package/dist/runtime/composables/_internal/useNuGridUI.js +58 -0
  197. package/dist/runtime/composables/_internal/useNuGridVirtualization.d.ts +75 -0
  198. package/dist/runtime/composables/_internal/useNuGridVirtualization.js +534 -0
  199. package/dist/runtime/composables/_internal/useNuGridWheelSmoothing.d.ts +25 -0
  200. package/dist/runtime/composables/_internal/useNuGridWheelSmoothing.js +157 -0
  201. package/dist/runtime/composables/index.d.ts +3 -0
  202. package/dist/runtime/composables/index.js +2 -0
  203. package/dist/runtime/composables/useNuGridCellEditor.d.ts +91 -0
  204. package/dist/runtime/composables/useNuGridCellEditor.js +82 -0
  205. package/dist/runtime/composables/useNuGridCellTypeRegistry.d.ts +85 -0
  206. package/dist/runtime/composables/useNuGridCellTypeRegistry.js +202 -0
  207. package/dist/runtime/config/_internal/index.d.ts +5 -0
  208. package/dist/runtime/config/_internal/index.js +2 -0
  209. package/dist/runtime/config/_internal/options-defaults.d.ts +121 -0
  210. package/dist/runtime/config/_internal/options-defaults.js +121 -0
  211. package/dist/runtime/config/_internal/prop-utils.d.ts +54 -0
  212. package/dist/runtime/config/_internal/prop-utils.js +21 -0
  213. package/dist/runtime/config/config.d.ts +44 -0
  214. package/dist/runtime/config/config.js +18 -0
  215. package/dist/runtime/config/index.d.ts +2 -0
  216. package/dist/runtime/config/index.js +2 -0
  217. package/dist/runtime/config/presets.d.ts +15 -0
  218. package/dist/runtime/config/presets.js +58 -0
  219. package/dist/runtime/index.css +1 -0
  220. package/dist/runtime/index.d.ts +1 -0
  221. package/dist/runtime/index.js +1 -0
  222. package/dist/runtime/plugin.d.ts +5 -0
  223. package/dist/runtime/plugin.js +10 -0
  224. package/dist/runtime/themes/index.d.ts +56 -0
  225. package/dist/runtime/themes/index.js +68 -0
  226. package/dist/runtime/themes/nuGridTheme.d.ts +329 -0
  227. package/dist/runtime/themes/nuGridTheme.js +236 -0
  228. package/dist/runtime/themes/nuGridThemeCompact.d.ts +331 -0
  229. package/dist/runtime/themes/nuGridThemeCompact.js +236 -0
  230. package/dist/runtime/types/_internal/action-menu.d.ts +55 -0
  231. package/dist/runtime/types/_internal/action-menu.js +0 -0
  232. package/dist/runtime/types/_internal/cell-editing.d.ts +75 -0
  233. package/dist/runtime/types/_internal/cell-editing.js +0 -0
  234. package/dist/runtime/types/_internal/composable-returns.d.ts +52 -0
  235. package/dist/runtime/types/_internal/composable-returns.js +0 -0
  236. package/dist/runtime/types/_internal/config.d.ts +16 -0
  237. package/dist/runtime/types/_internal/config.js +0 -0
  238. package/dist/runtime/types/_internal/contexts/add-row.d.ts +25 -0
  239. package/dist/runtime/types/_internal/contexts/add-row.js +0 -0
  240. package/dist/runtime/types/_internal/contexts/animation.d.ts +24 -0
  241. package/dist/runtime/types/_internal/contexts/animation.js +0 -0
  242. package/dist/runtime/types/_internal/contexts/core.d.ts +24 -0
  243. package/dist/runtime/types/_internal/contexts/core.js +0 -0
  244. package/dist/runtime/types/_internal/contexts/drag.d.ts +13 -0
  245. package/dist/runtime/types/_internal/contexts/drag.js +0 -0
  246. package/dist/runtime/types/_internal/contexts/focus.d.ts +11 -0
  247. package/dist/runtime/types/_internal/contexts/focus.js +0 -0
  248. package/dist/runtime/types/_internal/contexts/grouping.d.ts +9 -0
  249. package/dist/runtime/types/_internal/contexts/grouping.js +0 -0
  250. package/dist/runtime/types/_internal/contexts/index.d.ts +15 -0
  251. package/dist/runtime/types/_internal/contexts/index.js +0 -0
  252. package/dist/runtime/types/_internal/contexts/interaction-router.d.ts +5 -0
  253. package/dist/runtime/types/_internal/contexts/interaction-router.js +0 -0
  254. package/dist/runtime/types/_internal/contexts/multi-row.d.ts +40 -0
  255. package/dist/runtime/types/_internal/contexts/multi-row.js +0 -0
  256. package/dist/runtime/types/_internal/contexts/paging.d.ts +39 -0
  257. package/dist/runtime/types/_internal/contexts/paging.js +0 -0
  258. package/dist/runtime/types/_internal/contexts/performance.d.ts +15 -0
  259. package/dist/runtime/types/_internal/contexts/performance.js +0 -0
  260. package/dist/runtime/types/_internal/contexts/resize.d.ts +12 -0
  261. package/dist/runtime/types/_internal/contexts/resize.js +0 -0
  262. package/dist/runtime/types/_internal/contexts/row-interactions.d.ts +12 -0
  263. package/dist/runtime/types/_internal/contexts/row-interactions.js +0 -0
  264. package/dist/runtime/types/_internal/contexts/scroll-state.d.ts +21 -0
  265. package/dist/runtime/types/_internal/contexts/scroll-state.js +0 -0
  266. package/dist/runtime/types/_internal/contexts/ui-config.d.ts +21 -0
  267. package/dist/runtime/types/_internal/contexts/ui-config.js +0 -0
  268. package/dist/runtime/types/_internal/contexts/virtualization.d.ts +16 -0
  269. package/dist/runtime/types/_internal/contexts/virtualization.js +0 -0
  270. package/dist/runtime/types/_internal/drag-drop.d.ts +48 -0
  271. package/dist/runtime/types/_internal/drag-drop.js +0 -0
  272. package/dist/runtime/types/_internal/focus.d.ts +68 -0
  273. package/dist/runtime/types/_internal/focus.js +0 -0
  274. package/dist/runtime/types/_internal/grouping.d.ts +48 -0
  275. package/dist/runtime/types/_internal/grouping.js +0 -0
  276. package/dist/runtime/types/_internal/index.d.ts +37 -0
  277. package/dist/runtime/types/_internal/index.js +2 -0
  278. package/dist/runtime/types/_internal/interaction-router.d.ts +176 -0
  279. package/dist/runtime/types/_internal/interaction-router.js +39 -0
  280. package/dist/runtime/types/_internal/props.d.ts +28 -0
  281. package/dist/runtime/types/_internal/props.js +0 -0
  282. package/dist/runtime/types/_internal/resize.d.ts +37 -0
  283. package/dist/runtime/types/_internal/resize.js +0 -0
  284. package/dist/runtime/types/_internal/row-interactions.d.ts +15 -0
  285. package/dist/runtime/types/_internal/row-interactions.js +0 -0
  286. package/dist/runtime/types/_internal/row-selection.d.ts +27 -0
  287. package/dist/runtime/types/_internal/row-selection.js +0 -0
  288. package/dist/runtime/types/_internal/states.d.ts +24 -0
  289. package/dist/runtime/types/_internal/states.js +0 -0
  290. package/dist/runtime/types/_internal/sticky-headers.d.ts +10 -0
  291. package/dist/runtime/types/_internal/sticky-headers.js +0 -0
  292. package/dist/runtime/types/_internal/validation.d.ts +54 -0
  293. package/dist/runtime/types/_internal/validation.js +0 -0
  294. package/dist/runtime/types/_internal/virtualization.d.ts +114 -0
  295. package/dist/runtime/types/_internal/virtualization.js +0 -0
  296. package/dist/runtime/types/action-menu.d.ts +62 -0
  297. package/dist/runtime/types/action-menu.js +0 -0
  298. package/dist/runtime/types/autosize.d.ts +8 -0
  299. package/dist/runtime/types/autosize.js +0 -0
  300. package/dist/runtime/types/cells.d.ts +292 -0
  301. package/dist/runtime/types/cells.js +5 -0
  302. package/dist/runtime/types/column.d.ts +248 -0
  303. package/dist/runtime/types/column.js +0 -0
  304. package/dist/runtime/types/config.d.ts +35 -0
  305. package/dist/runtime/types/config.js +0 -0
  306. package/dist/runtime/types/drag-drop.d.ts +92 -0
  307. package/dist/runtime/types/drag-drop.js +0 -0
  308. package/dist/runtime/types/events.d.ts +164 -0
  309. package/dist/runtime/types/events.js +1 -0
  310. package/dist/runtime/types/focus.d.ts +50 -0
  311. package/dist/runtime/types/focus.js +0 -0
  312. package/dist/runtime/types/grouping.d.ts +7 -0
  313. package/dist/runtime/types/grouping.js +0 -0
  314. package/dist/runtime/types/index.d.ts +15 -0
  315. package/dist/runtime/types/index.js +0 -0
  316. package/dist/runtime/types/option-groups.d.ts +624 -0
  317. package/dist/runtime/types/option-groups.js +0 -0
  318. package/dist/runtime/types/props.d.ts +418 -0
  319. package/dist/runtime/types/props.js +0 -0
  320. package/dist/runtime/types/resize.d.ts +14 -0
  321. package/dist/runtime/types/resize.js +0 -0
  322. package/dist/runtime/types/row-interactions.d.ts +11 -0
  323. package/dist/runtime/types/row-interactions.js +0 -0
  324. package/dist/runtime/types/row-selection.d.ts +48 -0
  325. package/dist/runtime/types/row-selection.js +0 -0
  326. package/dist/runtime/types/row.d.ts +7 -0
  327. package/dist/runtime/types/row.js +0 -0
  328. package/dist/runtime/types/sort-icon.d.ts +35 -0
  329. package/dist/runtime/types/sort-icon.js +0 -0
  330. package/dist/runtime/types/states.d.ts +17 -0
  331. package/dist/runtime/types/states.js +0 -0
  332. package/dist/runtime/types/sticky-headers.d.ts +6 -0
  333. package/dist/runtime/types/sticky-headers.js +0 -0
  334. package/dist/runtime/types/tanstack-table.d.ts +126 -0
  335. package/dist/runtime/types/theme.d.ts +22 -0
  336. package/dist/runtime/types/theme.js +0 -0
  337. package/dist/runtime/types/validation.d.ts +94 -0
  338. package/dist/runtime/types/validation.js +0 -0
  339. package/dist/runtime/utils/columnHelper.d.ts +208 -0
  340. package/dist/runtime/utils/columnHelper.js +23 -0
  341. package/dist/runtime/utils/excelExport.d.ts +63 -0
  342. package/dist/runtime/utils/excelExport.js +297 -0
  343. package/dist/runtime/utils/index.d.ts +2 -0
  344. package/dist/runtime/utils/index.js +2 -0
  345. package/dist/runtime/utils/standardSchema.d.ts +77 -0
  346. package/dist/runtime/utils/standardSchema.js +141 -0
  347. package/dist/types.d.mts +3 -0
  348. package/package.json +117 -0
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Return type interfaces for internal composables.
3
+ * These explicit types solve TS4058 errors where TypeScript cannot name
4
+ * 'GroupColumnDefBase' from @tanstack/table-core in generated declarations.
5
+ *
6
+ * By using these explicit return types, TypeScript emits our type names
7
+ * instead of expanding TableColumn and encountering the unexported type.
8
+ * @internal
9
+ */
10
+ import type { TableData } from '@nuxt/ui';
11
+ import type { Row } from '@tanstack/vue-table';
12
+ import type { ComputedRef } from 'vue';
13
+ import type { NuGridActionMenuOptions, NuGridColumn, NuGridRowSelectOptions } from '../index.js';
14
+ /**
15
+ * Return type for useNuGridActionMenu composable
16
+ * @internal
17
+ */
18
+ export interface UseNuGridActionMenuReturn<T extends TableData> {
19
+ isEnabled: ComputedRef<boolean>;
20
+ hasActionMenuColumn: ComputedRef<boolean>;
21
+ actionMenuColumn: NuGridColumn<T> | null;
22
+ appendActionMenuColumn: (columns: NuGridColumn<T>[]) => NuGridColumn<T>[];
23
+ isHidden: ComputedRef<boolean>;
24
+ isInteractive: ComputedRef<boolean>;
25
+ parsedOptions: ComputedRef<NuGridActionMenuOptions<T> | null>;
26
+ }
27
+ /**
28
+ * Return type for useNuGridRowSelection composable
29
+ * @internal
30
+ */
31
+ export interface UseNuGridRowSelectionReturn<T extends TableData> {
32
+ isEnabled: ComputedRef<boolean>;
33
+ hasSelectionColumn: ComputedRef<boolean>;
34
+ normalizedMode: ComputedRef<'single' | 'multi' | null>;
35
+ enableMultiRowSelection: ComputedRef<boolean>;
36
+ enableRowSelection: ComputedRef<boolean | ((row: Row<T>) => boolean)>;
37
+ selectionColumn: NuGridColumn<T> | null;
38
+ prependSelectionColumn: (columns: NuGridColumn<T>[]) => NuGridColumn<T>[];
39
+ isHidden: ComputedRef<boolean>;
40
+ isInteractive: ComputedRef<boolean>;
41
+ rowSelectionEnabled: ComputedRef<((row: Row<T>) => boolean) | undefined>;
42
+ parsedOptions: ComputedRef<NuGridRowSelectOptions<T> | null>;
43
+ }
44
+ /**
45
+ * Return type for useNuGridColumns composable
46
+ * @internal
47
+ */
48
+ export interface UseNuGridColumnsReturn<T extends TableData> {
49
+ columns: ComputedRef<NuGridColumn<T>[]>;
50
+ rowSelection: UseNuGridRowSelectionReturn<T> | null;
51
+ actionMenu: UseNuGridActionMenuReturn<T> | null;
52
+ }
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @internal
3
+ */
4
+ import type { ComponentConfig } from '@nuxt/ui';
5
+ import type { AppConfig } from 'nuxt/schema';
6
+ import type { nuGridTheme } from '../../themes/index.js';
7
+ /**
8
+ * NuGrid component configuration type
9
+ * @internal
10
+ */
11
+ export type NuGridConfig = ComponentConfig<typeof nuGridTheme, AppConfig, 'table'>;
12
+ /**
13
+ * UI slots type - re-exported from useNuGridUI for convenience
14
+ * @internal
15
+ */
16
+ export type { NuGridUISlots } from '../../composables/_internal/useNuGridUI.js';
File without changes
@@ -0,0 +1,25 @@
1
+ import type { TableData } from '@nuxt/ui';
2
+ import type { Row } from '@tanstack/vue-table';
3
+ import type { ComputedRef, Ref, VNode } from 'vue';
4
+ export type NuGridAddRowPosition = 'none' | 'top' | 'bottom';
5
+ export type NuGridAddRowState = 'idle' | 'focused' | 'editing';
6
+ export interface NuGridAddRowFinalizeResult {
7
+ success: boolean;
8
+ messages?: string[];
9
+ }
10
+ export type NuGridAddRowIndicatorSlot<T extends TableData = TableData> = (props: {
11
+ row: Row<T>;
12
+ text: string;
13
+ }) => VNode[];
14
+ export interface NuGridAddRowContext<T extends TableData = TableData> {
15
+ showAddNewRow: ComputedRef<boolean>;
16
+ addRowPosition: ComputedRef<NuGridAddRowPosition>;
17
+ addRowState: ComputedRef<NuGridAddRowState>;
18
+ addNewText: ComputedRef<string>;
19
+ indicatorSlot?: NuGridAddRowIndicatorSlot<T>;
20
+ isAddRowRow: (row: Row<T>) => boolean;
21
+ finalizeAddRow: (row: Row<T>) => NuGridAddRowFinalizeResult;
22
+ resetAddRow: (row: Row<T>) => void;
23
+ isFinalizing?: Ref<boolean>;
24
+ finalizingRowId?: Ref<string | null>;
25
+ }
@@ -0,0 +1,24 @@
1
+ import type { ComputedRef } from 'vue';
2
+ /**
3
+ * Animation context
4
+ * Provides animation configuration to child components
5
+ */
6
+ export interface NuGridAnimationContext {
7
+ /**
8
+ * Whether row animations are enabled
9
+ */
10
+ enabled: ComputedRef<boolean>;
11
+ /**
12
+ * Animation duration in milliseconds
13
+ */
14
+ duration: ComputedRef<number>;
15
+ /**
16
+ * CSS easing function
17
+ */
18
+ easing: ComputedRef<string>;
19
+ /**
20
+ * Trigger a row reorder animation
21
+ * Called automatically when row order changes, but can be called manually
22
+ */
23
+ animateReorder: () => Promise<void>;
24
+ }
@@ -0,0 +1,24 @@
1
+ import type { TableData } from '@nuxt/ui';
2
+ import type { Cell, Row, Table } from '@tanstack/vue-table';
3
+ import type { Primitive } from 'reka-ui';
4
+ import type { ComputedRef, Ref } from 'vue';
5
+ import type { NuGridUISlots } from '../../../composables/_internal/useNuGridUI.js';
6
+ import type { NuGridConfig } from '../../config.js';
7
+ /**
8
+ * Core context - essential table API and UI
9
+ * Always needed by all components
10
+ */
11
+ export interface NuGridCoreContext<T extends TableData = TableData> {
12
+ tableRef: Ref<HTMLDivElement | null>;
13
+ rootRef: Ref<InstanceType<typeof Primitive> | null | undefined>;
14
+ tableApi: Table<T>;
15
+ ui: ComputedRef<NuGridUISlots>;
16
+ propsUi: ComputedRef<NuGridConfig['slots'] | undefined>;
17
+ hasFooter: ComputedRef<boolean>;
18
+ rows: ComputedRef<Row<T>[]>;
19
+ /** Custom row slot for replacing default cell rendering */
20
+ rowSlot?: (props: {
21
+ row: Row<T>;
22
+ cells: Cell<T, unknown>[];
23
+ }) => any;
24
+ }
File without changes
@@ -0,0 +1,13 @@
1
+ import type { TableData } from '@nuxt/ui';
2
+ import type { ComputedRef } from 'vue';
3
+ import type { RowDragOptions } from '../../../composables/_internal/useNuGridRowDragDrop.js';
4
+ import type { NuGridColumnDragDrop, NuGridRowDragDrop } from '../../drag-drop.js';
5
+ /**
6
+ * Drag & Drop context
7
+ * Column and row drag operations
8
+ */
9
+ export interface NuGridDragContext<T extends TableData = TableData> {
10
+ dragFns: NuGridColumnDragDrop<T>;
11
+ rowDragFns: NuGridRowDragDrop<T>;
12
+ rowDragOptions: ComputedRef<RowDragOptions>;
13
+ }
File without changes
@@ -0,0 +1,11 @@
1
+ import type { TableData } from '@nuxt/ui';
2
+ import type { NuGridCellEditing } from '../cell-editing.js';
3
+ import type { NuGridFocus } from '../focus.js';
4
+ /**
5
+ * Focus & Editing context
6
+ * Cell focus navigation and editing
7
+ */
8
+ export interface NuGridFocusContext<T extends TableData = TableData> {
9
+ focusFns: NuGridFocus<T>;
10
+ cellEditingFns: NuGridCellEditing<T>;
11
+ }
File without changes
@@ -0,0 +1,9 @@
1
+ import type { TableData } from '@nuxt/ui';
2
+ import type { NuGridGroupingFns } from '../grouping.js';
3
+ /**
4
+ * Grouping context
5
+ * Row grouping functionality (optional)
6
+ */
7
+ export interface NuGridGroupingContext<T extends TableData = TableData> {
8
+ groupingFns: NuGridGroupingFns<T> | null;
9
+ }
@@ -0,0 +1,15 @@
1
+ export type { NuGridAddRowContext, NuGridAddRowPosition, NuGridAddRowState } from './add-row.js';
2
+ export type { NuGridAnimationContext } from './animation.js';
3
+ export type { NuGridCoreContext } from './core.js';
4
+ export type { NuGridDragContext } from './drag.js';
5
+ export type { NuGridFocusContext } from './focus.js';
6
+ export type { NuGridGroupingContext } from './grouping.js';
7
+ export type { NuGridInteractionRouterContext } from './interaction-router.js';
8
+ export type { NuGridMultiRowContext } from './multi-row.js';
9
+ export type { NuGridPagingContext } from './paging.js';
10
+ export type { NuGridPerformanceContext } from './performance.js';
11
+ export type { NuGridResizeContext } from './resize.js';
12
+ export type { NuGridRowInteractionsContext } from './row-interactions.js';
13
+ export type { NuGridScrollStateContext } from './scroll-state.js';
14
+ export type { NuGridUIConfigContext } from './ui-config.js';
15
+ export type { NuGridVirtualizationContext } from './virtualization.js';
File without changes
@@ -0,0 +1,5 @@
1
+ import type { TableData } from '@nuxt/ui';
2
+ import type { NuGridInteractionRouter } from '../interaction-router.js';
3
+ export interface NuGridInteractionRouterContext<T extends TableData = TableData> {
4
+ interactionRouter: NuGridInteractionRouter<T>;
5
+ }
@@ -0,0 +1,40 @@
1
+ import type { Column } from '@tanstack/vue-table';
2
+ import type { ComputedRef } from 'vue';
3
+ /**
4
+ * Information about a row 0 column slot for aligned mode
5
+ */
6
+ export interface Row0ColumnSlot {
7
+ /** Column ID */
8
+ id: string;
9
+ /** Column width */
10
+ width: number;
11
+ /** Column minimum width */
12
+ minWidth: number;
13
+ /** Whether this column is pinned */
14
+ pinned: 'left' | 'right' | false;
15
+ /** The column reference for pinning calculations */
16
+ column: Column<any, unknown>;
17
+ }
18
+ /**
19
+ * Multi-row context
20
+ * Provides multi-row configuration to child components
21
+ */
22
+ export interface NuGridMultiRowContext {
23
+ /**
24
+ * Whether multi-row mode is enabled
25
+ */
26
+ enabled: ComputedRef<boolean>;
27
+ /**
28
+ * Number of visual rows per data item
29
+ */
30
+ rowCount: ComputedRef<number>;
31
+ /**
32
+ * Whether columns should align with row 0 columns
33
+ */
34
+ alignColumns: ComputedRef<boolean>;
35
+ /**
36
+ * Row 0 column slots for aligned mode
37
+ * Contains width and pinning info for each column in row 0
38
+ */
39
+ row0Columns: ComputedRef<Row0ColumnSlot[]>;
40
+ }
@@ -0,0 +1,39 @@
1
+ import type { ComputedRef } from 'vue';
2
+ /**
3
+ * Paging context
4
+ * Provides paging state and controls to child components
5
+ */
6
+ export interface NuGridPagingContext {
7
+ /** Whether paging is enabled */
8
+ enabled: ComputedRef<boolean>;
9
+ /** Current page size (rows per page) */
10
+ pageSize: ComputedRef<number>;
11
+ /** Current page index (0-based) */
12
+ pageIndex: ComputedRef<number>;
13
+ /** Total number of rows (after filtering) */
14
+ totalRows: ComputedRef<number>;
15
+ /** Total number of pages */
16
+ totalPages: ComputedRef<number>;
17
+ /** Page size selector options */
18
+ pageSizeOptions: ComputedRef<number[]>;
19
+ /** Whether to show the built-in paging panel */
20
+ showPanel: ComputedRef<boolean>;
21
+ /** Whether auto page size is enabled */
22
+ autoPageSize: ComputedRef<boolean>;
23
+ /** Navigate to a specific page (0-based index) */
24
+ setPageIndex: (index: number) => void;
25
+ /** Set the page size */
26
+ setPageSize: (size: number) => void;
27
+ /** Navigate to the first page */
28
+ firstPage: () => void;
29
+ /** Navigate to the last page */
30
+ lastPage: () => void;
31
+ /** Navigate to the next page */
32
+ nextPage: () => void;
33
+ /** Navigate to the previous page */
34
+ previousPage: () => void;
35
+ /** Check if can go to next page */
36
+ canNextPage: ComputedRef<boolean>;
37
+ /** Check if can go to previous page */
38
+ canPreviousPage: ComputedRef<boolean>;
39
+ }
@@ -0,0 +1,15 @@
1
+ import type { TableData } from '@nuxt/ui';
2
+ import type { Cell, Column, HeaderGroup, Row } from '@tanstack/vue-table';
3
+ import type { ComputedRef } from 'vue';
4
+ /**
5
+ * Performance context
6
+ * Cached TanStack Table API results and helper functions
7
+ */
8
+ export interface NuGridPerformanceContext<T extends TableData = TableData> {
9
+ headerGroups: ComputedRef<HeaderGroup<T>[]>;
10
+ headerGroupsLength: ComputedRef<number>;
11
+ footerGroups: ComputedRef<HeaderGroup<T>[]>;
12
+ allLeafColumns: ComputedRef<Column<T, unknown>[]>;
13
+ getVisibleCells: (row: Row<T>) => Cell<T, unknown>[];
14
+ shouldHaveBorder: (row: Row<T>, cellIndex: number, side: 'left' | 'right') => boolean;
15
+ }
@@ -0,0 +1,12 @@
1
+ import type { TableData } from '@nuxt/ui';
2
+ import type { NuGridColumnResize } from '../../resize.js';
3
+ /**
4
+ * Column Resize context
5
+ * Column and column group resizing
6
+ */
7
+ export interface NuGridResizeContext<T extends TableData = TableData> {
8
+ handleResizeStart: NuGridColumnResize<T>['handleResizeStart'];
9
+ handleGroupResizeStart: NuGridColumnResize<T>['handleGroupResizeStart'];
10
+ resizingGroupId: NuGridColumnResize<T>['resizingGroupId'];
11
+ resizingColumnId: NuGridColumnResize<T>['resizingColumnId'];
12
+ }
@@ -0,0 +1,12 @@
1
+ import type { TableData } from '@nuxt/ui';
2
+ import type { ComputedRef } from 'vue';
3
+ import type { NuGridRowInteractions } from '../../row-interactions.js';
4
+ import type { NuGridRowSelectOptions } from '../../row-selection.js';
5
+ /**
6
+ * Row Interactions context
7
+ * Row selection and interaction handlers
8
+ */
9
+ export interface NuGridRowInteractionsContext<T extends TableData = TableData> {
10
+ rowInteractions: NuGridRowInteractions<T>;
11
+ rowSelectionMode: ComputedRef<boolean | 'single' | 'multi' | NuGridRowSelectOptions | undefined>;
12
+ }
@@ -0,0 +1,21 @@
1
+ import type { ComputedRef, Ref } from 'vue';
2
+ /**
3
+ * Scroll state context - provides scroll position and settling information
4
+ * Used by LazyCell to defer rendering until scroll settles
5
+ */
6
+ export interface NuGridScrollStateContext {
7
+ /** Whether the user is currently scrolling */
8
+ isScrolling: Ref<boolean>;
9
+ /** Whether scrolling has settled (stopped for a brief delay) */
10
+ isSettled: Ref<boolean>;
11
+ /** Current vertical scroll position */
12
+ scrollTop: Ref<number>;
13
+ /** Current horizontal scroll position */
14
+ scrollLeft: Ref<number>;
15
+ /** Viewport height of the container */
16
+ viewportHeight: ComputedRef<number>;
17
+ /** Total scrollable height */
18
+ scrollHeight: ComputedRef<number>;
19
+ /** Reference to the scroll container element */
20
+ containerRef: Ref<HTMLElement | null>;
21
+ }
@@ -0,0 +1,21 @@
1
+ import type { TableData } from '@nuxt/ui';
2
+ import type { ComputedRef } from 'vue';
3
+ import type { NuGridUIReturn } from '../../../composables/_internal/useNuGridUI.js';
4
+ import type { NuGridColumnMenuItemsCallback } from '../../column.js';
5
+ import type { NuGridColumnMenuButton } from '../../option-groups.js';
6
+ import type { NuGridScrollbars } from '../../props.js';
7
+ import type { NuGridSortIcon } from '../../sort-icon.js';
8
+ /**
9
+ * UI Configuration context
10
+ * Styling, scrollbars, column menu, and sort icons
11
+ */
12
+ export interface NuGridUIConfigContext<T extends TableData = TableData> {
13
+ sortIcons: ComputedRef<NuGridSortIcon | undefined>;
14
+ scrollbarClass: ComputedRef<string>;
15
+ scrollbarThemeClass: ComputedRef<string>;
16
+ scrollbarAttr: ComputedRef<NuGridScrollbars>;
17
+ getColumnMenuItems?: ComputedRef<NuGridColumnMenuItemsCallback<T> | undefined>;
18
+ showColumnVisibility: ComputedRef<boolean>;
19
+ columnMenuButton: ComputedRef<NuGridColumnMenuButton | undefined>;
20
+ checkboxTheme: NuGridUIReturn['checkboxTheme'];
21
+ }
@@ -0,0 +1,16 @@
1
+ import type { TableData } from '@nuxt/ui';
2
+ import type { ComputedRef, Ref } from 'vue';
3
+ import type { GroupVirtualRowItem, NuGridVirtualizer } from '../virtualization.js';
4
+ /**
5
+ * Virtualization context
6
+ * Virtual scrolling and sticky positioning
7
+ */
8
+ export interface NuGridVirtualizationContext<T extends TableData = TableData> {
9
+ virtualizer: Ref<NuGridVirtualizer> | null;
10
+ virtualizationEnabled: ComputedRef<boolean>;
11
+ virtualRowItems: ComputedRef<GroupVirtualRowItem<T>[]>;
12
+ measuredVirtualSizes: ComputedRef<Map<number, number> | null>;
13
+ getVirtualItemHeight: (index: number) => number;
14
+ stickyOffsets: ComputedRef<Map<number, number>>;
15
+ stickyEnabled: ComputedRef<boolean>;
16
+ }
@@ -0,0 +1,48 @@
1
+ /**
2
+ * @internal
3
+ */
4
+ import type { TableData } from '@nuxt/ui';
5
+ import type { Header, Row } from '@tanstack/vue-table';
6
+ import type { MaybeRef, Ref } from 'vue';
7
+ /**
8
+ * Type for nugrid-dragfns injection
9
+ * Provides column drag and drop functionality
10
+ * @internal
11
+ */
12
+ export interface NuGridColumnDragDrop<T extends TableData = TableData> {
13
+ draggedColumnId: MaybeRef<string | null>;
14
+ dropTargetColumnId: MaybeRef<string | null>;
15
+ dropPosition: MaybeRef<'left' | 'right'>;
16
+ isDraggingOutside: Ref<boolean>;
17
+ handleColumnDragStart: (e: DragEvent, columnId: string) => void;
18
+ handleColumnDragOver: (e: DragEvent, columnId: string) => void;
19
+ handleColumnDrop: (e: DragEvent, columnId: string) => void;
20
+ handleColumnDragEnd: () => void;
21
+ handleColumnDragLeave: (e: DragEvent) => void;
22
+ handleColumnDragEnter: () => void;
23
+ isHeaderDraggable: (header: Header<T, any>) => boolean;
24
+ headerDragHandleProps: (header: Header<T, any>) => Record<string, unknown>;
25
+ headerDragProps: (header: Header<T, any>) => Record<string, unknown>;
26
+ }
27
+ /**
28
+ * Type for nugrid-rowdragfns injection
29
+ * Provides row drag and drop functionality
30
+ * @internal
31
+ */
32
+ export interface NuGridRowDragDrop<T extends TableData = TableData> {
33
+ draggedRowId: Ref<string | null>;
34
+ draggedRowData: Ref<T | null>;
35
+ dropTargetRowId: Ref<string | null>;
36
+ dropPosition: Ref<'before' | 'after'>;
37
+ dragSourceGridId: Ref<string | null>;
38
+ isDraggingOutside: Ref<boolean>;
39
+ handleRowDragStart: (e: DragEvent, row: Row<T>) => void;
40
+ handleRowDragOver: (e: DragEvent, row: Row<T>) => void;
41
+ handleRowDrop: (e: DragEvent, row: Row<T>) => void;
42
+ handleRowDragEnd: () => void;
43
+ handleRowDragLeave: (e: DragEvent) => void;
44
+ handleRowDragEnter: () => void;
45
+ isRowDraggable: (row: Row<T>) => boolean;
46
+ rowDragHandleProps: (row: Row<T>) => Record<string, unknown>;
47
+ rowDragProps: (row: Row<T>) => Record<string, unknown>;
48
+ }
File without changes
@@ -0,0 +1,68 @@
1
+ /**
2
+ * @internal
3
+ */
4
+ import type { TableData } from '@nuxt/ui';
5
+ import type { Row } from '@tanstack/vue-table';
6
+ import type { Ref } from 'vue';
7
+ /**
8
+ * Focused cell position
9
+ * @internal
10
+ */
11
+ export interface NuGridFocusedCell {
12
+ rowIndex: number;
13
+ columnIndex: number;
14
+ groupId?: string;
15
+ suppressOutline?: boolean;
16
+ }
17
+ /**
18
+ * Type for nugrid-focusfns injection
19
+ * Provides cell and row focus management
20
+ * @internal
21
+ */
22
+ export interface NuGridFocus<T extends TableData = TableData> {
23
+ focusedCell: Ref<NuGridFocusedCell | null>;
24
+ gridHasFocus: Ref<boolean>;
25
+ onCellClick: (e: Event, row: Row<T>, columnIndex: number) => void;
26
+ onCellKeyDown: (e: KeyboardEvent) => void;
27
+ onCellKeyUp: (e: KeyboardEvent) => void;
28
+ getRowTabIndex: (row: Row<T>) => number;
29
+ shouldRowHandleKeydown: (row: Row<T>) => boolean;
30
+ getCellTabIndex: (row: Row<T>, cellIndex: number) => number;
31
+ shouldCellHandleKeydown: (row: Row<T>, cellIndex: number) => boolean;
32
+ isActiveRow: (row: Row<T>) => boolean;
33
+ isFocusedRow: (row: Row<T>) => boolean;
34
+ isFocusedCell: (row: Row<T>, cellIndex: number) => boolean;
35
+ rowFocusProps: (row: Row<T>) => Record<string, unknown>;
36
+ cellFocusProps: (row: Row<T>, cellIndex: number) => Record<string, unknown>;
37
+ focusCell: (targetRow: Row<T>, newRowIndex: number, newColumnIndex: number) => void;
38
+ findFirstFocusableColumn: (row: Row<T>) => number;
39
+ /** Get a cell element by row ID and column index (uses internal cache for performance) */
40
+ getCellElement: (rowId: string, columnIndex: number) => HTMLElement | null;
41
+ /** Ensure footer rows are visible when scrolling to bottom of grid */
42
+ ensureFootersVisible: (scrollContainer: HTMLElement) => void;
43
+ /** Scroll to a cell and focus it, with proper scroll management */
44
+ scrollToCellAndFocus: (options: {
45
+ cellElement: HTMLElement;
46
+ rowId: string;
47
+ rowIndex: number;
48
+ columnIndex: number;
49
+ behavior?: 'instant' | 'smooth';
50
+ skipHorizontalScroll?: boolean;
51
+ onComplete?: () => void;
52
+ }) => void;
53
+ /** Update focused cell and emit focus events */
54
+ setFocusedCell: (newValue: NuGridFocusedCell | null, options?: {
55
+ suppressEvents?: boolean;
56
+ }) => void;
57
+ /**
58
+ * Focus a row by its ID, scrolling to make it visible
59
+ * @param rowId - The ID of the row to focus, or null to clear focus
60
+ * @param options - Optional settings for focus behavior
61
+ * @returns true if row was found and focused, false if row ID not found
62
+ */
63
+ focusRowById: (rowId: string | null, options?: {
64
+ columnIndex?: number;
65
+ /** Scroll alignment: 'nearest' just makes visible, 'top' scrolls row to top, 'center' centers the row */
66
+ align?: 'nearest' | 'top' | 'center';
67
+ }) => boolean;
68
+ }
File without changes
@@ -0,0 +1,48 @@
1
+ /**
2
+ * @internal
3
+ */
4
+ import type { TableData } from '@nuxt/ui';
5
+ import type { Row } from '@tanstack/vue-table';
6
+ import type { ComputedRef, Ref } from 'vue';
7
+ import type { GroupingVirtualRowHeights, GroupVirtualRowItem, NuGridVirtualizer } from './virtualization.js';
8
+ /**
9
+ * Type for grouping functions returned by useNuGridGrouping
10
+ * Provides group management and virtualization for grouped tables
11
+ * @internal
12
+ */
13
+ export interface NuGridGroupingFns<T extends TableData = TableData> {
14
+ /** All rows from the table (grouped or ungrouped) */
15
+ rows: ComputedRef<Row<T>[]>;
16
+ /** Group header rows only */
17
+ groupRows: ComputedRef<Row<T>[]>;
18
+ /** Rows organized by group ID */
19
+ groupedRows: ComputedRef<Record<string, Row<T>[]>>;
20
+ /** Group expansion state */
21
+ groupExpanded: Ref<Record<string, boolean>>;
22
+ /** Toggle a group's expanded state */
23
+ toggleGroup: (groupId: string) => void;
24
+ /** Check if a group is expanded */
25
+ isGroupExpanded: (groupId: string) => boolean;
26
+ /** Virtual row items for virtualization */
27
+ virtualRowItems: ComputedRef<GroupVirtualRowItem<T>[]>;
28
+ /** Virtualizer instance */
29
+ virtualizer: Ref<NuGridVirtualizer> | null;
30
+ /** Whether virtualization is enabled */
31
+ virtualizationEnabled: ComputedRef<boolean>;
32
+ /** Flattened list of navigable rows for keyboard navigation */
33
+ navigableRows: ComputedRef<Row<T>[]>;
34
+ /** Row heights configuration for grouping */
35
+ groupingRowHeights: ComputedRef<Required<GroupingVirtualRowHeights>>;
36
+ /** Number of header groups */
37
+ headerGroupCount: ComputedRef<number>;
38
+ /** Active sticky row indexes */
39
+ activeStickyIndexes: Ref<number[]>;
40
+ /** Total height of active sticky elements */
41
+ activeStickyHeight: ComputedRef<number>;
42
+ /** Measured virtual item sizes for dynamic heights */
43
+ measuredVirtualSizes: ComputedRef<Map<number, number> | null>;
44
+ /** Get height for a virtual item (measured or fallback) */
45
+ getVirtualItemHeight: (index: number) => number;
46
+ /** Cumulative top offsets for sticky headers */
47
+ stickyOffsets: ComputedRef<Map<number, number>>;
48
+ }
File without changes