@coveord/plasma-mantine 53.1.4 → 54.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (394) hide show
  1. package/.eslintrc.js +1 -5
  2. package/.turbo/turbo-build.log +3 -3
  3. package/.turbo/turbo-test.log +42 -37
  4. package/dist/.tsbuildinfo +1 -1
  5. package/dist/cjs/components/button/Button.d.ts +1 -2
  6. package/dist/cjs/components/button/Button.d.ts.map +1 -1
  7. package/dist/cjs/components/button/Button.js.map +1 -1
  8. package/dist/cjs/components/code-editor/CodeEditor.d.ts.map +1 -1
  9. package/dist/cjs/components/code-editor/CodeEditor.js +2 -4
  10. package/dist/cjs/components/code-editor/CodeEditor.js.map +1 -1
  11. package/dist/cjs/components/collection/Collection.d.ts.map +1 -1
  12. package/dist/cjs/components/collection/CollectionContext.d.ts +1 -1
  13. package/dist/cjs/components/collection/CollectionContext.d.ts.map +1 -1
  14. package/dist/cjs/components/collection/enhanceWithCollectionProps.d.ts +1 -6
  15. package/dist/cjs/components/collection/enhanceWithCollectionProps.d.ts.map +1 -1
  16. package/dist/cjs/components/date-range-picker/DateRangePickerPopoverCalendar.d.ts.map +1 -1
  17. package/dist/cjs/components/date-range-picker/DateRangePickerPresetSelect.d.ts.map +1 -1
  18. package/dist/cjs/components/header/Header.context.d.ts +1 -1
  19. package/dist/cjs/components/header/Header.context.d.ts.map +1 -1
  20. package/dist/cjs/components/header/__tests__/__snapshots__/Header.spec.tsx.snap +10 -15
  21. package/dist/cjs/components/inline-confirm/InlineConfirm.d.ts +10 -2
  22. package/dist/cjs/components/inline-confirm/InlineConfirm.d.ts.map +1 -1
  23. package/dist/cjs/components/inline-confirm/InlineConfirm.js +2 -1
  24. package/dist/cjs/components/inline-confirm/InlineConfirm.js.map +1 -1
  25. package/dist/cjs/components/inline-confirm/InlineConfirmContext.d.ts +1 -1
  26. package/dist/cjs/components/inline-confirm/InlineConfirmContext.d.ts.map +1 -1
  27. package/dist/cjs/components/inline-confirm/InlineConfirmPrompt.d.ts +2 -5
  28. package/dist/cjs/components/inline-confirm/InlineConfirmPrompt.d.ts.map +1 -1
  29. package/dist/cjs/components/inline-confirm/InlineConfirmPrompt.js +5 -5
  30. package/dist/cjs/components/inline-confirm/InlineConfirmPrompt.js.map +1 -1
  31. package/dist/cjs/components/inline-confirm/InlineConfirmTarget.d.ts +2 -2
  32. package/dist/cjs/components/inline-confirm/InlineConfirmTarget.d.ts.map +1 -1
  33. package/dist/cjs/components/inline-confirm/InlineConfirmTarget.js +3 -3
  34. package/dist/cjs/components/inline-confirm/InlineConfirmTarget.js.map +1 -1
  35. package/dist/cjs/components/menu/Menu.d.ts +1 -1
  36. package/dist/cjs/components/table/Table.d.ts +68 -55
  37. package/dist/cjs/components/table/Table.d.ts.map +1 -1
  38. package/dist/cjs/components/table/Table.js +129 -174
  39. package/dist/cjs/components/table/Table.js.map +1 -1
  40. package/dist/cjs/components/table/Table.module.css +8 -1
  41. package/dist/cjs/components/table/Table.types.d.ts +52 -147
  42. package/dist/cjs/components/table/Table.types.d.ts.map +1 -1
  43. package/dist/cjs/components/table/TableContext.d.ts +15 -10
  44. package/dist/cjs/components/table/TableContext.d.ts.map +1 -1
  45. package/dist/cjs/components/table/TableContext.js +5 -20
  46. package/dist/cjs/components/table/TableContext.js.map +1 -1
  47. package/dist/cjs/components/table/index.d.ts +3 -3
  48. package/dist/cjs/components/table/index.d.ts.map +1 -1
  49. package/dist/cjs/components/table/index.js +5 -1
  50. package/dist/cjs/components/table/index.js.map +1 -1
  51. package/dist/cjs/components/table/layouts/TableLayoutControl.js +6 -6
  52. package/dist/cjs/components/table/layouts/TableLayoutControl.js.map +1 -1
  53. package/dist/cjs/components/table/layouts/TableLayouts.d.ts +1 -22
  54. package/dist/cjs/components/table/layouts/TableLayouts.d.ts.map +1 -1
  55. package/dist/cjs/components/table/layouts/TableLayouts.js.map +1 -1
  56. package/dist/cjs/components/table/layouts/row-layout/RowLayout.d.ts +1 -2
  57. package/dist/cjs/components/table/layouts/row-layout/RowLayout.d.ts.map +1 -1
  58. package/dist/cjs/components/table/layouts/row-layout/RowLayout.js.map +1 -1
  59. package/dist/cjs/components/table/layouts/row-layout/RowLayoutBody.d.ts +2 -3
  60. package/dist/cjs/components/table/layouts/row-layout/RowLayoutBody.d.ts.map +1 -1
  61. package/dist/cjs/components/table/layouts/row-layout/RowLayoutBody.js +17 -18
  62. package/dist/cjs/components/table/layouts/row-layout/RowLayoutBody.js.map +1 -1
  63. package/dist/cjs/components/table/layouts/row-layout/RowLayoutContext.d.ts +1 -1
  64. package/dist/cjs/components/table/layouts/row-layout/RowLayoutContext.d.ts.map +1 -1
  65. package/dist/cjs/components/table/layouts/row-layout/RowLayoutHeader.d.ts +2 -3
  66. package/dist/cjs/components/table/layouts/row-layout/RowLayoutHeader.d.ts.map +1 -1
  67. package/dist/cjs/components/table/layouts/row-layout/RowLayoutHeader.js +9 -8
  68. package/dist/cjs/components/table/layouts/row-layout/RowLayoutHeader.js.map +1 -1
  69. package/dist/cjs/components/table/layouts/row-layout/RowLayoutIcon.d.ts +1 -5
  70. package/dist/cjs/components/table/layouts/row-layout/RowLayoutIcon.d.ts.map +1 -1
  71. package/dist/cjs/components/table/layouts/row-layout/RowLayoutIcon.js +3 -9
  72. package/dist/cjs/components/table/layouts/row-layout/RowLayoutIcon.js.map +1 -1
  73. package/dist/cjs/components/table/table-actions/TableActionContext.d.ts +9 -0
  74. package/dist/cjs/components/table/table-actions/TableActionContext.d.ts.map +1 -0
  75. package/dist/cjs/components/table/table-actions/TableActionContext.js +24 -0
  76. package/dist/cjs/components/table/table-actions/TableActionContext.js.map +1 -0
  77. package/dist/cjs/components/table/table-actions/TableActionItem.d.ts +44 -0
  78. package/dist/cjs/components/table/table-actions/TableActionItem.d.ts.map +1 -0
  79. package/dist/cjs/components/table/table-actions/TableActionItem.js +59 -0
  80. package/dist/cjs/components/table/table-actions/TableActionItem.js.map +1 -0
  81. package/dist/cjs/components/table/table-actions/TableActionsList.d.ts +37 -0
  82. package/dist/cjs/components/table/table-actions/TableActionsList.d.ts.map +1 -0
  83. package/dist/cjs/components/table/table-actions/TableActionsList.js +217 -0
  84. package/dist/cjs/components/table/table-actions/TableActionsList.js.map +1 -0
  85. package/dist/cjs/components/table/table-actions/TableHeaderActions.d.ts +11 -0
  86. package/dist/cjs/components/table/table-actions/TableHeaderActions.d.ts.map +1 -0
  87. package/dist/cjs/components/table/table-actions/TableHeaderActions.js +59 -0
  88. package/dist/cjs/components/table/table-actions/TableHeaderActions.js.map +1 -0
  89. package/dist/cjs/components/table/table-actions/index.d.ts +3 -0
  90. package/dist/cjs/components/table/table-actions/index.d.ts.map +1 -0
  91. package/dist/cjs/components/table/table-actions/index.js +9 -0
  92. package/dist/cjs/components/table/table-actions/index.js.map +1 -0
  93. package/dist/cjs/components/table/table-column/TableActionsColumn.d.ts +6 -0
  94. package/dist/cjs/components/table/table-column/TableActionsColumn.d.ts.map +1 -0
  95. package/dist/cjs/components/table/table-column/TableActionsColumn.js +53 -0
  96. package/dist/cjs/components/table/table-column/TableActionsColumn.js.map +1 -0
  97. package/dist/cjs/components/table/table-column/TableCollapsibleColumn.d.ts.map +1 -1
  98. package/dist/cjs/components/table/table-column/TableCollapsibleColumn.js +6 -2
  99. package/dist/cjs/components/table/table-column/TableCollapsibleColumn.js.map +1 -1
  100. package/dist/cjs/components/table/table-column/TableSelectableColumn.d.ts.map +1 -1
  101. package/dist/cjs/components/table/table-column/TableSelectableColumn.js +4 -0
  102. package/dist/cjs/components/table/table-column/TableSelectableColumn.js.map +1 -1
  103. package/dist/cjs/components/table/table-columns-selector/TableColumnsSelector.d.ts +7 -12
  104. package/dist/cjs/components/table/table-columns-selector/TableColumnsSelector.d.ts.map +1 -1
  105. package/dist/cjs/components/table/table-columns-selector/TableColumnsSelector.js +24 -20
  106. package/dist/cjs/components/table/table-columns-selector/TableColumnsSelector.js.map +1 -1
  107. package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.d.ts +1 -2
  108. package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.d.ts.map +1 -1
  109. package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.js +7 -7
  110. package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.js.map +1 -1
  111. package/dist/cjs/components/table/table-filter/TableFilter.d.ts +1 -2
  112. package/dist/cjs/components/table/table-filter/TableFilter.d.ts.map +1 -1
  113. package/dist/cjs/components/table/table-filter/TableFilter.js +11 -16
  114. package/dist/cjs/components/table/table-filter/TableFilter.js.map +1 -1
  115. package/dist/cjs/components/table/table-header/TableHeader.d.ts +7 -2
  116. package/dist/cjs/components/table/table-header/TableHeader.d.ts.map +1 -1
  117. package/dist/cjs/components/table/table-header/TableHeader.js +15 -12
  118. package/dist/cjs/components/table/table-header/TableHeader.js.map +1 -1
  119. package/dist/cjs/components/table/table-header/Th.d.ts +1 -2
  120. package/dist/cjs/components/table/table-header/Th.d.ts.map +1 -1
  121. package/dist/cjs/components/table/table-header/Th.js +7 -3
  122. package/dist/cjs/components/table/table-header/Th.js.map +1 -1
  123. package/dist/cjs/components/table/table-last-updated/TableLastUpdated.d.ts +1 -3
  124. package/dist/cjs/components/table/table-last-updated/TableLastUpdated.d.ts.map +1 -1
  125. package/dist/cjs/components/table/table-last-updated/TableLastUpdated.js +6 -9
  126. package/dist/cjs/components/table/table-last-updated/TableLastUpdated.js.map +1 -1
  127. package/dist/cjs/components/table/table-no-data/TableNoData.d.ts +6 -0
  128. package/dist/cjs/components/table/table-no-data/TableNoData.d.ts.map +1 -0
  129. package/dist/cjs/components/table/{table-consumer/TableConsumer.js → table-no-data/TableNoData.js} +4 -4
  130. package/dist/cjs/components/table/table-no-data/TableNoData.js.map +1 -0
  131. package/dist/cjs/components/table/table-pagination/TablePagination.d.ts.map +1 -1
  132. package/dist/cjs/components/table/table-pagination/TablePagination.js +9 -11
  133. package/dist/cjs/components/table/table-pagination/TablePagination.js.map +1 -1
  134. package/dist/cjs/components/table/table-pagination/TablePagination.types.d.ts +0 -4
  135. package/dist/cjs/components/table/table-pagination/TablePagination.types.d.ts.map +1 -1
  136. package/dist/cjs/components/table/table-per-page/TablePerPage.d.ts.map +1 -1
  137. package/dist/cjs/components/table/table-per-page/TablePerPage.js +16 -16
  138. package/dist/cjs/components/table/table-per-page/TablePerPage.js.map +1 -1
  139. package/dist/cjs/components/table/table-predicate/TablePredicate.d.ts +1 -2
  140. package/dist/cjs/components/table/table-predicate/TablePredicate.d.ts.map +1 -1
  141. package/dist/cjs/components/table/table-predicate/TablePredicate.js +12 -14
  142. package/dist/cjs/components/table/table-predicate/TablePredicate.js.map +1 -1
  143. package/dist/cjs/components/table/use-table.d.ts +182 -0
  144. package/dist/cjs/components/table/use-table.d.ts.map +1 -0
  145. package/dist/cjs/components/table/use-table.js +145 -0
  146. package/dist/cjs/components/table/use-table.js.map +1 -0
  147. package/dist/cjs/hooks/useControlledList.d.ts.map +1 -1
  148. package/dist/cjs/index.d.ts +11 -1
  149. package/dist/cjs/index.d.ts.map +1 -1
  150. package/dist/cjs/index.js.map +1 -1
  151. package/dist/cjs/theme/Theme.d.ts.map +1 -1
  152. package/dist/cjs/theme/Theme.js +0 -7
  153. package/dist/cjs/theme/Theme.js.map +1 -1
  154. package/dist/cjs/utils/createFactoryComponent.d.ts.map +1 -1
  155. package/dist/cjs/utils/overrideComponent.d.ts.map +1 -1
  156. package/dist/esm/components/button/Button.d.ts +1 -2
  157. package/dist/esm/components/button/Button.d.ts.map +1 -1
  158. package/dist/esm/components/button/Button.js.map +1 -1
  159. package/dist/esm/components/code-editor/CodeEditor.d.ts.map +1 -1
  160. package/dist/esm/components/code-editor/CodeEditor.js +2 -4
  161. package/dist/esm/components/code-editor/CodeEditor.js.map +1 -1
  162. package/dist/esm/components/collection/Collection.d.ts.map +1 -1
  163. package/dist/esm/components/collection/CollectionContext.d.ts +1 -1
  164. package/dist/esm/components/collection/CollectionContext.d.ts.map +1 -1
  165. package/dist/esm/components/collection/enhanceWithCollectionProps.d.ts +1 -6
  166. package/dist/esm/components/collection/enhanceWithCollectionProps.d.ts.map +1 -1
  167. package/dist/esm/components/date-range-picker/DateRangePickerPopoverCalendar.d.ts.map +1 -1
  168. package/dist/esm/components/date-range-picker/DateRangePickerPresetSelect.d.ts.map +1 -1
  169. package/dist/esm/components/header/Header.context.d.ts +1 -1
  170. package/dist/esm/components/header/Header.context.d.ts.map +1 -1
  171. package/dist/esm/components/header/__tests__/__snapshots__/Header.spec.tsx.snap +10 -15
  172. package/dist/esm/components/inline-confirm/InlineConfirm.d.ts +10 -2
  173. package/dist/esm/components/inline-confirm/InlineConfirm.d.ts.map +1 -1
  174. package/dist/esm/components/inline-confirm/InlineConfirm.js +1 -1
  175. package/dist/esm/components/inline-confirm/InlineConfirm.js.map +1 -1
  176. package/dist/esm/components/inline-confirm/InlineConfirmContext.d.ts +1 -1
  177. package/dist/esm/components/inline-confirm/InlineConfirmContext.d.ts.map +1 -1
  178. package/dist/esm/components/inline-confirm/InlineConfirmPrompt.d.ts +2 -5
  179. package/dist/esm/components/inline-confirm/InlineConfirmPrompt.d.ts.map +1 -1
  180. package/dist/esm/components/inline-confirm/InlineConfirmPrompt.js +4 -4
  181. package/dist/esm/components/inline-confirm/InlineConfirmPrompt.js.map +1 -1
  182. package/dist/esm/components/inline-confirm/InlineConfirmTarget.d.ts +2 -2
  183. package/dist/esm/components/inline-confirm/InlineConfirmTarget.d.ts.map +1 -1
  184. package/dist/esm/components/inline-confirm/InlineConfirmTarget.js +2 -2
  185. package/dist/esm/components/inline-confirm/InlineConfirmTarget.js.map +1 -1
  186. package/dist/esm/components/menu/Menu.d.ts +1 -1
  187. package/dist/esm/components/table/Table.d.ts +68 -55
  188. package/dist/esm/components/table/Table.d.ts.map +1 -1
  189. package/dist/esm/components/table/Table.js +122 -157
  190. package/dist/esm/components/table/Table.js.map +1 -1
  191. package/dist/esm/components/table/Table.module.css +8 -1
  192. package/dist/esm/components/table/Table.types.d.ts +52 -147
  193. package/dist/esm/components/table/Table.types.d.ts.map +1 -1
  194. package/dist/esm/components/table/Table.types.js.map +1 -1
  195. package/dist/esm/components/table/TableContext.d.ts +15 -10
  196. package/dist/esm/components/table/TableContext.d.ts.map +1 -1
  197. package/dist/esm/components/table/TableContext.js +1 -10
  198. package/dist/esm/components/table/TableContext.js.map +1 -1
  199. package/dist/esm/components/table/index.d.ts +3 -3
  200. package/dist/esm/components/table/index.d.ts.map +1 -1
  201. package/dist/esm/components/table/index.js +2 -1
  202. package/dist/esm/components/table/index.js.map +1 -1
  203. package/dist/esm/components/table/layouts/TableLayoutControl.js +4 -4
  204. package/dist/esm/components/table/layouts/TableLayoutControl.js.map +1 -1
  205. package/dist/esm/components/table/layouts/TableLayouts.d.ts +1 -22
  206. package/dist/esm/components/table/layouts/TableLayouts.d.ts.map +1 -1
  207. package/dist/esm/components/table/layouts/TableLayouts.js.map +1 -1
  208. package/dist/esm/components/table/layouts/row-layout/RowLayout.d.ts +1 -2
  209. package/dist/esm/components/table/layouts/row-layout/RowLayout.d.ts.map +1 -1
  210. package/dist/esm/components/table/layouts/row-layout/RowLayout.js.map +1 -1
  211. package/dist/esm/components/table/layouts/row-layout/RowLayoutBody.d.ts +2 -3
  212. package/dist/esm/components/table/layouts/row-layout/RowLayoutBody.d.ts.map +1 -1
  213. package/dist/esm/components/table/layouts/row-layout/RowLayoutBody.js +13 -11
  214. package/dist/esm/components/table/layouts/row-layout/RowLayoutBody.js.map +1 -1
  215. package/dist/esm/components/table/layouts/row-layout/RowLayoutContext.d.ts +1 -1
  216. package/dist/esm/components/table/layouts/row-layout/RowLayoutContext.d.ts.map +1 -1
  217. package/dist/esm/components/table/layouts/row-layout/RowLayoutHeader.d.ts +2 -3
  218. package/dist/esm/components/table/layouts/row-layout/RowLayoutHeader.d.ts.map +1 -1
  219. package/dist/esm/components/table/layouts/row-layout/RowLayoutHeader.js +5 -5
  220. package/dist/esm/components/table/layouts/row-layout/RowLayoutHeader.js.map +1 -1
  221. package/dist/esm/components/table/layouts/row-layout/RowLayoutIcon.d.ts +1 -5
  222. package/dist/esm/components/table/layouts/row-layout/RowLayoutIcon.d.ts.map +1 -1
  223. package/dist/esm/components/table/layouts/row-layout/RowLayoutIcon.js +2 -8
  224. package/dist/esm/components/table/layouts/row-layout/RowLayoutIcon.js.map +1 -1
  225. package/dist/esm/components/table/table-actions/TableActionContext.d.ts +9 -0
  226. package/dist/esm/components/table/table-actions/TableActionContext.d.ts.map +1 -0
  227. package/dist/esm/components/table/table-actions/TableActionContext.js +4 -0
  228. package/dist/esm/components/table/table-actions/TableActionContext.js.map +1 -0
  229. package/dist/esm/components/table/table-actions/TableActionItem.d.ts +44 -0
  230. package/dist/esm/components/table/table-actions/TableActionItem.d.ts.map +1 -0
  231. package/dist/esm/components/table/table-actions/TableActionItem.js +40 -0
  232. package/dist/esm/components/table/table-actions/TableActionItem.js.map +1 -0
  233. package/dist/esm/components/table/table-actions/TableActionsList.d.ts +37 -0
  234. package/dist/esm/components/table/table-actions/TableActionsList.d.ts.map +1 -0
  235. package/dist/esm/components/table/table-actions/TableActionsList.js +187 -0
  236. package/dist/esm/components/table/table-actions/TableActionsList.js.map +1 -0
  237. package/dist/esm/components/table/table-actions/TableHeaderActions.d.ts +11 -0
  238. package/dist/esm/components/table/table-actions/TableHeaderActions.d.ts.map +1 -0
  239. package/dist/esm/components/table/table-actions/TableHeaderActions.js +43 -0
  240. package/dist/esm/components/table/table-actions/TableHeaderActions.js.map +1 -0
  241. package/dist/esm/components/table/table-actions/index.d.ts +3 -0
  242. package/dist/esm/components/table/table-actions/index.d.ts.map +1 -0
  243. package/dist/esm/components/table/table-actions/index.js +4 -0
  244. package/dist/esm/components/table/table-actions/index.js.map +1 -0
  245. package/dist/esm/components/table/table-column/TableActionsColumn.d.ts +6 -0
  246. package/dist/esm/components/table/table-column/TableActionsColumn.d.ts.map +1 -0
  247. package/dist/esm/components/table/table-column/TableActionsColumn.js +40 -0
  248. package/dist/esm/components/table/table-column/TableActionsColumn.js.map +1 -0
  249. package/dist/esm/components/table/table-column/TableCollapsibleColumn.d.ts.map +1 -1
  250. package/dist/esm/components/table/table-column/TableCollapsibleColumn.js +7 -3
  251. package/dist/esm/components/table/table-column/TableCollapsibleColumn.js.map +1 -1
  252. package/dist/esm/components/table/table-column/TableSelectableColumn.d.ts.map +1 -1
  253. package/dist/esm/components/table/table-column/TableSelectableColumn.js +4 -0
  254. package/dist/esm/components/table/table-column/TableSelectableColumn.js.map +1 -1
  255. package/dist/esm/components/table/table-columns-selector/TableColumnsSelector.d.ts +7 -12
  256. package/dist/esm/components/table/table-columns-selector/TableColumnsSelector.d.ts.map +1 -1
  257. package/dist/esm/components/table/table-columns-selector/TableColumnsSelector.js +22 -20
  258. package/dist/esm/components/table/table-columns-selector/TableColumnsSelector.js.map +1 -1
  259. package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.d.ts +1 -2
  260. package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.d.ts.map +1 -1
  261. package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.js +8 -8
  262. package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.js.map +1 -1
  263. package/dist/esm/components/table/table-filter/TableFilter.d.ts +1 -2
  264. package/dist/esm/components/table/table-filter/TableFilter.d.ts.map +1 -1
  265. package/dist/esm/components/table/table-filter/TableFilter.js +14 -18
  266. package/dist/esm/components/table/table-filter/TableFilter.js.map +1 -1
  267. package/dist/esm/components/table/table-header/TableHeader.d.ts +7 -2
  268. package/dist/esm/components/table/table-header/TableHeader.d.ts.map +1 -1
  269. package/dist/esm/components/table/table-header/TableHeader.js +15 -13
  270. package/dist/esm/components/table/table-header/TableHeader.js.map +1 -1
  271. package/dist/esm/components/table/table-header/Th.d.ts +1 -2
  272. package/dist/esm/components/table/table-header/Th.d.ts.map +1 -1
  273. package/dist/esm/components/table/table-header/Th.js +8 -4
  274. package/dist/esm/components/table/table-header/Th.js.map +1 -1
  275. package/dist/esm/components/table/table-last-updated/TableLastUpdated.d.ts +1 -3
  276. package/dist/esm/components/table/table-last-updated/TableLastUpdated.d.ts.map +1 -1
  277. package/dist/esm/components/table/table-last-updated/TableLastUpdated.js +6 -8
  278. package/dist/esm/components/table/table-last-updated/TableLastUpdated.js.map +1 -1
  279. package/dist/esm/components/table/table-no-data/TableNoData.d.ts +6 -0
  280. package/dist/esm/components/table/table-no-data/TableNoData.d.ts.map +1 -0
  281. package/dist/esm/components/table/table-no-data/TableNoData.js +6 -0
  282. package/dist/esm/components/table/table-no-data/TableNoData.js.map +1 -0
  283. package/dist/esm/components/table/table-pagination/TablePagination.d.ts.map +1 -1
  284. package/dist/esm/components/table/table-pagination/TablePagination.js +10 -13
  285. package/dist/esm/components/table/table-pagination/TablePagination.js.map +1 -1
  286. package/dist/esm/components/table/table-pagination/TablePagination.types.d.ts +0 -4
  287. package/dist/esm/components/table/table-pagination/TablePagination.types.d.ts.map +1 -1
  288. package/dist/esm/components/table/table-pagination/TablePagination.types.js.map +1 -1
  289. package/dist/esm/components/table/table-per-page/TablePerPage.d.ts.map +1 -1
  290. package/dist/esm/components/table/table-per-page/TablePerPage.js +13 -12
  291. package/dist/esm/components/table/table-per-page/TablePerPage.js.map +1 -1
  292. package/dist/esm/components/table/table-predicate/TablePredicate.d.ts +1 -2
  293. package/dist/esm/components/table/table-predicate/TablePredicate.d.ts.map +1 -1
  294. package/dist/esm/components/table/table-predicate/TablePredicate.js +14 -18
  295. package/dist/esm/components/table/table-predicate/TablePredicate.js.map +1 -1
  296. package/dist/esm/components/table/use-table.d.ts +182 -0
  297. package/dist/esm/components/table/use-table.d.ts.map +1 -0
  298. package/dist/esm/components/table/use-table.js +122 -0
  299. package/dist/esm/components/table/use-table.js.map +1 -0
  300. package/dist/esm/hooks/useControlledList.d.ts.map +1 -1
  301. package/dist/esm/index.d.ts +11 -1
  302. package/dist/esm/index.d.ts.map +1 -1
  303. package/dist/esm/index.js.map +1 -1
  304. package/dist/esm/theme/Theme.d.ts.map +1 -1
  305. package/dist/esm/theme/Theme.js +1 -8
  306. package/dist/esm/theme/Theme.js.map +1 -1
  307. package/dist/esm/utils/createFactoryComponent.d.ts.map +1 -1
  308. package/dist/esm/utils/overrideComponent.d.ts.map +1 -1
  309. package/package.json +61 -46
  310. package/src/__tests__/Utils.tsx +3 -1
  311. package/src/components/button/Button.tsx +3 -1
  312. package/src/components/button/__tests__/ButtonWithDisabledTooltip.spec.tsx +1 -1
  313. package/src/components/code-editor/CodeEditor.tsx +1 -7
  314. package/src/components/date-range-picker/__tests__/DateRangePickerPopoverCalendar.spec.tsx +4 -4
  315. package/src/components/header/__tests__/Header.spec.tsx +21 -22
  316. package/src/components/header/__tests__/__snapshots__/Header.spec.tsx.snap +10 -15
  317. package/src/components/inline-confirm/InlineConfirm.tsx +12 -4
  318. package/src/components/inline-confirm/InlineConfirmPrompt.tsx +6 -9
  319. package/src/components/inline-confirm/InlineConfirmTarget.tsx +9 -4
  320. package/src/components/inline-confirm/__tests__/InlineConfirm.spec.tsx +39 -14
  321. package/src/components/table/Table.module.css +8 -1
  322. package/src/components/table/Table.tsx +148 -170
  323. package/src/components/table/Table.types.ts +57 -160
  324. package/src/components/table/TableContext.tsx +17 -16
  325. package/src/components/table/__tests__/Table.spec.tsx +176 -200
  326. package/src/components/table/__tests__/TableActions.spec.tsx +142 -31
  327. package/src/components/table/__tests__/TableCollapsibleColumn.spec.tsx +88 -0
  328. package/src/components/table/__tests__/TableColumnsSelector.spec.tsx +164 -123
  329. package/src/components/table/__tests__/TableDateRangePicker.spec.tsx +13 -17
  330. package/src/components/table/__tests__/TableFilter.spec.tsx +52 -96
  331. package/src/components/table/__tests__/TableLastUpdated.spec.tsx +18 -37
  332. package/src/components/table/__tests__/TablePagination.spec.tsx +84 -100
  333. package/src/components/table/__tests__/TablePerPage.spec.tsx +81 -104
  334. package/src/components/table/__tests__/TablePredicate.spec.tsx +26 -80
  335. package/src/components/table/__tests__/Th.spec.tsx +24 -19
  336. package/src/components/table/index.ts +3 -9
  337. package/src/components/table/layouts/TableLayoutControl.tsx +4 -4
  338. package/src/components/table/layouts/TableLayouts.tsx +0 -22
  339. package/src/components/table/layouts/__tests__/RowLayout.spec.tsx +210 -182
  340. package/src/components/table/layouts/row-layout/RowLayout.tsx +2 -2
  341. package/src/components/table/layouts/row-layout/RowLayoutBody.tsx +17 -17
  342. package/src/components/table/layouts/row-layout/RowLayoutHeader.tsx +18 -9
  343. package/src/components/table/layouts/row-layout/RowLayoutIcon.tsx +3 -8
  344. package/src/components/table/table-actions/TableActionContext.ts +9 -0
  345. package/src/components/table/table-actions/TableActionItem.tsx +80 -0
  346. package/src/components/table/table-actions/TableActionsList.tsx +209 -0
  347. package/src/components/table/table-actions/TableHeaderActions.tsx +56 -0
  348. package/src/components/table/table-actions/index.ts +2 -0
  349. package/src/components/table/table-column/TableActionsColumn.tsx +39 -0
  350. package/src/components/table/table-column/TableCollapsibleColumn.tsx +7 -3
  351. package/src/components/table/table-column/TableSelectableColumn.tsx +4 -0
  352. package/src/components/table/table-columns-selector/TableColumnsSelector.tsx +33 -28
  353. package/src/components/table/table-date-range-picker/TableDateRangePicker.tsx +9 -11
  354. package/src/components/table/table-filter/TableFilter.tsx +12 -18
  355. package/src/components/table/table-header/TableHeader.tsx +32 -15
  356. package/src/components/table/table-header/Th.tsx +8 -7
  357. package/src/components/table/table-last-updated/TableLastUpdated.tsx +7 -10
  358. package/src/components/table/table-no-data/TableNoData.tsx +7 -0
  359. package/src/components/table/table-pagination/TablePagination.tsx +8 -11
  360. package/src/components/table/table-pagination/TablePagination.types.ts +0 -4
  361. package/src/components/table/table-per-page/TablePerPage.tsx +8 -10
  362. package/src/components/table/table-predicate/TablePredicate.tsx +21 -17
  363. package/src/components/table/use-table.ts +323 -0
  364. package/src/index.ts +11 -1
  365. package/src/theme/Theme.tsx +0 -6
  366. package/dist/cjs/components/table/table-actions/TableActions.d.ts +0 -38
  367. package/dist/cjs/components/table/table-actions/TableActions.d.ts.map +0 -1
  368. package/dist/cjs/components/table/table-actions/TableActions.js +0 -47
  369. package/dist/cjs/components/table/table-actions/TableActions.js.map +0 -1
  370. package/dist/cjs/components/table/table-consumer/TableConsumer.d.ts +0 -5
  371. package/dist/cjs/components/table/table-consumer/TableConsumer.d.ts.map +0 -1
  372. package/dist/cjs/components/table/table-consumer/TableConsumer.js.map +0 -1
  373. package/dist/cjs/hooks/useRowSelection.d.ts +0 -10
  374. package/dist/cjs/hooks/useRowSelection.d.ts.map +0 -1
  375. package/dist/cjs/hooks/useRowSelection.js +0 -80
  376. package/dist/cjs/hooks/useRowSelection.js.map +0 -1
  377. package/dist/cjs/styles/Title.module.css +0 -5
  378. package/dist/esm/components/table/table-actions/TableActions.d.ts +0 -38
  379. package/dist/esm/components/table/table-actions/TableActions.d.ts.map +0 -1
  380. package/dist/esm/components/table/table-actions/TableActions.js +0 -29
  381. package/dist/esm/components/table/table-actions/TableActions.js.map +0 -1
  382. package/dist/esm/components/table/table-consumer/TableConsumer.d.ts +0 -5
  383. package/dist/esm/components/table/table-consumer/TableConsumer.d.ts.map +0 -1
  384. package/dist/esm/components/table/table-consumer/TableConsumer.js +0 -6
  385. package/dist/esm/components/table/table-consumer/TableConsumer.js.map +0 -1
  386. package/dist/esm/hooks/useRowSelection.d.ts +0 -10
  387. package/dist/esm/hooks/useRowSelection.d.ts.map +0 -1
  388. package/dist/esm/hooks/useRowSelection.js +0 -59
  389. package/dist/esm/hooks/useRowSelection.js.map +0 -1
  390. package/dist/esm/styles/Title.module.css +0 -5
  391. package/src/components/table/table-actions/TableActions.tsx +0 -67
  392. package/src/components/table/table-consumer/TableConsumer.tsx +0 -3
  393. package/src/hooks/useRowSelection.ts +0 -76
  394. package/src/styles/Title.module.css +0 -5
