@cognite/aura 0.3.4 → 1.46104.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 (446) hide show
  1. package/CHANGELOG.md +264 -0
  2. package/DESIGN.md +638 -281
  3. package/LICENSE +21 -0
  4. package/README.md +48 -13
  5. package/dist/colors-deprecated.css +587 -0
  6. package/dist/colors.css +803 -830
  7. package/dist/components/index.d.ts +63 -57
  8. package/dist/components/index.js +62 -59
  9. package/dist/components/index.js.map +1 -0
  10. package/dist/components/ui/core/accordion/accordion.d.ts +19 -18
  11. package/dist/components/ui/core/accordion/accordion.js +99 -78
  12. package/dist/components/ui/core/accordion/accordion.js.map +1 -0
  13. package/dist/components/ui/core/action-toolbar/action-toolbar-motion.d.ts +8 -0
  14. package/dist/components/ui/core/action-toolbar/action-toolbar-motion.js +125 -0
  15. package/dist/components/ui/core/action-toolbar/action-toolbar-motion.js.map +1 -0
  16. package/dist/components/ui/core/action-toolbar/action-toolbar.d.ts +31 -31
  17. package/dist/components/ui/core/action-toolbar/action-toolbar.js +156 -106
  18. package/dist/components/ui/core/action-toolbar/action-toolbar.js.map +1 -0
  19. package/dist/components/ui/core/alert/alert.d.ts +25 -25
  20. package/dist/components/ui/core/alert/alert.js +181 -152
  21. package/dist/components/ui/core/alert/alert.js.map +1 -0
  22. package/dist/components/ui/core/avatar/avatar.d.ts +10 -9
  23. package/dist/components/ui/core/avatar/avatar.js +75 -65
  24. package/dist/components/ui/core/avatar/avatar.js.map +1 -0
  25. package/dist/components/ui/core/badge/badge.d.ts +13 -12
  26. package/dist/components/ui/core/badge/badge.js +88 -72
  27. package/dist/components/ui/core/badge/badge.js.map +1 -0
  28. package/dist/components/ui/core/banner/banner.d.ts +18 -18
  29. package/dist/components/ui/core/banner/banner.js +179 -142
  30. package/dist/components/ui/core/banner/banner.js.map +1 -0
  31. package/dist/components/ui/core/breadcrumb/breadcrumb.d.ts +12 -12
  32. package/dist/components/ui/core/breadcrumb/breadcrumb.js +139 -104
  33. package/dist/components/ui/core/breadcrumb/breadcrumb.js.map +1 -0
  34. package/dist/components/ui/core/button/button.d.ts +7 -7
  35. package/dist/components/ui/core/button/button.gallery.d.ts +2 -0
  36. package/dist/components/ui/core/button/button.gallery.js +76 -0
  37. package/dist/components/ui/core/button/button.gallery.js.map +1 -0
  38. package/dist/components/ui/core/button/button.js +57 -47
  39. package/dist/components/ui/core/button/button.js.map +1 -0
  40. package/dist/components/ui/core/button-group/button-group.d.ts +9 -9
  41. package/dist/components/ui/core/button-group/button-group.js +50 -40
  42. package/dist/components/ui/core/button-group/button-group.js.map +1 -0
  43. package/dist/components/ui/core/calendar/calendar-header.d.ts +7 -7
  44. package/dist/components/ui/core/calendar/calendar-header.js +102 -63
  45. package/dist/components/ui/core/calendar/calendar-header.js.map +1 -0
  46. package/dist/components/ui/core/calendar/calendar-utils.d.ts +30 -30
  47. package/dist/components/ui/core/calendar/calendar-utils.js +116 -39
  48. package/dist/components/ui/core/calendar/calendar-utils.js.map +1 -0
  49. package/dist/components/ui/core/calendar/calendar.d.ts +10 -10
  50. package/dist/components/ui/core/calendar/calendar.js +95 -66
  51. package/dist/components/ui/core/calendar/calendar.js.map +1 -0
  52. package/dist/components/ui/core/calendar/constants.js +3 -0
  53. package/dist/components/ui/core/calendar/constants.js.map +1 -0
  54. package/dist/components/ui/core/card/card.d.ts +20 -20
  55. package/dist/components/ui/core/card/card.js +133 -104
  56. package/dist/components/ui/core/card/card.js.map +1 -0
  57. package/dist/components/ui/core/chart/chart.d.ts +55 -53
  58. package/dist/components/ui/core/chart/chart.js +196 -116
  59. package/dist/components/ui/core/chart/chart.js.map +1 -0
  60. package/dist/components/ui/core/chart/index.d.ts +2 -2
  61. package/dist/components/ui/core/chart/index.js +3 -2
  62. package/dist/components/ui/core/chart/index.js.map +1 -0
  63. package/dist/components/ui/core/checkbox/checkbox.d.ts +9 -9
  64. package/dist/components/ui/core/checkbox/checkbox.js +88 -68
  65. package/dist/components/ui/core/checkbox/checkbox.js.map +1 -0
  66. package/dist/components/ui/core/checkbox/checkbox.metadata.d.ts +1 -1
  67. package/dist/components/ui/core/checkbox/checkbox.metadata.js +6 -7
  68. package/dist/components/ui/core/checkbox/checkbox.metadata.js.map +1 -0
  69. package/dist/components/ui/core/code-block/code-block.d.ts +19 -19
  70. package/dist/components/ui/core/code-block/code-block.js +259 -175
  71. package/dist/components/ui/core/code-block/code-block.js.map +1 -0
  72. package/dist/components/ui/core/collapsible/collapsible.d.ts +5 -5
  73. package/dist/components/ui/core/collapsible/collapsible.js +36 -30
  74. package/dist/components/ui/core/collapsible/collapsible.js.map +1 -0
  75. package/dist/components/ui/core/combobox/combobox.d.ts +13 -13
  76. package/dist/components/ui/core/combobox/combobox.js +89 -40
  77. package/dist/components/ui/core/combobox/combobox.js.map +1 -0
  78. package/dist/components/ui/core/command/command.d.ts +20 -18
  79. package/dist/components/ui/core/command/command.js +137 -85
  80. package/dist/components/ui/core/command/command.js.map +1 -0
  81. package/dist/components/ui/core/conversation/conversation.d.ts +14 -0
  82. package/dist/components/ui/core/conversation/conversation.js +51 -0
  83. package/dist/components/ui/core/conversation/conversation.js.map +1 -0
  84. package/dist/components/ui/core/count/count.d.ts +8 -6
  85. package/dist/components/ui/core/count/count.js +51 -21
  86. package/dist/components/ui/core/count/count.js.map +1 -0
  87. package/dist/components/ui/core/data-grid/data-grid-cell.d.ts +7 -7
  88. package/dist/components/ui/core/data-grid/data-grid-cell.js +23 -0
  89. package/dist/components/ui/core/data-grid/data-grid-cell.js.map +1 -0
  90. package/dist/components/ui/core/data-grid/data-grid-filter-clauses.d.ts +14 -0
  91. package/dist/components/ui/core/data-grid/data-grid-filter-clauses.js +36 -0
  92. package/dist/components/ui/core/data-grid/data-grid-filter-clauses.js.map +1 -0
  93. package/dist/components/ui/core/data-grid/data-grid-filter-panel.d.ts +41 -0
  94. package/dist/components/ui/core/data-grid/data-grid-filter-panel.js +273 -0
  95. package/dist/components/ui/core/data-grid/data-grid-filter-panel.js.map +1 -0
  96. package/dist/components/ui/core/data-grid/data-grid-footer.d.ts +6 -0
  97. package/dist/components/ui/core/data-grid/data-grid-footer.js +34 -0
  98. package/dist/components/ui/core/data-grid/data-grid-footer.js.map +1 -0
  99. package/dist/components/ui/core/data-grid/data-grid-header-row.d.ts +10 -10
  100. package/dist/components/ui/core/data-grid/data-grid-header-row.js +70 -0
  101. package/dist/components/ui/core/data-grid/data-grid-header-row.js.map +1 -0
  102. package/dist/components/ui/core/data-grid/data-grid-header.d.ts +11 -0
  103. package/dist/components/ui/core/data-grid/data-grid-header.js +67 -0
  104. package/dist/components/ui/core/data-grid/data-grid-header.js.map +1 -0
  105. package/dist/components/ui/core/data-grid/data-grid-row.d.ts +15 -15
  106. package/dist/components/ui/core/data-grid/data-grid-row.js +105 -0
  107. package/dist/components/ui/core/data-grid/data-grid-row.js.map +1 -0
  108. package/dist/components/ui/core/data-grid/data-grid.d.ts +85 -35
  109. package/dist/components/ui/core/data-grid/data-grid.fixtures.d.ts +7 -7
  110. package/dist/components/ui/core/data-grid/data-grid.fixtures.js +139 -0
  111. package/dist/components/ui/core/data-grid/data-grid.fixtures.js.map +1 -0
  112. package/dist/components/ui/core/data-grid/data-grid.js +404 -0
  113. package/dist/components/ui/core/data-grid/data-grid.js.map +1 -0
  114. package/dist/components/ui/core/data-grid/data-grid.utils.d.ts +3 -3
  115. package/dist/components/ui/core/data-grid/data-grid.utils.js +51 -0
  116. package/dist/components/ui/core/data-grid/data-grid.utils.js.map +1 -0
  117. package/dist/components/ui/core/data-grid/index.d.ts +4 -0
  118. package/dist/components/ui/core/data-grid/index.js +5 -0
  119. package/dist/components/ui/core/data-grid/index.js.map +1 -0
  120. package/dist/components/ui/core/date-time-pickers/date-picker/date-picker.d.ts +11 -13
  121. package/dist/components/ui/core/date-time-pickers/date-picker/date-picker.js +85 -61
  122. package/dist/components/ui/core/date-time-pickers/date-picker/date-picker.js.map +1 -0
  123. package/dist/components/ui/core/date-time-pickers/date-picker/index.d.ts +3 -3
  124. package/dist/components/ui/core/date-time-pickers/date-picker/index.js +3 -0
  125. package/dist/components/ui/core/date-time-pickers/date-picker/index.js.map +1 -0
  126. package/dist/components/ui/core/date-time-pickers/date-picker/types.d.ts +14 -14
  127. package/dist/components/ui/core/date-time-pickers/date-picker/types.js +3 -0
  128. package/dist/components/ui/core/date-time-pickers/date-picker/types.js.map +1 -0
  129. package/dist/components/ui/core/date-time-pickers/date-picker/use-date-picker.d.ts +2 -2
  130. package/dist/components/ui/core/date-time-pickers/date-picker/use-date-picker.js +51 -36
  131. package/dist/components/ui/core/date-time-pickers/date-picker/use-date-picker.js.map +1 -0
  132. package/dist/components/ui/core/date-time-pickers/date-range-picker/date-range-picker.d.ts +11 -13
  133. package/dist/components/ui/core/date-time-pickers/date-range-picker/date-range-picker.js +89 -64
  134. package/dist/components/ui/core/date-time-pickers/date-range-picker/date-range-picker.js.map +1 -0
  135. package/dist/components/ui/core/date-time-pickers/date-range-picker/index.d.ts +3 -3
  136. package/dist/components/ui/core/date-time-pickers/date-range-picker/index.js +3 -0
  137. package/dist/components/ui/core/date-time-pickers/date-range-picker/index.js.map +1 -0
  138. package/dist/components/ui/core/date-time-pickers/date-range-picker/types.d.ts +20 -20
  139. package/dist/components/ui/core/date-time-pickers/date-range-picker/types.js +3 -0
  140. package/dist/components/ui/core/date-time-pickers/date-range-picker/types.js.map +1 -0
  141. package/dist/components/ui/core/date-time-pickers/date-range-picker/use-date-range-picker.d.ts +4 -4
  142. package/dist/components/ui/core/date-time-pickers/date-range-picker/use-date-range-picker.js +95 -60
  143. package/dist/components/ui/core/date-time-pickers/date-range-picker/use-date-range-picker.js.map +1 -0
  144. package/dist/components/ui/core/date-time-pickers/date-time-picker/date-time-picker.d.ts +15 -0
  145. package/dist/components/ui/core/date-time-pickers/date-time-picker/date-time-picker.js +120 -0
  146. package/dist/components/ui/core/date-time-pickers/date-time-picker/date-time-picker.js.map +1 -0
  147. package/dist/components/ui/core/date-time-pickers/date-time-picker/index.d.ts +3 -1
  148. package/dist/components/ui/core/date-time-pickers/date-time-picker/index.js +3 -0
  149. package/dist/components/ui/core/date-time-pickers/date-time-picker/index.js.map +1 -0
  150. package/dist/components/ui/core/date-time-pickers/date-time-picker/types.d.ts +25 -32
  151. package/dist/components/ui/core/date-time-pickers/date-time-picker/types.js +3 -0
  152. package/dist/components/ui/core/date-time-pickers/date-time-picker/types.js.map +1 -0
  153. package/dist/components/ui/core/date-time-pickers/date-time-picker/use-date-time-picker.d.ts +2 -2
  154. package/dist/components/ui/core/date-time-pickers/date-time-picker/use-date-time-picker.js +78 -0
  155. package/dist/components/ui/core/date-time-pickers/date-time-picker/use-date-time-picker.js.map +1 -0
  156. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/date-time-range-picker.d.ts +13 -15
  157. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/date-time-range-picker.js +165 -119
  158. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/date-time-range-picker.js.map +1 -0
  159. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/index.d.ts +3 -3
  160. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/index.js +3 -0
  161. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/index.js.map +1 -0
  162. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/types.d.ts +37 -37
  163. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/types.js +3 -0
  164. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/types.js.map +1 -0
  165. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/use-date-time-range-picker.d.ts +3 -3
  166. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/use-date-time-range-picker.js +163 -104
  167. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/use-date-time-range-picker.js.map +1 -0
  168. package/dist/components/ui/core/date-time-pickers/index.d.ts +17 -12
  169. package/dist/components/ui/core/date-time-pickers/index.js +10 -6
  170. package/dist/components/ui/core/date-time-pickers/index.js.map +1 -0
  171. package/dist/components/ui/core/date-time-pickers/shared/am-pm-scroll/am-pm-scroll.d.ts +5 -5
  172. package/dist/components/ui/core/date-time-pickers/shared/am-pm-scroll/am-pm-scroll.js +52 -42
  173. package/dist/components/ui/core/date-time-pickers/shared/am-pm-scroll/am-pm-scroll.js.map +1 -0
  174. package/dist/components/ui/core/date-time-pickers/shared/constants.d.ts +6 -1
  175. package/dist/components/ui/core/date-time-pickers/shared/constants.js +23 -0
  176. package/dist/components/ui/core/date-time-pickers/shared/constants.js.map +1 -0
  177. package/dist/components/ui/core/date-time-pickers/shared/date-time-input/date-time-input.d.ts +16 -15
  178. package/dist/components/ui/core/date-time-pickers/shared/date-time-input/date-time-input.js +87 -64
  179. package/dist/components/ui/core/date-time-pickers/shared/date-time-input/date-time-input.js.map +1 -0
  180. package/dist/components/ui/core/date-time-pickers/shared/date-time-input/range-input-display.d.ts +10 -9
  181. package/dist/components/ui/core/date-time-pickers/shared/date-time-input/range-input-display.js +89 -38
  182. package/dist/components/ui/core/date-time-pickers/shared/date-time-input/range-input-display.js.map +1 -0
  183. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-popover-state.d.ts +5 -5
  184. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-popover-state.js +34 -23
  185. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-popover-state.js.map +1 -0
  186. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-range-date-state.d.ts +23 -23
  187. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-range-date-state.js +95 -52
  188. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-range-date-state.js.map +1 -0
  189. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-range-step-manager.d.ts +5 -5
  190. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-range-step-manager.js +22 -18
  191. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-range-step-manager.js.map +1 -0
  192. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-single-date-state.d.ts +19 -19
  193. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-single-date-state.js +41 -24
  194. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-single-date-state.js.map +1 -0
  195. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-time-state.d.ts +13 -13
  196. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-time-state.js +33 -24
  197. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-time-state.js.map +1 -0
  198. package/dist/components/ui/core/date-time-pickers/shared/scroll-cell-classes.d.ts +5 -5
  199. package/dist/components/ui/core/date-time-pickers/shared/scroll-cell-classes.js +9 -4
  200. package/dist/components/ui/core/date-time-pickers/shared/scroll-cell-classes.js.map +1 -0
  201. package/dist/components/ui/core/date-time-pickers/shared/shortcuts-panel/shortcuts-panel.d.ts +13 -9
  202. package/dist/components/ui/core/date-time-pickers/shared/shortcuts-panel/shortcuts-panel.js +22 -17
  203. package/dist/components/ui/core/date-time-pickers/shared/shortcuts-panel/shortcuts-panel.js.map +1 -0
  204. package/dist/components/ui/core/date-time-pickers/shared/time-picker-panel/index.d.ts +2 -2
  205. package/dist/components/ui/core/date-time-pickers/shared/time-picker-panel/index.js +3 -0
  206. package/dist/components/ui/core/date-time-pickers/shared/time-picker-panel/index.js.map +1 -0
  207. package/dist/components/ui/core/date-time-pickers/shared/time-picker-panel/time-picker-panel.d.ts +13 -13
  208. package/dist/components/ui/core/date-time-pickers/shared/time-picker-panel/time-picker-panel.js +49 -40
  209. package/dist/components/ui/core/date-time-pickers/shared/time-picker-panel/time-picker-panel.js.map +1 -0
  210. package/dist/components/ui/core/date-time-pickers/shared/time-picker-scroll/time-picker-scroll.d.ts +7 -7
  211. package/dist/components/ui/core/date-time-pickers/shared/time-picker-scroll/time-picker-scroll.js +41 -34
  212. package/dist/components/ui/core/date-time-pickers/shared/time-picker-scroll/time-picker-scroll.js.map +1 -0
  213. package/dist/components/ui/core/date-time-pickers/time-picker/index.d.ts +3 -3
  214. package/dist/components/ui/core/date-time-pickers/time-picker/index.js +3 -0
  215. package/dist/components/ui/core/date-time-pickers/time-picker/index.js.map +1 -0
  216. package/dist/components/ui/core/date-time-pickers/time-picker/time-picker.d.ts +12 -14
  217. package/dist/components/ui/core/date-time-pickers/time-picker/time-picker.js +99 -79
  218. package/dist/components/ui/core/date-time-pickers/time-picker/time-picker.js.map +1 -0
  219. package/dist/components/ui/core/date-time-pickers/time-picker/types.d.ts +20 -20
  220. package/dist/components/ui/core/date-time-pickers/time-picker/types.js +3 -0
  221. package/dist/components/ui/core/date-time-pickers/time-picker/types.js.map +1 -0
  222. package/dist/components/ui/core/date-time-pickers/time-picker/use-time-picker.d.ts +2 -2
  223. package/dist/components/ui/core/date-time-pickers/time-picker/use-time-picker.js +63 -41
  224. package/dist/components/ui/core/date-time-pickers/time-picker/use-time-picker.js.map +1 -0
  225. package/dist/components/ui/core/date-time-pickers/time-range-picker/index.d.ts +3 -1
  226. package/dist/components/ui/core/date-time-pickers/time-range-picker/index.js +3 -0
  227. package/dist/components/ui/core/date-time-pickers/time-range-picker/index.js.map +1 -0
  228. package/dist/components/ui/core/date-time-pickers/time-range-picker/time-range-picker.d.ts +14 -0
  229. package/dist/components/ui/core/date-time-pickers/time-range-picker/time-range-picker.js +115 -0
  230. package/dist/components/ui/core/date-time-pickers/time-range-picker/time-range-picker.js.map +1 -0
  231. package/dist/components/ui/core/date-time-pickers/time-range-picker/types.d.ts +30 -36
  232. package/dist/components/ui/core/date-time-pickers/time-range-picker/types.js +3 -0
  233. package/dist/components/ui/core/date-time-pickers/time-range-picker/types.js.map +1 -0
  234. package/dist/components/ui/core/date-time-pickers/time-range-picker/use-time-range-picker.d.ts +2 -2
  235. package/dist/components/ui/core/date-time-pickers/time-range-picker/use-time-range-picker.js +145 -0
  236. package/dist/components/ui/core/date-time-pickers/time-range-picker/use-time-range-picker.js.map +1 -0
  237. package/dist/components/ui/core/date-time-pickers/utils/date-input.d.ts +56 -0
  238. package/dist/components/ui/core/date-time-pickers/utils/date-input.js +67 -0
  239. package/dist/components/ui/core/date-time-pickers/utils/date-input.js.map +1 -0
  240. package/dist/components/ui/core/date-time-pickers/utils/date-range-utils.d.ts +18 -18
  241. package/dist/components/ui/core/date-time-pickers/utils/date-range-utils.js +42 -0
  242. package/dist/components/ui/core/date-time-pickers/utils/date-range-utils.js.map +1 -0
  243. package/dist/components/ui/core/date-time-pickers/utils/format-utils.d.ts +31 -29
  244. package/dist/components/ui/core/date-time-pickers/utils/format-utils.js +56 -0
  245. package/dist/components/ui/core/date-time-pickers/utils/format-utils.js.map +1 -0
  246. package/dist/components/ui/core/date-time-pickers/utils/segment-utils.d.ts +21 -21
  247. package/dist/components/ui/core/date-time-pickers/utils/segment-utils.js +170 -0
  248. package/dist/components/ui/core/date-time-pickers/utils/segment-utils.js.map +1 -0
  249. package/dist/components/ui/core/date-time-pickers/utils/time-utils.d.ts +28 -28
  250. package/dist/components/ui/core/date-time-pickers/utils/time-utils.js +88 -7
  251. package/dist/components/ui/core/date-time-pickers/utils/time-utils.js.map +1 -0
  252. package/dist/components/ui/core/date-time-pickers/utils/time-validation.d.ts +17 -17
  253. package/dist/components/ui/core/date-time-pickers/utils/time-validation.js +43 -0
  254. package/dist/components/ui/core/date-time-pickers/utils/time-validation.js.map +1 -0
  255. package/dist/components/ui/core/dialog/dialog.d.ts +12 -9
  256. package/dist/components/ui/core/dialog/dialog.js +90 -82
  257. package/dist/components/ui/core/dialog/dialog.js.map +1 -0
  258. package/dist/components/ui/core/dropdown-menu/dropdown-menu.d.ts +22 -19
  259. package/dist/components/ui/core/dropdown-menu/dropdown-menu.js +204 -149
  260. package/dist/components/ui/core/dropdown-menu/dropdown-menu.js.map +1 -0
  261. package/dist/components/ui/core/empty-state/empty-state.context.d.ts +4 -4
  262. package/dist/components/ui/core/empty-state/empty-state.context.js +8 -5
  263. package/dist/components/ui/core/empty-state/empty-state.context.js.map +1 -0
  264. package/dist/components/ui/core/empty-state/empty-state.d.ts +14 -14
  265. package/dist/components/ui/core/empty-state/empty-state.js +96 -82
  266. package/dist/components/ui/core/empty-state/empty-state.js.map +1 -0
  267. package/dist/components/ui/core/helper-text/helper-text.d.ts +7 -7
  268. package/dist/components/ui/core/helper-text/helper-text.js +55 -36
  269. package/dist/components/ui/core/helper-text/helper-text.js.map +1 -0
  270. package/dist/components/ui/core/hover-card/hover-card.d.ts +7 -6
  271. package/dist/components/ui/core/hover-card/hover-card.js +56 -52
  272. package/dist/components/ui/core/hover-card/hover-card.js.map +1 -0
  273. package/dist/components/ui/core/inline-citation/inline-citation.d.ts +26 -25
  274. package/dist/components/ui/core/inline-citation/inline-citation.js +121 -97
  275. package/dist/components/ui/core/inline-citation/inline-citation.js.map +1 -0
  276. package/dist/components/ui/core/input/input.d.ts +2 -2
  277. package/dist/components/ui/core/input/input.js +15 -13
  278. package/dist/components/ui/core/input/input.js.map +1 -0
  279. package/dist/components/ui/core/input-group/input-group.d.ts +25 -14
  280. package/dist/components/ui/core/input-group/input-group.js +149 -76
  281. package/dist/components/ui/core/input-group/input-group.js.map +1 -0
  282. package/dist/components/ui/core/item/item.d.ts +20 -0
  283. package/dist/components/ui/core/item/item.js +93 -0
  284. package/dist/components/ui/core/item/item.js.map +1 -0
  285. package/dist/components/ui/core/kbd/kbd.d.ts +3 -3
  286. package/dist/components/ui/core/kbd/kbd.js +24 -20
  287. package/dist/components/ui/core/kbd/kbd.js.map +1 -0
  288. package/dist/components/ui/core/label/label.d.ts +3 -3
  289. package/dist/components/ui/core/label/label.js +33 -26
  290. package/dist/components/ui/core/label/label.js.map +1 -0
  291. package/dist/components/ui/core/loader/loader.d.ts +6 -6
  292. package/dist/components/ui/core/loader/loader.js +97 -80
  293. package/dist/components/ui/core/loader/loader.js.map +1 -0
  294. package/dist/components/ui/core/message/message-response-default-streamdown-controls.d.ts +9 -9
  295. package/dist/components/ui/core/message/message-response-default-streamdown-controls.js +19 -12
  296. package/dist/components/ui/core/message/message-response-default-streamdown-controls.js.map +1 -0
  297. package/dist/components/ui/core/message/message-response-math-plugin.d.ts +3 -0
  298. package/dist/components/ui/core/message/message-response-math-plugin.js +6 -0
  299. package/dist/components/ui/core/message/message-response-math-plugin.js.map +1 -0
  300. package/dist/components/ui/core/message/message.d.ts +27 -23
  301. package/dist/components/ui/core/message/message.js +453 -316
  302. package/dist/components/ui/core/message/message.js.map +1 -0
  303. package/dist/components/ui/core/overflow-list/overflow-list.d.ts +21 -0
  304. package/dist/components/ui/core/overflow-list/overflow-list.js +197 -0
  305. package/dist/components/ui/core/overflow-list/overflow-list.js.map +1 -0
  306. package/dist/components/ui/core/overflow-list/overflow-list.utils.d.ts +37 -35
  307. package/dist/components/ui/core/overflow-list/overflow-list.utils.js +206 -0
  308. package/dist/components/ui/core/overflow-list/overflow-list.utils.js.map +1 -0
  309. package/dist/components/ui/core/pagination/pagination-size-context.d.ts +2 -2
  310. package/dist/components/ui/core/pagination/pagination-size-context.js +6 -5
  311. package/dist/components/ui/core/pagination/pagination-size-context.js.map +1 -0
  312. package/dist/components/ui/core/pagination/pagination-teleport.d.ts +9 -9
  313. package/dist/components/ui/core/pagination/pagination-teleport.js +127 -84
  314. package/dist/components/ui/core/pagination/pagination-teleport.js.map +1 -0
  315. package/dist/components/ui/core/pagination/pagination-teleport.utils.js +6 -6
  316. package/dist/components/ui/core/pagination/pagination-teleport.utils.js.map +1 -0
  317. package/dist/components/ui/core/pagination/pagination.d.ts +39 -39
  318. package/dist/components/ui/core/pagination/pagination.js +294 -234
  319. package/dist/components/ui/core/pagination/pagination.js.map +1 -0
  320. package/dist/components/ui/core/popover/popover.d.ts +12 -11
  321. package/dist/components/ui/core/popover/popover.js +104 -89
  322. package/dist/components/ui/core/popover/popover.js.map +1 -0
  323. package/dist/components/ui/core/progress/progress.d.ts +9 -8
  324. package/dist/components/ui/core/progress/progress.js +50 -35
  325. package/dist/components/ui/core/progress/progress.js.map +1 -0
  326. package/dist/components/ui/core/prompt-input/prompt-input.d.ts +27 -27
  327. package/dist/components/ui/core/prompt-input/prompt-input.js +342 -271
  328. package/dist/components/ui/core/prompt-input/prompt-input.js.map +1 -0
  329. package/dist/components/ui/core/radio-group/radio-group.d.ts +12 -12
  330. package/dist/components/ui/core/radio-group/radio-group.js +88 -58
  331. package/dist/components/ui/core/radio-group/radio-group.js.map +1 -0
  332. package/dist/components/ui/core/reasoning/reasoning.d.ts +7 -7
  333. package/dist/components/ui/core/reasoning/reasoning.js +68 -56
  334. package/dist/components/ui/core/reasoning/reasoning.js.map +1 -0
  335. package/dist/components/ui/core/scroll-area/scroll-area.d.ts +4 -4
  336. package/dist/components/ui/core/scroll-area/scroll-area.js +50 -40
  337. package/dist/components/ui/core/scroll-area/scroll-area.js.map +1 -0
  338. package/dist/components/ui/core/search/search.d.ts +8 -8
  339. package/dist/components/ui/core/search/search.js +122 -76
  340. package/dist/components/ui/core/search/search.js.map +1 -0
  341. package/dist/components/ui/core/segmented-control/segmented-control.d.ts +17 -11
  342. package/dist/components/ui/core/segmented-control/segmented-control.js +204 -108
  343. package/dist/components/ui/core/segmented-control/segmented-control.js.map +1 -0
  344. package/dist/components/ui/core/select/select.d.ts +27 -26
  345. package/dist/components/ui/core/select/select.js +213 -168
  346. package/dist/components/ui/core/select/select.js.map +1 -0
  347. package/dist/components/ui/core/separator/separator.d.ts +2 -2
  348. package/dist/components/ui/core/separator/separator.js +13 -13
  349. package/dist/components/ui/core/separator/separator.js.map +1 -0
  350. package/dist/components/ui/core/shimmer/shimmer.d.ts +8 -8
  351. package/dist/components/ui/core/shimmer/shimmer.js +64 -40
  352. package/dist/components/ui/core/shimmer/shimmer.js.map +1 -0
  353. package/dist/components/ui/core/skeleton/skeleton.d.ts +2 -2
  354. package/dist/components/ui/core/skeleton/skeleton.js +13 -13
  355. package/dist/components/ui/core/skeleton/skeleton.js.map +1 -0
  356. package/dist/components/ui/core/slider/slider.d.ts +7 -7
  357. package/dist/components/ui/core/slider/slider.js +51 -39
  358. package/dist/components/ui/core/slider/slider.js.map +1 -0
  359. package/dist/components/ui/core/sonner-toast/sonner-toast.d.ts +2 -2
  360. package/dist/components/ui/core/sonner-toast/sonner-toast.js +67 -54
  361. package/dist/components/ui/core/sonner-toast/sonner-toast.js.map +1 -0
  362. package/dist/components/ui/core/sources/sources.d.ts +12 -12
  363. package/dist/components/ui/core/sources/sources.js +87 -58
  364. package/dist/components/ui/core/sources/sources.js.map +1 -0
  365. package/dist/components/ui/core/switch/switch.d.ts +9 -9
  366. package/dist/components/ui/core/switch/switch.js +83 -61
  367. package/dist/components/ui/core/switch/switch.js.map +1 -0
  368. package/dist/components/ui/core/switch/switch.metadata.d.ts +1 -1
  369. package/dist/components/ui/core/switch/switch.metadata.js +8 -0
  370. package/dist/components/ui/core/switch/switch.metadata.js.map +1 -0
  371. package/dist/components/ui/core/tabs/tabs.d.ts +20 -18
  372. package/dist/components/ui/core/tabs/tabs.js +176 -147
  373. package/dist/components/ui/core/tabs/tabs.js.map +1 -0
  374. package/dist/components/ui/core/tabs/tabs.utils.d.ts +1 -1
  375. package/dist/components/ui/core/tabs/tabs.utils.js +10 -6
  376. package/dist/components/ui/core/tabs/tabs.utils.js.map +1 -0
  377. package/dist/components/ui/core/textarea/textarea.d.ts +2 -2
  378. package/dist/components/ui/core/textarea/textarea.js +13 -13
  379. package/dist/components/ui/core/textarea/textarea.js.map +1 -0
  380. package/dist/components/ui/core/toggle/toggle.d.ts +9 -9
  381. package/dist/components/ui/core/toggle/toggle.js +60 -54
  382. package/dist/components/ui/core/toggle/toggle.js.map +1 -0
  383. package/dist/components/ui/core/tool/tool.d.ts +18 -18
  384. package/dist/components/ui/core/tool/tool.js +167 -126
  385. package/dist/components/ui/core/tool/tool.js.map +1 -0
  386. package/dist/components/ui/core/toolbar/toolbar.d.ts +37 -0
  387. package/dist/components/ui/core/toolbar/toolbar.js +171 -0
  388. package/dist/components/ui/core/toolbar/toolbar.js.map +1 -0
  389. package/dist/components/ui/core/tooltip/tooltip.d.ts +8 -7
  390. package/dist/components/ui/core/tooltip/tooltip.js +53 -46
  391. package/dist/components/ui/core/tooltip/tooltip.js.map +1 -0
  392. package/dist/components/ui/core/topbar/topbar.d.ts +26 -26
  393. package/dist/components/ui/core/topbar/topbar.js +160 -105
  394. package/dist/components/ui/core/topbar/topbar.js.map +1 -0
  395. package/dist/components/ui/core/tree/tree.d.ts +20 -0
  396. package/dist/components/ui/core/tree/tree.js +100 -0
  397. package/dist/components/ui/core/tree/tree.js.map +1 -0
  398. package/dist/eslint/index.d.ts +5 -5
  399. package/dist/eslint/index.js +9 -5
  400. package/dist/eslint/index.js.map +1 -0
  401. package/dist/eslint/no-overriding-styles.d.ts +1 -1
  402. package/dist/eslint/no-overriding-styles.js +341 -201
  403. package/dist/eslint/no-overriding-styles.js.map +1 -0
  404. package/dist/icons/index.d.ts +1 -1
  405. package/dist/icons/index.js +2 -0
  406. package/dist/icons/index.js.map +1 -0
  407. package/dist/index.d.ts +1 -1
  408. package/dist/index.js +3 -0
  409. package/dist/index.js.map +1 -0
  410. package/dist/lib/ai/types.d.ts +43 -43
  411. package/dist/lib/ai/types.js +3 -0
  412. package/dist/lib/ai/types.js.map +1 -0
  413. package/dist/lib/decorative-variant-classes.d.ts +53 -0
  414. package/dist/lib/decorative-variant-classes.js +58 -0
  415. package/dist/lib/decorative-variant-classes.js.map +1 -0
  416. package/dist/lib/highlight-code.d.ts +11 -8
  417. package/dist/lib/highlight-code.js +58 -40
  418. package/dist/lib/highlight-code.js.map +1 -0
  419. package/dist/lib/portal-container-context.d.ts +1 -1
  420. package/dist/lib/portal-container-context.js +8 -8
  421. package/dist/lib/portal-container-context.js.map +1 -0
  422. package/dist/lib/shared-theme-from-url.d.ts +13 -0
  423. package/dist/lib/shared-theme-from-url.js +61 -0
  424. package/dist/lib/shared-theme-from-url.js.map +1 -0
  425. package/dist/lib/style-scope.d.ts +2 -2
  426. package/dist/lib/style-scope.js +6 -6
  427. package/dist/lib/style-scope.js.map +1 -0
  428. package/dist/lib/theme-share-url.d.ts +31 -0
  429. package/dist/lib/theme-share-url.js +116 -0
  430. package/dist/lib/theme-share-url.js.map +1 -0
  431. package/dist/lib/types.d.ts +39 -39
  432. package/dist/lib/types.js +3 -0
  433. package/dist/lib/types.js.map +1 -0
  434. package/dist/lib/use-controllable-state.d.ts +4 -7
  435. package/dist/lib/use-controllable-state.js +34 -21
  436. package/dist/lib/use-controllable-state.js.map +1 -0
  437. package/dist/lib/utils.d.ts +63 -34
  438. package/dist/lib/utils.js +134 -32
  439. package/dist/lib/utils.js.map +1 -0
  440. package/dist/styles.css +2 -1
  441. package/dist/styles.source.css +24 -12
  442. package/dist/utils/assign-ref.d.ts +3 -0
  443. package/dist/utils/assign-ref.js +13 -0
  444. package/dist/utils/assign-ref.js.map +1 -0
  445. package/package.json +50 -11
  446. package/src/components/ui/core/button/button.md +93 -0
