@cascivo/react 1.0.0 → 1.1.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 (645) hide show
  1. package/README.md +5 -4
  2. package/dist/accordion/accordion.js +1 -114
  3. package/dist/accordion/accordion.module.js +1 -10
  4. package/dist/action-sheet/action-sheet.css +1 -1
  5. package/dist/action-sheet/action-sheet.js +1 -91
  6. package/dist/action-sheet/action-sheet.module.js +1 -12
  7. package/dist/alert/alert.js +1 -55
  8. package/dist/alert/alert.module.js +1 -11
  9. package/dist/alert-dialog/alert-dialog.css +1 -1
  10. package/dist/alert-dialog/alert-dialog.js +1 -66
  11. package/dist/alert-dialog/alert-dialog.module.js +1 -11
  12. package/dist/app-shell/app-shell.css +1 -1
  13. package/dist/app-shell/app-shell.js +1 -85
  14. package/dist/app-shell/app-shell.module.js +1 -12
  15. package/dist/aspect-ratio/aspect-ratio.js +1 -20
  16. package/dist/aspect-ratio/aspect-ratio.module.js +1 -6
  17. package/dist/avatar/avatar.js +1 -57
  18. package/dist/avatar/avatar.module.js +1 -8
  19. package/dist/avatar-group/avatar-group.js +1 -24
  20. package/dist/avatar-group/avatar-group.module.js +1 -6
  21. package/dist/badge/badge.js +1 -22
  22. package/dist/badge/badge.module.js +1 -3
  23. package/dist/blockquote/blockquote.js +1 -16
  24. package/dist/blockquote/blockquote.module.js +1 -6
  25. package/dist/bottom-sheet/bottom-sheet.js +1 -111
  26. package/dist/bottom-sheet/bottom-sheet.module.js +1 -14
  27. package/dist/brand/logo/logo.css +1 -0
  28. package/dist/brand/logo/logo.js +1 -0
  29. package/dist/brand/logo/logo.module.js +2 -0
  30. package/dist/breadcrumb/breadcrumb.js +1 -28
  31. package/dist/breadcrumb/breadcrumb.module.js +1 -3
  32. package/dist/button/button.css +1 -1
  33. package/dist/button/button.js +1 -35
  34. package/dist/button/button.module.js +1 -6
  35. package/dist/button-group/button-group.js +1 -39
  36. package/dist/button-group/button-group.module.js +1 -3
  37. package/dist/calendar/calendar-date.js +1 -0
  38. package/dist/calendar/calendar.css +1 -1
  39. package/dist/calendar/calendar.js +1 -199
  40. package/dist/calendar/calendar.module.js +1 -14
  41. package/dist/card/card.js +1 -53
  42. package/dist/card/card.module.js +1 -12
  43. package/dist/carousel/carousel.css +1 -1
  44. package/dist/carousel/carousel.js +1 -138
  45. package/dist/carousel/carousel.module.js +1 -13
  46. package/dist/chat-bubble/chat-bubble.js +1 -31
  47. package/dist/chat-bubble/chat-bubble.module.js +1 -11
  48. package/dist/checkbox/checkbox.js +1 -39
  49. package/dist/checkbox/checkbox.module.js +1 -8
  50. package/dist/checkbox-card/checkbox-card.css +1 -1
  51. package/dist/checkbox-card/checkbox-card.js +1 -50
  52. package/dist/checkbox-card/checkbox-card.module.js +1 -11
  53. package/dist/code/code.js +1 -14
  54. package/dist/code/code.module.js +1 -3
  55. package/dist/code-snippet/code-snippet.js +2 -121
  56. package/dist/code-snippet/code-snippet.module.js +1 -17
  57. package/dist/code-snippet/highlight.js +1 -67
  58. package/dist/collapsible/collapsible.js +1 -47
  59. package/dist/collapsible/collapsible.module.js +1 -7
  60. package/dist/color-picker/color-picker.css +1 -1
  61. package/dist/color-picker/color-picker.js +1 -272
  62. package/dist/color-picker/color-picker.module.js +1 -18
  63. package/dist/color-picker/color.js +1 -0
  64. package/dist/combobox/combobox.css +1 -1
  65. package/dist/combobox/combobox.js +1 -170
  66. package/dist/combobox/combobox.module.js +1 -19
  67. package/dist/combobox/list-nav.js +1 -0
  68. package/dist/combobox/option-list.js +1 -0
  69. package/dist/command-menu/command-menu.js +1 -421
  70. package/dist/command-menu/command-menu.module.js +1 -34
  71. package/dist/comparison/comparison.js +1 -69
  72. package/dist/comparison/comparison.module.js +1 -9
  73. package/dist/contained-list/contained-list.js +1 -41
  74. package/dist/contained-list/contained-list.module.js +1 -11
  75. package/dist/context-menu/context-menu.js +1 -93
  76. package/dist/context-menu/context-menu.module.js +1 -7
  77. package/dist/copy-button/copy-button.js +1 -60
  78. package/dist/copy-button/copy-button.module.js +1 -6
  79. package/dist/data-list/data-list.js +1 -25
  80. package/dist/data-list/data-list.module.js +1 -8
  81. package/dist/data-table/column-filter.js +1 -0
  82. package/dist/data-table/column-layout.js +1 -0
  83. package/dist/data-table/data-table.css +1 -1
  84. package/dist/data-table/data-table.js +1 -398
  85. package/dist/data-table/data-table.module.js +1 -33
  86. package/dist/data-table/grid-keys.js +1 -0
  87. package/dist/data-table/row-group.js +1 -0
  88. package/dist/data-table/row-search.js +1 -0
  89. package/dist/data-table/row-sort.js +1 -0
  90. package/dist/data-table/to-csv.js +3 -0
  91. package/dist/data-table/virtual-window.js +1 -0
  92. package/dist/date-picker/date-picker.css +1 -1
  93. package/dist/date-picker/date-picker.js +1 -224
  94. package/dist/date-picker/date-picker.module.js +1 -23
  95. package/dist/date-picker/parse-date.js +1 -0
  96. package/dist/date-range-picker/date-range-picker.js +1 -196
  97. package/dist/date-range-picker/date-range-picker.module.js +1 -18
  98. package/dist/dock/dock.css +1 -1
  99. package/dist/dock/dock.js +1 -34
  100. package/dist/dock/dock.module.js +1 -8
  101. package/dist/drawer/drawer.js +1 -96
  102. package/dist/drawer/drawer.module.js +1 -13
  103. package/dist/dropdown/dropdown.css +1 -1
  104. package/dist/dropdown/dropdown.js +1 -110
  105. package/dist/dropdown/dropdown.module.js +1 -9
  106. package/dist/editable/editable.js +1 -76
  107. package/dist/editable/editable.module.js +1 -11
  108. package/dist/empty-state/empty-state.js +1 -32
  109. package/dist/empty-state/empty-state.module.js +1 -9
  110. package/dist/fab/fab.css +1 -1
  111. package/dist/fab/fab.js +1 -93
  112. package/dist/fab/fab.module.js +1 -12
  113. package/dist/field/field.css +1 -1
  114. package/dist/field/field.js +1 -53
  115. package/dist/field/field.module.js +1 -7
  116. package/dist/file-uploader/file-uploader.css +1 -1
  117. package/dist/file-uploader/file-uploader.js +1 -123
  118. package/dist/file-uploader/file-uploader.module.js +1 -18
  119. package/dist/filter/filter.css +1 -1
  120. package/dist/filter/filter.js +1 -35
  121. package/dist/filter/filter.module.js +1 -6
  122. package/dist/form/form.js +1 -95
  123. package/dist/form/form.module.js +1 -3
  124. package/dist/header/header.js +1 -44
  125. package/dist/header/header.module.js +1 -11
  126. package/dist/header-panel/header-panel.js +1 -72
  127. package/dist/header-panel/header-panel.module.js +1 -9
  128. package/dist/heading/heading.css +1 -1
  129. package/dist/heading/heading.js +1 -22
  130. package/dist/heading/heading.module.js +1 -3
  131. package/dist/hover-card/hover-card.css +1 -1
  132. package/dist/hover-card/hover-card.js +1 -84
  133. package/dist/hover-card/hover-card.module.js +1 -6
  134. package/dist/icon-button/icon-button.js +1 -19
  135. package/dist/icon-button/icon-button.module.js +1 -3
  136. package/dist/image/image.css +1 -1
  137. package/dist/image/image.js +1 -64
  138. package/dist/image/image.module.js +1 -9
  139. package/dist/index.d.ts +772 -25
  140. package/dist/indicator/indicator.js +1 -16
  141. package/dist/indicator/indicator.module.js +1 -6
  142. package/dist/infinite-scroll/infinite-scroll.js +1 -49
  143. package/dist/infinite-scroll/infinite-scroll.module.js +1 -7
  144. package/dist/inline-loading/inline-loading.js +1 -74
  145. package/dist/inline-loading/inline-loading.module.js +1 -9
  146. package/dist/input/input.css +1 -1
  147. package/dist/input/input.js +1 -56
  148. package/dist/input/input.module.js +1 -9
  149. package/dist/input-group/input-group.css +1 -1
  150. package/dist/input-group/input-group.js +1 -39
  151. package/dist/input-group/input-group.module.js +1 -9
  152. package/dist/item/item.js +1 -50
  153. package/dist/item/item.module.js +1 -10
  154. package/dist/join/join.js +1 -12
  155. package/dist/join/join.module.js +1 -3
  156. package/dist/kbd/kbd.js +1 -14
  157. package/dist/kbd/kbd.module.js +1 -3
  158. package/dist/label/label.js +1 -23
  159. package/dist/label/label.module.js +1 -7
  160. package/dist/large-title-header/large-title-header.js +1 -38
  161. package/dist/large-title-header/large-title-header.module.js +1 -12
  162. package/dist/layouts/src/auto-grid/auto-grid.js +1 -17
  163. package/dist/layouts/src/auto-grid/auto-grid.module.js +1 -4
  164. package/dist/layouts/src/center/center.js +1 -16
  165. package/dist/layouts/src/center/center.module.js +1 -3
  166. package/dist/layouts/src/columns/columns.js +1 -21
  167. package/dist/layouts/src/columns/columns.module.js +1 -6
  168. package/dist/layouts/src/flex/flex.js +1 -20
  169. package/dist/layouts/src/flex/flex.module.js +1 -3
  170. package/dist/layouts/src/grid/grid.css +1 -1
  171. package/dist/layouts/src/grid/grid.js +1 -55
  172. package/dist/layouts/src/grid/grid.module.js +1 -7
  173. package/dist/layouts/src/page-header/page-header.js +1 -31
  174. package/dist/layouts/src/page-header/page-header.module.js +1 -10
  175. package/dist/layouts/src/spacer/spacer.js +1 -17
  176. package/dist/layouts/src/spacer/spacer.module.js +1 -3
  177. package/dist/link/link.css +1 -1
  178. package/dist/link/link.js +1 -22
  179. package/dist/link/link.module.js +1 -3
  180. package/dist/list/list.js +1 -21
  181. package/dist/list/list.module.js +1 -6
  182. package/dist/log-viewer/log-viewer.css +1 -1
  183. package/dist/log-viewer/log-viewer.js +2 -184
  184. package/dist/log-viewer/log-viewer.module.js +1 -16
  185. package/dist/menu/menu.js +1 -126
  186. package/dist/menu/menu.module.js +1 -8
  187. package/dist/menu-button/menu-button.js +1 -92
  188. package/dist/menu-button/menu-button.module.js +1 -8
  189. package/dist/menubar/menubar.js +1 -103
  190. package/dist/menubar/menubar.module.js +1 -8
  191. package/dist/modal/modal.css +1 -1
  192. package/dist/modal/modal.js +1 -76
  193. package/dist/modal/modal.module.js +1 -12
  194. package/dist/multi-select/list-nav.js +1 -0
  195. package/dist/multi-select/multi-select.css +1 -1
  196. package/dist/multi-select/multi-select.js +1 -106
  197. package/dist/multi-select/multi-select.module.js +1 -15
  198. package/dist/multi-select/option-list.js +1 -0
  199. package/dist/native-select/native-select.css +1 -1
  200. package/dist/native-select/native-select.js +1 -37
  201. package/dist/native-select/native-select.module.js +1 -7
  202. package/dist/navigation-menu/navigation-menu.js +1 -99
  203. package/dist/navigation-menu/navigation-menu.module.js +1 -10
  204. package/dist/node/accordion/accordion.js +1 -114
  205. package/dist/node/accordion/accordion.module.js +1 -10
  206. package/dist/node/action-sheet/action-sheet.js +1 -91
  207. package/dist/node/action-sheet/action-sheet.module.js +1 -12
  208. package/dist/node/alert/alert.js +1 -55
  209. package/dist/node/alert/alert.module.js +1 -11
  210. package/dist/node/alert-dialog/alert-dialog.js +1 -66
  211. package/dist/node/alert-dialog/alert-dialog.module.js +1 -11
  212. package/dist/node/app-shell/app-shell.js +1 -85
  213. package/dist/node/app-shell/app-shell.module.js +1 -12
  214. package/dist/node/aspect-ratio/aspect-ratio.js +1 -20
  215. package/dist/node/aspect-ratio/aspect-ratio.module.js +1 -6
  216. package/dist/node/avatar/avatar.js +1 -57
  217. package/dist/node/avatar/avatar.module.js +1 -8
  218. package/dist/node/avatar-group/avatar-group.js +1 -24
  219. package/dist/node/avatar-group/avatar-group.module.js +1 -6
  220. package/dist/node/badge/badge.js +1 -22
  221. package/dist/node/badge/badge.module.js +1 -3
  222. package/dist/node/blockquote/blockquote.js +1 -16
  223. package/dist/node/blockquote/blockquote.module.js +1 -6
  224. package/dist/node/bottom-sheet/bottom-sheet.js +1 -111
  225. package/dist/node/bottom-sheet/bottom-sheet.module.js +1 -14
  226. package/dist/node/brand/logo/logo.js +1 -0
  227. package/dist/node/brand/logo/logo.module.js +1 -0
  228. package/dist/node/breadcrumb/breadcrumb.js +1 -28
  229. package/dist/node/breadcrumb/breadcrumb.module.js +1 -3
  230. package/dist/node/button/button.js +1 -35
  231. package/dist/node/button/button.module.js +1 -6
  232. package/dist/node/button-group/button-group.js +1 -39
  233. package/dist/node/button-group/button-group.module.js +1 -3
  234. package/dist/node/calendar/calendar-date.js +1 -0
  235. package/dist/node/calendar/calendar.js +1 -199
  236. package/dist/node/calendar/calendar.module.js +1 -14
  237. package/dist/node/card/card.js +1 -53
  238. package/dist/node/card/card.module.js +1 -12
  239. package/dist/node/carousel/carousel.js +1 -138
  240. package/dist/node/carousel/carousel.module.js +1 -13
  241. package/dist/node/chat-bubble/chat-bubble.js +1 -31
  242. package/dist/node/chat-bubble/chat-bubble.module.js +1 -11
  243. package/dist/node/checkbox/checkbox.js +1 -39
  244. package/dist/node/checkbox/checkbox.module.js +1 -8
  245. package/dist/node/checkbox-card/checkbox-card.js +1 -50
  246. package/dist/node/checkbox-card/checkbox-card.module.js +1 -11
  247. package/dist/node/code/code.js +1 -14
  248. package/dist/node/code/code.module.js +1 -3
  249. package/dist/node/code-snippet/code-snippet.js +2 -121
  250. package/dist/node/code-snippet/code-snippet.module.js +1 -17
  251. package/dist/node/code-snippet/highlight.js +1 -67
  252. package/dist/node/collapsible/collapsible.js +1 -47
  253. package/dist/node/collapsible/collapsible.module.js +1 -7
  254. package/dist/node/color-picker/color-picker.js +1 -272
  255. package/dist/node/color-picker/color-picker.module.js +1 -18
  256. package/dist/node/color-picker/color.js +1 -0
  257. package/dist/node/combobox/combobox.js +1 -170
  258. package/dist/node/combobox/combobox.module.js +1 -19
  259. package/dist/node/combobox/list-nav.js +1 -0
  260. package/dist/node/combobox/option-list.js +1 -0
  261. package/dist/node/command-menu/command-menu.js +1 -421
  262. package/dist/node/command-menu/command-menu.module.js +1 -34
  263. package/dist/node/comparison/comparison.js +1 -69
  264. package/dist/node/comparison/comparison.module.js +1 -9
  265. package/dist/node/contained-list/contained-list.js +1 -41
  266. package/dist/node/contained-list/contained-list.module.js +1 -11
  267. package/dist/node/context-menu/context-menu.js +1 -93
  268. package/dist/node/context-menu/context-menu.module.js +1 -7
  269. package/dist/node/copy-button/copy-button.js +1 -60
  270. package/dist/node/copy-button/copy-button.module.js +1 -6
  271. package/dist/node/data-list/data-list.js +1 -25
  272. package/dist/node/data-list/data-list.module.js +1 -8
  273. package/dist/node/data-table/column-filter.js +1 -0
  274. package/dist/node/data-table/column-layout.js +1 -0
  275. package/dist/node/data-table/data-table.js +1 -398
  276. package/dist/node/data-table/data-table.module.js +1 -33
  277. package/dist/node/data-table/grid-keys.js +1 -0
  278. package/dist/node/data-table/row-group.js +1 -0
  279. package/dist/node/data-table/row-search.js +1 -0
  280. package/dist/node/data-table/row-sort.js +1 -0
  281. package/dist/node/data-table/to-csv.js +3 -0
  282. package/dist/node/data-table/virtual-window.js +1 -0
  283. package/dist/node/date-picker/date-picker.js +1 -224
  284. package/dist/node/date-picker/date-picker.module.js +1 -23
  285. package/dist/node/date-picker/parse-date.js +1 -0
  286. package/dist/node/date-range-picker/date-range-picker.js +1 -196
  287. package/dist/node/date-range-picker/date-range-picker.module.js +1 -18
  288. package/dist/node/dock/dock.js +1 -34
  289. package/dist/node/dock/dock.module.js +1 -8
  290. package/dist/node/drawer/drawer.js +1 -96
  291. package/dist/node/drawer/drawer.module.js +1 -13
  292. package/dist/node/dropdown/dropdown.js +1 -110
  293. package/dist/node/dropdown/dropdown.module.js +1 -9
  294. package/dist/node/editable/editable.js +1 -76
  295. package/dist/node/editable/editable.module.js +1 -11
  296. package/dist/node/empty-state/empty-state.js +1 -32
  297. package/dist/node/empty-state/empty-state.module.js +1 -9
  298. package/dist/node/fab/fab.js +1 -93
  299. package/dist/node/fab/fab.module.js +1 -12
  300. package/dist/node/field/field.js +1 -53
  301. package/dist/node/field/field.module.js +1 -7
  302. package/dist/node/file-uploader/file-uploader.js +1 -123
  303. package/dist/node/file-uploader/file-uploader.module.js +1 -18
  304. package/dist/node/filter/filter.js +1 -35
  305. package/dist/node/filter/filter.module.js +1 -6
  306. package/dist/node/form/form.js +1 -95
  307. package/dist/node/form/form.module.js +1 -3
  308. package/dist/node/header/header.js +1 -44
  309. package/dist/node/header/header.module.js +1 -11
  310. package/dist/node/header-panel/header-panel.js +1 -72
  311. package/dist/node/header-panel/header-panel.module.js +1 -9
  312. package/dist/node/heading/heading.js +1 -22
  313. package/dist/node/heading/heading.module.js +1 -3
  314. package/dist/node/hover-card/hover-card.js +1 -84
  315. package/dist/node/hover-card/hover-card.module.js +1 -6
  316. package/dist/node/icon-button/icon-button.js +1 -19
  317. package/dist/node/icon-button/icon-button.module.js +1 -3
  318. package/dist/node/image/image.js +1 -64
  319. package/dist/node/image/image.module.js +1 -9
  320. package/dist/node/indicator/indicator.js +1 -16
  321. package/dist/node/indicator/indicator.module.js +1 -6
  322. package/dist/node/infinite-scroll/infinite-scroll.js +1 -49
  323. package/dist/node/infinite-scroll/infinite-scroll.module.js +1 -7
  324. package/dist/node/inline-loading/inline-loading.js +1 -74
  325. package/dist/node/inline-loading/inline-loading.module.js +1 -9
  326. package/dist/node/input/input.js +1 -56
  327. package/dist/node/input/input.module.js +1 -9
  328. package/dist/node/input-group/input-group.js +1 -39
  329. package/dist/node/input-group/input-group.module.js +1 -9
  330. package/dist/node/item/item.js +1 -50
  331. package/dist/node/item/item.module.js +1 -10
  332. package/dist/node/join/join.js +1 -12
  333. package/dist/node/join/join.module.js +1 -3
  334. package/dist/node/kbd/kbd.js +1 -14
  335. package/dist/node/kbd/kbd.module.js +1 -3
  336. package/dist/node/label/label.js +1 -23
  337. package/dist/node/label/label.module.js +1 -7
  338. package/dist/node/large-title-header/large-title-header.js +1 -38
  339. package/dist/node/large-title-header/large-title-header.module.js +1 -12
  340. package/dist/node/layouts/src/auto-grid/auto-grid.js +1 -17
  341. package/dist/node/layouts/src/auto-grid/auto-grid.module.js +1 -4
  342. package/dist/node/layouts/src/center/center.js +1 -16
  343. package/dist/node/layouts/src/center/center.module.js +1 -3
  344. package/dist/node/layouts/src/columns/columns.js +1 -21
  345. package/dist/node/layouts/src/columns/columns.module.js +1 -6
  346. package/dist/node/layouts/src/flex/flex.js +1 -20
  347. package/dist/node/layouts/src/flex/flex.module.js +1 -3
  348. package/dist/node/layouts/src/grid/grid.js +1 -55
  349. package/dist/node/layouts/src/grid/grid.module.js +1 -7
  350. package/dist/node/layouts/src/page-header/page-header.js +1 -31
  351. package/dist/node/layouts/src/page-header/page-header.module.js +1 -10
  352. package/dist/node/layouts/src/spacer/spacer.js +1 -17
  353. package/dist/node/layouts/src/spacer/spacer.module.js +1 -3
  354. package/dist/node/link/link.js +1 -22
  355. package/dist/node/link/link.module.js +1 -3
  356. package/dist/node/list/list.js +1 -21
  357. package/dist/node/list/list.module.js +1 -6
  358. package/dist/node/log-viewer/log-viewer.js +2 -184
  359. package/dist/node/log-viewer/log-viewer.module.js +1 -16
  360. package/dist/node/menu/menu.js +1 -126
  361. package/dist/node/menu/menu.module.js +1 -8
  362. package/dist/node/menu-button/menu-button.js +1 -92
  363. package/dist/node/menu-button/menu-button.module.js +1 -8
  364. package/dist/node/menubar/menubar.js +1 -103
  365. package/dist/node/menubar/menubar.module.js +1 -8
  366. package/dist/node/modal/modal.js +1 -76
  367. package/dist/node/modal/modal.module.js +1 -12
  368. package/dist/node/multi-select/list-nav.js +1 -0
  369. package/dist/node/multi-select/multi-select.js +1 -106
  370. package/dist/node/multi-select/multi-select.module.js +1 -15
  371. package/dist/node/multi-select/option-list.js +1 -0
  372. package/dist/node/native-select/native-select.js +1 -37
  373. package/dist/node/native-select/native-select.module.js +1 -7
  374. package/dist/node/navigation-menu/navigation-menu.js +1 -99
  375. package/dist/node/navigation-menu/navigation-menu.module.js +1 -10
  376. package/dist/node/notification/notification.js +1 -140
  377. package/dist/node/notification/notification.module.js +1 -11
  378. package/dist/node/number-input/number-input.js +1 -148
  379. package/dist/node/number-input/number-input.module.js +1 -12
  380. package/dist/node/otp-input/otp-input.js +1 -70
  381. package/dist/node/otp-input/otp-input.module.js +1 -6
  382. package/dist/node/overflow-menu/overflow-menu.js +1 -70
  383. package/dist/node/overflow-menu/overflow-menu.module.js +1 -7
  384. package/dist/node/pagination/pagination.js +1 -92
  385. package/dist/node/pagination/pagination.module.js +1 -11
  386. package/dist/node/password-input/password-input.js +1 -81
  387. package/dist/node/password-input/password-input.module.js +1 -11
  388. package/dist/node/popover/popover.js +1 -51
  389. package/dist/node/popover/popover.module.js +1 -6
  390. package/dist/node/popover/use-popover.js +1 -55
  391. package/dist/node/progress/progress.js +1 -16
  392. package/dist/node/progress/progress.module.js +1 -6
  393. package/dist/node/progress-bar/progress-bar.js +1 -42
  394. package/dist/node/progress-bar/progress-bar.module.js +1 -11
  395. package/dist/node/progress-circle/progress-circle.js +1 -46
  396. package/dist/node/progress-circle/progress-circle.module.js +1 -9
  397. package/dist/node/progress-indicator/progress-indicator.js +1 -34
  398. package/dist/node/progress-indicator/progress-indicator.module.js +1 -10
  399. package/dist/node/prose/prose.js +1 -13
  400. package/dist/node/prose/prose.module.js +1 -3
  401. package/dist/node/pull-to-refresh/pull-to-refresh.js +1 -82
  402. package/dist/node/pull-to-refresh/pull-to-refresh.module.js +1 -9
  403. package/dist/node/qr-code/encode.js +1 -583
  404. package/dist/node/qr-code/qr-code.js +1 -41
  405. package/dist/node/qr-code/qr-code.module.js +1 -6
  406. package/dist/node/radial-progress/radial-progress.js +1 -27
  407. package/dist/node/radial-progress/radial-progress.module.js +1 -6
  408. package/dist/node/radio/radio.js +1 -49
  409. package/dist/node/radio/radio.module.js +1 -9
  410. package/dist/node/radio-card/radio-card.js +1 -64
  411. package/dist/node/radio-card/radio-card.module.js +1 -11
  412. package/dist/node/rating-group/rating-group.js +1 -37
  413. package/dist/node/rating-group/rating-group.module.js +1 -6
  414. package/dist/node/react/src/index.js +1 -141
  415. package/dist/node/relative-time/relative-time.js +1 -66
  416. package/dist/node/relative-time/relative-time.module.js +1 -3
  417. package/dist/node/reorder-list/reorder-list.js +1 -143
  418. package/dist/node/reorder-list/reorder-list.module.js +1 -11
  419. package/dist/node/resizable/resizable.js +1 -80
  420. package/dist/node/resizable/resizable.module.js +1 -8
  421. package/dist/node/scroll-area/scroll-area.js +1 -38
  422. package/dist/node/scroll-area/scroll-area.module.js +1 -3
  423. package/dist/node/search/search.js +1 -96
  424. package/dist/node/search/search.module.js +1 -9
  425. package/dist/node/segmented-control/segmented-control.js +1 -43
  426. package/dist/node/segmented-control/segmented-control.module.js +1 -6
  427. package/dist/node/select/select.js +1 -73
  428. package/dist/node/select/select.module.js +1 -11
  429. package/dist/node/separator/separator.js +1 -19
  430. package/dist/node/separator/separator.module.js +1 -3
  431. package/dist/node/sheet/sheet.js +1 -49
  432. package/dist/node/sheet/sheet.module.js +1 -9
  433. package/dist/node/shell-header/shell-header.js +1 -169
  434. package/dist/node/shell-header/shell-header.module.js +1 -24
  435. package/dist/node/side-nav/side-nav.js +1 -334
  436. package/dist/node/side-nav/side-nav.module.js +1 -31
  437. package/dist/node/skeleton/skeleton.js +1 -23
  438. package/dist/node/skeleton/skeleton.module.js +1 -7
  439. package/dist/node/skip-nav/skip-nav.js +1 -28
  440. package/dist/node/skip-nav/skip-nav.module.js +1 -3
  441. package/dist/node/slider/slider.js +1 -30
  442. package/dist/node/slider/slider.module.js +1 -7
  443. package/dist/node/spinner/spinner.js +1 -18
  444. package/dist/node/spinner/spinner.module.js +1 -6
  445. package/dist/node/stack/stack.js +1 -17
  446. package/dist/node/stack/stack.module.js +1 -6
  447. package/dist/node/stat/stat.js +1 -41
  448. package/dist/node/stat/stat.module.js +1 -11
  449. package/dist/node/status/status.js +1 -25
  450. package/dist/node/status/status.module.js +1 -7
  451. package/dist/node/steps/steps.js +1 -35
  452. package/dist/node/steps/steps.module.js +1 -8
  453. package/dist/node/structured-list/structured-list.js +1 -102
  454. package/dist/node/structured-list/structured-list.module.js +1 -12
  455. package/dist/node/swap/swap.js +1 -36
  456. package/dist/node/swap/swap.module.js +1 -7
  457. package/dist/node/swipe-item/swipe-item.js +1 -62
  458. package/dist/node/swipe-item/swipe-item.module.js +1 -12
  459. package/dist/node/switcher/switcher.js +1 -32
  460. package/dist/node/switcher/switcher.module.js +1 -8
  461. package/dist/node/tabs/tabs.js +1 -98
  462. package/dist/node/tabs/tabs.module.js +1 -8
  463. package/dist/node/tag/tag.js +1 -33
  464. package/dist/node/tag/tag.module.js +1 -6
  465. package/dist/node/tags-input/tags-input.js +1 -68
  466. package/dist/node/tags-input/tags-input.module.js +1 -8
  467. package/dist/node/text/text.js +1 -16
  468. package/dist/node/text/text.module.js +1 -3
  469. package/dist/node/textarea/textarea.js +1 -58
  470. package/dist/node/textarea/textarea.module.js +1 -9
  471. package/dist/node/tile/tile.js +1 -39
  472. package/dist/node/tile/tile.module.js +1 -7
  473. package/dist/node/time-picker/time-picker.js +1 -64
  474. package/dist/node/time-picker/time-picker.module.js +1 -9
  475. package/dist/node/timeline/timeline.js +1 -55
  476. package/dist/node/timeline/timeline.module.js +1 -11
  477. package/dist/node/toast/toast.js +1 -85
  478. package/dist/node/toast/toast.module.js +1 -11
  479. package/dist/node/toc/toc.js +1 -43
  480. package/dist/node/toc/toc.module.js +1 -3
  481. package/dist/node/toc/use-toc-from-region.js +1 -18
  482. package/dist/node/toggle/toggle.js +1 -42
  483. package/dist/node/toggle/toggle.module.js +1 -8
  484. package/dist/node/toggle-group/toggle-group.js +1 -55
  485. package/dist/node/toggle-group/toggle-group.module.js +1 -6
  486. package/dist/node/toggletip/toggletip.js +1 -49
  487. package/dist/node/toggletip/toggletip.module.js +1 -7
  488. package/dist/node/tooltip/tooltip.js +1 -58
  489. package/dist/node/tooltip/tooltip.module.js +1 -6
  490. package/dist/node/tree-view/tree-view.js +1 -201
  491. package/dist/node/tree-view/tree-view.module.js +1 -13
  492. package/dist/node/user/user.js +1 -35
  493. package/dist/node/user/user.module.js +1 -9
  494. package/dist/node/virtual-list/virtual-list.js +1 -40
  495. package/dist/node/virtual-list/virtual-list.module.js +1 -7
  496. package/dist/node/visually-hidden/visually-hidden.js +1 -2
  497. package/dist/node/wheel-picker/wheel-picker.js +1 -84
  498. package/dist/node/wheel-picker/wheel-picker.module.js +1 -8
  499. package/dist/notification/notification.js +1 -140
  500. package/dist/notification/notification.module.js +1 -11
  501. package/dist/number-input/number-input.js +1 -148
  502. package/dist/number-input/number-input.module.js +1 -12
  503. package/dist/otp-input/otp-input.js +1 -70
  504. package/dist/otp-input/otp-input.module.js +1 -6
  505. package/dist/overflow-menu/overflow-menu.js +1 -70
  506. package/dist/overflow-menu/overflow-menu.module.js +1 -7
  507. package/dist/pagination/pagination.js +1 -92
  508. package/dist/pagination/pagination.module.js +1 -11
  509. package/dist/password-input/password-input.js +1 -81
  510. package/dist/password-input/password-input.module.js +1 -11
  511. package/dist/popover/popover.js +1 -51
  512. package/dist/popover/popover.module.js +1 -6
  513. package/dist/popover/use-popover.js +1 -55
  514. package/dist/progress/progress.css +1 -1
  515. package/dist/progress/progress.js +1 -16
  516. package/dist/progress/progress.module.js +1 -6
  517. package/dist/progress-bar/progress-bar.css +1 -1
  518. package/dist/progress-bar/progress-bar.js +1 -42
  519. package/dist/progress-bar/progress-bar.module.js +1 -11
  520. package/dist/progress-circle/progress-circle.js +1 -46
  521. package/dist/progress-circle/progress-circle.module.js +1 -9
  522. package/dist/progress-indicator/progress-indicator.css +1 -1
  523. package/dist/progress-indicator/progress-indicator.js +1 -34
  524. package/dist/progress-indicator/progress-indicator.module.js +1 -10
  525. package/dist/prose/prose.css +1 -1
  526. package/dist/prose/prose.js +1 -13
  527. package/dist/prose/prose.module.js +1 -3
  528. package/dist/pull-to-refresh/pull-to-refresh.js +1 -82
  529. package/dist/pull-to-refresh/pull-to-refresh.module.js +1 -9
  530. package/dist/qr-code/encode.js +1 -583
  531. package/dist/qr-code/qr-code.js +1 -41
  532. package/dist/qr-code/qr-code.module.js +1 -6
  533. package/dist/radial-progress/radial-progress.js +1 -27
  534. package/dist/radial-progress/radial-progress.module.js +1 -6
  535. package/dist/radio/radio.js +1 -49
  536. package/dist/radio/radio.module.js +1 -9
  537. package/dist/radio-card/radio-card.css +1 -1
  538. package/dist/radio-card/radio-card.js +1 -64
  539. package/dist/radio-card/radio-card.module.js +1 -11
  540. package/dist/rating-group/rating-group.js +1 -37
  541. package/dist/rating-group/rating-group.module.js +1 -6
  542. package/dist/react/src/index.js +1 -141
  543. package/dist/relative-time/relative-time.js +1 -66
  544. package/dist/relative-time/relative-time.module.js +1 -3
  545. package/dist/reorder-list/reorder-list.css +1 -1
  546. package/dist/reorder-list/reorder-list.js +1 -143
  547. package/dist/reorder-list/reorder-list.module.js +1 -11
  548. package/dist/resizable/resizable.js +1 -80
  549. package/dist/resizable/resizable.module.js +1 -8
  550. package/dist/scroll-area/scroll-area.css +1 -1
  551. package/dist/scroll-area/scroll-area.js +1 -38
  552. package/dist/scroll-area/scroll-area.module.js +1 -3
  553. package/dist/search/search.js +1 -96
  554. package/dist/search/search.module.js +1 -9
  555. package/dist/segmented-control/segmented-control.js +1 -43
  556. package/dist/segmented-control/segmented-control.module.js +1 -6
  557. package/dist/select/select.js +1 -73
  558. package/dist/select/select.module.js +1 -11
  559. package/dist/separator/separator.js +1 -19
  560. package/dist/separator/separator.module.js +1 -3
  561. package/dist/sheet/sheet.js +1 -49
  562. package/dist/sheet/sheet.module.js +1 -9
  563. package/dist/shell-header/shell-header.css +1 -1
  564. package/dist/shell-header/shell-header.js +1 -169
  565. package/dist/shell-header/shell-header.module.js +1 -24
  566. package/dist/side-nav/side-nav.css +1 -1
  567. package/dist/side-nav/side-nav.js +1 -334
  568. package/dist/side-nav/side-nav.module.js +1 -31
  569. package/dist/skeleton/skeleton.css +1 -1
  570. package/dist/skeleton/skeleton.js +1 -23
  571. package/dist/skeleton/skeleton.module.js +1 -7
  572. package/dist/skip-nav/skip-nav.js +1 -28
  573. package/dist/skip-nav/skip-nav.module.js +1 -3
  574. package/dist/slider/slider.js +1 -30
  575. package/dist/slider/slider.module.js +1 -7
  576. package/dist/spinner/spinner.css +1 -1
  577. package/dist/spinner/spinner.js +1 -18
  578. package/dist/spinner/spinner.module.js +1 -6
  579. package/dist/stack/stack.js +1 -17
  580. package/dist/stack/stack.module.js +1 -6
  581. package/dist/stat/stat.js +1 -41
  582. package/dist/stat/stat.module.js +1 -11
  583. package/dist/status/status.css +1 -1
  584. package/dist/status/status.js +1 -25
  585. package/dist/status/status.module.js +1 -7
  586. package/dist/steps/steps.css +1 -1
  587. package/dist/steps/steps.js +1 -35
  588. package/dist/steps/steps.module.js +1 -8
  589. package/dist/structured-list/structured-list.js +1 -102
  590. package/dist/structured-list/structured-list.module.js +1 -12
  591. package/dist/styles.css +395 -53
  592. package/dist/swap/swap.css +1 -1
  593. package/dist/swap/swap.js +1 -36
  594. package/dist/swap/swap.module.js +1 -7
  595. package/dist/swipe-item/swipe-item.js +1 -62
  596. package/dist/swipe-item/swipe-item.module.js +1 -12
  597. package/dist/switcher/switcher.js +1 -32
  598. package/dist/switcher/switcher.module.js +1 -8
  599. package/dist/tabs/tabs.js +1 -98
  600. package/dist/tabs/tabs.module.js +1 -8
  601. package/dist/tag/tag.js +1 -33
  602. package/dist/tag/tag.module.js +1 -6
  603. package/dist/tags-input/tags-input.js +1 -68
  604. package/dist/tags-input/tags-input.module.js +1 -8
  605. package/dist/text/text.css +1 -1
  606. package/dist/text/text.js +1 -16
  607. package/dist/text/text.module.js +1 -3
  608. package/dist/textarea/textarea.css +1 -1
  609. package/dist/textarea/textarea.js +1 -58
  610. package/dist/textarea/textarea.module.js +1 -9
  611. package/dist/tile/tile.css +1 -1
  612. package/dist/tile/tile.js +1 -39
  613. package/dist/tile/tile.module.js +1 -7
  614. package/dist/time-picker/time-picker.js +1 -64
  615. package/dist/time-picker/time-picker.module.js +1 -9
  616. package/dist/timeline/timeline.js +1 -55
  617. package/dist/timeline/timeline.module.js +1 -11
  618. package/dist/toast/toast.css +1 -1
  619. package/dist/toast/toast.js +1 -85
  620. package/dist/toast/toast.module.js +1 -11
  621. package/dist/toc/toc.css +1 -1
  622. package/dist/toc/toc.js +1 -43
  623. package/dist/toc/toc.module.js +1 -3
  624. package/dist/toc/use-toc-from-region.js +1 -18
  625. package/dist/toggle/toggle.js +1 -42
  626. package/dist/toggle/toggle.module.js +1 -8
  627. package/dist/toggle-group/toggle-group.js +1 -55
  628. package/dist/toggle-group/toggle-group.module.js +1 -6
  629. package/dist/toggletip/toggletip.js +1 -49
  630. package/dist/toggletip/toggletip.module.js +1 -7
  631. package/dist/tooltip/tooltip.css +1 -1
  632. package/dist/tooltip/tooltip.js +1 -58
  633. package/dist/tooltip/tooltip.module.js +1 -6
  634. package/dist/tree-view/tree-view.css +1 -1
  635. package/dist/tree-view/tree-view.js +1 -201
  636. package/dist/tree-view/tree-view.module.js +1 -13
  637. package/dist/user/user.js +1 -35
  638. package/dist/user/user.module.js +1 -9
  639. package/dist/virtual-list/virtual-list.js +1 -40
  640. package/dist/virtual-list/virtual-list.module.js +1 -7
  641. package/dist/visually-hidden/visually-hidden.js +1 -2
  642. package/dist/wheel-picker/wheel-picker.js +1 -84
  643. package/dist/wheel-picker/wheel-picker.module.js +1 -8
  644. package/package.json +3 -3
  645. package/readme.body.md +3 -2