@@ -0,0 +1,323 @@
1
+ import {useDidUpdate} from '@mantine/hooks';
2
+ import {type PaginationState, type SortingState, type ExpandedState} from '@tanstack/table-core';
3
+ import defaultsDeep from 'lodash.defaultsdeep';
4
+ import {useCallback, useMemo, useState} from 'react';
5
+ import {type DateRangePickerValue} from '../date-range-picker';
6
+
7
+ // Create a deeply optional version of another type
8
+ type PartialDeep<T> = T extends object
9
+ ? {
10
+ [P in keyof T]?: PartialDeep<T[P]>;
11
+ }
12
+ : T;
13
+
14
+ export interface TableState<TData = unknown> {
15
+ /**
16
+ * Current pagination state
17
+ *
18
+ * @default { pageIndex: 0, pageSize: 50 }
19
+ */
20
+ pagination: PaginationState;
21
+ /**
22
+ * Total number of entries in the table.
23
+ * This number is used to calculate the number of pages in the pagination.
24
+ * When null, the number of pages is calculated using the current data length.
25
+ *
26
+ * @default null
27
+ */
28
+ totalEntries: number | null;
29
+ /**
30
+ * Current sorting state
31
+ *
32
+ * @default []
33
+ */
34
+ sorting: SortingState;
35
+ /**
36
+ * Current global filter value
37
+ *
38
+ * @default ''
39
+ */
40
+ globalFilter: string;
41
+
42
+ /**
43
+ * Current expanded state
44
+ *
45
+ * @default {}
46
+ */
47
+ expanded: ExpandedState;
48
+ /**
49
+ * Predicates and their current value
50
+ *
51
+ * @default {}
52
+ */
53
+ predicates: Record<string, string>;
54
+ /**
55
+ * Layout currently selected. When null, the first layout is used.
56
+ *
57
+ * @default null
58
+ */
59
+ layout: string | null;
60
+ /**
61
+ * Currently selected date range
62
+ *
63
+ * @default [null, null]
64
+ */
65
+ dateRange: DateRangePickerValue;
66
+ /**
67
+ * Currently selected rows
68
+ *
69
+ * @default {}
70
+ */
71
+ rowSelection: Record<string, TData>;
72
+ /**
73
+ * Columns that are currently visible
74
+ *
75
+ * @default {}
76
+ */
77
+ columnVisibility: Record<string, boolean>;
78
+ }
79
+
80
+ export interface TableStore<TData = unknown> {
81
+ /**
82
+ * Current state of the table.
83
+ */
84
+ state: TableState<TData>;
85
+ /**
86
+ * Allows to change the pagination state.
87
+ */
88
+ setPagination: React.Dispatch<React.SetStateAction<TableState<TData>['pagination']>>;
89
+ /**
90
+ * Allows to change the total number of entries.
91
+ */
92
+ setTotalEntries: React.Dispatch<React.SetStateAction<TableState<TData>['totalEntries']>>;
93
+ /**
94
+ * Allows to change the sorting state.
95
+ */
96
+ setSorting: React.Dispatch<React.SetStateAction<TableState<TData>['sorting']>>;
97
+ /**
98
+ * Allows to change the global filter value.
99
+ */
100
+ setGlobalFilter: React.Dispatch<React.SetStateAction<TableState<TData>['globalFilter']>>;
101
+ /**
102
+ * Allows to change the rows expanded state.
103
+ */
104
+ setExpanded: React.Dispatch<React.SetStateAction<TableState<TData>['expanded']>>;
105
+ /**
106
+ * Allows to change the predicates values.
107
+ */
108
+ setPredicates: React.Dispatch<React.SetStateAction<TableState<TData>['predicates']>>;
109
+ /**
110
+ * Allows to change the selected layout.
111
+ */
112
+ setLayout: React.Dispatch<React.SetStateAction<TableState<TData>['layout']>>;
113
+ /**
114
+ * Allows to change the selected date range.
115
+ */
116
+ setDateRange: React.Dispatch<React.SetStateAction<TableState<TData>['dateRange']>>;
117
+ /**
118
+ * Allows to change the current row selection.
119
+ */
120
+ setRowSelection: React.Dispatch<React.SetStateAction<TableState<TData>['rowSelection']>>;
121
+ /**
122
+ * Allows to change the visible columns.
123
+ */
124
+ setColumnVisibility: React.Dispatch<React.SetStateAction<TableState<TData>['columnVisibility']>>;
125
+ /**
126
+ * Whether the table is currently filtered.
127
+ */
128
+ isFiltered: boolean;
129
+ /**
130
+ * Whether the table has data when unfiltered.
131
+ *
132
+ * This is derived from the totalEntries so make sure you set that number correctly, even if you're using a client side table.
133
+ */
134
+ isVacant: boolean;
135
+ /**
136
+ * Clear currently applied filters.
137
+ */
138
+ clearFilters: () => void;
139
+ /**
140
+ * Deselects all currently selected rows.
141
+ */
142
+ clearRowSelection: () => void;
143
+ /**
144
+ * Get currently selected rows.
145
+ */
146
+ getSelectedRows: () => TData[];
147
+ /**
148
+ * Get currently selected row
149
+ */
150
+ getSelectedRow: () => TData | null;
151
+ /**
152
+ * Whether the user can select multiple rows at the same time.
153
+ */
154
+ multiRowSelectionEnabled: boolean;
155
+ /**
156
+ * Whether rows can be selected.
157
+ */
158
+ rowSelectionEnabled: boolean;
159
+ /**
160
+ * Whether row selection is forced.
161
+ */
162
+ rowSelectionForced: boolean;
163
+ }
164
+
165
+ export interface UseTableOptions<TData = unknown> {
166
+ /**
167
+ * Initial state of the table.
168
+ */
169
+ initialState?: PartialDeep<TableState<TData>>;
170
+ /**
171
+ * Whether rows can be selected.
172
+ *
173
+ * @default true
174
+ */
175
+ enableRowSelection?: boolean;
176
+ /**
177
+ * Whether multiple rows can be selected at the same time.
178
+ *
179
+ * @default false
180
+ */
181
+ enableMultiRowSelection?: boolean;
182
+ /**
183
+ * Forces the user to always have one row selected.
184
+ * When activating that setting, a good practice is to have a row already selected in the initial state.
185
+ *
186
+ * @default false
187
+ */
188
+ forceSelection?: boolean;
189
+ }
190
+
191
+ const defaultOptions: UseTableOptions = {
192
+ enableRowSelection: true,
193
+ enableMultiRowSelection: false,
194
+ forceSelection: false,
195
+ };
196
+
197
+ const defaultState: Partial<TableState> = {
198
+ pagination: {
199
+ pageIndex: 0,
200
+ pageSize: 50,
201
+ },
202
+ totalEntries: null,
203
+ sorting: [],
204
+ globalFilter: '',
205
+ predicates: {},
206
+ layout: null,
207
+ dateRange: [null, null],
208
+ rowSelection: {},
209
+ columnVisibility: {},
210
+ };
211
+
212
+ export const useTable = <TData>(userOptions: UseTableOptions<TData> = {}): TableStore<TData> => {
213
+ const options: UseTableOptions<TData> = defaultsDeep({}, userOptions, defaultOptions);
214
+ const initialState: TableState<TData> = defaultsDeep({}, options.initialState, defaultState);
215
+
216
+ const [pagination, setPagination] = useState<TableState<TData>['pagination']>(
217
+ initialState.pagination as PaginationState,
218
+ );
219
+ const [totalEntries, _setTotalEntries] = useState<TableState<TData>['totalEntries']>(initialState.totalEntries);
220
+ const [unfilteredTotalEntries, setUnfilteredTotalEntries] = useState<TableState<TData>['totalEntries']>(
221
+ initialState.totalEntries,
222
+ );
223
+ const [sorting, setSorting] = useState<TableState<TData>['sorting']>(initialState.sorting as SortingState);
224
+ const [globalFilter, setGlobalFilter] = useState<TableState<TData>['globalFilter']>(initialState.globalFilter);
225
+ const [expanded, setExpanded] = useState<TableState<TData>['expanded']>(initialState.expanded as ExpandedState);
226
+ const [predicates, setPredicates] = useState<TableState<TData>['predicates']>(initialState.predicates);
227
+ const [layout, setLayout] = useState<TableState<TData>['layout']>(initialState.layout);
228
+ const [dateRange, setDateRange] = useState<TableState<TData>['dateRange']>(initialState.dateRange);
229
+ const [rowSelection, setRowSelection] = useState<TableState<TData>['rowSelection']>(initialState.rowSelection);
230
+ const [columnVisibility, setColumnVisibility] = useState<TableState<TData>['columnVisibility']>(
231
+ initialState.columnVisibility,
232
+ );
233
+
234
+ const isFiltered =
235
+ !!globalFilter ||
236
+ Object.keys(predicates).some((predicate) => !!predicates[predicate]) ||
237
+ !!dateRange?.[0] ||
238
+ !!dateRange?.[1];
239
+
240
+ const isVacant = unfilteredTotalEntries === 0;
241
+
242
+ const setTotalEntries: typeof _setTotalEntries = useCallback(
243
+ (updater) => {
244
+ _setTotalEntries((old) => {
245
+ const newTotalEntries = updater instanceof Function ? updater(old) : updater;
246
+ if (!isFiltered) {
247
+ setUnfilteredTotalEntries(newTotalEntries);
248
+ }
249
+ return newTotalEntries;
250
+ });
251
+ },
252
+ [isFiltered],
253
+ );
254
+
255
+ const clearFilters = useCallback(() => {
256
+ setPredicates(initialState.predicates);
257
+ setGlobalFilter('');
258
+ }, []);
259
+
260
+ const clearRowSelection = useCallback(() => {
261
+ setRowSelection({});
262
+ }, []);
263
+
264
+ const getSelectedRows = useCallback(() => Object.values(rowSelection), [rowSelection]);
265
+
266
+ const getSelectedRow = () => getSelectedRows()[0] ?? null;
267
+
268
+ useDidUpdate(() => {
269
+ if (!options.enableMultiRowSelection) {
270
+ clearRowSelection();
271
+ }
272
+ }, [globalFilter, pagination, sorting, dateRange, predicates]);
273
+
274
+ const state = useMemo(
275
+ () => ({
276
+ pagination,
277
+ totalEntries,
278
+ sorting,
279
+ globalFilter,
280
+ expanded,
281
+ predicates,
282
+ layout,
283
+ dateRange,
284
+ rowSelection,
285
+ columnVisibility,
286
+ }),
287
+ [
288
+ pagination,
289
+ totalEntries,
290
+ sorting,
291
+ globalFilter,
292
+ expanded,
293
+ predicates,
294
+ layout,
295
+ dateRange,
296
+ rowSelection,
297
+ columnVisibility,
298
+ ],
299
+ );
300
+
301
+ return {
302
+ state,
303
+ setPagination,
304
+ setTotalEntries,
305
+ setSorting,
306
+ setGlobalFilter,
307
+ setExpanded,
308
+ setPredicates,
309
+ setLayout,
310
+ setDateRange,
311
+ setRowSelection,
312
+ setColumnVisibility,
313
+ isFiltered,
314
+ isVacant,
315
+ clearFilters,
316
+ clearRowSelection,
317
+ getSelectedRows,
318
+ getSelectedRow,
319
+ rowSelectionEnabled: options.enableRowSelection,
320
+ rowSelectionForced: options.forceSelection,
321
+ multiRowSelectionEnabled: options.enableMultiRowSelection,
322
+ };
323
+ };
package/src/index.ts CHANGED
@@ -27,7 +27,6 @@ export {
27
27
  type ButtonProps,
28
28
  type CopyToClipboardProps,
29
29
  type HeaderProps,
30
- type InitialTableState,
31
30
  type MenuItemProps,
32
31
  type TableProps,
33
32
  type TableState,
@@ -41,3 +40,14 @@ declare module '@mantine/core' {
41
40
  colors: Record<keyof typeof PlasmaColors | (string & {}), MantineColorsTuple>;
42
41
  }
43
42
  }
