@coveord/plasma-mantine 47.4.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 (421) hide show
  1. package/.eslintrc.js +27 -0
  2. package/.turbo/turbo-build.log +8 -0
  3. package/.turbo/turbo-test.log +29 -0
  4. package/LICENSE +15 -0
  5. package/dist/.tsbuildinfo +1 -0
  6. package/dist/cjs/__tests__/GlobalSetup.js +17 -0
  7. package/dist/cjs/__tests__/GlobalSetup.js.map +1 -0
  8. package/dist/cjs/__tests__/Setup.js +6 -0
  9. package/dist/cjs/__tests__/Setup.js.map +1 -0
  10. package/dist/cjs/__tests__/SetupAfterEnv.js +19 -0
  11. package/dist/cjs/__tests__/SetupAfterEnv.js.map +1 -0
  12. package/dist/cjs/__tests__/Utils.js +38 -0
  13. package/dist/cjs/__tests__/Utils.js.map +1 -0
  14. package/dist/cjs/components/blank-slate/BlankSlate.js +26 -0
  15. package/dist/cjs/components/blank-slate/BlankSlate.js.map +1 -0
  16. package/dist/cjs/components/blank-slate/index.js +8 -0
  17. package/dist/cjs/components/blank-slate/index.js.map +1 -0
  18. package/dist/cjs/components/code-editor/CodeEditor.example.js +41 -0
  19. package/dist/cjs/components/code-editor/CodeEditor.example.js.map +1 -0
  20. package/dist/cjs/components/code-editor/CodeEditor.js +176 -0
  21. package/dist/cjs/components/code-editor/CodeEditor.js.map +1 -0
  22. package/dist/cjs/components/code-editor/__mocks__/@monaco-editor/react.js +30 -0
  23. package/dist/cjs/components/code-editor/__mocks__/@monaco-editor/react.js.map +1 -0
  24. package/dist/cjs/components/code-editor/index.js +8 -0
  25. package/dist/cjs/components/code-editor/index.js.map +1 -0
  26. package/dist/cjs/components/collection/Collection.example.js +64 -0
  27. package/dist/cjs/components/collection/Collection.example.js.map +1 -0
  28. package/dist/cjs/components/collection/Collection.js +130 -0
  29. package/dist/cjs/components/collection/Collection.js.map +1 -0
  30. package/dist/cjs/components/collection/CollectionItem.js +109 -0
  31. package/dist/cjs/components/collection/CollectionItem.js.map +1 -0
  32. package/dist/cjs/components/collection/Colllection.styles.js +24 -0
  33. package/dist/cjs/components/collection/Colllection.styles.js.map +1 -0
  34. package/dist/cjs/components/collection/index.js +8 -0
  35. package/dist/cjs/components/collection/index.js.map +1 -0
  36. package/dist/cjs/components/date-range-picker/DateRangePickerInlineCalendar.js +102 -0
  37. package/dist/cjs/components/date-range-picker/DateRangePickerInlineCalendar.js.map +1 -0
  38. package/dist/cjs/components/date-range-picker/DateRangePickerPopoverCalendar.js +93 -0
  39. package/dist/cjs/components/date-range-picker/DateRangePickerPopoverCalendar.js.map +1 -0
  40. package/dist/cjs/components/date-range-picker/DateRangePickerPresetSelect.js +64 -0
  41. package/dist/cjs/components/date-range-picker/DateRangePickerPresetSelect.js.map +1 -0
  42. package/dist/cjs/components/date-range-picker/EditableDateRangePicker.js +66 -0
  43. package/dist/cjs/components/date-range-picker/EditableDateRangePicker.js.map +1 -0
  44. package/dist/cjs/components/date-range-picker/index.js +9 -0
  45. package/dist/cjs/components/date-range-picker/index.js.map +1 -0
  46. package/dist/cjs/components/header/Header.js +78 -0
  47. package/dist/cjs/components/header/Header.js.map +1 -0
  48. package/dist/cjs/components/header/index.js +8 -0
  49. package/dist/cjs/components/header/index.js.map +1 -0
  50. package/dist/cjs/components/index.js +16 -0
  51. package/dist/cjs/components/index.js.map +1 -0
  52. package/dist/cjs/components/inline-confirm/InlineConfirm.js +39 -0
  53. package/dist/cjs/components/inline-confirm/InlineConfirm.js.map +1 -0
  54. package/dist/cjs/components/inline-confirm/InlineConfirmButton.js +28 -0
  55. package/dist/cjs/components/inline-confirm/InlineConfirmButton.js.map +1 -0
  56. package/dist/cjs/components/inline-confirm/InlineConfirmContext.js +14 -0
  57. package/dist/cjs/components/inline-confirm/InlineConfirmContext.js.map +1 -0
  58. package/dist/cjs/components/inline-confirm/InlineConfirmPrompt.js +48 -0
  59. package/dist/cjs/components/inline-confirm/InlineConfirmPrompt.js.map +1 -0
  60. package/dist/cjs/components/inline-confirm/index.js +10 -0
  61. package/dist/cjs/components/inline-confirm/index.js.map +1 -0
  62. package/dist/cjs/components/inline-confirm/useInlineConfirm.js +21 -0
  63. package/dist/cjs/components/inline-confirm/useInlineConfirm.js.map +1 -0
  64. package/dist/cjs/components/modal-wizard/ModalWizard.js +132 -0
  65. package/dist/cjs/components/modal-wizard/ModalWizard.js.map +1 -0
  66. package/dist/cjs/components/modal-wizard/ModalWizardStep.js +23 -0
  67. package/dist/cjs/components/modal-wizard/ModalWizardStep.js.map +1 -0
  68. package/dist/cjs/components/modal-wizard/index.js +8 -0
  69. package/dist/cjs/components/modal-wizard/index.js.map +1 -0
  70. package/dist/cjs/components/sticky-footer/StickyFooter.js +50 -0
  71. package/dist/cjs/components/sticky-footer/StickyFooter.js.map +1 -0
  72. package/dist/cjs/components/sticky-footer/index.js +8 -0
  73. package/dist/cjs/components/sticky-footer/index.js.map +1 -0
  74. package/dist/cjs/components/table/Table.js +259 -0
  75. package/dist/cjs/components/table/Table.js.map +1 -0
  76. package/dist/cjs/components/table/TableActions.js +25 -0
  77. package/dist/cjs/components/table/TableActions.js.map +1 -0
  78. package/dist/cjs/components/table/TableCollapsibleColumn.js +33 -0
  79. package/dist/cjs/components/table/TableCollapsibleColumn.js.map +1 -0
  80. package/dist/cjs/components/table/TableContext.js +14 -0
  81. package/dist/cjs/components/table/TableContext.js.map +1 -0
  82. package/dist/cjs/components/table/TableDateRangePicker.js +84 -0
  83. package/dist/cjs/components/table/TableDateRangePicker.js.map +1 -0
  84. package/dist/cjs/components/table/TableFilter.js +53 -0
  85. package/dist/cjs/components/table/TableFilter.js.map +1 -0
  86. package/dist/cjs/components/table/TableFooter.js +23 -0
  87. package/dist/cjs/components/table/TableFooter.js.map +1 -0
  88. package/dist/cjs/components/table/TableHeader.js +37 -0
  89. package/dist/cjs/components/table/TableHeader.js.map +1 -0
  90. package/dist/cjs/components/table/TablePagination.js +47 -0
  91. package/dist/cjs/components/table/TablePagination.js.map +1 -0
  92. package/dist/cjs/components/table/TablePerPage.js +52 -0
  93. package/dist/cjs/components/table/TablePerPage.js.map +1 -0
  94. package/dist/cjs/components/table/TablePredicate.js +45 -0
  95. package/dist/cjs/components/table/TablePredicate.js.map +1 -0
  96. package/dist/cjs/components/table/Th.js +98 -0
  97. package/dist/cjs/components/table/Th.js.map +1 -0
  98. package/dist/cjs/components/table/index.js +9 -0
  99. package/dist/cjs/components/table/index.js.map +1 -0
  100. package/dist/cjs/components/table/useTable.js +21 -0
  101. package/dist/cjs/components/table/useTable.js.map +1 -0
  102. package/dist/cjs/hooks/index.js +9 -0
  103. package/dist/cjs/hooks/index.js.map +1 -0
  104. package/dist/cjs/hooks/useControlledList.js +52 -0
  105. package/dist/cjs/hooks/useControlledList.js.map +1 -0
  106. package/dist/cjs/hooks/useParentHeight.js +36 -0
  107. package/dist/cjs/hooks/useParentHeight.js.map +1 -0
  108. package/dist/cjs/index.js +33 -0
  109. package/dist/cjs/index.js.map +1 -0
  110. package/dist/cjs/theme/PlasmaColors.js +54 -0
  111. package/dist/cjs/theme/PlasmaColors.js.map +1 -0
  112. package/dist/cjs/theme/Plasmantine.js +24 -0
  113. package/dist/cjs/theme/Plasmantine.js.map +1 -0
  114. package/dist/cjs/theme/Theme.js +223 -0
  115. package/dist/cjs/theme/Theme.js.map +1 -0
  116. package/dist/cjs/theme/index.js +8 -0
  117. package/dist/cjs/theme/index.js.map +1 -0
  118. package/dist/definitions/__tests__/GlobalSetup.d.ts +3 -0
  119. package/dist/definitions/__tests__/GlobalSetup.d.ts.map +1 -0
  120. package/dist/definitions/__tests__/Setup.d.ts +5 -0
  121. package/dist/definitions/__tests__/Setup.d.ts.map +1 -0
  122. package/dist/definitions/__tests__/SetupAfterEnv.d.ts +7 -0
  123. package/dist/definitions/__tests__/SetupAfterEnv.d.ts.map +1 -0
  124. package/dist/definitions/__tests__/Utils.d.ts +8 -0
  125. package/dist/definitions/__tests__/Utils.d.ts.map +1 -0
  126. package/dist/definitions/components/blank-slate/BlankSlate.d.ts +12 -0
  127. package/dist/definitions/components/blank-slate/BlankSlate.d.ts.map +1 -0
  128. package/dist/definitions/components/blank-slate/index.d.ts +2 -0
  129. package/dist/definitions/components/blank-slate/index.d.ts.map +1 -0
  130. package/dist/definitions/components/code-editor/CodeEditor.d.ts +43 -0
  131. package/dist/definitions/components/code-editor/CodeEditor.d.ts.map +1 -0
  132. package/dist/definitions/components/code-editor/CodeEditor.example.d.ts +4 -0
  133. package/dist/definitions/components/code-editor/CodeEditor.example.d.ts.map +1 -0
  134. package/dist/definitions/components/code-editor/__mocks__/@monaco-editor/react.d.ts +9 -0
  135. package/dist/definitions/components/code-editor/__mocks__/@monaco-editor/react.d.ts.map +1 -0
  136. package/dist/definitions/components/code-editor/index.d.ts +2 -0
  137. package/dist/definitions/components/code-editor/index.d.ts.map +1 -0
  138. package/dist/definitions/components/collection/Collection.d.ts +20 -0
  139. package/dist/definitions/components/collection/Collection.d.ts.map +1 -0
  140. package/dist/definitions/components/collection/Collection.example.d.ts +4 -0
  141. package/dist/definitions/components/collection/Collection.example.d.ts.map +1 -0
  142. package/dist/definitions/components/collection/CollectionItem.d.ts +15 -0
  143. package/dist/definitions/components/collection/CollectionItem.d.ts.map +1 -0
  144. package/dist/definitions/components/collection/Colllection.styles.d.ts +9 -0
  145. package/dist/definitions/components/collection/Colllection.styles.d.ts.map +1 -0
  146. package/dist/definitions/components/collection/index.d.ts +2 -0
  147. package/dist/definitions/components/collection/index.d.ts.map +1 -0
  148. package/dist/definitions/components/date-range-picker/DateRangePickerInlineCalendar.d.ts +37 -0
  149. package/dist/definitions/components/date-range-picker/DateRangePickerInlineCalendar.d.ts.map +1 -0
  150. package/dist/definitions/components/date-range-picker/DateRangePickerPopoverCalendar.d.ts +30 -0
  151. package/dist/definitions/components/date-range-picker/DateRangePickerPopoverCalendar.d.ts.map +1 -0
  152. package/dist/definitions/components/date-range-picker/DateRangePickerPresetSelect.d.ts +16 -0
  153. package/dist/definitions/components/date-range-picker/DateRangePickerPresetSelect.d.ts.map +1 -0
  154. package/dist/definitions/components/date-range-picker/EditableDateRangePicker.d.ts +18 -0
  155. package/dist/definitions/components/date-range-picker/EditableDateRangePicker.d.ts.map +1 -0
  156. package/dist/definitions/components/date-range-picker/index.d.ts +3 -0
  157. package/dist/definitions/components/date-range-picker/index.d.ts.map +1 -0
  158. package/dist/definitions/components/header/Header.d.ts +12 -0
  159. package/dist/definitions/components/header/Header.d.ts.map +1 -0
  160. package/dist/definitions/components/header/index.d.ts +2 -0
  161. package/dist/definitions/components/header/index.d.ts.map +1 -0
  162. package/dist/definitions/components/index.d.ts +10 -0
  163. package/dist/definitions/components/index.d.ts.map +1 -0
  164. package/dist/definitions/components/inline-confirm/InlineConfirm.d.ts +10 -0
  165. package/dist/definitions/components/inline-confirm/InlineConfirm.d.ts.map +1 -0
  166. package/dist/definitions/components/inline-confirm/InlineConfirmButton.d.ts +8 -0
  167. package/dist/definitions/components/inline-confirm/InlineConfirmButton.d.ts.map +1 -0
  168. package/dist/definitions/components/inline-confirm/InlineConfirmContext.d.ts +9 -0
  169. package/dist/definitions/components/inline-confirm/InlineConfirmContext.d.ts.map +1 -0
  170. package/dist/definitions/components/inline-confirm/InlineConfirmPrompt.d.ts +11 -0
  171. package/dist/definitions/components/inline-confirm/InlineConfirmPrompt.d.ts.map +1 -0
  172. package/dist/definitions/components/inline-confirm/index.d.ts +4 -0
  173. package/dist/definitions/components/inline-confirm/index.d.ts.map +1 -0
  174. package/dist/definitions/components/inline-confirm/useInlineConfirm.d.ts +6 -0
  175. package/dist/definitions/components/inline-confirm/useInlineConfirm.d.ts.map +1 -0
  176. package/dist/definitions/components/modal-wizard/ModalWizard.d.ts +73 -0
  177. package/dist/definitions/components/modal-wizard/ModalWizard.d.ts.map +1 -0
  178. package/dist/definitions/components/modal-wizard/ModalWizardStep.d.ts +42 -0
  179. package/dist/definitions/components/modal-wizard/ModalWizardStep.d.ts.map +1 -0
  180. package/dist/definitions/components/modal-wizard/index.d.ts +2 -0
  181. package/dist/definitions/components/modal-wizard/index.d.ts.map +1 -0
  182. package/dist/definitions/components/sticky-footer/StickyFooter.d.ts +11 -0
  183. package/dist/definitions/components/sticky-footer/StickyFooter.d.ts.map +1 -0
  184. package/dist/definitions/components/sticky-footer/index.d.ts +2 -0
  185. package/dist/definitions/components/sticky-footer/index.d.ts.map +1 -0
  186. package/dist/definitions/components/table/Table.d.ts +84 -0
  187. package/dist/definitions/components/table/Table.d.ts.map +1 -0
  188. package/dist/definitions/components/table/TableActions.d.ts +26 -0
  189. package/dist/definitions/components/table/TableActions.d.ts.map +1 -0
  190. package/dist/definitions/components/table/TableCollapsibleColumn.d.ts +6 -0
  191. package/dist/definitions/components/table/TableCollapsibleColumn.d.ts.map +1 -0
  192. package/dist/definitions/components/table/TableContext.d.ts +54 -0
  193. package/dist/definitions/components/table/TableContext.d.ts.map +1 -0
  194. package/dist/definitions/components/table/TableDateRangePicker.d.ts +20 -0
  195. package/dist/definitions/components/table/TableDateRangePicker.d.ts.map +1 -0
  196. package/dist/definitions/components/table/TableFilter.d.ts +12 -0
  197. package/dist/definitions/components/table/TableFilter.d.ts.map +1 -0
  198. package/dist/definitions/components/table/TableFooter.d.ts +3 -0
  199. package/dist/definitions/components/table/TableFooter.d.ts.map +1 -0
  200. package/dist/definitions/components/table/TableHeader.d.ts +3 -0
  201. package/dist/definitions/components/table/TableHeader.d.ts.map +1 -0
  202. package/dist/definitions/components/table/TablePagination.d.ts +10 -0
  203. package/dist/definitions/components/table/TablePagination.d.ts.map +1 -0
  204. package/dist/definitions/components/table/TablePerPage.d.ts +20 -0
  205. package/dist/definitions/components/table/TablePerPage.d.ts.map +1 -0
  206. package/dist/definitions/components/table/TablePredicate.d.ts +21 -0
  207. package/dist/definitions/components/table/TablePredicate.d.ts.map +1 -0
  208. package/dist/definitions/components/table/Th.d.ts +8 -0
  209. package/dist/definitions/components/table/Th.d.ts.map +1 -0
  210. package/dist/definitions/components/table/index.d.ts +4 -0
  211. package/dist/definitions/components/table/index.d.ts.map +1 -0
  212. package/dist/definitions/components/table/useTable.d.ts +11 -0
  213. package/dist/definitions/components/table/useTable.d.ts.map +1 -0
  214. package/dist/definitions/hooks/index.d.ts +3 -0
  215. package/dist/definitions/hooks/index.d.ts.map +1 -0
  216. package/dist/definitions/hooks/useControlledList.d.ts +25 -0
  217. package/dist/definitions/hooks/useControlledList.d.ts.map +1 -0
  218. package/dist/definitions/hooks/useParentHeight.d.ts +5 -0
  219. package/dist/definitions/hooks/useParentHeight.d.ts.map +1 -0
  220. package/dist/definitions/index.d.ts +16 -0
  221. package/dist/definitions/index.d.ts.map +1 -0
  222. package/dist/definitions/theme/PlasmaColors.d.ts +14 -0
  223. package/dist/definitions/theme/PlasmaColors.d.ts.map +1 -0
  224. package/dist/definitions/theme/Plasmantine.d.ts +3 -0
  225. package/dist/definitions/theme/Plasmantine.d.ts.map +1 -0
  226. package/dist/definitions/theme/Theme.d.ts +3 -0
  227. package/dist/definitions/theme/Theme.d.ts.map +1 -0
  228. package/dist/definitions/theme/index.d.ts +2 -0
  229. package/dist/definitions/theme/index.d.ts.map +1 -0
  230. package/dist/esm/__tests__/GlobalSetup.js +7 -0
  231. package/dist/esm/__tests__/GlobalSetup.js.map +1 -0
  232. package/dist/esm/__tests__/Setup.js +5 -0
  233. package/dist/esm/__tests__/Setup.js.map +1 -0
  234. package/dist/esm/__tests__/SetupAfterEnv.js +15 -0
  235. package/dist/esm/__tests__/SetupAfterEnv.js.map +1 -0
  236. package/dist/esm/__tests__/Utils.js +21 -0
  237. package/dist/esm/__tests__/Utils.js.map +1 -0
  238. package/dist/esm/components/blank-slate/BlankSlate.js +16 -0
  239. package/dist/esm/components/blank-slate/BlankSlate.js.map +1 -0
  240. package/dist/esm/components/blank-slate/index.js +3 -0
  241. package/dist/esm/components/blank-slate/index.js.map +1 -0
  242. package/dist/esm/components/code-editor/CodeEditor.example.js +31 -0
  243. package/dist/esm/components/code-editor/CodeEditor.example.js.map +1 -0
  244. package/dist/esm/components/code-editor/CodeEditor.js +165 -0
  245. package/dist/esm/components/code-editor/CodeEditor.js.map +1 -0
  246. package/dist/esm/components/code-editor/__mocks__/@monaco-editor/react.js +12 -0
  247. package/dist/esm/components/code-editor/__mocks__/@monaco-editor/react.js.map +1 -0
  248. package/dist/esm/components/code-editor/index.js +3 -0
  249. package/dist/esm/components/code-editor/index.js.map +1 -0
  250. package/dist/esm/components/collection/Collection.example.js +54 -0
  251. package/dist/esm/components/collection/Collection.example.js.map +1 -0
  252. package/dist/esm/components/collection/Collection.js +119 -0
  253. package/dist/esm/components/collection/Collection.js.map +1 -0
  254. package/dist/esm/components/collection/CollectionItem.js +98 -0
  255. package/dist/esm/components/collection/CollectionItem.js.map +1 -0
  256. package/dist/esm/components/collection/Colllection.styles.js +14 -0
  257. package/dist/esm/components/collection/Colllection.styles.js.map +1 -0
  258. package/dist/esm/components/collection/index.js +3 -0
  259. package/dist/esm/components/collection/index.js.map +1 -0
  260. package/dist/esm/components/date-range-picker/DateRangePickerInlineCalendar.js +92 -0
  261. package/dist/esm/components/date-range-picker/DateRangePickerInlineCalendar.js.map +1 -0
  262. package/dist/esm/components/date-range-picker/DateRangePickerPopoverCalendar.js +83 -0
  263. package/dist/esm/components/date-range-picker/DateRangePickerPopoverCalendar.js.map +1 -0
  264. package/dist/esm/components/date-range-picker/DateRangePickerPresetSelect.js +53 -0
  265. package/dist/esm/components/date-range-picker/DateRangePickerPresetSelect.js.map +1 -0
  266. package/dist/esm/components/date-range-picker/EditableDateRangePicker.js +56 -0
  267. package/dist/esm/components/date-range-picker/EditableDateRangePicker.js.map +1 -0
  268. package/dist/esm/components/date-range-picker/index.js +4 -0
  269. package/dist/esm/components/date-range-picker/index.js.map +1 -0
  270. package/dist/esm/components/header/Header.js +68 -0
  271. package/dist/esm/components/header/Header.js.map +1 -0
  272. package/dist/esm/components/header/index.js +3 -0
  273. package/dist/esm/components/header/index.js.map +1 -0
  274. package/dist/esm/components/index.js +11 -0
  275. package/dist/esm/components/index.js.map +1 -0
  276. package/dist/esm/components/inline-confirm/InlineConfirm.js +29 -0
  277. package/dist/esm/components/inline-confirm/InlineConfirm.js.map +1 -0
  278. package/dist/esm/components/inline-confirm/InlineConfirmButton.js +18 -0
  279. package/dist/esm/components/inline-confirm/InlineConfirmButton.js.map +1 -0
  280. package/dist/esm/components/inline-confirm/InlineConfirmContext.js +4 -0
  281. package/dist/esm/components/inline-confirm/InlineConfirmContext.js.map +1 -0
  282. package/dist/esm/components/inline-confirm/InlineConfirmPrompt.js +38 -0
  283. package/dist/esm/components/inline-confirm/InlineConfirmPrompt.js.map +1 -0
  284. package/dist/esm/components/inline-confirm/index.js +5 -0
  285. package/dist/esm/components/inline-confirm/index.js.map +1 -0
  286. package/dist/esm/components/inline-confirm/useInlineConfirm.js +11 -0
  287. package/dist/esm/components/inline-confirm/useInlineConfirm.js.map +1 -0
  288. package/dist/esm/components/modal-wizard/ModalWizard.js +122 -0
  289. package/dist/esm/components/modal-wizard/ModalWizard.js.map +1 -0
  290. package/dist/esm/components/modal-wizard/ModalWizardStep.js +14 -0
  291. package/dist/esm/components/modal-wizard/ModalWizardStep.js.map +1 -0
  292. package/dist/esm/components/modal-wizard/index.js +3 -0
  293. package/dist/esm/components/modal-wizard/index.js.map +1 -0
  294. package/dist/esm/components/sticky-footer/StickyFooter.js +40 -0
  295. package/dist/esm/components/sticky-footer/StickyFooter.js.map +1 -0
  296. package/dist/esm/components/sticky-footer/index.js +3 -0
  297. package/dist/esm/components/sticky-footer/index.js.map +1 -0
  298. package/dist/esm/components/table/Table.js +248 -0
  299. package/dist/esm/components/table/Table.js.map +1 -0
  300. package/dist/esm/components/table/TableActions.js +15 -0
  301. package/dist/esm/components/table/TableActions.js.map +1 -0
  302. package/dist/esm/components/table/TableCollapsibleColumn.js +25 -0
  303. package/dist/esm/components/table/TableCollapsibleColumn.js.map +1 -0
  304. package/dist/esm/components/table/TableContext.js +4 -0
  305. package/dist/esm/components/table/TableContext.js.map +1 -0
  306. package/dist/esm/components/table/TableDateRangePicker.js +73 -0
  307. package/dist/esm/components/table/TableDateRangePicker.js.map +1 -0
  308. package/dist/esm/components/table/TableFilter.js +43 -0
  309. package/dist/esm/components/table/TableFilter.js.map +1 -0
  310. package/dist/esm/components/table/TableFooter.js +13 -0
  311. package/dist/esm/components/table/TableFooter.js.map +1 -0
  312. package/dist/esm/components/table/TableHeader.js +27 -0
  313. package/dist/esm/components/table/TableHeader.js.map +1 -0
  314. package/dist/esm/components/table/TablePagination.js +37 -0
  315. package/dist/esm/components/table/TablePagination.js.map +1 -0
  316. package/dist/esm/components/table/TablePerPage.js +42 -0
  317. package/dist/esm/components/table/TablePerPage.js.map +1 -0
  318. package/dist/esm/components/table/TablePredicate.js +35 -0
  319. package/dist/esm/components/table/TablePredicate.js.map +1 -0
  320. package/dist/esm/components/table/Th.js +88 -0
  321. package/dist/esm/components/table/Th.js.map +1 -0
  322. package/dist/esm/components/table/index.js +4 -0
  323. package/dist/esm/components/table/index.js.map +1 -0
  324. package/dist/esm/components/table/useTable.js +11 -0
  325. package/dist/esm/components/table/useTable.js.map +1 -0
  326. package/dist/esm/hooks/index.js +4 -0
  327. package/dist/esm/hooks/index.js.map +1 -0
  328. package/dist/esm/hooks/useControlledList.js +44 -0
  329. package/dist/esm/hooks/useControlledList.js.map +1 -0
  330. package/dist/esm/hooks/useParentHeight.js +28 -0
  331. package/dist/esm/hooks/useParentHeight.js.map +1 -0
  332. package/dist/esm/index.js +10 -0
  333. package/dist/esm/index.js.map +1 -0
  334. package/dist/esm/theme/PlasmaColors.js +44 -0
  335. package/dist/esm/theme/PlasmaColors.js.map +1 -0
  336. package/dist/esm/theme/Plasmantine.js +14 -0
  337. package/dist/esm/theme/Plasmantine.js.map +1 -0
  338. package/dist/esm/theme/Theme.js +213 -0
  339. package/dist/esm/theme/Theme.js.map +1 -0
  340. package/dist/esm/theme/index.js +3 -0
  341. package/dist/esm/theme/index.js.map +1 -0
  342. package/jest.config.js +26 -0
  343. package/package.json +85 -0
  344. package/src/__tests__/GlobalSetup.ts +5 -0
  345. package/src/__tests__/Setup.ts +4 -0
  346. package/src/__tests__/SetupAfterEnv.ts +16 -0
  347. package/src/__tests__/Utils.tsx +15 -0
  348. package/src/components/blank-slate/BlankSlate.tsx +17 -0
  349. package/src/components/blank-slate/__tests__/BlankSlate.spec.tsx +11 -0
  350. package/src/components/blank-slate/index.ts +1 -0
  351. package/src/components/code-editor/CodeEditor.example.tsx +32 -0
  352. package/src/components/code-editor/CodeEditor.tsx +187 -0
  353. package/src/components/code-editor/__mocks__/@monaco-editor/react.tsx +10 -0
  354. package/src/components/code-editor/__tests__/CodeEditor.spec.tsx +37 -0
  355. package/src/components/code-editor/index.ts +1 -0
  356. package/src/components/collection/Collection.example.tsx +37 -0
  357. package/src/components/collection/Collection.tsx +128 -0
  358. package/src/components/collection/CollectionItem.tsx +88 -0
  359. package/src/components/collection/Colllection.styles.ts +13 -0
  360. package/src/components/collection/__tests__/Collection.spec.tsx +243 -0
  361. package/src/components/collection/index.ts +1 -0
  362. package/src/components/date-range-picker/DateRangePickerInlineCalendar.tsx +111 -0
  363. package/src/components/date-range-picker/DateRangePickerPopoverCalendar.tsx +94 -0
  364. package/src/components/date-range-picker/DateRangePickerPresetSelect.tsx +62 -0
  365. package/src/components/date-range-picker/EditableDateRangePicker.tsx +59 -0
  366. package/src/components/date-range-picker/__tests__/DateRangePickerInlineCalendar.spec.tsx +91 -0
  367. package/src/components/date-range-picker/__tests__/DateRangePickerPopoverCalendar.spec.tsx +101 -0
  368. package/src/components/date-range-picker/__tests__/DateRangePickerPresetSelect.spec.tsx +53 -0
  369. package/src/components/date-range-picker/__tests__/EditableDateRangePicker.spec.tsx +47 -0
  370. package/src/components/date-range-picker/index.tsx +2 -0
  371. package/src/components/header/Header.tsx +43 -0
  372. package/src/components/header/__tests__/Header.spec.tsx +79 -0
  373. package/src/components/header/index.ts +1 -0
  374. package/src/components/index.ts +9 -0
  375. package/src/components/inline-confirm/InlineConfirm.tsx +29 -0
  376. package/src/components/inline-confirm/InlineConfirmButton.tsx +17 -0
  377. package/src/components/inline-confirm/InlineConfirmContext.ts +9 -0
  378. package/src/components/inline-confirm/InlineConfirmPrompt.tsx +48 -0
  379. package/src/components/inline-confirm/__tests__/InlineConfirm.spec.tsx +94 -0
  380. package/src/components/inline-confirm/index.ts +3 -0
  381. package/src/components/inline-confirm/useInlineConfirm.ts +12 -0
  382. package/src/components/modal-wizard/ModalWizard.tsx +211 -0
  383. package/src/components/modal-wizard/ModalWizardStep.tsx +53 -0
  384. package/src/components/modal-wizard/__tests__/ModalWizard.spec.tsx +345 -0
  385. package/src/components/modal-wizard/index.ts +1 -0
  386. package/src/components/sticky-footer/StickyFooter.tsx +31 -0
  387. package/src/components/sticky-footer/__tests__/StickyFooter.spec.tsx +20 -0
  388. package/src/components/sticky-footer/index.ts +1 -0
  389. package/src/components/table/Table.tsx +293 -0
  390. package/src/components/table/TableActions.tsx +36 -0
  391. package/src/components/table/TableCollapsibleColumn.tsx +26 -0
  392. package/src/components/table/TableContext.tsx +56 -0
  393. package/src/components/table/TableDateRangePicker.tsx +71 -0
  394. package/src/components/table/TableFilter.tsx +44 -0
  395. package/src/components/table/TableFooter.tsx +8 -0
  396. package/src/components/table/TableHeader.tsx +21 -0
  397. package/src/components/table/TablePagination.tsx +41 -0
  398. package/src/components/table/TablePerPage.tsx +49 -0
  399. package/src/components/table/TablePredicate.tsx +43 -0
  400. package/src/components/table/Th.tsx +75 -0
  401. package/src/components/table/__tests__/Table.spec.tsx +128 -0
  402. package/src/components/table/__tests__/TableActions.spec.tsx +36 -0
  403. package/src/components/table/__tests__/TableDateRangePicker.spec.tsx +87 -0
  404. package/src/components/table/__tests__/TableFilter.spec.tsx +39 -0
  405. package/src/components/table/__tests__/TablePagination.spec.tsx +50 -0
  406. package/src/components/table/__tests__/TablePerPage.spec.tsx +81 -0
  407. package/src/components/table/__tests__/TablePredicate.spec.tsx +120 -0
  408. package/src/components/table/__tests__/Th.spec.tsx +63 -0
  409. package/src/components/table/index.ts +3 -0
  410. package/src/components/table/useTable.tsx +11 -0
  411. package/src/hooks/__tests__/useControlledList.spec.tsx +41 -0
  412. package/src/hooks/index.ts +2 -0
  413. package/src/hooks/useControlledList.ts +53 -0
  414. package/src/hooks/useParentHeight.ts +25 -0
  415. package/src/index.ts +23 -0
  416. package/src/theme/PlasmaColors.ts +44 -0
  417. package/src/theme/Plasmantine.tsx +10 -0
  418. package/src/theme/Theme.tsx +161 -0
  419. package/src/theme/index.ts +1 -0
  420. package/tsconfig.build.json +4 -0
  421. package/tsconfig.json +11 -0
