@stackcraftmx/calcita 0.0.0-stage → 0.25.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 +700 -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 +128 -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 +83 -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 +107 -0
- package/cli/templates/project/src/app/AppShell.jsx.tpl +87 -0
- package/cli/templates/project/src/app/appRouter.jsx.tpl +51 -0
- package/cli/templates/project/src/app/appSettings.js.tpl +27 -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 +14 -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 +9 -0
- package/cli/templates/project/src/core/publicPaths.js.tpl +24 -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 +53 -0
- package/dist/DataTable/AuditTrailDialog.js +40 -0
- package/dist/DataTable/AuditTrailDialog.js.map +1 -0
- package/dist/DataTable/AuditTrailTable.js +89 -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 +51 -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 +63 -0
- package/dist/DataTable/GoToPage.js.map +1 -0
- package/dist/DataTable/ServerTable.js +477 -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/rowSelection.js +61 -0
- package/dist/DataTable/rowSelection.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 +84 -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 +27 -0
- package/dist/account/ForgotPasswordScreen.js.map +1 -0
- package/dist/account/ProfileScreen.js +134 -0
- package/dist/account/ProfileScreen.js.map +1 -0
- package/dist/account/ResetPasswordScreen.js +58 -0
- package/dist/account/ResetPasswordScreen.js.map +1 -0
- package/dist/account/SignInScreen.js +102 -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 +118 -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 +49 -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 +256 -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 +513 -0
- package/dist/appShell/AppLayout.js.map +1 -0
- package/dist/appShell/AppearanceSettings.js +116 -0
- package/dist/appShell/AppearanceSettings.js.map +1 -0
- package/dist/appShell/AuthLayout.js +46 -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 +105 -0
- package/dist/appShell/BarActions.js.map +1 -0
- package/dist/appShell/BarCapsule.js +50 -0
- package/dist/appShell/BarCapsule.js.map +1 -0
- package/dist/appShell/BarSearch.js +92 -0
- package/dist/appShell/BarSearch.js.map +1 -0
- package/dist/appShell/HeaderTools.js +53 -0
- package/dist/appShell/HeaderTools.js.map +1 -0
- package/dist/appShell/MobileTabBar.js +348 -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 +40 -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 +149 -0
- package/dist/calendar/EventCalendar.js.map +1 -0
- package/dist/calendar/EventDetails.js +74 -0
- package/dist/calendar/EventDetails.js.map +1 -0
- package/dist/calendar/calendarEvents.js +31 -0
- package/dist/calendar/calendarEvents.js.map +1 -0
- package/dist/calendar.js +13 -0
- package/dist/calendar.js.map +1 -0
- package/dist/charts.js +16 -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 +76 -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 +195 -0
- package/dist/downloads/DownloadManager.js.map +1 -0
- package/dist/downloads/downloadQueue.js +56 -0
- package/dist/downloads/downloadQueue.js.map +1 -0
- package/dist/downloads/downloadsMachine.js +80 -0
- package/dist/downloads/downloadsMachine.js.map +1 -0
- package/dist/downloads/fileTypes.js +22 -0
- package/dist/downloads/fileTypes.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 +73 -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 +256 -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 +205 -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 +63 -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 +47 -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 +338 -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/FormWizard.js +59 -0
- package/dist/hookForm/FormWizard.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 +104 -0
- package/dist/inbox/InboxLayout.js.map +1 -0
- package/dist/inbox/MessageList.js +114 -0
- package/dist/inbox/MessageList.js.map +1 -0
- package/dist/inbox/MessageView.js +104 -0
- package/dist/inbox/MessageView.js.map +1 -0
- package/dist/inbox/inboxDates.js +9 -0
- package/dist/inbox/inboxDates.js.map +1 -0
- package/dist/index.js +407 -0
- package/dist/index.js.map +1 -0
- package/dist/inputs/CatalogInput.js +66 -0
- package/dist/inputs/CatalogInput.js.map +1 -0
- package/dist/inputs/ColorInput.js +109 -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 +70 -0
- package/dist/inputs/NumberInput.js.map +1 -0
- package/dist/inputs/SelectInput.js +84 -0
- package/dist/inputs/SelectInput.js.map +1 -0
- package/dist/inputs/TextInput.js +101 -0
- package/dist/inputs/TextInput.js.map +1 -0
- package/dist/inputs/WizardLayout.js +54 -0
- package/dist/inputs/WizardLayout.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 +338 -0
- package/dist/kanban/KanbanBoard.js.map +1 -0
- package/dist/kanban/kanbanCards.js +19 -0
- package/dist/kanban/kanbanCards.js.map +1 -0
- package/dist/kanban/kanbanMoves.js +29 -0
- package/dist/kanban/kanbanMoves.js.map +1 -0
- package/dist/kanban.js +15 -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 +787 -0
- package/dist/locales/en.js.map +1 -0
- package/dist/locales/es.js +787 -0
- package/dist/locales/es.js.map +1 -0
- package/dist/maps/MapView.js +116 -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 +77 -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 +34 -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 +70 -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 +71 -0
- package/dist/pwa/useInstallPrompt.js.map +1 -0
- package/dist/react-hook-form.js +32 -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 +80 -0
- package/dist/security/ActivityLog.js.map +1 -0
- package/dist/security/RecoveryCodesDialog.js +85 -0
- package/dist/security/RecoveryCodesDialog.js.map +1 -0
- package/dist/security/SessionsCard.js +83 -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 +37 -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/MuiDialog.js +13 -0
- package/dist/theme/components/MuiDialog.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 +28 -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/ComponentTexts.js +13 -0
- package/dist/toolkit/ComponentTexts.js.map +1 -0
- package/dist/toolkit/ToolkitProvider.js +57 -0
- package/dist/toolkit/ToolkitProvider.js.map +1 -0
- package/dist/toolkit/browserNavigation.js +33 -0
- package/dist/toolkit/browserNavigation.js.map +1 -0
- package/dist/toolkit/componentTextsContext.js +15 -0
- package/dist/toolkit/componentTextsContext.js.map +1 -0
- package/dist/toolkit/hashNavigation.js +40 -0
- package/dist/toolkit/hashNavigation.js.map +1 -0
- package/dist/toolkit/navigationPaths.js +49 -0
- package/dist/toolkit/navigationPaths.js.map +1 -0
- package/dist/toolkit/toolkitContext.js +19 -0
- package/dist/toolkit/toolkitContext.js.map +1 -0
- package/dist/toolkit/toolkitSettings.js +107 -0
- package/dist/toolkit/toolkitSettings.js.map +1 -0
- package/dist/toolkit/useFormatters.js +12 -0
- package/dist/toolkit/useFormatters.js.map +1 -0
- package/dist/toolkit/useToolkitTranslation.js +22 -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 +30 -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 +13 -0
- package/dist/types/DataTable/FilterChips.d.ts +17 -0
- package/dist/types/DataTable/GoToPage.d.ts +13 -0
- package/dist/types/DataTable/SelectionBar.d.ts +32 -0
- package/dist/types/DataTable/ServerTable.d.ts +171 -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/rowSelection.d.ts +113 -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 +23 -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 +9 -0
- package/dist/types/account/DemoTotpCodeButton.d.ts +6 -0
- package/dist/types/account/ForgotPasswordScreen.d.ts +17 -0
- package/dist/types/account/ProfileScreen.d.ts +43 -0
- package/dist/types/account/ResetPasswordScreen.d.ts +21 -0
- package/dist/types/account/SignInScreen.d.ts +27 -0
- package/dist/types/account/accountConnector.d.ts +268 -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 +42 -0
- package/dist/types/api/ApiError.d.ts +42 -0
- package/dist/types/api/createApiClient.d.ts +174 -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 +76 -0
- package/dist/types/appShell/AppearanceSettings.d.ts +41 -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 +23 -0
- package/dist/types/appShell/BarCapsule.d.ts +20 -0
- package/dist/types/appShell/BarSearch.d.ts +24 -0
- package/dist/types/appShell/HeaderTools.d.ts +27 -0
- package/dist/types/appShell/MobileTabBar.d.ts +20 -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 +46 -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 +13 -0
- package/dist/types/auth/passwordRules.d.ts +34 -0
- package/dist/types/calendar/EventCalendar.d.ts +63 -0
- package/dist/types/calendar/EventDetails.d.ts +36 -0
- package/dist/types/calendar/calendarEvents.d.ts +27 -0
- package/dist/types/calendar.d.ts +3 -0
- package/dist/types/charts.d.ts +6 -0
- package/dist/types/date-pickers.d.ts +2 -0
- package/dist/types/datePickers/DateInput.d.ts +41 -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 +7 -0
- package/dist/types/downloads/downloadQueue.d.ts +50 -0
- package/dist/types/downloads/downloadsMachine.d.ts +10 -0
- package/dist/types/downloads/fileTypes.d.ts +39 -0
- package/dist/types/downloads/index.d.ts +4 -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 +31 -0
- package/dist/types/feedback/ModalWaiting.d.ts +13 -0
- package/dist/types/feedback/NewBuildNotice.d.ts +20 -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 +61 -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 +61 -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 +22 -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 +17 -0
- package/dist/types/forms/auth/ForgotPasswordForm.d.ts +14 -0
- package/dist/types/forms/auth/SignInForm.d.ts +20 -0
- package/dist/types/forms/index.d.ts +19 -0
- package/dist/types/forms/security/SecondStepForm.d.ts +30 -0
- package/dist/types/forms/security/TwoStepVerificationCard.d.ts +83 -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/FormWizard.d.ts +22 -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 +38 -0
- package/dist/types/inbox/MessageList.d.ts +52 -0
- package/dist/types/inbox/MessageView.d.ts +55 -0
- package/dist/types/inbox/inboxDates.d.ts +11 -0
- package/dist/types/index.d.ts +91 -0
- package/dist/types/inputs/CatalogInput.d.ts +45 -0
- package/dist/types/inputs/ColorInput.d.ts +30 -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 +38 -0
- package/dist/types/inputs/SelectInput.d.ts +38 -0
- package/dist/types/inputs/TextInput.d.ts +62 -0
- package/dist/types/inputs/WizardLayout.d.ts +34 -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 +88 -0
- package/dist/types/kanban/kanbanCards.d.ts +22 -0
- package/dist/types/kanban/kanbanMoves.d.ts +38 -0
- package/dist/types/kanban.d.ts +3 -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 +788 -0
- package/dist/types/locales/es.d.ts +788 -0
- package/dist/types/maps/MapView.d.ts +41 -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 +18 -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 +7 -0
- package/dist/types/pwa/InstallInstructionsDialog.d.ts +20 -0
- package/dist/types/pwa/InstallPromptBanner.d.ts +16 -0
- package/dist/types/pwa/installInstructions.d.ts +52 -0
- package/dist/types/pwa/useInstallPrompt.d.ts +13 -0
- package/dist/types/react-hook-form.d.ts +12 -0
- package/dist/types/react-router.d.ts +2 -0
- package/dist/types/security/ActivityLog.d.ts +33 -0
- package/dist/types/security/RecoveryCodesDialog.d.ts +16 -0
- package/dist/types/security/SessionsCard.d.ts +24 -0
- package/dist/types/security/passkeys.d.ts +18 -0
- package/dist/types/table.d.ts +3 -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/MuiDialog.d.ts +9 -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/ComponentTexts.d.ts +11 -0
- package/dist/types/toolkit/ToolkitProvider.d.ts +47 -0
- package/dist/types/toolkit/browserNavigation.d.ts +27 -0
- package/dist/types/toolkit/componentTextsContext.d.ts +20 -0
- package/dist/types/toolkit/hashNavigation.d.ts +12 -0
- package/dist/types/toolkit/navigationPaths.d.ts +43 -0
- package/dist/types/toolkit/toolkitContext.d.ts +28 -0
- package/dist/types/toolkit/toolkitSettings.d.ts +113 -0
- package/dist/types/toolkit/useFormatters.d.ts +6 -0
- package/dist/types/toolkit/useToolkitTranslation.d.ts +11 -0
- package/dist/types/ui/actions/ActionsMenu.d.ts +20 -0
- package/dist/types/ui/actions/CopyButton.d.ts +15 -0
- package/dist/types/ui/actions/DownloadMenu.d.ts +55 -0
- package/dist/types/ui/actions/SecretField.d.ts +17 -0
- package/dist/types/ui/actions/SelectionActions.d.ts +39 -0
- package/dist/types/ui/filters/DateRangeFilter.d.ts +18 -0
- package/dist/types/ui/filters/PeriodRangeSelector.d.ts +28 -0
- package/dist/types/ui/filters/QuickFilters.d.ts +23 -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/labels/tagOf.d.ts +13 -0
- package/dist/types/ui/layout/CollapsibleSection.d.ts +18 -0
- package/dist/types/ui/layout/ContentDialog.d.ts +15 -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 +35 -0
- package/dist/types/ui/layout/FullPageLoader.d.ts +7 -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 +20 -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 +25 -0
- package/dist/types/ui/metrics/CalendarHeatmap.d.ts +34 -0
- package/dist/types/ui/metrics/ChartTooltip.d.ts +11 -0
- package/dist/types/ui/metrics/ColumnChart.d.ts +47 -0
- package/dist/types/ui/metrics/LineChart.d.ts +41 -0
- package/dist/types/ui/metrics/MetricCard.d.ts +39 -0
- package/dist/types/ui/metrics/TableToggle.d.ts +14 -0
- package/dist/types/ui/metrics/barListLabels.d.ts +17 -0
- package/dist/types/ui/metrics/chartParts.d.ts +112 -0
- package/dist/types/ui/metrics/heatmapScale.d.ts +45 -0
- package/dist/types/ui/navigation/BackButton.d.ts +13 -0
- package/dist/types/ui/navigation/ColorSchemeToggle.d.ts +13 -0
- package/dist/types/ui/navigation/DocumentTitle.d.ts +6 -0
- package/dist/types/ui/navigation/FontSizeToggle.d.ts +11 -0
- package/dist/types/ui/navigation/LanguageToggle.d.ts +13 -0
- package/dist/types/ui/navigation/PageBreadcrumbs.d.ts +12 -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 +41 -0
- package/dist/types/ui/timeline/timelineDot.d.ts +19 -0
- package/dist/types/upload/FileDropzone.d.ts +36 -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/ActionsMenu.js +51 -0
- package/dist/ui/actions/ActionsMenu.js.map +1 -0
- package/dist/ui/actions/CopyButton.js +28 -0
- package/dist/ui/actions/CopyButton.js.map +1 -0
- package/dist/ui/actions/DownloadMenu.js +162 -0
- package/dist/ui/actions/DownloadMenu.js.map +1 -0
- package/dist/ui/actions/SecretField.js +61 -0
- package/dist/ui/actions/SecretField.js.map +1 -0
- package/dist/ui/actions/SelectionActions.js +142 -0
- package/dist/ui/actions/SelectionActions.js.map +1 -0
- package/dist/ui/filters/DateRangeFilter.js +87 -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/labels/tagOf.js +7 -0
- package/dist/ui/labels/tagOf.js.map +1 -0
- package/dist/ui/layout/CollapsibleSection.js +52 -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 +54 -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 +94 -0
- package/dist/ui/metrics/BarList.js.map +1 -0
- package/dist/ui/metrics/CalendarHeatmap.js +136 -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 +106 -0
- package/dist/ui/metrics/ColumnChart.js.map +1 -0
- package/dist/ui/metrics/LineChart.js +117 -0
- package/dist/ui/metrics/LineChart.js.map +1 -0
- package/dist/ui/metrics/MetricCard.js +97 -0
- package/dist/ui/metrics/MetricCard.js.map +1 -0
- package/dist/ui/metrics/TableToggle.js +15 -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/chartParts.js +93 -0
- package/dist/ui/metrics/chartParts.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 +40 -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 +41 -0
- package/dist/ui/navigation/FontSizeToggle.js.map +1 -0
- package/dist/ui/navigation/LanguageToggle.js +48 -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 +106 -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 +145 -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 +311 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"es.js","sources":["../../src/locales/es.js"],"sourcesContent":["// Textos del paquete en español (el idioma por omisión). Cada proyecto puede cambiar cualquiera con `texts` o `translate`\n// de ToolkitProvider, con la misma forma: namespace, llaves anidadas, {{variable}} y plurales _one / _other.\nexport default Object.freeze({\n \"table\": {\n \"search\": {\n \"placeholder\": \"Buscar dentro de estos resultados…\"\n },\n \"count\": {\n \"records_one\": \"{{total}} registro\",\n \"records_other\": \"{{total}} registros\",\n \"capped\": \"más de {{total}} registros\",\n \"cappedTag\": \"total aproximado\",\n \"cappedTooltip\": \"Hay al menos estos registros y puede haber más: agregue un filtro para verlos todos.\"\n },\n \"empty\": {\n \"default\": \"Sin registros\",\n \"filtered\": \"Ningún registro cumple con los filtros aplicados.\",\n \"clearFilters\": \"Quitar los filtros\"\n },\n \"chips\": {\n \"applied_one\": \"{{count}} filtro aplicado\",\n \"applied_other\": \"{{count}} filtros aplicados\",\n \"clearAll\": \"Limpiar todo\"\n },\n \"columnFilter\": {\n \"tooltip\": \"Filtrar (se aplica a todos los registros, no solo a esta página)\",\n \"activeTooltip_one\": \"{{count}} filtro en esta columna\",\n \"activeTooltip_other\": \"{{count}} filtros en esta columna\",\n \"clear\": \"Limpiar esta columna\",\n \"contains\": \"Contiene\"\n },\n \"options\": {\n \"searchPlaceholder\": \"Buscar opción…\",\n \"empty\": \"Sin valores en este resultado\",\n \"noMatch\": \"Ninguna opción coincide con “{{text}}”\"\n },\n \"sort\": {\n \"tooltip\": \"Ordenar por esta columna\",\n \"ascending\": \"orden ascendente\",\n \"descending\": \"orden descendente\",\n \"clear\": \"Quitar el orden\"\n },\n \"selection\": {\n \"count_one\": \"{{total}} elegido\",\n \"count_other\": \"{{total}} elegidos\",\n \"allMatching\": \"Los {{total}} que coinciden están elegidos\",\n \"allMatchingCapped\": \"Todos los que coinciden están elegidos\",\n \"pageSelected_one\": \"Se eligió el único renglón de esta página.\",\n \"pageSelected_other\": \"Se eligieron los {{count}} de esta página.\",\n \"selectAllMatching\": \"Elegir los {{total}} que coinciden\",\n \"selectAllMatchingCapped\": \"Elegir todos los que coinciden\",\n \"onlyThisPage\": \"Elegir solo esta página\",\n \"clear\": \"Quitar selección\",\n \"summaryLabel\": \"Lo elegido\",\n \"actionsLabel\": \"Acciones de los elegidos\"\n },\n \"goToPage\": {\n \"page\": \"Página\",\n \"of_one\": \"de {{total}}\",\n \"of_other\": \"de {{total}}\",\n \"ariaLabel\": \"Ir a la página\"\n },\n \"quickFilters\": {\n \"all\": \"Todos\",\n \"countAriaLabel\": \"{{count}} registros\"\n },\n \"detail\": {\n \"tooltip\": \"Ver detalle\",\n \"ariaLabel\": \"Ver el detalle de este registro\"\n },\n \"error\": {\n \"generic\": \"No pudimos consultar la tabla.\"\n },\n \"dateRange\": {\n \"label\": \"Personalizado\",\n \"title\": \"Rango de fechas\",\n \"from\": \"Desde\",\n \"to\": \"Hasta\",\n \"fromHelp\": \"Desde el inicio de ese día\",\n \"toHelp\": \"Hasta el final de ese día\",\n \"invalid\": \"«Hasta» no puede ser antes de «Desde»\",\n \"summary\": \"{{from}} – {{to}}\",\n \"today\": \"hoy\",\n \"clear\": \"Quitar\",\n \"apply\": \"Aplicar\"\n },\n \"audit\": {\n \"columns\": {\n \"occurredAt\": \"Fecha y hora\",\n \"event\": \"Qué pasó\",\n \"result\": \"Resultado\",\n \"actor\": \"Quién\"\n },\n \"systemActor\": \"Proceso automático\",\n \"eventFilterCaption\": \"Filtrar por evento\",\n \"count_one\": \"{{count}} evento\",\n \"count_other\": \"{{count}} eventos\",\n \"empty\": \"Todavía no hay eventos registrados.\"\n }\n },\n \"common\": {\n \"actions\": {\n \"cancel\": \"Cancelar\",\n \"confirm\": \"Confirmar\",\n \"retry\": \"Intentar de nuevo\",\n \"download\": \"Descargar\",\n \"close\": \"Cerrar\",\n \"back\": \"Regresar\",\n \"reload\": \"Recargar la página\"\n },\n \"status\": {\n \"loading\": \"Cargando…\",\n \"noData\": \"Sin datos\"\n },\n \"form\": {\n \"showPassword\": \"Mostrar contraseña\",\n \"hidePassword\": \"Ocultar contraseña\",\n \"clear\": \"Borrar el texto\",\n \"selectPlaceholder\": \"Elija una opción\",\n \"copy\": \"Copiar\",\n \"copied\": \"Copiado\",\n \"noOptions\": \"Ninguna opción coincide\",\n \"loadingOptions\": \"Cargando opciones…\",\n \"pickColor\": \"Elegir el color\",\n \"colorContrast\": \"Contraste sobre blanco: {{ratio}}:1\",\n \"colorLowContrast\": \"Con ese color el texto casi no se leería sobre blanco. {{suggestion}} es el mismo tono, más oscuro.\",\n \"colorUseSuggestion\": \"Usar {{color}}\"\n },\n \"selection\": {\n \"clear\": \"Quitar selección\",\n \"actionsLabel\": \"Acciones de los elegidos\",\n \"summaryLabel\": \"Lo elegido\"\n },\n \"wizard\": {\n \"next\": \"Siguiente\",\n \"back\": \"Anterior\",\n \"skip\": \"Omitir este paso\",\n \"optional\": \"Opcional\",\n \"skipped\": \"Omitido\",\n \"stepOf\": \"Paso {{current}} de {{total}}\"\n },\n \"language\": {\n \"switchTo\": {\n \"es\": \"Cambiar a español\",\n \"en\": \"Cambiar a inglés\"\n },\n \"switchToNamed\": \"Cambiar a {{name}}\",\n \"choose\": \"Idioma: {{name}}. Elegir otro\"\n },\n \"colorScheme\": {\n \"label\": \"Claro u oscuro\",\n \"switchTo\": {\n \"light\": \"Cambiar a modo claro\",\n \"dark\": \"Cambiar a modo oscuro\"\n }\n },\n \"toast\": {\n \"done\": \"Listo\",\n \"error\": \"Ocurrió un error\",\n \"warning\": \"Atención\",\n \"info\": \"Aviso\",\n \"working\": \"Procesando…\"\n },\n \"waiting\": {\n \"title\": \"Un momento\",\n \"text\": \"Estamos procesando su solicitud. No cierre esta ventana.\"\n },\n \"newBuild\": {\n \"message\": \"Hay una versión nueva del sistema. Recargue la página para usarla.\",\n \"short\": \"Versión nueva disponible\",\n \"reload\": \"Recargar\"\n },\n \"install\": {\n \"banner\": \"Instale esta aplicación en su equipo para abrirla más rápido\",\n \"action\": \"Instalar\",\n \"howTo\": \"Cómo instalar\",\n \"dismiss\": \"Ahora no\",\n \"gotIt\": \"Entendido\",\n \"menuLabel\": \"Instalar la app\",\n \"iosModern\": {\n \"title\": \"Instalar en su iPhone o iPad\",\n \"step1\": \"Toque ⋯ (los tres puntos) junto a la barra de direcciones.\",\n \"step2\": \"Toque «Compartir».\",\n \"step3\": \"Toque «Agregar a inicio».\",\n \"step4\": \"Deje activado «Abrir como app web» y toque «Agregar».\"\n },\n \"iosClassic\": {\n \"title\": \"Instalar en su iPhone\",\n \"step1\": \"Toque el botón Compartir (el cuadro con una flecha hacia arriba).\",\n \"step2\": \"Toque «Agregar a inicio».\",\n \"step3\": \"Toque «Agregar».\"\n },\n \"androidFirefox\": {\n \"title\": \"Instalar en Firefox\",\n \"step1\": \"Toque el menú ⋮.\",\n \"step2\": \"Toque «Instalar» o «Agregar a pantalla de inicio».\",\n \"step3\": \"Confirme.\"\n }\n },\n \"upload\": {\n \"hint\": \"Arrastre aquí su archivo\",\n \"hintMultiple\": \"Arrastre aquí sus archivos\",\n \"choose\": \"Elegir archivo\",\n \"chooseMultiple\": \"Elegir archivos\",\n \"remove\": \"Quitar {{name}}\",\n \"invalidTitle\": \"Archivo no permitido\",\n \"invalidType\": \"«{{name}}» no es de un tipo permitido. Se aceptan: {{accept}}.\",\n \"tooLarge\": \"«{{name}}» pesa más de {{max}}.\",\n \"tooLargeShort\": \"Pesa más de lo permitido\",\n \"totalTooLargeShort\": \"Entre todos pesan más de lo permitido\",\n \"tooManyFiles_one\": \"Se puede subir {{count}} archivo como máximo.\",\n \"tooManyFiles_other\": \"Se pueden subir {{count}} archivos como máximo.\",\n \"maxSizeHint\": \"Hasta {{max}} por archivo\",\n \"maxTotalSizeHint\": \"Hasta {{max}} entre todos\",\n \"maxFilesHint_one\": \"Hasta {{count}} archivo\",\n \"maxFilesHint_other\": \"Hasta {{count}} archivos\",\n \"summary_one\": \"{{count}} archivo · {{total}}\",\n \"summary_other\": \"{{count}} archivos · {{total}}\",\n \"summaryOf_one\": \"{{count}} archivo · {{total}} de {{max}}\",\n \"summaryOf_other\": \"{{count}} archivos · {{total}} de {{max}}\",\n \"pond\": {\n \"loading\": \"Cargando\",\n \"loadError\": \"No se pudo cargar\",\n \"waitingForSize\": \"Calculando el peso\",\n \"sizeNotAvailable\": \"Peso no disponible\",\n \"invalidField\": \"Hay archivos que no son válidos\",\n \"processing\": \"Subiendo\",\n \"processingComplete\": \"Subido\",\n \"processingAborted\": \"Subida cancelada\",\n \"processingError\": \"No se pudo subir\",\n \"revertError\": \"No se pudo deshacer\",\n \"removeError\": \"No se pudo quitar\",\n \"tapToCancel\": \"toque para cancelar\",\n \"tapToRetry\": \"toque para reintentar\",\n \"tapToUndo\": \"toque para deshacer\",\n \"remove\": \"Quitar\",\n \"abortLoad\": \"Cancelar\",\n \"retryLoad\": \"Reintentar\",\n \"abortProcessing\": \"Cancelar\",\n \"undoProcessing\": \"Deshacer\",\n \"retryProcessing\": \"Reintentar\",\n \"processItem\": \"Subir\"\n }\n },\n \"download\": {\n \"formats\": {\n \"pdf\": {\n \"label\": \"PDF\",\n \"hint\": \"Para leer, imprimir o archivar\"\n },\n \"xlsx\": {\n \"label\": \"Excel\",\n \"hint\": \"Para filtrar y cruzar con otros datos\"\n },\n \"csv\": {\n \"label\": \"CSV\",\n \"hint\": \"Texto plano, para importar a otro sistema\"\n }\n }\n },\n \"downloads\": {\n \"title\": \"Descargas\",\n \"summaryDownloading_one\": \"Descargando {{count}} archivo…\",\n \"summaryDownloading_other\": \"Descargando {{count}} archivos…\",\n \"summaryCompleted_one\": \"{{count}} descarga lista\",\n \"summaryCompleted_other\": \"{{count}} descargas listas\",\n \"summaryFailed_one\": \"{{count}} descarga no se pudo completar\",\n \"summaryFailed_other\": \"{{count}} descargas no se pudieron completar\",\n \"collapse\": \"Minimizar\",\n \"expand\": \"Ver descargas\",\n \"close\": \"Cerrar\",\n \"cancel\": \"Cancelar descarga\",\n \"cancelOf\": \"Cancelar la descarga de {{name}}\",\n \"completedOf\": \"{{name}} descargado\",\n \"failedOf\": \"No se pudo descargar {{name}}\",\n \"canceledOf\": \"Se canceló la descarga de {{name}}\",\n \"preparing\": \"Preparando el archivo…\",\n \"progressOf\": \"{{loaded}} de {{total}}\",\n \"progressLoaded\": \"{{loaded}} descargados\",\n \"failed\": \"No se pudo descargar\",\n \"canceled\": \"Cancelada\"\n },\n \"charts\": {\n \"viewAsTable\": \"Ver como tabla\",\n \"legend\": \"Qué es cada serie\",\n \"viewAsChart\": \"Ver como gráfica\",\n \"less\": \"Menos\",\n \"more\": \"Más\",\n \"day\": \"Día\"\n }\n },\n \"layout\": {\n \"skipToContent\": \"Saltar al contenido\",\n \"barActions\": {\n \"more\": \"Más acciones\"\n },\n \"drawer\": {\n \"open\": \"Abrir el menú\",\n \"ariaLabel\": \"Menú principal\",\n \"expand\": \"Abrir el menú lateral\",\n \"collapse\": \"Encoger el menú lateral\",\n \"more\": \"Más\",\n \"showTabs\": \"Ver las pestañas\",\n \"editTabs\": \"Editar la barra\",\n \"editTabsHint\": \"Elija hasta {{count}} pantallas para la barra de abajo; las demás quedan en «Más».\",\n \"tabInBar\": \"{{label}} en la barra\",\n \"resetTabs\": \"Como venía\",\n \"doneEditing\": \"Listo\",\n \"scrollDown\": \"Ver más del menú\",\n \"scrollUp\": \"Ver lo de arriba del menú\"\n },\n \"account\": {\n \"open\": \"Abrir el menú de su cuenta\",\n \"myProfile\": \"Mi perfil\"\n },\n \"settings\": {\n \"open\": \"Ajustes\",\n \"language\": \"Idioma\",\n \"colorScheme\": \"Claro u oscuro\",\n \"light\": \"Claro\",\n \"dark\": \"Oscuro\",\n \"system\": \"Automático\"\n },\n \"fontSize\": {\n \"label\": \"Tamaño de letra\",\n \"normal\": \"Normal\",\n \"large\": \"Grande\",\n \"xLarge\": \"Muy grande\"\n },\n \"languageName\": {\n \"es\": \"Español\",\n \"en\": \"English\"\n },\n \"breadcrumbs\": \"Dónde está\",\n \"signOut\": \"Salir\",\n \"navigating\": \"Cargando la pantalla\"\n },\n \"auth\": {\n \"signIn\": {\n \"title\": \"Iniciar sesión\",\n \"subtitle\": \"Entre con su correo y su contraseña.\",\n \"email\": \"Correo electrónico\",\n \"password\": \"Contraseña\",\n \"remember\": \"Mantener la sesión abierta en este equipo\",\n \"submit\": \"Entrar\",\n \"forgot\": \"¿Olvidó su contraseña?\"\n },\n \"forgotPassword\": {\n \"title\": \"Recuperar su contraseña\",\n \"subtitle\": \"Escriba el correo con el que entra y le enviaremos un enlace para elegir una contraseña nueva.\",\n \"email\": \"Correo electrónico\",\n \"submit\": \"Enviar el enlace\",\n \"sentTitle\": \"Revise su correo\",\n \"sent\": \"Si {{email}} tiene una cuenta, le llegará un enlace en unos minutos. Si no lo ve, revise el correo no deseado.\",\n \"backToSignIn\": \"Regresar a iniciar sesión\"\n },\n \"changePassword\": {\n \"title\": \"Cambiar contraseña\",\n \"current\": \"Contraseña actual\",\n \"next\": \"Contraseña nueva\",\n \"confirm\": \"Repita la contraseña nueva\",\n \"submit\": \"Cambiar contraseña\",\n \"mismatch\": \"Las dos contraseñas nuevas no son iguales.\",\n \"sameAsCurrent\": \"La contraseña nueva debe ser distinta de la actual.\",\n \"notAccepted\": \"La contraseña nueva no cumple con lo que se pide abajo.\",\n \"done\": \"Su contraseña cambió. La próxima vez entre con la nueva.\"\n },\n \"passwordRules\": {\n \"title\": \"La contraseña nueva debe tener\",\n \"minLength\": \"Al menos {{count}} caracteres\",\n \"lowercase\": \"Una letra minúscula\",\n \"uppercase\": \"Una letra mayúscula\",\n \"number\": \"Un número\",\n \"symbol\": \"Un símbolo, por ejemplo ! ? # -\",\n \"met\": \"ya cumple\",\n \"missing\": \"falta\"\n }\n },\n \"access\": {\n \"permissions\": {\n \"countOf\": \"{{count}} de {{total}}\",\n \"allOf\": \"Todos los permisos de {{group}}\"\n }\n },\n \"metricCard\": {\n \"trend\": {\n \"up\": \"Subió\",\n \"down\": \"Bajó\",\n \"flat\": \"Sin cambio\"\n }\n },\n \"errorPage\": {\n \"goHome\": \"Ir al inicio\",\n \"retry\": \"Intentar de nuevo\",\n \"reload\": \"Recargar\",\n \"newVersion\": {\n \"title\": \"Hay una versión nueva\",\n \"text\": \"Se publicó una actualización mientras tenía la página abierta. Recargue para seguir donde estaba.\"\n },\n \"notFound\": {\n \"title\": \"Esta página no existe\",\n \"text\": \"La dirección no corresponde a ninguna pantalla. Puede que el enlace esté incompleto o que la página ya no exista.\"\n },\n \"forbidden\": {\n \"title\": \"No tiene permiso para ver esta pantalla\",\n \"text\": \"Su usuario no tiene acceso a esta información. Si considera que es un error, comuníquese con el administrador.\"\n },\n \"serverError\": {\n \"title\": \"Algo falló de nuestro lado\",\n \"text\": \"No pudimos mostrar esta pantalla. Inténtelo de nuevo en un momento; si el problema continúa, comuníquese con soporte.\"\n }\n },\n \"problems\": {\n \"offline\": {\n \"title\": \"Sin conexión\",\n \"detail\": \"No pudimos comunicarnos con el servidor. Revise su conexión e inténtelo de nuevo.\"\n },\n \"unauthenticated\": {\n \"title\": \"Necesita iniciar sesión\",\n \"detail\": \"Su sesión no es válida o ya terminó. Inicie sesión de nuevo para continuar.\"\n },\n \"forbidden\": {\n \"title\": \"No tiene permiso para realizar esta acción\",\n \"detail\": \"Su usuario no tiene acceso a esta información u operación. Si considera que es un error, comuníquese con el administrador.\"\n },\n \"notFound\": {\n \"title\": \"No encontramos lo que busca\",\n \"detail\": \"La dirección o el registro que solicitó no existe o ya no está disponible.\"\n },\n \"conflict\": {\n \"title\": \"No se puede realizar en este momento\",\n \"detail\": \"El registro cambió o no está en el estado que se necesita. Actualice la pantalla e inténtelo de nuevo.\"\n },\n \"payloadTooLarge\": {\n \"title\": \"Lo que envió es demasiado grande\",\n \"detail\": \"El archivo o los datos superan el tamaño máximo permitido.\"\n },\n \"csrfTokenMismatch\": {\n \"title\": \"La página necesita actualizarse\",\n \"detail\": \"Pasó demasiado tiempo o la página quedó desactualizada. Recárguela e inténtelo de nuevo.\"\n },\n \"validation\": {\n \"title\": \"Los datos enviados no son válidos\",\n \"detail\": \"Revise los campos marcados e inténtelo de nuevo.\"\n },\n \"tooManyRequests\": {\n \"title\": \"Demasiados intentos seguidos\",\n \"detail\": \"Hizo muchas solicitudes en poco tiempo. Espere un momento e inténtelo de nuevo.\"\n },\n \"serverError\": {\n \"title\": \"No pudimos completar su solicitud\",\n \"detail\": \"Ocurrió un problema en el servidor. Inténtelo en un momento; si el problema continúa, comuníquese con soporte.\"\n },\n \"serviceUnavailable\": {\n \"title\": \"El servicio no está disponible\",\n \"detail\": \"El servidor no está respondiendo en este momento. Inténtelo más tarde.\"\n },\n \"generic\": {\n \"title\": \"No pudimos completar su solicitud\",\n \"detail\": \"Ocurrió un problema con su solicitud. Si continúa, comuníquese con soporte.\"\n },\n \"gone\": {\n \"title\": \"Esto ya no está disponible\",\n \"detail\": \"El enlace o el registro venció o ya se usó.\"\n }\n },\n \"validation\": {\n \"default\": \"El valor no es válido.\",\n \"required\": \"Este campo es obligatorio.\",\n \"notType\": \"El valor no tiene el formato esperado.\",\n \"oneOf\": \"Elija una de las opciones.\",\n \"notOneOf\": \"Ese valor no está permitido.\",\n \"email\": \"Escriba un correo válido, por ejemplo nombre@empresa.com.\",\n \"url\": \"Escriba una dirección web válida.\",\n \"uuid\": \"El identificador no es válido.\",\n \"stringLength_one\": \"Escriba exactamente {{count}} carácter.\",\n \"stringLength_other\": \"Escriba exactamente {{count}} caracteres.\",\n \"stringMin_one\": \"Escriba al menos {{count}} carácter.\",\n \"stringMin_other\": \"Escriba al menos {{count}} caracteres.\",\n \"stringMax_one\": \"Escriba como máximo {{count}} carácter.\",\n \"stringMax_other\": \"Escriba como máximo {{count}} caracteres.\",\n \"matches\": \"El formato no es válido.\",\n \"trim\": \"Quite los espacios al inicio y al final.\",\n \"lowercase\": \"Escríbalo en minúsculas.\",\n \"uppercase\": \"Escríbalo en mayúsculas.\",\n \"numberMin\": \"No puede ser menor que {{min}}.\",\n \"numberMax\": \"No puede ser mayor que {{max}}.\",\n \"lessThan\": \"Debe ser menor que {{less}}.\",\n \"moreThan\": \"Debe ser mayor que {{more}}.\",\n \"positive\": \"Debe ser un número positivo.\",\n \"negative\": \"Debe ser un número negativo.\",\n \"integer\": \"Debe ser un número entero.\",\n \"dateMin\": \"La fecha no puede ser anterior a {{min}}.\",\n \"dateMax\": \"La fecha no puede ser posterior a {{max}}.\",\n \"arrayMin_one\": \"Elija al menos {{count}} opción.\",\n \"arrayMin_other\": \"Elija al menos {{count}} opciones.\",\n \"arrayMax_one\": \"Elija como máximo {{count}} opción.\",\n \"arrayMax_other\": \"Elija como máximo {{count}} opciones.\",\n \"arrayLength_one\": \"Elija exactamente {{count}} opción.\",\n \"arrayLength_other\": \"Elija exactamente {{count}} opciones.\"\n },\n \"dictionaries\": {\n \"unknown\": {\n \"label\": \"Sin estatus\",\n \"tooltip\": \"\"\n }\n },\n \"security\": {\n \"passkeys\": {\n \"cancelled\": \"No se usó ninguna llave de acceso. Puede intentarlo de nuevo.\",\n \"alreadyRegistered\": \"Esa llave de acceso ya está registrada en su cuenta.\",\n \"wrongDomain\": \"Las llaves de acceso solo funcionan en la dirección oficial del sistema.\",\n \"failed\": \"El navegador no pudo usar la llave de acceso.\",\n \"unsupported\": \"Este navegador no admite llaves de acceso.\"\n },\n \"twoStep\": {\n \"title\": \"Verificación en dos pasos\",\n \"description\": \"Además de su contraseña, un segundo paso al entrar. Si alguien obtiene su contraseña, no podrá entrar sin él.\",\n \"active\": \"Activa\",\n \"activeSince\": \"Desde {{date}}\",\n \"inactive\": \"Sin activar\",\n \"inactiveTooltip\": \"Su cuenta solo está protegida por la contraseña.\",\n \"passkeysTitle\": \"Llaves de acceso\",\n \"add\": \"Agregar\",\n \"passkeysEmpty\": \"La forma más segura: entra con la huella, el rostro o el PIN de su equipo.\",\n \"passkeyUsed\": \"Usada por última vez {{date}}\",\n \"passkeyCreated\": \"Creada {{date}}\",\n \"removePasskey\": \"Quitar {{name}}\",\n \"removePasskeyTooltip\": \"Quitar esta llave\",\n \"appTitle\": \"App autenticadora\",\n \"appActiveSince\": \"Activa desde {{date}}\",\n \"appDescription\": \"Un código de 6 dígitos que cambia cada 30 segundos.\",\n \"activate\": \"Activar\",\n \"deactivate\": \"Desactivar\",\n \"codesTitle\": \"Códigos de recuperación\",\n \"codesRemaining_one\": \"Le queda {{count}} código sin usar.\",\n \"codesRemaining_other\": \"Le quedan {{count}} códigos sin usar.\",\n \"codesNone\": \"Ya no le quedan códigos: genere otros.\",\n \"regenerate\": \"Generar nuevos\",\n \"passwordLabel\": \"Su contraseña actual\",\n \"passwordRequired\": \"Escriba su contraseña.\",\n \"disableTitle\": \"¿Desactivar la app autenticadora?\",\n \"disableText\": \"Si no tiene una llave de acceso, su cuenta quedará protegida solo por la contraseña y sus códigos de recuperación dejarán de servir.\",\n \"removeTitle\": \"¿Quitar «{{name}}»?\",\n \"removeText\": \"Ya no podrá entrar con esta llave. Bórrela también de su equipo o de su gestor de contraseñas.\",\n \"remove\": \"Quitar\",\n \"regenerateTitle\": \"¿Generar códigos nuevos?\",\n \"regenerateText\": \"Los códigos que tenga ahora dejarán de servir.\",\n \"generate\": \"Generar\",\n \"passkeyDialogTitle\": \"Agregar una llave de acceso\",\n \"passkeyDialogText\": \"Una llave de acceso usa la huella, el rostro o el PIN de este equipo o de su teléfono. No se puede robar con una página falsa y le permite entrar sin escribir su contraseña.\",\n \"passkeyName\": \"Nombre para reconocerla (opcional)\",\n \"passkeyNamePlaceholder\": \"Por ejemplo: MacBook del trabajo\",\n \"createPasskey\": \"Crear llave\",\n \"totpDialogTitle\": \"Activar la app autenticadora\",\n \"totpStep1\": \"1. Abra su app (Google Authenticator, Microsoft Authenticator, 1Password…) y escanee este código.\",\n \"totpQrAlt\": \"Código QR para la app autenticadora\",\n \"totpCantScan\": \"¿No puede escanear? Escriba esta clave en su app:\",\n \"totpStep2\": \"2. Escriba el código de 6 dígitos que muestra la app.\",\n \"codeLabel\": \"Código\",\n \"codeRequired\": \"Escriba el código de 6 dígitos.\",\n \"codeFormat\": \"Son 6 dígitos, como aparecen en su app.\",\n \"passkeyAdded\": \"Llave de acceso agregada\",\n \"passkeyRemoved\": \"Llave de acceso quitada\",\n \"appActivated\": \"App autenticadora activada\",\n \"appDeactivated\": \"App autenticadora desactivada\"\n },\n \"recoveryCodes\": {\n \"title\": \"Guarde sus códigos de recuperación\",\n \"warning\": \"Es la única vez que los verá. Con uno de ellos podrá entrar si pierde su teléfono o su llave de acceso; cada uno sirve una sola vez.\",\n \"copyAll\": \"Copiar todos\",\n \"download\": \"Descargar .txt\",\n \"saved\": \"Ya los guardé en un lugar seguro\",\n \"done\": \"Listo\",\n \"fileTitle\": \"{{appName}} · códigos de recuperación\",\n \"fileAccount\": \"Cuenta: {{account}}\",\n \"fileGenerated\": \"Generados: {{date}}\",\n \"fileHowTo\": \"Cada código sirve UNA sola vez para entrar si no tiene su teléfono o su llave de acceso.\",\n \"fileKeepSafe\": \"Guárdelos en un lugar seguro (un gestor de contraseñas o impresos bajo llave).\",\n \"fileName\": \"codigos-recuperacion-{{date}}.txt\"\n },\n \"secondStep\": {\n \"intro\": \"Su cuenta tiene verificación en dos pasos. Confirme que es usted para terminar de entrar.\",\n \"usePasskey\": \"Usar mi llave de acceso\",\n \"or\": \"o\",\n \"appCodeLabel\": \"Código de su app autenticadora\",\n \"appCodeHelp\": \"Ábrala (Google Authenticator, Microsoft Authenticator, 1Password…) y escriba los 6 dígitos.\",\n \"recoveryCodeLabel\": \"Código de recuperación\",\n \"recoveryCodeHelp\": \"Uno de los códigos que guardó al activar la verificación. Cada uno sirve una sola vez.\",\n \"recoveryCodeRequired\": \"Escriba uno de sus códigos de recuperación.\",\n \"recoveryCodeFormat\": \"Tienen la forma ABCDE-FGHJK.\",\n \"confirm\": \"Confirmar\",\n \"useRecovery\": \"No tengo mi teléfono: usar un código de recuperación\",\n \"useApp\": \"Usar el código de mi app autenticadora\",\n \"otherAccount\": \"Entrar con otra cuenta\",\n \"remainingAttempts_one\": \"Le queda {{count}} intento.\",\n \"remainingAttempts_other\": \"Le quedan {{count}} intentos.\"\n },\n \"sessions\": {\n \"title\": \"Mis sesiones\",\n \"description\": \"Dónde tiene la cuenta abierta. Si no reconoce un equipo, cierre la sesión en los demás y cambie su contraseña.\",\n \"current\": \"Este equipo\",\n \"device\": \"{{browser}} en {{platform}}\",\n \"otherBrowser\": \"Otro navegador\",\n \"otherPlatform\": \"otro sistema\",\n \"since\": \"Desde {{date}}\",\n \"network\": \"red {{network}}\",\n \"onlyThis\": \"Solo tiene la sesión abierta en este equipo.\",\n \"closeOthers\": \"Cerrar la sesión en los demás equipos\",\n \"confirmTitle\": \"¿Cerrar la sesión en los demás equipos?\",\n \"confirmText_one\": \"Se cerrará en {{count}} equipo. Este sigue dentro, y en el otro tendrá que volver a entrar con su contraseña.\",\n \"confirmText_other\": \"Se cerrará en {{count}} equipos. Este sigue dentro, y en los demás tendrá que volver a entrar con su contraseña.\",\n \"confirm\": \"Cerrar las demás\",\n \"closed_one\": \"Se cerró la sesión en {{count}} equipo\",\n \"closed_other\": \"Se cerró la sesión en {{count}} equipos\",\n \"noneClosed\": \"No había sesiones abiertas en otros equipos\"\n },\n \"activity\": {\n \"title\": \"Actividad de la cuenta\",\n \"description\": \"Lo último que pasó con su cuenta. Si ve algo que no fue usted, cambie su contraseña y cierre la sesión en los demás equipos.\",\n \"empty\": \"Todavía no hay actividad.\",\n \"from\": \"{{device}} · red {{network}}\",\n \"kinds\": {\n \"signedIn\": \"Entró\",\n \"signInFailed\": \"Intento de entrar con contraseña equivocada\",\n \"signedOut\": \"Salió\",\n \"passwordChanged\": \"Cambió su contraseña\",\n \"twoStepEnabled\": \"Activó la verificación en dos pasos\",\n \"twoStepDisabled\": \"Desactivó la verificación en dos pasos\",\n \"passkeyAdded\": \"Agregó una llave de acceso\",\n \"passkeyRemoved\": \"Quitó una llave de acceso\",\n \"recoveryCodesGenerated\": \"Generó códigos de recuperación nuevos\",\n \"recoveryCodeUsed\": \"Entró con un código de recuperación\",\n \"sessionsClosed\": \"Cerró la sesión en los demás equipos\"\n }\n }\n },\n \"calendar\": {\n \"details\": {\n \"when\": \"Cuándo\",\n \"timeRange\": \"{{date}}, de {{start}} a {{end}}\",\n \"allDay\": \"{{date}}, todo el día\",\n \"location\": \"Dónde\",\n \"meeting\": \"Reunión en línea\",\n \"join\": \"Unirse\",\n \"attendees\": \"Invitados\",\n \"attendeesCount_one\": \"{{count}} invitado\",\n \"attendeesCount_other\": \"{{count}} invitados\",\n \"response\": {\"accepted\": \"Va\", \"declined\": \"No va\", \"pending\": \"Sin responder\"},\n \"reminder\": \"Recordatorio\",\n \"reminderUnit\": {\n \"atStart\": \"Al empezar\",\n \"minutes_one\": \"{{count}} minuto antes\",\n \"minutes_other\": \"{{count}} minutos antes\",\n \"hours_one\": \"{{count}} hora antes\",\n \"hours_other\": \"{{count}} horas antes\",\n \"days_one\": \"{{count}} día antes\",\n \"days_other\": \"{{count}} días antes\"\n },\n \"notes\": \"Notas\"\n },\n \"previous\": \"Anterior\",\n \"next\": \"Siguiente\",\n \"today\": \"Hoy\",\n \"view\": \"Vista del calendario\",\n \"views\": {\n \"month\": \"Mes\",\n \"week\": \"Semana\",\n \"day\": \"Día\",\n \"list\": \"Lista\"\n }\n },\n \"kanban\": {\n \"dueCompleted\": \"Era para el {{date}}\",\n \"complete\": \"Terminar «{{title}}»\",\n \"reopen\": \"Reabrir «{{title}}»\",\n \"completed\": \"Terminada\",\n \"collapseColumn\": \"Encoger «{{column}}»\",\n \"expandColumn\": \"Abrir «{{column}}»\",\n \"addCard\": \"Agregar una tarjeta en {{column}}\",\n \"addCardPlaceholder\": \"Título de la tarjeta (Enter para agregar)\",\n \"cardActions\": \"Acciones de «{{title}}»\",\n \"columnActions\": \"Acciones de {{column}}\",\n \"dueOverdue\": \"Venció el {{date}}\",\n \"dueToday\": \"Vence hoy\",\n \"dueOn\": \"Vence el {{date}}\",\n \"checklist\": \"{{done}} de {{total}} pendientes hechos\",\n \"comments_one\": \"{{count}} comentario\",\n \"comments_other\": \"{{count}} comentarios\",\n \"attachments_one\": \"{{count}} adjunto\",\n \"attachments_other\": \"{{count}} adjuntos\",\n \"assignees\": \"Responsables: {{names}}\",\n \"instructions\": \"Para mover una tarjeta con el teclado: espacio para levantarla, flechas para moverla y espacio para soltarla. Escape la deja donde estaba.\",\n \"lifted\": \"Levantó «{{title}}», en {{column}}, posición {{position}}.\",\n \"moving\": \"Va a {{column}}, posición {{position}}.\",\n \"dropped\": \"Soltó «{{title}}» en {{column}}, posición {{position}}.\",\n \"cancelled\": \"«{{title}}» se quedó donde estaba.\",\n \"overLimit\": \"Pasó el tope de {{limit}} tarjetas.\",\n \"emptyFiltered\": \"Ninguna tarjeta de aquí coincide con la búsqueda.\",\n \"empty\": \"Sin tarjetas. Arrastre una aquí.\"\n },\n \"inbox\": {\n \"labels\": \"Etiquetas\",\n \"select\": \"Elegir «{{subject}}»\",\n \"messageActions\": \"Acciones de «{{subject}}»\",\n \"threadCount_one\": \"{{count}} mensaje en la conversación\",\n \"threadCount_other\": \"{{count}} mensajes en la conversación\",\n \"cc\": \"Con copia: {{cc}}\",\n \"openAttachment\": \"Abrir {{name}}\",\n \"expandMessage\": \"Abrir el mensaje de {{name}} ({{date}})\",\n \"listLabel\": \"Mensajes\",\n \"folders\": \"Carpetas\",\n \"empty\": \"No hay mensajes aquí.\",\n \"noMessageSelected\": \"Elija un mensaje para leerlo.\",\n \"star\": \"Destacar\",\n \"unstar\": \"Quitar de destacados\",\n \"unread\": \"Sin leer\",\n \"attachments\": \"Archivos adjuntos\",\n \"to\": \"Para: {{to}}\",\n \"back\": \"Regresar\",\n \"unreadCount_one\": \"{{count}} sin leer\",\n \"unreadCount_other\": \"{{count}} sin leer\"\n },\n \"account\": {\n \"reset\": {\n \"title\": \"Elegir una contraseña nueva\",\n \"subtitle\": \"Llegó aquí desde el enlace del correo. Elija la contraseña con la que va a entrar.\",\n \"done\": \"Ya puede entrar con su contraseña nueva.\",\n \"goToSignIn\": \"Ir a iniciar sesión\",\n \"missingToken\": \"Este enlace no sirve: le falta su clave. Pida uno nuevo desde «¿Olvidó su contraseña?».\",\n \"askAgain\": \"Pedir otro enlace\"\n },\n \"profile\": {\n \"tabs\": {\n \"label\": \"Partes de su perfil\",\n \"data\": \"Sus datos\",\n \"security\": \"Seguridad\",\n \"preferences\": \"Preferencias\"\n },\n \"data\": {\n \"title\": \"Sus datos\",\n \"text\": \"Así le ven las demás personas en la app.\",\n \"name\": \"Nombre\",\n \"email\": \"Correo\",\n \"emailHelp\": \"Es el correo con el que entra; para cambiarlo, pídalo a quien administra la app.\",\n \"phone\": \"Teléfono (opcional)\",\n \"phoneInvalid\": \"Escriba solo dígitos (de 7 a 15), con + al inicio si es de otro país.\",\n \"save\": \"Guardar\",\n \"saved\": \"Se guardaron sus datos.\"\n },\n \"password\": {\n \"title\": \"Contraseña\",\n \"text\": \"Use una contraseña que no use en otros sitios. Al cambiarla, la próxima vez entra con la nueva.\"\n },\n \"preferences\": {\n \"title\": \"Apariencia\",\n \"text\": \"Cómo se ve la app para usted: el tamaño de letra, el idioma y claro u oscuro se recuerdan en este navegador.\"\n }\n },\n \"demo\": {\n \"totpCode\": \"Usar el código de ejemplo\",\n \"totpCodeHelp\": \"Solo en la demostración: llena el código que enseñaría su app ahorita, por si no la tiene a la mano.\",\n \"passkeyNote\": \"En la demostración la llave se guarda de verdad en su llavero (iCloud, Google o su gestor de contraseñas), pero esta página la olvida al recargar. Cuando termine de probar, bórrela también de su llavero.\",\n \"securityNote\": \"Servidor de demostración: la verificación funciona con su teléfono de verdad (escanee el QR o cree una llave con su huella), pero vive en la memoria de la pestaña: al recargar se apaga. Salga y vuelva a entrar para ver el segundo paso.\",\n \"server\": {\n \"wrongCredentialsTitle\": \"No pudo entrar\",\n \"wrongCredentials\": \"En la demostración se entra con {{email}} y cualquier contraseña.\",\n \"noSessionTitle\": \"Su sesión terminó\",\n \"noSession\": \"Vuelva a entrar.\",\n \"validationTitle\": \"Revise los datos\",\n \"validationDetail\": \"Hay campos por corregir.\",\n \"passwordRequired\": \"Escriba su contraseña para confirmar.\",\n \"nameRequired\": \"Escriba su nombre.\",\n \"wrongCodeTitle\": \"El código no coincide\",\n \"wrongCode\": \"Revise que sea el código que enseña su app ahorita.\",\n \"expiredTitle\": \"Se acabó el tiempo\",\n \"expired\": \"Pasaron más de 5 minutos: vuelva a escribir su contraseña.\",\n \"lockedTitle\": \"Demasiados intentos\",\n \"locked\": \"Por seguridad hay que empezar de nuevo: vuelva a escribir su contraseña.\",\n \"defaultPasskeyName\": \"Llave {{number}}\",\n \"profileSaved\": \"Se guardaron sus datos.\"\n }\n }\n }\n});\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
|
3
|
+
import "leaflet/dist/leaflet.css";
|
|
4
|
+
import { useRef, useMemo, useEffect } from "react";
|
|
5
|
+
import L from "leaflet";
|
|
6
|
+
import { MapContainer, TileLayer, Marker, Popup, useMapEvents, useMap } from "react-leaflet";
|
|
7
|
+
import Box from "@mui/material/Box";
|
|
8
|
+
import Typography from "@mui/material/Typography";
|
|
9
|
+
import { useTheme } from "@mui/material/styles";
|
|
10
|
+
import { boundsOfMarkers, MAP_PIN_SIZE, mapPinHtmlOf } from "./mapMarkers.js";
|
|
11
|
+
import { paletteOf } from "../theme/components/paletteOf.js";
|
|
12
|
+
const OPEN_STREET_MAP_TILES = Object.freeze({
|
|
13
|
+
url: "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",
|
|
14
|
+
attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>'
|
|
15
|
+
});
|
|
16
|
+
const DEFAULT_CENTER = Object.freeze([23.6, -102.5]);
|
|
17
|
+
const DEFAULT_ZOOM = 5;
|
|
18
|
+
const SELECTED_ZOOM = 13;
|
|
19
|
+
const FIT_PADDING_PIXELS = 48;
|
|
20
|
+
const FIT_MAX_ZOOM = 13;
|
|
21
|
+
const DEFAULT_HEIGHT_PIXELS = 420;
|
|
22
|
+
function FitToMarkers({ bounds }) {
|
|
23
|
+
const map = useMap();
|
|
24
|
+
const boundsKey = JSON.stringify(bounds);
|
|
25
|
+
useEffect(() => {
|
|
26
|
+
if (bounds) {
|
|
27
|
+
map.fitBounds(bounds, { padding: [FIT_PADDING_PIXELS, FIT_PADDING_PIXELS], maxZoom: FIT_MAX_ZOOM });
|
|
28
|
+
}
|
|
29
|
+
}, [map, boundsKey]);
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
function FlyToSelected({ selectedMarker, markerRefs }) {
|
|
33
|
+
const map = useMap();
|
|
34
|
+
useEffect(() => {
|
|
35
|
+
if (!selectedMarker) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
map.flyTo(selectedMarker.position, Math.max(map.getZoom(), SELECTED_ZOOM));
|
|
39
|
+
markerRefs.current.get(selectedMarker.id)?.openPopup();
|
|
40
|
+
}, [map, selectedMarker, markerRefs]);
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
function MapClicks({ onMapClick }) {
|
|
44
|
+
useMapEvents({ click: (event) => onMapClick([event.latlng.lat, event.latlng.lng]) });
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
function DefaultPopupContent({ marker }) {
|
|
48
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
49
|
+
/* @__PURE__ */ jsx(Typography, { variant: "subtitle2", component: "p", children: marker.title }),
|
|
50
|
+
marker.description && /* @__PURE__ */ jsx(Typography, { variant: "body2", color: "text.secondary", component: "p", sx: { m: 0 }, children: marker.description })
|
|
51
|
+
] });
|
|
52
|
+
}
|
|
53
|
+
function MapView({
|
|
54
|
+
markers,
|
|
55
|
+
selectedId = null,
|
|
56
|
+
onSelect,
|
|
57
|
+
ariaLabel,
|
|
58
|
+
height = DEFAULT_HEIGHT_PIXELS,
|
|
59
|
+
tileLayer = OPEN_STREET_MAP_TILES,
|
|
60
|
+
renderPopup,
|
|
61
|
+
onMapClick,
|
|
62
|
+
children,
|
|
63
|
+
mapProps
|
|
64
|
+
}) {
|
|
65
|
+
const theme = useTheme();
|
|
66
|
+
const palette = paletteOf(theme);
|
|
67
|
+
const markerRefs = useRef(/* @__PURE__ */ new Map());
|
|
68
|
+
const bounds = useMemo(() => boundsOfMarkers(markers), [markers]);
|
|
69
|
+
const selectedMarker = markers.find((marker) => marker.id === selectedId);
|
|
70
|
+
const iconOf = (marker) => {
|
|
71
|
+
const isSelected = marker.id === selectedId;
|
|
72
|
+
const size = isSelected ? MAP_PIN_SIZE.selected : MAP_PIN_SIZE.normal;
|
|
73
|
+
const color = (palette[marker.tone] ?? palette.primary).main;
|
|
74
|
+
return L.divIcon({ html: mapPinHtmlOf(color, isSelected), className: "", iconSize: [size, size], iconAnchor: [size / 2, size], popupAnchor: [0, -size] });
|
|
75
|
+
};
|
|
76
|
+
return /* @__PURE__ */ jsx(Box, { role: "region", "aria-label": ariaLabel, sx: (currentTheme) => ({
|
|
77
|
+
height,
|
|
78
|
+
borderRadius: 3,
|
|
79
|
+
overflow: "hidden",
|
|
80
|
+
position: "relative",
|
|
81
|
+
zIndex: 0,
|
|
82
|
+
"& .leaflet-container": { height: "100%", width: "100%", fontFamily: "inherit", bgcolor: "action.hover" },
|
|
83
|
+
"& .leaflet-bar": { border: 0, borderRadius: "10px", overflow: "hidden", boxShadow: currentTheme.shadows[2] },
|
|
84
|
+
"& .leaflet-bar a": { bgcolor: "background.paper", color: "text.primary", borderBottomColor: "divider" },
|
|
85
|
+
"& .leaflet-popup-content-wrapper, & .leaflet-popup-tip": { bgcolor: "background.paper", color: "text.primary" },
|
|
86
|
+
"& .leaflet-popup-content-wrapper": { borderRadius: "12px" },
|
|
87
|
+
"& .leaflet-control-attribution": { bgcolor: "background.paper", color: "text.secondary", "& a": { color: "inherit" } },
|
|
88
|
+
// OpenStreetMap solo da mosaicos claros: en oscuro se invierten y se regresa el tono (el agua sigue azul)
|
|
89
|
+
...currentTheme.applyStyles("dark", { "& .leaflet-tile-pane": { filter: "invert(1) hue-rotate(180deg) brightness(0.95) contrast(0.9)" } })
|
|
90
|
+
}), children: /* @__PURE__ */ jsxs(MapContainer, { center: markers[0]?.position ?? DEFAULT_CENTER, zoom: DEFAULT_ZOOM, scrollWheelZoom: false, ...mapProps, children: [
|
|
91
|
+
/* @__PURE__ */ jsx(TileLayer, { url: tileLayer.url, attribution: tileLayer.attribution }),
|
|
92
|
+
onMapClick && /* @__PURE__ */ jsx(MapClicks, { onMapClick }),
|
|
93
|
+
children,
|
|
94
|
+
/* @__PURE__ */ jsx(FitToMarkers, { bounds }),
|
|
95
|
+
/* @__PURE__ */ jsx(FlyToSelected, { selectedMarker, markerRefs }),
|
|
96
|
+
markers.map((marker) => /* @__PURE__ */ jsx(
|
|
97
|
+
Marker,
|
|
98
|
+
{
|
|
99
|
+
position: marker.position,
|
|
100
|
+
icon: iconOf(marker),
|
|
101
|
+
title: marker.title,
|
|
102
|
+
alt: marker.title,
|
|
103
|
+
zIndexOffset: marker.id === selectedId ? 1e3 : 0,
|
|
104
|
+
ref: (leafletMarker) => leafletMarker ? markerRefs.current.set(marker.id, leafletMarker) : markerRefs.current.delete(marker.id),
|
|
105
|
+
eventHandlers: { click: () => onSelect?.(marker.id) },
|
|
106
|
+
children: /* @__PURE__ */ jsx(Popup, { children: renderPopup ? renderPopup(marker) : /* @__PURE__ */ jsx(DefaultPopupContent, { marker }) })
|
|
107
|
+
},
|
|
108
|
+
marker.id
|
|
109
|
+
))
|
|
110
|
+
] }) });
|
|
111
|
+
}
|
|
112
|
+
export {
|
|
113
|
+
OPEN_STREET_MAP_TILES,
|
|
114
|
+
MapView as default
|
|
115
|
+
};
|
|
116
|
+
//# sourceMappingURL=MapView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MapView.js","sources":["../../src/maps/MapView.jsx"],"sourcesContent":["// Un mapa con marcadores (@stackcraftmx/calcita/maps): Leaflet con los mosaicos de OpenStreetMap. Cada marcador es un\n// alfiler del color del tema (mapMarkers.js); el elegido va más grande, el mapa vuela a él y abre su globo. Al cambiar los\n// marcadores, el mapa se acomoda para que se vean todos.\n//\n// <MapView markers={[{id: 'gdl', position: [20.67, -103.35], title: 'Sucursal Guadalajara', tone: 'success'}]}\n// selectedId={selectedId} onSelect={setSelectedId} ariaLabel=\"Mapa de sucursales\" />\n//\n// En oscuro los mosaicos se oscurecen con un filtro (OpenStreetMap solo los da claros). Los mosaicos públicos de\n// OpenStreetMap son para poco tráfico y piden su crédito: para mucho uso, un proveedor propio en tileLayer.\n//\n// Se extiende sin tocar el framework: cualquier contenido en el globo (renderPopup: un estado, un botón, una foto, «Cómo\n// llegar»), capas propias de react-leaflet adentro (children: zonas de entrega, un radio), el clic en el mapa (onMapClick:\n// agregar un punto) y lo demás de MapContainer de Leaflet (mapProps).\n//\n// OJO, Next.js: Leaflet usa window al cargarse; en Next se importa con next/dynamic y ssr: false.\n//\n// Genérico del paquete: function (regla de la casa).\nimport 'leaflet/dist/leaflet.css';\nimport {useEffect, useMemo, useRef} from 'react';\nimport L from 'leaflet';\nimport {MapContainer, Marker, Popup, TileLayer, useMap, useMapEvents} from 'react-leaflet';\nimport Box from '@mui/material/Box';\nimport Typography from '@mui/material/Typography';\nimport {useTheme} from '@mui/material/styles';\n\nimport {MAP_PIN_SIZE, boundsOfMarkers, mapPinHtmlOf} from '@/maps/mapMarkers.js';\nimport {paletteOf} from '@/theme/components/paletteOf.js';\n\n/** Los mosaicos de OpenStreetMap con su crédito (lo pide su política de uso). */\nexport const OPEN_STREET_MAP_TILES = Object.freeze({\n url: 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',\n attribution: '© <a href=\"https://www.openstreetmap.org/copyright\">OpenStreetMap</a>',\n});\n\n// México completo cuando no hay marcadores\nconst DEFAULT_CENTER = Object.freeze([23.6, -102.5]);\nconst DEFAULT_ZOOM = 5;\n// al volar a un marcador elegido, al menos este acercamiento\nconst SELECTED_ZOOM = 13;\n// al acomodar el mapa a los marcadores: el margen (px) y que no se acerque de más con uno solo\nconst FIT_PADDING_PIXELS = 48;\nconst FIT_MAX_ZOOM = 13;\nconst DEFAULT_HEIGHT_PIXELS = 420;\n\n/**\n * Acomoda el mapa para que se vean todos los marcadores cada vez que cambian.\n *\n * @param {{bounds: [[number, number], [number, number]]|null}} props\n */\nfunction FitToMarkers({bounds}) {\n const map = useMap();\n const boundsKey = JSON.stringify(bounds);\n useEffect(() => {\n if (bounds) {\n map.fitBounds(bounds, {padding: [FIT_PADDING_PIXELS, FIT_PADDING_PIXELS], maxZoom: FIT_MAX_ZOOM});\n }\n // OJO: depende del texto del recuadro y no del arreglo: el arreglo es nuevo en cada pintada y el mapa se movería solo\n }, [map, boundsKey]);\n return null;\n}\n\n/**\n * Vuela al marcador elegido y abre su globo.\n *\n * @param {{selectedMarker: object|undefined, markerRefs: object}} props\n */\nfunction FlyToSelected({selectedMarker, markerRefs}) {\n const map = useMap();\n useEffect(() => {\n if (!selectedMarker) {\n return;\n }\n map.flyTo(selectedMarker.position, Math.max(map.getZoom(), SELECTED_ZOOM));\n markerRefs.current.get(selectedMarker.id)?.openPopup();\n }, [map, selectedMarker, markerRefs]);\n return null;\n}\n\n/**\n * Avisa cada clic en el mapa (fuera de un marcador) con su posición.\n *\n * @param {{onMapClick: (position: [number, number]) => void}} props\n */\nfunction MapClicks({onMapClick}) {\n useMapEvents({click: (event) => onMapClick([event.latlng.lat, event.latlng.lng])});\n return null;\n}\n\n/**\n * Lo que dice el globo de un marcador cuando la pantalla no da el suyo: su título y su descripción.\n *\n * @param {{marker: {title: string, description?: string}}} props\n */\nfunction DefaultPopupContent({marker}) {\n return (\n <>\n <Typography variant=\"subtitle2\" component=\"p\">{marker.title}</Typography>\n {marker.description && <Typography variant=\"body2\" color=\"text.secondary\" component=\"p\" sx={{m: 0}}>{marker.description}</Typography>}\n </>\n );\n}\n\n/**\n * @param {object} props\n * @param {Array<{id: string, position: [number, number], title: string, description?: string, tone?: string} & Record<string, any>>} props.markers\n * tone: un color del tema (primary, success, warning, error, info…); por omisión primary\n * @param {string|null} [props.selectedId]\n * @param {(markerId: string) => void} [props.onSelect] al picar un marcador\n * @param {string} props.ariaLabel ya traducido: qué enseña el mapa\n * @param {number} [props.height] px\n * @param {{url: string, attribution: string}} [props.tileLayer] por omisión OpenStreetMap\n * @param {(marker: any) => import('react').ReactNode} [props.renderPopup] lo que dice el globo de un marcador (recibe el\n * marcador tal cual, con sus campos propios); por omisión su título y su descripción\n * @param {(position: [number, number]) => void} [props.onMapClick] al picar el mapa fuera de un marcador\n * @param {import('react').ReactNode} [props.children] capas propias de react-leaflet (Circle, Polygon, GeoJSON…)\n * @param {object} [props.mapProps] lo demás de MapContainer de react-leaflet (scrollWheelZoom, minZoom…)\n */\nexport default function MapView({\n markers, selectedId = null, onSelect, ariaLabel, height = DEFAULT_HEIGHT_PIXELS, tileLayer = OPEN_STREET_MAP_TILES, renderPopup, onMapClick,\n children, mapProps,\n}) {\n const theme = useTheme();\n const palette = paletteOf(theme);\n const markerRefs = useRef(new Map());\n const bounds = useMemo(() => boundsOfMarkers(markers), [markers]);\n const selectedMarker = markers.find((marker) => marker.id === selectedId);\n\n // el ícono de cada marcador: se arma de nuevo solo si cambia su color o si se elige\n const iconOf = (marker) => {\n const isSelected = marker.id === selectedId;\n const size = isSelected ? MAP_PIN_SIZE.selected : MAP_PIN_SIZE.normal;\n const color = (palette[marker.tone] ?? palette.primary).main;\n return L.divIcon({html: mapPinHtmlOf(color, isSelected), className: '', iconSize: [size, size], iconAnchor: [size / 2, size], popupAnchor: [0, -size]});\n };\n\n return (\n <Box role=\"region\" aria-label={ariaLabel} sx={(currentTheme) => ({\n height, borderRadius: 3, overflow: 'hidden', position: 'relative', zIndex: 0,\n '& .leaflet-container': {height: '100%', width: '100%', fontFamily: 'inherit', bgcolor: 'action.hover'},\n '& .leaflet-bar': {border: 0, borderRadius: '10px', overflow: 'hidden', boxShadow: currentTheme.shadows[2]},\n '& .leaflet-bar a': {bgcolor: 'background.paper', color: 'text.primary', borderBottomColor: 'divider'},\n '& .leaflet-popup-content-wrapper, & .leaflet-popup-tip': {bgcolor: 'background.paper', color: 'text.primary'},\n '& .leaflet-popup-content-wrapper': {borderRadius: '12px'},\n '& .leaflet-control-attribution': {bgcolor: 'background.paper', color: 'text.secondary', '& a': {color: 'inherit'}},\n // OpenStreetMap solo da mosaicos claros: en oscuro se invierten y se regresa el tono (el agua sigue azul)\n ...currentTheme.applyStyles('dark', {'& .leaflet-tile-pane': {filter: 'invert(1) hue-rotate(180deg) brightness(0.95) contrast(0.9)'}}),\n })}>\n <MapContainer center={markers[0]?.position ?? DEFAULT_CENTER} zoom={DEFAULT_ZOOM} scrollWheelZoom={false} {...mapProps}>\n <TileLayer url={tileLayer.url} attribution={tileLayer.attribution} />\n {onMapClick && <MapClicks onMapClick={onMapClick} />}\n {children}\n <FitToMarkers bounds={bounds} />\n <FlyToSelected selectedMarker={selectedMarker} markerRefs={markerRefs} />\n {markers.map((marker) => (\n <Marker key={marker.id} position={marker.position} icon={iconOf(marker)} title={marker.title} alt={marker.title}\n zIndexOffset={marker.id === selectedId ? 1000 : 0}\n ref={(leafletMarker) => (leafletMarker ? markerRefs.current.set(marker.id, leafletMarker) : markerRefs.current.delete(marker.id))}\n eventHandlers={{click: () => onSelect?.(marker.id)}}>\n <Popup>\n {renderPopup ? renderPopup(marker) : <DefaultPopupContent marker={marker} />}\n </Popup>\n </Marker>\n ))}\n </MapContainer>\n </Box>\n );\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
const MAP_PIN_SIZE = Object.freeze({ normal: 32, selected: 44 });
|
|
2
|
+
function mapPinHtmlOf(color, isSelected = false) {
|
|
3
|
+
const size = isSelected ? MAP_PIN_SIZE.selected : MAP_PIN_SIZE.normal;
|
|
4
|
+
return `<svg width="${size}" height="${size}" viewBox="0 0 24 24" aria-hidden="true" style="display:block;filter:drop-shadow(0 2px 3px rgba(0,0,0,.35))"><path d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7z" style="fill:${color}" stroke="white" stroke-width="1.2"/><circle cx="12" cy="9" r="2.6" fill="white"/></svg>`;
|
|
5
|
+
}
|
|
6
|
+
function boundsOfMarkers(markers) {
|
|
7
|
+
if (!markers?.length) {
|
|
8
|
+
return null;
|
|
9
|
+
}
|
|
10
|
+
const latitudes = markers.map((marker) => marker.position[0]);
|
|
11
|
+
const longitudes = markers.map((marker) => marker.position[1]);
|
|
12
|
+
return [[Math.min(...latitudes), Math.min(...longitudes)], [Math.max(...latitudes), Math.max(...longitudes)]];
|
|
13
|
+
}
|
|
14
|
+
export {
|
|
15
|
+
MAP_PIN_SIZE,
|
|
16
|
+
boundsOfMarkers,
|
|
17
|
+
mapPinHtmlOf
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=mapMarkers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mapMarkers.js","sources":["../../src/maps/mapMarkers.js"],"sourcesContent":["// Lo puro de los marcadores del mapa: el dibujo del alfiler (SVG, sin imágenes) y el recuadro que encierra a todos.\n//\n// Por qué un SVG y no la imagen de Leaflet: el ícono de Leaflet son archivos .png que el empaquetador del proyecto no\n// encuentra (el marcador sale roto, sin imagen). El alfiler se dibuja con el color del tema y no pide archivos.\n//\n// Funciones puras, sin React ni Leaflet: function (regla de la casa).\n\n/** El alfiler: su tamaño normal y el del elegido (px). */\nexport const MAP_PIN_SIZE = Object.freeze({normal: 32, selected: 44});\n\n/**\n * El HTML del alfiler para un divIcon de Leaflet: la gota del color pedido con un punto blanco al centro. El color va en\n * style y no en el atributo fill: así acepta las variables CSS del tema (var(--mui-palette-…)) en todos los navegadores.\n *\n * @param {string} color cualquier color de CSS (también var(--mui-palette-…))\n * @param {boolean} [isSelected]\n * @returns {string}\n */\nexport function mapPinHtmlOf(color, isSelected = false) {\n const size = isSelected ? MAP_PIN_SIZE.selected : MAP_PIN_SIZE.normal;\n return `<svg width=\"${size}\" height=\"${size}\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" style=\"display:block;filter:drop-shadow(0 2px 3px rgba(0,0,0,.35))\">`\n + `<path d=\"M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7z\" style=\"fill:${color}\" stroke=\"white\" stroke-width=\"1.2\"/>`\n + '<circle cx=\"12\" cy=\"9\" r=\"2.6\" fill=\"white\"/></svg>';\n}\n\n/**\n * El recuadro que encierra a todos los marcadores ([[sur, oeste], [norte, este]]), para acomodar el mapa; null sin marcadores.\n *\n * @param {Array<{position: [number, number]}>} markers\n * @returns {[[number, number], [number, number]]|null}\n */\nexport function boundsOfMarkers(markers) {\n if (!markers?.length) {\n return null;\n }\n const latitudes = markers.map((marker) => marker.position[0]);\n const longitudes = markers.map((marker) => marker.position[1]);\n return [[Math.min(...latitudes), Math.min(...longitudes)], [Math.max(...latitudes), Math.max(...longitudes)]];\n}\n"],"names":[],"mappings":"AAQY,MAAC,eAAe,OAAO,OAAO,EAAC,QAAQ,IAAI,UAAU,GAAE,CAAC;AAU7D,SAAS,aAAa,OAAO,aAAa,OAAO;AACpD,QAAM,OAAO,aAAa,aAAa,WAAW,aAAa;AAC/D,SAAO,eAAe,IAAI,aAAa,IAAI,8MAC4D,KAAK;AAEhH;AAQO,SAAS,gBAAgB,SAAS;AACrC,MAAI,CAAC,SAAS,QAAQ;AAClB,WAAO;AAAA,EACX;AACA,QAAM,YAAY,QAAQ,IAAI,CAAC,WAAW,OAAO,SAAS,CAAC,CAAC;AAC5D,QAAM,aAAa,QAAQ,IAAI,CAAC,WAAW,OAAO,SAAS,CAAC,CAAC;AAC7D,SAAO,CAAC,CAAC,KAAK,IAAI,GAAG,SAAS,GAAG,KAAK,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,SAAS,GAAG,KAAK,IAAI,GAAG,UAAU,CAAC,CAAC;AAChH;"}
|
package/dist/maps.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { default as default2, OPEN_STREET_MAP_TILES } from "./maps/MapView.js";
|
|
2
|
+
import { MAP_PIN_SIZE, boundsOfMarkers, mapPinHtmlOf } from "./maps/mapMarkers.js";
|
|
3
|
+
export {
|
|
4
|
+
MAP_PIN_SIZE,
|
|
5
|
+
default2 as MapView,
|
|
6
|
+
OPEN_STREET_MAP_TILES,
|
|
7
|
+
boundsOfMarkers,
|
|
8
|
+
mapPinHtmlOf
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=maps.js.map
|
package/dist/maps.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"maps.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|