@stackcraftmx/calcita 0.0.0-stage → 0.23.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 (841) hide show
  1. package/LICENSE +110 -0
  2. package/README.md +611 -2
  3. package/cli/askQuestions.js +63 -0
  4. package/cli/calcita.js +150 -0
  5. package/cli/makeComponent.js +50 -0
  6. package/cli/makeForm.js +68 -0
  7. package/cli/makeModule.js +78 -0
  8. package/cli/makePage.js +62 -0
  9. package/cli/names.js +64 -0
  10. package/cli/newProject.js +103 -0
  11. package/cli/packageVersions.js +38 -0
  12. package/cli/projectAnswers.js +145 -0
  13. package/cli/projectConfig.js +38 -0
  14. package/cli/projectFiles.js +126 -0
  15. package/cli/screenLabels.js +41 -0
  16. package/cli/templateFiles.js +186 -0
  17. package/cli/templates/component/core/__ComponentName__.jsx.tpl +23 -0
  18. package/cli/templates/component/module/__ComponentName__.jsx.tpl +21 -0
  19. package/cli/templates/form/formik/__FormName__.jsx.tpl +50 -0
  20. package/cli/templates/form/hookForm/__FormName__.jsx.tpl +53 -0
  21. package/cli/templates/form/shared/__formName__Schema.js.tpl +20 -0
  22. package/cli/templates/form/shared/__formName__Texts.js.tpl +6 -0
  23. package/cli/templates/module/__Name__Page.jsx.tpl +75 -0
  24. package/cli/templates/module/__name__Api.js.tpl +39 -0
  25. package/cli/templates/module/__name__Texts.js.tpl +27 -0
  26. package/cli/templates/module/menu.js.tpl +21 -0
  27. package/cli/templates/module/routes.js.tpl +7 -0
  28. package/cli/templates/moduleServer/__name__Server.js.tpl +68 -0
  29. package/cli/templates/page/__PageName__Page.jsx.tpl +22 -0
  30. package/cli/templates/page/__pageName__PageTexts.js.tpl +23 -0
  31. package/cli/templates/project/README.md.tpl +55 -0
  32. package/cli/templates/project/dot-gitignore.tpl +11 -0
  33. package/cli/templates/project/index.html.tpl +20 -0
  34. package/cli/templates/project/jsconfig.json.tpl +16 -0
  35. package/cli/templates/project/pnpm-workspace.yaml.tpl +5 -0
  36. package/cli/templates/project/public/favicon.svg +1 -0
  37. package/cli/templates/project/public/icons/apple-touch-icon.png +0 -0
  38. package/cli/templates/project/public/icons/icon-192.png +0 -0
  39. package/cli/templates/project/public/icons/icon-512-maskable.png +0 -0
  40. package/cli/templates/project/public/icons/icon-512.png +0 -0
  41. package/cli/templates/project/public/manifest.webmanifest.tpl +17 -0
  42. package/cli/templates/project/src/app/AppProviders.jsx.tpl +102 -0
  43. package/cli/templates/project/src/app/AppShell.jsx.tpl +87 -0
  44. package/cli/templates/project/src/app/appRouter.jsx.tpl +49 -0
  45. package/cli/templates/project/src/app/appSettings.js.tpl +13 -0
  46. package/cli/templates/project/src/app/appTexts.js.tpl +15 -0
  47. package/cli/templates/project/src/app/combineTexts.js.tpl +31 -0
  48. package/cli/templates/project/src/app/i18n.js.tpl +19 -0
  49. package/cli/templates/project/src/app/shellTexts.js.tpl +16 -0
  50. package/cli/templates/project/src/core/AppLogo.jsx.tpl +12 -0
  51. package/cli/templates/project/src/core/accountConnector.js.tpl +36 -0
  52. package/cli/templates/project/src/core/apiClient.js.tpl +15 -0
  53. package/cli/templates/project/src/core/appPaths.js.tpl +11 -0
  54. package/cli/templates/project/src/core/index.js.tpl +8 -0
  55. package/cli/templates/project/src/fakeServer/networkDelay.js.tpl +40 -0
  56. package/cli/templates/project/src/fakeServer/serverText.js.tpl +20 -0
  57. package/cli/templates/project/src/main.jsx.tpl +24 -0
  58. package/cli/templates/project/src/modules/auth/ForgotPasswordPage.jsx.tpl +14 -0
  59. package/cli/templates/project/src/modules/auth/ResetPasswordPage.jsx.tpl +15 -0
  60. package/cli/templates/project/src/modules/auth/SignInPage.jsx.tpl +29 -0
  61. package/cli/templates/project/src/modules/auth/authTexts.js.tpl +6 -0
  62. package/cli/templates/project/src/modules/auth/routes.js.tpl +11 -0
  63. package/cli/templates/project/src/modules/home/HomePage.jsx.tpl +38 -0
  64. package/cli/templates/project/src/modules/home/homeTexts.js.tpl +29 -0
  65. package/cli/templates/project/src/modules/home/menu.js.tpl +17 -0
  66. package/cli/templates/project/src/modules/home/routes.js.tpl +4 -0
  67. package/cli/templates/project/src/modules/profile/ProfilePage.jsx.tpl +13 -0
  68. package/cli/templates/project/src/modules/profile/routes.js.tpl +6 -0
  69. package/cli/templates/project/vite.config.js.tpl +27 -0
  70. package/dist/DataTable/AuditTrailDialog.js +40 -0
  71. package/dist/DataTable/AuditTrailDialog.js.map +1 -0
  72. package/dist/DataTable/AuditTrailTable.js +87 -0
  73. package/dist/DataTable/AuditTrailTable.js.map +1 -0
  74. package/dist/DataTable/ColumnFilters/HeaderFilterPopover.js +71 -0
  75. package/dist/DataTable/ColumnFilters/HeaderFilterPopover.js.map +1 -0
  76. package/dist/DataTable/ColumnFilters/MultiSelectColumnFilter.js +50 -0
  77. package/dist/DataTable/ColumnFilters/MultiSelectColumnFilter.js.map +1 -0
  78. package/dist/DataTable/ColumnFilters/SortableFilterHeader.js +54 -0
  79. package/dist/DataTable/ColumnFilters/SortableFilterHeader.js.map +1 -0
  80. package/dist/DataTable/ColumnFilters/TextColumnFilter.js +24 -0
  81. package/dist/DataTable/ColumnFilters/TextColumnFilter.js.map +1 -0
  82. package/dist/DataTable/EmptyState.js +22 -0
  83. package/dist/DataTable/EmptyState.js.map +1 -0
  84. package/dist/DataTable/FilterChips.js +39 -0
  85. package/dist/DataTable/FilterChips.js.map +1 -0
  86. package/dist/DataTable/GoToPage.js +62 -0
  87. package/dist/DataTable/GoToPage.js.map +1 -0
  88. package/dist/DataTable/ServerTable.js +407 -0
  89. package/dist/DataTable/ServerTable.js.map +1 -0
  90. package/dist/DataTable/buildChipConfig.js +27 -0
  91. package/dist/DataTable/buildChipConfig.js.map +1 -0
  92. package/dist/DataTable/columns.js +122 -0
  93. package/dist/DataTable/columns.js.map +1 -0
  94. package/dist/DataTable/filterContext.js +15 -0
  95. package/dist/DataTable/filterContext.js.map +1 -0
  96. package/dist/DataTable/serverTableParams.js +19 -0
  97. package/dist/DataTable/serverTableParams.js.map +1 -0
  98. package/dist/DataTable/tableMachine.js +87 -0
  99. package/dist/DataTable/tableMachine.js.map +1 -0
  100. package/dist/DataTable/useDebouncedFilter.js +29 -0
  101. package/dist/DataTable/useDebouncedFilter.js.map +1 -0
  102. package/dist/DataTable/useTableState.js +132 -0
  103. package/dist/DataTable/useTableState.js.map +1 -0
  104. package/dist/access/Can.js +9 -0
  105. package/dist/access/Can.js.map +1 -0
  106. package/dist/access/PermissionMatrix.js +83 -0
  107. package/dist/access/PermissionMatrix.js.map +1 -0
  108. package/dist/access/RequireAccess.js +14 -0
  109. package/dist/access/RequireAccess.js.map +1 -0
  110. package/dist/access/accessRules.js +49 -0
  111. package/dist/access/accessRules.js.map +1 -0
  112. package/dist/access/permissionGroups.js +43 -0
  113. package/dist/access/permissionGroups.js.map +1 -0
  114. package/dist/access/useCan.js +12 -0
  115. package/dist/access/useCan.js.map +1 -0
  116. package/dist/account/AccountProvider.js +58 -0
  117. package/dist/account/AccountProvider.js.map +1 -0
  118. package/dist/account/AccountSecuritySection.js +81 -0
  119. package/dist/account/AccountSecuritySection.js.map +1 -0
  120. package/dist/account/DemoTotpCodeButton.js +26 -0
  121. package/dist/account/DemoTotpCodeButton.js.map +1 -0
  122. package/dist/account/ForgotPasswordScreen.js +26 -0
  123. package/dist/account/ForgotPasswordScreen.js.map +1 -0
  124. package/dist/account/ProfileScreen.js +108 -0
  125. package/dist/account/ProfileScreen.js.map +1 -0
  126. package/dist/account/ResetPasswordScreen.js +57 -0
  127. package/dist/account/ResetPasswordScreen.js.map +1 -0
  128. package/dist/account/SignInScreen.js +101 -0
  129. package/dist/account/SignInScreen.js.map +1 -0
  130. package/dist/account/accountConnector.js +31 -0
  131. package/dist/account/accountConnector.js.map +1 -0
  132. package/dist/account/demo/createDemoAccountConnector.js +368 -0
  133. package/dist/account/demo/createDemoAccountConnector.js.map +1 -0
  134. package/dist/account/demo/totp.js +61 -0
  135. package/dist/account/demo/totp.js.map +1 -0
  136. package/dist/account/restAccountConnector.js +117 -0
  137. package/dist/account/restAccountConnector.js.map +1 -0
  138. package/dist/account-demo.js +12 -0
  139. package/dist/account-demo.js.map +1 -0
  140. package/dist/account.js +25 -0
  141. package/dist/account.js.map +1 -0
  142. package/dist/adapters/i18next.js +7 -0
  143. package/dist/adapters/i18next.js.map +1 -0
  144. package/dist/adapters/nextNavigation.js +36 -0
  145. package/dist/adapters/nextNavigation.js.map +1 -0
  146. package/dist/adapters/reactRouter.js +7 -0
  147. package/dist/adapters/reactRouter.js.map +1 -0
  148. package/dist/adapters/reactRouterRoutes.js +48 -0
  149. package/dist/adapters/reactRouterRoutes.js.map +1 -0
  150. package/dist/api/ApiError.js +58 -0
  151. package/dist/api/ApiError.js.map +1 -0
  152. package/dist/api/createApiClient.js +226 -0
  153. package/dist/api/createApiClient.js.map +1 -0
  154. package/dist/api/staleChunks.js +47 -0
  155. package/dist/api/staleChunks.js.map +1 -0
  156. package/dist/appShell/AccountMenu.js +86 -0
  157. package/dist/appShell/AccountMenu.js.map +1 -0
  158. package/dist/appShell/AppLayout.js +493 -0
  159. package/dist/appShell/AppLayout.js.map +1 -0
  160. package/dist/appShell/AppearanceSettings.js +93 -0
  161. package/dist/appShell/AppearanceSettings.js.map +1 -0
  162. package/dist/appShell/AuthLayout.js +44 -0
  163. package/dist/appShell/AuthLayout.js.map +1 -0
  164. package/dist/appShell/BarActionButton.js +31 -0
  165. package/dist/appShell/BarActionButton.js.map +1 -0
  166. package/dist/appShell/BarActions.js +94 -0
  167. package/dist/appShell/BarActions.js.map +1 -0
  168. package/dist/appShell/BarCapsule.js +35 -0
  169. package/dist/appShell/BarCapsule.js.map +1 -0
  170. package/dist/appShell/HeaderTools.js +53 -0
  171. package/dist/appShell/HeaderTools.js.map +1 -0
  172. package/dist/appShell/MobileTabBar.js +346 -0
  173. package/dist/appShell/MobileTabBar.js.map +1 -0
  174. package/dist/appShell/SettingsMenu.js +41 -0
  175. package/dist/appShell/SettingsMenu.js.map +1 -0
  176. package/dist/appShell/SideMenu.js +217 -0
  177. package/dist/appShell/SideMenu.js.map +1 -0
  178. package/dist/appShell/SideMenuEntry.js +140 -0
  179. package/dist/appShell/SideMenuEntry.js.map +1 -0
  180. package/dist/appShell/SubmenuActionsMenu.js +71 -0
  181. package/dist/appShell/SubmenuActionsMenu.js.map +1 -0
  182. package/dist/appShell/TabBarEditor.js +55 -0
  183. package/dist/appShell/TabBarEditor.js.map +1 -0
  184. package/dist/appShell/TopMenu.js +80 -0
  185. package/dist/appShell/TopMenu.js.map +1 -0
  186. package/dist/appShell/appMenuContext.js +11 -0
  187. package/dist/appShell/appMenuContext.js.map +1 -0
  188. package/dist/appShell/barActionsSlot.js +26 -0
  189. package/dist/appShell/barActionsSlot.js.map +1 -0
  190. package/dist/appShell/barMenuPlacement.js +33 -0
  191. package/dist/appShell/barMenuPlacement.js.map +1 -0
  192. package/dist/appShell/menuItemText.js +33 -0
  193. package/dist/appShell/menuItemText.js.map +1 -0
  194. package/dist/appShell/pageTitle.js +45 -0
  195. package/dist/appShell/pageTitle.js.map +1 -0
  196. package/dist/appShell/shellSizes.js +38 -0
  197. package/dist/appShell/shellSizes.js.map +1 -0
  198. package/dist/appShell/tabBarRule.js +12 -0
  199. package/dist/appShell/tabBarRule.js.map +1 -0
  200. package/dist/appShell/tabBarScroll.js +23 -0
  201. package/dist/appShell/tabBarScroll.js.map +1 -0
  202. package/dist/appShell/useDrawerCollapsed.js +29 -0
  203. package/dist/appShell/useDrawerCollapsed.js.map +1 -0
  204. package/dist/appShell/useFittingActionCount.js +45 -0
  205. package/dist/appShell/useFittingActionCount.js.map +1 -0
  206. package/dist/appShell/usePinnedMobileTabs.js +32 -0
  207. package/dist/appShell/usePinnedMobileTabs.js.map +1 -0
  208. package/dist/appShell/useTabBarMinimized.js +33 -0
  209. package/dist/appShell/useTabBarMinimized.js.map +1 -0
  210. package/dist/auth/PasswordChecklist.js +44 -0
  211. package/dist/auth/PasswordChecklist.js.map +1 -0
  212. package/dist/auth/passwordRules.js +43 -0
  213. package/dist/auth/passwordRules.js.map +1 -0
  214. package/dist/calendar/EventCalendar.js +138 -0
  215. package/dist/calendar/EventCalendar.js.map +1 -0
  216. package/dist/calendar.js +6 -0
  217. package/dist/calendar.js.map +1 -0
  218. package/dist/charts.js +7 -0
  219. package/dist/charts.js.map +1 -0
  220. package/dist/date-pickers.js +8 -0
  221. package/dist/date-pickers.js.map +1 -0
  222. package/dist/datePickers/DateInput.js +75 -0
  223. package/dist/datePickers/DateInput.js.map +1 -0
  224. package/dist/datePickers/FormDateField.js +12 -0
  225. package/dist/datePickers/FormDateField.js.map +1 -0
  226. package/dist/dates.js +25 -0
  227. package/dist/dates.js.map +1 -0
  228. package/dist/dictionaries/dictionaries.js +48 -0
  229. package/dist/dictionaries/dictionaries.js.map +1 -0
  230. package/dist/downloads/DownloadManager.js +201 -0
  231. package/dist/downloads/DownloadManager.js.map +1 -0
  232. package/dist/downloads/downloadQueue.js +54 -0
  233. package/dist/downloads/downloadQueue.js.map +1 -0
  234. package/dist/downloads/downloadsMachine.js +77 -0
  235. package/dist/downloads/downloadsMachine.js.map +1 -0
  236. package/dist/excel/reportWorkbook.js +299 -0
  237. package/dist/excel/reportWorkbook.js.map +1 -0
  238. package/dist/excel.js +13 -0
  239. package/dist/excel.js.map +1 -0
  240. package/dist/feedback/ConfirmDialog.js +72 -0
  241. package/dist/feedback/ConfirmDialog.js.map +1 -0
  242. package/dist/feedback/ModalWaiting.js +23 -0
  243. package/dist/feedback/ModalWaiting.js.map +1 -0
  244. package/dist/feedback/NewBuildNotice.js +79 -0
  245. package/dist/feedback/NewBuildNotice.js.map +1 -0
  246. package/dist/feedback/StaleBuildBoundary.js +36 -0
  247. package/dist/feedback/StaleBuildBoundary.js.map +1 -0
  248. package/dist/feedback/Toaster.js +20 -0
  249. package/dist/feedback/Toaster.js.map +1 -0
  250. package/dist/feedback/confirmActionMachine.js +67 -0
  251. package/dist/feedback/confirmActionMachine.js.map +1 -0
  252. package/dist/feedback/toast.js +88 -0
  253. package/dist/feedback/toast.js.map +1 -0
  254. package/dist/feedback/useConfirmAction.js +40 -0
  255. package/dist/feedback/useConfirmAction.js.map +1 -0
  256. package/dist/filepond/FileDropzone.js +254 -0
  257. package/dist/filepond/FileDropzone.js.map +1 -0
  258. package/dist/filepond/pondServer.js +48 -0
  259. package/dist/filepond/pondServer.js.map +1 -0
  260. package/dist/filepond.js +10 -0
  261. package/dist/filepond.js.map +1 -0
  262. package/dist/files.js +43 -0
  263. package/dist/files.js.map +1 -0
  264. package/dist/formatting.js +177 -0
  265. package/dist/formatting.js.map +1 -0
  266. package/dist/forms/FormCatalogField.js +12 -0
  267. package/dist/forms/FormCatalogField.js.map +1 -0
  268. package/dist/forms/FormColorField.js +12 -0
  269. package/dist/forms/FormColorField.js.map +1 -0
  270. package/dist/forms/FormNumberField.js +12 -0
  271. package/dist/forms/FormNumberField.js.map +1 -0
  272. package/dist/forms/FormProblemAlert.js +15 -0
  273. package/dist/forms/FormProblemAlert.js.map +1 -0
  274. package/dist/forms/FormSelectField.js +12 -0
  275. package/dist/forms/FormSelectField.js.map +1 -0
  276. package/dist/forms/FormServerProblem.js +23 -0
  277. package/dist/forms/FormServerProblem.js.map +1 -0
  278. package/dist/forms/FormTextField.js +12 -0
  279. package/dist/forms/FormTextField.js.map +1 -0
  280. package/dist/forms/FormWizard.js +90 -0
  281. package/dist/forms/FormWizard.js.map +1 -0
  282. package/dist/forms/SubmitButton.js +14 -0
  283. package/dist/forms/SubmitButton.js.map +1 -0
  284. package/dist/forms/applyServerProblem.js +15 -0
  285. package/dist/forms/applyServerProblem.js.map +1 -0
  286. package/dist/forms/auth/ChangePasswordForm.js +46 -0
  287. package/dist/forms/auth/ChangePasswordForm.js.map +1 -0
  288. package/dist/forms/auth/ForgotPasswordForm.js +50 -0
  289. package/dist/forms/auth/ForgotPasswordForm.js.map +1 -0
  290. package/dist/forms/auth/SignInForm.js +48 -0
  291. package/dist/forms/auth/SignInForm.js.map +1 -0
  292. package/dist/forms/security/SecondStepForm.js +122 -0
  293. package/dist/forms/security/SecondStepForm.js.map +1 -0
  294. package/dist/forms/security/TwoStepVerificationCard.js +336 -0
  295. package/dist/forms/security/TwoStepVerificationCard.js.map +1 -0
  296. package/dist/forms/security/securityRules.js +28 -0
  297. package/dist/forms/security/securityRules.js.map +1 -0
  298. package/dist/forms/serverProblemFields.js +25 -0
  299. package/dist/forms/serverProblemFields.js.map +1 -0
  300. package/dist/forms/useFormikField.js +16 -0
  301. package/dist/forms/useFormikField.js.map +1 -0
  302. package/dist/forms/validation.js +55 -0
  303. package/dist/forms/validation.js.map +1 -0
  304. package/dist/forms/validationMessages.js +16 -0
  305. package/dist/forms/validationMessages.js.map +1 -0
  306. package/dist/forms.js +57 -0
  307. package/dist/forms.js.map +1 -0
  308. package/dist/hookForm/FormCatalogField.js +12 -0
  309. package/dist/hookForm/FormCatalogField.js.map +1 -0
  310. package/dist/hookForm/FormColorField.js +12 -0
  311. package/dist/hookForm/FormColorField.js.map +1 -0
  312. package/dist/hookForm/FormNumberField.js +12 -0
  313. package/dist/hookForm/FormNumberField.js.map +1 -0
  314. package/dist/hookForm/FormProblemAlert.js +17 -0
  315. package/dist/hookForm/FormProblemAlert.js.map +1 -0
  316. package/dist/hookForm/FormSelectField.js +12 -0
  317. package/dist/hookForm/FormSelectField.js.map +1 -0
  318. package/dist/hookForm/FormTextField.js +12 -0
  319. package/dist/hookForm/FormTextField.js.map +1 -0
  320. package/dist/hookForm/SubmitButton.js +15 -0
  321. package/dist/hookForm/SubmitButton.js.map +1 -0
  322. package/dist/hookForm/applyServerProblem.js +21 -0
  323. package/dist/hookForm/applyServerProblem.js.map +1 -0
  324. package/dist/hookForm/useHookFormField.js +19 -0
  325. package/dist/hookForm/useHookFormField.js.map +1 -0
  326. package/dist/i18next.js +5 -0
  327. package/dist/i18next.js.map +1 -0
  328. package/dist/identifiers.js +8 -0
  329. package/dist/identifiers.js.map +1 -0
  330. package/dist/inbox/InboxLayout.js +68 -0
  331. package/dist/inbox/InboxLayout.js.map +1 -0
  332. package/dist/inbox/MessageList.js +64 -0
  333. package/dist/inbox/MessageList.js.map +1 -0
  334. package/dist/inbox/MessageView.js +53 -0
  335. package/dist/inbox/MessageView.js.map +1 -0
  336. package/dist/inbox/inboxDates.js +8 -0
  337. package/dist/inbox/inboxDates.js.map +1 -0
  338. package/dist/index.js +383 -0
  339. package/dist/index.js.map +1 -0
  340. package/dist/inputs/CatalogInput.js +62 -0
  341. package/dist/inputs/CatalogInput.js.map +1 -0
  342. package/dist/inputs/ColorInput.js +108 -0
  343. package/dist/inputs/ColorInput.js.map +1 -0
  344. package/dist/inputs/FieldFrame.js +20 -0
  345. package/dist/inputs/FieldFrame.js.map +1 -0
  346. package/dist/inputs/FormSection.js +105 -0
  347. package/dist/inputs/FormSection.js.map +1 -0
  348. package/dist/inputs/NumberInput.js +69 -0
  349. package/dist/inputs/NumberInput.js.map +1 -0
  350. package/dist/inputs/SelectInput.js +66 -0
  351. package/dist/inputs/SelectInput.js.map +1 -0
  352. package/dist/inputs/TextInput.js +97 -0
  353. package/dist/inputs/TextInput.js.map +1 -0
  354. package/dist/inputs/colorContrast.js +46 -0
  355. package/dist/inputs/colorContrast.js.map +1 -0
  356. package/dist/inputs/formLayoutContext.js +9 -0
  357. package/dist/inputs/formLayoutContext.js.map +1 -0
  358. package/dist/inputs/numberText.js +48 -0
  359. package/dist/inputs/numberText.js.map +1 -0
  360. package/dist/kanban/KanbanBoard.js +113 -0
  361. package/dist/kanban/KanbanBoard.js.map +1 -0
  362. package/dist/kanban/kanbanMoves.js +29 -0
  363. package/dist/kanban/kanbanMoves.js.map +1 -0
  364. package/dist/kanban.js +9 -0
  365. package/dist/kanban.js.map +1 -0
  366. package/dist/laravel/csrfRetry.js +18 -0
  367. package/dist/laravel/csrfRetry.js.map +1 -0
  368. package/dist/laravel.js +6 -0
  369. package/dist/laravel.js.map +1 -0
  370. package/dist/lastListUrl.js +35 -0
  371. package/dist/lastListUrl.js.map +1 -0
  372. package/dist/locales/en.js +714 -0
  373. package/dist/locales/en.js.map +1 -0
  374. package/dist/locales/es.js +714 -0
  375. package/dist/locales/es.js.map +1 -0
  376. package/dist/maps/MapView.js +96 -0
  377. package/dist/maps/MapView.js.map +1 -0
  378. package/dist/maps/mapMarkers.js +19 -0
  379. package/dist/maps/mapMarkers.js.map +1 -0
  380. package/dist/maps.js +10 -0
  381. package/dist/maps.js.map +1 -0
  382. package/dist/money/money.js +380 -0
  383. package/dist/money/money.js.map +1 -0
  384. package/dist/money.js +6 -0
  385. package/dist/money.js.map +1 -0
  386. package/dist/navigation/appMenu.js +93 -0
  387. package/dist/navigation/appMenu.js.map +1 -0
  388. package/dist/navigation/useMenuBadges.js +45 -0
  389. package/dist/navigation/useMenuBadges.js.map +1 -0
  390. package/dist/navigation.js +30 -0
  391. package/dist/navigation.js.map +1 -0
  392. package/dist/navigationTrail.js +82 -0
  393. package/dist/navigationTrail.js.map +1 -0
  394. package/dist/next.js +5 -0
  395. package/dist/next.js.map +1 -0
  396. package/dist/observability/buildWatch.js +19 -0
  397. package/dist/observability/buildWatch.js.map +1 -0
  398. package/dist/observability/logger.js +43 -0
  399. package/dist/observability/logger.js.map +1 -0
  400. package/dist/observability/publishedBuild.js +39 -0
  401. package/dist/observability/publishedBuild.js.map +1 -0
  402. package/dist/observability/usePublishedBuildWatch.js +76 -0
  403. package/dist/observability/usePublishedBuildWatch.js.map +1 -0
  404. package/dist/passkeys.js +7 -0
  405. package/dist/passkeys.js.map +1 -0
  406. package/dist/periodRanges.js +33 -0
  407. package/dist/periodRanges.js.map +1 -0
  408. package/dist/problems.js +51 -0
  409. package/dist/problems.js.map +1 -0
  410. package/dist/pwa/InstallAppSetting.js +33 -0
  411. package/dist/pwa/InstallAppSetting.js.map +1 -0
  412. package/dist/pwa/InstallInstructionsDialog.js +35 -0
  413. package/dist/pwa/InstallInstructionsDialog.js.map +1 -0
  414. package/dist/pwa/InstallPromptBanner.js +64 -0
  415. package/dist/pwa/InstallPromptBanner.js.map +1 -0
  416. package/dist/pwa/installInstructions.js +60 -0
  417. package/dist/pwa/installInstructions.js.map +1 -0
  418. package/dist/pwa/useInstallPrompt.js +70 -0
  419. package/dist/pwa/useInstallPrompt.js.map +1 -0
  420. package/dist/react-hook-form.js +30 -0
  421. package/dist/react-hook-form.js.map +1 -0
  422. package/dist/react-router.js +10 -0
  423. package/dist/react-router.js.map +1 -0
  424. package/dist/security/ActivityLog.js +79 -0
  425. package/dist/security/ActivityLog.js.map +1 -0
  426. package/dist/security/RecoveryCodesDialog.js +84 -0
  427. package/dist/security/RecoveryCodesDialog.js.map +1 -0
  428. package/dist/security/SessionsCard.js +81 -0
  429. package/dist/security/SessionsCard.js.map +1 -0
  430. package/dist/security/passkeys.js +39 -0
  431. package/dist/security/passkeys.js.map +1 -0
  432. package/dist/table.js +35 -0
  433. package/dist/table.js.map +1 -0
  434. package/dist/theme/androidDevice.js +16 -0
  435. package/dist/theme/androidDevice.js.map +1 -0
  436. package/dist/theme/appleTracking.js +34 -0
  437. package/dist/theme/appleTracking.js.map +1 -0
  438. package/dist/theme/components/MuiAppBar.js +27 -0
  439. package/dist/theme/components/MuiAppBar.js.map +1 -0
  440. package/dist/theme/components/MuiBackdrop.js +13 -0
  441. package/dist/theme/components/MuiBackdrop.js.map +1 -0
  442. package/dist/theme/components/MuiButton.js +25 -0
  443. package/dist/theme/components/MuiButton.js.map +1 -0
  444. package/dist/theme/components/MuiButtonBase.js +16 -0
  445. package/dist/theme/components/MuiButtonBase.js.map +1 -0
  446. package/dist/theme/components/MuiChip.js +30 -0
  447. package/dist/theme/components/MuiChip.js.map +1 -0
  448. package/dist/theme/components/MuiDataGrid.js +30 -0
  449. package/dist/theme/components/MuiDataGrid.js.map +1 -0
  450. package/dist/theme/components/MuiDrawer.js +18 -0
  451. package/dist/theme/components/MuiDrawer.js.map +1 -0
  452. package/dist/theme/components/MuiMenuItem.js +17 -0
  453. package/dist/theme/components/MuiMenuItem.js.map +1 -0
  454. package/dist/theme/components/MuiTypography.js +22 -0
  455. package/dist/theme/components/MuiTypography.js.map +1 -0
  456. package/dist/theme/components/glassComponents.js +885 -0
  457. package/dist/theme/components/glassComponents.js.map +1 -0
  458. package/dist/theme/components/minimalComponents.js +146 -0
  459. package/dist/theme/components/minimalComponents.js.map +1 -0
  460. package/dist/theme/components/paletteOf.js +7 -0
  461. package/dist/theme/components/paletteOf.js.map +1 -0
  462. package/dist/theme/createToolkitTheme.js +100 -0
  463. package/dist/theme/createToolkitTheme.js.map +1 -0
  464. package/dist/theme/glassSurface.js +328 -0
  465. package/dist/theme/glassSurface.js.map +1 -0
  466. package/dist/theme/glassToasterStyles.js +50 -0
  467. package/dist/theme/glassToasterStyles.js.map +1 -0
  468. package/dist/theme/mergeComponents.js +42 -0
  469. package/dist/theme/mergeComponents.js.map +1 -0
  470. package/dist/theme/stackcraftPalette.js +59 -0
  471. package/dist/theme/stackcraftPalette.js.map +1 -0
  472. package/dist/theme/toolkitComponents.js +26 -0
  473. package/dist/theme/toolkitComponents.js.map +1 -0
  474. package/dist/timeline.js +8 -0
  475. package/dist/timeline.js.map +1 -0
  476. package/dist/toolkit/ToolkitProvider.js +49 -0
  477. package/dist/toolkit/ToolkitProvider.js.map +1 -0
  478. package/dist/toolkit/browserNavigation.js +34 -0
  479. package/dist/toolkit/browserNavigation.js.map +1 -0
  480. package/dist/toolkit/toolkitContext.js +19 -0
  481. package/dist/toolkit/toolkitContext.js.map +1 -0
  482. package/dist/toolkit/toolkitSettings.js +87 -0
  483. package/dist/toolkit/toolkitSettings.js.map +1 -0
  484. package/dist/toolkit/useToolkitTranslation.js +18 -0
  485. package/dist/toolkit/useToolkitTranslation.js.map +1 -0
  486. package/dist/types/DataTable/AuditTrailDialog.d.ts +32 -0
  487. package/dist/types/DataTable/AuditTrailTable.d.ts +28 -0
  488. package/dist/types/DataTable/ColumnFilters/HeaderFilterPopover.d.ts +8 -0
  489. package/dist/types/DataTable/ColumnFilters/MultiSelectColumnFilter.d.ts +16 -0
  490. package/dist/types/DataTable/ColumnFilters/SortableFilterHeader.d.ts +26 -0
  491. package/dist/types/DataTable/ColumnFilters/TextColumnFilter.d.ts +8 -0
  492. package/dist/types/DataTable/ColumnFilters/index.d.ts +4 -0
  493. package/dist/types/DataTable/EmptyState.d.ts +8 -0
  494. package/dist/types/DataTable/FilterChips.d.ts +15 -0
  495. package/dist/types/DataTable/GoToPage.d.ts +8 -0
  496. package/dist/types/DataTable/ServerTable.d.ts +110 -0
  497. package/dist/types/DataTable/buildChipConfig.d.ts +22 -0
  498. package/dist/types/DataTable/columns.d.ts +93 -0
  499. package/dist/types/DataTable/filterContext.d.ts +13 -0
  500. package/dist/types/DataTable/index.d.ts +13 -0
  501. package/dist/types/DataTable/serverTableParams.d.ts +16 -0
  502. package/dist/types/DataTable/tableMachine.d.ts +41 -0
  503. package/dist/types/DataTable/useDebouncedFilter.d.ts +8 -0
  504. package/dist/types/DataTable/useTableState.d.ts +93 -0
  505. package/dist/types/access/Can.d.ts +11 -0
  506. package/dist/types/access/PermissionMatrix.d.ts +21 -0
  507. package/dist/types/access/RequireAccess.d.ts +11 -0
  508. package/dist/types/access/accessRules.d.ts +24 -0
  509. package/dist/types/access/permissionGroups.d.ts +56 -0
  510. package/dist/types/access/useCan.d.ts +11 -0
  511. package/dist/types/account/AccountProvider.d.ts +27 -0
  512. package/dist/types/account/AccountSecuritySection.d.ts +7 -0
  513. package/dist/types/account/DemoTotpCodeButton.d.ts +6 -0
  514. package/dist/types/account/ForgotPasswordScreen.d.ts +15 -0
  515. package/dist/types/account/ProfileScreen.d.ts +13 -0
  516. package/dist/types/account/ResetPasswordScreen.d.ts +19 -0
  517. package/dist/types/account/SignInScreen.d.ts +25 -0
  518. package/dist/types/account/accountConnector.d.ts +263 -0
  519. package/dist/types/account/demo/createDemoAccountConnector.d.ts +30 -0
  520. package/dist/types/account/demo/totp.d.ts +45 -0
  521. package/dist/types/account/restAccountConnector.d.ts +49 -0
  522. package/dist/types/account-demo.d.ts +2 -0
  523. package/dist/types/account.d.ts +16 -0
  524. package/dist/types/adapters/i18next.d.ts +11 -0
  525. package/dist/types/adapters/nextNavigation.d.ts +33 -0
  526. package/dist/types/adapters/reactRouter.d.ts +6 -0
  527. package/dist/types/adapters/reactRouterRoutes.d.ts +30 -0
  528. package/dist/types/api/ApiError.d.ts +42 -0
  529. package/dist/types/api/createApiClient.d.ts +146 -0
  530. package/dist/types/api/staleChunks.d.ts +15 -0
  531. package/dist/types/appShell/AccountMenu.d.ts +28 -0
  532. package/dist/types/appShell/AppLayout.d.ts +66 -0
  533. package/dist/types/appShell/AppearanceSettings.d.ts +34 -0
  534. package/dist/types/appShell/AuthLayout.d.ts +21 -0
  535. package/dist/types/appShell/BarActionButton.d.ts +15 -0
  536. package/dist/types/appShell/BarActions.d.ts +18 -0
  537. package/dist/types/appShell/BarCapsule.d.ts +12 -0
  538. package/dist/types/appShell/HeaderTools.d.ts +27 -0
  539. package/dist/types/appShell/MobileTabBar.d.ts +17 -0
  540. package/dist/types/appShell/SettingsMenu.d.ts +13 -0
  541. package/dist/types/appShell/SideMenu.d.ts +31 -0
  542. package/dist/types/appShell/SideMenuEntry.d.ts +17 -0
  543. package/dist/types/appShell/SubmenuActionsMenu.d.ts +24 -0
  544. package/dist/types/appShell/TabBarEditor.d.ts +13 -0
  545. package/dist/types/appShell/TopMenu.d.ts +7 -0
  546. package/dist/types/appShell/appMenuContext.d.ts +9 -0
  547. package/dist/types/appShell/barActionsSlot.d.ts +35 -0
  548. package/dist/types/appShell/barMenuPlacement.d.ts +9 -0
  549. package/dist/types/appShell/menuItemText.d.ts +55 -0
  550. package/dist/types/appShell/pageTitle.d.ts +26 -0
  551. package/dist/types/appShell/shellSizes.d.ts +45 -0
  552. package/dist/types/appShell/tabBarRule.d.ts +5 -0
  553. package/dist/types/appShell/tabBarScroll.d.ts +26 -0
  554. package/dist/types/appShell/useDrawerCollapsed.d.ts +8 -0
  555. package/dist/types/appShell/useFittingActionCount.d.ts +7 -0
  556. package/dist/types/appShell/usePinnedMobileTabs.d.ts +7 -0
  557. package/dist/types/appShell/useTabBarMinimized.d.ts +8 -0
  558. package/dist/types/auth/PasswordChecklist.d.ts +11 -0
  559. package/dist/types/auth/passwordRules.d.ts +34 -0
  560. package/dist/types/calendar/EventCalendar.d.ts +46 -0
  561. package/dist/types/calendar.d.ts +1 -0
  562. package/dist/types/charts.d.ts +2 -0
  563. package/dist/types/date-pickers.d.ts +2 -0
  564. package/dist/types/datePickers/DateInput.d.ts +39 -0
  565. package/dist/types/datePickers/FormDateField.d.ts +7 -0
  566. package/dist/types/dates.d.ts +18 -0
  567. package/dist/types/dictionaries/dictionaries.d.ts +54 -0
  568. package/dist/types/downloads/DownloadManager.d.ts +1 -0
  569. package/dist/types/downloads/downloadQueue.d.ts +45 -0
  570. package/dist/types/downloads/downloadsMachine.d.ts +10 -0
  571. package/dist/types/downloads/index.d.ts +3 -0
  572. package/dist/types/excel/reportWorkbook.d.ts +157 -0
  573. package/dist/types/excel.d.ts +1 -0
  574. package/dist/types/feedback/ConfirmDialog.d.ts +29 -0
  575. package/dist/types/feedback/ModalWaiting.d.ts +8 -0
  576. package/dist/types/feedback/NewBuildNotice.d.ts +18 -0
  577. package/dist/types/feedback/StaleBuildBoundary.d.ts +21 -0
  578. package/dist/types/feedback/Toaster.d.ts +1 -0
  579. package/dist/types/feedback/confirmActionMachine.d.ts +19 -0
  580. package/dist/types/feedback/index.d.ts +8 -0
  581. package/dist/types/feedback/toast.d.ts +100 -0
  582. package/dist/types/feedback/useConfirmAction.d.ts +33 -0
  583. package/dist/types/filepond/FileDropzone.d.ts +59 -0
  584. package/dist/types/filepond/pondServer.d.ts +17 -0
  585. package/dist/types/filepond.d.ts +3 -0
  586. package/dist/types/files.d.ts +29 -0
  587. package/dist/types/formatting.d.ts +106 -0
  588. package/dist/types/forms/FormCatalogField.d.ts +6 -0
  589. package/dist/types/forms/FormColorField.d.ts +6 -0
  590. package/dist/types/forms/FormNumberField.d.ts +6 -0
  591. package/dist/types/forms/FormProblemAlert.d.ts +6 -0
  592. package/dist/types/forms/FormSelectField.d.ts +6 -0
  593. package/dist/types/forms/FormServerProblem.d.ts +8 -0
  594. package/dist/types/forms/FormTextField.d.ts +6 -0
  595. package/dist/types/forms/FormWizard.d.ts +20 -0
  596. package/dist/types/forms/SubmitButton.d.ts +9 -0
  597. package/dist/types/forms/applyServerProblem.d.ts +9 -0
  598. package/dist/types/forms/auth/ChangePasswordForm.d.ts +15 -0
  599. package/dist/types/forms/auth/ForgotPasswordForm.d.ts +12 -0
  600. package/dist/types/forms/auth/SignInForm.d.ts +18 -0
  601. package/dist/types/forms/index.d.ts +19 -0
  602. package/dist/types/forms/security/SecondStepForm.d.ts +28 -0
  603. package/dist/types/forms/security/TwoStepVerificationCard.d.ts +81 -0
  604. package/dist/types/forms/security/securityRules.d.ts +24 -0
  605. package/dist/types/forms/serverProblemFields.d.ts +19 -0
  606. package/dist/types/forms/useFormikField.d.ts +11 -0
  607. package/dist/types/forms/validation.d.ts +251 -0
  608. package/dist/types/forms/validationMessages.d.ts +12 -0
  609. package/dist/types/forms.d.ts +2 -0
  610. package/dist/types/hookForm/FormCatalogField.d.ts +8 -0
  611. package/dist/types/hookForm/FormColorField.d.ts +8 -0
  612. package/dist/types/hookForm/FormNumberField.d.ts +8 -0
  613. package/dist/types/hookForm/FormProblemAlert.d.ts +7 -0
  614. package/dist/types/hookForm/FormSelectField.d.ts +8 -0
  615. package/dist/types/hookForm/FormTextField.d.ts +8 -0
  616. package/dist/types/hookForm/SubmitButton.d.ts +21 -0
  617. package/dist/types/hookForm/applyServerProblem.d.ts +10 -0
  618. package/dist/types/hookForm/useHookFormField.d.ts +13 -0
  619. package/dist/types/i18next.d.ts +1 -0
  620. package/dist/types/identifiers.d.ts +2 -0
  621. package/dist/types/inbox/InboxLayout.d.ts +26 -0
  622. package/dist/types/inbox/MessageList.d.ts +27 -0
  623. package/dist/types/inbox/MessageView.d.ts +23 -0
  624. package/dist/types/inbox/inboxDates.d.ts +6 -0
  625. package/dist/types/index.d.ts +84 -0
  626. package/dist/types/inputs/CatalogInput.d.ts +41 -0
  627. package/dist/types/inputs/ColorInput.d.ts +28 -0
  628. package/dist/types/inputs/FieldFrame.d.ts +14 -0
  629. package/dist/types/inputs/FormSection.d.ts +29 -0
  630. package/dist/types/inputs/NumberInput.d.ts +36 -0
  631. package/dist/types/inputs/SelectInput.d.ts +34 -0
  632. package/dist/types/inputs/TextInput.d.ts +60 -0
  633. package/dist/types/inputs/colorContrast.d.ts +18 -0
  634. package/dist/types/inputs/formLayoutContext.d.ts +3 -0
  635. package/dist/types/inputs/numberText.d.ts +25 -0
  636. package/dist/types/kanban/KanbanBoard.d.ts +33 -0
  637. package/dist/types/kanban/kanbanMoves.d.ts +38 -0
  638. package/dist/types/kanban.d.ts +2 -0
  639. package/dist/types/laravel/csrfRetry.d.ts +21 -0
  640. package/dist/types/laravel.d.ts +1 -0
  641. package/dist/types/lastListUrl.d.ts +20 -0
  642. package/dist/types/locales/en.d.ts +711 -0
  643. package/dist/types/locales/es.d.ts +711 -0
  644. package/dist/types/maps/MapView.d.ts +32 -0
  645. package/dist/types/maps/mapMarkers.d.ts +23 -0
  646. package/dist/types/maps.d.ts +2 -0
  647. package/dist/types/money/money.d.ts +203 -0
  648. package/dist/types/money.d.ts +1 -0
  649. package/dist/types/navigation/appMenu.d.ts +92 -0
  650. package/dist/types/navigation/useMenuBadges.d.ts +16 -0
  651. package/dist/types/navigation.d.ts +22 -0
  652. package/dist/types/navigationTrail.d.ts +49 -0
  653. package/dist/types/next.d.ts +1 -0
  654. package/dist/types/observability/buildWatch.d.ts +28 -0
  655. package/dist/types/observability/logger.d.ts +19 -0
  656. package/dist/types/observability/publishedBuild.d.ts +35 -0
  657. package/dist/types/observability/usePublishedBuildWatch.d.ts +16 -0
  658. package/dist/types/passkeys.d.ts +1 -0
  659. package/dist/types/periodRanges.d.ts +32 -0
  660. package/dist/types/problems.d.ts +31 -0
  661. package/dist/types/pwa/InstallAppSetting.d.ts +1 -0
  662. package/dist/types/pwa/InstallInstructionsDialog.d.ts +18 -0
  663. package/dist/types/pwa/InstallPromptBanner.d.ts +7 -0
  664. package/dist/types/pwa/installInstructions.d.ts +52 -0
  665. package/dist/types/pwa/useInstallPrompt.d.ts +12 -0
  666. package/dist/types/react-hook-form.d.ts +11 -0
  667. package/dist/types/react-router.d.ts +2 -0
  668. package/dist/types/security/ActivityLog.d.ts +31 -0
  669. package/dist/types/security/RecoveryCodesDialog.d.ts +11 -0
  670. package/dist/types/security/SessionsCard.d.ts +22 -0
  671. package/dist/types/security/passkeys.d.ts +18 -0
  672. package/dist/types/table.d.ts +1 -0
  673. package/dist/types/theme/androidDevice.d.ts +11 -0
  674. package/dist/types/theme/appleTracking.d.ts +17 -0
  675. package/dist/types/theme/components/MuiAppBar.d.ts +13 -0
  676. package/dist/types/theme/components/MuiBackdrop.d.ts +11 -0
  677. package/dist/types/theme/components/MuiButton.d.ts +27 -0
  678. package/dist/types/theme/components/MuiButtonBase.d.ts +14 -0
  679. package/dist/types/theme/components/MuiChip.d.ts +29 -0
  680. package/dist/types/theme/components/MuiDataGrid.d.ts +45 -0
  681. package/dist/types/theme/components/MuiDrawer.d.ts +13 -0
  682. package/dist/types/theme/components/MuiMenuItem.d.ts +17 -0
  683. package/dist/types/theme/components/MuiTypography.d.ts +20 -0
  684. package/dist/types/theme/components/glassComponents.d.ts +8 -0
  685. package/dist/types/theme/components/minimalComponents.d.ts +22 -0
  686. package/dist/types/theme/components/paletteOf.d.ts +5 -0
  687. package/dist/types/theme/createToolkitTheme.d.ts +48 -0
  688. package/dist/types/theme/glassSurface.d.ts +247 -0
  689. package/dist/types/theme/glassToasterStyles.d.ts +7 -0
  690. package/dist/types/theme/mergeComponents.d.ts +15 -0
  691. package/dist/types/theme/stackcraftPalette.d.ts +142 -0
  692. package/dist/types/theme/toolkitComponents.d.ts +4 -0
  693. package/dist/types/timeline.d.ts +2 -0
  694. package/dist/types/toolkit/ToolkitProvider.d.ts +31 -0
  695. package/dist/types/toolkit/browserNavigation.d.ts +32 -0
  696. package/dist/types/toolkit/toolkitContext.d.ts +28 -0
  697. package/dist/types/toolkit/toolkitSettings.d.ts +68 -0
  698. package/dist/types/toolkit/useToolkitTranslation.d.ts +10 -0
  699. package/dist/types/ui/actions/CopyButton.d.ts +13 -0
  700. package/dist/types/ui/actions/DownloadMenu.d.ts +50 -0
  701. package/dist/types/ui/actions/SecretField.d.ts +13 -0
  702. package/dist/types/ui/filters/DateRangeFilter.d.ts +16 -0
  703. package/dist/types/ui/filters/PeriodRangeSelector.d.ts +28 -0
  704. package/dist/types/ui/filters/QuickFilters.d.ts +21 -0
  705. package/dist/types/ui/filters/SegmentedControl.d.ts +44 -0
  706. package/dist/types/ui/index.d.ts +33 -0
  707. package/dist/types/ui/labels/DictionaryText.d.ts +7 -0
  708. package/dist/types/ui/labels/StatusChip.d.ts +21 -0
  709. package/dist/types/ui/labels/Tag.d.ts +19 -0
  710. package/dist/types/ui/layout/CollapsibleSection.d.ts +15 -0
  711. package/dist/types/ui/layout/ContentDialog.d.ts +13 -0
  712. package/dist/types/ui/layout/DefinitionList.d.ts +15 -0
  713. package/dist/types/ui/layout/DetailHeader.d.ts +15 -0
  714. package/dist/types/ui/layout/ErrorPage.d.ts +22 -0
  715. package/dist/types/ui/layout/FullPageLoader.d.ts +1 -0
  716. package/dist/types/ui/layout/GlassLensFilter.d.ts +1 -0
  717. package/dist/types/ui/layout/GlassPanel.d.ts +11 -0
  718. package/dist/types/ui/layout/PageHeader.d.ts +15 -0
  719. package/dist/types/ui/layout/PageHeading.d.ts +18 -0
  720. package/dist/types/ui/layout/ProfileHeader.d.ts +17 -0
  721. package/dist/types/ui/layout/ScrollableRow.d.ts +33 -0
  722. package/dist/types/ui/layout/SectionCard.d.ts +11 -0
  723. package/dist/types/ui/layout/appBarHeight.d.ts +13 -0
  724. package/dist/types/ui/metrics/BarList.d.ts +19 -0
  725. package/dist/types/ui/metrics/CalendarHeatmap.d.ts +28 -0
  726. package/dist/types/ui/metrics/ChartTooltip.d.ts +5 -0
  727. package/dist/types/ui/metrics/ColumnChart.d.ts +35 -0
  728. package/dist/types/ui/metrics/MetricCard.d.ts +31 -0
  729. package/dist/types/ui/metrics/TableToggle.d.ts +7 -0
  730. package/dist/types/ui/metrics/barListLabels.d.ts +17 -0
  731. package/dist/types/ui/metrics/heatmapScale.d.ts +45 -0
  732. package/dist/types/ui/navigation/BackButton.d.ts +11 -0
  733. package/dist/types/ui/navigation/ColorSchemeToggle.d.ts +7 -0
  734. package/dist/types/ui/navigation/DocumentTitle.d.ts +6 -0
  735. package/dist/types/ui/navigation/FontSizeToggle.d.ts +6 -0
  736. package/dist/types/ui/navigation/LanguageToggle.d.ts +8 -0
  737. package/dist/types/ui/navigation/PageBreadcrumbs.d.ts +9 -0
  738. package/dist/types/ui/navigation/colorMode.d.ts +18 -0
  739. package/dist/types/ui/navigation/fontSizeLevels.d.ts +25 -0
  740. package/dist/types/ui/navigation/useFontSize.d.ts +10 -0
  741. package/dist/types/ui/timeline/GroupedTimeline.d.ts +38 -0
  742. package/dist/types/ui/timeline/timelineDot.d.ts +19 -0
  743. package/dist/types/upload/FileDropzone.d.ts +34 -0
  744. package/dist/types/upload/fileRules.d.ts +51 -0
  745. package/dist/types/upload/uploadMachine.d.ts +23 -0
  746. package/dist/types/upload/uploadWithProgress.d.ts +16 -0
  747. package/dist/ui/actions/CopyButton.js +28 -0
  748. package/dist/ui/actions/CopyButton.js.map +1 -0
  749. package/dist/ui/actions/DownloadMenu.js +163 -0
  750. package/dist/ui/actions/DownloadMenu.js.map +1 -0
  751. package/dist/ui/actions/SecretField.js +57 -0
  752. package/dist/ui/actions/SecretField.js.map +1 -0
  753. package/dist/ui/filters/DateRangeFilter.js +86 -0
  754. package/dist/ui/filters/DateRangeFilter.js.map +1 -0
  755. package/dist/ui/filters/PeriodRangeSelector.js +56 -0
  756. package/dist/ui/filters/PeriodRangeSelector.js.map +1 -0
  757. package/dist/ui/filters/QuickFilters.js +91 -0
  758. package/dist/ui/filters/QuickFilters.js.map +1 -0
  759. package/dist/ui/filters/SegmentedControl.js +80 -0
  760. package/dist/ui/filters/SegmentedControl.js.map +1 -0
  761. package/dist/ui/labels/DictionaryText.js +11 -0
  762. package/dist/ui/labels/DictionaryText.js.map +1 -0
  763. package/dist/ui/labels/StatusChip.js +52 -0
  764. package/dist/ui/labels/StatusChip.js.map +1 -0
  765. package/dist/ui/labels/Tag.js +26 -0
  766. package/dist/ui/labels/Tag.js.map +1 -0
  767. package/dist/ui/layout/CollapsibleSection.js +48 -0
  768. package/dist/ui/layout/CollapsibleSection.js.map +1 -0
  769. package/dist/ui/layout/ContentDialog.js +97 -0
  770. package/dist/ui/layout/ContentDialog.js.map +1 -0
  771. package/dist/ui/layout/DefinitionList.js +30 -0
  772. package/dist/ui/layout/DefinitionList.js.map +1 -0
  773. package/dist/ui/layout/DetailHeader.js +27 -0
  774. package/dist/ui/layout/DetailHeader.js.map +1 -0
  775. package/dist/ui/layout/ErrorPage.js +40 -0
  776. package/dist/ui/layout/ErrorPage.js.map +1 -0
  777. package/dist/ui/layout/FullPageLoader.js +13 -0
  778. package/dist/ui/layout/FullPageLoader.js.map +1 -0
  779. package/dist/ui/layout/GlassLensFilter.js +53 -0
  780. package/dist/ui/layout/GlassLensFilter.js.map +1 -0
  781. package/dist/ui/layout/GlassPanel.js +18 -0
  782. package/dist/ui/layout/GlassPanel.js.map +1 -0
  783. package/dist/ui/layout/PageHeader.js +23 -0
  784. package/dist/ui/layout/PageHeader.js.map +1 -0
  785. package/dist/ui/layout/PageHeading.js +51 -0
  786. package/dist/ui/layout/PageHeading.js.map +1 -0
  787. package/dist/ui/layout/ProfileHeader.js +64 -0
  788. package/dist/ui/layout/ProfileHeader.js.map +1 -0
  789. package/dist/ui/layout/ScrollableRow.js +156 -0
  790. package/dist/ui/layout/ScrollableRow.js.map +1 -0
  791. package/dist/ui/layout/SectionCard.js +18 -0
  792. package/dist/ui/layout/SectionCard.js.map +1 -0
  793. package/dist/ui/layout/appBarHeight.js +42 -0
  794. package/dist/ui/layout/appBarHeight.js.map +1 -0
  795. package/dist/ui/metrics/BarList.js +89 -0
  796. package/dist/ui/metrics/BarList.js.map +1 -0
  797. package/dist/ui/metrics/CalendarHeatmap.js +131 -0
  798. package/dist/ui/metrics/CalendarHeatmap.js.map +1 -0
  799. package/dist/ui/metrics/ChartTooltip.js +16 -0
  800. package/dist/ui/metrics/ChartTooltip.js.map +1 -0
  801. package/dist/ui/metrics/ColumnChart.js +110 -0
  802. package/dist/ui/metrics/ColumnChart.js.map +1 -0
  803. package/dist/ui/metrics/MetricCard.js +64 -0
  804. package/dist/ui/metrics/MetricCard.js.map +1 -0
  805. package/dist/ui/metrics/TableToggle.js +13 -0
  806. package/dist/ui/metrics/TableToggle.js.map +1 -0
  807. package/dist/ui/metrics/barListLabels.js +9 -0
  808. package/dist/ui/metrics/barListLabels.js.map +1 -0
  809. package/dist/ui/metrics/heatmapScale.js +67 -0
  810. package/dist/ui/metrics/heatmapScale.js.map +1 -0
  811. package/dist/ui/navigation/BackButton.js +28 -0
  812. package/dist/ui/navigation/BackButton.js.map +1 -0
  813. package/dist/ui/navigation/ColorSchemeToggle.js +37 -0
  814. package/dist/ui/navigation/ColorSchemeToggle.js.map +1 -0
  815. package/dist/ui/navigation/DocumentTitle.js +11 -0
  816. package/dist/ui/navigation/DocumentTitle.js.map +1 -0
  817. package/dist/ui/navigation/FontSizeToggle.js +40 -0
  818. package/dist/ui/navigation/FontSizeToggle.js.map +1 -0
  819. package/dist/ui/navigation/LanguageToggle.js +27 -0
  820. package/dist/ui/navigation/LanguageToggle.js.map +1 -0
  821. package/dist/ui/navigation/PageBreadcrumbs.js +51 -0
  822. package/dist/ui/navigation/PageBreadcrumbs.js.map +1 -0
  823. package/dist/ui/navigation/colorMode.js +13 -0
  824. package/dist/ui/navigation/colorMode.js.map +1 -0
  825. package/dist/ui/navigation/fontSizeLevels.js +24 -0
  826. package/dist/ui/navigation/fontSizeLevels.js.map +1 -0
  827. package/dist/ui/navigation/useFontSize.js +44 -0
  828. package/dist/ui/navigation/useFontSize.js.map +1 -0
  829. package/dist/ui/timeline/GroupedTimeline.js +104 -0
  830. package/dist/ui/timeline/GroupedTimeline.js.map +1 -0
  831. package/dist/ui/timeline/timelineDot.js +20 -0
  832. package/dist/ui/timeline/timelineDot.js.map +1 -0
  833. package/dist/upload/FileDropzone.js +143 -0
  834. package/dist/upload/FileDropzone.js.map +1 -0
  835. package/dist/upload/fileRules.js +62 -0
  836. package/dist/upload/fileRules.js.map +1 -0
  837. package/dist/upload/uploadMachine.js +73 -0
  838. package/dist/upload/uploadMachine.js.map +1 -0
  839. package/dist/upload/uploadWithProgress.js +45 -0
  840. package/dist/upload/uploadWithProgress.js.map +1 -0
  841. package/package.json +303 -5
