@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.
- package/LICENSE +110 -0
- package/README.md +611 -2
- package/cli/askQuestions.js +63 -0
- package/cli/calcita.js +150 -0
- package/cli/makeComponent.js +50 -0
- package/cli/makeForm.js +68 -0
- package/cli/makeModule.js +78 -0
- package/cli/makePage.js +62 -0
- package/cli/names.js +64 -0
- package/cli/newProject.js +103 -0
- package/cli/packageVersions.js +38 -0
- package/cli/projectAnswers.js +145 -0
- package/cli/projectConfig.js +38 -0
- package/cli/projectFiles.js +126 -0
- package/cli/screenLabels.js +41 -0
- package/cli/templateFiles.js +186 -0
- package/cli/templates/component/core/__ComponentName__.jsx.tpl +23 -0
- package/cli/templates/component/module/__ComponentName__.jsx.tpl +21 -0
- package/cli/templates/form/formik/__FormName__.jsx.tpl +50 -0
- package/cli/templates/form/hookForm/__FormName__.jsx.tpl +53 -0
- package/cli/templates/form/shared/__formName__Schema.js.tpl +20 -0
- package/cli/templates/form/shared/__formName__Texts.js.tpl +6 -0
- package/cli/templates/module/__Name__Page.jsx.tpl +75 -0
- package/cli/templates/module/__name__Api.js.tpl +39 -0
- package/cli/templates/module/__name__Texts.js.tpl +27 -0
- package/cli/templates/module/menu.js.tpl +21 -0
- package/cli/templates/module/routes.js.tpl +7 -0
- package/cli/templates/moduleServer/__name__Server.js.tpl +68 -0
- package/cli/templates/page/__PageName__Page.jsx.tpl +22 -0
- package/cli/templates/page/__pageName__PageTexts.js.tpl +23 -0
- package/cli/templates/project/README.md.tpl +55 -0
- package/cli/templates/project/dot-gitignore.tpl +11 -0
- package/cli/templates/project/index.html.tpl +20 -0
- package/cli/templates/project/jsconfig.json.tpl +16 -0
- package/cli/templates/project/pnpm-workspace.yaml.tpl +5 -0
- package/cli/templates/project/public/favicon.svg +1 -0
- package/cli/templates/project/public/icons/apple-touch-icon.png +0 -0
- package/cli/templates/project/public/icons/icon-192.png +0 -0
- package/cli/templates/project/public/icons/icon-512-maskable.png +0 -0
- package/cli/templates/project/public/icons/icon-512.png +0 -0
- package/cli/templates/project/public/manifest.webmanifest.tpl +17 -0
- package/cli/templates/project/src/app/AppProviders.jsx.tpl +102 -0
- package/cli/templates/project/src/app/AppShell.jsx.tpl +87 -0
- package/cli/templates/project/src/app/appRouter.jsx.tpl +49 -0
- package/cli/templates/project/src/app/appSettings.js.tpl +13 -0
- package/cli/templates/project/src/app/appTexts.js.tpl +15 -0
- package/cli/templates/project/src/app/combineTexts.js.tpl +31 -0
- package/cli/templates/project/src/app/i18n.js.tpl +19 -0
- package/cli/templates/project/src/app/shellTexts.js.tpl +16 -0
- package/cli/templates/project/src/core/AppLogo.jsx.tpl +12 -0
- package/cli/templates/project/src/core/accountConnector.js.tpl +36 -0
- package/cli/templates/project/src/core/apiClient.js.tpl +15 -0
- package/cli/templates/project/src/core/appPaths.js.tpl +11 -0
- package/cli/templates/project/src/core/index.js.tpl +8 -0
- package/cli/templates/project/src/fakeServer/networkDelay.js.tpl +40 -0
- package/cli/templates/project/src/fakeServer/serverText.js.tpl +20 -0
- package/cli/templates/project/src/main.jsx.tpl +24 -0
- package/cli/templates/project/src/modules/auth/ForgotPasswordPage.jsx.tpl +14 -0
- package/cli/templates/project/src/modules/auth/ResetPasswordPage.jsx.tpl +15 -0
- package/cli/templates/project/src/modules/auth/SignInPage.jsx.tpl +29 -0
- package/cli/templates/project/src/modules/auth/authTexts.js.tpl +6 -0
- package/cli/templates/project/src/modules/auth/routes.js.tpl +11 -0
- package/cli/templates/project/src/modules/home/HomePage.jsx.tpl +38 -0
- package/cli/templates/project/src/modules/home/homeTexts.js.tpl +29 -0
- package/cli/templates/project/src/modules/home/menu.js.tpl +17 -0
- package/cli/templates/project/src/modules/home/routes.js.tpl +4 -0
- package/cli/templates/project/src/modules/profile/ProfilePage.jsx.tpl +13 -0
- package/cli/templates/project/src/modules/profile/routes.js.tpl +6 -0
- package/cli/templates/project/vite.config.js.tpl +27 -0
- package/dist/DataTable/AuditTrailDialog.js +40 -0
- package/dist/DataTable/AuditTrailDialog.js.map +1 -0
- package/dist/DataTable/AuditTrailTable.js +87 -0
- package/dist/DataTable/AuditTrailTable.js.map +1 -0
- package/dist/DataTable/ColumnFilters/HeaderFilterPopover.js +71 -0
- package/dist/DataTable/ColumnFilters/HeaderFilterPopover.js.map +1 -0
- package/dist/DataTable/ColumnFilters/MultiSelectColumnFilter.js +50 -0
- package/dist/DataTable/ColumnFilters/MultiSelectColumnFilter.js.map +1 -0
- package/dist/DataTable/ColumnFilters/SortableFilterHeader.js +54 -0
- package/dist/DataTable/ColumnFilters/SortableFilterHeader.js.map +1 -0
- package/dist/DataTable/ColumnFilters/TextColumnFilter.js +24 -0
- package/dist/DataTable/ColumnFilters/TextColumnFilter.js.map +1 -0
- package/dist/DataTable/EmptyState.js +22 -0
- package/dist/DataTable/EmptyState.js.map +1 -0
- package/dist/DataTable/FilterChips.js +39 -0
- package/dist/DataTable/FilterChips.js.map +1 -0
- package/dist/DataTable/GoToPage.js +62 -0
- package/dist/DataTable/GoToPage.js.map +1 -0
- package/dist/DataTable/ServerTable.js +407 -0
- package/dist/DataTable/ServerTable.js.map +1 -0
- package/dist/DataTable/buildChipConfig.js +27 -0
- package/dist/DataTable/buildChipConfig.js.map +1 -0
- package/dist/DataTable/columns.js +122 -0
- package/dist/DataTable/columns.js.map +1 -0
- package/dist/DataTable/filterContext.js +15 -0
- package/dist/DataTable/filterContext.js.map +1 -0
- package/dist/DataTable/serverTableParams.js +19 -0
- package/dist/DataTable/serverTableParams.js.map +1 -0
- package/dist/DataTable/tableMachine.js +87 -0
- package/dist/DataTable/tableMachine.js.map +1 -0
- package/dist/DataTable/useDebouncedFilter.js +29 -0
- package/dist/DataTable/useDebouncedFilter.js.map +1 -0
- package/dist/DataTable/useTableState.js +132 -0
- package/dist/DataTable/useTableState.js.map +1 -0
- package/dist/access/Can.js +9 -0
- package/dist/access/Can.js.map +1 -0
- package/dist/access/PermissionMatrix.js +83 -0
- package/dist/access/PermissionMatrix.js.map +1 -0
- package/dist/access/RequireAccess.js +14 -0
- package/dist/access/RequireAccess.js.map +1 -0
- package/dist/access/accessRules.js +49 -0
- package/dist/access/accessRules.js.map +1 -0
- package/dist/access/permissionGroups.js +43 -0
- package/dist/access/permissionGroups.js.map +1 -0
- package/dist/access/useCan.js +12 -0
- package/dist/access/useCan.js.map +1 -0
- package/dist/account/AccountProvider.js +58 -0
- package/dist/account/AccountProvider.js.map +1 -0
- package/dist/account/AccountSecuritySection.js +81 -0
- package/dist/account/AccountSecuritySection.js.map +1 -0
- package/dist/account/DemoTotpCodeButton.js +26 -0
- package/dist/account/DemoTotpCodeButton.js.map +1 -0
- package/dist/account/ForgotPasswordScreen.js +26 -0
- package/dist/account/ForgotPasswordScreen.js.map +1 -0
- package/dist/account/ProfileScreen.js +108 -0
- package/dist/account/ProfileScreen.js.map +1 -0
- package/dist/account/ResetPasswordScreen.js +57 -0
- package/dist/account/ResetPasswordScreen.js.map +1 -0
- package/dist/account/SignInScreen.js +101 -0
- package/dist/account/SignInScreen.js.map +1 -0
- package/dist/account/accountConnector.js +31 -0
- package/dist/account/accountConnector.js.map +1 -0
- package/dist/account/demo/createDemoAccountConnector.js +368 -0
- package/dist/account/demo/createDemoAccountConnector.js.map +1 -0
- package/dist/account/demo/totp.js +61 -0
- package/dist/account/demo/totp.js.map +1 -0
- package/dist/account/restAccountConnector.js +117 -0
- package/dist/account/restAccountConnector.js.map +1 -0
- package/dist/account-demo.js +12 -0
- package/dist/account-demo.js.map +1 -0
- package/dist/account.js +25 -0
- package/dist/account.js.map +1 -0
- package/dist/adapters/i18next.js +7 -0
- package/dist/adapters/i18next.js.map +1 -0
- package/dist/adapters/nextNavigation.js +36 -0
- package/dist/adapters/nextNavigation.js.map +1 -0
- package/dist/adapters/reactRouter.js +7 -0
- package/dist/adapters/reactRouter.js.map +1 -0
- package/dist/adapters/reactRouterRoutes.js +48 -0
- package/dist/adapters/reactRouterRoutes.js.map +1 -0
- package/dist/api/ApiError.js +58 -0
- package/dist/api/ApiError.js.map +1 -0
- package/dist/api/createApiClient.js +226 -0
- package/dist/api/createApiClient.js.map +1 -0
- package/dist/api/staleChunks.js +47 -0
- package/dist/api/staleChunks.js.map +1 -0
- package/dist/appShell/AccountMenu.js +86 -0
- package/dist/appShell/AccountMenu.js.map +1 -0
- package/dist/appShell/AppLayout.js +493 -0
- package/dist/appShell/AppLayout.js.map +1 -0
- package/dist/appShell/AppearanceSettings.js +93 -0
- package/dist/appShell/AppearanceSettings.js.map +1 -0
- package/dist/appShell/AuthLayout.js +44 -0
- package/dist/appShell/AuthLayout.js.map +1 -0
- package/dist/appShell/BarActionButton.js +31 -0
- package/dist/appShell/BarActionButton.js.map +1 -0
- package/dist/appShell/BarActions.js +94 -0
- package/dist/appShell/BarActions.js.map +1 -0
- package/dist/appShell/BarCapsule.js +35 -0
- package/dist/appShell/BarCapsule.js.map +1 -0
- package/dist/appShell/HeaderTools.js +53 -0
- package/dist/appShell/HeaderTools.js.map +1 -0
- package/dist/appShell/MobileTabBar.js +346 -0
- package/dist/appShell/MobileTabBar.js.map +1 -0
- package/dist/appShell/SettingsMenu.js +41 -0
- package/dist/appShell/SettingsMenu.js.map +1 -0
- package/dist/appShell/SideMenu.js +217 -0
- package/dist/appShell/SideMenu.js.map +1 -0
- package/dist/appShell/SideMenuEntry.js +140 -0
- package/dist/appShell/SideMenuEntry.js.map +1 -0
- package/dist/appShell/SubmenuActionsMenu.js +71 -0
- package/dist/appShell/SubmenuActionsMenu.js.map +1 -0
- package/dist/appShell/TabBarEditor.js +55 -0
- package/dist/appShell/TabBarEditor.js.map +1 -0
- package/dist/appShell/TopMenu.js +80 -0
- package/dist/appShell/TopMenu.js.map +1 -0
- package/dist/appShell/appMenuContext.js +11 -0
- package/dist/appShell/appMenuContext.js.map +1 -0
- package/dist/appShell/barActionsSlot.js +26 -0
- package/dist/appShell/barActionsSlot.js.map +1 -0
- package/dist/appShell/barMenuPlacement.js +33 -0
- package/dist/appShell/barMenuPlacement.js.map +1 -0
- package/dist/appShell/menuItemText.js +33 -0
- package/dist/appShell/menuItemText.js.map +1 -0
- package/dist/appShell/pageTitle.js +45 -0
- package/dist/appShell/pageTitle.js.map +1 -0
- package/dist/appShell/shellSizes.js +38 -0
- package/dist/appShell/shellSizes.js.map +1 -0
- package/dist/appShell/tabBarRule.js +12 -0
- package/dist/appShell/tabBarRule.js.map +1 -0
- package/dist/appShell/tabBarScroll.js +23 -0
- package/dist/appShell/tabBarScroll.js.map +1 -0
- package/dist/appShell/useDrawerCollapsed.js +29 -0
- package/dist/appShell/useDrawerCollapsed.js.map +1 -0
- package/dist/appShell/useFittingActionCount.js +45 -0
- package/dist/appShell/useFittingActionCount.js.map +1 -0
- package/dist/appShell/usePinnedMobileTabs.js +32 -0
- package/dist/appShell/usePinnedMobileTabs.js.map +1 -0
- package/dist/appShell/useTabBarMinimized.js +33 -0
- package/dist/appShell/useTabBarMinimized.js.map +1 -0
- package/dist/auth/PasswordChecklist.js +44 -0
- package/dist/auth/PasswordChecklist.js.map +1 -0
- package/dist/auth/passwordRules.js +43 -0
- package/dist/auth/passwordRules.js.map +1 -0
- package/dist/calendar/EventCalendar.js +138 -0
- package/dist/calendar/EventCalendar.js.map +1 -0
- package/dist/calendar.js +6 -0
- package/dist/calendar.js.map +1 -0
- package/dist/charts.js +7 -0
- package/dist/charts.js.map +1 -0
- package/dist/date-pickers.js +8 -0
- package/dist/date-pickers.js.map +1 -0
- package/dist/datePickers/DateInput.js +75 -0
- package/dist/datePickers/DateInput.js.map +1 -0
- package/dist/datePickers/FormDateField.js +12 -0
- package/dist/datePickers/FormDateField.js.map +1 -0
- package/dist/dates.js +25 -0
- package/dist/dates.js.map +1 -0
- package/dist/dictionaries/dictionaries.js +48 -0
- package/dist/dictionaries/dictionaries.js.map +1 -0
- package/dist/downloads/DownloadManager.js +201 -0
- package/dist/downloads/DownloadManager.js.map +1 -0
- package/dist/downloads/downloadQueue.js +54 -0
- package/dist/downloads/downloadQueue.js.map +1 -0
- package/dist/downloads/downloadsMachine.js +77 -0
- package/dist/downloads/downloadsMachine.js.map +1 -0
- package/dist/excel/reportWorkbook.js +299 -0
- package/dist/excel/reportWorkbook.js.map +1 -0
- package/dist/excel.js +13 -0
- package/dist/excel.js.map +1 -0
- package/dist/feedback/ConfirmDialog.js +72 -0
- package/dist/feedback/ConfirmDialog.js.map +1 -0
- package/dist/feedback/ModalWaiting.js +23 -0
- package/dist/feedback/ModalWaiting.js.map +1 -0
- package/dist/feedback/NewBuildNotice.js +79 -0
- package/dist/feedback/NewBuildNotice.js.map +1 -0
- package/dist/feedback/StaleBuildBoundary.js +36 -0
- package/dist/feedback/StaleBuildBoundary.js.map +1 -0
- package/dist/feedback/Toaster.js +20 -0
- package/dist/feedback/Toaster.js.map +1 -0
- package/dist/feedback/confirmActionMachine.js +67 -0
- package/dist/feedback/confirmActionMachine.js.map +1 -0
- package/dist/feedback/toast.js +88 -0
- package/dist/feedback/toast.js.map +1 -0
- package/dist/feedback/useConfirmAction.js +40 -0
- package/dist/feedback/useConfirmAction.js.map +1 -0
- package/dist/filepond/FileDropzone.js +254 -0
- package/dist/filepond/FileDropzone.js.map +1 -0
- package/dist/filepond/pondServer.js +48 -0
- package/dist/filepond/pondServer.js.map +1 -0
- package/dist/filepond.js +10 -0
- package/dist/filepond.js.map +1 -0
- package/dist/files.js +43 -0
- package/dist/files.js.map +1 -0
- package/dist/formatting.js +177 -0
- package/dist/formatting.js.map +1 -0
- package/dist/forms/FormCatalogField.js +12 -0
- package/dist/forms/FormCatalogField.js.map +1 -0
- package/dist/forms/FormColorField.js +12 -0
- package/dist/forms/FormColorField.js.map +1 -0
- package/dist/forms/FormNumberField.js +12 -0
- package/dist/forms/FormNumberField.js.map +1 -0
- package/dist/forms/FormProblemAlert.js +15 -0
- package/dist/forms/FormProblemAlert.js.map +1 -0
- package/dist/forms/FormSelectField.js +12 -0
- package/dist/forms/FormSelectField.js.map +1 -0
- package/dist/forms/FormServerProblem.js +23 -0
- package/dist/forms/FormServerProblem.js.map +1 -0
- package/dist/forms/FormTextField.js +12 -0
- package/dist/forms/FormTextField.js.map +1 -0
- package/dist/forms/FormWizard.js +90 -0
- package/dist/forms/FormWizard.js.map +1 -0
- package/dist/forms/SubmitButton.js +14 -0
- package/dist/forms/SubmitButton.js.map +1 -0
- package/dist/forms/applyServerProblem.js +15 -0
- package/dist/forms/applyServerProblem.js.map +1 -0
- package/dist/forms/auth/ChangePasswordForm.js +46 -0
- package/dist/forms/auth/ChangePasswordForm.js.map +1 -0
- package/dist/forms/auth/ForgotPasswordForm.js +50 -0
- package/dist/forms/auth/ForgotPasswordForm.js.map +1 -0
- package/dist/forms/auth/SignInForm.js +48 -0
- package/dist/forms/auth/SignInForm.js.map +1 -0
- package/dist/forms/security/SecondStepForm.js +122 -0
- package/dist/forms/security/SecondStepForm.js.map +1 -0
- package/dist/forms/security/TwoStepVerificationCard.js +336 -0
- package/dist/forms/security/TwoStepVerificationCard.js.map +1 -0
- package/dist/forms/security/securityRules.js +28 -0
- package/dist/forms/security/securityRules.js.map +1 -0
- package/dist/forms/serverProblemFields.js +25 -0
- package/dist/forms/serverProblemFields.js.map +1 -0
- package/dist/forms/useFormikField.js +16 -0
- package/dist/forms/useFormikField.js.map +1 -0
- package/dist/forms/validation.js +55 -0
- package/dist/forms/validation.js.map +1 -0
- package/dist/forms/validationMessages.js +16 -0
- package/dist/forms/validationMessages.js.map +1 -0
- package/dist/forms.js +57 -0
- package/dist/forms.js.map +1 -0
- package/dist/hookForm/FormCatalogField.js +12 -0
- package/dist/hookForm/FormCatalogField.js.map +1 -0
- package/dist/hookForm/FormColorField.js +12 -0
- package/dist/hookForm/FormColorField.js.map +1 -0
- package/dist/hookForm/FormNumberField.js +12 -0
- package/dist/hookForm/FormNumberField.js.map +1 -0
- package/dist/hookForm/FormProblemAlert.js +17 -0
- package/dist/hookForm/FormProblemAlert.js.map +1 -0
- package/dist/hookForm/FormSelectField.js +12 -0
- package/dist/hookForm/FormSelectField.js.map +1 -0
- package/dist/hookForm/FormTextField.js +12 -0
- package/dist/hookForm/FormTextField.js.map +1 -0
- package/dist/hookForm/SubmitButton.js +15 -0
- package/dist/hookForm/SubmitButton.js.map +1 -0
- package/dist/hookForm/applyServerProblem.js +21 -0
- package/dist/hookForm/applyServerProblem.js.map +1 -0
- package/dist/hookForm/useHookFormField.js +19 -0
- package/dist/hookForm/useHookFormField.js.map +1 -0
- package/dist/i18next.js +5 -0
- package/dist/i18next.js.map +1 -0
- package/dist/identifiers.js +8 -0
- package/dist/identifiers.js.map +1 -0
- package/dist/inbox/InboxLayout.js +68 -0
- package/dist/inbox/InboxLayout.js.map +1 -0
- package/dist/inbox/MessageList.js +64 -0
- package/dist/inbox/MessageList.js.map +1 -0
- package/dist/inbox/MessageView.js +53 -0
- package/dist/inbox/MessageView.js.map +1 -0
- package/dist/inbox/inboxDates.js +8 -0
- package/dist/inbox/inboxDates.js.map +1 -0
- package/dist/index.js +383 -0
- package/dist/index.js.map +1 -0
- package/dist/inputs/CatalogInput.js +62 -0
- package/dist/inputs/CatalogInput.js.map +1 -0
- package/dist/inputs/ColorInput.js +108 -0
- package/dist/inputs/ColorInput.js.map +1 -0
- package/dist/inputs/FieldFrame.js +20 -0
- package/dist/inputs/FieldFrame.js.map +1 -0
- package/dist/inputs/FormSection.js +105 -0
- package/dist/inputs/FormSection.js.map +1 -0
- package/dist/inputs/NumberInput.js +69 -0
- package/dist/inputs/NumberInput.js.map +1 -0
- package/dist/inputs/SelectInput.js +66 -0
- package/dist/inputs/SelectInput.js.map +1 -0
- package/dist/inputs/TextInput.js +97 -0
- package/dist/inputs/TextInput.js.map +1 -0
- package/dist/inputs/colorContrast.js +46 -0
- package/dist/inputs/colorContrast.js.map +1 -0
- package/dist/inputs/formLayoutContext.js +9 -0
- package/dist/inputs/formLayoutContext.js.map +1 -0
- package/dist/inputs/numberText.js +48 -0
- package/dist/inputs/numberText.js.map +1 -0
- package/dist/kanban/KanbanBoard.js +113 -0
- package/dist/kanban/KanbanBoard.js.map +1 -0
- package/dist/kanban/kanbanMoves.js +29 -0
- package/dist/kanban/kanbanMoves.js.map +1 -0
- package/dist/kanban.js +9 -0
- package/dist/kanban.js.map +1 -0
- package/dist/laravel/csrfRetry.js +18 -0
- package/dist/laravel/csrfRetry.js.map +1 -0
- package/dist/laravel.js +6 -0
- package/dist/laravel.js.map +1 -0
- package/dist/lastListUrl.js +35 -0
- package/dist/lastListUrl.js.map +1 -0
- package/dist/locales/en.js +714 -0
- package/dist/locales/en.js.map +1 -0
- package/dist/locales/es.js +714 -0
- package/dist/locales/es.js.map +1 -0
- package/dist/maps/MapView.js +96 -0
- package/dist/maps/MapView.js.map +1 -0
- package/dist/maps/mapMarkers.js +19 -0
- package/dist/maps/mapMarkers.js.map +1 -0
- package/dist/maps.js +10 -0
- package/dist/maps.js.map +1 -0
- package/dist/money/money.js +380 -0
- package/dist/money/money.js.map +1 -0
- package/dist/money.js +6 -0
- package/dist/money.js.map +1 -0
- package/dist/navigation/appMenu.js +93 -0
- package/dist/navigation/appMenu.js.map +1 -0
- package/dist/navigation/useMenuBadges.js +45 -0
- package/dist/navigation/useMenuBadges.js.map +1 -0
- package/dist/navigation.js +30 -0
- package/dist/navigation.js.map +1 -0
- package/dist/navigationTrail.js +82 -0
- package/dist/navigationTrail.js.map +1 -0
- package/dist/next.js +5 -0
- package/dist/next.js.map +1 -0
- package/dist/observability/buildWatch.js +19 -0
- package/dist/observability/buildWatch.js.map +1 -0
- package/dist/observability/logger.js +43 -0
- package/dist/observability/logger.js.map +1 -0
- package/dist/observability/publishedBuild.js +39 -0
- package/dist/observability/publishedBuild.js.map +1 -0
- package/dist/observability/usePublishedBuildWatch.js +76 -0
- package/dist/observability/usePublishedBuildWatch.js.map +1 -0
- package/dist/passkeys.js +7 -0
- package/dist/passkeys.js.map +1 -0
- package/dist/periodRanges.js +33 -0
- package/dist/periodRanges.js.map +1 -0
- package/dist/problems.js +51 -0
- package/dist/problems.js.map +1 -0
- package/dist/pwa/InstallAppSetting.js +33 -0
- package/dist/pwa/InstallAppSetting.js.map +1 -0
- package/dist/pwa/InstallInstructionsDialog.js +35 -0
- package/dist/pwa/InstallInstructionsDialog.js.map +1 -0
- package/dist/pwa/InstallPromptBanner.js +64 -0
- package/dist/pwa/InstallPromptBanner.js.map +1 -0
- package/dist/pwa/installInstructions.js +60 -0
- package/dist/pwa/installInstructions.js.map +1 -0
- package/dist/pwa/useInstallPrompt.js +70 -0
- package/dist/pwa/useInstallPrompt.js.map +1 -0
- package/dist/react-hook-form.js +30 -0
- package/dist/react-hook-form.js.map +1 -0
- package/dist/react-router.js +10 -0
- package/dist/react-router.js.map +1 -0
- package/dist/security/ActivityLog.js +79 -0
- package/dist/security/ActivityLog.js.map +1 -0
- package/dist/security/RecoveryCodesDialog.js +84 -0
- package/dist/security/RecoveryCodesDialog.js.map +1 -0
- package/dist/security/SessionsCard.js +81 -0
- package/dist/security/SessionsCard.js.map +1 -0
- package/dist/security/passkeys.js +39 -0
- package/dist/security/passkeys.js.map +1 -0
- package/dist/table.js +35 -0
- package/dist/table.js.map +1 -0
- package/dist/theme/androidDevice.js +16 -0
- package/dist/theme/androidDevice.js.map +1 -0
- package/dist/theme/appleTracking.js +34 -0
- package/dist/theme/appleTracking.js.map +1 -0
- package/dist/theme/components/MuiAppBar.js +27 -0
- package/dist/theme/components/MuiAppBar.js.map +1 -0
- package/dist/theme/components/MuiBackdrop.js +13 -0
- package/dist/theme/components/MuiBackdrop.js.map +1 -0
- package/dist/theme/components/MuiButton.js +25 -0
- package/dist/theme/components/MuiButton.js.map +1 -0
- package/dist/theme/components/MuiButtonBase.js +16 -0
- package/dist/theme/components/MuiButtonBase.js.map +1 -0
- package/dist/theme/components/MuiChip.js +30 -0
- package/dist/theme/components/MuiChip.js.map +1 -0
- package/dist/theme/components/MuiDataGrid.js +30 -0
- package/dist/theme/components/MuiDataGrid.js.map +1 -0
- package/dist/theme/components/MuiDrawer.js +18 -0
- package/dist/theme/components/MuiDrawer.js.map +1 -0
- package/dist/theme/components/MuiMenuItem.js +17 -0
- package/dist/theme/components/MuiMenuItem.js.map +1 -0
- package/dist/theme/components/MuiTypography.js +22 -0
- package/dist/theme/components/MuiTypography.js.map +1 -0
- package/dist/theme/components/glassComponents.js +885 -0
- package/dist/theme/components/glassComponents.js.map +1 -0
- package/dist/theme/components/minimalComponents.js +146 -0
- package/dist/theme/components/minimalComponents.js.map +1 -0
- package/dist/theme/components/paletteOf.js +7 -0
- package/dist/theme/components/paletteOf.js.map +1 -0
- package/dist/theme/createToolkitTheme.js +100 -0
- package/dist/theme/createToolkitTheme.js.map +1 -0
- package/dist/theme/glassSurface.js +328 -0
- package/dist/theme/glassSurface.js.map +1 -0
- package/dist/theme/glassToasterStyles.js +50 -0
- package/dist/theme/glassToasterStyles.js.map +1 -0
- package/dist/theme/mergeComponents.js +42 -0
- package/dist/theme/mergeComponents.js.map +1 -0
- package/dist/theme/stackcraftPalette.js +59 -0
- package/dist/theme/stackcraftPalette.js.map +1 -0
- package/dist/theme/toolkitComponents.js +26 -0
- package/dist/theme/toolkitComponents.js.map +1 -0
- package/dist/timeline.js +8 -0
- package/dist/timeline.js.map +1 -0
- package/dist/toolkit/ToolkitProvider.js +49 -0
- package/dist/toolkit/ToolkitProvider.js.map +1 -0
- package/dist/toolkit/browserNavigation.js +34 -0
- package/dist/toolkit/browserNavigation.js.map +1 -0
- package/dist/toolkit/toolkitContext.js +19 -0
- package/dist/toolkit/toolkitContext.js.map +1 -0
- package/dist/toolkit/toolkitSettings.js +87 -0
- package/dist/toolkit/toolkitSettings.js.map +1 -0
- package/dist/toolkit/useToolkitTranslation.js +18 -0
- package/dist/toolkit/useToolkitTranslation.js.map +1 -0
- package/dist/types/DataTable/AuditTrailDialog.d.ts +32 -0
- package/dist/types/DataTable/AuditTrailTable.d.ts +28 -0
- package/dist/types/DataTable/ColumnFilters/HeaderFilterPopover.d.ts +8 -0
- package/dist/types/DataTable/ColumnFilters/MultiSelectColumnFilter.d.ts +16 -0
- package/dist/types/DataTable/ColumnFilters/SortableFilterHeader.d.ts +26 -0
- package/dist/types/DataTable/ColumnFilters/TextColumnFilter.d.ts +8 -0
- package/dist/types/DataTable/ColumnFilters/index.d.ts +4 -0
- package/dist/types/DataTable/EmptyState.d.ts +8 -0
- package/dist/types/DataTable/FilterChips.d.ts +15 -0
- package/dist/types/DataTable/GoToPage.d.ts +8 -0
- package/dist/types/DataTable/ServerTable.d.ts +110 -0
- package/dist/types/DataTable/buildChipConfig.d.ts +22 -0
- package/dist/types/DataTable/columns.d.ts +93 -0
- package/dist/types/DataTable/filterContext.d.ts +13 -0
- package/dist/types/DataTable/index.d.ts +13 -0
- package/dist/types/DataTable/serverTableParams.d.ts +16 -0
- package/dist/types/DataTable/tableMachine.d.ts +41 -0
- package/dist/types/DataTable/useDebouncedFilter.d.ts +8 -0
- package/dist/types/DataTable/useTableState.d.ts +93 -0
- package/dist/types/access/Can.d.ts +11 -0
- package/dist/types/access/PermissionMatrix.d.ts +21 -0
- package/dist/types/access/RequireAccess.d.ts +11 -0
- package/dist/types/access/accessRules.d.ts +24 -0
- package/dist/types/access/permissionGroups.d.ts +56 -0
- package/dist/types/access/useCan.d.ts +11 -0
- package/dist/types/account/AccountProvider.d.ts +27 -0
- package/dist/types/account/AccountSecuritySection.d.ts +7 -0
- package/dist/types/account/DemoTotpCodeButton.d.ts +6 -0
- package/dist/types/account/ForgotPasswordScreen.d.ts +15 -0
- package/dist/types/account/ProfileScreen.d.ts +13 -0
- package/dist/types/account/ResetPasswordScreen.d.ts +19 -0
- package/dist/types/account/SignInScreen.d.ts +25 -0
- package/dist/types/account/accountConnector.d.ts +263 -0
- package/dist/types/account/demo/createDemoAccountConnector.d.ts +30 -0
- package/dist/types/account/demo/totp.d.ts +45 -0
- package/dist/types/account/restAccountConnector.d.ts +49 -0
- package/dist/types/account-demo.d.ts +2 -0
- package/dist/types/account.d.ts +16 -0
- package/dist/types/adapters/i18next.d.ts +11 -0
- package/dist/types/adapters/nextNavigation.d.ts +33 -0
- package/dist/types/adapters/reactRouter.d.ts +6 -0
- package/dist/types/adapters/reactRouterRoutes.d.ts +30 -0
- package/dist/types/api/ApiError.d.ts +42 -0
- package/dist/types/api/createApiClient.d.ts +146 -0
- package/dist/types/api/staleChunks.d.ts +15 -0
- package/dist/types/appShell/AccountMenu.d.ts +28 -0
- package/dist/types/appShell/AppLayout.d.ts +66 -0
- package/dist/types/appShell/AppearanceSettings.d.ts +34 -0
- package/dist/types/appShell/AuthLayout.d.ts +21 -0
- package/dist/types/appShell/BarActionButton.d.ts +15 -0
- package/dist/types/appShell/BarActions.d.ts +18 -0
- package/dist/types/appShell/BarCapsule.d.ts +12 -0
- package/dist/types/appShell/HeaderTools.d.ts +27 -0
- package/dist/types/appShell/MobileTabBar.d.ts +17 -0
- package/dist/types/appShell/SettingsMenu.d.ts +13 -0
- package/dist/types/appShell/SideMenu.d.ts +31 -0
- package/dist/types/appShell/SideMenuEntry.d.ts +17 -0
- package/dist/types/appShell/SubmenuActionsMenu.d.ts +24 -0
- package/dist/types/appShell/TabBarEditor.d.ts +13 -0
- package/dist/types/appShell/TopMenu.d.ts +7 -0
- package/dist/types/appShell/appMenuContext.d.ts +9 -0
- package/dist/types/appShell/barActionsSlot.d.ts +35 -0
- package/dist/types/appShell/barMenuPlacement.d.ts +9 -0
- package/dist/types/appShell/menuItemText.d.ts +55 -0
- package/dist/types/appShell/pageTitle.d.ts +26 -0
- package/dist/types/appShell/shellSizes.d.ts +45 -0
- package/dist/types/appShell/tabBarRule.d.ts +5 -0
- package/dist/types/appShell/tabBarScroll.d.ts +26 -0
- package/dist/types/appShell/useDrawerCollapsed.d.ts +8 -0
- package/dist/types/appShell/useFittingActionCount.d.ts +7 -0
- package/dist/types/appShell/usePinnedMobileTabs.d.ts +7 -0
- package/dist/types/appShell/useTabBarMinimized.d.ts +8 -0
- package/dist/types/auth/PasswordChecklist.d.ts +11 -0
- package/dist/types/auth/passwordRules.d.ts +34 -0
- package/dist/types/calendar/EventCalendar.d.ts +46 -0
- package/dist/types/calendar.d.ts +1 -0
- package/dist/types/charts.d.ts +2 -0
- package/dist/types/date-pickers.d.ts +2 -0
- package/dist/types/datePickers/DateInput.d.ts +39 -0
- package/dist/types/datePickers/FormDateField.d.ts +7 -0
- package/dist/types/dates.d.ts +18 -0
- package/dist/types/dictionaries/dictionaries.d.ts +54 -0
- package/dist/types/downloads/DownloadManager.d.ts +1 -0
- package/dist/types/downloads/downloadQueue.d.ts +45 -0
- package/dist/types/downloads/downloadsMachine.d.ts +10 -0
- package/dist/types/downloads/index.d.ts +3 -0
- package/dist/types/excel/reportWorkbook.d.ts +157 -0
- package/dist/types/excel.d.ts +1 -0
- package/dist/types/feedback/ConfirmDialog.d.ts +29 -0
- package/dist/types/feedback/ModalWaiting.d.ts +8 -0
- package/dist/types/feedback/NewBuildNotice.d.ts +18 -0
- package/dist/types/feedback/StaleBuildBoundary.d.ts +21 -0
- package/dist/types/feedback/Toaster.d.ts +1 -0
- package/dist/types/feedback/confirmActionMachine.d.ts +19 -0
- package/dist/types/feedback/index.d.ts +8 -0
- package/dist/types/feedback/toast.d.ts +100 -0
- package/dist/types/feedback/useConfirmAction.d.ts +33 -0
- package/dist/types/filepond/FileDropzone.d.ts +59 -0
- package/dist/types/filepond/pondServer.d.ts +17 -0
- package/dist/types/filepond.d.ts +3 -0
- package/dist/types/files.d.ts +29 -0
- package/dist/types/formatting.d.ts +106 -0
- package/dist/types/forms/FormCatalogField.d.ts +6 -0
- package/dist/types/forms/FormColorField.d.ts +6 -0
- package/dist/types/forms/FormNumberField.d.ts +6 -0
- package/dist/types/forms/FormProblemAlert.d.ts +6 -0
- package/dist/types/forms/FormSelectField.d.ts +6 -0
- package/dist/types/forms/FormServerProblem.d.ts +8 -0
- package/dist/types/forms/FormTextField.d.ts +6 -0
- package/dist/types/forms/FormWizard.d.ts +20 -0
- package/dist/types/forms/SubmitButton.d.ts +9 -0
- package/dist/types/forms/applyServerProblem.d.ts +9 -0
- package/dist/types/forms/auth/ChangePasswordForm.d.ts +15 -0
- package/dist/types/forms/auth/ForgotPasswordForm.d.ts +12 -0
- package/dist/types/forms/auth/SignInForm.d.ts +18 -0
- package/dist/types/forms/index.d.ts +19 -0
- package/dist/types/forms/security/SecondStepForm.d.ts +28 -0
- package/dist/types/forms/security/TwoStepVerificationCard.d.ts +81 -0
- package/dist/types/forms/security/securityRules.d.ts +24 -0
- package/dist/types/forms/serverProblemFields.d.ts +19 -0
- package/dist/types/forms/useFormikField.d.ts +11 -0
- package/dist/types/forms/validation.d.ts +251 -0
- package/dist/types/forms/validationMessages.d.ts +12 -0
- package/dist/types/forms.d.ts +2 -0
- package/dist/types/hookForm/FormCatalogField.d.ts +8 -0
- package/dist/types/hookForm/FormColorField.d.ts +8 -0
- package/dist/types/hookForm/FormNumberField.d.ts +8 -0
- package/dist/types/hookForm/FormProblemAlert.d.ts +7 -0
- package/dist/types/hookForm/FormSelectField.d.ts +8 -0
- package/dist/types/hookForm/FormTextField.d.ts +8 -0
- package/dist/types/hookForm/SubmitButton.d.ts +21 -0
- package/dist/types/hookForm/applyServerProblem.d.ts +10 -0
- package/dist/types/hookForm/useHookFormField.d.ts +13 -0
- package/dist/types/i18next.d.ts +1 -0
- package/dist/types/identifiers.d.ts +2 -0
- package/dist/types/inbox/InboxLayout.d.ts +26 -0
- package/dist/types/inbox/MessageList.d.ts +27 -0
- package/dist/types/inbox/MessageView.d.ts +23 -0
- package/dist/types/inbox/inboxDates.d.ts +6 -0
- package/dist/types/index.d.ts +84 -0
- package/dist/types/inputs/CatalogInput.d.ts +41 -0
- package/dist/types/inputs/ColorInput.d.ts +28 -0
- package/dist/types/inputs/FieldFrame.d.ts +14 -0
- package/dist/types/inputs/FormSection.d.ts +29 -0
- package/dist/types/inputs/NumberInput.d.ts +36 -0
- package/dist/types/inputs/SelectInput.d.ts +34 -0
- package/dist/types/inputs/TextInput.d.ts +60 -0
- package/dist/types/inputs/colorContrast.d.ts +18 -0
- package/dist/types/inputs/formLayoutContext.d.ts +3 -0
- package/dist/types/inputs/numberText.d.ts +25 -0
- package/dist/types/kanban/KanbanBoard.d.ts +33 -0
- package/dist/types/kanban/kanbanMoves.d.ts +38 -0
- package/dist/types/kanban.d.ts +2 -0
- package/dist/types/laravel/csrfRetry.d.ts +21 -0
- package/dist/types/laravel.d.ts +1 -0
- package/dist/types/lastListUrl.d.ts +20 -0
- package/dist/types/locales/en.d.ts +711 -0
- package/dist/types/locales/es.d.ts +711 -0
- package/dist/types/maps/MapView.d.ts +32 -0
- package/dist/types/maps/mapMarkers.d.ts +23 -0
- package/dist/types/maps.d.ts +2 -0
- package/dist/types/money/money.d.ts +203 -0
- package/dist/types/money.d.ts +1 -0
- package/dist/types/navigation/appMenu.d.ts +92 -0
- package/dist/types/navigation/useMenuBadges.d.ts +16 -0
- package/dist/types/navigation.d.ts +22 -0
- package/dist/types/navigationTrail.d.ts +49 -0
- package/dist/types/next.d.ts +1 -0
- package/dist/types/observability/buildWatch.d.ts +28 -0
- package/dist/types/observability/logger.d.ts +19 -0
- package/dist/types/observability/publishedBuild.d.ts +35 -0
- package/dist/types/observability/usePublishedBuildWatch.d.ts +16 -0
- package/dist/types/passkeys.d.ts +1 -0
- package/dist/types/periodRanges.d.ts +32 -0
- package/dist/types/problems.d.ts +31 -0
- package/dist/types/pwa/InstallAppSetting.d.ts +1 -0
- package/dist/types/pwa/InstallInstructionsDialog.d.ts +18 -0
- package/dist/types/pwa/InstallPromptBanner.d.ts +7 -0
- package/dist/types/pwa/installInstructions.d.ts +52 -0
- package/dist/types/pwa/useInstallPrompt.d.ts +12 -0
- package/dist/types/react-hook-form.d.ts +11 -0
- package/dist/types/react-router.d.ts +2 -0
- package/dist/types/security/ActivityLog.d.ts +31 -0
- package/dist/types/security/RecoveryCodesDialog.d.ts +11 -0
- package/dist/types/security/SessionsCard.d.ts +22 -0
- package/dist/types/security/passkeys.d.ts +18 -0
- package/dist/types/table.d.ts +1 -0
- package/dist/types/theme/androidDevice.d.ts +11 -0
- package/dist/types/theme/appleTracking.d.ts +17 -0
- package/dist/types/theme/components/MuiAppBar.d.ts +13 -0
- package/dist/types/theme/components/MuiBackdrop.d.ts +11 -0
- package/dist/types/theme/components/MuiButton.d.ts +27 -0
- package/dist/types/theme/components/MuiButtonBase.d.ts +14 -0
- package/dist/types/theme/components/MuiChip.d.ts +29 -0
- package/dist/types/theme/components/MuiDataGrid.d.ts +45 -0
- package/dist/types/theme/components/MuiDrawer.d.ts +13 -0
- package/dist/types/theme/components/MuiMenuItem.d.ts +17 -0
- package/dist/types/theme/components/MuiTypography.d.ts +20 -0
- package/dist/types/theme/components/glassComponents.d.ts +8 -0
- package/dist/types/theme/components/minimalComponents.d.ts +22 -0
- package/dist/types/theme/components/paletteOf.d.ts +5 -0
- package/dist/types/theme/createToolkitTheme.d.ts +48 -0
- package/dist/types/theme/glassSurface.d.ts +247 -0
- package/dist/types/theme/glassToasterStyles.d.ts +7 -0
- package/dist/types/theme/mergeComponents.d.ts +15 -0
- package/dist/types/theme/stackcraftPalette.d.ts +142 -0
- package/dist/types/theme/toolkitComponents.d.ts +4 -0
- package/dist/types/timeline.d.ts +2 -0
- package/dist/types/toolkit/ToolkitProvider.d.ts +31 -0
- package/dist/types/toolkit/browserNavigation.d.ts +32 -0
- package/dist/types/toolkit/toolkitContext.d.ts +28 -0
- package/dist/types/toolkit/toolkitSettings.d.ts +68 -0
- package/dist/types/toolkit/useToolkitTranslation.d.ts +10 -0
- package/dist/types/ui/actions/CopyButton.d.ts +13 -0
- package/dist/types/ui/actions/DownloadMenu.d.ts +50 -0
- package/dist/types/ui/actions/SecretField.d.ts +13 -0
- package/dist/types/ui/filters/DateRangeFilter.d.ts +16 -0
- package/dist/types/ui/filters/PeriodRangeSelector.d.ts +28 -0
- package/dist/types/ui/filters/QuickFilters.d.ts +21 -0
- package/dist/types/ui/filters/SegmentedControl.d.ts +44 -0
- package/dist/types/ui/index.d.ts +33 -0
- package/dist/types/ui/labels/DictionaryText.d.ts +7 -0
- package/dist/types/ui/labels/StatusChip.d.ts +21 -0
- package/dist/types/ui/labels/Tag.d.ts +19 -0
- package/dist/types/ui/layout/CollapsibleSection.d.ts +15 -0
- package/dist/types/ui/layout/ContentDialog.d.ts +13 -0
- package/dist/types/ui/layout/DefinitionList.d.ts +15 -0
- package/dist/types/ui/layout/DetailHeader.d.ts +15 -0
- package/dist/types/ui/layout/ErrorPage.d.ts +22 -0
- package/dist/types/ui/layout/FullPageLoader.d.ts +1 -0
- package/dist/types/ui/layout/GlassLensFilter.d.ts +1 -0
- package/dist/types/ui/layout/GlassPanel.d.ts +11 -0
- package/dist/types/ui/layout/PageHeader.d.ts +15 -0
- package/dist/types/ui/layout/PageHeading.d.ts +18 -0
- package/dist/types/ui/layout/ProfileHeader.d.ts +17 -0
- package/dist/types/ui/layout/ScrollableRow.d.ts +33 -0
- package/dist/types/ui/layout/SectionCard.d.ts +11 -0
- package/dist/types/ui/layout/appBarHeight.d.ts +13 -0
- package/dist/types/ui/metrics/BarList.d.ts +19 -0
- package/dist/types/ui/metrics/CalendarHeatmap.d.ts +28 -0
- package/dist/types/ui/metrics/ChartTooltip.d.ts +5 -0
- package/dist/types/ui/metrics/ColumnChart.d.ts +35 -0
- package/dist/types/ui/metrics/MetricCard.d.ts +31 -0
- package/dist/types/ui/metrics/TableToggle.d.ts +7 -0
- package/dist/types/ui/metrics/barListLabels.d.ts +17 -0
- package/dist/types/ui/metrics/heatmapScale.d.ts +45 -0
- package/dist/types/ui/navigation/BackButton.d.ts +11 -0
- package/dist/types/ui/navigation/ColorSchemeToggle.d.ts +7 -0
- package/dist/types/ui/navigation/DocumentTitle.d.ts +6 -0
- package/dist/types/ui/navigation/FontSizeToggle.d.ts +6 -0
- package/dist/types/ui/navigation/LanguageToggle.d.ts +8 -0
- package/dist/types/ui/navigation/PageBreadcrumbs.d.ts +9 -0
- package/dist/types/ui/navigation/colorMode.d.ts +18 -0
- package/dist/types/ui/navigation/fontSizeLevels.d.ts +25 -0
- package/dist/types/ui/navigation/useFontSize.d.ts +10 -0
- package/dist/types/ui/timeline/GroupedTimeline.d.ts +38 -0
- package/dist/types/ui/timeline/timelineDot.d.ts +19 -0
- package/dist/types/upload/FileDropzone.d.ts +34 -0
- package/dist/types/upload/fileRules.d.ts +51 -0
- package/dist/types/upload/uploadMachine.d.ts +23 -0
- package/dist/types/upload/uploadWithProgress.d.ts +16 -0
- package/dist/ui/actions/CopyButton.js +28 -0
- package/dist/ui/actions/CopyButton.js.map +1 -0
- package/dist/ui/actions/DownloadMenu.js +163 -0
- package/dist/ui/actions/DownloadMenu.js.map +1 -0
- package/dist/ui/actions/SecretField.js +57 -0
- package/dist/ui/actions/SecretField.js.map +1 -0
- package/dist/ui/filters/DateRangeFilter.js +86 -0
- package/dist/ui/filters/DateRangeFilter.js.map +1 -0
- package/dist/ui/filters/PeriodRangeSelector.js +56 -0
- package/dist/ui/filters/PeriodRangeSelector.js.map +1 -0
- package/dist/ui/filters/QuickFilters.js +91 -0
- package/dist/ui/filters/QuickFilters.js.map +1 -0
- package/dist/ui/filters/SegmentedControl.js +80 -0
- package/dist/ui/filters/SegmentedControl.js.map +1 -0
- package/dist/ui/labels/DictionaryText.js +11 -0
- package/dist/ui/labels/DictionaryText.js.map +1 -0
- package/dist/ui/labels/StatusChip.js +52 -0
- package/dist/ui/labels/StatusChip.js.map +1 -0
- package/dist/ui/labels/Tag.js +26 -0
- package/dist/ui/labels/Tag.js.map +1 -0
- package/dist/ui/layout/CollapsibleSection.js +48 -0
- package/dist/ui/layout/CollapsibleSection.js.map +1 -0
- package/dist/ui/layout/ContentDialog.js +97 -0
- package/dist/ui/layout/ContentDialog.js.map +1 -0
- package/dist/ui/layout/DefinitionList.js +30 -0
- package/dist/ui/layout/DefinitionList.js.map +1 -0
- package/dist/ui/layout/DetailHeader.js +27 -0
- package/dist/ui/layout/DetailHeader.js.map +1 -0
- package/dist/ui/layout/ErrorPage.js +40 -0
- package/dist/ui/layout/ErrorPage.js.map +1 -0
- package/dist/ui/layout/FullPageLoader.js +13 -0
- package/dist/ui/layout/FullPageLoader.js.map +1 -0
- package/dist/ui/layout/GlassLensFilter.js +53 -0
- package/dist/ui/layout/GlassLensFilter.js.map +1 -0
- package/dist/ui/layout/GlassPanel.js +18 -0
- package/dist/ui/layout/GlassPanel.js.map +1 -0
- package/dist/ui/layout/PageHeader.js +23 -0
- package/dist/ui/layout/PageHeader.js.map +1 -0
- package/dist/ui/layout/PageHeading.js +51 -0
- package/dist/ui/layout/PageHeading.js.map +1 -0
- package/dist/ui/layout/ProfileHeader.js +64 -0
- package/dist/ui/layout/ProfileHeader.js.map +1 -0
- package/dist/ui/layout/ScrollableRow.js +156 -0
- package/dist/ui/layout/ScrollableRow.js.map +1 -0
- package/dist/ui/layout/SectionCard.js +18 -0
- package/dist/ui/layout/SectionCard.js.map +1 -0
- package/dist/ui/layout/appBarHeight.js +42 -0
- package/dist/ui/layout/appBarHeight.js.map +1 -0
- package/dist/ui/metrics/BarList.js +89 -0
- package/dist/ui/metrics/BarList.js.map +1 -0
- package/dist/ui/metrics/CalendarHeatmap.js +131 -0
- package/dist/ui/metrics/CalendarHeatmap.js.map +1 -0
- package/dist/ui/metrics/ChartTooltip.js +16 -0
- package/dist/ui/metrics/ChartTooltip.js.map +1 -0
- package/dist/ui/metrics/ColumnChart.js +110 -0
- package/dist/ui/metrics/ColumnChart.js.map +1 -0
- package/dist/ui/metrics/MetricCard.js +64 -0
- package/dist/ui/metrics/MetricCard.js.map +1 -0
- package/dist/ui/metrics/TableToggle.js +13 -0
- package/dist/ui/metrics/TableToggle.js.map +1 -0
- package/dist/ui/metrics/barListLabels.js +9 -0
- package/dist/ui/metrics/barListLabels.js.map +1 -0
- package/dist/ui/metrics/heatmapScale.js +67 -0
- package/dist/ui/metrics/heatmapScale.js.map +1 -0
- package/dist/ui/navigation/BackButton.js +28 -0
- package/dist/ui/navigation/BackButton.js.map +1 -0
- package/dist/ui/navigation/ColorSchemeToggle.js +37 -0
- package/dist/ui/navigation/ColorSchemeToggle.js.map +1 -0
- package/dist/ui/navigation/DocumentTitle.js +11 -0
- package/dist/ui/navigation/DocumentTitle.js.map +1 -0
- package/dist/ui/navigation/FontSizeToggle.js +40 -0
- package/dist/ui/navigation/FontSizeToggle.js.map +1 -0
- package/dist/ui/navigation/LanguageToggle.js +27 -0
- package/dist/ui/navigation/LanguageToggle.js.map +1 -0
- package/dist/ui/navigation/PageBreadcrumbs.js +51 -0
- package/dist/ui/navigation/PageBreadcrumbs.js.map +1 -0
- package/dist/ui/navigation/colorMode.js +13 -0
- package/dist/ui/navigation/colorMode.js.map +1 -0
- package/dist/ui/navigation/fontSizeLevels.js +24 -0
- package/dist/ui/navigation/fontSizeLevels.js.map +1 -0
- package/dist/ui/navigation/useFontSize.js +44 -0
- package/dist/ui/navigation/useFontSize.js.map +1 -0
- package/dist/ui/timeline/GroupedTimeline.js +104 -0
- package/dist/ui/timeline/GroupedTimeline.js.map +1 -0
- package/dist/ui/timeline/timelineDot.js +20 -0
- package/dist/ui/timeline/timelineDot.js.map +1 -0
- package/dist/upload/FileDropzone.js +143 -0
- package/dist/upload/FileDropzone.js.map +1 -0
- package/dist/upload/fileRules.js +62 -0
- package/dist/upload/fileRules.js.map +1 -0
- package/dist/upload/uploadMachine.js +73 -0
- package/dist/upload/uploadMachine.js.map +1 -0
- package/dist/upload/uploadWithProgress.js +45 -0
- package/dist/upload/uploadWithProgress.js.map +1 -0
- package/package.json +303 -5
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { DragDropContext, Droppable, Draggable } from "@hello-pangea/dnd";
|
|
4
|
+
import Box from "@mui/material/Box";
|
|
5
|
+
import Chip from "@mui/material/Chip";
|
|
6
|
+
import Paper from "@mui/material/Paper";
|
|
7
|
+
import Stack from "@mui/material/Stack";
|
|
8
|
+
import Typography from "@mui/material/Typography";
|
|
9
|
+
import { cardsOfColumn, isOverLimit } from "./kanbanMoves.js";
|
|
10
|
+
import { useToolkitTranslation } from "../toolkit/useToolkitTranslation.js";
|
|
11
|
+
const COLUMN_MIN_WIDTH_PIXELS = 220;
|
|
12
|
+
const EMPTY_COLUMN_MIN_HEIGHT = 96;
|
|
13
|
+
function DefaultCard({ card }) {
|
|
14
|
+
return /* @__PURE__ */ jsxs(Stack, { spacing: 0.75, children: [
|
|
15
|
+
/* @__PURE__ */ jsx(Typography, { variant: "subtitle2", component: "p", children: card.title }),
|
|
16
|
+
card.description && /* @__PURE__ */ jsx(Typography, { variant: "body2", color: "text.secondary", children: card.description }),
|
|
17
|
+
card.tags?.length > 0 && /* @__PURE__ */ jsx(Stack, { direction: "row", spacing: 0.5, useFlexGap: true, sx: { flexWrap: "wrap" }, children: card.tags.map((tag) => /* @__PURE__ */ jsx(Chip, { label: tag, size: "small" }, tag)) })
|
|
18
|
+
] });
|
|
19
|
+
}
|
|
20
|
+
function KanbanBoard({ columns, cards, onMove, renderCard, onCardClick, ariaLabel }) {
|
|
21
|
+
const { t } = useToolkitTranslation("kanban");
|
|
22
|
+
const columnTitleOf = (columnId) => columns.find((column) => column.id === columnId)?.title ?? columnId;
|
|
23
|
+
const cardTitleOf = (cardId) => cards.find((card) => card.id === cardId)?.title ?? cardId;
|
|
24
|
+
const announceStart = (start, provided) => provided.announce(t("lifted", {
|
|
25
|
+
title: cardTitleOf(start.draggableId),
|
|
26
|
+
column: columnTitleOf(start.source.droppableId),
|
|
27
|
+
position: start.source.index + 1
|
|
28
|
+
}));
|
|
29
|
+
const announceUpdate = (update, provided) => {
|
|
30
|
+
if (update.destination) {
|
|
31
|
+
provided.announce(t("moving", { column: columnTitleOf(update.destination.droppableId), position: update.destination.index + 1 }));
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
const finishMove = (result, provided) => {
|
|
35
|
+
const { draggableId, source, destination } = result;
|
|
36
|
+
if (!destination || destination.droppableId === source.droppableId && destination.index === source.index) {
|
|
37
|
+
provided.announce(t("cancelled", { title: cardTitleOf(draggableId) }));
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
provided.announce(t("dropped", { title: cardTitleOf(draggableId), column: columnTitleOf(destination.droppableId), position: destination.index + 1 }));
|
|
41
|
+
onMove({ cardId: draggableId, fromColumnId: source.droppableId, toColumnId: destination.droppableId, toIndex: destination.index });
|
|
42
|
+
};
|
|
43
|
+
return /* @__PURE__ */ jsx(DragDropContext, { onDragStart: announceStart, onDragUpdate: announceUpdate, onDragEnd: finishMove, dragHandleUsageInstructions: t("instructions"), children: /* @__PURE__ */ jsx(Box, { role: "region", "aria-label": ariaLabel, sx: {
|
|
44
|
+
display: "flex",
|
|
45
|
+
gap: 2,
|
|
46
|
+
overflowX: "auto",
|
|
47
|
+
pb: 1,
|
|
48
|
+
scrollSnapType: "x proximity",
|
|
49
|
+
alignItems: "flex-start"
|
|
50
|
+
}, children: columns.map((column) => {
|
|
51
|
+
const columnCards = cardsOfColumn(cards, column.id);
|
|
52
|
+
const isOver = isOverLimit(column, columnCards.length);
|
|
53
|
+
const count = Number.isInteger(column.limit) ? `${columnCards.length} / ${column.limit}` : String(columnCards.length);
|
|
54
|
+
return /* @__PURE__ */ jsxs(
|
|
55
|
+
Paper,
|
|
56
|
+
{
|
|
57
|
+
variant: "outlined",
|
|
58
|
+
component: "section",
|
|
59
|
+
"aria-label": column.title,
|
|
60
|
+
sx: { flex: "1 1 0", minWidth: COLUMN_MIN_WIDTH_PIXELS, p: 1.5, scrollSnapAlign: "start", borderRadius: 3 },
|
|
61
|
+
children: [
|
|
62
|
+
/* @__PURE__ */ jsxs(Stack, { direction: "row", spacing: 1, sx: { alignItems: "center", justifyContent: "space-between", mb: 1.5, px: 0.5 }, children: [
|
|
63
|
+
/* @__PURE__ */ jsx(Typography, { variant: "subtitle2", component: "h3", children: column.title }),
|
|
64
|
+
/* @__PURE__ */ jsx(
|
|
65
|
+
Chip,
|
|
66
|
+
{
|
|
67
|
+
size: "small",
|
|
68
|
+
label: count,
|
|
69
|
+
color: isOver ? "warning" : "default",
|
|
70
|
+
title: isOver ? t("overLimit", { limit: column.limit }) : void 0
|
|
71
|
+
}
|
|
72
|
+
)
|
|
73
|
+
] }),
|
|
74
|
+
/* @__PURE__ */ jsx(Droppable, { droppableId: column.id, children: (droppableProvided, droppableSnapshot) => /* @__PURE__ */ jsxs(
|
|
75
|
+
Stack,
|
|
76
|
+
{
|
|
77
|
+
ref: droppableProvided.innerRef,
|
|
78
|
+
...droppableProvided.droppableProps,
|
|
79
|
+
spacing: 1,
|
|
80
|
+
sx: {
|
|
81
|
+
minHeight: EMPTY_COLUMN_MIN_HEIGHT,
|
|
82
|
+
borderRadius: 2,
|
|
83
|
+
transition: "background-color 160ms",
|
|
84
|
+
bgcolor: droppableSnapshot.isDraggingOver ? "action.hover" : "transparent"
|
|
85
|
+
},
|
|
86
|
+
children: [
|
|
87
|
+
columnCards.map((card, index) => /* @__PURE__ */ jsx(Draggable, { draggableId: card.id, index, children: (draggableProvided, draggableSnapshot) => /* @__PURE__ */ jsx(
|
|
88
|
+
Paper,
|
|
89
|
+
{
|
|
90
|
+
ref: draggableProvided.innerRef,
|
|
91
|
+
...draggableProvided.draggableProps,
|
|
92
|
+
...draggableProvided.dragHandleProps,
|
|
93
|
+
elevation: draggableSnapshot.isDragging ? 8 : 1,
|
|
94
|
+
onClick: onCardClick ? () => onCardClick(card.id) : void 0,
|
|
95
|
+
sx: { p: 1.5, borderRadius: 2, cursor: "grab", "&:focus-visible": { outline: 2, outlineColor: "primary.main" } },
|
|
96
|
+
children: renderCard ? renderCard(card) : /* @__PURE__ */ jsx(DefaultCard, { card })
|
|
97
|
+
}
|
|
98
|
+
) }, card.id)),
|
|
99
|
+
droppableProvided.placeholder,
|
|
100
|
+
columnCards.length === 0 && !droppableSnapshot.isDraggingOver && /* @__PURE__ */ jsx(Typography, { variant: "caption", color: "text.secondary", sx: { textAlign: "center", py: 3 }, children: t("empty") })
|
|
101
|
+
]
|
|
102
|
+
}
|
|
103
|
+
) })
|
|
104
|
+
]
|
|
105
|
+
},
|
|
106
|
+
column.id
|
|
107
|
+
);
|
|
108
|
+
}) }) });
|
|
109
|
+
}
|
|
110
|
+
export {
|
|
111
|
+
KanbanBoard as default
|
|
112
|
+
};
|
|
113
|
+
//# sourceMappingURL=KanbanBoard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KanbanBoard.js","sources":["../../src/kanban/KanbanBoard.jsx"],"sourcesContent":["// Un tablero kanban (@stackcraftmx/calcita/kanban): columnas con tarjetas que se arrastran de una a otra con el ratón, con el\n// dedo o con el teclado (espacio para levantar, flechas para mover, espacio para soltar). Con @hello-pangea/dnd por dentro.\n//\n// <KanbanBoard columns={[{id: 'todo', title: 'Por hacer'}, {id: 'doing', title: 'En proceso', limit: 3}]}\n// cards={cards} onMove={(move) => api.post('/tasks/move', move)} ariaLabel=\"Tablero de tareas\" />\n//\n// El tablero no guarda nada: avisa la movida (onMove) y quien lo usa actualiza sus tarjetas (moveCard de kanbanMoves.js lo\n// hace sin esperar al servidor). Una columna con tope (limit, el trabajo en curso) avisa en ámbar cuando lo pasa.\n//\n// Accesible: el lector de pantalla anuncia en el idioma de la app qué se levantó, a dónde va y dónde quedó.\n//\n// Genérico del paquete: function (regla de la casa).\nimport {DragDropContext, Draggable, Droppable} from '@hello-pangea/dnd';\nimport Box from '@mui/material/Box';\nimport Chip from '@mui/material/Chip';\nimport Paper from '@mui/material/Paper';\nimport Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\n\nimport {cardsOfColumn, isOverLimit} from '@/kanban/kanbanMoves.js';\nimport {useToolkitTranslation} from '@/toolkit/useToolkitTranslation.js';\n\n// las columnas se reparten el ancho, sin bajar de este mínimo; si no caben, el tablero desliza de lado.\n// OJO: con el teclado, la librería solo mueve una tarjeta a columnas que se ven COMPLETAS: con columnas fijas de 300 px la\n// cuarta quedaba cortada en un escritorio y no se podía soltar ahí con el teclado\nconst COLUMN_MIN_WIDTH_PIXELS = 220;\n// lo alto que mide una columna vacía: lo justo para soltar ahí una tarjeta\nconst EMPTY_COLUMN_MIN_HEIGHT = 96;\n\n/**\n * Una tarjeta por omisión: el título, la descripción y sus etiquetas.\n *\n * @param {{card: {title: string, description?: string, tags?: string[]}}} props\n */\nfunction DefaultCard({card}) {\n return (\n <Stack spacing={0.75}>\n <Typography variant=\"subtitle2\" component=\"p\">{card.title}</Typography>\n {card.description && <Typography variant=\"body2\" color=\"text.secondary\">{card.description}</Typography>}\n {card.tags?.length > 0 && (\n <Stack direction=\"row\" spacing={0.5} useFlexGap sx={{flexWrap: 'wrap'}}>\n {card.tags.map((tag) => <Chip key={tag} label={tag} size=\"small\" />)}\n </Stack>\n )}\n </Stack>\n );\n}\n\n/**\n * @param {object} props\n * @param {Array<{id: string, title: string, limit?: number}>} props.columns en su orden\n * @param {Array<{id: string, columnId: string, title: string, description?: string, tags?: string[]}>} props.cards el orden\n * de cada columna es el orden en este arreglo\n * @param {(move: {cardId: string, fromColumnId: string, toColumnId: string, toIndex: number}) => void} props.onMove\n * @param {(card: any) => import('react').ReactNode} [props.renderCard] lo de adentro de cada tarjeta (recibe la tarjeta de cards)\n * @param {(cardId: string) => void} [props.onCardClick]\n * @param {string} props.ariaLabel ya traducido\n */\nexport default function KanbanBoard({columns, cards, onMove, renderCard, onCardClick, ariaLabel}) {\n const {t} = useToolkitTranslation('kanban');\n const columnTitleOf = (columnId) => columns.find((column) => column.id === columnId)?.title ?? columnId;\n const cardTitleOf = (cardId) => cards.find((card) => card.id === cardId)?.title ?? cardId;\n\n // lo que oye quien usa lector de pantalla (posiciones desde 1, como se cuentan)\n const announceStart = (start, provided) => provided.announce(t('lifted', {\n title: cardTitleOf(start.draggableId), column: columnTitleOf(start.source.droppableId), position: start.source.index + 1,\n }));\n const announceUpdate = (update, provided) => {\n if (update.destination) {\n provided.announce(t('moving', {column: columnTitleOf(update.destination.droppableId), position: update.destination.index + 1}));\n }\n };\n const finishMove = (result, provided) => {\n const {draggableId, source, destination} = result;\n // se soltó fuera de una columna o en el mismo lugar: nada que mover\n if (!destination || (destination.droppableId === source.droppableId && destination.index === source.index)) {\n provided.announce(t('cancelled', {title: cardTitleOf(draggableId)}));\n return;\n }\n provided.announce(t('dropped', {title: cardTitleOf(draggableId), column: columnTitleOf(destination.droppableId), position: destination.index + 1}));\n onMove({cardId: draggableId, fromColumnId: source.droppableId, toColumnId: destination.droppableId, toIndex: destination.index});\n };\n\n return (\n <DragDropContext onDragStart={announceStart} onDragUpdate={announceUpdate} onDragEnd={finishMove} dragHandleUsageInstructions={t('instructions')}>\n <Box role=\"region\" aria-label={ariaLabel} sx={{\n display: 'flex', gap: 2, overflowX: 'auto', pb: 1, scrollSnapType: 'x proximity', alignItems: 'flex-start',\n }}>\n {columns.map((column) => {\n const columnCards = cardsOfColumn(cards, column.id);\n const isOver = isOverLimit(column, columnCards.length);\n const count = Number.isInteger(column.limit) ? `${columnCards.length} / ${column.limit}` : String(columnCards.length);\n return (\n <Paper key={column.id} variant=\"outlined\" component=\"section\" aria-label={column.title}\n sx={{flex: '1 1 0', minWidth: COLUMN_MIN_WIDTH_PIXELS, p: 1.5, scrollSnapAlign: 'start', borderRadius: 3}}>\n <Stack direction=\"row\" spacing={1} sx={{alignItems: 'center', justifyContent: 'space-between', mb: 1.5, px: 0.5}}>\n <Typography variant=\"subtitle2\" component=\"h3\">{column.title}</Typography>\n <Chip size=\"small\" label={count} color={isOver ? 'warning' : 'default'}\n title={isOver ? t('overLimit', {limit: column.limit}) : undefined} />\n </Stack>\n <Droppable droppableId={column.id}>\n {(droppableProvided, droppableSnapshot) => (\n <Stack ref={droppableProvided.innerRef} {...droppableProvided.droppableProps} spacing={1}\n sx={{\n minHeight: EMPTY_COLUMN_MIN_HEIGHT, borderRadius: 2, transition: 'background-color 160ms',\n bgcolor: droppableSnapshot.isDraggingOver ? 'action.hover' : 'transparent',\n }}>\n {columnCards.map((card, index) => (\n <Draggable key={card.id} draggableId={card.id} index={index}>\n {(draggableProvided, draggableSnapshot) => (\n <Paper ref={draggableProvided.innerRef} {...draggableProvided.draggableProps} {...draggableProvided.dragHandleProps}\n elevation={draggableSnapshot.isDragging ? 8 : 1}\n onClick={onCardClick ? () => onCardClick(card.id) : undefined}\n sx={{p: 1.5, borderRadius: 2, cursor: 'grab', '&:focus-visible': {outline: 2, outlineColor: 'primary.main'}}}>\n {renderCard ? renderCard(card) : <DefaultCard card={card} />}\n </Paper>\n )}\n </Draggable>\n ))}\n {droppableProvided.placeholder}\n {columnCards.length === 0 && !droppableSnapshot.isDraggingOver && (\n <Typography variant=\"caption\" color=\"text.secondary\" sx={{textAlign: 'center', py: 3}}>{t('empty')}</Typography>\n )}\n </Stack>\n )}\n </Droppable>\n </Paper>\n );\n })}\n </Box>\n </DragDropContext>\n );\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
function cardsOfColumn(cards, columnId) {
|
|
2
|
+
return cards.filter((card) => card.columnId === columnId);
|
|
3
|
+
}
|
|
4
|
+
function moveCard(cards, { cardId, toColumnId, toIndex }) {
|
|
5
|
+
const card = cards.find((candidate) => candidate.id === cardId);
|
|
6
|
+
if (!card) {
|
|
7
|
+
return cards;
|
|
8
|
+
}
|
|
9
|
+
const others = cards.filter((candidate) => candidate.id !== cardId);
|
|
10
|
+
const movedCard = { ...card, columnId: toColumnId };
|
|
11
|
+
const cardAtPlace = cardsOfColumn(others, toColumnId)[toIndex];
|
|
12
|
+
let insertAt;
|
|
13
|
+
if (cardAtPlace) {
|
|
14
|
+
insertAt = others.indexOf(cardAtPlace);
|
|
15
|
+
} else {
|
|
16
|
+
const lastOfColumn = others.map((candidate) => candidate.columnId).lastIndexOf(toColumnId);
|
|
17
|
+
insertAt = lastOfColumn === -1 ? others.length : lastOfColumn + 1;
|
|
18
|
+
}
|
|
19
|
+
return [...others.slice(0, insertAt), movedCard, ...others.slice(insertAt)];
|
|
20
|
+
}
|
|
21
|
+
function isOverLimit(column, cardCount) {
|
|
22
|
+
return Number.isInteger(column.limit) && cardCount > column.limit;
|
|
23
|
+
}
|
|
24
|
+
export {
|
|
25
|
+
cardsOfColumn,
|
|
26
|
+
isOverLimit,
|
|
27
|
+
moveCard
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=kanbanMoves.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kanbanMoves.js","sources":["../../src/kanban/kanbanMoves.js"],"sourcesContent":["// Lo puro del tablero kanban: mover una tarjeta a otra columna (o a otro lugar de la suya) sin perder el orden de las\n// demás. Las tarjetas van en UN arreglo y el orden de cada columna es el orden en que aparecen ahí, como lo regresaría un\n// servidor ordenado por columna y posición.\n//\n// Funciones puras, sin React: function (regla de la casa).\n\n/**\n * Las tarjetas de una columna, en su orden.\n *\n * @template {{id: string, columnId: string}} Card las tarjetas del proyecto, con lo que traigan (título, etiquetas…)\n * @param {Card[]} cards\n * @param {string} columnId\n * @returns {Card[]}\n */\nexport function cardsOfColumn(cards, columnId) {\n return cards.filter((card) => card.columnId === columnId);\n}\n\n/**\n * Las tarjetas con una movida: la tarjeta queda en toColumnId, en la posición toIndex de esa columna.\n *\n * @template {{id: string, columnId: string}} Card las tarjetas del proyecto, con lo que traigan (título, etiquetas…)\n * @param {Card[]} cards\n * @param {{cardId: string, toColumnId: string, toIndex: number}} move\n * @returns {Card[]} un arreglo nuevo (el de entrada no se toca), con las mismas tarjetas\n */\nexport function moveCard(cards, {cardId, toColumnId, toIndex}) {\n const card = cards.find((candidate) => candidate.id === cardId);\n if (!card) {\n return cards;\n }\n const others = cards.filter((candidate) => candidate.id !== cardId);\n const movedCard = {...card, columnId: toColumnId};\n // va antes de la que hoy ocupa ese lugar en la columna; si no hay, después de la última de la columna\n const cardAtPlace = cardsOfColumn(others, toColumnId)[toIndex];\n let insertAt;\n if (cardAtPlace) {\n insertAt = others.indexOf(cardAtPlace);\n } else {\n const lastOfColumn = others.map((candidate) => candidate.columnId).lastIndexOf(toColumnId);\n insertAt = lastOfColumn === -1 ? others.length : lastOfColumn + 1;\n }\n return [...others.slice(0, insertAt), movedCard, ...others.slice(insertAt)];\n}\n\n/**\n * ¿La columna pasó su tope de tarjetas (el límite de trabajo en curso)? Sin tope, nunca.\n *\n * @param {{limit?: number}} column\n * @param {number} cardCount\n * @returns {boolean}\n */\nexport function isOverLimit(column, cardCount) {\n return Number.isInteger(column.limit) && cardCount > column.limit;\n}\n"],"names":[],"mappings":"AAcO,SAAS,cAAc,OAAO,UAAU;AAC3C,SAAO,MAAM,OAAO,CAAC,SAAS,KAAK,aAAa,QAAQ;AAC5D;AAUO,SAAS,SAAS,OAAO,EAAC,QAAQ,YAAY,QAAO,GAAG;AAC3D,QAAM,OAAO,MAAM,KAAK,CAAC,cAAc,UAAU,OAAO,MAAM;AAC9D,MAAI,CAAC,MAAM;AACP,WAAO;AAAA,EACX;AACA,QAAM,SAAS,MAAM,OAAO,CAAC,cAAc,UAAU,OAAO,MAAM;AAClE,QAAM,YAAY,EAAC,GAAG,MAAM,UAAU,WAAU;AAEhD,QAAM,cAAc,cAAc,QAAQ,UAAU,EAAE,OAAO;AAC7D,MAAI;AACJ,MAAI,aAAa;AACb,eAAW,OAAO,QAAQ,WAAW;AAAA,EACzC,OAAO;AACH,UAAM,eAAe,OAAO,IAAI,CAAC,cAAc,UAAU,QAAQ,EAAE,YAAY,UAAU;AACzF,eAAW,iBAAiB,KAAK,OAAO,SAAS,eAAe;AAAA,EACpE;AACA,SAAO,CAAC,GAAG,OAAO,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,OAAO,MAAM,QAAQ,CAAC;AAC9E;AASO,SAAS,YAAY,QAAQ,WAAW;AAC3C,SAAO,OAAO,UAAU,OAAO,KAAK,KAAK,YAAY,OAAO;AAChE;"}
|
package/dist/kanban.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { default as default2 } from "./kanban/KanbanBoard.js";
|
|
2
|
+
import { cardsOfColumn, isOverLimit, moveCard } from "./kanban/kanbanMoves.js";
|
|
3
|
+
export {
|
|
4
|
+
default2 as KanbanBoard,
|
|
5
|
+
cardsOfColumn,
|
|
6
|
+
isOverLimit,
|
|
7
|
+
moveCard
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=kanban.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kanban.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
const CSRF_TOKEN_MISMATCH_STATUS = 419;
|
|
2
|
+
function createCsrfRetryHandler({ refreshCsrfToken, repeatRequest, onRetry }) {
|
|
3
|
+
return async function retryAfterCsrfRefresh(error) {
|
|
4
|
+
const { config, response } = error ?? {};
|
|
5
|
+
if (response?.status !== CSRF_TOKEN_MISMATCH_STATUS || !config || config.retriedAfterCsrfRefresh) {
|
|
6
|
+
return null;
|
|
7
|
+
}
|
|
8
|
+
config.retriedAfterCsrfRefresh = true;
|
|
9
|
+
onRetry?.(config);
|
|
10
|
+
await refreshCsrfToken();
|
|
11
|
+
return repeatRequest(config);
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
export {
|
|
15
|
+
CSRF_TOKEN_MISMATCH_STATUS,
|
|
16
|
+
createCsrfRetryHandler
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=csrfRetry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"csrfRetry.js","sources":["../../src/laravel/csrfRetry.js"],"sourcesContent":["// 419 de Laravel (la cookie XSRF-TOKEN venció, p. ej. la sesión del servidor expiró con la pantalla abierta): se pide\n// una cookie nueva y se repite la MISMA petición UNA sola vez.\n//\n// Vive aparte de api.js para probarlo con node --test (csrfRetry.test.js) sin navegador. api.js lo engancha en el\n// interceptor de respuesta del cliente único.\n//\n// OJO: la bandera va en el config de axios de ESA petición. Si la repetición vuelve a responder 419, la bandera ya\n// está puesta y el error sigue su camino: sin ella, un servidor que siempre responde 419 sería un ciclo infinito.\n// El 419 no gasta intentos del límite de login: la revisión CSRF corre antes que throttle:login.\n//\n// Función pura, no renderiza: function (regla de la casa). Solo importa lo que recibe.\n\nexport const CSRF_TOKEN_MISMATCH_STATUS = 419;\n\n/**\n * Arma el manejador del 419 para el interceptor de respuesta.\n *\n * @param {object} dependencies\n * @param {() => Promise<unknown>} dependencies.refreshCsrfToken GET auth/csrf-token (deja la cookie nueva)\n * @param {(config: any) => Promise<any>} dependencies.repeatRequest vuelve a mandar la petición con el mismo\n * cliente\n * @param {(config: any) => void} [dependencies.onRetry] para el log (sin datos personales)\n * @returns {(error: {config?: object, response?: {status: number}}) => Promise<object|null>} la respuesta de la repetición, o null si no aplica\n */\nexport function createCsrfRetryHandler({refreshCsrfToken, repeatRequest, onRetry}) {\n return async function retryAfterCsrfRefresh(error) {\n const {config, response} = error ?? {};\n\n // guard clause: no es un 419, no hay config que repetir, o ya se repitió una vez\n if (response?.status !== CSRF_TOKEN_MISMATCH_STATUS || !config || config.retriedAfterCsrfRefresh) {\n return null;\n }\n\n config.retriedAfterCsrfRefresh = true;\n onRetry?.(config);\n await refreshCsrfToken();\n return repeatRequest(config);\n };\n}\n"],"names":[],"mappings":"AAYY,MAAC,6BAA6B;AAYnC,SAAS,uBAAuB,EAAC,kBAAkB,eAAe,QAAO,GAAG;AAC/E,SAAO,eAAe,sBAAsB,OAAO;AAC/C,UAAM,EAAC,QAAQ,SAAQ,IAAI,SAAS,CAAA;AAGpC,QAAI,UAAU,WAAW,8BAA8B,CAAC,UAAU,OAAO,yBAAyB;AAC9F,aAAO;AAAA,IACX;AAEA,WAAO,0BAA0B;AACjC,cAAU,MAAM;AAChB,UAAM,iBAAgB;AACtB,WAAO,cAAc,MAAM;AAAA,EAC/B;AACJ;"}
|
package/dist/laravel.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"laravel.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useRef, useEffect } from "react";
|
|
3
|
+
import { useToolkitNavigation } from "./toolkit/toolkitContext.js";
|
|
4
|
+
import { safeInternalPath } from "./navigation.js";
|
|
5
|
+
const STORAGE_KEY_PREFIX = "calcita:lastListUrl:";
|
|
6
|
+
function rememberListUrl(listKey, listUrl) {
|
|
7
|
+
const safeListUrl = safeInternalPath(listUrl);
|
|
8
|
+
if (!safeListUrl) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
try {
|
|
12
|
+
window.sessionStorage?.setItem(`${STORAGE_KEY_PREFIX}${listKey}`, safeListUrl);
|
|
13
|
+
} catch {
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
function recallListUrl(listKey) {
|
|
17
|
+
try {
|
|
18
|
+
return safeInternalPath(window.sessionStorage?.getItem(`${STORAGE_KEY_PREFIX}${listKey}`));
|
|
19
|
+
} catch {
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
function useRememberListUrl(listKey) {
|
|
24
|
+
const { useLocation } = useToolkitNavigation();
|
|
25
|
+
const { pathname, search } = useLocation();
|
|
26
|
+
const currentListUrl = useRef(`${pathname}${search}`);
|
|
27
|
+
currentListUrl.current = `${pathname}${search}`;
|
|
28
|
+
useEffect(() => () => rememberListUrl(listKey, currentListUrl.current), [listKey]);
|
|
29
|
+
}
|
|
30
|
+
export {
|
|
31
|
+
recallListUrl,
|
|
32
|
+
rememberListUrl,
|
|
33
|
+
useRememberListUrl
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=lastListUrl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lastListUrl.js","sources":["../src/lastListUrl.js"],"sourcesContent":["// La última URL de una lista (con sus filtros, orden, pestaña y página), para que el detalle sepa a dónde regresar.\n//\n// BackButton usa navigate(-1) cuando hay historial. Esto es el RESPALDO para cuando no lo hay: el detalle se abrió en\n// una pestaña nueva, se recargó, o se llegó después de iniciar sesión. Se guarda al SALIR de la lista (desmontar).\n//\n// Por qué sessionStorage y no localStorage: es de esta pestaña y se borra al cerrarla. La URL de una lista no trae\n// datos personales, pero no tiene por qué sobrevivir en una máquina compartida.\n//\n// Funciones puras y un hook, no renderizan: function (regla de la casa).\nimport {useEffect, useRef} from 'react';\nimport {useToolkitNavigation} from '@/toolkit/toolkitContext.js';\n\nimport {safeInternalPath} from '@/navigation.js';\n\nconst STORAGE_KEY_PREFIX = 'calcita:lastListUrl:';\n\n/**\n * Anota la URL de una lista.\n *\n * @param {string} listKey p. ej. 'upload-control'\n * @param {string} listUrl pathname + search\n */\nexport function rememberListUrl(listKey, listUrl) {\n const safeListUrl = safeInternalPath(listUrl);\n if (!safeListUrl) {\n return;\n }\n try {\n window.sessionStorage?.setItem(`${STORAGE_KEY_PREFIX}${listKey}`, safeListUrl);\n } catch {\n // almacenamiento bloqueado o ventana privada: sin respaldo, BackButton usa fallbackTo\n }\n}\n\n/**\n * La última URL anotada de una lista, ya validada como ruta interna; null si no hay.\n *\n * @param {string} listKey\n * @returns {string|null}\n */\nexport function recallListUrl(listKey) {\n try {\n return safeInternalPath(window.sessionStorage?.getItem(`${STORAGE_KEY_PREFIX}${listKey}`));\n } catch {\n return null;\n }\n}\n\n/**\n * Se monta en la página de la lista: al salir de ella guarda la URL con la que se estaba viendo.\n *\n * @param {string} listKey\n */\nexport function useRememberListUrl(listKey) {\n const {useLocation} = useToolkitNavigation();\n const {pathname, search} = useLocation();\n const currentListUrl = useRef(`${pathname}${search}`);\n currentListUrl.current = `${pathname}${search}`;\n\n useEffect(() => () => rememberListUrl(listKey, currentListUrl.current), [listKey]);\n}\n"],"names":[],"mappings":";;;;AAcA,MAAM,qBAAqB;AAQpB,SAAS,gBAAgB,SAAS,SAAS;AAC9C,QAAM,cAAc,iBAAiB,OAAO;AAC5C,MAAI,CAAC,aAAa;AACd;AAAA,EACJ;AACA,MAAI;AACA,WAAO,gBAAgB,QAAQ,GAAG,kBAAkB,GAAG,OAAO,IAAI,WAAW;AAAA,EACjF,QAAQ;AAAA,EAER;AACJ;AAQO,SAAS,cAAc,SAAS;AACnC,MAAI;AACA,WAAO,iBAAiB,OAAO,gBAAgB,QAAQ,GAAG,kBAAkB,GAAG,OAAO,EAAE,CAAC;AAAA,EAC7F,QAAQ;AACJ,WAAO;AAAA,EACX;AACJ;AAOO,SAAS,mBAAmB,SAAS;AACxC,QAAM,EAAC,YAAW,IAAI,qBAAoB;AAC1C,QAAM,EAAC,UAAU,OAAM,IAAI,YAAW;AACtC,QAAM,iBAAiB,OAAO,GAAG,QAAQ,GAAG,MAAM,EAAE;AACpD,iBAAe,UAAU,GAAG,QAAQ,GAAG,MAAM;AAE7C,YAAU,MAAM,MAAM,gBAAgB,SAAS,eAAe,OAAO,GAAG,CAAC,OAAO,CAAC;AACrF;"}
|