@mantis-core/ui 0.5.0 → 0.6.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 (379) hide show
  1. package/CHANGELOG.md +144 -0
  2. package/COMPONENTS.md +71 -73
  3. package/README.md +13 -6
  4. package/catalog.json +3031 -0
  5. package/dist/components/Buttons/Button.d.ts +39 -9
  6. package/dist/components/Buttons/Button.d.ts.map +1 -1
  7. package/dist/components/Buttons/Button.js +21 -13
  8. package/dist/components/Buttons/Button.js.map +1 -1
  9. package/dist/components/Forms/AutoCompleteField.d.ts +60 -0
  10. package/dist/components/Forms/AutoCompleteField.d.ts.map +1 -0
  11. package/dist/components/Forms/AutoCompleteField.js +125 -0
  12. package/dist/components/Forms/AutoCompleteField.js.map +1 -0
  13. package/dist/components/Forms/CKEditorInput.d.ts +5 -2
  14. package/dist/components/Forms/CKEditorInput.d.ts.map +1 -1
  15. package/dist/components/Forms/CKEditorInput.js +5 -2
  16. package/dist/components/Forms/CKEditorInput.js.map +1 -1
  17. package/dist/components/Forms/CheckboxField.d.ts +14 -0
  18. package/dist/components/Forms/CheckboxField.d.ts.map +1 -0
  19. package/dist/components/Forms/CheckboxField.js +26 -0
  20. package/dist/components/Forms/CheckboxField.js.map +1 -0
  21. package/dist/components/Forms/ColorPickerInput.d.ts +27 -8
  22. package/dist/components/Forms/ColorPickerInput.d.ts.map +1 -1
  23. package/dist/components/Forms/ColorPickerInput.js +57 -11
  24. package/dist/components/Forms/ColorPickerInput.js.map +1 -1
  25. package/dist/components/Forms/DateField.d.ts +68 -0
  26. package/dist/components/Forms/DateField.d.ts.map +1 -0
  27. package/dist/components/Forms/DateField.js +108 -0
  28. package/dist/components/Forms/DateField.js.map +1 -0
  29. package/dist/components/Forms/DatePresets.d.ts.map +1 -1
  30. package/dist/components/Forms/DatePresets.js +6 -3
  31. package/dist/components/Forms/DatePresets.js.map +1 -1
  32. package/dist/components/Forms/FieldShell.d.ts +24 -0
  33. package/dist/components/Forms/FieldShell.d.ts.map +1 -0
  34. package/dist/components/Forms/FieldShell.js +39 -0
  35. package/dist/components/Forms/FieldShell.js.map +1 -0
  36. package/dist/components/Forms/FileDropzone.d.ts +4 -2
  37. package/dist/components/Forms/FileDropzone.d.ts.map +1 -1
  38. package/dist/components/Forms/FileDropzone.js.map +1 -1
  39. package/dist/components/Forms/FormActionsBar.js +2 -2
  40. package/dist/components/Forms/FormActionsBar.js.map +1 -1
  41. package/dist/components/Forms/FormWizard.d.ts +1 -1
  42. package/dist/components/Forms/FormWizard.d.ts.map +1 -1
  43. package/dist/components/Forms/FormWizard.js +4 -5
  44. package/dist/components/Forms/FormWizard.js.map +1 -1
  45. package/dist/components/Forms/HiddenField.d.ts +12 -6
  46. package/dist/components/Forms/HiddenField.d.ts.map +1 -1
  47. package/dist/components/Forms/HiddenField.js +14 -5
  48. package/dist/components/Forms/HiddenField.js.map +1 -1
  49. package/dist/components/Forms/MaskField.d.ts +28 -0
  50. package/dist/components/Forms/MaskField.d.ts.map +1 -0
  51. package/dist/components/Forms/MaskField.js +74 -0
  52. package/dist/components/Forms/MaskField.js.map +1 -0
  53. package/dist/components/Forms/NumberField.d.ts +14 -0
  54. package/dist/components/Forms/NumberField.d.ts.map +1 -0
  55. package/dist/components/Forms/NumberField.js +51 -0
  56. package/dist/components/Forms/NumberField.js.map +1 -0
  57. package/dist/components/Forms/OtpInput.d.ts +23 -8
  58. package/dist/components/Forms/OtpInput.d.ts.map +1 -1
  59. package/dist/components/Forms/OtpInput.js +37 -8
  60. package/dist/components/Forms/OtpInput.js.map +1 -1
  61. package/dist/components/Forms/PasswordInput.d.ts +22 -9
  62. package/dist/components/Forms/PasswordInput.d.ts.map +1 -1
  63. package/dist/components/Forms/PasswordInput.js +63 -28
  64. package/dist/components/Forms/PasswordInput.js.map +1 -1
  65. package/dist/components/Forms/PhoneInput.d.ts +16 -8
  66. package/dist/components/Forms/PhoneInput.d.ts.map +1 -1
  67. package/dist/components/Forms/PhoneInput.js +13 -6
  68. package/dist/components/Forms/PhoneInput.js.map +1 -1
  69. package/dist/components/Forms/RadioGroup.d.ts +34 -13
  70. package/dist/components/Forms/RadioGroup.d.ts.map +1 -1
  71. package/dist/components/Forms/RadioGroup.js +49 -6
  72. package/dist/components/Forms/RadioGroup.js.map +1 -1
  73. package/dist/components/Forms/RangeSlider.d.ts +26 -11
  74. package/dist/components/Forms/RangeSlider.d.ts.map +1 -1
  75. package/dist/components/Forms/RangeSlider.js +40 -7
  76. package/dist/components/Forms/RangeSlider.js.map +1 -1
  77. package/dist/components/Forms/RatingInput.d.ts +24 -8
  78. package/dist/components/Forms/RatingInput.d.ts.map +1 -1
  79. package/dist/components/Forms/RatingInput.js +41 -9
  80. package/dist/components/Forms/RatingInput.js.map +1 -1
  81. package/dist/components/Forms/SearchInput.d.ts +18 -10
  82. package/dist/components/Forms/SearchInput.d.ts.map +1 -1
  83. package/dist/components/Forms/SearchInput.js +44 -23
  84. package/dist/components/Forms/SearchInput.js.map +1 -1
  85. package/dist/components/Forms/SelectField.d.ts +41 -0
  86. package/dist/components/Forms/SelectField.d.ts.map +1 -0
  87. package/dist/components/Forms/SelectField.js +110 -0
  88. package/dist/components/Forms/SelectField.js.map +1 -0
  89. package/dist/components/Forms/SwitchField.d.ts +14 -0
  90. package/dist/components/Forms/SwitchField.d.ts.map +1 -0
  91. package/dist/components/Forms/SwitchField.js +26 -0
  92. package/dist/components/Forms/SwitchField.js.map +1 -0
  93. package/dist/components/Forms/TagsInput.d.ts +29 -8
  94. package/dist/components/Forms/TagsInput.d.ts.map +1 -1
  95. package/dist/components/Forms/TagsInput.js +53 -9
  96. package/dist/components/Forms/TagsInput.js.map +1 -1
  97. package/dist/components/Forms/TextArea.d.ts +13 -10
  98. package/dist/components/Forms/TextArea.d.ts.map +1 -1
  99. package/dist/components/Forms/TextArea.js +27 -9
  100. package/dist/components/Forms/TextArea.js.map +1 -1
  101. package/dist/components/Forms/TextField.d.ts +14 -0
  102. package/dist/components/Forms/TextField.d.ts.map +1 -0
  103. package/dist/components/Forms/TextField.js +29 -0
  104. package/dist/components/Forms/TextField.js.map +1 -0
  105. package/dist/components/Forms/ToggleInlineButton.d.ts +33 -12
  106. package/dist/components/Forms/ToggleInlineButton.d.ts.map +1 -1
  107. package/dist/components/Forms/ToggleInlineButton.js +56 -6
  108. package/dist/components/Forms/ToggleInlineButton.js.map +1 -1
  109. package/dist/components/Forms/UploadFilesPreview.js +3 -3
  110. package/dist/components/Forms/UploadFilesPreview.js.map +1 -1
  111. package/dist/components/Forms/field-typing.test-d.d.ts +2 -0
  112. package/dist/components/Forms/field-typing.test-d.d.ts.map +1 -0
  113. package/dist/components/Forms/field-typing.test-d.js +24 -0
  114. package/dist/components/Forms/field-typing.test-d.js.map +1 -0
  115. package/dist/components/Forms/useFieldController.d.ts +85 -0
  116. package/dist/components/Forms/useFieldController.d.ts.map +1 -0
  117. package/dist/components/Forms/useFieldController.js +54 -0
  118. package/dist/components/Forms/useFieldController.js.map +1 -0
  119. package/dist/components/Loaders/Loading.d.ts.map +1 -1
  120. package/dist/components/Loaders/Loading.js +3 -2
  121. package/dist/components/Loaders/Loading.js.map +1 -1
  122. package/dist/components/Tables/ActionColumn.d.ts +20 -4
  123. package/dist/components/Tables/ActionColumn.d.ts.map +1 -1
  124. package/dist/components/Tables/ActionColumn.js +24 -5
  125. package/dist/components/Tables/ActionColumn.js.map +1 -1
  126. package/dist/components/Tables/FilterPannel.d.ts +9 -2
  127. package/dist/components/Tables/FilterPannel.d.ts.map +1 -1
  128. package/dist/components/Tables/FilterPannel.js +15 -11
  129. package/dist/components/Tables/FilterPannel.js.map +1 -1
  130. package/dist/components/Tables/IndexColumn.d.ts +12 -3
  131. package/dist/components/Tables/IndexColumn.d.ts.map +1 -1
  132. package/dist/components/Tables/IndexColumn.js +21 -5
  133. package/dist/components/Tables/IndexColumn.js.map +1 -1
  134. package/dist/components/Tables/MantisDataTable.d.ts +45 -0
  135. package/dist/components/Tables/MantisDataTable.d.ts.map +1 -0
  136. package/dist/components/Tables/MantisDataTable.js +63 -0
  137. package/dist/components/Tables/MantisDataTable.js.map +1 -0
  138. package/dist/components/Tables/MenuButton.d.ts +28 -7
  139. package/dist/components/Tables/MenuButton.d.ts.map +1 -1
  140. package/dist/components/Tables/MenuButton.js +20 -10
  141. package/dist/components/Tables/MenuButton.js.map +1 -1
  142. package/dist/components/Tables/PaginatedTable.d.ts +26 -17
  143. package/dist/components/Tables/PaginatedTable.d.ts.map +1 -1
  144. package/dist/components/Tables/PaginatedTable.js +24 -22
  145. package/dist/components/Tables/PaginatedTable.js.map +1 -1
  146. package/dist/components/Tables/cell-presets.d.ts +35 -0
  147. package/dist/components/Tables/cell-presets.d.ts.map +1 -0
  148. package/dist/components/Tables/cell-presets.js +40 -0
  149. package/dist/components/Tables/cell-presets.js.map +1 -0
  150. package/dist/components/Tables/columns.d.ts +40 -0
  151. package/dist/components/Tables/columns.d.ts.map +1 -0
  152. package/dist/components/Tables/columns.js +2 -0
  153. package/dist/components/Tables/columns.js.map +1 -0
  154. package/dist/components/Tables/filters/MultiSelectFilter.d.ts +24 -6
  155. package/dist/components/Tables/filters/MultiSelectFilter.d.ts.map +1 -1
  156. package/dist/components/Tables/filters/MultiSelectFilter.js +19 -6
  157. package/dist/components/Tables/filters/MultiSelectFilter.js.map +1 -1
  158. package/dist/components/auth/ChangePasswordForm.d.ts.map +1 -1
  159. package/dist/components/auth/ChangePasswordForm.js +12 -12
  160. package/dist/components/auth/ChangePasswordForm.js.map +1 -1
  161. package/dist/components/auth/ForgotPasswordForm.d.ts.map +1 -1
  162. package/dist/components/auth/ForgotPasswordForm.js +7 -5
  163. package/dist/components/auth/ForgotPasswordForm.js.map +1 -1
  164. package/dist/components/auth/LoginForm.d.ts +2 -2
  165. package/dist/components/auth/LoginForm.d.ts.map +1 -1
  166. package/dist/components/auth/LoginForm.js +15 -15
  167. package/dist/components/auth/LoginForm.js.map +1 -1
  168. package/dist/components/auth/ResetPasswordForm.d.ts.map +1 -1
  169. package/dist/components/auth/ResetPasswordForm.js +11 -12
  170. package/dist/components/auth/ResetPasswordForm.js.map +1 -1
  171. package/dist/components/auth/UserMenu.d.ts +11 -1
  172. package/dist/components/auth/UserMenu.d.ts.map +1 -1
  173. package/dist/components/auth/UserMenu.js +30 -87
  174. package/dist/components/auth/UserMenu.js.map +1 -1
  175. package/dist/components/data/Timeline.d.ts +2 -2
  176. package/dist/components/data/Timeline.d.ts.map +1 -1
  177. package/dist/components/data/Timeline.js +17 -17
  178. package/dist/components/data/Timeline.js.map +1 -1
  179. package/dist/components/feedback/Avatar.d.ts +4 -2
  180. package/dist/components/feedback/Avatar.d.ts.map +1 -1
  181. package/dist/components/feedback/Avatar.js +4 -4
  182. package/dist/components/feedback/Avatar.js.map +1 -1
  183. package/dist/components/feedback/CardSkeleton.d.ts.map +1 -1
  184. package/dist/components/feedback/CardSkeleton.js +3 -3
  185. package/dist/components/feedback/CardSkeleton.js.map +1 -1
  186. package/dist/components/feedback/TableSkeleton.d.ts.map +1 -1
  187. package/dist/components/feedback/TableSkeleton.js +3 -3
  188. package/dist/components/feedback/TableSkeleton.js.map +1 -1
  189. package/dist/components/feedback/Tag.d.ts +4 -2
  190. package/dist/components/feedback/Tag.d.ts.map +1 -1
  191. package/dist/components/feedback/Tag.js +4 -4
  192. package/dist/components/feedback/Tag.js.map +1 -1
  193. package/dist/components/navigation/CommandPalette.d.ts.map +1 -1
  194. package/dist/components/navigation/CommandPalette.js +5 -2
  195. package/dist/components/navigation/CommandPalette.js.map +1 -1
  196. package/dist/components/navigation/PageTabs.d.ts +10 -8
  197. package/dist/components/navigation/PageTabs.d.ts.map +1 -1
  198. package/dist/components/navigation/PageTabs.js +17 -13
  199. package/dist/components/navigation/PageTabs.js.map +1 -1
  200. package/dist/components/overlays/Drawer.d.ts +16 -3
  201. package/dist/components/overlays/Drawer.d.ts.map +1 -1
  202. package/dist/components/overlays/Drawer.js +9 -5
  203. package/dist/components/overlays/Drawer.js.map +1 -1
  204. package/dist/components/overlays/Modal.d.ts +18 -3
  205. package/dist/components/overlays/Modal.d.ts.map +1 -1
  206. package/dist/components/overlays/Modal.js +13 -5
  207. package/dist/components/overlays/Modal.js.map +1 -1
  208. package/dist/components/pages/app-shell/AppShell.d.ts.map +1 -1
  209. package/dist/components/pages/app-shell/AppShell.js +6 -6
  210. package/dist/components/pages/app-shell/AppShell.js.map +1 -1
  211. package/dist/components/ui/ConfirmDialog.d.ts +1 -2
  212. package/dist/components/ui/ConfirmDialog.d.ts.map +1 -1
  213. package/dist/components/ui/ConfirmDialog.js +10 -4
  214. package/dist/components/ui/ConfirmDialog.js.map +1 -1
  215. package/dist/components/ui/DataState.js +2 -2
  216. package/dist/components/ui/DataState.js.map +1 -1
  217. package/dist/index.d.ts +71 -42
  218. package/dist/index.d.ts.map +1 -1
  219. package/dist/index.js +114 -22
  220. package/dist/index.js.map +1 -1
  221. package/docs/README.md +1 -1
  222. package/docs/components/action-column.md +33 -7
  223. package/docs/components/admin-page-configurator.md +24 -5
  224. package/docs/components/admin-page-header.md +21 -3
  225. package/docs/components/admin-page-layout-shell.md +18 -4
  226. package/docs/components/admin-page-layout.md +34 -5
  227. package/docs/components/app-shell.md +31 -6
  228. package/docs/components/auto-complete-field.md +60 -0
  229. package/docs/components/avatar.md +18 -8
  230. package/docs/components/bar-chart.md +25 -7
  231. package/docs/components/breadcrumbs.md +15 -2
  232. package/docs/components/button.md +34 -15
  233. package/docs/components/card-skeleton.md +9 -3
  234. package/docs/components/change-password-form.md +23 -4
  235. package/docs/components/checkbox-field.md +38 -0
  236. package/docs/components/ckeditor-input.md +40 -8
  237. package/docs/components/color-picker-input.md +19 -8
  238. package/docs/components/command-palette.md +23 -2
  239. package/docs/components/confirm-dialog.md +36 -9
  240. package/docs/components/data-state.md +31 -6
  241. package/docs/components/date-field.md +39 -0
  242. package/docs/components/date-presets.md +19 -5
  243. package/docs/components/description-list.md +20 -2
  244. package/docs/components/dirty-form-guard.md +16 -4
  245. package/docs/components/donut-chart.md +24 -7
  246. package/docs/components/drawer.md +27 -8
  247. package/docs/components/empty-state.md +12 -2
  248. package/docs/components/error-boundary.md +16 -2
  249. package/docs/components/error-message.md +22 -3
  250. package/docs/components/field-shell.md +47 -0
  251. package/docs/components/file-dropzone.md +22 -6
  252. package/docs/components/filter-pannel.md +34 -7
  253. package/docs/components/forgot-password-form.md +23 -5
  254. package/docs/components/form-actions-bar.md +21 -2
  255. package/docs/components/form-field-render.md +36 -8
  256. package/docs/components/form-section.md +13 -1
  257. package/docs/components/form-wizard.md +34 -5
  258. package/docs/components/hidden-field.md +22 -6
  259. package/docs/components/index-column.md +25 -5
  260. package/docs/components/line-chart.md +25 -7
  261. package/docs/components/loading.md +14 -5
  262. package/docs/components/login-form.md +31 -6
  263. package/docs/components/mantis-data-table.md +61 -0
  264. package/docs/components/map-picker-client.md +29 -8
  265. package/docs/components/map-picker-osm.md +27 -9
  266. package/docs/components/map-picker.md +25 -4
  267. package/docs/components/mask-field.md +31 -0
  268. package/docs/components/menu-button.md +22 -7
  269. package/docs/components/modal.md +34 -9
  270. package/docs/components/multi-select-filter.md +25 -7
  271. package/docs/components/number-field.md +40 -0
  272. package/docs/components/otp-input.md +20 -7
  273. package/docs/components/page-tabs.md +23 -4
  274. package/docs/components/page-title.md +6 -1
  275. package/docs/components/paginated-table.md +36 -13
  276. package/docs/components/pagination.md +20 -7
  277. package/docs/components/password-input.md +20 -8
  278. package/docs/components/phone-input.md +17 -7
  279. package/docs/components/radio-group.md +39 -9
  280. package/docs/components/range-slider.md +18 -6
  281. package/docs/components/rating-input.md +19 -8
  282. package/docs/components/render-field.md +31 -3
  283. package/docs/components/reset-password-form.md +24 -4
  284. package/docs/components/rich-text-preview.md +17 -5
  285. package/docs/components/search-input.md +18 -7
  286. package/docs/components/select-field.md +55 -0
  287. package/docs/components/stat-card.md +14 -3
  288. package/docs/components/status-badge.md +17 -7
  289. package/docs/components/switch-field.md +32 -0
  290. package/docs/components/table-filter-field.md +22 -4
  291. package/docs/components/table-skeleton.md +9 -3
  292. package/docs/components/table-toolbar.md +18 -5
  293. package/docs/components/tag.md +16 -7
  294. package/docs/components/tags-input.md +21 -8
  295. package/docs/components/text-area.md +18 -8
  296. package/docs/components/text-field.md +32 -0
  297. package/docs/components/timeline.md +19 -3
  298. package/docs/components/toggle-inline-button.md +42 -10
  299. package/docs/components/upload-files-preview.md +23 -2
  300. package/docs/components/use-field-controller.md +58 -0
  301. package/docs/components/user-menu.md +26 -6
  302. package/docs/contracts/STORYBOOK_IMPLEMENTATION_AND_VOBO.md +92 -0
  303. package/docs/contracts/STORYBOOK_VOBO_LEDGER.md +195 -0
  304. package/docs/contracts/component-doc-schema.md +57 -15
  305. package/docs/contracts/dependency-map.md +50 -52
  306. package/docs/contracts/field-controller.md +138 -0
  307. package/docs/contracts/style-imports.md +1 -20
  308. package/llms.txt +70 -72
  309. package/package.json +39 -10
  310. package/dist/components/Forms/AsyncSelect.d.ts +0 -20
  311. package/dist/components/Forms/AsyncSelect.d.ts.map +0 -1
  312. package/dist/components/Forms/AsyncSelect.js +0 -77
  313. package/dist/components/Forms/AsyncSelect.js.map +0 -1
  314. package/dist/components/Forms/Combobox.d.ts +0 -10
  315. package/dist/components/Forms/Combobox.d.ts.map +0 -1
  316. package/dist/components/Forms/Combobox.js +0 -11
  317. package/dist/components/Forms/Combobox.js.map +0 -1
  318. package/dist/components/Forms/CurrencyInput.d.ts +0 -12
  319. package/dist/components/Forms/CurrencyInput.d.ts.map +0 -1
  320. package/dist/components/Forms/CurrencyInput.js +0 -9
  321. package/dist/components/Forms/CurrencyInput.js.map +0 -1
  322. package/dist/components/Forms/DateInput.d.ts +0 -10
  323. package/dist/components/Forms/DateInput.d.ts.map +0 -1
  324. package/dist/components/Forms/DateInput.js +0 -11
  325. package/dist/components/Forms/DateInput.js.map +0 -1
  326. package/dist/components/Forms/DateRangeInput.d.ts +0 -10
  327. package/dist/components/Forms/DateRangeInput.d.ts.map +0 -1
  328. package/dist/components/Forms/DateRangeInput.js +0 -13
  329. package/dist/components/Forms/DateRangeInput.js.map +0 -1
  330. package/dist/components/Forms/DropDown.d.ts +0 -10
  331. package/dist/components/Forms/DropDown.d.ts.map +0 -1
  332. package/dist/components/Forms/DropDown.js +0 -11
  333. package/dist/components/Forms/DropDown.js.map +0 -1
  334. package/dist/components/Forms/MultiSelect.d.ts +0 -10
  335. package/dist/components/Forms/MultiSelect.d.ts.map +0 -1
  336. package/dist/components/Forms/MultiSelect.js +0 -13
  337. package/dist/components/Forms/MultiSelect.js.map +0 -1
  338. package/dist/components/Forms/NumberInput.d.ts +0 -10
  339. package/dist/components/Forms/NumberInput.d.ts.map +0 -1
  340. package/dist/components/Forms/NumberInput.js +0 -16
  341. package/dist/components/Forms/NumberInput.js.map +0 -1
  342. package/dist/components/Forms/Select.d.ts +0 -15
  343. package/dist/components/Forms/Select.d.ts.map +0 -1
  344. package/dist/components/Forms/Select.js +0 -48
  345. package/dist/components/Forms/Select.js.map +0 -1
  346. package/dist/components/Forms/Switch.d.ts +0 -18
  347. package/dist/components/Forms/Switch.d.ts.map +0 -1
  348. package/dist/components/Forms/Switch.js +0 -30
  349. package/dist/components/Forms/Switch.js.map +0 -1
  350. package/dist/components/Forms/TextInput.d.ts +0 -11
  351. package/dist/components/Forms/TextInput.d.ts.map +0 -1
  352. package/dist/components/Forms/TextInput.js +0 -12
  353. package/dist/components/Forms/TextInput.js.map +0 -1
  354. package/dist/components/Forms/TimePicker.d.ts +0 -13
  355. package/dist/components/Forms/TimePicker.d.ts.map +0 -1
  356. package/dist/components/Forms/TimePicker.js +0 -19
  357. package/dist/components/Forms/TimePicker.js.map +0 -1
  358. package/dist/components/Forms/Toggle.d.ts +0 -14
  359. package/dist/components/Forms/Toggle.d.ts.map +0 -1
  360. package/dist/components/Forms/Toggle.js +0 -10
  361. package/dist/components/Forms/Toggle.js.map +0 -1
  362. package/dist/components/Forms/types.d.ts +0 -9
  363. package/dist/components/Forms/types.d.ts.map +0 -1
  364. package/dist/components/Forms/types.js +0 -2
  365. package/dist/components/Forms/types.js.map +0 -1
  366. package/docs/components/async-select.md +0 -27
  367. package/docs/components/combobox.md +0 -19
  368. package/docs/components/currency-input.md +0 -21
  369. package/docs/components/date-input.md +0 -21
  370. package/docs/components/date-range-input.md +0 -20
  371. package/docs/components/drop-down.md +0 -26
  372. package/docs/components/multi-select.md +0 -22
  373. package/docs/components/number-input.md +0 -21
  374. package/docs/components/select.md +0 -28
  375. package/docs/components/switch.md +0 -24
  376. package/docs/components/text-input.md +0 -24
  377. package/docs/components/time-picker.md +0 -25
  378. package/docs/components/toggle.md +0 -24
  379. package/docs/contracts/controller-props.md +0 -28