@@ -1,398 +1 @@
1
- "use client";
2
-
3
- import { Button as e } from "../button/button.js";
4
- import { Checkbox as t } from "../checkbox/checkbox.js";
5
- import n from "./data-table.module.js";
6
- import { Fragment as r, useId as i, useRef as a } from "react";
7
- import { batch as o, cn as s, useComputed as c, useControllableSignal as l, useSignal as u, useSignalEffect as ee, useSignals as te } from "@cascivo/core";
8
- import { builtin as d, t as f } from "@cascivo/i18n";
9
- import { jsx as p, jsxs as m } from "react/jsx-runtime";
10
- import { flushSync as ne } from "react-dom";
11
- //#region ../components/src/data-table/data-table.tsx
12
- var h = /* @__PURE__ */ new Set();
13
- function g() {
14
- return globalThis.process?.env?.NODE_ENV !== "production";
15
- }
16
- var _ = /* @__PURE__ */ new Set();
17
- function re(e, t, n) {
18
- if (!g()) return;
19
- let r = e.scrollWidth - e.clientWidth;
20
- if (r <= 1) return;
21
- let i = `${n}:${e.clientWidth}`;
22
- _.has(i) || (_.add(i), console.warn(`cascivo DataTable: the table overflows its container (scrollWidth ${e.scrollWidth}px > clientWidth ${e.clientWidth}px, by ${r}px), so the last column is cut off. ` + (t.length > 0 ? `Drop a \`width\` from one of the sized columns (${t.join(", ")}), or lower the \`minWidth\` on the free-form one.` : "Lower the `minWidth` on the widest column.")));
23
- }
24
- function ie(e, t, n) {
25
- g() && (e !== void 0 || t !== void 0 || h.has(n) || (h.add(n), console.warn(`cascivo DataTable: this table has no accessible name (columns: ${n}). Pass \`title\` for a visible caption, or \`ariaLabel\` for a name only screen readers hear.`)));
26
- }
27
- function v(e, t) {
28
- return e[t];
29
- }
30
- function ae(e, t) {
31
- return typeof e == "number" && typeof t == "number" ? e - t : String(e ?? "").localeCompare(String(t ?? ""));
32
- }
33
- function y({ columns: h, rows: g, getRowId: _, sort: y, defaultSort: oe, sortMode: se = "client", onSortChange: ce, searchable: le = !1, pagination: b, selection: x, batchActions: S, renderExpandedRow: C, density: ue = "normal", zebra: de = !1, stickyHeader: fe = !1, loading: w = !1, emptyState: pe, title: T, ariaLabel: me, description: E, labels: D, className: he, virtualized: O = !1, rowHeight: k = 40, windowSize: ge = 20, overscan: _e = 3 }) {
34
- te();
35
- let A = i(), j = {
36
- search: D?.search ?? f(d.dataTable.search),
37
- empty: D?.empty ?? f(d.dataTable.empty),
38
- selectAll: D?.selectAll ?? f(d.dataTable.selectAll),
39
- selectRow: D?.selectRow ?? f(d.dataTable.selectRow),
40
- itemsSelected: (e) => D?.itemsSelected?.(e) ?? f(d.dataTable.itemsSelected, { count: e }),
41
- expandRow: D?.expandRow ?? f(d.dataTable.expandRow),
42
- previousPage: D?.previousPage ?? f(d.dataTable.previousPage),
43
- nextPage: D?.nextPage ?? f(d.dataTable.nextPage)
44
- }, [ve] = l({ value: g }), [ye] = l({ value: h }), [M, be] = l({
45
- value: y,
46
- defaultValue: oe
47
- }), xe = u([]), N = x?.selected ?? xe.value, P = (e) => {
48
- x?.selected === void 0 && (xe.value = e), x?.onChange?.(e);
49
- }, F = u(""), I = u(1), L = u(b?.pageSize ?? 0), R = u(/* @__PURE__ */ new Set()), z = a(null), B = u(0);
50
- ee(() => {
51
- let e = z.current;
52
- if (!e || typeof ResizeObserver > "u") return;
53
- let t = h.filter((e) => e.width !== void 0).map((e) => e.key), n = h.map((e) => e.key).join(","), r = 0, i = new ResizeObserver(() => {
54
- cancelAnimationFrame(r), r = requestAnimationFrame(() => re(e, t, n));
55
- });
56
- return i.observe(e), () => {
57
- cancelAnimationFrame(r), i.disconnect();
58
- };
59
- }), ee(() => {
60
- if (!O) return;
61
- let e = z.current;
62
- if (!e) return;
63
- let t = () => {
64
- ne(() => {
65
- B.value = e.scrollTop;
66
- });
67
- };
68
- return e.addEventListener("scroll", t, { passive: !0 }), () => e.removeEventListener("scroll", t);
69
- });
70
- let Se = c(() => ve.value.map((e, t) => ({
71
- row: e,
72
- id: _ ? _(e) : String(t)
73
- }))), V = c(() => {
74
- let e = F.value.trim().toLowerCase();
75
- if (!e) return Se.value;
76
- let t = ye.value;
77
- return Se.value.filter((n) => t.some((t) => String(v(n.row, t.key) ?? "").toLowerCase().includes(e)));
78
- }), H = c(() => {
79
- let e = M.value;
80
- if (!e || se === "server") return V.value;
81
- let t = V.value.map((e, t) => [e, t]);
82
- return t.sort((t, n) => {
83
- let r = ae(v(t[0].row, e.key), v(n[0].row, e.key));
84
- return e.direction === "desc" && (r = -r), r === 0 ? t[1] - n[1] : r;
85
- }), t.map(([e]) => e);
86
- }), U = c(() => b ? Math.max(1, Math.ceil(V.value.length / L.value)) : 1), W = c(() => Math.min(I.value, U.value)), G = c(() => {
87
- if (!b) return H.value;
88
- let e = (W.value - 1) * L.value;
89
- return H.value.slice(e, e + L.value);
90
- }), K = c(() => O ? Math.floor(B.value / k) : 0), q = c(() => O ? Math.min(K.value + ge + _e * 2, G.value.length) : G.value.length), Ce = c(() => O ? G.value.slice(K.value, q.value) : G.value), we = (e) => {
91
- let t = M.value, n;
92
- n = !t || t.key !== e ? {
93
- key: e,
94
- direction: "asc"
95
- } : t.direction === "asc" ? {
96
- key: e,
97
- direction: "desc"
98
- } : void 0, o(() => {
99
- be(n), I.value = 1;
100
- }), ce?.(n);
101
- }, Te = (e) => {
102
- if (![
103
- "ArrowUp",
104
- "ArrowDown",
105
- "ArrowLeft",
106
- "ArrowRight"
107
- ].includes(e.key)) return;
108
- let t = e.currentTarget, n = Array.from(t.querySelectorAll("th button, td button, td input[type=\"checkbox\"]")), r = n.indexOf(document.activeElement);
109
- if (r === -1) return;
110
- e.preventDefault();
111
- let i = (e) => e.closest("tr"), a;
112
- if (e.key === "ArrowRight" || e.key === "ArrowLeft") {
113
- let t = n[r + (e.key === "ArrowRight" ? 1 : -1)];
114
- t && i(t) === i(n[r]) && (a = t);
115
- } else {
116
- let t = e.key === "ArrowDown" ? 1 : -1, o = n[r];
117
- for (let e = r + t; e >= 0 && e < n.length; e += t) if (i(n[e]) !== i(o)) {
118
- a = n[e];
119
- break;
120
- }
121
- }
122
- a?.focus();
123
- }, Ee = (e) => {
124
- let t = N;
125
- x?.mode === "single" ? P(t.includes(e) ? [] : [e]) : P(t.includes(e) ? t.filter((t) => t !== e) : [...t, e]);
126
- }, De = (e) => {
127
- let t = new Set(R.value);
128
- t.has(e) ? t.delete(e) : t.add(e), R.value = t;
129
- }, J = G.value, Oe = R.value, Y = J.length > 0 && J.every((e) => N.includes(e.id)), ke = J.some((e) => N.includes(e.id)), X = Ce.value, Z = K.value, Ae = q.value, je = () => {
130
- let e = J.map((e) => e.id);
131
- P(Y ? N.filter((t) => !e.includes(t)) : [...new Set([...N, ...e])]);
132
- }, Q = h.length + +!!x + +!!C, Me = b && !O && X.length > 0 ? Math.max(0, L.value - X.length) : 0;
133
- ie(T, me, h.map((e) => e.key).join(","));
134
- let Ne = `${A}-title`, Pe = `${A}-description`, $ = V.value.length, Fe = $ === 0 ? 0 : (W.value - 1) * L.value + 1, Ie = $ === 0 ? 0 : Fe + J.length - 1, Le = !!S && S.length > 0 && N.length > 0;
135
- return /* @__PURE__ */ m("div", {
136
- className: s(n.root, he),
137
- "data-density": ue,
138
- "data-zebra": de || void 0,
139
- "data-sticky-header": fe || void 0,
140
- "data-paginated": b ? !0 : void 0,
141
- "data-fixed-layout": h.every((e) => e.width !== void 0) || void 0,
142
- children: [
143
- /* @__PURE__ */ p("span", {
144
- "aria-live": "polite",
145
- className: n.srOnly,
146
- children: N.length > 0 ? j.itemsSelected(N.length) : ""
147
- }),
148
- (T !== void 0 || E !== void 0 || le) && /* @__PURE__ */ m("div", {
149
- className: n.toolbar,
150
- children: [(T !== void 0 || E !== void 0) && /* @__PURE__ */ m("div", {
151
- className: n.heading,
152
- children: [T !== void 0 && /* @__PURE__ */ p("div", {
153
- id: Ne,
154
- className: n.title,
155
- children: T
156
- }), E !== void 0 && /* @__PURE__ */ p("div", {
157
- id: Pe,
158
- className: n.description,
159
- children: E
160
- })]
161
- }), le && /* @__PURE__ */ p("input", {
162
- type: "search",
163
- className: n.search,
164
- "aria-label": j.search,
165
- placeholder: j.search,
166
- value: F.value,
167
- onChange: (e) => {
168
- F.value = e.target.value, I.value = 1;
169
- }
170
- })]
171
- }),
172
- Le && /* @__PURE__ */ m("div", {
173
- className: n.batchBar,
174
- children: [/* @__PURE__ */ p("span", {
175
- className: n.batchCount,
176
- children: j.itemsSelected(N.length)
177
- }), /* @__PURE__ */ p("div", {
178
- className: n.batchActions,
179
- children: S.map((t, n) => /* @__PURE__ */ p(e, {
180
- size: "sm",
181
- variant: "secondary",
182
- onClick: () => t.onClick(N),
183
- children: t.label
184
- }, t.id ?? `${n}-${t.label}`))
185
- })]
186
- }),
187
- /* @__PURE__ */ p("div", {
188
- ref: z,
189
- className: s(n.scroller, O && n.scrollerVirtualized),
190
- children: /* @__PURE__ */ m("table", {
191
- className: n.table,
192
- "aria-labelledby": T === void 0 ? void 0 : Ne,
193
- "aria-label": T === void 0 ? me : void 0,
194
- "aria-describedby": E === void 0 ? void 0 : Pe,
195
- "aria-busy": w || void 0,
196
- "aria-rowcount": O ? J.length : void 0,
197
- onKeyDown: Te,
198
- children: [
199
- /* @__PURE__ */ m("colgroup", { children: [
200
- C && /* @__PURE__ */ p("col", { className: n.controlCol }),
201
- x && /* @__PURE__ */ p("col", { className: n.controlCol }),
202
- h.map((e) => /* @__PURE__ */ p("col", { style: e.width !== void 0 || e.minWidth !== void 0 ? {
203
- ...e.width === void 0 ? {} : { width: e.width },
204
- ...e.minWidth === void 0 ? {} : { minWidth: e.minWidth }
205
- } : void 0 }, e.key))
206
- ] }),
207
- /* @__PURE__ */ p("thead", { children: /* @__PURE__ */ m("tr", { children: [
208
- C && /* @__PURE__ */ p("th", {
209
- scope: "col",
210
- className: n.controlCell,
211
- children: /* @__PURE__ */ p("span", {
212
- className: n.srOnly,
213
- children: j.expandRow
214
- })
215
- }),
216
- x && /* @__PURE__ */ p("th", {
217
- scope: "col",
218
- className: n.controlCell,
219
- children: x.mode === "multi" ? /* @__PURE__ */ p(t, {
220
- "aria-label": j.selectAll,
221
- checked: Y,
222
- indeterminate: ke && !Y,
223
- onChange: je
224
- }) : /* @__PURE__ */ p("span", {
225
- className: n.srOnly,
226
- children: j.selectRow
227
- })
228
- }),
229
- h.map((e) => {
230
- let t = M.value?.key === e.key ? M.value.direction : void 0, r = t === "asc" ? "ascending" : t === "desc" ? "descending" : "none";
231
- return /* @__PURE__ */ p("th", {
232
- scope: "col",
233
- "data-align": e.align ?? "start",
234
- "data-sized": e.width !== void 0 || void 0,
235
- "aria-sort": e.sortable ? r : void 0,
236
- children: e.sortable ? /* @__PURE__ */ p("button", {
237
- type: "button",
238
- className: n.sortButton,
239
- "data-state": r,
240
- onClick: () => we(e.key),
241
- children: e.header
242
- }) : e.header
243
- }, e.key);
244
- })
245
- ] }) }),
246
- /* @__PURE__ */ m("tbody", { children: [
247
- w && Array.from({ length: 5 }, (e, t) => /* @__PURE__ */ p("tr", {
248
- className: n.row,
249
- children: Array.from({ length: Q }, (e, t) => /* @__PURE__ */ p("td", { children: /* @__PURE__ */ p("span", {
250
- className: n.shimmer,
251
- "aria-hidden": "true"
252
- }) }, t))
253
- }, t)),
254
- !w && J.length === 0 && /* @__PURE__ */ p("tr", {
255
- "data-empty-row": !0,
256
- children: /* @__PURE__ */ p("td", {
257
- colSpan: Q,
258
- className: n.emptyCell,
259
- children: pe ?? j.empty
260
- })
261
- }),
262
- !w && O && Z > 0 && /* @__PURE__ */ p("tr", {
263
- "aria-hidden": "true",
264
- style: { height: Z * k }
265
- }),
266
- !w && X.map((e, i) => {
267
- let a = O ? Z + i : i, o = N.includes(e.id), s = Oe.has(e.id);
268
- return /* @__PURE__ */ m(r, { children: [/* @__PURE__ */ m("tr", {
269
- className: n.row,
270
- "data-parity": a % 2 == 0 ? "even" : "odd",
271
- "data-state": o ? "selected" : void 0,
272
- "aria-rowindex": O ? Z + i + 1 : void 0,
273
- children: [
274
- C && /* @__PURE__ */ p("td", {
275
- className: n.controlCell,
276
- children: /* @__PURE__ */ p("button", {
277
- type: "button",
278
- className: n.expandButton,
279
- "aria-expanded": s,
280
- "aria-label": j.expandRow,
281
- "data-state": s ? "open" : "closed",
282
- onClick: () => De(e.id),
283
- children: /* @__PURE__ */ p("span", {
284
- className: n.chevron,
285
- "aria-hidden": "true"
286
- })
287
- })
288
- }),
289
- x && /* @__PURE__ */ p("td", {
290
- className: n.controlCell,
291
- children: /* @__PURE__ */ p(t, {
292
- "aria-label": j.selectRow,
293
- checked: o,
294
- onChange: () => Ee(e.id)
295
- })
296
- }),
297
- h.map((t) => /* @__PURE__ */ p("td", {
298
- "data-align": t.align ?? "start",
299
- "data-sized": t.width !== void 0 || void 0,
300
- children: t.render ? t.render(e.row) : String(v(e.row, t.key) ?? "")
301
- }, t.key))
302
- ]
303
- }), C && /* @__PURE__ */ p("tr", {
304
- className: n.expansionRow,
305
- "data-state": s ? "open" : "closed",
306
- children: /* @__PURE__ */ p("td", {
307
- colSpan: Q,
308
- children: /* @__PURE__ */ p("div", {
309
- className: n.expansionGrid,
310
- "data-state": s ? "open" : "closed",
311
- children: /* @__PURE__ */ p("div", {
312
- className: n.expansionInner,
313
- children: C(e.row)
314
- })
315
- })
316
- })
317
- })] }, e.id);
318
- }),
319
- !w && O && Ae < J.length && /* @__PURE__ */ p("tr", {
320
- "aria-hidden": "true",
321
- style: { height: (J.length - Ae) * k }
322
- }),
323
- Me > 0 && /* @__PURE__ */ p("tr", {
324
- "aria-hidden": "true",
325
- "data-filler-row": !0,
326
- children: /* @__PURE__ */ p("td", {
327
- colSpan: Q,
328
- style: {
329
- blockSize: `calc(var(--_row-height) * ${Me})`,
330
- padding: 0
331
- }
332
- })
333
- })
334
- ] })
335
- ]
336
- })
337
- }),
338
- b && /* @__PURE__ */ m("div", {
339
- className: n.footer,
340
- children: [
341
- b.pageSizeOptions && /* @__PURE__ */ m("label", {
342
- className: n.pageSize,
343
- children: [/* @__PURE__ */ p("span", { children: "Rows per page" }), /* @__PURE__ */ p("select", {
344
- value: L.value,
345
- onChange: (e) => {
346
- L.value = Number(e.target.value), I.value = 1;
347
- },
348
- children: b.pageSizeOptions.map((e) => /* @__PURE__ */ p("option", {
349
- value: e,
350
- children: e
351
- }, e))
352
- })]
353
- }),
354
- /* @__PURE__ */ m("span", {
355
- className: n.range,
356
- children: [
357
- Fe,
358
- "–",
359
- Ie,
360
- " of ",
361
- $
362
- ]
363
- }),
364
- /* @__PURE__ */ m("div", {
365
- className: n.pageButtons,
366
- children: [/* @__PURE__ */ p("button", {
367
- type: "button",
368
- className: n.pageButton,
369
- "aria-label": j.previousPage,
370
- disabled: W.value <= 1,
371
- onClick: () => {
372
- I.value = W.value - 1;
373
- },
374
- children: /* @__PURE__ */ p("span", {
375
- "aria-hidden": "true",
376
- children: "‹"
377
- })
378
- }), /* @__PURE__ */ p("button", {
379
- type: "button",
380
- className: n.pageButton,
381
- "aria-label": j.nextPage,
382
- disabled: W.value >= U.value,
383
- onClick: () => {
384
- I.value = W.value + 1;
385
- },
386
- children: /* @__PURE__ */ p("span", {
387
- "aria-hidden": "true",
388
- children: "›"
389
- })
390
- })]
391
- })
392
- ]
393
- })
394
- ]
395
- });
396
- }
397
- //#endregion
398
- export { y as DataTable };
1
+ "use client";import{Button as e}from"../button/button.js";import{Checkbox as t}from"../checkbox/checkbox.js";import{OverflowMenu as n}from"../overflow-menu/overflow-menu.js";import{Editable as r}from"../editable/editable.js";import{Popover as i,PopoverContent as a,PopoverTrigger as o}from"../popover/popover.js";import s from"./data-table.module.js";import{applyColumnFilters as c,countActiveFilters as l,facetValues as ee,isFilterActive as te,numericExtent as ne}from"./column-filter.js";import{displayColumns as re,moveColumn as ie,pinColumn as ae,resizeColumn as oe,stickyOffsets as se,toggleColumnHidden as ce}from"./column-layout.js";import{moveGridFocus as le}from"./grid-keys.js";import{aggregate as u,groupItems as ue,headerSpans as de}from"./row-group.js";import{createRowSearch as fe}from"./row-search.js";import{downloadCsv as pe,toCsv as me}from"./to-csv.js";import{sortRowsBy as he}from"./row-sort.js";import{computeWindow as ge,scrollTopForRow as _e}from"./virtual-window.js";import{Fragment as ve,useId as ye,useRef as d}from"react";import{batch as f,cn as be,persistedSignal as xe,useComputed as p,useControllableSignal as m,useSignal as h,useSignalEffect as g,useSignals as Se}from"@cascivo/core";import{builtin as _,formatNumber as v,t as y}from"@cascivo/i18n";import{jsx as b,jsxs as x}from"react/jsx-runtime";import{flushSync as Ce}from"react-dom";var we=``;function Te(e,t){let n=e.aggregate;if(n===void 0)return null;if(typeof n==`function`)return n(t);let r=u(t.map(t=>S(t,e.key)),n);return r===void 0?null:n===`count`?v(r):v(r,{maximumFractionDigits:2})}var Ee=new Map;function De(e){let t=Ee.get(e);return t||(t=xe(`cascivo.data-table.${e}`,{columnState:{}}),Ee.set(e,t)),t}var Oe=new Set;function ke(){return globalThis.process?.env?.NODE_ENV!==`production`}var Ae=new Set;function je(e,t,n){if(!ke())return;let r=e.scrollWidth-e.clientWidth;if(r<=1)return;let i=`${n}:${e.clientWidth}`;Ae.has(i)||(Ae.add(i),console.warn(`cascivo DataTable: the table overflows its container (scrollWidth ${e.scrollWidth}px > clientWidth ${e.clientWidth}px, by ${r}px), so the last column is cut off. `+(t.length>0?`Drop a \`width\` from one of the sized columns (${t.join(`, `)}), or lower the \`minWidth\` on the free-form one.`:"Lower the `minWidth` on the widest column.")))}function Me(e,t,n){ke()&&(e!==void 0||t!==void 0||Oe.has(n)||(Oe.add(n),console.warn(`cascivo DataTable: this table has no accessible name (columns: ${n}). Pass \`title\` for a visible caption, or \`ariaLabel\` for a name only screen readers hear.`)))}function S(e,t){return e[t]}function Ne({columns:u,rows:xe,getRowId:v,sort:Ee,defaultSort:Oe,sortMode:ke=`client`,onSortChange:Ae,searchable:Ne=!1,pagination:C,selection:w,batchActions:Pe,renderExpandedRow:T,filters:Fe,defaultFilters:Ie,onFiltersChange:Le,noResultsState:Re,toolbar:ze,rowActions:E,columnState:Be,defaultColumnState:Ve,onColumnStateChange:He,columnSettings:D,server:O,multiSort:Ue=!1,stateKey:We,keyboardNavigation:Ge=`row`,onCellEdit:Ke,groupBy:qe,totals:Je=!1,pinnedRows:Ye,columnGroups:Xe,exportable:Ze=!1,density:Qe=`normal`,zebra:$e=!1,stickyHeader:et=!1,loading:k=!1,emptyState:tt,title:A,ariaLabel:nt,description:rt,labels:j,className:it,virtualized:M=!1,rowHeight:at,windowSize:ot,overscan:st=3}){Se();let ct=ye(),N={search:j?.search??y(_.dataTable.search),empty:j?.empty??y(_.dataTable.empty),selectAll:j?.selectAll??y(_.dataTable.selectAll),selectRow:j?.selectRow??y(_.dataTable.selectRow),itemsSelected:e=>j?.itemsSelected?.(e)??y(_.dataTable.itemsSelected,{count:e}),expandRow:j?.expandRow??y(_.dataTable.expandRow),previousPage:j?.previousPage??y(_.dataTable.previousPage),nextPage:j?.nextPage??y(_.dataTable.nextPage),columns:j?.columns??y(_.dataTable.columns),actions:j?.actions??y(_.dataTable.actions),noResults:j?.noResults??y(_.dataTable.noResults),clearFilters:j?.clearFilters??y(_.dataTable.clearFilters),filterColumn:e=>j?.filterColumn?.(e)??y(_.dataTable.filterColumn,{column:e}),min:j?.min??y(_.dataTable.min),max:j?.max??y(_.dataTable.max),all:j?.all??y(_.dataTable.all),columnMenu:e=>j?.columnMenu?.(e)??y(_.dataTable.columnMenu,{column:e}),sortAscending:j?.sortAscending??y(_.dataTable.sortAscending),sortDescending:j?.sortDescending??y(_.dataTable.sortDescending),clearSort:j?.clearSort??y(_.dataTable.clearSort),moveLeft:j?.moveLeft??y(_.dataTable.moveLeft),moveRight:j?.moveRight??y(_.dataTable.moveRight),pinStart:j?.pinStart??y(_.dataTable.pinStart),pinEnd:j?.pinEnd??y(_.dataTable.pinEnd),unpin:j?.unpin??y(_.dataTable.unpin),hideColumn:j?.hideColumn??y(_.dataTable.hideColumn),resizeColumn:e=>j?.resizeColumn?.(e)??y(_.dataTable.resizeColumn,{column:e}),editCell:e=>j?.editCell?.(e)??y(_.dataTable.editCell,{column:e}),totals:j?.totals??y(_.dataTable.totals),exportCsv:j?.exportCsv??y(_.dataTable.exportCsv)},[lt]=m({value:xe}),[ut]=m({value:u}),dt=We===void 0?void 0:De(We),[P,ft]=m({value:Ee,defaultValue:dt?.value.sort??Oe}),[pt]=m({value:(typeof qe==`string`?[qe]:qe??[]).join(we)}),mt=h(new Set),ht=h([]),F=w?.selected??ht.value,gt=e=>{w?.selected===void 0&&(ht.value=e),w?.onChange?.(e)},_t=h(``),[vt,I]=m({value:C?.page,defaultValue:1,onChange:C?.onPageChange}),[yt,bt]=m({value:Fe,defaultValue:Ie??{},onChange:Le}),[L,R]=m({value:Be,defaultValue:dt?.value.columnState??Ve??{},onChange:He});g(()=>{let e={columnState:L.value};P.value&&(e.sort=P.value),dt&&(dt.value=e)});let xt=p(()=>re(ut.value,L.value)),z=d(null),St=h([]);g(()=>{let e=L.value.pinned;if(!e||Object.keys(e).length===0)return;let t=V.current;if(!t||typeof ResizeObserver>`u`)return;let n=()=>{let e=t.querySelector(`thead tr:not([data-group-header])`);e&&(St.value=Array.from(e.children,e=>e.getBoundingClientRect().width))};n();let r=new ResizeObserver(n);r.observe(t);let i=t.querySelector(`table`);return i&&r.observe(i),()=>r.disconnect()});let Ct=h(null);g(()=>{let e=Ct.value;if(!e)return;let t=z.current?getComputedStyle(z.current).direction===`rtl`:!1,n=n=>{let r=(n.clientX-e.startX)*(t?-1:1);R(oe(L.value,e.key,e.startWidth+r))},r=()=>{Ct.value=null};return window.addEventListener(`pointermove`,n),window.addEventListener(`pointerup`,r),()=>{window.removeEventListener(`pointermove`,n),window.removeEventListener(`pointerup`,r)}});let B=h(C?.pageSize??0),wt=h(new Set),Tt=Ge===`grid`,Et=h({row:-1,col:0}),Dt=d(!1),V=d(null),Ot=h(0),kt=h(0),At=h(0);g(()=>{let e=V.current;if(!e||typeof ResizeObserver>`u`)return;let t=u.filter(e=>e.width!==void 0).map(e=>e.key),n=u.map(e=>e.key).join(`,`),r=0,i=new ResizeObserver(()=>{cancelAnimationFrame(r),r=requestAnimationFrame(()=>{je(e,t,n);let r=e.querySelector(`thead tr[data-group-header]`);e.style.setProperty(`--_group-h`,`${r?r.getBoundingClientRect().height:0}px`);let i=e.querySelector(`thead tr:not([data-group-header])`);i&&e.style.setProperty(`--_head-h`,`${i.getBoundingClientRect().height}px`);let a=e.querySelector(`thead`);a&&e.style.setProperty(`--_thead-h`,`${a.getBoundingClientRect().height}px`)})});return i.observe(e),()=>{cancelAnimationFrame(r),i.disconnect()}}),g(()=>{if(!M)return;let e=V.current;if(!e)return;let t=()=>{Ce(()=>{Ot.value=e.scrollTop})};return e.addEventListener(`scroll`,t,{passive:!0}),()=>e.removeEventListener(`scroll`,t)}),g(()=>{if(!M)return;let e=V.current;if(!e||typeof ResizeObserver>`u`)return;let t=()=>{kt.value=e.clientHeight;let t=e.querySelector(`tbody tr[aria-rowindex]`)?.getBoundingClientRect().height??0;t>0&&(At.value=t)};t();let n=new ResizeObserver(t);n.observe(e);let r=e.querySelector(`table`);return r&&n.observe(r),()=>n.disconnect()});let jt=p(()=>(xt.value,lt.value.map((e,t)=>({row:e,id:v?v(e):String(t)})))),Mt=p(()=>{let e=P.value;return!e||ke===`server`||O?jt.value:he(jt.value,[e,...e.thenBy??[]].map(e=>({keyOf:t=>S(t.row,e.key),direction:e.direction})))}),Nt=p(()=>O?Mt.value:c(Mt.value,yt.value,(e,t)=>S(e.row,t))),Pt=p(()=>{let e=xt.value;return fe(t=>{if(t.haystack===void 0){let n=``;for(let r of e)n+=String(S(t.row,r.key)??``)+`\0`;t.haystack=n.toLowerCase()}return t.haystack})});g(()=>{if(!Ne)return;let e=jt.value,t=Pt.value,n=typeof requestIdleCallback==`function`,r,i=0,a=()=>{i=t.prime(e,i,2e4),i<e.length&&o()},o=()=>{r=n?requestIdleCallback(a,{timeout:500}):setTimeout(a,16)};return o(),()=>{n?cancelIdleCallback(r):clearTimeout(r)}});let Ft=p(()=>{if(O)return Mt.value;let e=_t.value.trim().toLowerCase();return e?Pt.value.filter(Nt.value,e):Nt.value}),It=p(()=>{let e=pt.value===``?[]:pt.value.split(we);return e.length===0?Ft.value:ue(Ft.value,e,(e,t)=>S(e.row,t),mt.value)}),Lt=p(()=>C?Math.max(1,Math.ceil(It.value.length/B.value)):1),Rt=p(()=>Math.min(vt.value,Lt.value)),zt=p(()=>{if(!C||O)return It.value;let e=(Rt.value-1)*B.value;return It.value.slice(e,e+B.value)}),Bt=p(()=>pt.value===``?zt.value:zt.value.filter(e=>e.group===void 0)),Vt=p(()=>{let e=new Map,t=ut.value.filter(e=>e.aggregate!==void 0);if(t.length===0)return e;let n=Ft.value.map(e=>e.row);for(let r of t)e.set(r.key,Te(r,n));return e}),Ht=d(O);Ht.current=O;let Ut=d(!1);g(()=>{let e={sort:P.value,search:_t.value.trim(),filters:yt.value,page:vt.value,pageSize:B.value};if(!Ut.current){Ut.current=!0;return}Ht.current?.onQueryChange(e)});let Wt=(e,t)=>{let n={...yt.value};t&&te(t)?n[e]=t:delete n[e],f(()=>{bt(n),I(1)})},Gt=()=>f(()=>{bt({}),I(1)}),Kt=e=>R(ce(ut.value,L.value,e)),qt=(e,t)=>{let n=L.value,r=z.current?getComputedStyle(z.current).direction===`rtl`:!1;switch(t){case`sort-asc`:return $t({key:e.key,direction:`asc`});case`sort-desc`:return $t({key:e.key,direction:`desc`});case`sort-clear`:return $t(void 0);case`move-left`:return R(ie(ut.value,n,e.key,r?1:-1));case`move-right`:return R(ie(ut.value,n,e.key,r?-1:1));case`pin-start`:return R(ae(n,e.key,`start`));case`pin-end`:return R(ae(n,e.key,`end`));case`unpin`:return R(ae(n,e.key,null));case`hide`:return Kt(e.key);default:return}},Jt=h(null),Yt=d(null),Xt=()=>{let e=jt.value;return Yt.current?.entries!==e&&(Yt.current={entries:e,facets:new Map,extents:new Map}),Yt.current},Zt=e=>{let t=Xt(),n=t.facets.get(e);return n||(n=ee(t.entries,t=>S(t.row,e)),t.facets.set(e,n)),n},Qt=e=>{let t=Xt();return t.extents.has(e)||t.extents.set(e,ne(t.entries,t=>S(t.row,e))),t.extents.get(e)},$t=e=>{f(()=>{ft(e),I(1)}),Ae?.(e)},en=(e,t=!1)=>{let n=P.value;if(t&&Ue&&n&&n.key!==e){let t=n.thenBy??[],r=t.findIndex(t=>t.key===e),i=r===-1?[...t,{key:e,direction:`asc`}]:t.map((t,n)=>n===r?{key:e,direction:t.direction===`asc`?`desc`:`asc`}:t);return $t({...n,thenBy:i})}let r;r=!n||n.key!==e?{key:e,direction:`asc`}:n.direction===`asc`?{key:e,direction:`desc`}:void 0,$t(r)},tn=e=>{let t=P.value;if(!t)return;if(t.key===e)return{index:0,direction:t.direction};let n=(t.thenBy??[]).findIndex(t=>t.key===e);return n===-1?void 0:{index:n+1,direction:(t.thenBy??[])[n].direction}},nn=e=>{if(![`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`].includes(e.key))return;let t=e.currentTarget,n=Array.from(t.querySelectorAll(`th button, td button, td input[type="checkbox"]`)),r=n.indexOf(document.activeElement);if(r===-1)return;e.preventDefault();let i=e=>e.closest(`tr`),a;if(e.key===`ArrowRight`||e.key===`ArrowLeft`){let t=n[r+(e.key===`ArrowRight`?1:-1)];t&&i(t)===i(n[r])&&(a=t)}else{let t=e.key===`ArrowDown`?1:-1,o=n[r];for(let e=r+t;e>=0&&e<n.length;e+=t)if(i(n[e])!==i(o)){a=n[e];break}}a?.focus()},rn=d(null);rn.current?.ids!==F&&(rn.current={ids:F,set:new Set(F)});let H=rn.current.set,an=e=>{let t=F;w?.mode===`single`?gt(H.has(e)?[]:[e]):gt(H.has(e)?t.filter(t=>t!==e):[...t,e])},on=e=>{let t=new Set(wt.value);t.has(e)?t.delete(e):t.add(e),wt.value=t},U=zt.value,W=Bt.value,sn=wt.value,cn=d(null);(cn.current?.page!==W||cn.current.set!==H)&&(cn.current={page:W,set:H,all:W.length>0&&W.every(e=>H.has(e.id)),some:W.some(e=>H.has(e.id))});let ln=cn.current.all,un=cn.current.some,dn=at??(At.value>0?At.value:40),fn=ot===void 0?kt.value>0?kt.value:20*dn:ot*dn,G=M?ge({scrollTop:Ot.value,viewportHeight:fn,rowHeight:dn,count:U.length,overscan:st}):void 0,pn=G?U.slice(G.start,G.end):U,mn=G?.start??0,hn=()=>{if(ln){let e=new Set(W.map(e=>e.id));gt(F.filter(t=>!e.has(t)))}else{let e=new Set(F);for(let t of W)e.add(t.id);gt([...e])}},K=xt.value,q=L.value,gn=new Set(q.hidden??[]),_n=D?.visibility===!0,vn=D!==void 0&&(D.reorderable===!0||D.pinnable===!0||D.visibility===!0),yn=D?.resizable===!0,bn=Object.keys(q.widths??{}).length>0,J=q.pinned??{},Y=+!!T+ +!!w,xn=K.some(e=>J[e.key]===`start`),Sn=K.some(e=>J[e.key]===`end`),X=[...Array.from({length:Y},()=>xn?`start`:void 0),...K.map(e=>J[e.key]),...E?[Sn?`end`:void 0]:[]],Cn=St.value,wn=Cn.length===X.length?se(Cn,X):X.map(()=>void 0),Tn=X.lastIndexOf(`start`),En=X.indexOf(`end`),Z=e=>{let t=X[e];if(!t)return{};let n=wn[e];return{"data-pinned":t,"data-pinned-edge":e===Tn||e===En?!0:void 0,style:n===void 0?void 0:t===`start`?{insetInlineStart:n}:{insetInlineEnd:n}}},Dn=Math.min(Et.value.row,U.length-1),On={row:Dn,col:U[Dn]?.group?Y:Math.min(Et.value.col,X.length-1)},kn=e=>{e&&Dt.current&&(Dt.current=!1,e.focus())},Q=(e,t)=>{if(!Tt||e===void 0)return{};let n=On.row===e&&On.col===t;return{tabIndex:n?0:-1,"data-cell":`${e},${t}`,ref:n?kn:void 0,onFocus:()=>{n||(Et.value={row:e,col:t})}}},$=Tt?{tabIndex:-1}:{},An=Math.max(1,Math.floor(fn/dn)),jn=e=>{if(Dt.current=!0,Et.value=e,G&&e.row>=0&&(e.row<G.start||e.row>=G.end)){let t=V.current;t&&(t.scrollTop=_e(e.row,{viewportHeight:fn,rowHeight:dn,count:U.length,overscan:st}))}},Mn=e=>{let t=e.target,n=t.closest(`[data-cell]`);if(!n)return;if(t!==n){e.key===`Escape`&&(e.preventDefault(),n.focus());return}if(e.key===`Enter`||e.key===`F2`){let t=n.querySelector(`button, input, select, a[href], [tabindex]`);if(!t)return;e.preventDefault(),t.focus(),n.hasAttribute(`data-editable`)&&t.click();return}let[r=-1,i=0]=(n.dataset.cell??``).split(`,`).map(Number),a=le({row:r,col:i},e.key,{rowCount:U.length,colCount:X.length,pageRows:An},e.ctrlKey||e.metaKey);a&&(e.preventDefault(),jn(U[a.row]?.group?{row:a.row,col:Y}:a))},Nn=()=>{pe(me(Ft.value.map(e=>e.row),K.map(e=>({key:e.key,header:e.header})),S),(typeof Ze==`object`?Ze.filename:void 0)??A??`export`)},Pn=e=>{let t=new Set(mt.value);t.has(e)?t.delete(e):t.add(e),mt.value=t},Fn=d(new WeakMap),In=(e,t)=>(e??[]).map((e,n)=>({row:e,id:v?v(e):`${t}-${n}`})),Ln=In(Ye?.top,`pinned-top`),Rn=In(Ye?.bottom,`pinned-bottom`),zn=e=>{let t=[];if(e.sortable&&(t.push({id:`sort-asc`,label:N.sortAscending},{id:`sort-desc`,label:N.sortDescending}),P.value?.key===e.key&&t.push({id:`sort-clear`,label:N.clearSort})),D?.reorderable){let n=K.filter(t=>J[t.key]===J[e.key]),r=n.indexOf(e);t.push({id:`move-left`,label:N.moveLeft,disabled:r===0},{id:`move-right`,label:N.moveRight,disabled:r===n.length-1})}if(D?.pinnable){let n=J[e.key];n!==`start`&&t.push({id:`pin-start`,label:N.pinStart}),n!==`end`&&t.push({id:`pin-end`,label:N.pinEnd}),n&&t.push({id:`unpin`,label:N.unpin})}return D?.visibility&&t.push({id:`hide`,label:N.hideColumn,disabled:K.length===1}),t},Bn=(e,t)=>{let n=z.current?getComputedStyle(z.current).direction===`rtl`:!1,r=t.shiftKey?64:16,i=n?`ArrowLeft`:`ArrowRight`,a=n?`ArrowRight`:`ArrowLeft`,o=q.widths?.[e.key]??(t.currentTarget.parentElement?.getBoundingClientRect().width||0);if(t.key===i)R(oe(q,e.key,o+r));else if(t.key===a)R(oe(q,e.key,o-r));else if(t.key===`Home`)R(oe(q,e.key,void 0));else return;t.preventDefault()},Vn=l(yt.value),Hn=K.some(e=>e.filter!==void 0),Un=K.length+ +!!w+ +!!T+ +!!E,Wn=(_t.value.trim()!==``||Vn>0)&&(O?!0:xe.length>0),Gn=O?O.totalItems??xe.length:It.value.length,Kn=C?Math.max(1,Math.ceil(Gn/B.value)):1,qn=Math.min(vt.value,Kn),Jn=C&&!M&&pn.length>0?Math.max(0,B.value-pn.length):0;Me(A,nt,u.map(e=>e.key).join(`,`));let Yn=`${ct}-title`,Xn=`${ct}-description`,Zn=Gn===0?0:(qn-1)*B.value+1,Qn=Gn===0?0:Zn+U.length-1,$n=!!Pe&&Pe.length>0&&F.length>0,er=n=>{let r=yt.value[n.key],c=N.filterColumn(n.header);switch(n.filter){case`text`:return b(`input`,{type:`search`,className:s.filterInput,"aria-label":c,value:r?.kind===`text`?r.value:``,onChange:e=>Wt(n.key,{kind:`text`,value:e.target.value})});case`range`:{let e=r?.kind===`range`?r.min:void 0,t=r?.kind===`range`?r.max:void 0,i=Qt(n.key),a=e=>e===``?void 0:Number(e);return x(`div`,{className:s.rangeInputs,children:[b(`input`,{type:`number`,className:s.filterInput,"aria-label":`${c}: ${N.min}`,placeholder:i?String(i.min):N.min,value:e??``,onChange:e=>{let r={kind:`range`},i=a(e.target.value);i!==void 0&&!Number.isNaN(i)&&(r.min=i),t!==void 0&&(r.max=t),Wt(n.key,r)}}),b(`input`,{type:`number`,className:s.filterInput,"aria-label":`${c}: ${N.max}`,placeholder:i?String(i.max):N.max,value:t??``,onChange:t=>{let r={kind:`range`};e!==void 0&&(r.min=e);let i=a(t.target.value);i!==void 0&&!Number.isNaN(i)&&(r.max=i),Wt(n.key,r)}})]})}case`select`:{let l=r?.kind===`select`?r.values:[],ee=Jt.value===n.key;return x(i,{placement:`bottom`,open:ee,onOpenChange:e=>{Jt.value=e?n.key:null},children:[b(o,{asChild:!0,children:b(e,{size:`sm`,variant:`secondary`,"aria-label":c,children:l.length>0?N.itemsSelected(l.length):N.all})}),b(a,{className:s.menu,children:ee&&Zt(n.key).map(e=>{let r=l.includes(e.value);return b(t,{label:`${e.value===``?`—`:e.value} (${e.count})`,checked:r,onChange:()=>Wt(n.key,{kind:`select`,values:r?l.filter(t=>t!==e.value):[...l,e.value]})},e.value)})})]})}default:return null}},tr=(e,i,a,o)=>{let c=H.has(e.id),l=sn.has(e.id);return x(ve,{children:[x(`tr`,{className:s.row,"data-parity":i%2==0?`even`:`odd`,"data-state":c?`selected`:void 0,"aria-rowindex":M&&!o?i+1:void 0,"data-pinned-row":o,style:o===`top`?{"--_pin-index":i}:void 0,children:[T&&b(`td`,{className:s.controlCell,...Z(0),...Q(a,0),children:b(`button`,{type:`button`,className:s.expandButton,"aria-expanded":l,"aria-label":N.expandRow,"data-state":l?`open`:`closed`,onClick:()=>on(e.id),...$,children:b(`span`,{className:s.chevron,"aria-hidden":`true`})})}),w&&b(`td`,{className:s.controlCell,...Z(+!!T),...Q(a,+!!T),children:b(t,{"aria-label":N.selectRow,checked:c,onChange:()=>an(e.id),...$})}),K.map((t,n)=>{let i=Ke!==void 0&&t.editable&&!t.render;return b(`td`,{"data-align":t.align??`start`,"data-sized":t.width!==void 0||q.widths?.[t.key]!==void 0||void 0,"data-editable":i||void 0,...Z(Y+n),...Q(a,Y+n),children:t.render?t.render(e.row):i?b(r,{value:String(S(e.row,t.key)??``),onValueChange:n=>Ke(e.row,t.key,n),"aria-label":N.editCell(t.header),...$}):String(S(e.row,t.key)??``)},t.key)}),E&&b(`td`,{className:s.controlCell,...Z(Y+K.length),...Q(a,Y+K.length),children:(()=>{let t=E(e.row);return t.length===0?null:b(n,{size:`sm`,ariaLabel:N.actions,items:t.map(e=>({id:e.id,label:e.label,...e.destructive!==void 0&&{destructive:e.destructive},...e.disabled!==void 0&&{disabled:e.disabled},...e.icon!==void 0&&{icon:e.icon}})),onSelect:n=>t.find(e=>e.id===n)?.onSelect(e.row),...$})})()})]}),T&&b(`tr`,{className:s.expansionRow,"data-state":l?`open`:`closed`,children:b(`td`,{colSpan:Un,children:b(`div`,{className:s.expansionGrid,"data-state":l?`open`:`closed`,children:b(`div`,{className:s.expansionInner,children:T(e.row)})})})})]},e.id)},nr=(e,t)=>{let{group:n}=e,r=Fn.current.get(e);r||(r=new Map,Fn.current.set(e,r));let i=r,a,o=t=>t.aggregate===void 0?null:(i.has(t.key)||(a??=e.leaves.map(e=>e.row),i.set(t.key,Te(t,a))),i.get(t.key));return x(`tr`,{className:s.groupRow,"data-depth":n.depth,"data-state":n.collapsed?`closed`:`open`,"aria-rowindex":M?t+1:void 0,children:[T&&b(`td`,{className:s.controlCell,...Z(0)}),w&&b(`td`,{className:s.controlCell,...Z(+!!T)}),K.map((e,r)=>b(`td`,{"data-align":r===0?`start`:e.align??`start`,...Z(Y+r),...Q(r===0?t:void 0,Y+r),children:r===0?x(`button`,{type:`button`,className:s.groupToggle,"aria-expanded":!n.collapsed,"data-state":n.collapsed?`closed`:`open`,style:{marginInlineStart:`${n.depth*1.25}rem`},onClick:()=>Pn(n.key),...$,children:[b(`span`,{className:s.chevron,"aria-hidden":`true`}),b(`span`,{children:String(n.value??``)||`—`}),x(`span`,{className:s.groupCount,children:[`(`,n.count,`)`]})]}):o(e)},e.key)),E&&b(`td`,{className:s.controlCell,...Z(Y+K.length)})]},e.id)};return x(`div`,{ref:z,className:be(s.root,it),"data-density":Qe,"data-resized":bn||void 0,"data-zebra":$e||void 0,"data-sticky-header":et||void 0,"data-paginated":C?!0:void 0,"data-fixed-layout":K.every(e=>e.width!==void 0)||void 0,children:[b(`span`,{"aria-live":`polite`,className:s.srOnly,children:F.length>0?N.itemsSelected(F.length):``}),(A!==void 0||rt!==void 0||Ne||ze!==void 0||_n||Ze!==!1||Vn>0)&&x(`div`,{className:s.toolbar,children:[(A!==void 0||rt!==void 0)&&x(`div`,{className:s.heading,children:[A!==void 0&&b(`div`,{id:Yn,className:s.title,children:A}),rt!==void 0&&b(`div`,{id:Xn,className:s.description,children:rt})]}),x(`div`,{className:s.toolbarActions,children:[Ne&&b(`input`,{type:`search`,className:s.search,"aria-label":N.search,placeholder:N.search,value:_t.value,onChange:e=>{f(()=>{_t.value=e.target.value,I(1)})}}),Vn>0&&x(e,{size:`sm`,variant:`ghost`,onClick:Gt,children:[N.clearFilters,` (`,Vn,`)`]}),Ze!==!1&&b(e,{size:`sm`,variant:`secondary`,onClick:Nn,children:N.exportCsv}),ze,_n&&x(i,{placement:`bottom`,children:[b(o,{asChild:!0,children:b(e,{size:`sm`,variant:`secondary`,children:N.columns})}),b(a,{className:s.menu,children:u.map(e=>{let n=!gn.has(e.key);return b(t,{label:e.header,checked:n,disabled:n&&K.length===1,onChange:()=>Kt(e.key)},e.key)})})]})]})]}),$n&&x(`div`,{className:s.batchBar,children:[b(`span`,{className:s.batchCount,children:N.itemsSelected(F.length)}),b(`div`,{className:s.batchActions,children:Pe.map((t,n)=>b(e,{size:`sm`,variant:`secondary`,onClick:()=>t.onClick(F),children:t.label},t.id??`${n}-${t.label}`))})]}),b(`div`,{ref:V,className:be(s.scroller,M&&s.scrollerVirtualized),children:x(`table`,{className:s.table,"aria-labelledby":A===void 0?void 0:Yn,"aria-label":A===void 0?nt:void 0,"aria-describedby":rt===void 0?void 0:Xn,"aria-busy":k||void 0,role:Tt?`grid`:void 0,"aria-rowcount":M?U.length:void 0,onKeyDown:Tt?Mn:nn,children:[x(`colgroup`,{children:[T&&b(`col`,{className:s.controlCol}),w&&b(`col`,{className:s.controlCol}),K.map(e=>{let t=q.widths?.[e.key],n=t===void 0?e.width:`${t}px`;return b(`col`,{style:n!==void 0||e.minWidth!==void 0?{...n===void 0?{}:{width:n},...e.minWidth===void 0?{}:{minWidth:e.minWidth}}:void 0},e.key)}),E&&b(`col`,{className:s.controlCol})]}),x(`thead`,{children:[Xe&&x(`tr`,{"data-group-header":!0,children:[Y>0&&b(`th`,{colSpan:Y,className:s.controlCell}),de(K.map(e=>e.key),Xe).map((e,t)=>b(`th`,{scope:`colgroup`,colSpan:e.span,className:s.groupHeader,children:e.header},t)),E&&b(`th`,{className:s.controlCell})]}),x(`tr`,{children:[T&&b(`th`,{scope:`col`,className:s.controlCell,...Z(0),...Q(-1,0),children:b(`span`,{className:s.srOnly,children:N.expandRow})}),w&&b(`th`,{scope:`col`,className:s.controlCell,...Z(+!!T),...Q(-1,+!!T),children:w.mode===`multi`?b(t,{"aria-label":N.selectAll,checked:ln,indeterminate:un&&!ln,onChange:hn,...$}):b(`span`,{className:s.srOnly,children:N.selectRow})}),K.map((e,t)=>{let r=tn(e.key),i=r?.direction,a=i===`asc`?`ascending`:i===`desc`?`descending`:`none`,o=r!==void 0&&(P.value?.thenBy?.length??0)>0,c=q.widths?.[e.key];return x(`th`,{scope:`col`,className:s.headerCell,"data-align":e.align??`start`,"data-sized":e.width!==void 0||c!==void 0||void 0,"aria-sort":e.sortable?a:void 0,...Z(Y+t),...Q(-1,Y+t),children:[x(`span`,{className:s.headerInner,children:[e.sortable?x(`button`,{type:`button`,className:s.sortButton,"data-state":a,onClick:t=>en(e.key,t.shiftKey),...$,children:[e.header,o&&b(`sup`,{className:s.sortIndex,"aria-hidden":`true`,children:r.index+1})]}):e.header,vn&&b(n,{size:`sm`,ariaLabel:N.columnMenu(e.header),items:zn(e),onSelect:t=>qt(e,t),...$})]}),yn&&b(`span`,{role:`separator`,"aria-orientation":`vertical`,"aria-label":N.resizeColumn(e.header),"aria-valuenow":c,tabIndex:Tt?-1:0,className:s.resizeHandle,"data-state":Ct.value?.key===e.key?`resizing`:void 0,onKeyDown:t=>Bn(e,t),onDoubleClick:()=>R(oe(q,e.key,void 0)),onPointerDown:t=>{t.preventDefault();let n=t.currentTarget.parentElement;Ct.value={key:e.key,startX:t.clientX,startWidth:n?n.getBoundingClientRect().width:0}}})]},e.key)}),E&&b(`th`,{scope:`col`,className:s.controlCell,...Z(Y+K.length),...Q(-1,Y+K.length),children:b(`span`,{className:s.srOnly,children:N.actions})})]}),Hn&&x(`tr`,{className:s.filterRow,children:[T&&b(`th`,{...Z(0)}),w&&b(`th`,{...Z(+!!T)}),K.map((e,t)=>b(`th`,{"data-align":e.align??`start`,...Z(Y+t),children:e.filter!==void 0&&er(e)},e.key)),E&&b(`th`,{...Z(Y+K.length)})]})]}),x(`tbody`,{children:[k&&Array.from({length:5},(e,t)=>b(`tr`,{className:s.row,children:Array.from({length:Un},(e,t)=>b(`td`,{children:b(`span`,{className:s.shimmer,"aria-hidden":`true`})},t))},t)),!k&&Ln.map((e,t)=>tr(e,t,void 0,`top`)),!k&&U.length===0&&b(`tr`,{"data-empty-row":!0,children:b(`td`,{colSpan:Un,className:s.emptyCell,children:Wn?Re??N.noResults:tt??N.empty})}),!k&&G&&G.topPad>0&&b(`tr`,{"aria-hidden":`true`,style:{height:G.topPad}}),!k&&pn.map((e,t)=>{let n=M?mn+t:t;return e.group?nr(e,n):tr(e,n,n)}),!k&&G&&G.bottomPad>0&&b(`tr`,{"aria-hidden":`true`,style:{height:G.bottomPad}}),Jn>0&&b(`tr`,{"aria-hidden":`true`,"data-filler-row":!0,children:b(`td`,{colSpan:Un,style:{blockSize:`calc(var(--_row-height) * ${Jn})`,padding:0}})}),!k&&Rn.map((e,t)=>tr(e,t,void 0,`bottom`))]}),Je&&b(`tfoot`,{className:s.totals,children:x(`tr`,{"data-totals-row":!0,children:[T&&b(`td`,{className:s.controlCell,...Z(0)}),w&&b(`td`,{className:s.controlCell,...Z(+!!T)}),K.map((e,t)=>x(`td`,{"data-align":e.align??`start`,...Z(Y+t),children:[t===0&&b(`span`,{className:e.aggregate===void 0?void 0:s.srOnly,children:N.totals}),Vt.value.get(e.key)]},e.key)),E&&b(`td`,{className:s.controlCell,...Z(Y+K.length)})]})})]})}),C&&x(`div`,{className:s.footer,children:[C.pageSizeOptions&&x(`label`,{className:s.pageSize,children:[b(`span`,{children:`Rows per page`}),b(`select`,{value:B.value,onChange:e=>{f(()=>{B.value=Number(e.target.value),I(1)})},children:C.pageSizeOptions.map(e=>b(`option`,{value:e,children:e},e))})]}),x(`span`,{className:s.range,children:[Zn,`–`,Qn,` of `,Gn]}),x(`div`,{className:s.pageButtons,children:[b(`button`,{type:`button`,className:s.pageButton,"aria-label":N.previousPage,disabled:qn<=1,onClick:()=>I(qn-1),children:b(`span`,{"aria-hidden":`true`,children:`‹`})}),b(`button`,{type:`button`,className:s.pageButton,"aria-label":N.nextPage,disabled:qn>=Kn,onClick:()=>I(qn+1),children:b(`span`,{"aria-hidden":`true`,children:`›`})})]})]})]})}export{Ne as DataTable};
@@ -1,33 +1 @@
1
- var e = {
2
- root: "_root_1bz3s_2",
3
- toolbar: "_toolbar_1bz3s_26",
4
- heading: "_heading_1bz3s_35",
5
- title: "_title_1bz3s_41",
6
- description: "_description_1bz3s_47",
7
- search: "_search_1bz3s_52",
8
- batchBar: "_batchBar_1bz3s_79",
9
- batchCount: "_batchCount_1bz3s_89",
10
- batchActions: "_batchActions_1bz3s_95",
11
- scroller: "_scroller_1bz3s_101",
12
- scrollerVirtualized: "_scrollerVirtualized_1bz3s_137",
13
- table: "_table_1bz3s_143",
14
- row: "_row_1bz3s_225",
15
- controlCol: "_controlCol_1bz3s_245",
16
- controlCell: "_controlCell_1bz3s_249",
17
- sortButton: "_sortButton_1bz3s_255",
18
- emptyCell: "_emptyCell_1bz3s_303",
19
- expansionRow: "_expansionRow_1bz3s_310",
20
- expansionGrid: "_expansionGrid_1bz3s_316",
21
- expansionInner: "_expansionInner_1bz3s_320",
22
- expandButton: "_expandButton_1bz3s_325",
23
- chevron: "_chevron_1bz3s_348",
24
- shimmer: "_shimmer_1bz3s_363",
25
- footer: "_footer_1bz3s_390",
26
- pageSize: "_pageSize_1bz3s_400",
27
- range: "_range_1bz3s_426",
28
- pageButtons: "_pageButtons_1bz3s_431",
29
- pageButton: "_pageButton_1bz3s_431",
30
- srOnly: "_srOnly_1bz3s_472"
31
- };
32
- //#endregion
33
- export { e as default };
1
+ var e={root:`_root_1tqve_2`,toolbar:`_toolbar_1tqve_26`,heading:`_heading_1tqve_35`,title:`_title_1tqve_41`,description:`_description_1tqve_47`,search:`_search_1tqve_52`,toolbarActions:`_toolbarActions_1tqve_79`,menu:`_menu_1tqve_88`,filterRow:`_filterRow_1tqve_99`,filterInput:`_filterInput_1tqve_106`,rangeInputs:`_rangeInputs_1tqve_126`,batchBar:`_batchBar_1tqve_136`,batchCount:`_batchCount_1tqve_146`,batchActions:`_batchActions_1tqve_152`,scroller:`_scroller_1tqve_158`,scrollerVirtualized:`_scrollerVirtualized_1tqve_194`,table:`_table_1tqve_200`,totals:`_totals_1tqve_306`,groupHeader:`_groupHeader_1tqve_324`,groupRow:`_groupRow_1tqve_336`,groupToggle:`_groupToggle_1tqve_345`,chevron:`_chevron_1tqve_363`,groupCount:`_groupCount_1tqve_367`,row:`_row_1tqve_409`,headerCell:`_headerCell_1tqve_429`,headerInner:`_headerInner_1tqve_433`,resizeHandle:`_resizeHandle_1tqve_442`,controlCol:`_controlCol_1tqve_500`,controlCell:`_controlCell_1tqve_504`,sortButton:`_sortButton_1tqve_510`,sortIndex:`_sortIndex_1tqve_548`,emptyCell:`_emptyCell_1tqve_566`,expansionRow:`_expansionRow_1tqve_573`,expansionGrid:`_expansionGrid_1tqve_579`,expansionInner:`_expansionInner_1tqve_583`,expandButton:`_expandButton_1tqve_588`,shimmer:`_shimmer_1tqve_626`,footer:`_footer_1tqve_647`,pageSize:`_pageSize_1tqve_657`,range:`_range_1tqve_126`,pageButtons:`_pageButtons_1tqve_688`,pageButton:`_pageButton_1tqve_688`,srOnly:`_srOnly_1tqve_744`};export{e as default};
@@ -0,0 +1 @@
1
+ function e(e,t,n,r=!1){let i=n.rowCount-1,a=n.colCount-1,o=e=>Math.max(-1,Math.min(i,e)),s=e=>Math.max(0,Math.min(a,e));switch(t){case`ArrowDown`:return{row:o(e.row+1),col:e.col};case`ArrowUp`:return{row:o(e.row-1),col:e.col};case`ArrowRight`:return{row:e.row,col:s(e.col+1)};case`ArrowLeft`:return{row:e.row,col:s(e.col-1)};case`Home`:return r?{row:o(0),col:0}:{row:e.row,col:0};case`End`:return r?{row:i,col:a}:{row:e.row,col:a};case`PageDown`:return{row:o(e.row+n.pageRows),col:e.col};case`PageUp`:return{row:o(e.row-n.pageRows),col:e.col};default:return}}export{e as moveGridFocus};
@@ -0,0 +1 @@
1
+ var e=``;function t(t,n,r,i){let a=[],o=(t,s,c)=>{let l=n[s];if(l===void 0){for(let e of t)a.push(e);return}let u=new Map;for(let e of t){let t=r(e,l),n=String(t??``),i=u.get(n);i?i.rows.push(e):u.set(n,{value:t,rows:[e]})}for(let[t,n]of u){let r=`${c}${l}=${t}`,u=i.has(r);a.push({id:`group${e}${r}`,group:{key:r,column:l,value:n.value,depth:s,count:n.rows.length,collapsed:u},leaves:n.rows}),u||o(n.rows,s+1,`${r}${e}`)}};return o(t,0,``),a}function n(e,t){if(t===`count`)return e.length;let n=0,r=0,i=1/0,a=-1/0;for(let t of e){if(t==null||t===``)continue;let e=typeof t==`number`?t:Number(t);Number.isNaN(e)||(r++,n+=e,e<i&&(i=e),e>a&&(a=e))}if(r!==0)switch(t){case`sum`:return n;case`avg`:return n/r;case`min`:return i;default:return a}}function r(e,t){let n=new Map;for(let e of t)for(let t of e.columns)n.set(t,e.header);let r=[];for(let t of e){let e=n.get(t),i=r[r.length-1];i&&i.header===e?i.span++:r.push({header:e,span:1})}return r}export{n as aggregate,t as groupItems,r as headerSpans};
@@ -0,0 +1 @@
1
+ function e(e){let t,n=``,r=[];return{filter(i,a){if(a===``)return t=i,n=``,r=i,i;let o=i===t;if(o&&a===n)return r;let s=o&&n!==``&&a.startsWith(n)?r:i,c=[];for(let t of s)e(t).includes(a)&&c.push(t);return t=i,n=a,r=c,c},prime(t,n,r){let i=Math.min(t.length,n+r);for(let r=n;r<i;r++)e(t[r]);return i}}}export{e as createRowSearch};
@@ -0,0 +1 @@
1
+ function e(e,n){let r=e.length;if(r<2||n.length===0)return[...e];let i=Array.from({length:r},(e,t)=>t),a=()=>i.map(t=>e[t]),o=new Intl.Collator().compare,s=[],c=[];for(let l of n){let u=Array.from({length:r}),d=!0;for(let t=0;t<r;t++){let n=l.keyOf(e[t]);u[t]=n,typeof n!=`number`&&(d=!1)}let f=l.direction===`desc`?-1:1,p=new Float64Array(r);if(d)for(let e=0;e<r;e++)p[e]=u[e];else{let e=Array.from({length:r});for(let t=0;t<r;t++)e[t]=String(u[t]??``);if(n.length===1&&t(e))return i.sort((t,n)=>{let r=o(e[t],e[n]);return r===0?t-n:f*r}),a();let s=new Map;for(let t=0;t<r;t++)s.set(e[t],0);let c=[...s.keys()].sort(o);for(let e=0;e<c.length;e++)s.set(c[e],e);for(let t=0;t<r;t++)p[t]=s.get(e[t])}s.push(p),c.push(f)}let l=s.length;return i.sort((e,t)=>{for(let n=0;n<l;n++){let r=s[n],i=r[e]-r[t];if(i!==0)return c[n]*i}return e-t}),a()}function t(e){let t=Math.min(e.length,2048),n=new Set;for(let r=0;r<t;r++)n.add(e[r]);return n.size>t*.9}export{e as sortRowsBy};
@@ -0,0 +1,3 @@
1
+ function e(e){let t=e==null?``:String(e);return/[",\r\n]/.test(t)?`"${t.replaceAll(`"`,`""`)}"`:t}function t(t,n,r){let i=[n.map(t=>e(t.header)).join(`,`)];for(let a of t)i.push(n.map(t=>e(r(a,t.key))).join(`,`));return i.join(`\r
2
+ `)+`\r
3
+ `}function n(e,t){let n=new Blob([``,e],{type:`text/csv;charset=utf-8`}),r=URL.createObjectURL(n),i=document.createElement(`a`);i.href=r,i.download=t.endsWith(`.csv`)?t:`${t}.csv`,i.click(),URL.revokeObjectURL(r)}export{n as downloadCsv,t as toCsv};
@@ -0,0 +1 @@
1
+ function e(e){let{viewportHeight:t,rowHeight:n,count:r,overscan:i}=e,a=e.maxCanvas??12e6,o=r*n,s=Math.min(o,a);if(r===0)return{start:0,end:0,topPad:0,bottomPad:0,canvasHeight:0,scale:1};let c=Math.max(0,s-t),l=Math.max(0,Math.min(e.scrollTop,c)),u=c>0?Math.max(0,o-t)/c:1,d=l*u,f=Math.min(r-1,Math.floor(d/n)),p=Math.ceil(t/n)+1,m=Math.max(0,f-i),h=Math.min(r,f+p+i),g=d-f*n,_=Math.max(0,l-g-(f-m)*n);return{start:m,end:h,topPad:_,bottomPad:Math.max(0,s-_-(h-m)*n),canvasHeight:s,scale:u}}function t(e,t){let{viewportHeight:n,rowHeight:r,count:i}=t,a=t.maxCanvas??12e6,o=i*r,s=Math.max(0,Math.min(o,a)-n);if(s===0)return 0;let c=Math.max(0,o-n)/s,l=Math.max(0,e*r-(n-r)/2);return Math.max(0,Math.min(s,Math.round(l/c)))}export{e as computeWindow,t as scrollTopForRow};