43
+
44
+ declare module '@tanstack/react-table' {
45
+ interface ColumnMeta<TData extends unknown, TValue> {
46
+ /**
47
+ * Whether the column is a control column.
48
+ * Control columns are columns that are not part of the data but are used to control the table.
49
+ * For example, a column that contains checkboxes to select rows.
50
+ */
51
+ controlColumn: boolean;
52
+ }
53
+ }
@@ -42,7 +42,6 @@ import {
42
42
  Tabs,
43
43
  Text,
44
44
  TextInput,
45
- Title,
46
45
  Tooltip,
47
46
  createTheme,
48
47
  } from '@mantine/core';
@@ -71,7 +70,6 @@ import SkeletonClasses from '../styles/Skeleton.module.css';
71
70
  import StepperClasses from '../styles/Stepper.module.css';
72
71
  import TabsClasses from '../styles/Tabs.module.css';
73
72
  import TextClasses from '../styles/Text.module.css';
74
- import TitleClasses from '../styles/Title.module.css';
75
73
  import {NotificationVars} from '../vars/Notification.vars';
76
74
  import {TextVars} from '../vars/Text.vars';
77
75
  import {PlasmaColors} from './PlasmaColors';
@@ -82,7 +80,6 @@ export const plasmaTheme: MantineThemeOverride = createTheme({
82
80
  black: color.primary.gray[9],
83
81
  defaultRadius: 8,
84
82
  lineHeights: {md: '1.5'},
85
- fontSmoothing: false,
86
83
  spacing: {
87
84
  xs: '8px',
88
85
  sm: '16px',
@@ -279,9 +276,6 @@ export const plasmaTheme: MantineThemeOverride = createTheme({
279
276
  radius: 8,
280
277
  },
281
278
  }),
282
- Title: Title.extend({
283
- classNames: {root: TitleClasses.root},
284
- }),
285
279
  Tooltip: Tooltip.extend({
286
280
  defaultProps: {
287
281
  color: 'navy',
@@ -1,38 +0,0 @@
1
- import { GridColProps } from '@mantine/core';
2
- import { ForwardedRef, ReactElement, ReactNode } from 'react';
3
- import { CustomComponentThemeExtend } from '../../../utils';
4
- export type TableActionsStylesNames = 'actionsRoot' | 'actionsGroup';
5
- export interface TableActionsProps<T> extends Omit<GridColProps, 'children'> {
6
- /**
7
- * Function that return components for the selected row or selected rows when multi row selection is enabled
8
- *
9
- * @param datum the data of the selected row(s)
10
- * @example
11
- * <Table.Actions<MyType>>
12
- * {(datum: MyType) => (
13
- * <Button
14
- * component={Link}
15
- * to={`edit/${datum.id}`}
16
- * leftIcon={<EditSize24Px />}
17
- * variant="subtle"
18
- * color="navy.8"
19
- * >
20
- * Edit
21
- * </Button>
22
- * )}
23
- * </Table.Actions>
24
- */
25
- children: ((datum: T) => ReactNode) | ((data: T[]) => ReactNode);
26
- }
27
- export declare const TableActions: {
28
- <T>(props: TableActionsProps<T> & {
29
- ref?: ForwardedRef<HTMLDivElement>;
30
- }): ReactElement;
31
- extend: CustomComponentThemeExtend<{
32
- props: TableActionsProps<unknown>;
33
- ref: HTMLDivElement;
34
- stylesNames: TableActionsStylesNames;
35
- compound: true;
36
- }>;
37
- };
38
- //# sourceMappingURL=TableActions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TableActions.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/table-actions/TableActions.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAgB,YAAY,EAAkB,MAAM,eAAe,CAAC;AAC3E,OAAO,EAAC,YAAY,EAAE,YAAY,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AAE5D,OAAO,EAAC,0BAA0B,EAAW,MAAM,gBAAgB,CAAC;AAIpE,MAAM,MAAM,uBAAuB,GAAG,aAAa,GAAG,cAAc,CAAC;AAErE,MAAM,WAAW,iBAAiB,CAAC,CAAC,CAAE,SAAQ,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC;IACxE;;;;;;;;;;;;;;;;;;OAkBG;IACH,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;CACpE;AAWD,eAAO,MAAM,YAAY;;cAA6C,aAAa,cAAc,CAAC;QAAI,YAAY;;eARvG,kBAAkB,OAAO,CAAC;aAC5B,cAAc;qBACN,uBAAuB;kBAC1B,IAAI;;CA4BjB,CAAC"}
@@ -1,47 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "TableActions", {
6
- enumerable: true,
7
- get: function() {
8
- return TableActions;
9
- }
10
- });
11
- var _object_spread = require("@swc/helpers/_/_object_spread");
12
- var _object_spread_props = require("@swc/helpers/_/_object_spread_props");
13
- var _object_without_properties = require("@swc/helpers/_/_object_without_properties");
14
- var _jsxruntime = require("react/jsx-runtime");
15
- var _core = require("@mantine/core");
16
- var _utils = require("../../../utils");
17
- var _Table = require("../Table");
18
- var _TableContext = require("../TableContext");
19
- var defaultProps = {};
20
- var TableActions = function(props) {
21
- var ctx = (0, _TableContext.useTableStyles)();
22
- var _useTable = (0, _TableContext.useTable)(), getSelectedRows = _useTable.getSelectedRows, multiRowSelectionEnabled = _useTable.multiRowSelectionEnabled;
23
- var _useProps = (0, _core.useProps)('PlasmaTableActions', defaultProps, props), style = _useProps.style, className = _useProps.className, classNames = _useProps.classNames, styles = _useProps.styles, children = _useProps.children, others = _object_without_properties._(_useProps, [
24
- "style",
25
- "className",
26
- "classNames",
27
- "styles",
28
- "children"
29
- ]);
30
- var selectedRows = getSelectedRows();
31
- if (selectedRows.length <= 0) {
32
- return null;
33
- }
34
- return /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Grid.Col, _object_spread_props._(_object_spread._({
35
- span: "content",
36
- order: _Table.TableComponentsOrder.Actions
37
- }, ctx.getStyles('actionsRoot', {}), others), {
38
- children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Group, _object_spread_props._(_object_spread._({
39
- gap: "xs"
40
- }, ctx.getStyles('actionsGroup', {})), {
41
- children: multiRowSelectionEnabled ? children(selectedRows) : children(selectedRows[0])
42
- }))
43
- }));
44
- };
45
- TableActions.extend = _utils.identity;
46
-
47
- //# sourceMappingURL=TableActions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/components/table/table-actions/TableActions.tsx"],"sourcesContent":["import {Factory, Grid, GridColProps, Group, useProps} from '@mantine/core';\nimport {ForwardedRef, ReactElement, ReactNode} from 'react';\n\nimport {CustomComponentThemeExtend, identity} from '../../../utils';\nimport {TableComponentsOrder} from '../Table';\nimport {useTable, useTableStyles} from '../TableContext';\n\nexport type TableActionsStylesNames = 'actionsRoot' | 'actionsGroup';\n\nexport interface TableActionsProps<T> extends Omit<GridColProps, 'children'> {\n /**\n * Function that return components for the selected row or selected rows when multi row selection is enabled\n *\n * @param datum the data of the selected row(s)\n * @example\n * <Table.Actions<MyType>>\n * {(datum: MyType) => (\n * <Button\n * component={Link}\n * to={`edit/${datum.id}`}\n * leftIcon={<EditSize24Px />}\n * variant=\"subtle\"\n * color=\"navy.8\"\n * >\n * Edit\n * </Button>\n * )}\n * </Table.Actions>\n */\n children: ((datum: T) => ReactNode) | ((data: T[]) => ReactNode);\n}\n\ntype TableActionsFactory = Factory<{\n props: TableActionsProps<unknown>;\n ref: HTMLDivElement;\n stylesNames: TableActionsStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<TableActionsProps<unknown>> = {};\n\nexport const TableActions = <T,>(props: TableActionsProps<T> & {ref?: ForwardedRef<HTMLDivElement>}): ReactElement => {\n const ctx = useTableStyles();\n const {getSelectedRows, multiRowSelectionEnabled} = useTable<T>();\n const {style, className, classNames, styles, children, ...others} = useProps(\n 'PlasmaTableActions',\n defaultProps,\n props,\n );\n const selectedRows = getSelectedRows();\n\n if (selectedRows.length <= 0) {\n return null;\n }\n\n return (\n <Grid.Col span=\"content\" order={TableComponentsOrder.Actions} {...ctx.getStyles('actionsRoot', {})} {...others}>\n <Group gap=\"xs\" {...ctx.getStyles('actionsGroup', {})}>\n {multiRowSelectionEnabled\n ? (children as (data: T[]) => ReactNode)(selectedRows)\n : (children as (datum: T) => ReactNode)(selectedRows[0])}\n </Group>\n </Grid.Col>\n );\n};\n\nTableActions.extend = identity as CustomComponentThemeExtend<TableActionsFactory>;\n"],"names":["TableActions","defaultProps","props","ctx","useTableStyles","useTable","getSelectedRows","multiRowSelectionEnabled","useProps","style","className","classNames","styles","children","others","selectedRows","length","Grid","Col","span","order","TableComponentsOrder","Actions","getStyles","Group","gap","extend","identity"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAyCaA;;;eAAAA;;;;;;;oBAzC8C;qBAGR;qBAChB;4BACI;AAkCvC,IAAMC,eAAoD,CAAC;AAEpD,IAAMD,eAAe,SAAKE;IAC7B,IAAMC,MAAMC,IAAAA,4BAAc;IAC1B,IAAoDC,YAAAA,IAAAA,sBAAQ,KAArDC,kBAA6CD,UAA7CC,iBAAiBC,2BAA4BF,UAA5BE;IACxB,IAAoEC,YAAAA,IAAAA,cAAQ,EACxE,sBACAP,cACAC,QAHGO,QAA6DD,UAA7DC,OAAOC,YAAsDF,UAAtDE,WAAWC,aAA2CH,UAA3CG,YAAYC,SAA+BJ,UAA/BI,QAAQC,WAAuBL,UAAvBK,UAAaC,sCAAUN;QAA7DC;QAAOC;QAAWC;QAAYC;QAAQC;;IAK7C,IAAME,eAAeT;IAErB,IAAIS,aAAaC,MAAM,IAAI,GAAG;QAC1B,OAAO;IACX;IAEA,qBACI,qBAACC,UAAI,CAACC,GAAG;QAACC,MAAK;QAAUC,OAAOC,2BAAoB,CAACC,OAAO;OAAMnB,IAAIoB,SAAS,CAAC,eAAe,CAAC,IAAQT;kBACpG,cAAA,qBAACU,WAAK;YAACC,KAAI;WAAStB,IAAIoB,SAAS,CAAC,gBAAgB,CAAC;sBAC9ChB,2BACK,AAACM,SAAsCE,gBACvC,AAACF,SAAqCE,YAAY,CAAC,EAAE;;;AAI3E;AAEAf,aAAa0B,MAAM,GAAGC,eAAQ"}
@@ -1,5 +0,0 @@
1
- import type { FunctionComponent, ReactNode } from 'react';
2
- export declare const TableConsumer: FunctionComponent<{
3
- children: ReactNode;
4
- }>;
5
- //# sourceMappingURL=TableConsumer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TableConsumer.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/table-consumer/TableConsumer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,iBAAiB,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AAExD,eAAO,MAAM,aAAa,EAAE,iBAAiB,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAA;CAAC,CAAmC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/components/table/table-consumer/TableConsumer.tsx"],"sourcesContent":["import type {FunctionComponent, ReactNode} from 'react';\n\nexport const TableConsumer: FunctionComponent<{children: ReactNode}> = ({children}) => <>{children}</>;\n"],"names":["TableConsumer","children"],"rangeMappings":";;;;;;;;;;;;;;","mappings":";;;;+BAEaA;;;eAAAA;;;;AAAN,IAAMA,gBAA0D;QAAEC,iBAAAA;yBAAc;kBAAGA"}
@@ -1,10 +0,0 @@
1
- /// <reference types="react" />
2
- import { Table } from '@tanstack/table-core';
3
- import { TableProps } from '../components/table/Table.types';
4
- export declare const useRowSelection: <T>(table: Table<T>, { onRowSelectionChange, multiRowSelectionEnabled, additionalRootNodes, }: Pick<TableProps<T>, "multiRowSelectionEnabled" | "onRowSelectionChange" | "additionalRootNodes">) => {
5
- clearSelection: () => void;
6
- getSelectedRow: () => T;
7
- getSelectedRows: () => T[];
8
- outsideClickRef: import("react").MutableRefObject<HTMLDivElement>;
9
- };
10
- //# sourceMappingURL=useRowSelection.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useRowSelection.d.ts","sourceRoot":"","sources":["../../../src/hooks/useRowSelection.ts"],"names":[],"mappings":";AACA,OAAO,EAAoB,KAAK,EAAmB,MAAM,sBAAsB,CAAC;AAIhF,OAAO,EAAuB,UAAU,EAAa,MAAM,iCAAiC,CAAC;AAE7F,eAAO,MAAM,eAAe;;;;;CAoE3B,CAAC"}
@@ -1,80 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "useRowSelection", {
6
- enumerable: true,
7
- get: function() {
8
- return useRowSelection;
9
- }
10
- });
11
- var _interop_require_default = require("@swc/helpers/_/_interop_require_default");
12
- var _object_spread = require("@swc/helpers/_/_object_spread");
13
- var _object_spread_props = require("@swc/helpers/_/_object_spread_props");
14
- var _to_consumable_array = require("@swc/helpers/_/_to_consumable_array");
15
- var _hooks = require("@mantine/hooks");
16
- var _tablecore = require("@tanstack/table-core");
17
- var _fastdeepequal = /*#__PURE__*/ _interop_require_default._(require("fast-deep-equal"));
18
- var _react = require("react");
19
- var useRowSelection = function(table, param) {
20
- var onRowSelectionChange = param.onRowSelectionChange, multiRowSelectionEnabled = param.multiRowSelectionEnabled, _param_additionalRootNodes = param.additionalRootNodes, additionalRootNodes = _param_additionalRootNodes === void 0 ? [] : _param_additionalRootNodes;
21
- var outsideClickRef = (0, _react.useRef)();
22
- (0, _hooks.useClickOutside)(function() {
23
- if (!multiRowSelectionEnabled) {
24
- clearSelection();
25
- }
26
- }, null, [
27
- outsideClickRef.current
28
- ].concat(_to_consumable_array._(additionalRootNodes)));
29
- // Need to call this outside of the onRowSelectionChange of the table to avoid rendering conflicts if the callback queues an update in a parent component.
30
- // See this warning introduced in React v.16.13.0: https://legacy.reactjs.org/blog/2020/02/26/react-v16.13.0.html#warnings-for-some-updates-during-render
31
- (0, _hooks.useDidUpdate)(function() {
32
- onRowSelectionChange === null || onRowSelectionChange === void 0 ? void 0 : onRowSelectionChange(getSelectedRows());
33
- }, [
34
- table.getState().rowSelection
35
- ]);
36
- table.setOptions(function(prev) {
37
- return _object_spread_props._(_object_spread._({}, prev), {
38
- onRowSelectionChange: function(rowSelectionUpdater) {
39
- table.setState(function(old) {
40
- var newRowSelection = (0, _tablecore.functionalUpdate)(rowSelectionUpdater, old['rowSelection']);
41
- if ((0, _fastdeepequal.default)(old['rowSelection'], newRowSelection)) {
42
- return old;
43
- }
44
- var rows = table.getRowModel().rowsById;
45
- Object.keys(newRowSelection).forEach(function(rowId) {
46
- if (newRowSelection[rowId] === true) {
47
- var _rows_rowId;
48
- if (!rows[rowId]) {
49
- console.error('The table was not initialized properly, the rowSelection state should contain an object of type Record<string, TData>.');
50
- }
51
- var _rows_rowId_original;
52
- newRowSelection[rowId] = (_rows_rowId_original = (_rows_rowId = rows[rowId]) === null || _rows_rowId === void 0 ? void 0 : _rows_rowId.original) !== null && _rows_rowId_original !== void 0 ? _rows_rowId_original : true;
53
- }
54
- });
55
- return _object_spread_props._(_object_spread._({}, old), {
56
- rowSelection: newRowSelection
57
- });
58
- });
59
- }
60
- });
61
- });
62
- var clearSelection = function() {
63
- table.resetRowSelection(true);
64
- };
65
- var getSelectedRows = function() {
66
- return Object.values(table.getState().rowSelection);
67
- };
68
- var getSelectedRow = function() {
69
- var _getSelectedRows_;
70
- return (_getSelectedRows_ = getSelectedRows()[0]) !== null && _getSelectedRows_ !== void 0 ? _getSelectedRows_ : null;
71
- };
72
- return {
73
- clearSelection: clearSelection,
74
- getSelectedRow: getSelectedRow,
75
- getSelectedRows: getSelectedRows,
76
- outsideClickRef: outsideClickRef
77
- };
78
- };
79
-
80
- //# sourceMappingURL=useRowSelection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/hooks/useRowSelection.ts"],"sourcesContent":["import {useClickOutside, useDidUpdate} from '@mantine/hooks';\nimport {RowSelectionState, Table, functionalUpdate} from '@tanstack/table-core';\nimport isEqual from 'fast-deep-equal';\n\nimport {useRef} from 'react';\nimport {RowSelectionWithData, TableProps, TableState} from '../components/table/Table.types';\n\nexport const useRowSelection = <T>(\n table: Table<T>,\n {\n onRowSelectionChange,\n multiRowSelectionEnabled,\n additionalRootNodes = [],\n }: Pick<TableProps<T>, 'onRowSelectionChange' | 'multiRowSelectionEnabled' | 'additionalRootNodes'>,\n) => {\n const outsideClickRef = useRef<HTMLDivElement>();\n useClickOutside(\n () => {\n if (!multiRowSelectionEnabled) {\n clearSelection();\n }\n },\n null,\n [outsideClickRef.current, ...additionalRootNodes],\n );\n\n // Need to call this outside of the onRowSelectionChange of the table to avoid rendering conflicts if the callback queues an update in a parent component.\n // See this warning introduced in React v.16.13.0: https://legacy.reactjs.org/blog/2020/02/26/react-v16.13.0.html#warnings-for-some-updates-during-render\n useDidUpdate(() => {\n onRowSelectionChange?.(getSelectedRows());\n }, [table.getState().rowSelection]);\n\n table.setOptions((prev) => ({\n ...prev,\n onRowSelectionChange: (rowSelectionUpdater) => {\n table.setState((old) => {\n const newRowSelection = functionalUpdate(\n rowSelectionUpdater,\n old['rowSelection'],\n ) as RowSelectionWithData<T>;\n\n if (isEqual(old['rowSelection'], newRowSelection)) {\n return old;\n }\n\n const rows = table.getRowModel().rowsById;\n\n Object.keys(newRowSelection).forEach((rowId) => {\n if (newRowSelection[rowId] === true) {\n if (!rows[rowId]) {\n console.error(\n 'The table was not initialized properly, the rowSelection state should contain an object of type Record<string, TData>.',\n );\n }\n newRowSelection[rowId] = rows[rowId]?.original ?? (true as T);\n }\n });\n\n return {\n ...old,\n rowSelection: newRowSelection as RowSelectionState,\n };\n });\n },\n }));\n\n const clearSelection = () => {\n table.resetRowSelection(true);\n };\n\n const getSelectedRows = () => Object.values((table.getState() as TableState<T>).rowSelection);\n\n const getSelectedRow = () => getSelectedRows()[0] ?? null;\n\n return {clearSelection, getSelectedRow, getSelectedRows, outsideClickRef};\n};\n"],"names":["useRowSelection","table","onRowSelectionChange","multiRowSelectionEnabled","additionalRootNodes","outsideClickRef","useRef","useClickOutside","clearSelection","current","useDidUpdate","getSelectedRows","getState","rowSelection","setOptions","prev","rowSelectionUpdater","setState","old","newRowSelection","functionalUpdate","isEqual","rows","getRowModel","rowsById","Object","keys","forEach","rowId","console","error","original","resetRowSelection","values","getSelectedRow"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAOaA;;;eAAAA;;;;;;;qBAP+B;yBACa;sEACrC;qBAEC;AAGd,IAAMA,kBAAkB,SAC3BC;QAEIC,6BAAAA,sBACAC,iCAAAA,6DACAC,qBAAAA,8DAAsB,EAAE;IAG5B,IAAMC,kBAAkBC,IAAAA,aAAM;IAC9BC,IAAAA,sBAAe,EACX;QACI,IAAI,CAACJ,0BAA0B;YAC3BK;QACJ;IACJ,GACA,MACA;QAACH,gBAAgBI,OAAO;KAAyB,CAAjD,OAA0B,uBAAGL;IAGjC,0JAA0J;IAC1J,yJAAyJ;IACzJM,IAAAA,mBAAY,EAAC;QACTR,iCAAAA,2CAAAA,qBAAuBS;IAC3B,GAAG;QAACV,MAAMW,QAAQ,GAAGC,YAAY;KAAC;IAElCZ,MAAMa,UAAU,CAAC,SAACC;eAAU,4CACrBA;YACHb,sBAAsB,SAACc;gBACnBf,MAAMgB,QAAQ,CAAC,SAACC;oBACZ,IAAMC,kBAAkBC,IAAAA,2BAAgB,EACpCJ,qBACAE,GAAG,CAAC,eAAe;oBAGvB,IAAIG,IAAAA,sBAAO,EAACH,GAAG,CAAC,eAAe,EAAEC,kBAAkB;wBAC/C,OAAOD;oBACX;oBAEA,IAAMI,OAAOrB,MAAMsB,WAAW,GAAGC,QAAQ;oBAEzCC,OAAOC,IAAI,CAACP,iBAAiBQ,OAAO,CAAC,SAACC;wBAClC,IAAIT,eAAe,CAACS,MAAM,KAAK,MAAM;gCAMRN;4BALzB,IAAI,CAACA,IAAI,CAACM,MAAM,EAAE;gCACdC,QAAQC,KAAK,CACT;4BAER;gCACyBR;4BAAzBH,eAAe,CAACS,MAAM,GAAGN,CAAAA,wBAAAA,cAAAA,IAAI,CAACM,MAAM,cAAXN,kCAAAA,YAAaS,QAAQ,cAArBT,kCAAAA,uBAA0B;wBACvD;oBACJ;oBAEA,OAAO,4CACAJ;wBACHL,cAAcM;;gBAEtB;YACJ;;;IAGJ,IAAMX,iBAAiB;QACnBP,MAAM+B,iBAAiB,CAAC;IAC5B;IAEA,IAAMrB,kBAAkB;eAAMc,OAAOQ,MAAM,CAAC,AAAChC,MAAMW,QAAQ,GAAqBC,YAAY;;IAE5F,IAAMqB,iBAAiB;YAAMvB;eAAAA,CAAAA,oBAAAA,iBAAiB,CAAC,EAAE,cAApBA,+BAAAA,oBAAwB;IAAG;IAExD,OAAO;QAACH,gBAAAA;QAAgB0B,gBAAAA;QAAgBvB,iBAAAA;QAAiBN,iBAAAA;IAAe;AAC5E"}
@@ -1,5 +0,0 @@
1
- .root {
2
- &:is(h1, h2, h3, h4, h5, h6) {
3
- letter-spacing: 0.011em;
4
- }
5
- }
@@ -1,38 +0,0 @@
1
- import { GridColProps } from '@mantine/core';
2
- import { ForwardedRef, ReactElement, ReactNode } from 'react';
3
- import { CustomComponentThemeExtend } from '../../../utils';
4
- export type TableActionsStylesNames = 'actionsRoot' | 'actionsGroup';
5
- export interface TableActionsProps<T> extends Omit<GridColProps, 'children'> {
6
- /**
7
- * Function that return components for the selected row or selected rows when multi row selection is enabled
8
- *
9
- * @param datum the data of the selected row(s)
10
- * @example
11
- * <Table.Actions<MyType>>
12
- * {(datum: MyType) => (
13
- * <Button
14
- * component={Link}
15
- * to={`edit/${datum.id}`}
16
- * leftIcon={<EditSize24Px />}
17
- * variant="subtle"
18
- * color="navy.8"
19
- * >
20
- * Edit
21
- * </Button>
22
- * )}
23
- * </Table.Actions>
24
- */
25
- children: ((datum: T) => ReactNode) | ((data: T[]) => ReactNode);
26
- }
27
- export declare const TableActions: {
28
- <T>(props: TableActionsProps<T> & {
29
- ref?: ForwardedRef<HTMLDivElement>;
30
- }): ReactElement;
31
- extend: CustomComponentThemeExtend<{
32
- props: TableActionsProps<unknown>;
33
- ref: HTMLDivElement;
34
- stylesNames: TableActionsStylesNames;
35
- compound: true;
36
- }>;
37
- };
38
- //# sourceMappingURL=TableActions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TableActions.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/table-actions/TableActions.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAgB,YAAY,EAAkB,MAAM,eAAe,CAAC;AAC3E,OAAO,EAAC,YAAY,EAAE,YAAY,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AAE5D,OAAO,EAAC,0BAA0B,EAAW,MAAM,gBAAgB,CAAC;AAIpE,MAAM,MAAM,uBAAuB,GAAG,aAAa,GAAG,cAAc,CAAC;AAErE,MAAM,WAAW,iBAAiB,CAAC,CAAC,CAAE,SAAQ,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC;IACxE;;;;;;;;;;;;;;;;;;OAkBG;IACH,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;CACpE;AAWD,eAAO,MAAM,YAAY;;cAA6C,aAAa,cAAc,CAAC;QAAI,YAAY;;eARvG,kBAAkB,OAAO,CAAC;aAC5B,cAAc;qBACN,uBAAuB;kBAC1B,IAAI;;CA4BjB,CAAC"}