@@ -0,0 +1,139 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Badge } from "../badge/badge.js";
3
+ const assetRows = [
4
+ {
5
+ id: '1',
6
+ name: 'Pump health UT-654/111',
7
+ type: 'Pump',
8
+ status: 'Running',
9
+ area: 'North platform',
10
+ updated: '2026-04-11'
11
+ },
12
+ {
13
+ id: '2',
14
+ name: 'Compressor train A-14',
15
+ type: 'Compressor',
16
+ status: 'Needs attention',
17
+ area: 'East module',
18
+ updated: '2026-04-14'
19
+ },
20
+ {
21
+ id: '3',
22
+ name: 'Valve V-09',
23
+ type: 'Valve',
24
+ status: 'Stopped',
25
+ area: 'South riser',
26
+ updated: '2026-04-18'
27
+ },
28
+ {
29
+ id: '4',
30
+ name: 'Flow sensor SK-91',
31
+ type: 'Sensor',
32
+ status: 'Running',
33
+ area: 'West deck',
34
+ updated: '2026-04-22'
35
+ },
36
+ {
37
+ id: '5',
38
+ name: 'Pump A-10',
39
+ type: 'Pump',
40
+ status: 'Running',
41
+ area: 'North platform',
42
+ updated: '2026-04-25'
43
+ },
44
+ {
45
+ id: '6',
46
+ name: 'Valve V-42',
47
+ type: 'Valve',
48
+ status: 'Needs attention',
49
+ area: 'East module',
50
+ updated: '2026-04-28'
51
+ },
52
+ {
53
+ id: '7',
54
+ name: 'Compressor train B-07',
55
+ type: 'Compressor',
56
+ status: 'Running',
57
+ area: 'North platform',
58
+ updated: '2026-05-01'
59
+ },
60
+ {
61
+ id: '8',
62
+ name: 'Heat exchanger HX-22',
63
+ type: 'Heat exchanger',
64
+ status: 'Running',
65
+ area: 'South riser',
66
+ updated: '2026-05-03'
67
+ },
68
+ {
69
+ id: '9',
70
+ name: 'Pump P-33',
71
+ type: 'Pump',
72
+ status: 'Stopped',
73
+ area: 'East module',
74
+ updated: '2026-05-05'
75
+ },
76
+ {
77
+ id: '10',
78
+ name: 'Separator SEP-01',
79
+ type: 'Separator',
80
+ status: 'Running',
81
+ area: 'West deck',
82
+ updated: '2026-05-07'
83
+ },
84
+ {
85
+ id: '11',
86
+ name: 'Valve V-17',
87
+ type: 'Valve',
88
+ status: 'Running',
89
+ area: 'North platform',
90
+ updated: '2026-05-09'
91
+ },
92
+ {
93
+ id: '12',
94
+ name: 'Flow sensor SK-44',
95
+ type: 'Sensor',
96
+ status: 'Needs attention',
97
+ area: 'South riser',
98
+ updated: '2026-05-10'
99
+ }
100
+ ];
101
+ const statusVariant = {
102
+ Running: 'success',
103
+ Stopped: 'error',
104
+ 'Needs attention': 'warning'
105
+ };
106
+ const assetColumns = [
107
+ {
108
+ accessorKey: 'name',
109
+ header: 'Name',
110
+ size: 220
111
+ },
112
+ {
113
+ accessorKey: 'type',
114
+ header: 'Type',
115
+ size: 140
116
+ },
117
+ {
118
+ accessorKey: 'status',
119
+ header: 'Status',
120
+ size: 160,
121
+ cell: ({ row })=>/*#__PURE__*/ _jsx(Badge, {
122
+ variant: statusVariant[row.original.status],
123
+ children: row.original.status
124
+ })
125
+ },
126
+ {
127
+ accessorKey: 'area',
128
+ header: 'Area',
129
+ size: 180
130
+ },
131
+ {
132
+ accessorKey: 'updated',
133
+ header: 'Updated',
134
+ size: 140
135
+ }
136
+ ];
137
+ export { assetColumns, assetRows };
138
+
139
+ //# sourceMappingURL=data-grid.fixtures.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/components/ui/core/data-grid/data-grid.fixtures.tsx"],"sourcesContent":["import type { ColumnDef } from '@tanstack/react-table';\n\nimport { Badge } from '../badge/badge';\n\ntype AssetRow = {\n id: string;\n name: string;\n type: string;\n status: 'Running' | 'Stopped' | 'Needs attention';\n area: string;\n updated: string;\n};\n\nconst assetRows: AssetRow[] = [\n {\n id: '1',\n name: 'Pump health UT-654/111',\n type: 'Pump',\n status: 'Running',\n area: 'North platform',\n updated: '2026-04-11',\n },\n {\n id: '2',\n name: 'Compressor train A-14',\n type: 'Compressor',\n status: 'Needs attention',\n area: 'East module',\n updated: '2026-04-14',\n },\n {\n id: '3',\n name: 'Valve V-09',\n type: 'Valve',\n status: 'Stopped',\n area: 'South riser',\n updated: '2026-04-18',\n },\n {\n id: '4',\n name: 'Flow sensor SK-91',\n type: 'Sensor',\n status: 'Running',\n area: 'West deck',\n updated: '2026-04-22',\n },\n {\n id: '5',\n name: 'Pump A-10',\n type: 'Pump',\n status: 'Running',\n area: 'North platform',\n updated: '2026-04-25',\n },\n {\n id: '6',\n name: 'Valve V-42',\n type: 'Valve',\n status: 'Needs attention',\n area: 'East module',\n updated: '2026-04-28',\n },\n {\n id: '7',\n name: 'Compressor train B-07',\n type: 'Compressor',\n status: 'Running',\n area: 'North platform',\n updated: '2026-05-01',\n },\n {\n id: '8',\n name: 'Heat exchanger HX-22',\n type: 'Heat exchanger',\n status: 'Running',\n area: 'South riser',\n updated: '2026-05-03',\n },\n {\n id: '9',\n name: 'Pump P-33',\n type: 'Pump',\n status: 'Stopped',\n area: 'East module',\n updated: '2026-05-05',\n },\n {\n id: '10',\n name: 'Separator SEP-01',\n type: 'Separator',\n status: 'Running',\n area: 'West deck',\n updated: '2026-05-07',\n },\n {\n id: '11',\n name: 'Valve V-17',\n type: 'Valve',\n status: 'Running',\n area: 'North platform',\n updated: '2026-05-09',\n },\n {\n id: '12',\n name: 'Flow sensor SK-44',\n type: 'Sensor',\n status: 'Needs attention',\n area: 'South riser',\n updated: '2026-05-10',\n },\n];\n\nconst statusVariant = {\n Running: 'success',\n Stopped: 'error',\n 'Needs attention': 'warning',\n} as const;\n\nconst assetColumns: ColumnDef<AssetRow>[] = [\n { accessorKey: 'name', header: 'Name', size: 220 },\n { accessorKey: 'type', header: 'Type', size: 140 },\n {\n accessorKey: 'status',\n header: 'Status',\n size: 160,\n cell: ({ row }) => (\n <Badge variant={statusVariant[row.original.status]}>\n {row.original.status}\n </Badge>\n ),\n },\n { accessorKey: 'area', header: 'Area', size: 180 },\n { accessorKey: 'updated', header: 'Updated', size: 140 },\n];\n\nexport { type AssetRow, assetColumns, assetRows };\n"],"names":["Badge","assetRows","id","name","type","status","area","updated","statusVariant","Running","Stopped","assetColumns","accessorKey","header","size","cell","row","variant","original"],"mappings":";AAEA,SAASA,KAAK,QAAQ,oBAAiB;AAWvC,MAAMC,YAAwB;IAC5B;QACEC,IAAI;QACJC,MAAM;QACNC,MAAM;QACNC,QAAQ;QACRC,MAAM;QACNC,SAAS;IACX;IACA;QACEL,IAAI;QACJC,MAAM;QACNC,MAAM;QACNC,QAAQ;QACRC,MAAM;QACNC,SAAS;IACX;IACA;QACEL,IAAI;QACJC,MAAM;QACNC,MAAM;QACNC,QAAQ;QACRC,MAAM;QACNC,SAAS;IACX;IACA;QACEL,IAAI;QACJC,MAAM;QACNC,MAAM;QACNC,QAAQ;QACRC,MAAM;QACNC,SAAS;IACX;IACA;QACEL,IAAI;QACJC,MAAM;QACNC,MAAM;QACNC,QAAQ;QACRC,MAAM;QACNC,SAAS;IACX;IACA;QACEL,IAAI;QACJC,MAAM;QACNC,MAAM;QACNC,QAAQ;QACRC,MAAM;QACNC,SAAS;IACX;IACA;QACEL,IAAI;QACJC,MAAM;QACNC,MAAM;QACNC,QAAQ;QACRC,MAAM;QACNC,SAAS;IACX;IACA;QACEL,IAAI;QACJC,MAAM;QACNC,MAAM;QACNC,QAAQ;QACRC,MAAM;QACNC,SAAS;IACX;IACA;QACEL,IAAI;QACJC,MAAM;QACNC,MAAM;QACNC,QAAQ;QACRC,MAAM;QACNC,SAAS;IACX;IACA;QACEL,IAAI;QACJC,MAAM;QACNC,MAAM;QACNC,QAAQ;QACRC,MAAM;QACNC,SAAS;IACX;IACA;QACEL,IAAI;QACJC,MAAM;QACNC,MAAM;QACNC,QAAQ;QACRC,MAAM;QACNC,SAAS;IACX;IACA;QACEL,IAAI;QACJC,MAAM;QACNC,MAAM;QACNC,QAAQ;QACRC,MAAM;QACNC,SAAS;IACX;CACD;AAED,MAAMC,gBAAgB;IACpBC,SAAS;IACTC,SAAS;IACT,mBAAmB;AACrB;AAEA,MAAMC,eAAsC;IAC1C;QAAEC,aAAa;QAAQC,QAAQ;QAAQC,MAAM;IAAI;IACjD;QAAEF,aAAa;QAAQC,QAAQ;QAAQC,MAAM;IAAI;IACjD;QACEF,aAAa;QACbC,QAAQ;QACRC,MAAM;QACNC,MAAM,CAAC,EAAEC,GAAG,EAAE,iBACZ,KAAChB;gBAAMiB,SAAST,aAAa,CAACQ,IAAIE,QAAQ,CAACb,MAAM,CAAC;0BAC/CW,IAAIE,QAAQ,CAACb,MAAM;;IAG1B;IACA;QAAEO,aAAa;QAAQC,QAAQ;QAAQC,MAAM;IAAI;IACjD;QAAEF,aAAa;QAAWC,QAAQ;QAAWC,MAAM;IAAI;CACxD;AAED,SAAwBH,YAAY,EAAEV,SAAS,GAAG"}
@@ -0,0 +1,404 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { createContext, forwardRef, useContext, useEffect, useImperativeHandle, useMemo, useRef } from "react";
3
+ import { Checkbox as CheckboxPrimitive } from "@base-ui/react/checkbox";
4
+ import { IconCheck, IconFilter, IconMinus } from "@tabler/icons-react";
5
+ import { getCoreRowModel, getExpandedRowModel, getFilteredRowModel, getPaginationRowModel, getSortedRowModel, useReactTable } from "@tanstack/react-table";
6
+ import { useVirtualizer } from "@tanstack/react-virtual";
7
+ import { useControllableState } from "../../../../lib/use-controllable-state.js";
8
+ import { cn, focusState } from "../../../../lib/utils.js";
9
+ import { Button } from "../button/button.js";
10
+ import { Search } from "../search/search.js";
11
+ import { DataGridHeaderRow } from "./data-grid-header-row.js";
12
+ import { DataGridRow } from "./data-grid-row.js";
13
+ import { collectCustomCellColumnIds } from "./data-grid.utils.js";
14
+ const EMPTY_PINNED_COLUMNS = [];
15
+ const DEFAULT_FLEXIBLE_COLUMN_WIDTH = 120;
16
+ const DataGridContext = /*#__PURE__*/ createContext(undefined);
17
+ const ROW_HEIGHT_MAP = {
18
+ default: 36,
19
+ compact: 32
20
+ };
21
+ const HEADER_HEIGHT_MAP = {
22
+ default: 36,
23
+ compact: 32
24
+ };
25
+ function DataGrid({ data, columns, getRowId, rowCount, globalFilterFn = 'auto', enableRowSelection = false, enableSorting = false, manualPagination = false, manualSorting = false, rowSelection, defaultRowSelection, onRowSelectionChange, sorting, defaultSorting, onSortingChange, pagination, defaultPagination, onPaginationChange, getSubRows, expanded, defaultExpanded, onExpandedChange, getRowCanExpand, maxDepth = 5, pinnedColumns = EMPTY_PINNED_COLUMNS, gridRef, size = 'default', children, className, onRowClick, searchValue, defaultSearchValue, onSearchValueChange, queryMode = 'client', filteredResultCount, totalResultCount, rowHeight, headerHeight, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy }) {
26
+ const scrollContainerRef = useRef(null);
27
+ const [resolvedSearchValue, setResolvedSearchValue] = useControllableState({
28
+ prop: searchValue,
29
+ defaultProp: defaultSearchValue ?? '',
30
+ onChange: onSearchValueChange
31
+ });
32
+ const [resolvedSorting, setResolvedSorting] = useControllableState({
33
+ prop: sorting,
34
+ defaultProp: defaultSorting ?? [],
35
+ onChange: onSortingChange
36
+ });
37
+ const [resolvedRowSelection, setResolvedRowSelection] = useControllableState({
38
+ prop: rowSelection,
39
+ defaultProp: defaultRowSelection ?? {},
40
+ onChange: onRowSelectionChange
41
+ });
42
+ const hasPagination = pagination !== undefined || defaultPagination !== undefined;
43
+ const [resolvedPagination, setResolvedPagination] = useControllableState({
44
+ prop: pagination,
45
+ defaultProp: defaultPagination ?? {
46
+ pageIndex: 0,
47
+ pageSize: 10
48
+ },
49
+ onChange: onPaginationChange
50
+ });
51
+ const hasExpanding = getSubRows !== undefined;
52
+ const [resolvedExpanded, setResolvedExpanded] = useControllableState({
53
+ prop: expanded,
54
+ defaultProp: defaultExpanded ?? {},
55
+ onChange: onExpandedChange
56
+ });
57
+ const isClientSorting = enableSorting && !manualSorting;
58
+ const isClientPagination = hasPagination && !manualPagination;
59
+ useSearchPaginationReset(resolvedSearchValue, hasPagination, setResolvedPagination);
60
+ const columnPinning = useMemo(()=>({
61
+ left: pinnedColumns,
62
+ right: []
63
+ }), [
64
+ pinnedColumns
65
+ ]);
66
+ const pinnedColumnIds = useMemo(()=>new Set(pinnedColumns), [
67
+ pinnedColumns
68
+ ]);
69
+ const lastPinnedColumnId = pinnedColumns[pinnedColumns.length - 1];
70
+ const customCellColumnIds = useMemo(()=>collectCustomCellColumnIds(columns), [
71
+ columns
72
+ ]);
73
+ // eslint-disable-next-line react-hooks/incompatible-library -- useReactTable in the DataGrid component is intentional and stable.
74
+ const table = useReactTable({
75
+ data,
76
+ columns,
77
+ state: {
78
+ columnPinning,
79
+ globalFilter: resolvedSearchValue,
80
+ sorting: resolvedSorting,
81
+ rowSelection: resolvedRowSelection,
82
+ ...hasPagination ? {
83
+ pagination: resolvedPagination
84
+ } : {},
85
+ ...hasExpanding ? {
86
+ expanded: resolvedExpanded
87
+ } : {}
88
+ },
89
+ onSortingChange: setResolvedSorting,
90
+ onRowSelectionChange: setResolvedRowSelection,
91
+ ...hasPagination ? {
92
+ onPaginationChange: setResolvedPagination
93
+ } : {},
94
+ ...hasExpanding ? {
95
+ onExpandedChange: setResolvedExpanded
96
+ } : {},
97
+ // Preserve expanded rows across `data` changes (e.g. refetches) so the user
98
+ // doesn't lose their place. Consumers fetching server-paged data should
99
+ // ensure stable `getRowId` values; otherwise expanded keys can stick to
100
+ // rows that no longer logically exist.
101
+ autoResetPageIndex: false,
102
+ autoResetExpanded: false,
103
+ enableRowSelection,
104
+ enableSubRowSelection: false,
105
+ enableSorting,
106
+ manualPagination,
107
+ manualSorting,
108
+ getCoreRowModel: getCoreRowModel(),
109
+ getFilteredRowModel: getFilteredRowModel(),
110
+ globalFilterFn,
111
+ ...isClientSorting ? {
112
+ getSortedRowModel: getSortedRowModel()
113
+ } : {},
114
+ ...isClientPagination ? {
115
+ getPaginationRowModel: getPaginationRowModel()
116
+ } : {},
117
+ ...hasExpanding ? {
118
+ getExpandedRowModel: getExpandedRowModel()
119
+ } : {},
120
+ getRowId,
121
+ getSubRows,
122
+ getRowCanExpand
123
+ });
124
+ const { rows } = table.getRowModel();
125
+ const headerGroups = table.getHeaderGroups();
126
+ const allColumns = table.getAllColumns();
127
+ const visibleColumns = table.getVisibleFlatColumns();
128
+ const resolvedRowHeight = rowHeight ?? ROW_HEIGHT_MAP[size];
129
+ const resolvedHeaderHeight = headerHeight ?? HEADER_HEIGHT_MAP[size];
130
+ const hasNoRows = data.length === 0;
131
+ const virtualizer = useVirtualizer({
132
+ count: rows.length,
133
+ getScrollElement: ()=>scrollContainerRef.current,
134
+ estimateSize: ()=>resolvedRowHeight,
135
+ overscan: 10
136
+ });
137
+ const bodyHeight = virtualizer.getTotalSize();
138
+ const bodyStyle = {
139
+ '--data-grid-body-height': `${bodyHeight}px`,
140
+ '--data-grid-body-min-height': `${resolvedRowHeight * 4}px`
141
+ };
142
+ useImperativeHandle(gridRef, ()=>({
143
+ scrollToRow: (index)=>virtualizer.scrollToIndex(index),
144
+ resetSorting: ()=>setResolvedSorting([]),
145
+ resetSelection: ()=>setResolvedRowSelection({}),
146
+ resetSearch: ()=>setResolvedSearchValue('')
147
+ }));
148
+ useEffect(()=>{
149
+ for (const pinnedId of pinnedColumns){
150
+ const pinnedColumn = allColumns.find((column)=>column.id === pinnedId);
151
+ if (pinnedColumn && pinnedColumn.columnDef.size === undefined) {
152
+ console.warn(`[Aura DataGrid] Pinned column "${pinnedId}" has no \`size\` set. ` + 'Pinned columns must declare an explicit `size` to keep the sticky ' + 'offset aligned with the rendered column width.');
153
+ }
154
+ }
155
+ }, [
156
+ pinnedColumns,
157
+ allColumns
158
+ ]);
159
+ const gridTemplateColumns = useMemo(()=>{
160
+ const hasFlexibleColumn = visibleColumns.some((col)=>col.columnDef.size === undefined && !pinnedColumnIds.has(col.id));
161
+ return visibleColumns.map((col, index)=>{
162
+ const colSize = col.columnDef.size;
163
+ const isLastColumn = index === visibleColumns.length - 1;
164
+ const isPinned = pinnedColumnIds.has(col.id);
165
+ // Pinned columns must render at a fixed pixel width so the cumulative
166
+ // sticky `left` offset agrees with the actually-rendered column width.
167
+ // `minmax(..., 1fr)` would let the column flex and break alignment.
168
+ if (isPinned) {
169
+ return `${colSize ?? DEFAULT_FLEXIBLE_COLUMN_WIDTH}px`;
170
+ }
171
+ if (colSize !== undefined) {
172
+ if (!hasFlexibleColumn && isLastColumn) {
173
+ return `minmax(${colSize}px, 1fr)`;
174
+ }
175
+ return `${colSize}px`;
176
+ }
177
+ return `minmax(${DEFAULT_FLEXIBLE_COLUMN_WIDTH}px, 1fr)`;
178
+ }).join(' ');
179
+ }, [
180
+ visibleColumns,
181
+ pinnedColumnIds
182
+ ]);
183
+ const pinnedLeftByColumnId = useMemo(()=>{
184
+ const leftById = new Map();
185
+ let cumulativeLeft = 0;
186
+ for (const pinnedId of pinnedColumns){
187
+ const pinnedColumn = visibleColumns.find((column)=>column.id === pinnedId);
188
+ // Skip pinned columns that are currently hidden — they don't render
189
+ // and shouldn't contribute to the cumulative sticky `left` offset for
190
+ // subsequent visible pinned columns.
191
+ if (!pinnedColumn) continue;
192
+ leftById.set(pinnedId, cumulativeLeft);
193
+ // Read `columnDef.size` (not `getSize()`) so the fallback matches the
194
+ // gridTemplateColumns track size; `getSize()` falls back to TanStack's
195
+ // 150px default which would desync from `DEFAULT_FLEXIBLE_COLUMN_WIDTH`.
196
+ cumulativeLeft += pinnedColumn.columnDef.size ?? DEFAULT_FLEXIBLE_COLUMN_WIDTH;
197
+ }
198
+ return leftById;
199
+ }, [
200
+ visibleColumns,
201
+ pinnedColumns
202
+ ]);
203
+ const clientFilteredCount = table.getFilteredRowModel().rows.length;
204
+ const clientTotalCount = table.getCoreRowModel().rows.length;
205
+ const contextValue = useMemo(()=>({
206
+ searchValue: resolvedSearchValue,
207
+ setSearchValue: setResolvedSearchValue,
208
+ filteredCount: queryMode === 'client' ? clientFilteredCount : filteredResultCount,
209
+ totalCount: queryMode === 'client' ? clientTotalCount : totalResultCount
210
+ }), [
211
+ resolvedSearchValue,
212
+ setResolvedSearchValue,
213
+ queryMode,
214
+ clientFilteredCount,
215
+ filteredResultCount,
216
+ clientTotalCount,
217
+ totalResultCount
218
+ ]);
219
+ return /*#__PURE__*/ _jsx(DataGridContext.Provider, {
220
+ value: contextValue,
221
+ children: /*#__PURE__*/ _jsxs("div", {
222
+ "data-slot": "data-grid",
223
+ "data-query-mode": queryMode,
224
+ "data-filtered-result-count": filteredResultCount,
225
+ "data-total-result-count": totalResultCount,
226
+ className: cn('relative flex min-h-0 w-full flex-col overflow-clip rounded-xl text-sm', className),
227
+ children: [
228
+ children,
229
+ /*#__PURE__*/ _jsx("div", {
230
+ ref: scrollContainerRef,
231
+ "data-slot": "data-grid-scroll-container",
232
+ className: "relative order-2 min-h-0 w-full flex-1 overflow-auto",
233
+ role: "table",
234
+ "aria-rowcount": (rowCount ?? rows.length) + headerGroups.length,
235
+ "aria-colcount": visibleColumns.length,
236
+ "aria-label": ariaLabel,
237
+ "aria-labelledby": ariaLabelledBy,
238
+ children: /*#__PURE__*/ _jsxs("div", {
239
+ className: "min-w-fit w-full",
240
+ children: [
241
+ /*#__PURE__*/ _jsx("div", {
242
+ role: "rowgroup",
243
+ "data-slot": "data-grid-header-group",
244
+ className: "contents",
245
+ children: headerGroups.map((headerGroup, headerRowIndex)=>/*#__PURE__*/ _jsx(DataGridHeaderRow, {
246
+ headerGroup: headerGroup,
247
+ headerRowIndex: headerRowIndex,
248
+ resolvedHeaderHeight: resolvedHeaderHeight,
249
+ gridTemplateColumns: gridTemplateColumns,
250
+ pinnedColumnIds: pinnedColumnIds,
251
+ lastPinnedColumnId: lastPinnedColumnId,
252
+ pinnedLeftByColumnId: pinnedLeftByColumnId
253
+ }, headerGroup.id))
254
+ }),
255
+ /*#__PURE__*/ _jsx("div", {
256
+ role: "rowgroup",
257
+ "data-slot": "data-grid-body",
258
+ className: cn('relative min-h-(--data-grid-body-min-height)', !hasNoRows && 'h-(--data-grid-body-height)'),
259
+ style: bodyStyle,
260
+ children: !hasNoRows && virtualizer.getVirtualItems().map((virtualRow)=>/*#__PURE__*/ _jsx(DataGridRow, {
261
+ row: rows[virtualRow.index],
262
+ virtualRow: virtualRow,
263
+ headerGroupCount: headerGroups.length,
264
+ gridTemplateColumns: gridTemplateColumns,
265
+ pinnedColumnIds: pinnedColumnIds,
266
+ lastPinnedColumnId: lastPinnedColumnId,
267
+ pinnedLeftByColumnId: pinnedLeftByColumnId,
268
+ customCellColumnIds: customCellColumnIds,
269
+ maxDepth: maxDepth,
270
+ hasExpanding: hasExpanding,
271
+ onRowClick: onRowClick
272
+ }, rows[virtualRow.index].id))
273
+ })
274
+ ]
275
+ })
276
+ })
277
+ ]
278
+ })
279
+ });
280
+ }
281
+ function DataGridCheckbox({ checked, onCheckedChange, disabled, 'aria-label': checkboxAriaLabel }) {
282
+ const isIndeterminate = checked === 'indeterminate';
283
+ const isChecked = checked === true;
284
+ return /*#__PURE__*/ _jsx(CheckboxPrimitive.Root, {
285
+ "data-slot": "checkbox",
286
+ checked: isIndeterminate ? false : isChecked,
287
+ indeterminate: isIndeterminate,
288
+ disabled: disabled,
289
+ onCheckedChange: (next)=>onCheckedChange(next),
290
+ "aria-label": checkboxAriaLabel,
291
+ className: cn('peer relative size-4 shrink-0 rounded-sm border-[1.5px] border-muted-foreground bg-transparent text-foreground-on-primary outline-none transition-colors', '[&:is([data-checked],[data-indeterminate]):not([data-disabled])]:border-transparent [&:is([data-checked],[data-indeterminate]):not([data-disabled])]:bg-primary-background', 'hover:data-unchecked:not-data-disabled:border-muted-foreground-hover', 'data-disabled:pointer-events-none data-disabled:cursor-not-allowed data-disabled:border-transparent data-disabled:bg-disabled-background data-disabled:text-disabled-foreground data-disabled:data-unchecked:border-border', '[&[data-checked]_[data-slot=checkbox-check]]:block [&[data-indeterminate]_[data-slot=checkbox-dash]]:block', focusState),
292
+ children: /*#__PURE__*/ _jsxs(CheckboxPrimitive.Indicator, {
293
+ className: "grid size-full place-content-center text-current transition-none",
294
+ children: [
295
+ /*#__PURE__*/ _jsx(IconCheck, {
296
+ "aria-hidden": "true",
297
+ "data-slot": "checkbox-check",
298
+ className: "hidden size-3",
299
+ stroke: 3
300
+ }),
301
+ /*#__PURE__*/ _jsx(IconMinus, {
302
+ "aria-hidden": "true",
303
+ "data-slot": "checkbox-dash",
304
+ className: "hidden size-3",
305
+ stroke: 3.5
306
+ })
307
+ ]
308
+ })
309
+ });
310
+ }
311
+ function DataGridCheckboxHeader({ table }) {
312
+ const allSelected = table.getIsAllPageRowsSelected();
313
+ const someSelected = table.getIsSomePageRowsSelected();
314
+ const checked = allSelected ? true : someSelected ? 'indeterminate' : false;
315
+ return /*#__PURE__*/ _jsx(DataGridCheckbox, {
316
+ checked: checked,
317
+ onCheckedChange: ()=>table.toggleAllPageRowsSelected(!allSelected),
318
+ "aria-label": "Select all rows"
319
+ });
320
+ }
321
+ function DataGridCheckboxCell({ row }) {
322
+ return /*#__PURE__*/ _jsx(DataGridCheckbox, {
323
+ checked: row.getIsSelected(),
324
+ disabled: !row.getCanSelect(),
325
+ onCheckedChange: (next)=>{
326
+ row.toggleSelected(next === true);
327
+ },
328
+ "aria-label": "Select row"
329
+ });
330
+ }
331
+ const DataGridSearch = /*#__PURE__*/ forwardRef(function DataGridSearch({ className, placeholder = 'Search', ...props }, ref) {
332
+ const { searchValue, setSearchValue } = useDataGridContext();
333
+ return /*#__PURE__*/ _jsx(Search, {
334
+ ref: ref,
335
+ value: searchValue,
336
+ onChange: (event)=>setSearchValue(event.target.value),
337
+ onClear: ()=>setSearchValue(''),
338
+ placeholder: placeholder,
339
+ className: cn('py-4', className),
340
+ ...props
341
+ });
342
+ });
343
+ DataGridSearch.displayName = 'DataGridSearch';
344
+ const DataGridResultCountBadge = /*#__PURE__*/ forwardRef(function DataGridResultCountBadge({ label, className, ...props }, ref) {
345
+ const { filteredCount, totalCount } = useDataGridContext();
346
+ const content = label ?? (filteredCount === undefined ? null : totalCount !== undefined ? `${filteredCount} of ${totalCount} results` : `${filteredCount} results`);
347
+ if (content == null) return null;
348
+ return /*#__PURE__*/ _jsx("span", {
349
+ ref: ref,
350
+ "data-slot": "data-grid-result-count-badge",
351
+ className: cn('inline-flex h-5 shrink-0 items-center rounded-sm border border-border bg-muted-background px-1.5 text-xs font-medium text-muted-foreground', className),
352
+ ...props,
353
+ children: content
354
+ });
355
+ });
356
+ DataGridResultCountBadge.displayName = 'DataGridResultCountBadge';
357
+ function useSearchPaginationReset(searchValue, hasPagination, setPagination) {
358
+ const previousSearchValueRef = useRef(searchValue);
359
+ useEffect(()=>{
360
+ if (previousSearchValueRef.current === searchValue) return;
361
+ previousSearchValueRef.current = searchValue;
362
+ if (!hasPagination) return;
363
+ setPagination((current)=>current.pageIndex === 0 ? current : {
364
+ ...current,
365
+ pageIndex: 0
366
+ });
367
+ }, [
368
+ searchValue,
369
+ hasPagination,
370
+ setPagination
371
+ ]);
372
+ }
373
+ const DataGridFilterTrigger = /*#__PURE__*/ forwardRef(function DataGridFilterTrigger({ activeCount = 0, label = 'Filters', activeLabel, placement = 'toolbar', className, children, ...props }, ref) {
374
+ const hasActiveFilters = activeCount > 0;
375
+ return /*#__PURE__*/ _jsx(Button, {
376
+ ref: ref,
377
+ "data-slot": "data-grid-filter-trigger",
378
+ "data-placement": placement,
379
+ "data-active-count": activeCount,
380
+ size: placement === 'column-header' ? 'icon-sm' : 'icon',
381
+ variant: hasActiveFilters ? 'secondary' : 'ghost',
382
+ className: cn('min-w-0', className),
383
+ "aria-label": hasActiveFilters ? activeLabel?.(activeCount) ?? `${label}, ${activeCount} active` : label,
384
+ ...props,
385
+ children: children ?? /*#__PURE__*/ _jsx(IconFilter, {
386
+ className: "size-4 shrink-0",
387
+ "aria-hidden": "true"
388
+ })
389
+ });
390
+ });
391
+ DataGridFilterTrigger.displayName = 'DataGridFilterTrigger';
392
+ function useDataGridContext() {
393
+ const context = useContext(DataGridContext);
394
+ if (!context) {
395
+ throw new Error('useDataGridContext must be used within a DataGrid');
396
+ }
397
+ return context;
398
+ }
399
+ export { DataGrid, DataGridCheckboxCell, DataGridCheckboxHeader, DataGridResultCountBadge, DataGridFilterTrigger, DataGridSearch, useDataGridContext };
400
+ export { DataGridFilterPanel } from "./data-grid-filter-panel.js";
401
+ export { DataGridFooter, DataGridFooterEnd, DataGridFooterStart } from "./data-grid-footer.js";
402
+ export { DataGridHeader, DataGridHeaderActions, DataGridHeaderEnd, DataGridHeaderStart, DataGridSubtitle, DataGridTitle } from "./data-grid-header.js";
403
+
404
+ //# sourceMappingURL=data-grid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/components/ui/core/data-grid/data-grid.tsx"],"sourcesContent":["import {\n type ComponentProps,\n type ComponentRef,\n type CSSProperties,\n type ForwardRefExoticComponent,\n type ReactElement,\n type ReactNode,\n type Ref,\n type RefAttributes,\n type RefObject,\n createContext,\n forwardRef,\n useContext,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n} from 'react';\n\nimport { Checkbox as CheckboxPrimitive } from '@base-ui/react/checkbox';\nimport { IconCheck, IconFilter, IconMinus } from '@tabler/icons-react';\nimport {\n type ColumnDef,\n type ColumnPinningState,\n type ExpandedState,\n type FilterFnOption,\n type PaginationState,\n type Row,\n type RowSelectionState,\n type Table,\n type SortingState,\n getCoreRowModel,\n getExpandedRowModel,\n getFilteredRowModel,\n getPaginationRowModel,\n getSortedRowModel,\n useReactTable,\n} from '@tanstack/react-table';\nimport { useVirtualizer } from '@tanstack/react-virtual';\n\nimport { useControllableState } from '../../../../lib/use-controllable-state';\nimport { cn, focusState } from '../../../../lib/utils';\nimport { Button } from '../button/button';\nimport { Search } from '../search/search';\n\nimport { DataGridHeaderRow } from './data-grid-header-row';\nimport { DataGridRow } from './data-grid-row';\nimport { collectCustomCellColumnIds } from './data-grid.utils';\n\nconst EMPTY_PINNED_COLUMNS: string[] = [];\nconst DEFAULT_FLEXIBLE_COLUMN_WIDTH = 120;\n\ntype DataGridContextValue = {\n searchValue: string;\n setSearchValue: (value: string) => void;\n filteredCount?: number;\n totalCount?: number;\n};\n\nconst DataGridContext = createContext<DataGridContextValue | undefined>(\n undefined\n);\n\ntype DataGridSize = 'default' | 'compact';\ntype DataGridQueryMode = 'client' | 'server';\n\nconst ROW_HEIGHT_MAP: Record<DataGridSize, number> = {\n default: 36,\n compact: 32,\n};\n\nconst HEADER_HEIGHT_MAP: Record<DataGridSize, number> = {\n default: 36,\n compact: 32,\n};\n\ntype DataGridHandle = {\n scrollToRow: (index: number) => void;\n resetSorting: () => void;\n resetSelection: () => void;\n resetSearch: () => void;\n};\n\ntype DataGridBaseProps<TData> = {\n data: TData[];\n columns: ColumnDef<TData>[];\n getRowId?: (originalRow: TData, index: number) => string;\n rowCount?: number;\n globalFilterFn?: FilterFnOption<TData>;\n enableRowSelection?: boolean | ((row: Row<TData>) => boolean);\n enableSorting?: boolean;\n manualPagination?: boolean;\n manualSorting?: boolean;\n rowSelection?: RowSelectionState;\n defaultRowSelection?: RowSelectionState;\n onRowSelectionChange?: (value: RowSelectionState) => void;\n sorting?: SortingState;\n defaultSorting?: SortingState;\n onSortingChange?: (value: SortingState) => void;\n pagination?: PaginationState;\n defaultPagination?: PaginationState;\n onPaginationChange?: (value: PaginationState) => void;\n getSubRows?: (row: TData, index: number) => TData[] | undefined;\n expanded?: ExpandedState;\n defaultExpanded?: ExpandedState;\n onExpandedChange?: (value: ExpandedState) => void;\n getRowCanExpand?: (row: Row<TData>) => boolean;\n maxDepth?: number;\n pinnedColumns?: string[];\n // forwardRef cannot preserve the `TData` generic, so the imperative handle\n // is exposed via a ref-object prop instead of `forwardRef` + `useImperativeHandle`.\n // See https://github.com/facebook/react/issues/22018.\n gridRef?: RefObject<DataGridHandle | null>;\n size?: DataGridSize;\n children?: ReactNode;\n className?: string;\n onRowClick?: (row: Row<TData>) => void;\n searchValue?: string;\n defaultSearchValue?: string;\n onSearchValueChange?: (value: string) => void;\n queryMode?: DataGridQueryMode;\n filteredResultCount?: number;\n totalResultCount?: number;\n onClearSearch?: () => void;\n onClearFilters?: () => void;\n rowHeight?: number;\n headerHeight?: number;\n};\n\n// The grid renders with `role=\"table\"`, which requires an accessible name for\n// screen readers. It is bad practice to omit one, so the type requires at least\n// one of `aria-label` / `aria-labelledby` rather than leaving both optional.\ntype DataGridAccessibleNameProps =\n | { 'aria-label': string; 'aria-labelledby'?: string }\n | { 'aria-labelledby': string; 'aria-label'?: string };\n\ntype DataGridProps<TData> = DataGridBaseProps<TData> &\n DataGridAccessibleNameProps;\n\nfunction DataGrid<TData>({\n data,\n columns,\n getRowId,\n rowCount,\n globalFilterFn = 'auto',\n enableRowSelection = false,\n enableSorting = false,\n manualPagination = false,\n manualSorting = false,\n rowSelection,\n defaultRowSelection,\n onRowSelectionChange,\n sorting,\n defaultSorting,\n onSortingChange,\n pagination,\n defaultPagination,\n onPaginationChange,\n getSubRows,\n expanded,\n defaultExpanded,\n onExpandedChange,\n getRowCanExpand,\n maxDepth = 5,\n pinnedColumns = EMPTY_PINNED_COLUMNS,\n gridRef,\n size = 'default',\n children,\n className,\n onRowClick,\n searchValue,\n defaultSearchValue,\n onSearchValueChange,\n queryMode = 'client',\n filteredResultCount,\n totalResultCount,\n rowHeight,\n headerHeight,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n}: DataGridProps<TData>): ReactElement {\n const scrollContainerRef = useRef<HTMLDivElement>(null);\n\n const [resolvedSearchValue, setResolvedSearchValue] = useControllableState({\n prop: searchValue,\n defaultProp: defaultSearchValue ?? '',\n onChange: onSearchValueChange,\n });\n\n const [resolvedSorting, setResolvedSorting] =\n useControllableState<SortingState>({\n prop: sorting,\n defaultProp: defaultSorting ?? [],\n onChange: onSortingChange,\n });\n\n const [resolvedRowSelection, setResolvedRowSelection] =\n useControllableState<RowSelectionState>({\n prop: rowSelection,\n defaultProp: defaultRowSelection ?? {},\n onChange: onRowSelectionChange,\n });\n\n const hasPagination =\n pagination !== undefined || defaultPagination !== undefined;\n\n const [resolvedPagination, setResolvedPagination] =\n useControllableState<PaginationState>({\n prop: pagination,\n defaultProp: defaultPagination ?? { pageIndex: 0, pageSize: 10 },\n onChange: onPaginationChange,\n });\n\n const hasExpanding = getSubRows !== undefined;\n\n const [resolvedExpanded, setResolvedExpanded] =\n useControllableState<ExpandedState>({\n prop: expanded,\n defaultProp: defaultExpanded ?? {},\n onChange: onExpandedChange,\n });\n\n const isClientSorting = enableSorting && !manualSorting;\n const isClientPagination = hasPagination && !manualPagination;\n\n useSearchPaginationReset(\n resolvedSearchValue,\n hasPagination,\n setResolvedPagination\n );\n\n const columnPinning: ColumnPinningState = useMemo(\n () => ({ left: pinnedColumns, right: [] }),\n [pinnedColumns]\n );\n\n const pinnedColumnIds = useMemo(\n () => new Set(pinnedColumns),\n [pinnedColumns]\n );\n const lastPinnedColumnId = pinnedColumns[pinnedColumns.length - 1];\n const customCellColumnIds = useMemo(\n () => collectCustomCellColumnIds(columns),\n [columns]\n );\n\n // eslint-disable-next-line react-hooks/incompatible-library -- useReactTable in the DataGrid component is intentional and stable.\n const table = useReactTable({\n data,\n columns,\n state: {\n columnPinning,\n globalFilter: resolvedSearchValue,\n sorting: resolvedSorting,\n rowSelection: resolvedRowSelection,\n ...(hasPagination ? { pagination: resolvedPagination } : {}),\n ...(hasExpanding ? { expanded: resolvedExpanded } : {}),\n },\n onSortingChange: setResolvedSorting,\n onRowSelectionChange: setResolvedRowSelection,\n ...(hasPagination ? { onPaginationChange: setResolvedPagination } : {}),\n ...(hasExpanding ? { onExpandedChange: setResolvedExpanded } : {}),\n // Preserve expanded rows across `data` changes (e.g. refetches) so the user\n // doesn't lose their place. Consumers fetching server-paged data should\n // ensure stable `getRowId` values; otherwise expanded keys can stick to\n // rows that no longer logically exist.\n autoResetPageIndex: false,\n autoResetExpanded: false,\n enableRowSelection,\n enableSubRowSelection: false,\n enableSorting,\n manualPagination,\n manualSorting,\n getCoreRowModel: getCoreRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n globalFilterFn,\n ...(isClientSorting ? { getSortedRowModel: getSortedRowModel() } : {}),\n ...(isClientPagination\n ? { getPaginationRowModel: getPaginationRowModel() }\n : {}),\n ...(hasExpanding ? { getExpandedRowModel: getExpandedRowModel() } : {}),\n getRowId,\n getSubRows,\n getRowCanExpand,\n });\n\n const { rows } = table.getRowModel();\n const headerGroups = table.getHeaderGroups();\n const allColumns = table.getAllColumns();\n const visibleColumns = table.getVisibleFlatColumns();\n\n const resolvedRowHeight = rowHeight ?? ROW_HEIGHT_MAP[size];\n const resolvedHeaderHeight = headerHeight ?? HEADER_HEIGHT_MAP[size];\n const hasNoRows = data.length === 0;\n\n const virtualizer = useVirtualizer({\n count: rows.length,\n getScrollElement: () => scrollContainerRef.current,\n estimateSize: () => resolvedRowHeight,\n overscan: 10,\n });\n const bodyHeight = virtualizer.getTotalSize();\n const bodyStyle: CSSProperties & {\n '--data-grid-body-height': string;\n '--data-grid-body-min-height': string;\n } = {\n '--data-grid-body-height': `${bodyHeight}px`,\n '--data-grid-body-min-height': `${resolvedRowHeight * 4}px`,\n };\n\n useImperativeHandle(gridRef, () => ({\n scrollToRow: (index: number) => virtualizer.scrollToIndex(index),\n resetSorting: () => setResolvedSorting([]),\n resetSelection: () => setResolvedRowSelection({}),\n resetSearch: () => setResolvedSearchValue(''),\n }));\n\n useEffect(() => {\n for (const pinnedId of pinnedColumns) {\n const pinnedColumn = allColumns.find((column) => column.id === pinnedId);\n if (pinnedColumn && pinnedColumn.columnDef.size === undefined) {\n console.warn(\n `[Aura DataGrid] Pinned column \"${pinnedId}\" has no \\`size\\` set. ` +\n 'Pinned columns must declare an explicit `size` to keep the sticky ' +\n 'offset aligned with the rendered column width.'\n );\n }\n }\n }, [pinnedColumns, allColumns]);\n\n const gridTemplateColumns = useMemo(() => {\n const hasFlexibleColumn = visibleColumns.some(\n (col) => col.columnDef.size === undefined && !pinnedColumnIds.has(col.id)\n );\n\n return visibleColumns\n .map((col, index) => {\n const colSize = col.columnDef.size;\n const isLastColumn = index === visibleColumns.length - 1;\n const isPinned = pinnedColumnIds.has(col.id);\n\n // Pinned columns must render at a fixed pixel width so the cumulative\n // sticky `left` offset agrees with the actually-rendered column width.\n // `minmax(..., 1fr)` would let the column flex and break alignment.\n if (isPinned) {\n return `${colSize ?? DEFAULT_FLEXIBLE_COLUMN_WIDTH}px`;\n }\n\n if (colSize !== undefined) {\n if (!hasFlexibleColumn && isLastColumn) {\n return `minmax(${colSize}px, 1fr)`;\n }\n return `${colSize}px`;\n }\n\n return `minmax(${DEFAULT_FLEXIBLE_COLUMN_WIDTH}px, 1fr)`;\n })\n .join(' ');\n }, [visibleColumns, pinnedColumnIds]);\n\n const pinnedLeftByColumnId = useMemo(() => {\n const leftById = new Map<string, number>();\n let cumulativeLeft = 0;\n\n for (const pinnedId of pinnedColumns) {\n const pinnedColumn = visibleColumns.find(\n (column) => column.id === pinnedId\n );\n // Skip pinned columns that are currently hidden — they don't render\n // and shouldn't contribute to the cumulative sticky `left` offset for\n // subsequent visible pinned columns.\n if (!pinnedColumn) continue;\n\n leftById.set(pinnedId, cumulativeLeft);\n // Read `columnDef.size` (not `getSize()`) so the fallback matches the\n // gridTemplateColumns track size; `getSize()` falls back to TanStack's\n // 150px default which would desync from `DEFAULT_FLEXIBLE_COLUMN_WIDTH`.\n cumulativeLeft +=\n pinnedColumn.columnDef.size ?? DEFAULT_FLEXIBLE_COLUMN_WIDTH;\n }\n\n return leftById;\n }, [visibleColumns, pinnedColumns]);\n\n const clientFilteredCount = table.getFilteredRowModel().rows.length;\n const clientTotalCount = table.getCoreRowModel().rows.length;\n\n const contextValue = useMemo<DataGridContextValue>(\n () => ({\n searchValue: resolvedSearchValue,\n setSearchValue: setResolvedSearchValue,\n filteredCount:\n queryMode === 'client' ? clientFilteredCount : filteredResultCount,\n totalCount: queryMode === 'client' ? clientTotalCount : totalResultCount,\n }),\n [\n resolvedSearchValue,\n setResolvedSearchValue,\n queryMode,\n clientFilteredCount,\n filteredResultCount,\n clientTotalCount,\n totalResultCount,\n ]\n );\n\n return (\n <DataGridContext.Provider value={contextValue}>\n <div\n data-slot=\"data-grid\"\n data-query-mode={queryMode}\n data-filtered-result-count={filteredResultCount}\n data-total-result-count={totalResultCount}\n className={cn(\n 'relative flex min-h-0 w-full flex-col overflow-clip rounded-xl text-sm',\n className\n )}\n >\n {children}\n <div\n ref={scrollContainerRef}\n data-slot=\"data-grid-scroll-container\"\n className=\"relative order-2 min-h-0 w-full flex-1 overflow-auto\"\n role=\"table\"\n aria-rowcount={(rowCount ?? rows.length) + headerGroups.length}\n aria-colcount={visibleColumns.length}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n >\n <div className=\"min-w-fit w-full\">\n <div\n role=\"rowgroup\"\n data-slot=\"data-grid-header-group\"\n className=\"contents\"\n >\n {headerGroups.map((headerGroup, headerRowIndex) => (\n <DataGridHeaderRow\n key={headerGroup.id}\n headerGroup={headerGroup}\n headerRowIndex={headerRowIndex}\n resolvedHeaderHeight={resolvedHeaderHeight}\n gridTemplateColumns={gridTemplateColumns}\n pinnedColumnIds={pinnedColumnIds}\n lastPinnedColumnId={lastPinnedColumnId}\n pinnedLeftByColumnId={pinnedLeftByColumnId}\n />\n ))}\n </div>\n\n <div\n role=\"rowgroup\"\n data-slot=\"data-grid-body\"\n className={cn(\n 'relative min-h-(--data-grid-body-min-height)',\n !hasNoRows && 'h-(--data-grid-body-height)'\n )}\n style={bodyStyle}\n >\n {!hasNoRows &&\n virtualizer\n .getVirtualItems()\n .map((virtualRow) => (\n <DataGridRow\n key={rows[virtualRow.index].id}\n row={rows[virtualRow.index]}\n virtualRow={virtualRow}\n headerGroupCount={headerGroups.length}\n gridTemplateColumns={gridTemplateColumns}\n pinnedColumnIds={pinnedColumnIds}\n lastPinnedColumnId={lastPinnedColumnId}\n pinnedLeftByColumnId={pinnedLeftByColumnId}\n customCellColumnIds={customCellColumnIds}\n maxDepth={maxDepth}\n hasExpanding={hasExpanding}\n onRowClick={onRowClick}\n />\n ))}\n </div>\n </div>\n </div>\n </div>\n </DataGridContext.Provider>\n );\n}\n\ntype DataGridCheckboxProps = {\n checked: boolean | 'indeterminate';\n onCheckedChange: (checked: boolean | 'indeterminate') => void;\n disabled?: boolean;\n 'aria-label'?: string;\n};\n\nfunction DataGridCheckbox({\n checked,\n onCheckedChange,\n disabled,\n 'aria-label': checkboxAriaLabel,\n}: DataGridCheckboxProps): ReactElement {\n const isIndeterminate = checked === 'indeterminate';\n const isChecked = checked === true;\n\n return (\n <CheckboxPrimitive.Root\n data-slot=\"checkbox\"\n checked={isIndeterminate ? false : isChecked}\n indeterminate={isIndeterminate}\n disabled={disabled}\n onCheckedChange={(next) => onCheckedChange(next)}\n aria-label={checkboxAriaLabel}\n className={cn(\n 'peer relative size-4 shrink-0 rounded-sm border-[1.5px] border-muted-foreground bg-transparent text-foreground-on-primary outline-none transition-colors',\n '[&:is([data-checked],[data-indeterminate]):not([data-disabled])]:border-transparent [&:is([data-checked],[data-indeterminate]):not([data-disabled])]:bg-primary-background',\n 'hover:data-unchecked:not-data-disabled:border-muted-foreground-hover',\n 'data-disabled:pointer-events-none data-disabled:cursor-not-allowed data-disabled:border-transparent data-disabled:bg-disabled-background data-disabled:text-disabled-foreground data-disabled:data-unchecked:border-border',\n '[&[data-checked]_[data-slot=checkbox-check]]:block [&[data-indeterminate]_[data-slot=checkbox-dash]]:block',\n focusState\n )}\n >\n <CheckboxPrimitive.Indicator className=\"grid size-full place-content-center text-current transition-none\">\n <IconCheck\n aria-hidden=\"true\"\n data-slot=\"checkbox-check\"\n className=\"hidden size-3\"\n stroke={3}\n />\n <IconMinus\n aria-hidden=\"true\"\n data-slot=\"checkbox-dash\"\n className=\"hidden size-3\"\n stroke={3.5}\n />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n );\n}\n\nfunction DataGridCheckboxHeader<TData>({\n table,\n}: {\n table: Table<TData>;\n}): ReactElement {\n const allSelected = table.getIsAllPageRowsSelected();\n const someSelected = table.getIsSomePageRowsSelected();\n const checked = allSelected ? true : someSelected ? 'indeterminate' : false;\n\n return (\n <DataGridCheckbox\n checked={checked}\n onCheckedChange={() => table.toggleAllPageRowsSelected(!allSelected)}\n aria-label=\"Select all rows\"\n />\n );\n}\n\nfunction DataGridCheckboxCell<TData>({\n row,\n}: {\n row: Row<TData>;\n}): ReactElement {\n return (\n <DataGridCheckbox\n checked={row.getIsSelected()}\n disabled={!row.getCanSelect()}\n onCheckedChange={(next) => {\n row.toggleSelected(next === true);\n }}\n aria-label=\"Select row\"\n />\n );\n}\n\ntype DataGridSearchProps = Omit<\n ComponentProps<typeof Search>,\n 'value' | 'onChange' | 'onClear'\n>;\n\nconst DataGridSearch: ForwardRefExoticComponent<\n DataGridSearchProps & RefAttributes<ComponentRef<typeof Search>>\n> = forwardRef<ComponentRef<typeof Search>, DataGridSearchProps>(\n function DataGridSearch(\n { className, placeholder = 'Search', ...props },\n ref\n ) {\n const { searchValue, setSearchValue } = useDataGridContext();\n\n return (\n <Search\n ref={ref}\n value={searchValue}\n onChange={(event) => setSearchValue(event.target.value)}\n onClear={() => setSearchValue('')}\n placeholder={placeholder}\n className={cn('py-4', className)}\n {...props}\n />\n );\n }\n);\nDataGridSearch.displayName = 'DataGridSearch';\n\ntype DataGridResultCountBadgeProps = ComponentProps<'span'> & {\n label?: ReactNode;\n};\n\nconst DataGridResultCountBadge: ForwardRefExoticComponent<\n DataGridResultCountBadgeProps & RefAttributes<HTMLSpanElement>\n> = forwardRef<ComponentRef<'span'>, DataGridResultCountBadgeProps>(\n function DataGridResultCountBadge({ label, className, ...props }, ref) {\n const { filteredCount, totalCount } = useDataGridContext();\n\n const content =\n label ??\n (filteredCount === undefined\n ? null\n : totalCount !== undefined\n ? `${filteredCount} of ${totalCount} results`\n : `${filteredCount} results`);\n\n if (content == null) return null;\n\n return (\n <span\n ref={ref}\n data-slot=\"data-grid-result-count-badge\"\n className={cn(\n 'inline-flex h-5 shrink-0 items-center rounded-sm border border-border bg-muted-background px-1.5 text-xs font-medium text-muted-foreground',\n className\n )}\n {...props}\n >\n {content}\n </span>\n );\n }\n);\nDataGridResultCountBadge.displayName = 'DataGridResultCountBadge';\n\nfunction useSearchPaginationReset(\n searchValue: string,\n hasPagination: boolean,\n setPagination: (\n next: PaginationState | ((prev: PaginationState) => PaginationState)\n ) => void\n): void {\n const previousSearchValueRef = useRef(searchValue);\n\n useEffect(() => {\n if (previousSearchValueRef.current === searchValue) return;\n previousSearchValueRef.current = searchValue;\n if (!hasPagination) return;\n setPagination((current) =>\n current.pageIndex === 0 ? current : { ...current, pageIndex: 0 }\n );\n }, [searchValue, hasPagination, setPagination]);\n}\n\ntype DataGridFilterTriggerProps = ComponentProps<typeof Button> & {\n activeCount?: number;\n label?: string;\n activeLabel?: (activeCount: number) => string;\n placement?: 'toolbar' | 'column-header';\n};\n\nconst DataGridFilterTrigger: ForwardRefExoticComponent<\n DataGridFilterTriggerProps & RefAttributes<ComponentRef<typeof Button>>\n> = forwardRef<ComponentRef<typeof Button>, DataGridFilterTriggerProps>(\n function DataGridFilterTrigger(\n {\n activeCount = 0,\n label = 'Filters',\n activeLabel,\n placement = 'toolbar',\n className,\n children,\n ...props\n }: DataGridFilterTriggerProps,\n ref: Ref<ComponentRef<typeof Button>>\n ) {\n const hasActiveFilters = activeCount > 0;\n\n return (\n <Button\n ref={ref}\n data-slot=\"data-grid-filter-trigger\"\n data-placement={placement}\n data-active-count={activeCount}\n size={placement === 'column-header' ? 'icon-sm' : 'icon'}\n variant={hasActiveFilters ? 'secondary' : 'ghost'}\n className={cn('min-w-0', className)}\n aria-label={\n hasActiveFilters\n ? (activeLabel?.(activeCount) ?? `${label}, ${activeCount} active`)\n : label\n }\n {...props}\n >\n {children ?? (\n <IconFilter className=\"size-4 shrink-0\" aria-hidden=\"true\" />\n )}\n </Button>\n );\n }\n);\nDataGridFilterTrigger.displayName = 'DataGridFilterTrigger';\n\nfunction useDataGridContext(): DataGridContextValue {\n const context = useContext(DataGridContext);\n if (!context) {\n throw new Error('useDataGridContext must be used within a DataGrid');\n }\n return context;\n}\nexport {\n DataGrid,\n DataGridCheckboxCell,\n DataGridCheckboxHeader,\n DataGridResultCountBadge,\n DataGridFilterTrigger,\n DataGridSearch,\n useDataGridContext,\n type DataGridContextValue,\n type DataGridHandle,\n};\nexport {\n DataGridFilterPanel,\n type DataGridFilterColumn,\n type DataGridFilterPanelLabels,\n} from './data-grid-filter-panel';\nexport {\n DataGridFooter,\n DataGridFooterEnd,\n DataGridFooterStart,\n} from './data-grid-footer';\nexport {\n DataGridHeader,\n DataGridHeaderActions,\n DataGridHeaderEnd,\n DataGridHeaderStart,\n DataGridSubtitle,\n DataGridTitle,\n} from './data-grid-header';\n"],"names":["createContext","forwardRef","useContext","useEffect","useImperativeHandle","useMemo","useRef","Checkbox","CheckboxPrimitive","IconCheck","IconFilter","IconMinus","getCoreRowModel","getExpandedRowModel","getFilteredRowModel","getPaginationRowModel","getSortedRowModel","useReactTable","useVirtualizer","useControllableState","cn","focusState","Button","Search","DataGridHeaderRow","DataGridRow","collectCustomCellColumnIds","EMPTY_PINNED_COLUMNS","DEFAULT_FLEXIBLE_COLUMN_WIDTH","DataGridContext","undefined","ROW_HEIGHT_MAP","default","compact","HEADER_HEIGHT_MAP","DataGrid","data","columns","getRowId","rowCount","globalFilterFn","enableRowSelection","enableSorting","manualPagination","manualSorting","rowSelection","defaultRowSelection","onRowSelectionChange","sorting","defaultSorting","onSortingChange","pagination","defaultPagination","onPaginationChange","getSubRows","expanded","defaultExpanded","onExpandedChange","getRowCanExpand","maxDepth","pinnedColumns","gridRef","size","children","className","onRowClick","searchValue","defaultSearchValue","onSearchValueChange","queryMode","filteredResultCount","totalResultCount","rowHeight","headerHeight","ariaLabel","ariaLabelledBy","scrollContainerRef","resolvedSearchValue","setResolvedSearchValue","prop","defaultProp","onChange","resolvedSorting","setResolvedSorting","resolvedRowSelection","setResolvedRowSelection","hasPagination","resolvedPagination","setResolvedPagination","pageIndex","pageSize","hasExpanding","resolvedExpanded","setResolvedExpanded","isClientSorting","isClientPagination","useSearchPaginationReset","columnPinning","left","right","pinnedColumnIds","Set","lastPinnedColumnId","length","customCellColumnIds","table","state","globalFilter","autoResetPageIndex","autoResetExpanded","enableSubRowSelection","rows","getRowModel","headerGroups","getHeaderGroups","allColumns","getAllColumns","visibleColumns","getVisibleFlatColumns","resolvedRowHeight","resolvedHeaderHeight","hasNoRows","virtualizer","count","getScrollElement","current","estimateSize","overscan","bodyHeight","getTotalSize","bodyStyle","scrollToRow","index","scrollToIndex","resetSorting","resetSelection","resetSearch","pinnedId","pinnedColumn","find","column","id","columnDef","console","warn","gridTemplateColumns","hasFlexibleColumn","some","col","has","map","colSize","isLastColumn","isPinned","join","pinnedLeftByColumnId","leftById","Map","cumulativeLeft","set","clientFilteredCount","clientTotalCount","contextValue","setSearchValue","filteredCount","totalCount","Provider","value","div","data-slot","data-query-mode","data-filtered-result-count","data-total-result-count","ref","role","aria-rowcount","aria-colcount","aria-label","aria-labelledby","headerGroup","headerRowIndex","style","getVirtualItems","virtualRow","row","headerGroupCount","DataGridCheckbox","checked","onCheckedChange","disabled","checkboxAriaLabel","isIndeterminate","isChecked","Root","indeterminate","next","Indicator","aria-hidden","stroke","DataGridCheckboxHeader","allSelected","getIsAllPageRowsSelected","someSelected","getIsSomePageRowsSelected","toggleAllPageRowsSelected","DataGridCheckboxCell","getIsSelected","getCanSelect","toggleSelected","DataGridSearch","placeholder","props","useDataGridContext","event","target","onClear","displayName","DataGridResultCountBadge","label","content","span","setPagination","previousSearchValueRef","DataGridFilterTrigger","activeCount","activeLabel","placement","hasActiveFilters","data-placement","data-active-count","variant","context","Error","DataGridFilterPanel","DataGridFooter","DataGridFooterEnd","DataGridFooterStart","DataGridHeader","DataGridHeaderActions","DataGridHeaderEnd","DataGridHeaderStart","DataGridSubtitle","DataGridTitle"],"mappings":"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"}