@@ -0,0 +1,26 @@
1
+ import { MuiAppBar } from "./components/MuiAppBar.js";
2
+ import { MuiBackdrop } from "./components/MuiBackdrop.js";
3
+ import { MuiButton } from "./components/MuiButton.js";
4
+ import { MuiButtonBase } from "./components/MuiButtonBase.js";
5
+ import { MuiChip } from "./components/MuiChip.js";
6
+ import { MuiDataGrid } from "./components/MuiDataGrid.js";
7
+ import { MuiDrawer } from "./components/MuiDrawer.js";
8
+ import { MuiMenuItem } from "./components/MuiMenuItem.js";
9
+ import { MuiTypography } from "./components/MuiTypography.js";
10
+ function toolkitComponents() {
11
+ return {
12
+ ...MuiAppBar(),
13
+ ...MuiBackdrop(),
14
+ ...MuiButton(),
15
+ ...MuiButtonBase(),
16
+ ...MuiChip(),
17
+ ...MuiDataGrid(),
18
+ ...MuiDrawer(),
19
+ ...MuiMenuItem(),
20
+ ...MuiTypography()
21
+ };
22
+ }
23
+ export {
24
+ toolkitComponents
25
+ };
26
+ //# sourceMappingURL=toolkitComponents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolkitComponents.js","sources":["../../src/theme/toolkitComponents.js"],"sourcesContent":["// Los ajustes de componentes de MUI del framework (del tema de walk-ot), juntos. Un archivo por componente en\n// theme/components/: para cambiar cómo se ve un componente se abre el suyo y nada más.\n//\n// createToolkitTheme() ya los trae. Un proyecto con su propio createTheme los puede usar sueltos:\n// createTheme({components: {...toolkitComponents(), ...losMios}})\n//\n// Funciones puras, sin React: function (regla de la casa).\nimport {MuiAppBar} from '@/theme/components/MuiAppBar.js';\nimport {MuiBackdrop} from '@/theme/components/MuiBackdrop.js';\nimport {MuiButton} from '@/theme/components/MuiButton.js';\nimport {MuiButtonBase} from '@/theme/components/MuiButtonBase.js';\nimport {MuiChip} from '@/theme/components/MuiChip.js';\nimport {MuiDataGrid} from '@/theme/components/MuiDataGrid.js';\nimport {MuiDrawer} from '@/theme/components/MuiDrawer.js';\nimport {MuiMenuItem} from '@/theme/components/MuiMenuItem.js';\nimport {MuiTypography} from '@/theme/components/MuiTypography.js';\n\n/**\n * @returns {object} el `components` del tema de MUI\n */\nexport function toolkitComponents() {\n return {\n ...MuiAppBar(),\n ...MuiBackdrop(),\n ...MuiButton(),\n ...MuiButtonBase(),\n ...MuiChip(),\n ...MuiDataGrid(),\n ...MuiDrawer(),\n ...MuiMenuItem(),\n ...MuiTypography(),\n };\n}\n"],"names":[],"mappings":";;;;;;;;;AAoBO,SAAS,oBAAoB;AAChC,SAAO;AAAA,IACH,GAAG,UAAS;AAAA,IACZ,GAAG,YAAW;AAAA,IACd,GAAG,UAAS;AAAA,IACZ,GAAG,cAAa;AAAA,IAChB,GAAG,QAAO;AAAA,IACV,GAAG,YAAW;AAAA,IACd,GAAG,UAAS;AAAA,IACZ,GAAG,YAAW;AAAA,IACd,GAAG,cAAa;AAAA,EACxB;AACA;"}
@@ -0,0 +1,8 @@
1
+ import { default as default2 } from "./ui/timeline/GroupedTimeline.js";
2
+ import { TIMELINE_EMPHASIS, timelineDotOf } from "./ui/timeline/timelineDot.js";
3
+ export {
4
+ default2 as GroupedTimeline,
5
+ TIMELINE_EMPHASIS,
6
+ timelineDotOf
7
+ };
8
+ //# sourceMappingURL=timeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeline.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -0,0 +1,49 @@
1
+ "use client";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { useMemo } from "react";
4
+ import { allowOnlyUnrestricted } from "../access/accessRules.js";
5
+ import { browserNavigation } from "./browserNavigation.js";
6
+ import { ToolkitContext } from "./toolkitContext.js";
7
+ import { useFontSize } from "../ui/navigation/useFontSize.js";
8
+ import { DEFAULT_CURRENCY, DEFAULT_LANGUAGE, browserTimeZone, configureToolkit } from "./toolkitSettings.js";
9
+ const ToolkitProvider = ({
10
+ language = DEFAULT_LANGUAGE,
11
+ onLanguageChange,
12
+ texts,
13
+ translate,
14
+ timeZone,
15
+ currency = DEFAULT_CURRENCY,
16
+ appName = "",
17
+ navigation = browserNavigation,
18
+ buildId = "",
19
+ canAccess = allowOnlyUnrestricted,
20
+ children
21
+ }) => {
22
+ const settings = useMemo(() => ({
23
+ language,
24
+ onLanguageChange: onLanguageChange ?? null,
25
+ texts: texts ?? {},
26
+ translate: translate ?? null,
27
+ timeZone: timeZone ?? browserTimeZone(),
28
+ currency,
29
+ appName,
30
+ navigation,
31
+ buildId,
32
+ canAccess
33
+ }), [language, onLanguageChange, texts, translate, timeZone, currency, appName, navigation, buildId, canAccess]);
34
+ configureToolkit({
35
+ language: settings.language,
36
+ texts: settings.texts,
37
+ translate: settings.translate,
38
+ timeZone: settings.timeZone,
39
+ currency,
40
+ appName,
41
+ buildId
42
+ });
43
+ useFontSize();
44
+ return /* @__PURE__ */ jsx(ToolkitContext.Provider, { value: settings, children });
45
+ };
46
+ export {
47
+ ToolkitProvider
48
+ };
49
+ //# sourceMappingURL=ToolkitProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolkitProvider.js","sources":["../../src/toolkit/ToolkitProvider.jsx"],"sourcesContent":["// El proveedor del paquete: el único lugar donde cada aplicación conecta su idioma, sus textos, su zona horaria y su\n// router. Va por encima de la aplicación, dentro del ThemeProvider de MUI (el tema lo arma cada proyecto; sin tema,\n// los componentes usan los colores por omisión de MUI).\n//\n// <ToolkitProvider language=\"es\" navigation={reactRouterNavigation} texts={{es: {common: {actions: {back: 'Volver'}}}}}>\n//\n// Sin proveedor todo funciona en español, con la zona del navegador y la navegación del navegador.\n//\n// Lo renderiza la app: arrow (regla de la casa).\nimport {useMemo} from 'react';\nimport {allowOnlyUnrestricted} from '@/access/accessRules.js';\nimport {browserNavigation} from '@/toolkit/browserNavigation.js';\nimport {ToolkitContext} from '@/toolkit/toolkitContext.js';\nimport {useFontSize} from '@/ui/navigation/useFontSize.js';\nimport {DEFAULT_CURRENCY, DEFAULT_LANGUAGE, browserTimeZone, configureToolkit} from '@/toolkit/toolkitSettings.js';\n\n/**\n * @param {object} props\n * @param {string} [props.language] idioma activo: es o en (por omisión es)\n * @param {(language: string) => void} [props.onLanguageChange] lo llama LanguageToggle; el proyecto cambia su idioma\n * @param {object} [props.texts] textos propios por idioma, con la forma de locales/ ({es: {table: {...}}})\n * @param {(namespace: string, key: string, values?: object) => string|undefined} [props.translate] traductor del\n * proyecto (por ejemplo i18next); undefined deja el texto del paquete\n * @param {string} [props.timeZone] zona de las fechas (por omisión la del navegador)\n * @param {string} [props.currency] moneda de los montos, código ISO 4217 (por omisión MXN)\n * @param {string} [props.appName] nombre de la aplicación para el título de la pestaña\n * @param {object} [props.navigation] {useNavigate, useLocation, Link}; por omisión la del navegador\n * @param {string} [props.buildId] la compilación del front que corre en esta pestaña; con ella NewBuildNotice sabe si el\n * servidor ya publicó otra (reportPublishedBuild). Vacía (en desarrollo) nunca avisa\n * @param {(access: object|undefined|null) => boolean} [props.canAccess] quién ve qué (menú, rutas, botones): la regla del\n * proyecto, normalmente createAccessChecker({abilities, roles, policies, context}). Sin ella solo se ve lo que no\n * tiene regla\n * @param {import('react').ReactNode} props.children\n */\nexport const ToolkitProvider = ({\n language = DEFAULT_LANGUAGE, onLanguageChange, texts, translate, timeZone, currency = DEFAULT_CURRENCY, appName = '',\n navigation = browserNavigation, buildId = '', canAccess = allowOnlyUnrestricted, children,\n}) => {\n const settings = useMemo(() => ({\n language,\n onLanguageChange: onLanguageChange ?? null,\n texts: texts ?? {},\n translate: translate ?? null,\n timeZone: timeZone ?? browserTimeZone(),\n currency,\n appName,\n navigation,\n buildId,\n canAccess,\n }), [language, onLanguageChange, texts, translate, timeZone, currency, appName, navigation, buildId, canAccess]);\n\n // OJO: se configura durante el render (no en un efecto) para que los formatos y avisos que se llaman en este mismo\n // render ya vean el idioma y la zona nuevos\n configureToolkit({\n language: settings.language, texts: settings.texts, translate: settings.translate, timeZone: settings.timeZone, currency, appName,\n buildId,\n });\n\n // el tamaño de letra que la persona guardó: se aplica aquí, que siempre está montado. Antes lo aplicaba su botón en la\n // barra; al pasar los ajustes al menú de la cuenta, al recargar se perdía hasta abrir el menú (error pagado)\n useFontSize();\n\n return <ToolkitContext.Provider value={settings}>{children}</ToolkitContext.Provider>;\n};\n"],"names":[],"mappings":";;;;;;;;AAkCO,MAAM,kBAAkB,CAAC;AAAA,EAC5B,WAAW;AAAA,EAAkB;AAAA,EAAkB;AAAA,EAAO;AAAA,EAAW;AAAA,EAAU,WAAW;AAAA,EAAkB,UAAU;AAAA,EAClH,aAAa;AAAA,EAAmB,UAAU;AAAA,EAAI,YAAY;AAAA,EAAuB;AACrF,MAAM;AACF,QAAM,WAAW,QAAQ,OAAO;AAAA,IAC5B;AAAA,IACA,kBAAkB,oBAAoB;AAAA,IACtC,OAAO,SAAS,CAAA;AAAA,IAChB,WAAW,aAAa;AAAA,IACxB,UAAU,YAAY,gBAAA;AAAA,IACtB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACA,CAAC,UAAU,kBAAkB,OAAO,WAAW,UAAU,UAAU,SAAS,YAAY,SAAS,SAAS,CAAC;AAI/G,mBAAiB;AAAA,IACb,UAAU,SAAS;AAAA,IAAU,OAAO,SAAS;AAAA,IAAO,WAAW,SAAS;AAAA,IAAW,UAAU,SAAS;AAAA,IAAU;AAAA,IAAU;AAAA,IAC1H;AAAA,EAAA,CACH;AAID,cAAA;AAEA,6BAAQ,eAAe,UAAf,EAAwB,OAAO,UAAW,UAAS;AAC/D;"}
@@ -0,0 +1,34 @@
1
+ "use client";
2
+ import { createElement, useSyncExternalStore } from "react";
3
+ const HISTORY_BACK = -1;
4
+ function navigateInBrowser(destination) {
5
+ if (destination === HISTORY_BACK) {
6
+ window.history.back();
7
+ return;
8
+ }
9
+ window.location.assign(destination);
10
+ }
11
+ function subscribeToHistory(onChange) {
12
+ window.addEventListener("popstate", onChange);
13
+ return () => window.removeEventListener("popstate", onChange);
14
+ }
15
+ function currentHref() {
16
+ return window.location.href;
17
+ }
18
+ function useBrowserLocation() {
19
+ const href = useSyncExternalStore(subscribeToHistory, currentHref, () => "");
20
+ const url = href ? new URL(href) : null;
21
+ return { pathname: url?.pathname ?? "/", search: url?.search ?? "", key: href };
22
+ }
23
+ function BrowserLink({ to, ...props }) {
24
+ return createElement("a", { href: to, ...props });
25
+ }
26
+ const browserNavigation = Object.freeze({
27
+ useNavigate: () => navigateInBrowser,
28
+ useLocation: useBrowserLocation,
29
+ Link: BrowserLink
30
+ });
31
+ export {
32
+ browserNavigation
33
+ };
34
+ //# sourceMappingURL=browserNavigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browserNavigation.js","sources":["../../src/toolkit/browserNavigation.js"],"sourcesContent":["// La navegación por omisión: la del navegador, para usar el paquete sin router.\n//\n// Los componentes que navegan (BackButton, MetricCard, el regreso a la última lista) no importan react-router ni\n// Next.js: le piden al proveedor una navegación con tres piezas, las mismas que trae react-router:\n// useNavigate() regresa navigate(destino), donde destino es una ruta o -1 para regresar;\n// useLocation() regresa {pathname, search, key} de la página actual;\n// Link el enlace, que recibe `to` con la ruta.\n// Un proyecto con router pasa su adaptador (@stackcraftmx/calcita/react-router); sin él, esta cambia de página como un\n// enlace normal.\n//\n// OJO: aquí cada navegación recarga la página. Para una aplicación de una sola página se usa el adaptador de su router.\nimport {createElement, useSyncExternalStore} from 'react';\n\nconst HISTORY_BACK = -1;\n\n/**\n * Cambia de página: -1 regresa en el historial; una ruta abre esa ruta.\n *\n * @param {string|number} destination\n * @returns {void}\n */\nfunction navigateInBrowser(destination) {\n if (destination === HISTORY_BACK) {\n window.history.back();\n return;\n }\n\n window.location.assign(destination);\n}\n\n/**\n * Avisa cuando cambia la página por el historial (atrás y adelante).\n *\n * @param {Function} onChange\n * @returns {Function} para dejar de escuchar\n */\nfunction subscribeToHistory(onChange) {\n window.addEventListener('popstate', onChange);\n\n return () => window.removeEventListener('popstate', onChange);\n}\n\n/**\n * La dirección actual como texto, para saber si cambió.\n *\n * @returns {string}\n */\nfunction currentHref() {\n return window.location.href;\n}\n\n/**\n * La página actual, como la da react-router: la ruta, la búsqueda y una llave por página.\n *\n * @returns {{pathname: string, search: string, key: string}}\n */\nfunction useBrowserLocation() {\n const href = useSyncExternalStore(subscribeToHistory, currentHref, () => '');\n const url = href ? new URL(href) : null;\n\n return {pathname: url?.pathname ?? '/', search: url?.search ?? '', key: href};\n}\n\n/**\n * El enlace sin router: un <a> con href.\n *\n * @param {{to: string}} props lo demás pasa al <a>\n * @returns {import('react').ReactElement}\n */\nfunction BrowserLink({to, ...props}) {\n return createElement('a', {href: to, ...props});\n}\n\nexport const browserNavigation = Object.freeze({\n useNavigate: () => navigateInBrowser,\n useLocation: useBrowserLocation,\n Link: BrowserLink,\n});\n"],"names":[],"mappings":";;AAaA,MAAM,eAAe;AAQrB,SAAS,kBAAkB,aAAa;AACpC,MAAI,gBAAgB,cAAc;AAC9B,WAAO,QAAQ,KAAI;AACnB;AAAA,EACJ;AAEA,SAAO,SAAS,OAAO,WAAW;AACtC;AAQA,SAAS,mBAAmB,UAAU;AAClC,SAAO,iBAAiB,YAAY,QAAQ;AAE5C,SAAO,MAAM,OAAO,oBAAoB,YAAY,QAAQ;AAChE;AAOA,SAAS,cAAc;AACnB,SAAO,OAAO,SAAS;AAC3B;AAOA,SAAS,qBAAqB;AAC1B,QAAM,OAAO,qBAAqB,oBAAoB,aAAa,MAAM,EAAE;AAC3E,QAAM,MAAM,OAAO,IAAI,IAAI,IAAI,IAAI;AAEnC,SAAO,EAAC,UAAU,KAAK,YAAY,KAAK,QAAQ,KAAK,UAAU,IAAI,KAAK,KAAI;AAChF;AAQA,SAAS,YAAY,EAAC,IAAI,GAAG,MAAK,GAAG;AACjC,SAAO,cAAc,KAAK,EAAC,MAAM,IAAI,GAAG,MAAK,CAAC;AAClD;AAEY,MAAC,oBAAoB,OAAO,OAAO;AAAA,EAC3C,aAAa,MAAM;AAAA,EACnB,aAAa;AAAA,EACb,MAAM;AACV,CAAC;"}
@@ -0,0 +1,19 @@
1
+ "use client";
2
+ import { createContext, useContext } from "react";
3
+ import { allowOnlyUnrestricted } from "../access/accessRules.js";
4
+ import { browserNavigation } from "./browserNavigation.js";
5
+ import { toolkitSettings } from "./toolkitSettings.js";
6
+ const ToolkitContext = createContext(null);
7
+ function useToolkitSettings() {
8
+ const settings = useContext(ToolkitContext);
9
+ return settings ?? { ...toolkitSettings(), onLanguageChange: null, navigation: browserNavigation, canAccess: allowOnlyUnrestricted };
10
+ }
11
+ function useToolkitNavigation() {
12
+ return useToolkitSettings().navigation;
13
+ }
14
+ export {
15
+ ToolkitContext,
16
+ useToolkitNavigation,
17
+ useToolkitSettings
18
+ };
19
+ //# sourceMappingURL=toolkitContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolkitContext.js","sources":["../../src/toolkit/toolkitContext.js"],"sourcesContent":["// El contexto de ToolkitProvider y los hooks que lo leen. Vive aparte del proveedor (que es .jsx) para que los hooks se\n// importen desde archivos .js sin arrastrar JSX.\n//\n// Hooks genéricos: function (regla de la casa).\nimport {createContext, useContext} from 'react';\nimport {allowOnlyUnrestricted} from '@/access/accessRules.js';\nimport {browserNavigation} from '@/toolkit/browserNavigation.js';\nimport {toolkitSettings} from '@/toolkit/toolkitSettings.js';\n\nexport const ToolkitContext = createContext(null);\n\n/**\n * La configuración del proveedor; sin proveedor, la vigente con la navegación del navegador.\n *\n * @returns {{language: string, onLanguageChange: Function|null, texts: object, translate: Function|null, timeZone: string, currency: string, appName: string, buildId: string, navigation: object, canAccess: Function}}\n */\nexport function useToolkitSettings() {\n const settings = useContext(ToolkitContext);\n\n return settings ?? {...toolkitSettings(), onLanguageChange: null, navigation: browserNavigation, canAccess: allowOnlyUnrestricted};\n}\n\n/**\n * La navegación que conectó el proyecto: {useNavigate, useLocation, Link}.\n *\n * @returns {{useNavigate: Function, useLocation: Function, Link: import('react').ElementType}}\n */\nexport function useToolkitNavigation() {\n return useToolkitSettings().navigation;\n}\n"],"names":[],"mappings":";;;;;AASY,MAAC,iBAAiB,cAAc,IAAI;AAOzC,SAAS,qBAAqB;AACjC,QAAM,WAAW,WAAW,cAAc;AAE1C,SAAO,YAAY,EAAC,GAAG,mBAAmB,kBAAkB,MAAM,YAAY,mBAAmB,WAAW,sBAAqB;AACrI;AAOO,SAAS,uBAAuB;AACnC,SAAO,mBAAkB,EAAG;AAChC;"}
@@ -0,0 +1,87 @@
1
+ import es from "../locales/es.js";
2
+ import en from "../locales/en.js";
3
+ const DEFAULT_LANGUAGE = "es";
4
+ const DEFAULT_CURRENCY = "MXN";
5
+ const PACKAGE_TEXTS_BY_LANGUAGE = Object.freeze({ es, en });
6
+ const INTL_LOCALE_BY_LANGUAGE = Object.freeze({ es: "es-MX", en: "en-US" });
7
+ const NAMESPACE_SEPARATOR = ":";
8
+ const KEY_SEPARATOR = ".";
9
+ const PLURAL_SEPARATOR = "_";
10
+ const PLURAL_OTHER = "other";
11
+ const INTERPOLATION = /\{\{\s*(\w+)\s*\}\}/g;
12
+ function browserTimeZone() {
13
+ return Intl.DateTimeFormat().resolvedOptions().timeZone ?? "America/Mexico_City";
14
+ }
15
+ let currentSettings = Object.freeze({
16
+ language: DEFAULT_LANGUAGE,
17
+ texts: {},
18
+ translate: null,
19
+ timeZone: browserTimeZone(),
20
+ currency: DEFAULT_CURRENCY,
21
+ appName: "",
22
+ // la compilación del front que corre en esta pestaña ('' en desarrollo): con ella se sabe si hay una versión nueva
23
+ buildId: ""
24
+ });
25
+ function configureToolkit(settings) {
26
+ currentSettings = Object.freeze({ ...currentSettings, ...settings });
27
+ }
28
+ function toolkitSettings() {
29
+ return currentSettings;
30
+ }
31
+ function intlLocaleOf(language) {
32
+ return INTL_LOCALE_BY_LANGUAGE[language] ?? INTL_LOCALE_BY_LANGUAGE[DEFAULT_LANGUAGE];
33
+ }
34
+ function valueAtPath(texts, path) {
35
+ let value = texts;
36
+ for (const part of path.split(KEY_SEPARATOR)) {
37
+ if (value === null || typeof value !== "object") {
38
+ return void 0;
39
+ }
40
+ value = value[part];
41
+ }
42
+ return value;
43
+ }
44
+ function textOf(texts, namespace, key, values, language) {
45
+ const namespaceTexts = texts?.[namespace];
46
+ if (typeof values?.count === "number") {
47
+ const pluralCategory = new Intl.PluralRules(intlLocaleOf(language)).select(values.count);
48
+ const pluralText = valueAtPath(namespaceTexts, `${key}${PLURAL_SEPARATOR}${pluralCategory}`) ?? valueAtPath(namespaceTexts, `${key}${PLURAL_SEPARATOR}${PLURAL_OTHER}`);
49
+ if (typeof pluralText === "string") {
50
+ return pluralText;
51
+ }
52
+ }
53
+ const text = valueAtPath(namespaceTexts, key);
54
+ return typeof text === "string" ? text : void 0;
55
+ }
56
+ function interpolate(text, values) {
57
+ return text.replace(INTERPOLATION, (placeholder, name) => values?.[name] === void 0 ? placeholder : String(values[name]));
58
+ }
59
+ function translateWith(settings, defaultNamespace, key, values) {
60
+ const [namespace, plainKey] = key.includes(NAMESPACE_SEPARATOR) ? key.split(NAMESPACE_SEPARATOR, 2) : [defaultNamespace, key];
61
+ const projectText = settings.translate?.(namespace, plainKey, values);
62
+ if (typeof projectText === "string") {
63
+ return projectText;
64
+ }
65
+ const text = textOf(settings.texts?.[settings.language], namespace, plainKey, values, settings.language) ?? textOf(PACKAGE_TEXTS_BY_LANGUAGE[settings.language], namespace, plainKey, values, settings.language) ?? textOf(PACKAGE_TEXTS_BY_LANGUAGE[DEFAULT_LANGUAGE], namespace, plainKey, values, DEFAULT_LANGUAGE);
66
+ if (text !== void 0) {
67
+ return interpolate(text, values);
68
+ }
69
+ if (typeof values?.defaultValue === "string") {
70
+ return interpolate(values.defaultValue, values);
71
+ }
72
+ return `${namespace}${NAMESPACE_SEPARATOR}${plainKey}`;
73
+ }
74
+ function translateToolkit(defaultNamespace, key, values) {
75
+ return translateWith(currentSettings, defaultNamespace, key, values);
76
+ }
77
+ export {
78
+ DEFAULT_CURRENCY,
79
+ DEFAULT_LANGUAGE,
80
+ browserTimeZone,
81
+ configureToolkit,
82
+ intlLocaleOf,
83
+ toolkitSettings,
84
+ translateToolkit,
85
+ translateWith
86
+ };
87
+ //# sourceMappingURL=toolkitSettings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolkitSettings.js","sources":["../../src/toolkit/toolkitSettings.js"],"sourcesContent":["// La configuración del paquete: idioma, textos, zona horaria, moneda, nombre de la aplicación y navegación.\n//\n// La pone ToolkitProvider en cada render y la leen también las funciones que no son componentes (formatos de fecha y\n// número, avisos, errores del servidor). Sin proveedor valen los de omisión: español, la zona del navegador y la\n// navegación del navegador.\n//\n// Los textos se resuelven en este orden, para que cada proyecto cambie solo lo que necesite:\n// 1. translate del proyecto (por ejemplo el t de i18next), si regresa un texto;\n// 2. los textos que el proyecto pasó en `texts`, del idioma activo;\n// 3. los textos del paquete (locales/), del idioma activo y, si no está, en español.\n// Las llaves usan la forma de i18next: «namespace:llave.anidada», {{variable}} y plurales con _one / _other.\n//\n// Funciones puras, no renderizan: function (regla de la casa).\nimport es from '@/locales/es.js';\nimport en from '@/locales/en.js';\n\nexport const DEFAULT_LANGUAGE = 'es';\n// la moneda de los montos (código ISO 4217) cuando el proyecto no dice otra\nexport const DEFAULT_CURRENCY = 'MXN';\n\nconst PACKAGE_TEXTS_BY_LANGUAGE = Object.freeze({es, en});\n\n// cómo se escriben números y fechas en cada idioma (Intl)\nconst INTL_LOCALE_BY_LANGUAGE = Object.freeze({es: 'es-MX', en: 'en-US'});\n\nconst NAMESPACE_SEPARATOR = ':';\nconst KEY_SEPARATOR = '.';\nconst PLURAL_SEPARATOR = '_';\nconst PLURAL_OTHER = 'other';\nconst INTERPOLATION = /\\{\\{\\s*(\\w+)\\s*\\}\\}/g;\n\n/**\n * La zona horaria del navegador; si el navegador no la sabe, la de la Ciudad de México.\n *\n * @returns {string}\n */\nexport function browserTimeZone() {\n return Intl.DateTimeFormat().resolvedOptions().timeZone ?? 'America/Mexico_City';\n}\n\nlet currentSettings = Object.freeze({\n language: DEFAULT_LANGUAGE,\n texts: {},\n translate: null,\n timeZone: browserTimeZone(),\n currency: DEFAULT_CURRENCY,\n appName: '',\n // la compilación del front que corre en esta pestaña ('' en desarrollo): con ella se sabe si hay una versión nueva\n buildId: '',\n});\n\n/**\n * Cambia la configuración que leen las funciones del paquete. La llama ToolkitProvider; un proyecto sin React (o una\n * prueba) la puede llamar directo.\n *\n * @param {{language?: string, texts?: object, translate?: Function|null, timeZone?: string, currency?: string, appName?: string, buildId?: string}} settings\n * @returns {void}\n */\nexport function configureToolkit(settings) {\n currentSettings = Object.freeze({...currentSettings, ...settings});\n}\n\n/**\n * La configuración vigente.\n *\n * @returns {{language: string, texts: object, translate: Function|null, timeZone: string, currency: string, appName: string, buildId: string}}\n */\nexport function toolkitSettings() {\n return currentSettings;\n}\n\n/**\n * El locale de Intl del idioma (es → es-MX, en → en-US).\n *\n * @param {string} language\n * @returns {string}\n */\nexport function intlLocaleOf(language) {\n return INTL_LOCALE_BY_LANGUAGE[language] ?? INTL_LOCALE_BY_LANGUAGE[DEFAULT_LANGUAGE];\n}\n\n/**\n * Lo que hay en una ruta de llaves («toast.error») dentro de un objeto de textos.\n *\n * @param {object|undefined} texts\n * @param {string} path\n * @returns {unknown}\n */\nfunction valueAtPath(texts, path) {\n let value = texts;\n for (const part of path.split(KEY_SEPARATOR)) {\n if (value === null || typeof value !== 'object') {\n return undefined;\n }\n value = value[part];\n }\n\n return value;\n}\n\n/**\n * El texto de una llave en un objeto de textos, con su plural si trae count (como i18next: llave_one, llave_other).\n *\n * @param {object|undefined} texts los textos de un idioma, por namespace\n * @param {string} namespace\n * @param {string} key\n * @param {object|undefined} values\n * @param {string} language\n * @returns {string|undefined}\n */\nfunction textOf(texts, namespace, key, values, language) {\n const namespaceTexts = texts?.[namespace];\n if (typeof values?.count === 'number') {\n const pluralCategory = new Intl.PluralRules(intlLocaleOf(language)).select(values.count);\n const pluralText = valueAtPath(namespaceTexts, `${key}${PLURAL_SEPARATOR}${pluralCategory}`)\n ?? valueAtPath(namespaceTexts, `${key}${PLURAL_SEPARATOR}${PLURAL_OTHER}`);\n if (typeof pluralText === 'string') {\n return pluralText;\n }\n }\n\n const text = valueAtPath(namespaceTexts, key);\n\n return typeof text === 'string' ? text : undefined;\n}\n\n/**\n * Pone los valores en las {{variables}} del texto; una variable sin valor se queda como está.\n *\n * @param {string} text\n * @param {object|undefined} values\n * @returns {string}\n */\nfunction interpolate(text, values) {\n return text.replace(INTERPOLATION, (placeholder, name) => (values?.[name] === undefined ? placeholder : String(values[name])));\n}\n\n/**\n * El texto de una llave con una configuración dada (la del proveedor o la vigente).\n *\n * @param {{language: string, texts: object, translate: Function|null}} settings\n * @param {string} defaultNamespace el namespace cuando la llave no trae uno («table», «common», «problems»...)\n * @param {string} key «llave» o «namespace:llave»\n * @param {object} [values] las variables del texto y, para el plural, count\n * @returns {string} la llave misma si no hay texto, para que se note qué falta\n */\nexport function translateWith(settings, defaultNamespace, key, values) {\n const [namespace, plainKey] = key.includes(NAMESPACE_SEPARATOR) ? key.split(NAMESPACE_SEPARATOR, 2) : [defaultNamespace, key];\n const projectText = settings.translate?.(namespace, plainKey, values);\n if (typeof projectText === 'string') {\n return projectText;\n }\n\n const text = textOf(settings.texts?.[settings.language], namespace, plainKey, values, settings.language)\n ?? textOf(PACKAGE_TEXTS_BY_LANGUAGE[settings.language], namespace, plainKey, values, settings.language)\n ?? textOf(PACKAGE_TEXTS_BY_LANGUAGE[DEFAULT_LANGUAGE], namespace, plainKey, values, DEFAULT_LANGUAGE);\n\n if (text !== undefined) {\n return interpolate(text, values);\n }\n // como en i18next: sin la llave en ningún lado, el texto por omisión que pidió quien llama (un globo opcional pasa ''\n // y no se pinta); sin él, la llave tal cual, para que se note qué falta\n if (typeof values?.defaultValue === 'string') {\n return interpolate(values.defaultValue, values);\n }\n return `${namespace}${NAMESPACE_SEPARATOR}${plainKey}`;\n}\n\n/**\n * El texto de una llave con la configuración vigente, para lo que no es componente (avisos, errores del servidor).\n *\n * @param {string} defaultNamespace\n * @param {string} key\n * @param {object} [values]\n * @returns {string}\n */\nexport function translateToolkit(defaultNamespace, key, values) {\n return translateWith(currentSettings, defaultNamespace, key, values);\n}\n"],"names":[],"mappings":";;AAgBY,MAAC,mBAAmB;AAEpB,MAAC,mBAAmB;AAEhC,MAAM,4BAA4B,OAAO,OAAO,EAAC,IAAI,GAAE,CAAC;AAGxD,MAAM,0BAA0B,OAAO,OAAO,EAAC,IAAI,SAAS,IAAI,QAAO,CAAC;AAExE,MAAM,sBAAsB;AAC5B,MAAM,gBAAgB;AACtB,MAAM,mBAAmB;AACzB,MAAM,eAAe;AACrB,MAAM,gBAAgB;AAOf,SAAS,kBAAkB;AAC9B,SAAO,KAAK,eAAc,EAAG,gBAAe,EAAG,YAAY;AAC/D;AAEA,IAAI,kBAAkB,OAAO,OAAO;AAAA,EAChC,UAAU;AAAA,EACV,OAAO,CAAA;AAAA,EACP,WAAW;AAAA,EACX,UAAU,gBAAe;AAAA,EACzB,UAAU;AAAA,EACV,SAAS;AAAA;AAAA,EAET,SAAS;AACb,CAAC;AASM,SAAS,iBAAiB,UAAU;AACvC,oBAAkB,OAAO,OAAO,EAAC,GAAG,iBAAiB,GAAG,SAAQ,CAAC;AACrE;AAOO,SAAS,kBAAkB;AAC9B,SAAO;AACX;AAQO,SAAS,aAAa,UAAU;AACnC,SAAO,wBAAwB,QAAQ,KAAK,wBAAwB,gBAAgB;AACxF;AASA,SAAS,YAAY,OAAO,MAAM;AAC9B,MAAI,QAAQ;AACZ,aAAW,QAAQ,KAAK,MAAM,aAAa,GAAG;AAC1C,QAAI,UAAU,QAAQ,OAAO,UAAU,UAAU;AAC7C,aAAO;AAAA,IACX;AACA,YAAQ,MAAM,IAAI;AAAA,EACtB;AAEA,SAAO;AACX;AAYA,SAAS,OAAO,OAAO,WAAW,KAAK,QAAQ,UAAU;AACrD,QAAM,iBAAiB,QAAQ,SAAS;AACxC,MAAI,OAAO,QAAQ,UAAU,UAAU;AACnC,UAAM,iBAAiB,IAAI,KAAK,YAAY,aAAa,QAAQ,CAAC,EAAE,OAAO,OAAO,KAAK;AACvF,UAAM,aAAa,YAAY,gBAAgB,GAAG,GAAG,GAAG,gBAAgB,GAAG,cAAc,EAAE,KACpF,YAAY,gBAAgB,GAAG,GAAG,GAAG,gBAAgB,GAAG,YAAY,EAAE;AAC7E,QAAI,OAAO,eAAe,UAAU;AAChC,aAAO;AAAA,IACX;AAAA,EACJ;AAEA,QAAM,OAAO,YAAY,gBAAgB,GAAG;AAE5C,SAAO,OAAO,SAAS,WAAW,OAAO;AAC7C;AASA,SAAS,YAAY,MAAM,QAAQ;AAC/B,SAAO,KAAK,QAAQ,eAAe,CAAC,aAAa,SAAU,SAAS,IAAI,MAAM,SAAY,cAAc,OAAO,OAAO,IAAI,CAAC,CAAE;AACjI;AAWO,SAAS,cAAc,UAAU,kBAAkB,KAAK,QAAQ;AACnE,QAAM,CAAC,WAAW,QAAQ,IAAI,IAAI,SAAS,mBAAmB,IAAI,IAAI,MAAM,qBAAqB,CAAC,IAAI,CAAC,kBAAkB,GAAG;AAC5H,QAAM,cAAc,SAAS,YAAY,WAAW,UAAU,MAAM;AACpE,MAAI,OAAO,gBAAgB,UAAU;AACjC,WAAO;AAAA,EACX;AAEA,QAAM,OAAO,OAAO,SAAS,QAAQ,SAAS,QAAQ,GAAG,WAAW,UAAU,QAAQ,SAAS,QAAQ,KAChG,OAAO,0BAA0B,SAAS,QAAQ,GAAG,WAAW,UAAU,QAAQ,SAAS,QAAQ,KACnG,OAAO,0BAA0B,gBAAgB,GAAG,WAAW,UAAU,QAAQ,gBAAgB;AAExG,MAAI,SAAS,QAAW;AACpB,WAAO,YAAY,MAAM,MAAM;AAAA,EACnC;AAGA,MAAI,OAAO,QAAQ,iBAAiB,UAAU;AAC1C,WAAO,YAAY,OAAO,cAAc,MAAM;AAAA,EAClD;AACA,SAAO,GAAG,SAAS,GAAG,mBAAmB,GAAG,QAAQ;AACxD;AAUO,SAAS,iBAAiB,kBAAkB,KAAK,QAAQ;AAC5D,SAAO,cAAc,iBAAiB,kBAAkB,KAAK,MAAM;AACvE;"}
@@ -0,0 +1,18 @@
1
+ "use client";
2
+ import { useCallback } from "react";
3
+ import { useToolkitSettings } from "./toolkitContext.js";
4
+ import { translateWith } from "./toolkitSettings.js";
5
+ function useToolkitTranslation(namespace) {
6
+ const settings = useToolkitSettings();
7
+ const defaultNamespace = Array.isArray(namespace) ? namespace[0] : namespace;
8
+ const t = useCallback(
9
+ (key, values) => translateWith(settings, defaultNamespace, key, values),
10
+ [settings, defaultNamespace]
11
+ );
12
+ const changeLanguage = useCallback((language) => settings.onLanguageChange?.(language), [settings]);
13
+ return { t, language: settings.language, changeLanguage };
14
+ }
15
+ export {
16
+ useToolkitTranslation
17
+ };
18
+ //# sourceMappingURL=useToolkitTranslation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useToolkitTranslation.js","sources":["../../src/toolkit/useToolkitTranslation.js"],"sourcesContent":["// Los textos del paquete dentro de un componente, con la misma forma que useTranslation de react-i18next:\n//\n// const {t, language, changeLanguage} = useToolkitTranslation('table');\n// t('goToPage.of', {count: pageCount, total})\n//\n// Se vuelve a pintar cuando cambia el idioma o los textos del proveedor. El orden en que se buscan los textos está en\n// toolkitSettings.js.\n//\n// Hook genérico: function (regla de la casa).\nimport {useCallback} from 'react';\nimport {useToolkitSettings} from '@/toolkit/toolkitContext.js';\nimport {translateWith} from '@/toolkit/toolkitSettings.js';\n\n/**\n * @param {string|string[]} [namespace] el namespace de las llaves sin prefijo; con una lista, el primero. Sin él, cada\n * llave lleva el suyo ('orders:list.title')\n * @returns {{t: (key: string, values?: object) => string, language: string, changeLanguage: (language: string) => void}}\n */\nexport function useToolkitTranslation(namespace) {\n const settings = useToolkitSettings();\n const defaultNamespace = Array.isArray(namespace) ? namespace[0] : namespace;\n const t = useCallback(\n (key, values) => translateWith(settings, defaultNamespace, key, values),\n [settings, defaultNamespace],\n );\n // sin onLanguageChange del proyecto no hay a quién avisarle: el botón de idioma no hace nada\n const changeLanguage = useCallback((language) => settings.onLanguageChange?.(language), [settings]);\n\n return {t, language: settings.language, changeLanguage};\n}\n"],"names":[],"mappings":";;;;AAkBO,SAAS,sBAAsB,WAAW;AAC7C,QAAM,WAAW,mBAAkB;AACnC,QAAM,mBAAmB,MAAM,QAAQ,SAAS,IAAI,UAAU,CAAC,IAAI;AACnE,QAAM,IAAI;AAAA,IACN,CAAC,KAAK,WAAW,cAAc,UAAU,kBAAkB,KAAK,MAAM;AAAA,IACtE,CAAC,UAAU,gBAAgB;AAAA,EACnC;AAEI,QAAM,iBAAiB,YAAY,CAAC,aAAa,SAAS,mBAAmB,QAAQ,GAAG,CAAC,QAAQ,CAAC;AAElG,SAAO,EAAC,GAAG,UAAU,SAAS,UAAU,eAAc;AAC1D;"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * @param {object} props
3
+ * @param {boolean} props.open
4
+ * @param {() => void} props.onClose
5
+ * @param {string} props.title ya traducido («Historial de Q3 · ago 2026»)
6
+ * @param {import('react').ReactNode} [props.subtitle]
7
+ * @param {string} props.subjectKey
8
+ * @param {(tableRequest: object, signal: AbortSignal) => Promise<{rows: Array, total: number, facets?: object}>} props.fetchPage
9
+ * @param {Record<string, object>} props.eventDictionary
10
+ * @param {Record<string, object>} [props.resultDictionary]
11
+ * @param {Array<object>} [props.extraColumns]
12
+ * @param {import('react').ReactNode} [props.header] va entre el subtítulo y la tabla (p. ej. pestañas que cambian lo que se
13
+ * consulta)
14
+ * @param {(row: any) => string|null} [props.eventSuffixOf] complemento del evento de un renglón (AuditTrailTable)
15
+ */
16
+ export default function AuditTrailDialog({ open, onClose, title, subtitle, subjectKey, fetchPage, eventDictionary, resultDictionary, extraColumns, header, eventSuffixOf, }: {
17
+ open: boolean;
18
+ onClose: () => void;
19
+ title: string;
20
+ subtitle?: import('react').ReactNode;
21
+ subjectKey: string;
22
+ fetchPage: (tableRequest: object, signal: AbortSignal) => Promise<{
23
+ rows: any[];
24
+ total: number;
25
+ facets?: object;
26
+ }>;
27
+ eventDictionary: Record<string, object>;
28
+ resultDictionary?: Record<string, object>;
29
+ extraColumns?: Array<object>;
30
+ header?: import('react').ReactNode;
31
+ eventSuffixOf?: (row: any) => string | null;
32
+ }): import("react").JSX.Element;
@@ -0,0 +1,28 @@
1
+ /**
2
+ * @param {object} props
3
+ * @param {string} props.subjectKey identifica el renglón (cambia la consulta al cambiar de renglón); '' no consulta
4
+ * @param {(tableRequest: object, signal: AbortSignal) => Promise<{rows: Array, total: number, facets?: object}>} props.fetchPage
5
+ * @param {Record<string, object>} props.eventDictionary
6
+ * @param {Record<string, object>} [props.resultDictionary]
7
+ * @param {Array<object>} [props.extraColumns] columnas del DataGrid propias del módulo (archivo, origen, motivo...)
8
+ * @param {(row: any) => string|null} [props.eventSuffixOf] texto que va después del evento con « · » (p. ej. para
9
+ * quién era la descarga); null = solo el evento
10
+ * @param {string} props.ariaLabel
11
+ * @param {number} [props.maxGridHeight]
12
+ * @param {unknown} [props.refreshToken] cambia para volver a consultar (después de una acción sobre el mismo renglón)
13
+ */
14
+ export default function AuditTrailTable({ subjectKey, fetchPage, eventDictionary, resultDictionary, extraColumns, ariaLabel, maxGridHeight, refreshToken, eventSuffixOf, }: {
15
+ subjectKey: string;
16
+ fetchPage: (tableRequest: object, signal: AbortSignal) => Promise<{
17
+ rows: any[];
18
+ total: number;
19
+ facets?: object;
20
+ }>;
21
+ eventDictionary: Record<string, object>;
22
+ resultDictionary?: Record<string, object>;
23
+ extraColumns?: Array<object>;
24
+ eventSuffixOf?: (row: any) => string | null;
25
+ ariaLabel: string;
26
+ maxGridHeight?: number;
27
+ refreshToken?: unknown;
28
+ }): import("react").JSX.Element;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @param {{activeCount?: number, onClear: () => void, children: import('react').ReactNode}} props children = el filtro
3
+ */
4
+ export default function HeaderFilterPopover({ activeCount, onClear, children }: {
5
+ activeCount?: number;
6
+ onClear: () => void;
7
+ children: import('react').ReactNode;
8
+ }): import("react").JSX.Element;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @param {object} props
3
+ * @param {string[]} [props.value]
4
+ * @param {(value: string[]) => void} props.onChange
5
+ * @param {Array<{value: string, total: number}>} [props.options] faceta del servidor
6
+ * @param {(value: string) => import('react').ReactNode} [props.renderOption] cómo se lee el valor (diccionario)
7
+ */
8
+ export default function MultiSelectColumnFilter({ value, onChange, options, renderOption }: {
9
+ value?: string[];
10
+ onChange: (value: string[]) => void;
11
+ options?: Array<{
12
+ value: string;
13
+ total: number;
14
+ }>;
15
+ renderOption?: (value: string) => import('react').ReactNode;
16
+ }): import("react").JSX.Element;
@@ -0,0 +1,26 @@
1
+ /**
2
+ * @param {object} props
3
+ * @param {string} props.label
4
+ * @param {boolean} [props.sortable]
5
+ * @param {{column: string, direction: 'asc'|'desc'}} [props.sortEntry]
6
+ * @param {() => void} [props.onSort]
7
+ * @param {() => void} [props.onClearSort]
8
+ * @param {boolean} [props.filterable]
9
+ * @param {number} [props.activeCount]
10
+ * @param {() => void} [props.onClear]
11
+ * @param {import('react').ReactNode} [props.children] el filtro de la columna
12
+ */
13
+ export default function SortableFilterHeader({ label, sortable, sortEntry, onSort, onClearSort, filterable, activeCount, onClear, children, }: {
14
+ label: string;
15
+ sortable?: boolean;
16
+ sortEntry?: {
17
+ column: string;
18
+ direction: 'asc' | 'desc';
19
+ };
20
+ onSort?: () => void;
21
+ onClearSort?: () => void;
22
+ filterable?: boolean;
23
+ activeCount?: number;
24
+ onClear?: () => void;
25
+ children?: import('react').ReactNode;
26
+ }): import("react").JSX.Element;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @param {{value: string, onChange: (value: string) => void, label?: string}} props label ya traducido
3
+ */
4
+ export default function TextColumnFilter({ value, onChange, label }: {
5
+ value: string;
6
+ onChange: (value: string) => void;
7
+ label?: string;
8
+ }): import("react").JSX.Element;
@@ -0,0 +1,4 @@
1
+ export { default as HeaderFilterPopover } from './HeaderFilterPopover.js';
2
+ export { default as MultiSelectColumnFilter } from './MultiSelectColumnFilter.js';
3
+ export { default as SortableFilterHeader } from './SortableFilterHeader.js';
4
+ export { default as TextColumnFilter } from './TextColumnFilter.js';
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @param {{filtered?: boolean, label?: string, onClearFilters?: () => void}} props label ya traducido
3
+ */
4
+ export default function EmptyState({ filtered, label, onClearFilters }: {
5
+ filtered?: boolean;
6
+ label?: string;
7
+ onClearFilters?: () => void;
8
+ }): import("react").JSX.Element;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @param {object} props
3
+ * @param {Array<object>} props.chipConfig lo que arma buildChipConfig
4
+ * @param {object} props.filters
5
+ * @param {(field: string, value: unknown) => void} props.onSetFilter
6
+ * @param {() => void} props.onClearAll
7
+ * @param {number} [props.quickActiveCount] accesos rápidos puestos que no tienen chip aquí
8
+ */
9
+ export default function FilterChips({ chipConfig, filters, onSetFilter, onClearAll, quickActiveCount }: {
10
+ chipConfig: Array<object>;
11
+ filters: object;
12
+ onSetFilter: (field: string, value: unknown) => void;
13
+ onClearAll: () => void;
14
+ quickActiveCount?: number;
15
+ }): import("react").JSX.Element | null;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @param {{page: number, pageCount: number, onChange: (page: number) => void}} props page cuenta desde 0
3
+ */
4
+ export default function GoToPage({ page, pageCount, onChange }: {
5
+ page: number;
6
+ pageCount: number;
7
+ onChange: (page: number) => void;
8
+ }): import("react").JSX.Element | null;
@@ -0,0 +1,110 @@
1
+ /**
2
+ * @param {object} props
3
+ * @param {(params: {filters: Record<string, any>, sortOrders: Array<{column: string, direction: 'asc'|'desc'}>, page: number, pageSize: number}, signal: AbortSignal) => Promise<{rows: any[], total: number, facets?: Record<string, Array<{value: any, total: number}>>, capped?: boolean}>} props.fetchPage
4
+ * page cuenta desde 0; toServerTableParams lo convierte a la query del API
5
+ * @param {string} props.queryKey cambia cuando cambia el CONJUNTO (no los filtros): dispara recarga
6
+ * @param {boolean} [props.enabled] false mientras la sección está oculta: una tabla que nadie ve no consulta
7
+ * @param {Array<object>} props.columns textColumn / facetColumn / detailColumn o columnas del DataGrid
8
+ * @param {Record<string, string>} [props.filterKinds]
9
+ * @param {Record<string, unknown>} [props.filterDefaults]
10
+ * @param {Array<object>} [props.chipConfig] buildChipConfig
11
+ * @param {Array<object>} [props.quickFilters] {field, facetKey, caption, allLabel, renderLabel, order, clears,
12
+ * isOverridden, renderExtra, allCountKey, hideAllCount}
13
+ * @param {string|null} [props.searchField] filtro de texto que se saca a la barra; null quita la caja
14
+ * @param {string} [props.searchPlaceholder]
15
+ * @param {boolean} [props.searchInBar] la caja de búsqueda va arriba, en la barra de la app (BarActions): en escritorio,
16
+ * como el buscador de una ventana de macOS; en el teléfono con cápsulas flota arriba con las demás; sin cápsulas se
17
+ * queda aquí. Por omisión no
18
+ * @param {boolean} [props.collapseSearchInBar] en la barra, sin usar se encoge a la lupa y se estira al picarla; por
19
+ * omisión sí (false: siempre abierta)
20
+ * @param {string} [props.emptyLabel]
21
+ * @param {(total: number) => string} [props.countLabel] "12 pedidos"; por defecto "12 registros"
22
+ * @param {number[]} [props.pageSizeOptions]
23
+ * @param {number} [props.defaultPageSize]
24
+ * @param {(row: any) => string|number} [props.getRowId]
25
+ * @param {string} [props.prefix] estado en la URL con este prefijo (nuqs); sin él, en memoria
26
+ * @param {unknown} [props.refreshToken] cambia para volver a consultar la misma página (después de una acción)
27
+ * @param {(summary: {total: number, capped: boolean}) => import('react').ReactNode} [props.footer]
28
+ * @param {import('react').ReactNode} [props.toolbarExtra] a la derecha del conteo (p. ej. el selector de año)
29
+ * @param {(summary: {countText: string, total: number, capped: boolean}) => import('react').ReactNode} [props.header] reemplaza
30
+ * el renglón del conteo: la página pinta título, conteo y controles en uno solo. countText ya viene traducido y con
31
+ * el tope
32
+ * @param {import('react').ReactNode} [props.beforeQuickFilters] arriba de los accesos rápidos (p. ej. las pestañas de producto)
33
+ * @param {Array<object>} [props.columnGroupingModel] bandas que agrupan columnas bajo un nombre, arriba de sus
34
+ * encabezados (columnGroupingModel del DataGrid). Con ellas el encabezado mide un renglón más
35
+ * @param {(params: any) => string} [props.getRowClassName]
36
+ * @param {(row: any) => boolean} [props.isRowVisible] cuáles renglones de la página se pintan; los demás se esconden
37
+ * SIN volver a consultar (p. ej. plegar un grupo de renglones). Sin ella se pintan todos. OJO: va con useCallback;
38
+ * una función nueva en cada pintada haría filtrar la página cada vez
39
+ * @param {boolean} [props.striped] renglones alternos (cebra) con el color de hover del tema; al pasar el cursor se usa
40
+ * el de «seleccionado» para que el renglón bajo el cursor se siga distinguiendo
41
+ * @param {(params: any) => number|'auto'|null} [props.getRowHeight]
42
+ * @param {boolean} [props.hideFooterWhenAllRowsFit] esconde el pie (el paginador) mientras todo lo que hay cabe en la
43
+ * página; si un día no cabe, el pie vuelve solo. Para tablas que casi nunca pasan de una página
44
+ * @param {boolean} [props.showGoToPage] «Ir a página N» junto al paginador; por omisión escondido (con las flechas basta en
45
+ * casi todas las tablas). Para listas de muchas páginas que se recorren por número
46
+ * @param {object} [props.gridSx] estilos extra del DataGrid (clases de renglón)
47
+ * @param {number} [props.maxGridHeight] alto máximo del contenedor; sin él la tabla crece con sus renglones (default)
48
+ * @param {string} [props.ariaLabel] nombre de la tabla para lectores de pantalla
49
+ * @param {string} [props.fixedColumn] campo de la columna que se queda pegada a la izquierda al deslizar de lado (como
50
+ * fixedSelectColumn de mui-datatables)
51
+ */
52
+ export default function ServerTable({ fetchPage, queryKey, enabled, columns, filterKinds, filterDefaults, chipConfig, quickFilters, searchField, searchPlaceholder, searchInBar, collapseSearchInBar, emptyLabel, countLabel, pageSizeOptions, defaultPageSize, getRowId, prefix, refreshToken, footer, toolbarExtra, header, beforeQuickFilters, columnGroupingModel, getRowClassName, isRowVisible, hideFooterWhenAllRowsFit, showGoToPage, striped, getRowHeight, gridSx, maxGridHeight, ariaLabel, fixedColumn, }: {
53
+ fetchPage: (params: {
54
+ filters: Record<string, any>;
55
+ sortOrders: Array<{
56
+ column: string;
57
+ direction: 'asc' | 'desc';
58
+ }>;
59
+ page: number;
60
+ pageSize: number;
61
+ }, signal: AbortSignal) => Promise<{
62
+ rows: any[];
63
+ total: number;
64
+ facets?: Record<string, Array<{
65
+ value: any;
66
+ total: number;
67
+ }>>;
68
+ capped?: boolean;
69
+ }>;
70
+ queryKey: string;
71
+ enabled?: boolean;
72
+ columns: Array<object>;
73
+ filterKinds?: Record<string, string>;
74
+ filterDefaults?: Record<string, unknown>;
75
+ chipConfig?: Array<object>;
76
+ quickFilters?: Array<object>;
77
+ searchField?: string | null;
78
+ searchPlaceholder?: string;
79
+ searchInBar?: boolean;
80
+ collapseSearchInBar?: boolean;
81
+ emptyLabel?: string;
82
+ countLabel?: (total: number) => string;
83
+ pageSizeOptions?: number[];
84
+ defaultPageSize?: number;
85
+ getRowId?: (row: any) => string | number;
86
+ prefix?: string;
87
+ refreshToken?: unknown;
88
+ footer?: (summary: {
89
+ total: number;
90
+ capped: boolean;
91
+ }) => import('react').ReactNode;
92
+ toolbarExtra?: import('react').ReactNode;
93
+ header?: (summary: {
94
+ countText: string;
95
+ total: number;
96
+ capped: boolean;
97
+ }) => import('react').ReactNode;
98
+ beforeQuickFilters?: import('react').ReactNode;
99
+ columnGroupingModel?: Array<object>;
100
+ getRowClassName?: (params: any) => string;
101
+ isRowVisible?: (row: any) => boolean;
102
+ striped?: boolean;
103
+ getRowHeight?: (params: any) => number | 'auto' | null;
104
+ hideFooterWhenAllRowsFit?: boolean;
105
+ showGoToPage?: boolean;
106
+ gridSx?: object;
107
+ maxGridHeight?: number;
108
+ ariaLabel?: string;
109
+ fixedColumn?: string;
110
+ }): import("react").JSX.Element;
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @param {object} declaration
3
+ * @param {Array<{key: string, label: string, format?: (value: string) => string}>} [declaration.text]
4
+ * @param {Array<{key: string, label: string, itemLabel?: (value: string) => string}>} [declaration.multiSelect]
5
+ * @returns {Array<{key: string, isActive: (value: unknown) => boolean, chipsFor: Function}>}
6
+ */
7
+ export declare function buildChipConfig({ text, multiSelect }?: {
8
+ text?: Array<{
9
+ key: string;
10
+ label: string;
11
+ format?: (value: string) => string;
12
+ }>;
13
+ multiSelect?: Array<{
14
+ key: string;
15
+ label: string;
16
+ itemLabel?: (value: string) => string;
17
+ }>;
18
+ }): Array<{
19
+ key: string;
20
+ isActive: (value: unknown) => boolean;
21
+ chipsFor: Function;
22
+ }>;