@@ -0,0 +1,248 @@
1
+ import _define_property from "@swc/helpers/src/_define_property.mjs";
2
+ import _object_spread from "@swc/helpers/src/_object_spread.mjs";
3
+ import _object_spread_props from "@swc/helpers/src/_object_spread_props.mjs";
4
+ import _object_without_properties from "@swc/helpers/src/_object_without_properties.mjs";
5
+ import _sliced_to_array from "@swc/helpers/src/_sliced_to_array.mjs";
6
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
+ import { Center, Collapse, createStyles, Loader, Skeleton, Table as MantineTable } from "@mantine/core";
8
+ import { useForm } from "@mantine/form";
9
+ import { useDidUpdate } from "@mantine/hooks";
10
+ import { defaultColumnSizing, flexRender, getCoreRowModel, useReactTable } from "@tanstack/react-table";
11
+ import defaultsDeep from "lodash.defaultsdeep";
12
+ import { Children, Fragment, useCallback, useEffect, useState } from "react";
13
+ import { TableActions } from "./TableActions";
14
+ import { TableCollapsibleColumn } from "./TableCollapsibleColumn";
15
+ import { TableContext } from "./TableContext";
16
+ import { TableDateRangePicker } from "./TableDateRangePicker";
17
+ import { TableFilter } from "./TableFilter";
18
+ import { TableFooter } from "./TableFooter";
19
+ import { TableHeader } from "./TableHeader";
20
+ import { TablePagination } from "./TablePagination";
21
+ import { TablePerPage } from "./TablePerPage";
22
+ import { TablePredicate } from "./TablePredicate";
23
+ import { Th } from "./Th";
24
+ var useStyles = createStyles(function(theme, param, getRef) {
25
+ var hasHeader = param.hasHeader;
26
+ return {
27
+ table: {
28
+ width: "100%"
29
+ },
30
+ header: {
31
+ position: "sticky",
32
+ top: hasHeader ? 69 : 0,
33
+ backgroundColor: theme.colorScheme === "dark" ? theme.black : theme.white,
34
+ transition: "box-shadow 150ms ease",
35
+ zIndex: 12,
36
+ "&::after": {
37
+ content: '""',
38
+ position: "absolute",
39
+ left: 0,
40
+ right: 0,
41
+ bottom: 0,
42
+ borderBottom: "1px solid ".concat(theme.colors.gray[2])
43
+ }
44
+ },
45
+ rowSelected: {
46
+ ref: getRef("rowSelected")
47
+ },
48
+ row: _define_property({}, "&:hover, &.".concat(getRef("rowSelected")), {
49
+ backgroundColor: theme.colorScheme === "dark" ? theme.fn.rgba(theme.colors[theme.primaryColor][7], 0.2) : theme.colors[theme.primaryColor][0]
50
+ })
51
+ };
52
+ });
53
+ export var Table = function(param) {
54
+ var data = param.data, noDataChildren = param.noDataChildren, getExpandChildren = param.getExpandChildren, _initialState = param.initialState, initialState = _initialState === void 0 ? {} : _initialState, columns = param.columns, onMount = param.onMount, onChange = param.onChange, children = param.children, _loading = param.loading, loading = _loading === void 0 ? false : _loading;
55
+ var convertedChildren = Children.toArray(children);
56
+ var header = convertedChildren.find(function(child) {
57
+ return child.type === TableHeader;
58
+ });
59
+ var footer = convertedChildren.find(function(child) {
60
+ return child.type === TableFooter;
61
+ });
62
+ var predicates = initialState.predicates, dateRange = initialState.dateRange, initialStateWithoutForm = _object_without_properties(initialState, [
63
+ "predicates",
64
+ "dateRange"
65
+ ]);
66
+ var ref, ref1;
67
+ var form = useForm({
68
+ initialValues: {
69
+ predicates: (ref = initialState === null || initialState === void 0 ? void 0 : initialState.predicates) !== null && ref !== void 0 ? ref : {},
70
+ dateRange: (ref1 = initialState === null || initialState === void 0 ? void 0 : initialState.dateRange) !== null && ref1 !== void 0 ? ref1 : [
71
+ null,
72
+ null
73
+ ]
74
+ }
75
+ });
76
+ var ref2 = useStyles({
77
+ hasHeader: !!header
78
+ }), cx = ref2.cx, classes = ref2.classes;
79
+ var ref3;
80
+ var table = useReactTable({
81
+ initialState: defaultsDeep(initialStateWithoutForm, {
82
+ pagination: {
83
+ pageSize: TablePerPage.DEFAULT_SIZE
84
+ }
85
+ }),
86
+ data: data,
87
+ columns: columns,
88
+ getCoreRowModel: getCoreRowModel(),
89
+ manualPagination: true,
90
+ getRowCanExpand: function(row) {
91
+ return (ref3 = !!(getExpandChildren === null || getExpandChildren === void 0 ? void 0 : getExpandChildren(row.original))) !== null && ref3 !== void 0 ? ref3 : false;
92
+ }
93
+ });
94
+ var ref4 = _sliced_to_array(useState(table.initialState), 2), state = ref4[0], setState = ref4[1];
95
+ table.setOptions(function(prev) {
96
+ return _object_spread_props(_object_spread({}, prev), {
97
+ state: state,
98
+ onStateChange: setState
99
+ });
100
+ });
101
+ var triggerChange = function() {
102
+ return onChange === null || onChange === void 0 ? void 0 : onChange(_object_spread({}, state, form.values));
103
+ };
104
+ useEffect(function() {
105
+ onMount === null || onMount === void 0 ? void 0 : onMount(_object_spread({}, state, form.values));
106
+ }, []);
107
+ useDidUpdate(function() {
108
+ triggerChange();
109
+ clearSelection();
110
+ }, [
111
+ state.globalFilter,
112
+ state.sorting,
113
+ state.pagination,
114
+ form.values
115
+ ]);
116
+ var clearFilters = useCallback(function() {
117
+ form.setFieldValue("predicates", {});
118
+ setState(function(prevState) {
119
+ return _object_spread_props(_object_spread({}, prevState), {
120
+ globalFilter: ""
121
+ });
122
+ });
123
+ }, []);
124
+ var clearSelection = function() {
125
+ setState(function(prevState) {
126
+ return _object_spread_props(_object_spread({}, prevState), {
127
+ rowSelection: {}
128
+ });
129
+ });
130
+ };
131
+ var ref5;
132
+ var getSelectedRow = useCallback(function() {
133
+ var ref, ref1;
134
+ return (ref5 = (ref = table.getSelectedRowModel().flatRows) === null || ref === void 0 ? void 0 : (ref1 = ref[0]) === null || ref1 === void 0 ? void 0 : ref1.original) !== null && ref5 !== void 0 ? ref5 : null;
135
+ }, [
136
+ state.rowSelection
137
+ ]);
138
+ if (!data) {
139
+ return /*#__PURE__*/ _jsx(Center, {
140
+ sx: {
141
+ flexGrow: 1
142
+ },
143
+ children: /*#__PURE__*/ _jsx(Loader, {})
144
+ });
145
+ }
146
+ var toggleRowSelection = function(row) {
147
+ table.setRowSelection(function() {
148
+ return _define_property({}, row.id, !row.getIsSelected());
149
+ });
150
+ };
151
+ var rows = table.getRowModel().rows.map(function(row) {
152
+ var ref;
153
+ var rowChildren = (ref = getExpandChildren === null || getExpandChildren === void 0 ? void 0 : getExpandChildren(row.original)) !== null && ref !== void 0 ? ref : null;
154
+ return /*#__PURE__*/ _jsxs(Fragment, {
155
+ children: [
156
+ /*#__PURE__*/ _jsx("tr", {
157
+ onClick: function() {
158
+ return toggleRowSelection(row);
159
+ },
160
+ className: cx(classes.row, _define_property({}, classes.rowSelected, row.getIsSelected())),
161
+ children: row.getVisibleCells().map(function(cell) {
162
+ var size = cell.column.getSize();
163
+ var width = size !== defaultColumnSizing.size ? size : undefined;
164
+ return /*#__PURE__*/ _jsx("td", {
165
+ style: {
166
+ width: width
167
+ },
168
+ children: /*#__PURE__*/ _jsx(Skeleton, {
169
+ visible: loading,
170
+ children: flexRender(cell.column.columnDef.cell, cell.getContext())
171
+ })
172
+ }, cell.id);
173
+ })
174
+ }),
175
+ rowChildren ? /*#__PURE__*/ _jsx("tr", {
176
+ children: /*#__PURE__*/ _jsx("td", {
177
+ colSpan: columns.length + 1,
178
+ style: {
179
+ padding: 0,
180
+ borderBottomColor: row.getIsExpanded() ? undefined : "transparent"
181
+ },
182
+ children: /*#__PURE__*/ _jsx(Collapse, {
183
+ in: row.getIsExpanded(),
184
+ px: "sm",
185
+ py: "xs",
186
+ children: rowChildren
187
+ })
188
+ })
189
+ }) : null
190
+ ]
191
+ }, row.id);
192
+ });
193
+ return /*#__PURE__*/ _jsxs(TableContext.Provider, {
194
+ value: {
195
+ onChange: triggerChange,
196
+ state: state,
197
+ setState: setState,
198
+ clearFilters: clearFilters,
199
+ getSelectedRow: getSelectedRow,
200
+ clearSelection: clearSelection,
201
+ form: form
202
+ },
203
+ children: [
204
+ header,
205
+ /*#__PURE__*/ _jsxs(MantineTable, {
206
+ className: classes.table,
207
+ horizontalSpacing: "sm",
208
+ verticalSpacing: "xs",
209
+ pb: "sm",
210
+ children: [
211
+ /*#__PURE__*/ _jsx("thead", {
212
+ className: classes.header,
213
+ children: table.getHeaderGroups().map(function(headerGroup) {
214
+ return /*#__PURE__*/ _jsx("tr", {
215
+ children: headerGroup.headers.map(function(columnHeader) {
216
+ return /*#__PURE__*/ _jsx(Th, {
217
+ header: columnHeader
218
+ }, columnHeader.id);
219
+ })
220
+ }, headerGroup.id);
221
+ })
222
+ }),
223
+ /*#__PURE__*/ _jsx("tbody", {
224
+ children: rows.length ? rows : /*#__PURE__*/ _jsx("tr", {
225
+ children: /*#__PURE__*/ _jsx("td", {
226
+ colSpan: columns.length,
227
+ children: noDataChildren
228
+ })
229
+ })
230
+ })
231
+ ]
232
+ }),
233
+ footer
234
+ ]
235
+ });
236
+ };
237
+ Table.Actions = TableActions;
238
+ Table.Filter = TableFilter;
239
+ Table.Footer = TableFooter;
240
+ Table.Header = TableHeader;
241
+ Table.Pagination = TablePagination;
242
+ Table.Predicate = TablePredicate;
243
+ Table.PerPage = TablePerPage;
244
+ Table.Predicate = TablePredicate;
245
+ Table.CollapsibleColumn = TableCollapsibleColumn;
246
+ Table.DateRangePicker = TableDateRangePicker;
247
+
248
+ //# sourceMappingURL=Table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/table/Table.tsx"],"sourcesContent":["import {Center, Collapse, createStyles, Loader, Skeleton, Table as MantineTable} from '@mantine/core';\nimport {useForm} from '@mantine/form';\nimport {useDidUpdate} from '@mantine/hooks';\nimport {\n ColumnDef,\n defaultColumnSizing,\n flexRender,\n getCoreRowModel,\n Row,\n TableState,\n useReactTable,\n} from '@tanstack/react-table';\nimport {InitialTableState} from '@tanstack/table-core';\nimport defaultsDeep from 'lodash.defaultsdeep';\nimport {Children, Fragment, ReactElement, ReactNode, useCallback, useEffect, useState} from 'react';\n\nimport {TableActions} from './TableActions';\nimport {TableCollapsibleColumn} from './TableCollapsibleColumn';\nimport {onTableChangeEvent, TableContext, TableFormType} from './TableContext';\nimport {TableDateRangePicker} from './TableDateRangePicker';\nimport {TableFilter} from './TableFilter';\nimport {TableFooter} from './TableFooter';\nimport {TableHeader} from './TableHeader';\nimport {TablePagination} from './TablePagination';\nimport {TablePerPage} from './TablePerPage';\nimport {TablePredicate} from './TablePredicate';\nimport {Th} from './Th';\n\nconst useStyles = createStyles<string, {hasHeader: boolean}>((theme, {hasHeader}, getRef) => ({\n table: {\n width: '100%',\n },\n header: {\n position: 'sticky',\n top: hasHeader ? 69 : 0,\n backgroundColor: theme.colorScheme === 'dark' ? theme.black : theme.white,\n transition: 'box-shadow 150ms ease',\n zIndex: 12, // skeleton is 11\n\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n left: 0,\n right: 0,\n bottom: 0,\n borderBottom: `1px solid ${theme.colors.gray[2]}`,\n },\n },\n\n rowSelected: {\n ref: getRef('rowSelected'),\n },\n\n row: {\n [`&:hover, &.${getRef('rowSelected')}`]: {\n backgroundColor:\n theme.colorScheme === 'dark'\n ? theme.fn.rgba(theme.colors[theme.primaryColor][7], 0.2)\n : theme.colors[theme.primaryColor][0],\n },\n },\n}));\n\ninterface TableProps<T> {\n /**\n * Data to display in the table\n */\n data: T[];\n /**\n * Columns to display in the table.\n *\n * @see https://tanstack.com/table/v8/docs/guide/column-defs\n */\n columns: Array<ColumnDef<T>>;\n /**\n * Function called when the table mounts\n *\n * @param state the state of the table\n */\n onMount?: onTableChangeEvent;\n /**\n * Function called when the table should update\n *\n * @param state the state of the table\n */\n onChange?: onTableChangeEvent;\n /**\n * Function that generates the expandable content of a row\n * Return null for rows that don't need to be expandable\n *\n * @param datum the row for which the children should be generated.\n */\n getExpandChildren?: (datum: T) => ReactNode;\n /**\n * React children to show when the table has no rows to show. You can leverage useTable to get the state of the table\n */\n noDataChildren?: ReactNode;\n /**\n * Whether the table is loading or not\n *\n * @default false\n */\n loading?: boolean;\n /**\n * Childrens to display in the table. They need to be wrap in either `Table.Header` or `Table.Footer`\n *\n * @example\n * <Table ...>\n * <Table.Header>\n * <div>Hello</div>\n * </Table.Header>\n * </Table>\n */\n children?: ReactNode;\n\n /**\n * Initial state of the table\n */\n initialState?: InitialTableState & Partial<TableFormType>;\n}\n\ninterface TableType {\n <T>(props: TableProps<T>): ReactElement;\n Actions: typeof TableActions;\n Filter: typeof TableFilter;\n Footer: typeof TableFooter;\n Header: typeof TableHeader;\n Pagination: typeof TablePagination;\n PerPage: typeof TablePerPage;\n Predicate: typeof TablePredicate;\n CollapsibleColumn: typeof TableCollapsibleColumn;\n DateRangePicker: typeof TableDateRangePicker;\n}\n\nexport const Table: TableType = <T,>({\n data,\n noDataChildren,\n getExpandChildren,\n initialState = {},\n columns,\n onMount,\n onChange,\n children,\n loading = false,\n}: TableProps<T>) => {\n const convertedChildren = Children.toArray(children) as ReactElement[];\n const header = convertedChildren.find((child) => child.type === TableHeader);\n const footer = convertedChildren.find((child) => child.type === TableFooter);\n\n const {predicates, dateRange, ...initialStateWithoutForm} = initialState;\n const form = useForm<TableFormType>({\n initialValues: {predicates: initialState?.predicates ?? {}, dateRange: initialState?.dateRange ?? [null, null]},\n });\n\n const {cx, classes} = useStyles({hasHeader: !!header});\n\n const table = useReactTable({\n initialState: defaultsDeep(initialStateWithoutForm, {pagination: {pageSize: TablePerPage.DEFAULT_SIZE}}),\n data,\n columns,\n getCoreRowModel: getCoreRowModel(),\n manualPagination: true,\n getRowCanExpand: (row: Row<T>) => !!getExpandChildren?.(row.original) ?? false,\n });\n const [state, setState] = useState<TableState>(table.initialState);\n table.setOptions((prev) => ({\n ...prev,\n state,\n onStateChange: setState,\n }));\n\n const triggerChange = () => onChange?.({...state, ...form.values});\n\n useEffect(() => {\n onMount?.({...state, ...form.values});\n }, []);\n\n useDidUpdate(() => {\n triggerChange();\n clearSelection();\n }, [state.globalFilter, state.sorting, state.pagination, form.values]);\n\n const clearFilters = useCallback(() => {\n form.setFieldValue('predicates', {});\n setState((prevState) => ({...prevState, globalFilter: ''}));\n }, []);\n\n const clearSelection = () => {\n setState((prevState) => ({...prevState, rowSelection: {}}));\n };\n\n const getSelectedRow = useCallback(\n () => table.getSelectedRowModel().flatRows?.[0]?.original ?? null,\n [state.rowSelection]\n );\n\n if (!data) {\n return (\n <Center sx={{flexGrow: 1}}>\n <Loader />\n </Center>\n );\n }\n\n const toggleRowSelection = (row: Row<T>) => {\n table.setRowSelection(() => ({[row.id]: !row.getIsSelected()}));\n };\n\n const rows = table.getRowModel().rows.map((row) => {\n const rowChildren = getExpandChildren?.(row.original) ?? null;\n\n return (\n <Fragment key={row.id}>\n <tr\n onClick={() => toggleRowSelection(row)}\n className={cx(classes.row, {[classes.rowSelected]: row.getIsSelected()})}\n >\n {row.getVisibleCells().map((cell) => {\n const size = cell.column.getSize();\n const width = size !== defaultColumnSizing.size ? size : undefined;\n return (\n <td key={cell.id} style={{width}}>\n <Skeleton visible={loading}>\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </Skeleton>\n </td>\n );\n })}\n </tr>\n {rowChildren ? (\n <tr>\n <td\n colSpan={columns.length + 1}\n style={{padding: 0, borderBottomColor: row.getIsExpanded() ? undefined : 'transparent'}}\n >\n <Collapse in={row.getIsExpanded()} px=\"sm\" py=\"xs\">\n {rowChildren}\n </Collapse>\n </td>\n </tr>\n ) : null}\n </Fragment>\n );\n });\n\n return (\n <TableContext.Provider\n value={{\n onChange: triggerChange,\n state,\n setState,\n clearFilters,\n getSelectedRow,\n clearSelection,\n form,\n }}\n >\n {header}\n <MantineTable className={classes.table} horizontalSpacing=\"sm\" verticalSpacing=\"xs\" pb=\"sm\">\n <thead className={classes.header}>\n {table.getHeaderGroups().map((headerGroup) => (\n <tr key={headerGroup.id}>\n {headerGroup.headers.map((columnHeader) => (\n <Th key={columnHeader.id} header={columnHeader} />\n ))}\n </tr>\n ))}\n </thead>\n <tbody>\n {rows.length ? (\n rows\n ) : (\n <tr>\n <td colSpan={columns.length}>{noDataChildren}</td>\n </tr>\n )}\n </tbody>\n </MantineTable>\n {footer}\n </TableContext.Provider>\n );\n};\n\nTable.Actions = TableActions;\nTable.Filter = TableFilter;\nTable.Footer = TableFooter;\nTable.Header = TableHeader;\nTable.Pagination = TablePagination;\nTable.Predicate = TablePredicate;\nTable.PerPage = TablePerPage;\nTable.Predicate = TablePredicate;\nTable.CollapsibleColumn = TableCollapsibleColumn;\nTable.DateRangePicker = TableDateRangePicker;\n"],"names":["Center","Collapse","createStyles","Loader","Skeleton","Table","MantineTable","useForm","useDidUpdate","defaultColumnSizing","flexRender","getCoreRowModel","useReactTable","defaultsDeep","Children","Fragment","useCallback","useEffect","useState","TableActions","TableCollapsibleColumn","TableContext","TableDateRangePicker","TableFilter","TableFooter","TableHeader","TablePagination","TablePerPage","TablePredicate","Th","useStyles","theme","getRef","hasHeader","table","width","header","position","top","backgroundColor","colorScheme","black","white","transition","zIndex","content","left","right","bottom","borderBottom","colors","gray","rowSelected","ref","row","fn","rgba","primaryColor","data","noDataChildren","getExpandChildren","initialState","columns","onMount","onChange","children","loading","convertedChildren","toArray","find","child","type","footer","predicates","dateRange","initialStateWithoutForm","form","initialValues","cx","classes","pagination","pageSize","DEFAULT_SIZE","manualPagination","getRowCanExpand","original","state","setState","setOptions","prev","onStateChange","triggerChange","values","clearSelection","globalFilter","sorting","clearFilters","setFieldValue","prevState","rowSelection","getSelectedRow","getSelectedRowModel","flatRows","sx","flexGrow","toggleRowSelection","setRowSelection","id","getIsSelected","rows","getRowModel","map","rowChildren","tr","onClick","className","getVisibleCells","cell","size","column","getSize","undefined","td","style","visible","columnDef","getContext","colSpan","length","padding","borderBottomColor","getIsExpanded","in","px","py","Provider","value","horizontalSpacing","verticalSpacing","pb","thead","getHeaderGroups","headerGroup","headers","columnHeader","tbody","Actions","Filter","Footer","Header","Pagination","Predicate","PerPage","CollapsibleColumn","DateRangePicker"],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useTable } from "./useTable";
3
+ export var TableActions = function(param) {
4
+ var children = param.children;
5
+ var getSelectedRow = useTable().getSelectedRow;
6
+ var selectedRow = getSelectedRow();
7
+ if (!selectedRow) {
8
+ return null;
9
+ }
10
+ return /*#__PURE__*/ _jsx(_Fragment, {
11
+ children: children(selectedRow)
12
+ });
13
+ };
14
+
15
+ //# sourceMappingURL=TableActions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/table/TableActions.tsx"],"sourcesContent":["import {ReactElement, ReactNode} from 'react';\nimport {useTable} from './useTable';\n\ninterface TableActionsProps<T> {\n /**\n * Function that return components for the selected row\n *\n * @param datum the data of the selected row\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=\"navyBlue.8\"\n * >\n * Edit\n * </Button>\n * )}\n * </Table.Actions>\n */\n children: (datum: T) => ReactNode;\n}\n\nexport const TableActions = <T,>({children}: TableActionsProps<T>): ReactElement => {\n const {getSelectedRow} = useTable();\n const selectedRow = getSelectedRow();\n\n if (!selectedRow) {\n return null;\n }\n\n return <>{children(selectedRow)}</>;\n};\n"],"names":["useTable","TableActions","children","getSelectedRow","selectedRow"],"mappings":"AAAA;AACA,SAAQA,QAAQ,QAAO,YAAY,CAAC;AAyBpC,OAAO,IAAMC,YAAY,GAAG,gBAAwD;QAAlDC,QAAQ,SAARA,QAAQ;IACtC,IAAM,AAACC,cAAc,GAAIH,QAAQ,EAAE,CAA5BG,cAAc,AAAc,AAAC;IACpC,IAAMC,WAAW,GAAGD,cAAc,EAAE,AAAC;IAErC,IAAI,CAACC,WAAW,EAAE;QACd,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,qBAAO;kBAAGF,QAAQ,CAACE,WAAW,CAAC;MAAI,CAAC;AACxC,CAAC,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { ArrowHeadDownSize24Px, ArrowHeadUpSize24Px } from "@coveord/plasma-react-icons";
3
+ import { Button } from "@mantine/core";
4
+ /**
5
+ * Generic column to use when your table need collapsible rows
6
+ */ export var TableCollapsibleColumn = {
7
+ id: "collapsible",
8
+ header: "",
9
+ enableSorting: false,
10
+ cell: function(info) {
11
+ var handler = info.row.getToggleExpandedHandler();
12
+ var onClick = function(e) {
13
+ e.stopPropagation();
14
+ handler();
15
+ };
16
+ return info.row.getCanExpand() ? /*#__PURE__*/ _jsx(Button, {
17
+ onClick: onClick,
18
+ variant: "subtle",
19
+ size: "xs",
20
+ children: info.row.getIsExpanded() ? /*#__PURE__*/ _jsx(ArrowHeadUpSize24Px, {}) : /*#__PURE__*/ _jsx(ArrowHeadDownSize24Px, {})
21
+ }) : null;
22
+ }
23
+ };
24
+
25
+ //# sourceMappingURL=TableCollapsibleColumn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/table/TableCollapsibleColumn.tsx"],"sourcesContent":["import {ArrowHeadDownSize24Px, ArrowHeadUpSize24Px} from '@coveord/plasma-react-icons';\nimport {Button} from '@mantine/core';\nimport {ColumnDef} from '@tanstack/table-core';\nimport {MouseEvent as ReactMouseEvent} from 'react';\n\n/**\n * Generic column to use when your table need collapsible rows\n */\nexport const TableCollapsibleColumn: ColumnDef<unknown> = {\n id: 'collapsible',\n header: '',\n enableSorting: false,\n cell: (info) => {\n const handler = info.row.getToggleExpandedHandler();\n const onClick = (e: ReactMouseEvent<HTMLButtonElement>) => {\n e.stopPropagation();\n handler();\n };\n\n return info.row.getCanExpand() ? (\n <Button onClick={onClick} variant=\"subtle\" size=\"xs\">\n {info.row.getIsExpanded() ? <ArrowHeadUpSize24Px /> : <ArrowHeadDownSize24Px />}\n </Button>\n ) : null;\n },\n};\n"],"names":["ArrowHeadDownSize24Px","ArrowHeadUpSize24Px","Button","TableCollapsibleColumn","id","header","enableSorting","cell","info","handler","row","getToggleExpandedHandler","onClick","e","stopPropagation","getCanExpand","variant","size","getIsExpanded"],"mappings":"AAAA;AAAA,SAAQA,qBAAqB,EAAEC,mBAAmB,QAAO,6BAA6B,CAAC;AACvF,SAAQC,MAAM,QAAO,eAAe,CAAC;AAIrC;;CAEC,GACD,OAAO,IAAMC,sBAAsB,GAAuB;IACtDC,EAAE,EAAE,aAAa;IACjBC,MAAM,EAAE,EAAE;IACVC,aAAa,EAAE,KAAK;IACpBC,IAAI,EAAE,SAACC,IAAI,EAAK;QACZ,IAAMC,OAAO,GAAGD,IAAI,CAACE,GAAG,CAACC,wBAAwB,EAAE,AAAC;QACpD,IAAMC,OAAO,GAAG,SAACC,CAAqC,EAAK;YACvDA,CAAC,CAACC,eAAe,EAAE,CAAC;YACpBL,OAAO,EAAE,CAAC;QACd,CAAC,AAAC;QAEF,OAAOD,IAAI,CAACE,GAAG,CAACK,YAAY,EAAE,iBAC1B,KAACb,MAAM;YAACU,OAAO,EAAEA,OAAO;YAAEI,OAAO,EAAC,QAAQ;YAACC,IAAI,EAAC,IAAI;sBAC/CT,IAAI,CAACE,GAAG,CAACQ,aAAa,EAAE,iBAAG,KAACjB,mBAAmB,KAAG,iBAAG,KAACD,qBAAqB,KAAG;UAC1E,GACT,IAAI,CAAC;IACb,CAAC;CACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { createContext } from "react";
2
+ export var TableContext = /*#__PURE__*/ createContext(null);
3
+
4
+ //# sourceMappingURL=TableContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/table/TableContext.tsx"],"sourcesContent":["import {DateRangePickerValue} from '@mantine/dates';\nimport {UseFormReturnType} from '@mantine/form';\nimport {TableState} from '@tanstack/react-table';\nimport {createContext, Dispatch} from 'react';\n\nexport type onTableChangeEvent = (params: TableState & TableFormType) => void;\n\nexport type TableFormType = {\n /**\n * Object containing the table predicates and their selected values\n *\n * @example {type: \"LONG\", origin: \"system\"}\n */\n predicates: Record<string, string>;\n /**\n * Selected date range in the table\n *\n * @example [new Date(2022, 0, 1), new Date(2022, 0, 31)]\n */\n dateRange: DateRangePickerValue;\n};\n\ntype TableContextType = {\n /**\n * Function to call when the table needs an update\n */\n onChange: () => void;\n /**\n * Internal state of the table\n *\n * @see https://tanstack.com/table/v8/docs/api/core/table#state\n */\n state: TableState;\n /**\n * Function to update the table state\n */\n setState: Dispatch<(prevState: TableState) => TableState>;\n /**\n * Function that clears the filter and predicates\n */\n clearFilters: () => void;\n /**\n * Function that returns the selected row if any\n */\n getSelectedRow: () => any | null;\n /**\n * Function that clear the selected row\n */\n clearSelection: () => void;\n /**\n * Form used to handle predicates and dateRange\n */\n form: UseFormReturnType<TableFormType>;\n};\n\nexport const TableContext = createContext<TableContextType | null>(null);\n"],"names":["createContext","TableContext"],"mappings":"AAGA,SAAQA,aAAa,QAAiB,OAAO,CAAC;AAoD9C,OAAO,IAAMC,YAAY,iBAAGD,aAAa,CAA0B,IAAI,CAAC,CAAC"}
@@ -0,0 +1,73 @@
1
+ import _sliced_to_array from "@swc/helpers/src/_sliced_to_array.mjs";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { CalendarSize24Px } from "@coveord/plasma-react-icons";
4
+ import { Popover, Button } from "@mantine/core";
5
+ import dayjs from "dayjs";
6
+ import { useState } from "react";
7
+ import { DateRangePickerInlineCalendar } from "../date-range-picker";
8
+ import { useTable } from "./useTable";
9
+ export var TableDateRangePicker = function(param) {
10
+ var _presets = param.presets, presets = _presets === void 0 ? {} : _presets, rangeCalendarProps = param.rangeCalendarProps;
11
+ var ref = _sliced_to_array(useState(false), 2), opened = ref[0], setOpened = ref[1];
12
+ var form = useTable().form;
13
+ var onApply = function(dates) {
14
+ if (dates[0] !== null && dates[1] !== null) {
15
+ form.setFieldValue("dateRange", dates);
16
+ } else if (dates[1] === null) {
17
+ form.setFieldValue("dateRange", [
18
+ dates[0],
19
+ dates[0]
20
+ ]);
21
+ } else {
22
+ form.setFieldValue("dateRange", [
23
+ dates[1],
24
+ dates[1]
25
+ ]);
26
+ }
27
+ setOpened(false);
28
+ };
29
+ var onCancel = function() {
30
+ setOpened(false);
31
+ };
32
+ var formatDate = function(date) {
33
+ return dayjs(date).format("MMM DD, YYYY");
34
+ };
35
+ var formatedRange = "".concat(formatDate(form.values.dateRange[0]), " - ").concat(formatDate(form.values.dateRange[1]));
36
+ return /*#__PURE__*/ _jsxs(_Fragment, {
37
+ children: [
38
+ formatedRange,
39
+ /*#__PURE__*/ _jsxs(Popover, {
40
+ opened: opened,
41
+ onChange: setOpened,
42
+ children: [
43
+ /*#__PURE__*/ _jsx(Popover.Target, {
44
+ children: /*#__PURE__*/ _jsx(Button, {
45
+ variant: "outline",
46
+ color: "gray",
47
+ onClick: function() {
48
+ return setOpened(true);
49
+ },
50
+ px: "xs",
51
+ children: /*#__PURE__*/ _jsx(CalendarSize24Px, {
52
+ width: 24,
53
+ height: 24
54
+ })
55
+ })
56
+ }),
57
+ /*#__PURE__*/ _jsx(Popover.Dropdown, {
58
+ p: 0,
59
+ children: /*#__PURE__*/ _jsx(DateRangePickerInlineCalendar, {
60
+ initialRange: form.values.dateRange,
61
+ onApply: onApply,
62
+ onCancel: onCancel,
63
+ presets: presets,
64
+ rangeCalendarProps: rangeCalendarProps
65
+ })
66
+ })
67
+ ]
68
+ })
69
+ ]
70
+ });
71
+ };
72
+
73
+ //# sourceMappingURL=TableDateRangePicker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/table/TableDateRangePicker.tsx"],"sourcesContent":["import {CalendarSize24Px} from '@coveord/plasma-react-icons';\nimport {Popover, Button} from '@mantine/core';\nimport {DateRangePickerValue} from '@mantine/dates';\nimport dayjs from 'dayjs';\nimport {FunctionComponent, useState} from 'react';\nimport {DateRangePickerInlineCalendar, DateRangePickerInlineCalendarProps} from '../date-range-picker';\nimport {DateRangePickerPreset} from '../date-range-picker/DateRangePickerPresetSelect';\nimport {useTable} from './useTable';\n\ninterface TableDateRangePickerProps\n extends Pick<DateRangePickerInlineCalendarProps, 'startProps' | 'endProps' | 'rangeCalendarProps'> {\n /**\n * An object containing date presets.\n * If empty the preset dropdown won't be shown\n *\n * @example\n * {\n * january: {label: 'January', range: [new Date(2022, 0, 1), new Date(2022, 0, 31)]},\n * february: {label: 'February', range: [new Date(2022, 1, 1), new Date(2022, 1, 28)]}\n * }\n * @default {}\n */\n presets?: Record<string, DateRangePickerPreset>;\n}\n\nexport const TableDateRangePicker: FunctionComponent<TableDateRangePickerProps> = ({\n presets = {},\n rangeCalendarProps,\n}) => {\n const [opened, setOpened] = useState(false);\n const {form} = useTable();\n\n const onApply = (dates: DateRangePickerValue) => {\n if (dates[0] !== null && dates[1] !== null) {\n form.setFieldValue('dateRange', dates);\n } else if (dates[1] === null) {\n form.setFieldValue('dateRange', [dates[0], dates[0]]);\n } else {\n form.setFieldValue('dateRange', [dates[1], dates[1]]);\n }\n setOpened(false);\n };\n const onCancel = () => {\n setOpened(false);\n };\n\n const formatDate = (date: Date) => dayjs(date).format('MMM DD, YYYY');\n const formatedRange = `${formatDate(form.values.dateRange[0])} - ${formatDate(form.values.dateRange[1])}`;\n\n return (\n <>\n {formatedRange}\n <Popover opened={opened} onChange={setOpened}>\n <Popover.Target>\n <Button variant=\"outline\" color=\"gray\" onClick={() => setOpened(true)} px=\"xs\">\n <CalendarSize24Px width={24} height={24} />\n </Button>\n </Popover.Target>\n <Popover.Dropdown p={0}>\n <DateRangePickerInlineCalendar\n initialRange={form.values.dateRange}\n onApply={onApply}\n onCancel={onCancel}\n presets={presets}\n rangeCalendarProps={rangeCalendarProps}\n />\n </Popover.Dropdown>\n </Popover>\n </>\n );\n};\n"],"names":["CalendarSize24Px","Popover","Button","dayjs","useState","DateRangePickerInlineCalendar","useTable","TableDateRangePicker","presets","rangeCalendarProps","opened","setOpened","form","onApply","dates","setFieldValue","onCancel","formatDate","date","format","formatedRange","values","dateRange","onChange","Target","variant","color","onClick","px","width","height","Dropdown","p","initialRange"],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import _define_property from "@swc/helpers/src/_define_property.mjs";
2
+ import _object_spread from "@swc/helpers/src/_object_spread.mjs";
3
+ import _object_spread_props from "@swc/helpers/src/_object_spread_props.mjs";
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
+ import { SearchSize16Px } from "@coveord/plasma-react-icons";
6
+ import { createStyles, TextInput } from "@mantine/core";
7
+ import { useTable } from "./useTable";
8
+ var useStyles = createStyles(function(theme) {
9
+ return {
10
+ wrapper: {
11
+ marginBottom: "0 !important"
12
+ },
13
+ empty: {
14
+ color: theme.colors.gray[4]
15
+ }
16
+ };
17
+ });
18
+ export var TableFilter = function(param) {
19
+ var _placeholder = param.placeholder, placeholder = _placeholder === void 0 ? "Search by any field" : _placeholder;
20
+ var ref = useStyles(), classes = ref.classes, cx = ref.cx;
21
+ var ref1 = useTable(), state = ref1.state, setState = ref1.setState;
22
+ var handleSearchChange = function(event) {
23
+ var value = event.currentTarget.value;
24
+ setState(function(prevState) {
25
+ return _object_spread_props(_object_spread({}, prevState), {
26
+ globalFilter: value
27
+ });
28
+ });
29
+ };
30
+ return /*#__PURE__*/ _jsx(TextInput, {
31
+ className: classes.wrapper,
32
+ placeholder: placeholder,
33
+ mb: "md",
34
+ rightSection: /*#__PURE__*/ _jsx(SearchSize16Px, {
35
+ height: 14,
36
+ className: cx(_define_property({}, classes.empty, !state.globalFilter))
37
+ }),
38
+ value: state.globalFilter,
39
+ onChange: handleSearchChange
40
+ });
41
+ };
42
+
43
+ //# sourceMappingURL=TableFilter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/table/TableFilter.tsx"],"sourcesContent":["import {SearchSize16Px} from '@coveord/plasma-react-icons';\nimport {createStyles, TextInput} from '@mantine/core';\nimport {TableState} from '@tanstack/react-table';\nimport {ChangeEvent, FunctionComponent} from 'react';\nimport {useTable} from './useTable';\n\nconst useStyles = createStyles((theme) => ({\n wrapper: {\n marginBottom: '0 !important',\n },\n empty: {\n color: theme.colors.gray[4],\n },\n}));\n\ninterface TableFilterProps {\n /**\n * The placeholder for the filter input\n *\n * @default \"Search by any field\"\n */\n placeholder?: string;\n}\n\nexport const TableFilter: FunctionComponent<TableFilterProps> = ({placeholder = 'Search by any field'}) => {\n const {classes, cx} = useStyles();\n const {state, setState} = useTable();\n\n const handleSearchChange = (event: ChangeEvent<HTMLInputElement>) => {\n const {value} = event.currentTarget;\n setState((prevState: TableState) => ({...prevState, globalFilter: value}));\n };\n\n return (\n <TextInput\n className={classes.wrapper}\n placeholder={placeholder}\n mb=\"md\"\n rightSection={<SearchSize16Px height={14} className={cx({[classes.empty]: !state.globalFilter})} />}\n value={state.globalFilter}\n onChange={handleSearchChange}\n />\n );\n};\n"],"names":["SearchSize16Px","createStyles","TextInput","useTable","useStyles","theme","wrapper","marginBottom","empty","color","colors","gray","TableFilter","placeholder","classes","cx","state","setState","handleSearchChange","event","value","currentTarget","prevState","globalFilter","className","mb","rightSection","height","onChange"],"mappings":"AAAA;;;;AAAA,SAAQA,cAAc,QAAO,6BAA6B,CAAC;AAC3D,SAAQC,YAAY,EAAEC,SAAS,QAAO,eAAe,CAAC;AAGtD,SAAQC,QAAQ,QAAO,YAAY,CAAC;AAEpC,IAAMC,SAAS,GAAGH,YAAY,CAAC,SAACI,KAAK;WAAM;QACvCC,OAAO,EAAE;YACLC,YAAY,EAAE,cAAc;SAC/B;QACDC,KAAK,EAAE;YACHC,KAAK,EAAEJ,KAAK,CAACK,MAAM,CAACC,IAAI,CAAC,CAAC,CAAC;SAC9B;KACJ;CAAC,CAAC,AAAC;AAWJ,OAAO,IAAMC,WAAW,GAAwC,gBAA2C;6BAAzCC,WAAW,EAAXA,WAAW,6BAAG,qBAAqB,eAAA;IACjG,IAAsBT,GAAW,GAAXA,SAAS,EAAE,EAA1BU,OAAO,GAAQV,GAAW,CAA1BU,OAAO,EAAEC,EAAE,GAAIX,GAAW,CAAjBW,EAAE,AAAgB;IAClC,IAA0BZ,IAAU,GAAVA,QAAQ,EAAE,EAA7Ba,KAAK,GAAcb,IAAU,CAA7Ba,KAAK,EAAEC,QAAQ,GAAId,IAAU,CAAtBc,QAAQ,AAAe;IAErC,IAAMC,kBAAkB,GAAG,SAACC,KAAoC,EAAK;QACjE,IAAM,AAACC,KAAK,GAAID,KAAK,CAACE,aAAa,CAA5BD,KAAK,AAAuB,AAAC;QACpCH,QAAQ,CAAC,SAACK,SAAqB;mBAAM,wCAAIA,SAAS;gBAAEC,YAAY,EAAEH,KAAK;cAAC;SAAC,CAAC,CAAC;IAC/E,CAAC,AAAC;IAEF,qBACI,KAAClB,SAAS;QACNsB,SAAS,EAAEV,OAAO,CAACR,OAAO;QAC1BO,WAAW,EAAEA,WAAW;QACxBY,EAAE,EAAC,IAAI;QACPC,YAAY,gBAAE,KAAC1B,cAAc;YAAC2B,MAAM,EAAE,EAAE;YAAEH,SAAS,EAAET,EAAE,CAAE,qBAACD,OAAO,CAACN,KAAK,EAAG,CAACQ,KAAK,CAACO,YAAY,CAAA,CAAE;UAAI;QACnGH,KAAK,EAAEJ,KAAK,CAACO,YAAY;QACzBK,QAAQ,EAAEV,kBAAkB;MAC9B,CACJ;AACN,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Group } from "@mantine/core";
3
+ export var TableFooter = function(param) {
4
+ var children = param.children;
5
+ return /*#__PURE__*/ _jsx(Group, {
6
+ position: "apart",
7
+ px: "md",
8
+ py: "sm",
9
+ children: children
10
+ });
11
+ };
12
+
13
+ //# sourceMappingURL=TableFooter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/table/TableFooter.tsx"],"sourcesContent":["import {Group} from '@mantine/core';\nimport {FunctionComponent} from 'react';\n\nexport const TableFooter: FunctionComponent = ({children}) => (\n <Group position=\"apart\" px=\"md\" py=\"sm\">\n {children}\n </Group>\n);\n"],"names":["Group","TableFooter","children","position","px","py"],"mappings":"AAAA;AAAA,SAAQA,KAAK,QAAO,eAAe,CAAC;AAGpC,OAAO,IAAMC,WAAW,GAAsB;QAAEC,QAAQ,SAARA,QAAQ;yBACpD,KAACF,KAAK;QAACG,QAAQ,EAAC,OAAO;QAACC,EAAE,EAAC,IAAI;QAACC,EAAE,EAAC,IAAI;kBAClCH,QAAQ;MACL;CACX,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { createStyles, Group } from "@mantine/core";
3
+ var useStyles = createStyles(function(theme) {
4
+ return {
5
+ header: {
6
+ position: "sticky",
7
+ top: 0,
8
+ zIndex: 13,
9
+ backgroundColor: theme.colors.gray[1],
10
+ borderBottom: "1px solid ".concat(theme.colors.gray[4])
11
+ }
12
+ };
13
+ });
14
+ export var TableHeader = function(param) {
15
+ var children = param.children;
16
+ var classes = useStyles().classes;
17
+ return /*#__PURE__*/ _jsx(Group, {
18
+ position: "right",
19
+ spacing: "lg",
20
+ className: classes.header,
21
+ px: "md",
22
+ py: "sm",
23
+ children: children
24
+ });
25
+ };
26
+
27
+ //# sourceMappingURL=TableHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/table/TableHeader.tsx"],"sourcesContent":["import {createStyles, Group} from '@mantine/core';\nimport {FunctionComponent} from 'react';\n\nconst useStyles = createStyles((theme) => ({\n header: {\n position: 'sticky',\n top: 0,\n zIndex: 13, // skeleton is 11\n backgroundColor: theme.colors.gray[1],\n borderBottom: `1px solid ${theme.colors.gray[4]}`,\n },\n}));\n\nexport const TableHeader: FunctionComponent = ({children}) => {\n const {classes} = useStyles();\n return (\n <Group position=\"right\" spacing=\"lg\" className={classes.header} px=\"md\" py=\"sm\">\n {children}\n </Group>\n );\n};\n"],"names":["createStyles","Group","useStyles","theme","header","position","top","zIndex","backgroundColor","colors","gray","borderBottom","TableHeader","children","classes","spacing","className","px","py"],"mappings":"AAAA;AAAA,SAAQA,YAAY,EAAEC,KAAK,QAAO,eAAe,CAAC;AAGlD,IAAMC,SAAS,GAAGF,YAAY,CAAC,SAACG,KAAK;WAAM;QACvCC,MAAM,EAAE;YACJC,QAAQ,EAAE,QAAQ;YAClBC,GAAG,EAAE,CAAC;YACNC,MAAM,EAAE,EAAE;YACVC,eAAe,EAAEL,KAAK,CAACM,MAAM,CAACC,IAAI,CAAC,CAAC,CAAC;YACrCC,YAAY,EAAE,AAAC,YAAU,CAAuB,MAAA,CAArBR,KAAK,CAACM,MAAM,CAACC,IAAI,CAAC,CAAC,CAAC,CAAE;SACpD;KACJ;CAAC,CAAC,AAAC;AAEJ,OAAO,IAAME,WAAW,GAAsB,gBAAgB;QAAdC,QAAQ,SAARA,QAAQ;IACpD,IAAM,AAACC,OAAO,GAAIZ,SAAS,EAAE,CAAtBY,OAAO,AAAe,AAAC;IAC9B,qBACI,KAACb,KAAK;QAACI,QAAQ,EAAC,OAAO;QAACU,OAAO,EAAC,IAAI;QAACC,SAAS,EAAEF,OAAO,CAACV,MAAM;QAAEa,EAAE,EAAC,IAAI;QAACC,EAAE,EAAC,IAAI;kBAC1EL,QAAQ;MACL,CACV;AACN,CAAC,CAAC"}
@@ -0,0 +1,37 @@
1
+ import _object_spread from "@swc/helpers/src/_object_spread.mjs";
2
+ import _object_spread_props from "@swc/helpers/src/_object_spread_props.mjs";
3
+ import { jsx as _jsx } from "react/jsx-runtime";
4
+ import { Pagination } from "@mantine/core";
5
+ import { useTable } from "./useTable";
6
+ export var TablePagination = function(param) {
7
+ var totalPages = param.totalPages;
8
+ var ref = useTable(), state = ref.state, setState = ref.setState;
9
+ var updatePage = function(newPage) {
10
+ setState(function(prevState) {
11
+ return _object_spread_props(_object_spread({}, prevState), {
12
+ pagination: _object_spread_props(_object_spread({}, prevState.pagination), {
13
+ pageIndex: newPage - 1
14
+ })
15
+ });
16
+ });
17
+ };
18
+ return /*#__PURE__*/ _jsx(Pagination, {
19
+ page: state.pagination.pageIndex + 1,
20
+ onChange: updatePage,
21
+ total: totalPages,
22
+ boundaries: 0,
23
+ size: "md",
24
+ getItemAriaLabel: function(label) {
25
+ switch(label){
26
+ case "prev":
27
+ return "previous page";
28
+ case "next":
29
+ return "next page";
30
+ default:
31
+ return "".concat(label);
32
+ }
33
+ }
34
+ });
35
+ };
36
+
37
+ //# sourceMappingURL=TablePagination.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/table/TablePagination.tsx"],"sourcesContent":["import {Pagination} from '@mantine/core';\nimport {TableState} from '@tanstack/react-table';\nimport {FunctionComponent} from 'react';\nimport {useTable} from './useTable';\n\ninterface TablePaginationProps {\n /**\n * The total number of page\n */\n totalPages: number;\n}\n\nexport const TablePagination: FunctionComponent<TablePaginationProps> = ({totalPages}) => {\n const {state, setState} = useTable();\n const updatePage = (newPage: number) => {\n setState((prevState: TableState) => ({\n ...prevState,\n pagination: {...prevState.pagination, pageIndex: newPage - 1},\n }));\n };\n\n return (\n <Pagination\n page={state.pagination.pageIndex + 1}\n onChange={updatePage}\n total={totalPages}\n boundaries={0}\n size=\"md\"\n getItemAriaLabel={(label) => {\n switch (label) {\n case 'prev':\n return 'previous page';\n case 'next':\n return 'next page';\n default:\n return `${label}`;\n }\n }}\n />\n );\n};\n"],"names":["Pagination","useTable","TablePagination","totalPages","state","setState","updatePage","newPage","prevState","pagination","pageIndex","page","onChange","total","boundaries","size","getItemAriaLabel","label"],"mappings":"AAAA;;;AAAA,SAAQA,UAAU,QAAO,eAAe,CAAC;AAGzC,SAAQC,QAAQ,QAAO,YAAY,CAAC;AASpC,OAAO,IAAMC,eAAe,GAA4C,gBAAkB;QAAhBC,UAAU,SAAVA,UAAU;IAChF,IAA0BF,GAAU,GAAVA,QAAQ,EAAE,EAA7BG,KAAK,GAAcH,GAAU,CAA7BG,KAAK,EAAEC,QAAQ,GAAIJ,GAAU,CAAtBI,QAAQ,AAAe;IACrC,IAAMC,UAAU,GAAG,SAACC,OAAe,EAAK;QACpCF,QAAQ,CAAC,SAACG,SAAqB;mBAAM,wCAC9BA,SAAS;gBACZC,UAAU,EAAE,wCAAID,SAAS,CAACC,UAAU;oBAAEC,SAAS,EAAEH,OAAO,GAAG,CAAC;kBAAC;cAChE;SAAC,CAAC,CAAC;IACR,CAAC,AAAC;IAEF,qBACI,KAACP,UAAU;QACPW,IAAI,EAAEP,KAAK,CAACK,UAAU,CAACC,SAAS,GAAG,CAAC;QACpCE,QAAQ,EAAEN,UAAU;QACpBO,KAAK,EAAEV,UAAU;QACjBW,UAAU,EAAE,CAAC;QACbC,IAAI,EAAC,IAAI;QACTC,gBAAgB,EAAE,SAACC,KAAK,EAAK;YACzB,OAAQA,KAAK;gBACT,KAAK,MAAM;oBACP,OAAO,eAAe,CAAC;gBAC3B,KAAK,MAAM;oBACP,OAAO,WAAW,CAAC;gBACvB;oBACI,OAAO,AAAC,EAAA,CAAQ,MAAA,CAANA,KAAK,CAAE,CAAC;aACzB;QACL,CAAC;MACH,CACJ;AACN,CAAC,CAAC"}