@@ -0,0 +1,63 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { ChevronDown } from "@primeicons/react/chevron-down";
4
+ import { DataTable } from "@primereact/ui/datatable";
5
+ import { InputText } from "@primereact/ui/inputtext";
6
+ import { Select } from "@primereact/ui/select";
7
+ function resolveCell(col, item, index) {
8
+ // Escape hatch wins, then preset, else the raw string value.
9
+ if (col.body)
10
+ return col.body(item, index);
11
+ if (col.cell)
12
+ return col.cell(item, col.field);
13
+ return String(item[col.field] ?? "");
14
+ }
15
+ /**
16
+ * Themed `dropdown` filter — the PR11 Select compound bound to a page-owned
17
+ * scalar value (not RHF). Mirrors SelectField's compound tree so it inherits the
18
+ * same design tokens; an empty selection clears the filter.
19
+ */
20
+ function DropdownFilter(props) {
21
+ return (_jsxs(Select.Root, { className: "mt-1", value: props.value === "" ? null : props.value, onValueChange: (e) => props.onChange(e.value ?? ""), options: props.options, optionLabel: "label", optionValue: "value", size: "small", children: [_jsxs(Select.Trigger, { type: "button", children: [_jsx(Select.Value, { placeholder: "Todos" }), _jsx(Select.Clear, {}), _jsx(Select.Indicator, { children: _jsx(ChevronDown, {}) })] }), _jsx(Select.Portal, { children: _jsx(Select.Positioner, { children: _jsxs(Select.Popup, { children: [_jsx(Select.List, {}), _jsx(Select.Empty, {})] }) }) })] }));
22
+ }
23
+ function FilterControl(props) {
24
+ if (props.kind === "dropdown") {
25
+ return _jsx(DropdownFilter, { options: props.options ?? [], value: props.value, onChange: props.onChange });
26
+ }
27
+ return (_jsx(InputText, { value: props.value, onChange: (e) => props.onChange(e.target.value), placeholder: "Filtrar\u2026", className: "mt-1 text-xs", fluid: true }));
28
+ }
29
+ /**
30
+ * Compact themed pager. `DataTable.Pagination` is a HEADLESS render-prop part
31
+ * (it renders nothing itself), so the wrapper composes the actual controls from
32
+ * the exposed instance: page indicator + prev/next, wired to `onPageChange`.
33
+ * PR11's Root reads `paginator`/`rows`/`page`/`onPageChange`/`onLazyLoad` — this
34
+ * only draws the UI; Root owns the state and fires the page-change callback.
35
+ */
36
+ function Pager(dt) {
37
+ // PR11 spreads the Pagination `Exposes` directly onto the instance.
38
+ const { page, pageCount, first, rows, totalRecords, canPrev, canNext, onPageChange } = dt;
39
+ const from = totalRecords === 0 ? 0 : first + 1;
40
+ const to = Math.min(first + rows, totalRecords);
41
+ return (_jsxs("div", { className: "mantis-core-datatable-pager flex items-center justify-end gap-2 py-2 text-sm", children: [_jsxs("span", { className: "text-surface-500", children: [from, "\u2013", to, " / ", totalRecords] }), _jsx("button", { type: "button", "aria-label": "P\u00E1gina anterior", className: "p-button p-button-text p-button-sm", disabled: !canPrev, onClick: (e) => onPageChange?.(e, page - 1), children: _jsx("span", { className: "p-button-icon pi pi-chevron-left", "aria-hidden": true }) }), _jsxs("span", { "aria-current": "page", children: [pageCount === 0 ? 0 : page + 1, " / ", pageCount] }), _jsx("button", { type: "button", "aria-label": "P\u00E1gina siguiente", className: "p-button p-button-text p-button-sm", disabled: !canNext, onClick: (e) => onPageChange?.(e, page + 1), children: _jsx("span", { className: "p-button-icon pi pi-chevron-right", "aria-hidden": true }) })] }));
42
+ }
43
+ export function MantisDataTable(props) {
44
+ const { rows, columns, rowsPerPage, selectable = false, emptyMessage = "No records", filters = {}, onFilterChange,
45
+ // Opinionated defaults — still overridable via the passthrough.
46
+ stripedRows = true, showGridlines = true, ...root } = props;
47
+ const colSpan = columns.length + (selectable ? 1 : 0);
48
+ return (_jsxs(DataTable.Root, { data: rows, rows: rowsPerPage, stripedRows: stripedRows, showGridlines: showGridlines, ...root, children: [_jsx(DataTable.TableContainer, { children: _jsxs(DataTable.Table, { children: [_jsx(DataTable.THead, { children: _jsxs(DataTable.THeadRow, { children: [selectable && _jsx(DataTable.THeadCell, { style: { width: "3rem" } }), columns.map((col) => {
49
+ const filterNode = col.filterElement
50
+ ? col.filterElement({
51
+ value: filters[col.field] ?? "",
52
+ onChange: (v) => onFilterChange?.(col.field, v),
53
+ })
54
+ : col.filter
55
+ ? (_jsx(FilterControl, { kind: col.filter, options: col.filterOptions, value: filters[col.field] ?? "", onChange: (v) => onFilterChange?.(col.field, v) }))
56
+ : null;
57
+ return (_jsxs(DataTable.THeadCell, { style: col.width ? { width: col.width } : undefined, children: [_jsxs("div", { className: "flex items-center gap-1", children: [col.header, col.sortable && _jsx(DataTable.Sort, { field: col.field })] }), filterNode] }, col.field));
58
+ })] }) }), _jsx(DataTable.TBody, { children: (instance) => {
59
+ const item = instance.item;
60
+ return (_jsxs(DataTable.Row, { index: instance.index, children: [selectable && (_jsx(DataTable.Cell, { children: _jsx(DataTable.Selection, { mode: "checkbox" }) })), columns.map((col) => (_jsx(DataTable.Cell, { children: resolveCell(col, item, instance.index) }, col.field)))] }, instance.index));
61
+ } }), _jsx(DataTable.EmptyTBody, { children: _jsx("tr", { children: _jsx("td", { colSpan: colSpan, className: "text-center text-surface-500 py-6", children: emptyMessage }) }) })] }) }), _jsx(DataTable.Loading, {}), root.paginator ? (_jsx(DataTable.Pagination, { children: (dt) => Pager(dt) })) : null] }));
62
+ }
63
+ //# sourceMappingURL=MantisDataTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MantisDataTable.js","sourceRoot":"","sources":["../../../src/components/Tables/MantisDataTable.tsx"],"names":[],"mappings":"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"}
@@ -1,14 +1,35 @@
1
- import type { MenuItem } from "primereact/menuitem";
2
- import type { FC } from "react";
3
- export interface ActionMenuItem extends MenuItem {
4
- route?: string | undefined;
5
- items?: ActionMenuItem[] | ActionMenuItem[][] | undefined;
1
+ import type { ReactNode } from "react";
2
+ /**
3
+ * A single row-action entry. Either navigate (`route`) or run a `command`.
4
+ * `route` wins when both are set (mirrors the PR10 behaviour).
5
+ */
6
+ export interface ActionMenuItem {
7
+ /** Stable key + the label shown in the menu. */
8
+ label: string;
9
+ /** PrimeIcons class (e.g. `pi pi-pencil`) rendered before the label. */
10
+ icon?: string;
11
+ /** Internal path — navigated via next/router on select. */
12
+ route?: string;
13
+ /** Custom handler on select. Ignored when `route` is set. */
14
+ command?: () => void;
15
+ /** Disable this entry. */
16
+ disabled?: boolean;
6
17
  }
7
18
  export interface MenuButtonProps {
19
+ /** Trigger button label. */
8
20
  label?: string;
21
+ /** Trigger button icon (PrimeIcons class). Default: cog. */
9
22
  icon?: string;
23
+ /** The menu entries. */
10
24
  items?: ActionMenuItem[];
11
25
  }
12
- declare const MenuButton: FC<MenuButtonProps>;
13
- export default MenuButton;
26
+ /**
27
+ * Row-action overlay menu. Migrated to PR11's compound `Menu`: `Menu.Root` owns
28
+ * its own open state and `Menu.Trigger` toggles the portal-based popup, so the
29
+ * PR10 manual `ref.current.toggle` is gone. The trigger renders the migrated PR11
30
+ * `Button` via `as={Button}` (PR11 `asChild` does NOT wire the trigger — no
31
+ * aria-haspopup, overlay never opens). `route` entries navigate through next/router; `command`
32
+ * entries run their handler. Disabled items never fire `onSelect`.
33
+ */
34
+ export default function MenuButton({ icon, label, items }: MenuButtonProps): ReactNode;
14
35
  //# sourceMappingURL=MenuButton.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuButton.d.ts","sourceRoot":"","sources":["../../../src/components/Tables/MenuButton.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAGpD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAGhC,MAAM,WAAW,cAAe,SAAQ,QAAQ;IAC9C,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE,EAAE,GAAG,SAAS,CAAC;CAC3D;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;CAC1B;AAED,QAAA,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CAcnC,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"MenuButton.d.ts","sourceRoot":"","sources":["../../../src/components/Tables/MenuButton.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,4BAA4B;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wBAAwB;IACxB,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;CAC1B;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAAE,IAAkB,EAAE,KAAK,EAAE,KAAU,EAAE,EAAE,eAAe,GAAG,SAAS,CAmCxG"}
@@ -1,15 +1,25 @@
1
1
  "use client";
2
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { Menu } from "@primereact/ui/menu";
3
4
  import { useRouter } from "next/navigation";
4
- import { PrimeIcons } from "primereact/api";
5
- import { TieredMenu } from "primereact/tieredmenu";
6
- import { useRef } from "react";
7
5
  import Button from "../Buttons/Button";
8
- const MenuButton = ({ icon = PrimeIcons.COG, label, items = [] }) => {
9
- const ref = useRef(null);
6
+ /**
7
+ * Row-action overlay menu. Migrated to PR11's compound `Menu`: `Menu.Root` owns
8
+ * its own open state and `Menu.Trigger` toggles the portal-based popup, so the
9
+ * PR10 manual `ref.current.toggle` is gone. The trigger renders the migrated PR11
10
+ * `Button` via `as={Button}` (PR11 `asChild` does NOT wire the trigger — no
11
+ * aria-haspopup, overlay never opens). `route` entries navigate through next/router; `command`
12
+ * entries run their handler. Disabled items never fire `onSelect`.
13
+ */
14
+ export default function MenuButton({ icon = "pi pi-cog", label, items = [] }) {
10
15
  const router = useRouter();
11
- const model = items.map(({ route, ...item }) => route ? { ...item, command: () => router.push(route) } : item);
12
- return (_jsxs(_Fragment, { children: [_jsx(TieredMenu, { popup: true, id: label, ref: ref, model: model }), _jsx(Button, { label: label, icon: icon, onClick: (e) => ref.current?.toggle(e), outlined: true, sm: true })] }));
13
- };
14
- export default MenuButton;
16
+ const select = (item) => () => {
17
+ if (item.route) {
18
+ router.push(item.route);
19
+ return;
20
+ }
21
+ item.command?.();
22
+ };
23
+ return (_jsxs(Menu.Root, { children: [_jsx(Menu.Trigger, { as: Button, label: label, icon: icon, outlined: true, sm: true, type: "button" }), _jsx(Menu.Portal, { children: _jsx(Menu.Positioner, { children: _jsx(Menu.Popup, { children: _jsx(Menu.List, { children: items.map((item) => (_jsxs(Menu.Item, { value: item.label, disabled: item.disabled, onSelect: select(item), children: [item.icon && _jsx("span", { className: `${item.icon} mr-2`, "aria-hidden": true }), item.label] }, item.label))) }) }) }) })] }));
24
+ }
15
25
  //# sourceMappingURL=MenuButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuButton.js","sourceRoot":"","sources":["../../../src/components/Tables/MenuButton.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE/B,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAavC,MAAM,UAAU,GAAwB,CAAC,EAAE,IAAI,GAAG,UAAU,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,GAAG,EAAE,EAAE,EAAE,EAAE;IACvF,MAAM,GAAG,GAAG,MAAM,CAAa,IAAI,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAC7C,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAC9D,CAAC;IAEF,OAAO,CACL,8BACE,KAAC,UAAU,IAAC,KAAK,QAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,GAAI,EACvD,KAAC,MAAM,IAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,QAAC,EAAE,SAAG,IACvF,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"MenuButton.js","sourceRoot":"","sources":["../../../src/components/Tables/MenuButton.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,MAAM,MAAM,mBAAmB,CAAC;AA4BvC;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAAE,IAAI,GAAG,WAAW,EAAE,KAAK,EAAE,KAAK,GAAG,EAAE,EAAmB;IAC3F,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,MAAM,MAAM,GAAG,CAAC,IAAoB,EAAE,EAAE,CAAC,GAAG,EAAE;QAC5C,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACxB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;IACnB,CAAC,CAAC;IAEF,OAAO,CACL,MAAC,IAAI,CAAC,IAAI,eACR,KAAC,IAAI,CAAC,OAAO,IAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,QAAC,EAAE,QAAC,IAAI,EAAC,QAAQ,GAAG,EAChF,KAAC,IAAI,CAAC,MAAM,cACV,KAAC,IAAI,CAAC,UAAU,cACd,KAAC,IAAI,CAAC,KAAK,cACT,KAAC,IAAI,CAAC,IAAI,cACP,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACnB,MAAC,IAAI,CAAC,IAAI,IAER,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,aAErB,IAAI,CAAC,IAAI,IAAI,eAAM,SAAS,EAAE,GAAG,IAAI,CAAC,IAAI,OAAO,wBAAgB,EACjE,IAAI,CAAC,KAAK,KANN,IAAI,CAAC,KAAK,CAOL,CACb,CAAC,GACQ,GACD,GACG,GACN,IACJ,CACb,CAAC;AACJ,CAAC"}
@@ -1,23 +1,32 @@
1
- import type { ColumnProps } from "primereact/column";
2
- import { DataTable } from "primereact/datatable";
3
- import type { DataTableBaseProps, DataTableValueArray } from "primereact/datatable";
4
- import type { ReactElement, Ref } from "react";
5
- import { type ActionColumnProps } from "./ActionColumn";
1
+ import { type ActionColumnOptions } from "./ActionColumn";
2
+ import type { ColumnDef } from "./columns";
3
+ import { type MantisDataTableProps } from "./MantisDataTable";
6
4
  import type { ActionMenuItem } from "./MenuButton";
7
- export type PaginatedTableProps<TValue extends DataTableValueArray> = DataTableBaseProps<TValue> & {
5
+ export type PaginatedTableProps<T> = MantisDataTableProps<T> & {
6
+ /** Prepend a 1-based row-number column. Default: true. */
8
7
  showIndexColumn?: boolean;
8
+ /** Overrides for the prepended index column. */
9
+ indexColumnOptions?: Partial<ColumnDef<T>>;
10
+ /** Append a row-action menu column. Default: false. */
9
11
  showActionColumn?: boolean;
10
- useMantisCoreStyles?: boolean;
11
- indexColumnProps?: ColumnProps;
12
- actionColumnProps?: ActionColumnProps;
13
- actionColumnItems?: (rowData: TValue[number]) => ActionMenuItem[];
12
+ /** Per-row action items for the appended action column. */
13
+ actionColumnItems?: (row: T) => ActionMenuItem[];
14
+ /** Overrides for the appended action column. */
15
+ actionColumnOptions?: ActionColumnOptions<T>;
14
16
  };
15
- interface PaginatedTableComponent {
16
- <TValue extends DataTableValueArray>(props: PaginatedTableProps<TValue> & {
17
- ref?: Ref<DataTable<TValue>>;
18
- }): ReactElement | null;
19
- displayName?: string;
20
- }
21
- declare const PaginatedTable: PaginatedTableComponent;
17
+ /**
18
+ * Thin paginated preset over `MantisDataTable`. Reshaped from the PR10
19
+ * children-driven `PaginatedTable` to the descriptor-driven PR11 model: it
20
+ * assembles the final `columns` array (optional index column prepended, optional
21
+ * action column appended) and forwards everything else — including the PR11
22
+ * paginator/lazy props — straight to `MantisDataTable`.
23
+ *
24
+ * Opinionated default: `paginator` on. Override any Root prop via the passthrough.
25
+ *
26
+ * @example
27
+ * <PaginatedTable rows={rows} columns={COLUMNS} showActionColumn
28
+ * actionColumnItems={(r) => [{ label: "Editar", route: `/x/${r.id}` }]} />
29
+ */
30
+ export declare function PaginatedTable<T>({ showIndexColumn, indexColumnOptions, showActionColumn, actionColumnItems, actionColumnOptions, columns, paginator, ...rest }: PaginatedTableProps<T>): import("react/jsx-runtime").JSX.Element;
22
31
  export default PaginatedTable;
23
32
  //# sourceMappingURL=PaginatedTable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PaginatedTable.d.ts","sourceRoot":"","sources":["../../../src/components/Tables/PaginatedTable.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEpF,OAAO,KAAK,EAAgB,YAAY,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC7D,OAAqB,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,MAAM,mBAAmB,CAAC,MAAM,SAAS,mBAAmB,IAAI,kBAAkB,CAAC,MAAM,CAAC,GAAG;IACjG,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,gBAAgB,CAAC,EAAE,WAAW,CAAC;IAC/B,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,cAAc,EAAE,CAAC;CACnE,CAAC;AAEF,UAAU,uBAAuB;IAC/B,CAAC,MAAM,SAAS,mBAAmB,EACjC,KAAK,EAAE,mBAAmB,CAAC,MAAM,CAAC,GAAG;QAAE,GAAG,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;KAAE,GACpE,YAAY,GAAG,IAAI,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAyED,QAAA,MAAM,cAAc,EAAsC,uBAAuB,CAAC;AAIlF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"PaginatedTable.d.ts","sourceRoot":"","sources":["../../../src/components/Tables/PaginatedTable.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAgB,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,EAAmB,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI,oBAAoB,CAAC,CAAC,CAAC,GAAG;IAC7D,0DAA0D;IAC1D,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,gDAAgD;IAChD,kBAAkB,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,uDAAuD;IACvD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,2DAA2D;IAC3D,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,cAAc,EAAE,CAAC;IACjD,gDAAgD;IAChD,mBAAmB,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;CAC9C,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,EAChC,eAAsB,EACtB,kBAAkB,EAClB,gBAAwB,EACxB,iBAA4B,EAC5B,mBAAmB,EACnB,OAAO,EACP,SAAgB,EAChB,GAAG,IAAI,EACR,EAAE,mBAAmB,CAAC,CAAC,CAAC,2CAQxB;AAED,eAAe,cAAc,CAAC"}
@@ -1,26 +1,28 @@
1
1
  "use client";
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import classNames from "classnames";
4
- import { Column } from "primereact/column";
5
- import { DataTable } from "primereact/datatable";
6
- import { forwardRef } from "react";
7
- import ActionColumn from "./ActionColumn";
8
- function PaginatedTableInner({
9
- // Mantis Core-specific props
10
- showIndexColumn = true, showActionColumn = false, useMantisCoreStyles = true, indexColumnProps, actionColumnProps, actionColumnItems = () => [],
11
- // DataTable props with Mantis Core defaults
12
- className, children, rowHover = true, paginator = true, stripedRows = true, showGridlines = true, currentPageReportTemplate = "Pagina: {currentPage}/{totalPages} | Total: {totalRecords} registros", paginatorTemplate = "FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink CurrentPageReport", sortMode = "multiple", emptyMessage = "No se ha encontrado informacion", lazy = true, removableSort = true, responsiveLayout = "scroll", size = "small", ...rest }, ref) {
13
- const mergedActionColumnProps = {
14
- ...actionColumnProps,
15
- style: {
16
- width: "7rem",
17
- ...actionColumnProps?.style,
18
- },
19
- bodyClassName: actionColumnProps?.bodyClassName ?? "mantis-core-table__cell mantis-core-table__cell--status",
20
- };
21
- return (_jsxs(DataTable, { ref: ref, className: classNames(className, { "mantis-core-table": useMantisCoreStyles }), rowHover: rowHover, paginator: paginator, stripedRows: stripedRows, showGridlines: showGridlines, currentPageReportTemplate: currentPageReportTemplate, paginatorTemplate: paginatorTemplate, sortMode: sortMode, emptyMessage: emptyMessage, lazy: lazy, removableSort: removableSort, responsiveLayout: responsiveLayout, size: size, ...rest, children: [showIndexColumn && (_jsx(Column, { header: '#', style: { width: "4rem" }, body: (_, options) => (_jsx("div", { className: 'mantis-core-table__index-cell', children: options.rowIndex + 1 })), ...indexColumnProps })), children, showActionColumn && ActionColumn(actionColumnItems, mergedActionColumnProps)] }));
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { actionColumn } from "./ActionColumn";
4
+ import { indexColumn } from "./IndexColumn";
5
+ import { MantisDataTable } from "./MantisDataTable";
6
+ /**
7
+ * Thin paginated preset over `MantisDataTable`. Reshaped from the PR10
8
+ * children-driven `PaginatedTable` to the descriptor-driven PR11 model: it
9
+ * assembles the final `columns` array (optional index column prepended, optional
10
+ * action column appended) and forwards everything else including the PR11
11
+ * paginator/lazy props straight to `MantisDataTable`.
12
+ *
13
+ * Opinionated default: `paginator` on. Override any Root prop via the passthrough.
14
+ *
15
+ * @example
16
+ * <PaginatedTable rows={rows} columns={COLUMNS} showActionColumn
17
+ * actionColumnItems={(r) => [{ label: "Editar", route: `/x/${r.id}` }]} />
18
+ */
19
+ export function PaginatedTable({ showIndexColumn = true, indexColumnOptions, showActionColumn = false, actionColumnItems = () => [], actionColumnOptions, columns, paginator = true, ...rest }) {
20
+ const finalColumns = [
21
+ ...(showIndexColumn ? [indexColumn(indexColumnOptions)] : []),
22
+ ...columns,
23
+ ...(showActionColumn ? [actionColumn(actionColumnItems, actionColumnOptions)] : []),
24
+ ];
25
+ return _jsx(MantisDataTable, { columns: finalColumns, paginator: paginator, ...rest });
22
26
  }
23
- const PaginatedTable = forwardRef(PaginatedTableInner);
24
- PaginatedTable.displayName = "PaginatedTable";
25
27
  export default PaginatedTable;
26
28
  //# sourceMappingURL=PaginatedTable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PaginatedTable.js","sourceRoot":"","sources":["../../../src/components/Tables/PaginatedTable.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,YAAwC,MAAM,gBAAgB,CAAC;AAmBtE,SAAS,mBAAmB,CAC1B;AACE,6BAA6B;AAC7B,eAAe,GAAG,IAAI,EACtB,gBAAgB,GAAG,KAAK,EACxB,mBAAmB,GAAG,IAAI,EAC1B,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,GAAG,GAAG,EAAE,CAAC,EAAE;AAC5B,4CAA4C;AAC5C,SAAS,EACT,QAAQ,EACR,QAAQ,GAAG,IAAI,EACf,SAAS,GAAG,IAAI,EAChB,WAAW,GAAG,IAAI,EAClB,aAAa,GAAG,IAAI,EACpB,yBAAyB,GAAG,sEAAsE,EAClG,iBAAiB,GAAG,kFAAkF,EACtG,QAAQ,GAAG,UAAU,EACrB,YAAY,GAAG,iCAAiC,EAChD,IAAI,GAAG,IAAI,EACX,aAAa,GAAG,IAAI,EACpB,gBAAgB,GAAG,QAAQ,EAC3B,IAAI,GAAG,OAAO,EACd,GAAG,IAAI,EACqB,EAC9B,GAAoC;IAEpC,MAAM,uBAAuB,GAAsB;QACjD,GAAG,iBAAiB;QACpB,KAAK,EAAE;YACL,KAAK,EAAE,MAAM;YACb,GAAG,iBAAiB,EAAE,KAAK;SAC5B;QACD,aAAa,EACX,iBAAiB,EAAE,aAAa,IAAI,yDAAyD;KAChG,CAAC;IAEF,OAAO,CACL,MAAC,SAAS,IACR,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,CAAC,EAC9E,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa,EAC5B,yBAAyB,EAAE,yBAAyB,EACpD,iBAAiB,EAAE,iBAAiB,EACpC,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE,IAAI,EACV,aAAa,EAAE,aAAa,EAC5B,gBAAgB,EAAE,gBAAgB,EAClC,IAAI,EAAE,IAAI,KACN,IAAI,aACP,eAAe,IAAI,CAClB,KAAC,MAAM,IACL,MAAM,EAAC,GAAG,EACV,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EACxB,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,CACpB,cAAK,SAAS,EAAC,+BAA+B,YAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,GAAO,CAC5E,KACG,gBAAgB,GACpB,CACH,EACA,QAAQ,EACR,gBAAgB,IAAI,YAAY,CAAiB,iBAAiB,EAAE,uBAAuB,CAAC,IACnF,CACb,CAAC;AACJ,CAAC;AAED,MAAM,cAAc,GAAG,UAAU,CAAC,mBAAmB,CAA4B,CAAC;AAElF,cAAc,CAAC,WAAW,GAAG,gBAAgB,CAAC;AAE9C,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"PaginatedTable.js","sourceRoot":"","sources":["../../../src/components/Tables/PaginatedTable.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,YAAY,EAA4B,MAAM,gBAAgB,CAAC;AAExE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,eAAe,EAA6B,MAAM,mBAAmB,CAAC;AAgB/E;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,cAAc,CAAI,EAChC,eAAe,GAAG,IAAI,EACtB,kBAAkB,EAClB,gBAAgB,GAAG,KAAK,EACxB,iBAAiB,GAAG,GAAG,EAAE,CAAC,EAAE,EAC5B,mBAAmB,EACnB,OAAO,EACP,SAAS,GAAG,IAAI,EAChB,GAAG,IAAI,EACgB;IACvB,MAAM,YAAY,GAAmB;QACnC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,CAAI,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,GAAG,OAAO;QACV,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAI,iBAAiB,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACvF,CAAC;IAEF,OAAO,KAAC,eAAe,IAAI,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,KAAM,IAAI,GAAI,CAAC;AACvF,CAAC;AAED,eAAe,cAAc,CAAC"}
@@ -0,0 +1,35 @@
1
+ import type { ReactNode } from "react";
2
+ /**
3
+ * Cell PRESET factories (the 90% shortcut).
4
+ *
5
+ * Each returns a body renderer `(item, field) => ReactNode` for a
6
+ * `ColumnDef.cell`. The escape hatch is `ColumnDef.body` (a raw render-prop)
7
+ * which always wins over a preset — see `resolveCell` in MantisDataTable.tsx.
8
+ *
9
+ * Promoted verbatim from the demo-prime11 proof-of-concept. Three presets prove
10
+ * the pattern; the full catalog (link/avatar/tag/progress…) lands when a
11
+ * consumer needs it — no empty factories scaffolded now.
12
+ */
13
+ type Row = Record<string, unknown>;
14
+ /** Currency preset. `{ currency, locale }` config; defaults to USD/en-US, no decimals. */
15
+ export declare function currencyCell(config?: {
16
+ currency?: string;
17
+ locale?: string;
18
+ }): (item: Row, field: string) => ReactNode;
19
+ /** Date preset. `{ locale, options }` config; defaults to a short localized date. */
20
+ export declare function dateCell(config?: {
21
+ locale?: string;
22
+ options?: Intl.DateTimeFormatOptions;
23
+ }): (item: Row, field: string) => ReactNode;
24
+ /**
25
+ * Badge/tag preset. `{ styles, className }` config — `styles` maps a cell value
26
+ * to Tailwind classes (per-value color); `className` is appended to every badge.
27
+ */
28
+ export declare function badgeCell(config?: {
29
+ styles?: Record<string, string>;
30
+ className?: string;
31
+ }): (item: Row, field: string) => ReactNode;
32
+ /** A resolved cell renderer: raw value in, node out. */
33
+ export type CellRenderer = (item: Row, field: string) => ReactNode;
34
+ export {};
35
+ //# sourceMappingURL=cell-presets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cell-presets.d.ts","sourceRoot":"","sources":["../../../src/components/Tables/cell-presets.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;;;;;;;;;GAUG;AAEH,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAOnC,0FAA0F;AAC1F,wBAAgB,YAAY,CAAC,MAAM,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,IAMtE,MAAM,GAAG,EAAE,OAAO,MAAM,KAAG,SAAS,CAI7C;AAED,qFAAqF;AACrF,wBAAgB,QAAQ,CAAC,MAAM,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAA;CAAO,IAKrF,MAAM,GAAG,EAAE,OAAO,MAAM,KAAG,SAAS,CAK7C;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,MAAM,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,IAEpF,MAAM,GAAG,EAAE,OAAO,MAAM,KAAG,SAAS,CAM7C;AAED,wDAAwD;AACxD,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC"}
@@ -0,0 +1,40 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ /** Read a field off a row without leaking `unknown` into the preset bodies. */
3
+ function read(item, field) {
4
+ return item[field];
5
+ }
6
+ /** Currency preset. `{ currency, locale }` config; defaults to USD/en-US, no decimals. */
7
+ export function currencyCell(config = {}) {
8
+ const fmt = new Intl.NumberFormat(config.locale ?? "en-US", {
9
+ style: "currency",
10
+ currency: config.currency ?? "USD",
11
+ maximumFractionDigits: 0,
12
+ });
13
+ return (item, field) => {
14
+ const v = read(item, field);
15
+ return typeof v === "number" ? fmt.format(v) : String(v ?? "");
16
+ };
17
+ }
18
+ /** Date preset. `{ locale, options }` config; defaults to a short localized date. */
19
+ export function dateCell(config = {}) {
20
+ const fmt = new Intl.DateTimeFormat(config.locale ?? "en-US", config.options ?? { year: "numeric", month: "short", day: "numeric" });
21
+ return (item, field) => {
22
+ const v = read(item, field);
23
+ const d = v instanceof Date ? v : typeof v === "string" || typeof v === "number" ? new Date(v) : null;
24
+ return d && !Number.isNaN(d.getTime()) ? fmt.format(d) : String(v ?? "");
25
+ };
26
+ }
27
+ /**
28
+ * Badge/tag preset. `{ styles, className }` config — `styles` maps a cell value
29
+ * to Tailwind classes (per-value color); `className` is appended to every badge.
30
+ */
31
+ export function badgeCell(config = {}) {
32
+ const base = "inline-block rounded-full px-2 py-1 text-xs font-medium";
33
+ return (item, field) => {
34
+ const v = read(item, field);
35
+ const key = String(v ?? "");
36
+ const tone = config.styles?.[key] ?? "bg-surface-100 dark:bg-surface-700 text-surface-700 dark:text-surface-200";
37
+ return _jsx("span", { className: `${base} ${tone} ${config.className ?? ""}`, children: key });
38
+ };
39
+ }
40
+ //# sourceMappingURL=cell-presets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cell-presets.js","sourceRoot":"","sources":["../../../src/components/Tables/cell-presets.tsx"],"names":[],"mappings":";AAgBA,+EAA+E;AAC/E,SAAS,IAAI,CAAC,IAAS,EAAE,KAAa;IACpC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;AACrB,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,YAAY,CAAC,SAAiD,EAAE;IAC9E,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,IAAI,OAAO,EAAE;QAC1D,KAAK,EAAE,UAAU;QACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,KAAK;QAClC,qBAAqB,EAAE,CAAC;KACzB,CAAC,CAAC;IACH,OAAO,CAAC,IAAS,EAAE,KAAa,EAAa,EAAE;QAC7C,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC5B,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACjE,CAAC,CAAC;AACJ,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,QAAQ,CAAC,SAAoE,EAAE;IAC7F,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,cAAc,CACjC,MAAM,CAAC,MAAM,IAAI,OAAO,EACxB,MAAM,CAAC,OAAO,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,CACtE,CAAC;IACF,OAAO,CAAC,IAAS,EAAE,KAAa,EAAa,EAAE;QAC7C,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC5B,MAAM,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACtG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3E,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,SAAkE,EAAE;IAC5F,MAAM,IAAI,GAAG,yDAAyD,CAAC;IACvE,OAAO,CAAC,IAAS,EAAE,KAAa,EAAa,EAAE;QAC7C,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC5B,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,2EAA2E,CAAC;QACjH,OAAO,eAAM,SAAS,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,SAAS,IAAI,EAAE,EAAE,YAAG,GAAG,GAAQ,CAAC;IACpF,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,40 @@
1
+ import type { ReactNode } from "react";
2
+ import type { CellRenderer } from "./cell-presets";
3
+ /** A `{label,value}` option for the `dropdown` filter preset. */
4
+ export interface FilterOption {
5
+ label: string;
6
+ value: string;
7
+ }
8
+ /**
9
+ * Column descriptor — the whole wrapper API surface for one column.
10
+ *
11
+ * Follows the library convention: opinionated shortcuts (`cell` preset,
12
+ * `filter` preset) for the 90%, render-prop escape hatches (`body`,
13
+ * `filterElement`) for the 10%. An escape hatch always wins over its preset.
14
+ */
15
+ export interface ColumnDef<T> {
16
+ /** Data key. Also the sort/filter field. */
17
+ field: keyof T & string;
18
+ /** Header label. */
19
+ header: string;
20
+ /** Show the sort control in the header cell. Default: false. */
21
+ sortable?: boolean;
22
+ /** Fixed header/cell width, e.g. "12rem". */
23
+ width?: string;
24
+ /** Cell PRESET renderer from a factory (currencyCell/dateCell/badgeCell). */
25
+ cell?: CellRenderer;
26
+ /** Escape hatch: raw per-row body render-prop. Overrides `cell`. */
27
+ body?: (item: T, index: number) => ReactNode;
28
+ /** Named filter preset rendered into the header. */
29
+ filter?: "text" | "dropdown";
30
+ /** Options for the `dropdown` filter preset. */
31
+ filterOptions?: FilterOption[];
32
+ /** Escape hatch: render a fully custom filter control. Overrides `filter`. */
33
+ filterElement?: (ctx: {
34
+ value: string;
35
+ onChange: (value: string) => void;
36
+ }) => ReactNode;
37
+ }
38
+ /** Column-typed value + display helpers, all string-keyed for the row map. */
39
+ export type Row = Record<string, unknown>;
40
+ //# sourceMappingURL=columns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"columns.d.ts","sourceRoot":"","sources":["../../../src/components/Tables/columns.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,iEAAiE;AACjE,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;GAMG;AACH,MAAM,WAAW,SAAS,CAAC,CAAC;IAC1B,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC;IACxB,oBAAoB;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IAGf,6EAA6E;IAC7E,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,oEAAoE;IACpE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;IAG7C,oDAAoD;IACpD,MAAM,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAC7B,gDAAgD;IAChD,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAC/B,8EAA8E;IAC9E,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,KAAK,SAAS,CAAC;CAC1F;AAED,8EAA8E;AAC9E,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=columns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"columns.js","sourceRoot":"","sources":["../../../src/components/Tables/columns.tsx"],"names":[],"mappings":""}
@@ -1,8 +1,26 @@
1
- import type { ColumnFilterElementTemplateOptions } from "primereact/column";
2
- import type { MultiSelectProps } from "primereact/multiselect";
3
- interface MultiSelectFilterProps extends Omit<MultiSelectProps, "value" | "onChange"> {
4
- filterProps: ColumnFilterElementTemplateOptions;
1
+ import type { FilterOption } from "../columns";
2
+ export interface MultiSelectFilterProps {
3
+ /** Selectable options. */
4
+ options: FilterOption[];
5
+ /** Current selected values (page-owned). */
6
+ value?: string[];
7
+ /** Fires with the next array of selected values. */
8
+ onChange: (value: string[]) => void;
9
+ /** Disable while the option list loads. */
10
+ loading?: boolean;
11
+ placeholder?: string;
5
12
  }
6
- declare const MultiSelectFilter: ({ options, loading, filterProps, ...rest }: MultiSelectFilterProps) => import("react/jsx-runtime").JSX.Element;
7
- export default MultiSelectFilter;
13
+ /**
14
+ * Multi-value header filter over the themed PR11 `Select` (multiple mode) — the
15
+ * migrated replacement for the PR10 `primereact/multiselect`. Page-owned
16
+ * `value: string[]` / `onChange`, so it drops straight into a `ColumnDef`'s
17
+ * `filterElement` escape hatch (which carries its own array contract, not the
18
+ * scalar `filters` map).
19
+ *
20
+ * @example
21
+ * filterElement: () => (
22
+ * <MultiSelectFilter options={TYPES} value={sel} onChange={setSel} />
23
+ * )
24
+ */
25
+ export default function MultiSelectFilter({ options, value, onChange, loading, placeholder, }: MultiSelectFilterProps): import("react/jsx-runtime").JSX.Element;
8
26
  //# sourceMappingURL=MultiSelectFilter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MultiSelectFilter.d.ts","sourceRoot":"","sources":["../../../../src/components/Tables/filters/MultiSelectFilter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,mBAAmB,CAAC;AAE5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,UAAU,sBAAuB,SAAQ,IAAI,CAAC,gBAAgB,EAAE,OAAO,GAAG,UAAU,CAAC;IACnF,WAAW,EAAE,kCAAkC,CAAC;CACjD;AAED,QAAA,MAAM,iBAAiB,GAAI,4CAA4C,sBAAsB,4CAgB5F,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"MultiSelectFilter.d.ts","sourceRoot":"","sources":["../../../../src/components/Tables/filters/MultiSelectFilter.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,WAAW,sBAAsB;IACrC,0BAA0B;IAC1B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,oDAAoD;IACpD,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACpC,2CAA2C;IAC3C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EACxC,OAAO,EACP,KAAU,EACV,QAAQ,EACR,OAAe,EACf,WAA0B,GAC3B,EAAE,sBAAsB,2CA8BxB"}
@@ -1,7 +1,20 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { MultiSelect } from "primereact/multiselect";
3
- const MultiSelectFilter = ({ options, loading, filterProps, ...rest }) => {
4
- return (_jsx(MultiSelect, { filter: true, className: 'w-full', placeholder: 'Seleccione', maxSelectedLabels: 0, selectedItemsLabel: '{} items', options: options, loading: loading, disabled: loading, ...rest, value: filterProps.value ?? [], onChange: (e) => filterProps.filterApplyCallback(e.value) }));
5
- };
6
- export default MultiSelectFilter;
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { ChevronDown } from "@primeicons/react/chevron-down";
4
+ import { Select } from "@primereact/ui/select";
5
+ /**
6
+ * Multi-value header filter over the themed PR11 `Select` (multiple mode) — the
7
+ * migrated replacement for the PR10 `primereact/multiselect`. Page-owned
8
+ * `value: string[]` / `onChange`, so it drops straight into a `ColumnDef`'s
9
+ * `filterElement` escape hatch (which carries its own array contract, not the
10
+ * scalar `filters` map).
11
+ *
12
+ * @example
13
+ * filterElement: () => (
14
+ * <MultiSelectFilter options={TYPES} value={sel} onChange={setSel} />
15
+ * )
16
+ */
17
+ export default function MultiSelectFilter({ options, value = [], onChange, loading = false, placeholder = "Seleccione", }) {
18
+ return (_jsxs(Select.Root, { className: "mt-1 w-full", multiple: true, value: value, onValueChange: (e) => onChange(e.value ?? []), options: options, optionLabel: "label", optionValue: "value", disabled: loading, size: "small", children: [_jsxs(Select.Trigger, { type: "button", children: [_jsx(Select.Value, { placeholder: placeholder }), _jsx(Select.Clear, {}), _jsx(Select.Indicator, { children: _jsx(ChevronDown, {}) })] }), _jsx(Select.Portal, { children: _jsx(Select.Positioner, { children: _jsxs(Select.Popup, { children: [_jsx(Select.List, {}), _jsx(Select.Empty, {})] }) }) })] }));
19
+ }
7
20
  //# sourceMappingURL=MultiSelectFilter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MultiSelectFilter.js","sourceRoot":"","sources":["../../../../src/components/Tables/filters/MultiSelectFilter.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAOrD,MAAM,iBAAiB,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,IAAI,EAA0B,EAAE,EAAE;IAC/F,OAAO,CACL,KAAC,WAAW,IACV,MAAM,QACN,SAAS,EAAC,QAAQ,EAClB,WAAW,EAAC,YAAY,EACxB,iBAAiB,EAAE,CAAC,EACpB,kBAAkB,EAAC,UAAU,EAC7B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,OAAO,KACb,IAAI,EACR,KAAK,EAAE,WAAW,CAAC,KAAK,IAAI,EAAE,EAC9B,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,GACzD,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"MultiSelectFilter.js","sourceRoot":"","sources":["../../../../src/components/Tables/filters/MultiSelectFilter.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAgB/C;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EACxC,OAAO,EACP,KAAK,GAAG,EAAE,EACV,QAAQ,EACR,OAAO,GAAG,KAAK,EACf,WAAW,GAAG,YAAY,GACH;IACvB,OAAO,CACL,MAAC,MAAM,CAAC,IAAI,IACV,SAAS,EAAC,aAAa,EACvB,QAAQ,QACR,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,CAAC,CAAyB,EAAE,EAAE,CAAC,QAAQ,CAAE,CAAC,CAAC,KAAyB,IAAI,EAAE,CAAC,EAC1F,OAAO,EAAE,OAAO,EAChB,WAAW,EAAC,OAAO,EACnB,WAAW,EAAC,OAAO,EACnB,QAAQ,EAAE,OAAO,EACjB,IAAI,EAAC,OAAO,aAEZ,MAAC,MAAM,CAAC,OAAO,IAAC,IAAI,EAAC,QAAQ,aAC3B,KAAC,MAAM,CAAC,KAAK,IAAC,WAAW,EAAE,WAAW,GAAI,EAC1C,KAAC,MAAM,CAAC,KAAK,KAAG,EAChB,KAAC,MAAM,CAAC,SAAS,cACf,KAAC,WAAW,KAAG,GACE,IACJ,EACjB,KAAC,MAAM,CAAC,MAAM,cACZ,KAAC,MAAM,CAAC,UAAU,cAChB,MAAC,MAAM,CAAC,KAAK,eACX,KAAC,MAAM,CAAC,IAAI,KAAG,EACf,KAAC,MAAM,CAAC,KAAK,KAAG,IACH,GACG,GACN,IACJ,CACf,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChangePasswordForm.d.ts","sourceRoot":"","sources":["../../../src/components/auth/ChangePasswordForm.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,MAAM,WAAW,wBAAwB;IACvC,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,CAAC,MAAM,EAAE,wBAAwB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,QAAA,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAoEzD,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"ChangePasswordForm.d.ts","sourceRoot":"","sources":["../../../src/components/auth/ChangePasswordForm.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,MAAM,WAAW,wBAAwB;IACvC,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,CAAC,MAAM,EAAE,wBAAwB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,QAAA,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CA0DzD,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -1,23 +1,23 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import classNames from 'classnames';
4
- import { FormProvider, useForm } from 'react-hook-form';
3
+ import clsx from 'clsx';
4
+ import { useForm } from 'react-hook-form';
5
5
  import Button from '../Buttons/Button';
6
- import FormFieldRender from '../Forms/FormFieldRender';
7
6
  import PasswordInput from '../Forms/PasswordInput';
8
7
  import { minLengthRule, notEmptyRule } from '../../validation';
9
8
  const ChangePasswordForm = ({ onSubmit, title = 'Cambiar contraseña', submitLabel = 'Actualizar contraseña', minPasswordLength = 8, className, }) => {
10
9
  const form = useForm({ mode: 'onChange' });
11
10
  const { watch } = form;
12
- return (_jsx(FormProvider, { ...form, children: _jsxs("div", { className: classNames('mantis-core-change-password-form', className), children: [_jsx("h1", { className: "mantis-core-change-password-form__title", children: title }), _jsxs("form", { onSubmit: form.handleSubmit(onSubmit), className: "space-y-4", children: [_jsx(FormFieldRender, { label: "Contrase\u00F1a actual", name: "currentPassword", render: ({ name }) => (_jsx(PasswordInput, { controller: { name, rules: notEmptyRule() }, autoComplete: "current-password", block: true })) }), _jsx(FormFieldRender, { label: "Nueva contrase\u00F1a", name: "newPassword", render: ({ name }) => (_jsx(PasswordInput, { controller: {
13
- name,
14
- rules: { ...notEmptyRule(), ...minLengthRule(minPasswordLength) },
15
- }, autoComplete: "new-password", block: true })) }), _jsx(FormFieldRender, { label: "Confirmar nueva contrase\u00F1a", name: "confirmPassword", render: ({ name }) => (_jsx(PasswordInput, { controller: {
16
- name,
17
- rules: {
18
- validate: (v) => v === watch('newPassword') || 'Las contraseñas no coinciden',
19
- },
20
- }, autoComplete: "new-password", block: true })) }), _jsx(Button, { type: "submit", label: submitLabel, loading: form.formState.isSubmitting, disabled: form.formState.isSubmitting, block: true })] })] }) }));
11
+ // ponytail: validation helpers return the un-parameterized RegisterOptions
12
+ // (deps: string), so cast to the path-narrowed shape Option-A wrappers expect.
13
+ const currentPasswordRules = notEmptyRule();
14
+ const newPasswordRules = {
15
+ ...notEmptyRule(),
16
+ ...minLengthRule(minPasswordLength),
17
+ };
18
+ return (_jsxs("div", { className: clsx('mantis-core-change-password-form', className), children: [_jsx("h1", { className: "mantis-core-change-password-form__title", children: title }), _jsxs("form", { onSubmit: form.handleSubmit(onSubmit), className: "space-y-4", children: [_jsx(PasswordInput, { control: form.control, name: "currentPassword", rules: currentPasswordRules, label: "Contrase\u00F1a actual", autoComplete: "current-password" }), _jsx(PasswordInput, { control: form.control, name: "newPassword", rules: newPasswordRules, label: "Nueva contrase\u00F1a", autoComplete: "new-password" }), _jsx(PasswordInput, { control: form.control, name: "confirmPassword", rules: {
19
+ validate: (v) => v === watch('newPassword') || 'Las contraseñas no coinciden',
20
+ }, label: "Confirmar nueva contrase\u00F1a", autoComplete: "new-password" }), _jsx(Button, { type: "submit", label: submitLabel, loading: form.formState.isSubmitting, disabled: form.formState.isSubmitting, block: true })] })] }));
21
21
  };
22
22
  export default ChangePasswordForm;
23
23
  //# sourceMappingURL=ChangePasswordForm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChangePasswordForm.js","sourceRoot":"","sources":["../../../src/components/auth/ChangePasswordForm.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,eAAe,MAAM,0BAA0B,CAAC;AACvD,OAAO,aAAa,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAgB/D,MAAM,kBAAkB,GAAsC,CAAC,EAC7D,QAAQ,EACR,KAAK,GAAG,oBAAoB,EAC5B,WAAW,GAAG,uBAAuB,EACrC,iBAAiB,GAAG,CAAC,EACrB,SAAS,GACV,EAAE,EAAE;IACH,MAAM,IAAI,GAAG,OAAO,CAA2B,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IACrE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IAEvB,OAAO,CACL,KAAC,YAAY,OAAK,IAAI,YACpB,eAAK,SAAS,EAAE,UAAU,CAAC,kCAAkC,EAAE,SAAS,CAAC,aACvE,aAAI,SAAS,EAAC,yCAAyC,YAAE,KAAK,GAAM,EACpE,gBAAM,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAC,WAAW,aAChE,KAAC,eAAe,IACd,KAAK,EAAC,wBAAmB,EACzB,IAAI,EAAC,iBAAiB,EACtB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CACpB,KAAC,aAAa,IACZ,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAC3C,YAAY,EAAC,kBAAkB,EAC/B,KAAK,SACL,CACH,GACD,EACF,KAAC,eAAe,IACd,KAAK,EAAC,uBAAkB,EACxB,IAAI,EAAC,aAAa,EAClB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CACpB,KAAC,aAAa,IACZ,UAAU,EAAE;oCACV,IAAI;oCACJ,KAAK,EAAE,EAAE,GAAG,YAAY,EAAE,EAAE,GAAG,aAAa,CAAC,iBAAiB,CAAC,EAAqB;iCACrF,EACD,YAAY,EAAC,cAAc,EAC3B,KAAK,SACL,CACH,GACD,EACF,KAAC,eAAe,IACd,KAAK,EAAC,iCAA4B,EAClC,IAAI,EAAC,iBAAiB,EACtB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CACpB,KAAC,aAAa,IACZ,UAAU,EAAE;oCACV,IAAI;oCACJ,KAAK,EAAE;wCACL,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CACd,CAAC,KAAK,KAAK,CAAC,aAAa,CAAC,IAAI,8BAA8B;qCAC/D;iCACF,EACD,YAAY,EAAC,cAAc,EAC3B,KAAK,SACL,CACH,GACD,EACF,KAAC,MAAM,IACL,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EACpC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EACrC,KAAK,SACL,IACG,IACH,GACO,CAChB,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"ChangePasswordForm.js","sourceRoot":"","sources":["../../../src/components/auth/ChangePasswordForm.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,aAAa,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAgB/D,MAAM,kBAAkB,GAAsC,CAAC,EAC7D,QAAQ,EACR,KAAK,GAAG,oBAAoB,EAC5B,WAAW,GAAG,uBAAuB,EACrC,iBAAiB,GAAG,CAAC,EACrB,SAAS,GACV,EAAE,EAAE;IACH,MAAM,IAAI,GAAG,OAAO,CAA2B,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IACrE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IAEvB,2EAA2E;IAC3E,+EAA+E;IAC/E,MAAM,oBAAoB,GAAG,YAAY,EAGxC,CAAC;IACF,MAAM,gBAAgB,GAAG;QACvB,GAAG,YAAY,EAAE;QACjB,GAAG,aAAa,CAAC,iBAAiB,CAAC;KACwB,CAAC;IAE9D,OAAO,CACL,eAAK,SAAS,EAAE,IAAI,CAAC,kCAAkC,EAAE,SAAS,CAAC,aACjE,aAAI,SAAS,EAAC,yCAAyC,YAAE,KAAK,GAAM,EACpE,gBAAM,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAC,WAAW,aAChE,KAAC,aAAa,IACZ,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,IAAI,EAAC,iBAAiB,EACtB,KAAK,EAAE,oBAAoB,EAC3B,KAAK,EAAC,wBAAmB,EACzB,YAAY,EAAC,kBAAkB,GAC/B,EACF,KAAC,aAAa,IACZ,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,IAAI,EAAC,aAAa,EAClB,KAAK,EAAE,gBAAgB,EACvB,KAAK,EAAC,uBAAkB,EACxB,YAAY,EAAC,cAAc,GAC3B,EACF,KAAC,aAAa,IACZ,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,IAAI,EAAC,iBAAiB,EACtB,KAAK,EAAE;4BACL,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,aAAa,CAAC,IAAI,8BAA8B;yBAC9E,EACD,KAAK,EAAC,iCAA4B,EAClC,YAAY,EAAC,cAAc,GAC3B,EACF,KAAC,MAAM,IACL,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EACpC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EACrC,KAAK,SACL,IACG,IACH,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,kBAAkB,CAAC"}