@stackcraftmx/calcita 0.23.0 → 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/README.md +111 -22
- package/cli/projectFiles.js +5 -3
- package/cli/templates/project/README.md.tpl +28 -0
- package/cli/templates/project/public/manifest.webmanifest.tpl +6 -6
- package/cli/templates/project/src/app/AppProviders.jsx.tpl +9 -4
- package/cli/templates/project/src/app/appRouter.jsx.tpl +4 -2
- package/cli/templates/project/src/app/appSettings.js.tpl +14 -0
- package/cli/templates/project/src/core/AppLogo.jsx.tpl +3 -1
- package/cli/templates/project/src/core/index.js.tpl +1 -0
- package/cli/templates/project/src/core/publicPaths.js.tpl +24 -0
- package/cli/templates/project/vite.config.js.tpl +27 -1
- package/dist/DataTable/AuditTrailTable.js +5 -3
- package/dist/DataTable/AuditTrailTable.js.map +1 -1
- package/dist/DataTable/ColumnFilters/MultiSelectColumnFilter.js +2 -1
- package/dist/DataTable/ColumnFilters/MultiSelectColumnFilter.js.map +1 -1
- package/dist/DataTable/EmptyState.js +2 -2
- package/dist/DataTable/EmptyState.js.map +1 -1
- package/dist/DataTable/FilterChips.js +2 -2
- package/dist/DataTable/FilterChips.js.map +1 -1
- package/dist/DataTable/GoToPage.js +4 -3
- package/dist/DataTable/GoToPage.js.map +1 -1
- package/dist/DataTable/ServerTable.js +153 -83
- package/dist/DataTable/ServerTable.js.map +1 -1
- package/dist/DataTable/rowSelection.js +61 -0
- package/dist/DataTable/rowSelection.js.map +1 -0
- package/dist/access/PermissionMatrix.js +3 -2
- package/dist/access/PermissionMatrix.js.map +1 -1
- package/dist/account/AccountSecuritySection.js +2 -2
- package/dist/account/AccountSecuritySection.js.map +1 -1
- package/dist/account/ForgotPasswordScreen.js +5 -4
- package/dist/account/ForgotPasswordScreen.js.map +1 -1
- package/dist/account/ProfileScreen.js +39 -13
- package/dist/account/ProfileScreen.js.map +1 -1
- package/dist/account/ResetPasswordScreen.js +3 -2
- package/dist/account/ResetPasswordScreen.js.map +1 -1
- package/dist/account/SignInScreen.js +7 -6
- package/dist/account/SignInScreen.js.map +1 -1
- package/dist/account/accountConnector.js.map +1 -1
- package/dist/account/restAccountConnector.js +2 -1
- package/dist/account/restAccountConnector.js.map +1 -1
- package/dist/adapters/reactRouterRoutes.js +7 -6
- package/dist/adapters/reactRouterRoutes.js.map +1 -1
- package/dist/api/createApiClient.js +35 -5
- package/dist/api/createApiClient.js.map +1 -1
- package/dist/appShell/AppLayout.js +27 -7
- package/dist/appShell/AppLayout.js.map +1 -1
- package/dist/appShell/AppearanceSettings.js +29 -6
- package/dist/appShell/AppearanceSettings.js.map +1 -1
- package/dist/appShell/AuthLayout.js +2 -0
- package/dist/appShell/AuthLayout.js.map +1 -1
- package/dist/appShell/BarActionButton.js +3 -3
- package/dist/appShell/BarActionButton.js.map +1 -1
- package/dist/appShell/BarActions.js +19 -8
- package/dist/appShell/BarActions.js.map +1 -1
- package/dist/appShell/BarCapsule.js +19 -4
- package/dist/appShell/BarCapsule.js.map +1 -1
- package/dist/appShell/BarSearch.js +92 -0
- package/dist/appShell/BarSearch.js.map +1 -0
- package/dist/appShell/MobileTabBar.js +3 -1
- package/dist/appShell/MobileTabBar.js.map +1 -1
- package/dist/appShell/shellSizes.js +2 -0
- package/dist/appShell/shellSizes.js.map +1 -1
- package/dist/auth/PasswordChecklist.js +2 -2
- package/dist/auth/PasswordChecklist.js.map +1 -1
- package/dist/calendar/EventCalendar.js +16 -5
- package/dist/calendar/EventCalendar.js.map +1 -1
- 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 +8 -1
- package/dist/calendar.js.map +1 -1
- package/dist/charts.js +10 -1
- package/dist/charts.js.map +1 -1
- package/dist/datePickers/DateInput.js +3 -2
- package/dist/datePickers/DateInput.js.map +1 -1
- package/dist/downloads/DownloadManager.js +14 -20
- package/dist/downloads/DownloadManager.js.map +1 -1
- package/dist/downloads/downloadQueue.js +4 -2
- package/dist/downloads/downloadQueue.js.map +1 -1
- package/dist/downloads/downloadsMachine.js +4 -1
- package/dist/downloads/downloadsMachine.js.map +1 -1
- package/dist/downloads/fileTypes.js +22 -0
- package/dist/downloads/fileTypes.js.map +1 -0
- package/dist/feedback/ConfirmDialog.js +3 -2
- package/dist/feedback/ConfirmDialog.js.map +1 -1
- package/dist/feedback/ModalWaiting.js +2 -2
- package/dist/feedback/ModalWaiting.js.map +1 -1
- package/dist/feedback/NewBuildNotice.js +2 -2
- package/dist/feedback/NewBuildNotice.js.map +1 -1
- package/dist/filepond/FileDropzone.js +5 -3
- package/dist/filepond/FileDropzone.js.map +1 -1
- package/dist/formatting.js +171 -143
- package/dist/formatting.js.map +1 -1
- package/dist/forms/FormWizard.js +18 -45
- package/dist/forms/FormWizard.js.map +1 -1
- package/dist/forms/auth/ChangePasswordForm.js +5 -4
- package/dist/forms/auth/ChangePasswordForm.js.map +1 -1
- package/dist/forms/auth/ForgotPasswordForm.js +2 -2
- package/dist/forms/auth/ForgotPasswordForm.js.map +1 -1
- package/dist/forms/auth/SignInForm.js +2 -2
- package/dist/forms/auth/SignInForm.js.map +1 -1
- package/dist/forms/security/SecondStepForm.js +2 -2
- package/dist/forms/security/SecondStepForm.js.map +1 -1
- package/dist/forms/security/TwoStepVerificationCard.js +8 -6
- package/dist/forms/security/TwoStepVerificationCard.js.map +1 -1
- package/dist/hookForm/FormWizard.js +59 -0
- package/dist/hookForm/FormWizard.js.map +1 -0
- package/dist/inbox/InboxLayout.js +44 -8
- package/dist/inbox/InboxLayout.js.map +1 -1
- package/dist/inbox/MessageList.js +71 -21
- package/dist/inbox/MessageList.js.map +1 -1
- package/dist/inbox/MessageView.js +80 -29
- package/dist/inbox/MessageView.js.map +1 -1
- package/dist/inbox/inboxDates.js +4 -3
- package/dist/inbox/inboxDates.js.map +1 -1
- package/dist/index.js +157 -133
- package/dist/index.js.map +1 -1
- package/dist/inputs/CatalogInput.js +8 -4
- package/dist/inputs/CatalogInput.js.map +1 -1
- package/dist/inputs/ColorInput.js +3 -2
- package/dist/inputs/ColorInput.js.map +1 -1
- package/dist/inputs/FormSection.js +3 -3
- package/dist/inputs/FormSection.js.map +1 -1
- package/dist/inputs/NumberInput.js +3 -2
- package/dist/inputs/NumberInput.js.map +1 -1
- package/dist/inputs/SelectInput.js +29 -11
- package/dist/inputs/SelectInput.js.map +1 -1
- package/dist/inputs/TextInput.js +6 -2
- package/dist/inputs/TextInput.js.map +1 -1
- package/dist/inputs/WizardLayout.js +54 -0
- package/dist/inputs/WizardLayout.js.map +1 -0
- package/dist/kanban/KanbanBoard.js +239 -14
- package/dist/kanban/KanbanBoard.js.map +1 -1
- package/dist/kanban/kanbanCards.js +19 -0
- package/dist/kanban/kanbanCards.js.map +1 -0
- package/dist/kanban.js +7 -1
- package/dist/kanban.js.map +1 -1
- package/dist/locales/en.js +74 -1
- package/dist/locales/en.js.map +1 -1
- package/dist/locales/es.js +74 -1
- package/dist/locales/es.js.map +1 -1
- package/dist/maps/MapView.js +28 -8
- package/dist/maps/MapView.js.map +1 -1
- package/dist/observability/usePublishedBuildWatch.js +4 -3
- package/dist/observability/usePublishedBuildWatch.js.map +1 -1
- package/dist/pwa/InstallAppSetting.js +6 -5
- package/dist/pwa/InstallAppSetting.js.map +1 -1
- package/dist/pwa/InstallInstructionsDialog.js +2 -2
- package/dist/pwa/InstallInstructionsDialog.js.map +1 -1
- package/dist/pwa/InstallPromptBanner.js +15 -9
- package/dist/pwa/InstallPromptBanner.js.map +1 -1
- package/dist/pwa/useInstallPrompt.js +2 -1
- package/dist/pwa/useInstallPrompt.js.map +1 -1
- package/dist/react-hook-form.js +6 -4
- package/dist/react-hook-form.js.map +1 -1
- package/dist/security/ActivityLog.js +4 -3
- package/dist/security/ActivityLog.js.map +1 -1
- package/dist/security/RecoveryCodesDialog.js +4 -3
- package/dist/security/RecoveryCodesDialog.js.map +1 -1
- package/dist/security/SessionsCard.js +8 -6
- package/dist/security/SessionsCard.js.map +1 -1
- package/dist/table.js +2 -0
- package/dist/table.js.map +1 -1
- package/dist/theme/components/MuiDialog.js +13 -0
- package/dist/theme/components/MuiDialog.js.map +1 -0
- package/dist/theme/createToolkitTheme.js.map +1 -1
- package/dist/theme/toolkitComponents.js +2 -0
- package/dist/theme/toolkitComponents.js.map +1 -1
- package/dist/toolkit/ComponentTexts.js +13 -0
- package/dist/toolkit/ComponentTexts.js.map +1 -0
- package/dist/toolkit/ToolkitProvider.js +36 -28
- package/dist/toolkit/ToolkitProvider.js.map +1 -1
- package/dist/toolkit/browserNavigation.js +19 -20
- package/dist/toolkit/browserNavigation.js.map +1 -1
- 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/toolkitSettings.js +24 -4
- package/dist/toolkit/toolkitSettings.js.map +1 -1
- package/dist/toolkit/useFormatters.js +12 -0
- package/dist/toolkit/useFormatters.js.map +1 -0
- package/dist/toolkit/useToolkitTranslation.js +11 -7
- package/dist/toolkit/useToolkitTranslation.js.map +1 -1
- package/dist/types/DataTable/AuditTrailTable.d.ts +3 -1
- package/dist/types/DataTable/EmptyState.d.ts +7 -2
- package/dist/types/DataTable/FilterChips.d.ts +3 -1
- package/dist/types/DataTable/GoToPage.d.ts +7 -2
- package/dist/types/DataTable/SelectionBar.d.ts +32 -0
- package/dist/types/DataTable/ServerTable.d.ts +64 -3
- package/dist/types/DataTable/index.d.ts +1 -1
- package/dist/types/DataTable/rowSelection.d.ts +113 -0
- package/dist/types/access/PermissionMatrix.d.ts +3 -1
- package/dist/types/account/AccountSecuritySection.d.ts +3 -1
- package/dist/types/account/ForgotPasswordScreen.d.ts +3 -1
- package/dist/types/account/ProfileScreen.d.ts +31 -1
- package/dist/types/account/ResetPasswordScreen.d.ts +3 -1
- package/dist/types/account/SignInScreen.d.ts +3 -1
- package/dist/types/account/accountConnector.d.ts +7 -2
- package/dist/types/adapters/reactRouterRoutes.d.ts +14 -2
- package/dist/types/api/createApiClient.d.ts +29 -1
- package/dist/types/appShell/AppLayout.d.ts +11 -1
- package/dist/types/appShell/AppearanceSettings.d.ts +8 -1
- package/dist/types/appShell/BarActionButton.d.ts +2 -2
- package/dist/types/appShell/BarActions.d.ts +6 -1
- package/dist/types/appShell/BarCapsule.d.ts +8 -0
- package/dist/types/appShell/BarSearch.d.ts +24 -0
- package/dist/types/appShell/MobileTabBar.d.ts +4 -1
- package/dist/types/appShell/shellSizes.d.ts +1 -0
- package/dist/types/auth/PasswordChecklist.d.ts +3 -1
- package/dist/types/calendar/EventCalendar.d.ts +18 -1
- package/dist/types/calendar/EventDetails.d.ts +36 -0
- package/dist/types/calendar/calendarEvents.d.ts +27 -0
- package/dist/types/calendar.d.ts +2 -0
- package/dist/types/charts.d.ts +4 -0
- package/dist/types/datePickers/DateInput.d.ts +3 -1
- package/dist/types/downloads/DownloadManager.d.ts +7 -1
- package/dist/types/downloads/downloadQueue.d.ts +8 -3
- package/dist/types/downloads/fileTypes.d.ts +39 -0
- package/dist/types/downloads/index.d.ts +1 -0
- package/dist/types/feedback/ConfirmDialog.d.ts +3 -1
- package/dist/types/feedback/ModalWaiting.d.ts +7 -2
- package/dist/types/feedback/NewBuildNotice.d.ts +3 -1
- package/dist/types/filepond/FileDropzone.d.ts +3 -1
- package/dist/types/formatting.d.ts +45 -90
- package/dist/types/forms/FormWizard.d.ts +3 -1
- package/dist/types/forms/auth/ChangePasswordForm.d.ts +3 -1
- package/dist/types/forms/auth/ForgotPasswordForm.d.ts +3 -1
- package/dist/types/forms/auth/SignInForm.d.ts +3 -1
- package/dist/types/forms/security/SecondStepForm.d.ts +3 -1
- package/dist/types/forms/security/TwoStepVerificationCard.d.ts +3 -1
- package/dist/types/hookForm/FormWizard.d.ts +22 -0
- package/dist/types/inbox/InboxLayout.d.ts +14 -2
- package/dist/types/inbox/MessageList.d.ts +30 -5
- package/dist/types/inbox/MessageView.d.ts +35 -3
- package/dist/types/inbox/inboxDates.d.ts +6 -1
- package/dist/types/index.d.ts +12 -5
- package/dist/types/inputs/CatalogInput.d.ts +9 -5
- package/dist/types/inputs/ColorInput.d.ts +3 -1
- package/dist/types/inputs/FormSection.d.ts +2 -2
- package/dist/types/inputs/NumberInput.d.ts +3 -1
- package/dist/types/inputs/SelectInput.d.ts +9 -5
- package/dist/types/inputs/TextInput.d.ts +3 -1
- package/dist/types/inputs/WizardLayout.d.ts +34 -0
- package/dist/types/kanban/KanbanBoard.d.ts +61 -6
- package/dist/types/kanban/kanbanCards.d.ts +22 -0
- package/dist/types/kanban.d.ts +1 -0
- package/dist/types/locales/en.d.ts +77 -0
- package/dist/types/locales/es.d.ts +77 -0
- package/dist/types/maps/MapView.d.ts +12 -3
- package/dist/types/observability/usePublishedBuildWatch.d.ts +3 -1
- package/dist/types/pwa/InstallAppSetting.d.ts +7 -1
- package/dist/types/pwa/InstallInstructionsDialog.d.ts +3 -1
- package/dist/types/pwa/InstallPromptBanner.d.ts +10 -1
- package/dist/types/pwa/useInstallPrompt.d.ts +3 -2
- package/dist/types/react-hook-form.d.ts +1 -0
- package/dist/types/security/ActivityLog.d.ts +3 -1
- package/dist/types/security/RecoveryCodesDialog.d.ts +6 -1
- package/dist/types/security/SessionsCard.d.ts +3 -1
- package/dist/types/table.d.ts +3 -1
- package/dist/types/theme/components/MuiDialog.d.ts +9 -0
- package/dist/types/toolkit/ComponentTexts.d.ts +11 -0
- package/dist/types/toolkit/ToolkitProvider.d.ts +18 -2
- package/dist/types/toolkit/browserNavigation.d.ts +23 -28
- 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/toolkitSettings.d.ts +49 -4
- package/dist/types/toolkit/useFormatters.d.ts +6 -0
- package/dist/types/toolkit/useToolkitTranslation.d.ts +2 -1
- package/dist/types/ui/actions/ActionsMenu.d.ts +20 -0
- package/dist/types/ui/actions/CopyButton.d.ts +3 -1
- package/dist/types/ui/actions/DownloadMenu.d.ts +8 -3
- package/dist/types/ui/actions/SecretField.d.ts +5 -1
- package/dist/types/ui/actions/SelectionActions.d.ts +39 -0
- package/dist/types/ui/filters/DateRangeFilter.d.ts +3 -1
- package/dist/types/ui/filters/QuickFilters.d.ts +3 -1
- package/dist/types/ui/index.d.ts +1 -1
- package/dist/types/ui/labels/tagOf.d.ts +13 -0
- package/dist/types/ui/layout/CollapsibleSection.d.ts +4 -1
- package/dist/types/ui/layout/ContentDialog.d.ts +3 -1
- package/dist/types/ui/layout/ErrorPage.d.ts +14 -1
- package/dist/types/ui/layout/FullPageLoader.d.ts +7 -1
- package/dist/types/ui/layout/PageHeading.d.ts +3 -1
- package/dist/types/ui/metrics/BarList.d.ts +7 -1
- package/dist/types/ui/metrics/CalendarHeatmap.d.ts +7 -1
- package/dist/types/ui/metrics/ChartTooltip.d.ts +9 -3
- package/dist/types/ui/metrics/ColumnChart.d.ts +23 -11
- package/dist/types/ui/metrics/LineChart.d.ts +41 -0
- package/dist/types/ui/metrics/MetricCard.d.ts +9 -1
- package/dist/types/ui/metrics/TableToggle.d.ts +9 -2
- package/dist/types/ui/metrics/chartParts.d.ts +112 -0
- package/dist/types/ui/navigation/BackButton.d.ts +3 -1
- package/dist/types/ui/navigation/ColorSchemeToggle.d.ts +8 -2
- package/dist/types/ui/navigation/FontSizeToggle.d.ts +7 -2
- package/dist/types/ui/navigation/LanguageToggle.d.ts +8 -3
- package/dist/types/ui/navigation/PageBreadcrumbs.d.ts +5 -2
- package/dist/types/ui/timeline/GroupedTimeline.d.ts +4 -1
- package/dist/types/upload/FileDropzone.d.ts +3 -1
- package/dist/ui/actions/ActionsMenu.js +51 -0
- package/dist/ui/actions/ActionsMenu.js.map +1 -0
- package/dist/ui/actions/CopyButton.js +2 -2
- package/dist/ui/actions/CopyButton.js.map +1 -1
- package/dist/ui/actions/DownloadMenu.js +11 -12
- package/dist/ui/actions/DownloadMenu.js.map +1 -1
- package/dist/ui/actions/SecretField.js +8 -4
- package/dist/ui/actions/SecretField.js.map +1 -1
- package/dist/ui/actions/SelectionActions.js +142 -0
- package/dist/ui/actions/SelectionActions.js.map +1 -0
- package/dist/ui/filters/DateRangeFilter.js +4 -3
- package/dist/ui/filters/DateRangeFilter.js.map +1 -1
- package/dist/ui/filters/QuickFilters.js +2 -2
- package/dist/ui/filters/QuickFilters.js.map +1 -1
- package/dist/ui/labels/tagOf.js +7 -0
- package/dist/ui/labels/tagOf.js.map +1 -0
- package/dist/ui/layout/CollapsibleSection.js +6 -2
- package/dist/ui/layout/CollapsibleSection.js.map +1 -1
- package/dist/ui/layout/ContentDialog.js +2 -2
- package/dist/ui/layout/ContentDialog.js.map +1 -1
- package/dist/ui/layout/ErrorPage.js +21 -7
- package/dist/ui/layout/ErrorPage.js.map +1 -1
- package/dist/ui/layout/FullPageLoader.js +2 -2
- package/dist/ui/layout/FullPageLoader.js.map +1 -1
- package/dist/ui/layout/PageHeading.js +2 -2
- package/dist/ui/layout/PageHeading.js.map +1 -1
- package/dist/ui/metrics/BarList.js +18 -13
- package/dist/ui/metrics/BarList.js.map +1 -1
- package/dist/ui/metrics/CalendarHeatmap.js +11 -6
- package/dist/ui/metrics/CalendarHeatmap.js.map +1 -1
- package/dist/ui/metrics/ChartTooltip.js +1 -1
- package/dist/ui/metrics/ChartTooltip.js.map +1 -1
- package/dist/ui/metrics/ColumnChart.js +59 -63
- package/dist/ui/metrics/ColumnChart.js.map +1 -1
- package/dist/ui/metrics/LineChart.js +117 -0
- package/dist/ui/metrics/LineChart.js.map +1 -0
- package/dist/ui/metrics/MetricCard.js +41 -8
- package/dist/ui/metrics/MetricCard.js.map +1 -1
- package/dist/ui/metrics/TableToggle.js +4 -2
- package/dist/ui/metrics/TableToggle.js.map +1 -1
- package/dist/ui/metrics/chartParts.js +93 -0
- package/dist/ui/metrics/chartParts.js.map +1 -0
- package/dist/ui/navigation/BackButton.js +2 -2
- package/dist/ui/navigation/BackButton.js.map +1 -1
- package/dist/ui/navigation/ColorSchemeToggle.js +6 -3
- package/dist/ui/navigation/ColorSchemeToggle.js.map +1 -1
- package/dist/ui/navigation/FontSizeToggle.js +3 -2
- package/dist/ui/navigation/FontSizeToggle.js.map +1 -1
- package/dist/ui/navigation/LanguageToggle.js +40 -19
- package/dist/ui/navigation/LanguageToggle.js.map +1 -1
- package/dist/ui/navigation/PageBreadcrumbs.js +2 -2
- package/dist/ui/navigation/PageBreadcrumbs.js.map +1 -1
- package/dist/ui/timeline/GroupedTimeline.js +10 -8
- package/dist/ui/timeline/GroupedTimeline.js.map +1 -1
- package/dist/upload/FileDropzone.js +5 -3
- package/dist/upload/FileDropzone.js.map +1 -1
- package/package.json +14 -6
|
@@ -17,8 +17,16 @@ export declare const CALENDAR_VIEW: Readonly<{
|
|
|
17
17
|
* al arrastrar un evento; si truena, el evento regresa
|
|
18
18
|
* @param {number|'auto'} [props.height]
|
|
19
19
|
* @param {string} props.ariaLabel ya traducido
|
|
20
|
+
* @param {(range: {start: string, end: string, view: string}) => void} [props.onDatesChange] cada que cambia lo que se ve (al
|
|
21
|
+
* abrir, al ir al anterior o siguiente, al cambiar de vista): para pedir al backend solo las citas de ese rango
|
|
22
|
+
* @param {(view: string) => void} [props.onViewChange] al cambiar de vista (CALENDAR_VIEW)
|
|
23
|
+
* @param {(event: any) => import('react').ReactNode} [props.renderEvent] lo de adentro de cada cita (recibe la cita de events
|
|
24
|
+
* tal cual, con sus campos propios)
|
|
25
|
+
* @param {object} [props.fullCalendarProps] lo demás de FullCalendar (businessHours, hiddenDays, slotMinTime, locale…); lo
|
|
26
|
+
* que el calendario controla (las citas, la barra, los eventos de arriba) no se reemplaza desde aquí
|
|
27
|
+
* @param {object} [props.texts] los textos que cambian, con la forma de `calendar` en los textos del paquete
|
|
20
28
|
*/
|
|
21
|
-
export default function EventCalendar({ events, initialView, views, onEventClick, onDateSelect, onEventChange, height, ariaLabel, }: {
|
|
29
|
+
export default function EventCalendar({ events, initialView, views, onEventClick, onDateSelect, onEventChange, height, ariaLabel, onDatesChange, onViewChange, renderEvent, fullCalendarProps, texts, }: {
|
|
22
30
|
events: Array<{
|
|
23
31
|
id: string;
|
|
24
32
|
title: string;
|
|
@@ -43,4 +51,13 @@ export default function EventCalendar({ events, initialView, views, onEventClick
|
|
|
43
51
|
}) => Promise<unknown> | void;
|
|
44
52
|
height?: number | 'auto';
|
|
45
53
|
ariaLabel: string;
|
|
54
|
+
onDatesChange?: (range: {
|
|
55
|
+
start: string;
|
|
56
|
+
end: string;
|
|
57
|
+
view: string;
|
|
58
|
+
}) => void;
|
|
59
|
+
onViewChange?: (view: string) => void;
|
|
60
|
+
renderEvent?: (event: any) => import('react').ReactNode;
|
|
61
|
+
fullCalendarProps?: object;
|
|
62
|
+
texts?: object;
|
|
46
63
|
}): import("react").JSX.Element;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/** Las respuestas de un invitado. */
|
|
2
|
+
export declare const ATTENDEE_RESPONSE: Readonly<{
|
|
3
|
+
accepted: "accepted";
|
|
4
|
+
declined: "declined";
|
|
5
|
+
pending: "pending";
|
|
6
|
+
}>;
|
|
7
|
+
/**
|
|
8
|
+
* @param {object} props
|
|
9
|
+
* @param {{title: string, start: string, end?: string|null, allDay?: boolean, tone?: string, location?: string, meetingUrl?: string, attendees?: Array<{id: string, name: string, email?: string, response?: 'accepted'|'declined'|'pending'}>, reminderMinutes?: number|null, description?: string}} props.event
|
|
10
|
+
* start y end como texto ISO (o AAAA-MM-DD un día completo); tone: el color de su tipo
|
|
11
|
+
* @param {import('react').ReactNode} [props.actions] botones de la pantalla (editar, borrar, responder…)
|
|
12
|
+
* @param {string} [props.titleId] el id del título: la ventana que lo contiene se nombra con él (aria-labelledby)
|
|
13
|
+
* @param {object} [props.texts] los textos que cambian, con la forma de `calendar` en los textos del paquete
|
|
14
|
+
*/
|
|
15
|
+
export default function EventDetails({ event, actions, titleId, texts }: {
|
|
16
|
+
event: {
|
|
17
|
+
title: string;
|
|
18
|
+
start: string;
|
|
19
|
+
end?: string | null;
|
|
20
|
+
allDay?: boolean;
|
|
21
|
+
tone?: string;
|
|
22
|
+
location?: string;
|
|
23
|
+
meetingUrl?: string;
|
|
24
|
+
attendees?: Array<{
|
|
25
|
+
id: string;
|
|
26
|
+
name: string;
|
|
27
|
+
email?: string;
|
|
28
|
+
response?: 'accepted' | 'declined' | 'pending';
|
|
29
|
+
}>;
|
|
30
|
+
reminderMinutes?: number | null;
|
|
31
|
+
description?: string;
|
|
32
|
+
};
|
|
33
|
+
actions?: import('react').ReactNode;
|
|
34
|
+
titleId?: string;
|
|
35
|
+
texts?: object;
|
|
36
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/** La unidad del recordatorio (la llave de su texto: calendar.reminder.<unidad>). */
|
|
2
|
+
export declare const REMINDER_UNIT: Readonly<{
|
|
3
|
+
none: "none";
|
|
4
|
+
atStart: "atStart";
|
|
5
|
+
minutes: "minutes";
|
|
6
|
+
hours: "hours";
|
|
7
|
+
days: "days";
|
|
8
|
+
}>;
|
|
9
|
+
/**
|
|
10
|
+
* Cómo se dice un recordatorio: «sin recordatorio», «al empezar», «15 minutos antes», «2 horas antes», «1 día antes». Usa la
|
|
11
|
+
* unidad más grande que lo dice exacto (90 minutos se quedan en minutos).
|
|
12
|
+
*
|
|
13
|
+
* @param {number|null|undefined} minutes cuántos minutos antes; null sin recordatorio
|
|
14
|
+
* @returns {{unit: string, count: number}}
|
|
15
|
+
*/
|
|
16
|
+
export declare function reminderOf(minutes: number | null | undefined): {
|
|
17
|
+
unit: string;
|
|
18
|
+
count: number;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* ¿La liga de reunión se puede abrir? Solo http y https: una liga «javascript:» o con otro esquema no se ofrece para abrir
|
|
22
|
+
* (la pinta quien la escribió, pero nadie le da clic a algo raro desde la app).
|
|
23
|
+
*
|
|
24
|
+
* @param {string|null|undefined} url
|
|
25
|
+
* @returns {boolean}
|
|
26
|
+
*/
|
|
27
|
+
export declare function isOpenableMeetingUrl(url: string | null | undefined): boolean;
|
package/dist/types/calendar.d.ts
CHANGED
package/dist/types/charts.d.ts
CHANGED
|
@@ -1,2 +1,6 @@
|
|
|
1
1
|
export { default as BarList } from './ui/metrics/BarList.js';
|
|
2
2
|
export { default as ColumnChart } from './ui/metrics/ColumnChart.js';
|
|
3
|
+
export { default as LineChart } from './ui/metrics/LineChart.js';
|
|
4
|
+
export { default as ChartTooltip } from './ui/metrics/ChartTooltip.js';
|
|
5
|
+
export { CHART_LINE_DASHES, CHART_SERIES_TONES } from './ui/metrics/chartParts.js';
|
|
6
|
+
export { CHART_VIEW } from './ui/metrics/TableToggle.js';
|
|
@@ -17,8 +17,9 @@ export declare const CALENDAR_DATE_FORMAT = "YYYY-MM-DD";
|
|
|
17
17
|
* @param {'day'|'month'|'year'} [props.openTo] por dónde abre el calendario (year para un nacimiento)
|
|
18
18
|
* @param {boolean} [props.disabled]
|
|
19
19
|
* @param {import('react').Ref<HTMLInputElement>} [props.inputRef]
|
|
20
|
+
* @param {object} [props.texts] los textos que cambian, con la forma de `common` en los textos del paquete
|
|
20
21
|
*/
|
|
21
|
-
export default function DateInput({ name, label, value, onChange, onBlur, error, helperText, minDate, maxDate, disableFuture, disablePast, openTo, disabled, inputRef, }: {
|
|
22
|
+
export default function DateInput({ name, label, value, onChange, onBlur, error, helperText, minDate, maxDate, disableFuture, disablePast, openTo, disabled, inputRef, texts, }: {
|
|
22
23
|
name?: string;
|
|
23
24
|
label: string;
|
|
24
25
|
value: string | null | undefined;
|
|
@@ -36,4 +37,5 @@ export default function DateInput({ name, label, value, onChange, onBlur, error,
|
|
|
36
37
|
openTo?: 'day' | 'month' | 'year';
|
|
37
38
|
disabled?: boolean;
|
|
38
39
|
inputRef?: import('react').Ref<HTMLInputElement>;
|
|
40
|
+
texts?: object;
|
|
39
41
|
}): import("react").JSX.Element;
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @param {object} [props]
|
|
3
|
+
* @param {object} [props.texts] los textos que cambian, con la forma de `common` en los textos del paquete
|
|
4
|
+
*/
|
|
5
|
+
export default function DownloadManager({ texts }?: {
|
|
6
|
+
texts?: object;
|
|
7
|
+
}): import("react").JSX.Element;
|
|
@@ -7,15 +7,18 @@ export declare const downloadsActor: import("xstate").Actor<import("xstate").Sta
|
|
|
7
7
|
* @param {object} options
|
|
8
8
|
* @param {string} options.label ya traducido; lo que se ve en el panel mientras todavía no se sabe el nombre del
|
|
9
9
|
* archivo
|
|
10
|
-
* @param {
|
|
10
|
+
* @param {string} [options.format] el tipo de archivo, para su ícono en el panel: xlsx, csv, pdf o uno del proyecto
|
|
11
|
+
* (ToolkitProvider fileTypes)
|
|
11
12
|
* @param {(transferOptions: {signal: AbortSignal, onDownloadProgress: (progress: {loaded: number, total?: number|null}) => void}) => Promise<{blob: Blob, fileName: string}>} options.request
|
|
12
13
|
* @param {(fileName: string) => void} [options.onCompleted] p. ej. volver a pedir la tabla (si la descarga cambia algo
|
|
13
14
|
* en el servidor)
|
|
15
|
+
* @param {(error: unknown) => void} [options.onFailed] cuando no se pudo (el panel ya lo dice; para avisar o reportarlo)
|
|
16
|
+
* @param {() => void} [options.onCanceled] cuando la persona la canceló
|
|
14
17
|
* @returns {Promise<string>} id de la descarga; la promesa se cumple cuando termina (bien, mal o cancelada), nunca falla
|
|
15
18
|
*/
|
|
16
|
-
export declare function startDownload({ label, format, request, onCompleted }: {
|
|
19
|
+
export declare function startDownload({ label, format, request, onCompleted, onFailed, onCanceled }: {
|
|
17
20
|
label: string;
|
|
18
|
-
format?:
|
|
21
|
+
format?: string;
|
|
19
22
|
request: (transferOptions: {
|
|
20
23
|
signal: AbortSignal;
|
|
21
24
|
onDownloadProgress: (progress: {
|
|
@@ -27,6 +30,8 @@ export declare function startDownload({ label, format, request, onCompleted }: {
|
|
|
27
30
|
fileName: string;
|
|
28
31
|
}>;
|
|
29
32
|
onCompleted?: (fileName: string) => void;
|
|
33
|
+
onFailed?: (error: unknown) => void;
|
|
34
|
+
onCanceled?: () => void;
|
|
30
35
|
}): Promise<string>;
|
|
31
36
|
/**
|
|
32
37
|
* Cancela una descarga en curso (el panel la marca como cancelada).
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/** Los tipos de la casa: su ícono y su color (de la paleta del tema, claro y oscuro). */
|
|
2
|
+
export declare const DEFAULT_FILE_TYPES: Readonly<{
|
|
3
|
+
xlsx: Readonly<{
|
|
4
|
+
Icon: import("@mui/material/OverridableComponent").OverridableComponent<import("@mui/material/SvgIcon").SvgIconTypeMap<{}, "svg">> & {
|
|
5
|
+
muiName: string;
|
|
6
|
+
};
|
|
7
|
+
color: "success.main";
|
|
8
|
+
}>;
|
|
9
|
+
csv: Readonly<{
|
|
10
|
+
Icon: import("@mui/material/OverridableComponent").OverridableComponent<import("@mui/material/SvgIcon").SvgIconTypeMap<{}, "svg">> & {
|
|
11
|
+
muiName: string;
|
|
12
|
+
};
|
|
13
|
+
color: "info.main";
|
|
14
|
+
}>;
|
|
15
|
+
pdf: Readonly<{
|
|
16
|
+
Icon: import("@mui/material/OverridableComponent").OverridableComponent<import("@mui/material/SvgIcon").SvgIconTypeMap<{}, "svg">> & {
|
|
17
|
+
muiName: string;
|
|
18
|
+
};
|
|
19
|
+
color: "error.main";
|
|
20
|
+
}>;
|
|
21
|
+
}>;
|
|
22
|
+
/** Un tipo que nadie declaró: el ícono de archivo y el gris del texto. */
|
|
23
|
+
export declare const UNKNOWN_FILE_TYPE: Readonly<{
|
|
24
|
+
Icon: import("@mui/material/OverridableComponent").OverridableComponent<import("@mui/material/SvgIcon").SvgIconTypeMap<{}, "svg">> & {
|
|
25
|
+
muiName: string;
|
|
26
|
+
};
|
|
27
|
+
color: "text.secondary";
|
|
28
|
+
}>;
|
|
29
|
+
/**
|
|
30
|
+
* Los tipos que conoce esta app: los de la casa y los del proyecto (el del proyecto gana si se llama igual).
|
|
31
|
+
*
|
|
32
|
+
* @returns {Record<string, {Icon: import('react').ElementType, color: string, label?: string, hint?: string}>}
|
|
33
|
+
*/
|
|
34
|
+
export declare function useFileTypes(): Record<string, {
|
|
35
|
+
Icon: import('react').ElementType;
|
|
36
|
+
color: string;
|
|
37
|
+
label?: string;
|
|
38
|
+
hint?: string;
|
|
39
|
+
}>;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export { default as DownloadManager } from './DownloadManager.js';
|
|
2
2
|
export { cancelDownload, clearFinishedDownloads, startDownload } from './downloadQueue.js';
|
|
3
|
+
export { DEFAULT_FILE_TYPES, UNKNOWN_FILE_TYPE, useFileTypes } from './fileTypes.js';
|
|
3
4
|
export { DOWNLOAD_STATUS, downloadsMachine } from './downloadsMachine.js';
|
|
@@ -12,8 +12,9 @@
|
|
|
12
12
|
* @param {() => void} props.onConfirm
|
|
13
13
|
* @param {() => void} props.onClose
|
|
14
14
|
* @param {import('react').ReactNode} [props.children]
|
|
15
|
+
* @param {object} [props.texts] los textos que cambian, con la forma de `common` en los textos del paquete
|
|
15
16
|
*/
|
|
16
|
-
export default function ConfirmDialog({ open, title, description, confirmLabel, cancelLabel, tone, isPending, isConfirmDisabled, errorMessage, onConfirm, onClose, children, }: {
|
|
17
|
+
export default function ConfirmDialog({ open, title, description, confirmLabel, cancelLabel, tone, isPending, isConfirmDisabled, errorMessage, onConfirm, onClose, children, texts, }: {
|
|
17
18
|
open: boolean;
|
|
18
19
|
title: string;
|
|
19
20
|
description?: import('react').ReactNode;
|
|
@@ -26,4 +27,5 @@ export default function ConfirmDialog({ open, title, description, confirmLabel,
|
|
|
26
27
|
onConfirm: () => void;
|
|
27
28
|
onClose: () => void;
|
|
28
29
|
children?: import('react').ReactNode;
|
|
30
|
+
texts?: object;
|
|
29
31
|
}): import("react").JSX.Element;
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @param {
|
|
2
|
+
* @param {object} props
|
|
3
|
+
* @param {boolean} props.open
|
|
4
|
+
* @param {string} [props.title] ya traducido; por omisión common:waiting.title
|
|
5
|
+
* @param {string} [props.text] ya traducido; por omisión common:waiting.text
|
|
6
|
+
* @param {object} [props.texts] los textos que cambian, con la forma de `common` en los textos del paquete
|
|
3
7
|
*/
|
|
4
|
-
export default function ModalWaiting({ open, title, text }: {
|
|
8
|
+
export default function ModalWaiting({ open, title, text, texts }: {
|
|
5
9
|
open: boolean;
|
|
6
10
|
title?: string;
|
|
7
11
|
text?: string;
|
|
12
|
+
texts?: object;
|
|
8
13
|
}): import("react").JSX.Element;
|
|
@@ -9,10 +9,12 @@ export declare const NEW_BUILD_NOTICE_VARIANT: Readonly<{
|
|
|
9
9
|
* @param {string} [props.reloadLabel] ya traducido; por omisión «Recargar»
|
|
10
10
|
* @param {() => void} [props.onReload] por omisión recarga la página
|
|
11
11
|
* @param {'ribbon'|'floating'} [props.variant] franja o cápsula flotante (NEW_BUILD_NOTICE_VARIANT); por omisión franja
|
|
12
|
+
* @param {object} [props.texts] los textos que cambian, con la forma de `common` en los textos del paquete
|
|
12
13
|
*/
|
|
13
|
-
export default function NewBuildNotice({ message, reloadLabel, onReload, variant }?: {
|
|
14
|
+
export default function NewBuildNotice({ message, reloadLabel, onReload, variant, texts }?: {
|
|
14
15
|
message?: string;
|
|
15
16
|
reloadLabel?: string;
|
|
16
17
|
onReload?: () => void;
|
|
17
18
|
variant?: 'ribbon' | 'floating';
|
|
19
|
+
texts?: object;
|
|
18
20
|
}): import("react").JSX.Element | null;
|
|
@@ -23,8 +23,9 @@
|
|
|
23
23
|
* @param {import('react').ReactNode} [props.actions]
|
|
24
24
|
* @param {import('react').ReactNode} [props.children]
|
|
25
25
|
* @param {object} [props.sx]
|
|
26
|
+
* @param {object} [props.texts] los textos que cambian, con la forma de `common` en los textos del paquete
|
|
26
27
|
*/
|
|
27
|
-
export default function FileDropzone({ value, onChange, accept, maxSize, multiple, maxFiles, maxTotalSize, name, hint, buttonLabel, disabled, busy, busyModal, autoReject, validate, server, instantUpload, apiRef, onProcessProgress, onReject, actions, children, sx, }: {
|
|
28
|
+
export default function FileDropzone({ value, onChange, accept, maxSize, multiple, maxFiles, maxTotalSize, name, hint, buttonLabel, disabled, busy, busyModal, autoReject, validate, server, instantUpload, apiRef, onProcessProgress, onReject, actions, children, sx, texts, }: {
|
|
28
29
|
value?: File | File[] | null;
|
|
29
30
|
onChange: (value: File | File[] | null) => void;
|
|
30
31
|
accept?: string | string[];
|
|
@@ -56,4 +57,5 @@ export default function FileDropzone({ value, onChange, accept, maxSize, multipl
|
|
|
56
57
|
actions?: import('react').ReactNode;
|
|
57
58
|
children?: import('react').ReactNode;
|
|
58
59
|
sx?: object;
|
|
60
|
+
texts?: object;
|
|
59
61
|
}): import("react").JSX.Element;
|
|
@@ -1,102 +1,57 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* @param {string
|
|
6
|
-
*/
|
|
7
|
-
export declare function
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
2
|
+
* Los formatos con la configuración que da settingsOf (se lee en cada llamada: si cambia el idioma, el siguiente formato ya
|
|
3
|
+
* sale en el nuevo).
|
|
4
|
+
*
|
|
5
|
+
* @param {() => {language: string, languages?: Array<{code: string, locale?: string}>, timeZone: string, currency: string}} settingsOf
|
|
6
|
+
*/
|
|
7
|
+
export declare function formattersOf(settingsOf: () => {
|
|
8
|
+
language: string;
|
|
9
|
+
languages?: Array<{
|
|
10
|
+
code: string;
|
|
11
|
+
locale?: string;
|
|
12
|
+
}>;
|
|
13
|
+
timeZone: string;
|
|
14
|
+
currency: string;
|
|
15
|
+
}): Readonly<{
|
|
16
|
+
formatNumber: (value: number | string | null | undefined, fallback?: string) => string;
|
|
17
|
+
formatList: (items: string[]) => string;
|
|
18
|
+
formatCurrency: (value: number | string | null | undefined, fallback?: string) => string;
|
|
19
|
+
formatFileSize: (bytes: number | null | undefined, fallback?: string) => string;
|
|
20
|
+
formatPercent: (value: number | null | undefined, { fractionDigits, isRatio, fallback }?: {
|
|
21
|
+
fractionDigits?: number;
|
|
22
|
+
isRatio?: boolean;
|
|
23
|
+
fallback?: string;
|
|
24
|
+
}) => string;
|
|
25
|
+
formatDateTime: (value: string | null | undefined, { fallback }?: {
|
|
26
|
+
fallback?: string;
|
|
27
|
+
}) => string;
|
|
28
|
+
formatDate: (value: string | null | undefined, { fallback }?: {
|
|
29
|
+
fallback?: string;
|
|
30
|
+
}) => string;
|
|
31
|
+
formatTime: (value: string | null | undefined, { fallback }?: {
|
|
32
|
+
fallback?: string;
|
|
33
|
+
}) => string;
|
|
34
|
+
formatMonthName: (year: number, month: number, { style, capitalize }?: {
|
|
35
|
+
style?: 'long' | 'short';
|
|
36
|
+
capitalize?: boolean;
|
|
37
|
+
}) => string;
|
|
38
|
+
formatMonthShortName: (month: number) => string;
|
|
39
|
+
formatWeekdayShortName: (isoWeekday: number) => string;
|
|
40
|
+
}>;
|
|
41
|
+
export declare const formatNumber: (value: number | string | null | undefined, fallback?: string) => string, formatList: (items: string[]) => string, formatCurrency: (value: number | string | null | undefined, fallback?: string) => string, formatFileSize: (bytes: number | null | undefined, fallback?: string) => string, formatPercent: (value: number | null | undefined, { fractionDigits, isRatio, fallback }?: {
|
|
37
42
|
fractionDigits?: number;
|
|
38
43
|
isRatio?: boolean;
|
|
39
44
|
fallback?: string;
|
|
40
|
-
}):
|
|
41
|
-
/**
|
|
42
|
-
* Fecha y hora de un instante ISO en la zona del negocio.
|
|
43
|
-
*
|
|
44
|
-
* @param {string|null|undefined} value instante ISO con desfase
|
|
45
|
-
* @param {{fallback?: string}} [options]
|
|
46
|
-
*/
|
|
47
|
-
export declare function formatDateTime(value: string | null | undefined, { fallback }?: {
|
|
45
|
+
}) => string, formatDateTime: (value: string | null | undefined, { fallback }?: {
|
|
48
46
|
fallback?: string;
|
|
49
|
-
}):
|
|
50
|
-
/**
|
|
51
|
-
* Solo la fecha. Acepta un instante ISO (se pasa a la zona del negocio) o una fecha de calendario "2026-08-16"
|
|
52
|
-
* (se pinta tal cual, sin moverla de día).
|
|
53
|
-
*
|
|
54
|
-
* @param {string|null|undefined} value
|
|
55
|
-
* @param {{fallback?: string}} [options]
|
|
56
|
-
*/
|
|
57
|
-
export declare function formatDate(value: string | null | undefined, { fallback }?: {
|
|
47
|
+
}) => string, formatDate: (value: string | null | undefined, { fallback }?: {
|
|
58
48
|
fallback?: string;
|
|
59
|
-
}):
|
|
60
|
-
/**
|
|
61
|
-
* Solo la hora (24 h) de un instante ISO en la zona del negocio: "07:00".
|
|
62
|
-
*
|
|
63
|
-
* Existe aparte de formatDateTime porque las pantallas escriben "16 ago 2026 · 07:00" con punto medio, y Intl une
|
|
64
|
-
* fecha y hora con coma: se arma formatDate + formatTime.
|
|
65
|
-
*
|
|
66
|
-
* @param {string|null|undefined} value instante ISO con desfase
|
|
67
|
-
* @param {{fallback?: string}} [options]
|
|
68
|
-
*/
|
|
69
|
-
export declare function formatTime(value: string | null | undefined, { fallback }?: {
|
|
49
|
+
}) => string, formatTime: (value: string | null | undefined, { fallback }?: {
|
|
70
50
|
fallback?: string;
|
|
71
|
-
}):
|
|
72
|
-
/**
|
|
73
|
-
* Nombre de un mes de calendario: "agosto 2026" (long) o "ago 2026" (short).
|
|
74
|
-
*
|
|
75
|
-
* OJO: no se usa Intl con {month, year} juntos porque en español sale "agosto de 2026" y las pantallas dicen
|
|
76
|
-
* "agosto 2026"; se pide solo el mes y se pega el año.
|
|
77
|
-
*
|
|
78
|
-
* @param {number} year
|
|
79
|
-
* @param {number} month 1 a 12
|
|
80
|
-
* @param {{style?: 'long'|'short', capitalize?: boolean}} [options] capitalize: "Agosto 2026" (fila de mes)
|
|
81
|
-
*/
|
|
82
|
-
export declare function formatMonthName(year: number, month: number, { style, capitalize }?: {
|
|
51
|
+
}) => string, formatMonthName: (year: number, month: number, { style, capitalize }?: {
|
|
83
52
|
style?: 'long' | 'short';
|
|
84
53
|
capitalize?: boolean;
|
|
85
|
-
}): string;
|
|
86
|
-
/**
|
|
87
|
-
* Nombre corto de un mes sin año: "ene", "feb" (rótulos de columnas de calendario y rejillas por periodo).
|
|
88
|
-
*
|
|
89
|
-
* @param {number} month 1 a 12
|
|
90
|
-
* @returns {string}
|
|
91
|
-
*/
|
|
92
|
-
export declare function formatMonthShortName(month: number): string;
|
|
93
|
-
/**
|
|
94
|
-
* Nombre corto de un día de la semana: "lun", "mié" (renglones del calendario de actividad).
|
|
95
|
-
*
|
|
96
|
-
* @param {number} isoWeekday 1 = lunes ... 7 = domingo
|
|
97
|
-
* @returns {string}
|
|
98
|
-
*/
|
|
99
|
-
export declare function formatWeekdayShortName(isoWeekday: number): string;
|
|
54
|
+
}) => string, formatMonthShortName: (month: number) => string, formatWeekdayShortName: (isoWeekday: number) => string;
|
|
100
55
|
/**
|
|
101
56
|
* Día del mes de una fecha de calendario ("2026-08-16" → 16), sin moverla de zona.
|
|
102
57
|
*
|
|
@@ -7,8 +7,9 @@
|
|
|
7
7
|
* @param {boolean} [props.steps[].optional] se puede omitir
|
|
8
8
|
* @param {import('react').ReactNode} props.steps[].content los campos del paso
|
|
9
9
|
* @param {string} props.submitLabel ya traducido: el botón del último paso
|
|
10
|
+
* @param {object} [props.texts] los textos que cambian, con la forma de `common`: {wizard: {next, back, skip, optional, skipped, stepOf}}
|
|
10
11
|
*/
|
|
11
|
-
export default function FormWizard({ steps, submitLabel }: {
|
|
12
|
+
export default function FormWizard({ steps, submitLabel, texts }: {
|
|
12
13
|
steps: {
|
|
13
14
|
key: string;
|
|
14
15
|
label: string;
|
|
@@ -17,4 +18,5 @@ export default function FormWizard({ steps, submitLabel }: {
|
|
|
17
18
|
content: import('react').ReactNode;
|
|
18
19
|
}[];
|
|
19
20
|
submitLabel: string;
|
|
21
|
+
texts?: object;
|
|
20
22
|
}): import("react").JSX.Element;
|
|
@@ -4,12 +4,14 @@
|
|
|
4
4
|
* contraseña; si el servidor dice que no (la actual no es), truena con su problema
|
|
5
5
|
* @param {boolean} [props.requireCurrentPassword] por omisión sí; sin ella para la pantalla del enlace del correo
|
|
6
6
|
* @param {object} [props.policy] las reglas de la nueva; por omisión DEFAULT_PASSWORD_POLICY
|
|
7
|
+
* @param {object} [props.texts] los textos que cambian, con la forma de `auth` en los textos del paquete
|
|
7
8
|
*/
|
|
8
|
-
export default function ChangePasswordForm({ onSubmit, requireCurrentPassword, policy }: {
|
|
9
|
+
export default function ChangePasswordForm({ onSubmit, requireCurrentPassword, policy, texts }: {
|
|
9
10
|
onSubmit: (values: {
|
|
10
11
|
currentPassword?: string;
|
|
11
12
|
newPassword: string;
|
|
12
13
|
}) => Promise<unknown>;
|
|
13
14
|
requireCurrentPassword?: boolean;
|
|
14
15
|
policy?: object;
|
|
16
|
+
texts?: object;
|
|
15
17
|
}): import("react").JSX.Element;
|
|
@@ -3,10 +3,12 @@
|
|
|
3
3
|
* @param {(values: {email: string}) => Promise<unknown>} props.onSubmit pide el enlace; si el servidor falla, truena con su
|
|
4
4
|
* problema
|
|
5
5
|
* @param {string} [props.signInPath] la liga para regresar a iniciar sesión
|
|
6
|
+
* @param {object} [props.texts] los textos que cambian, con la forma de `auth` en los textos del paquete
|
|
6
7
|
*/
|
|
7
|
-
export default function ForgotPasswordForm({ onSubmit, signInPath }: {
|
|
8
|
+
export default function ForgotPasswordForm({ onSubmit, signInPath, texts }: {
|
|
8
9
|
onSubmit: (values: {
|
|
9
10
|
email: string;
|
|
10
11
|
}) => Promise<unknown>;
|
|
11
12
|
signInPath?: string;
|
|
13
|
+
texts?: object;
|
|
12
14
|
}): import("react").JSX.Element;
|
|
@@ -5,8 +5,9 @@
|
|
|
5
5
|
* @param {string} [props.forgotPasswordPath] sin ella no sale la liga de «¿Olvidó su contraseña?»
|
|
6
6
|
* @param {boolean} [props.showRememberMe] por omisión sí
|
|
7
7
|
* @param {string} [props.initialEmail]
|
|
8
|
+
* @param {object} [props.texts] los textos que cambian, con la forma de `auth` en los textos del paquete
|
|
8
9
|
*/
|
|
9
|
-
export default function SignInForm({ onSubmit, forgotPasswordPath, showRememberMe, initialEmail }: {
|
|
10
|
+
export default function SignInForm({ onSubmit, forgotPasswordPath, showRememberMe, initialEmail, texts }: {
|
|
10
11
|
onSubmit: (values: {
|
|
11
12
|
email: string;
|
|
12
13
|
password: string;
|
|
@@ -15,4 +16,5 @@ export default function SignInForm({ onSubmit, forgotPasswordPath, showRememberM
|
|
|
15
16
|
forgotPasswordPath?: string;
|
|
16
17
|
showRememberMe?: boolean;
|
|
17
18
|
initialEmail?: string;
|
|
19
|
+
texts?: object;
|
|
18
20
|
}): import("react").JSX.Element;
|
|
@@ -14,8 +14,9 @@ export declare const SECOND_STEP_METHOD: Readonly<{
|
|
|
14
14
|
* @param {(message: string|null) => void} props.onCancel regresa a escribir la contraseña (con el motivo, si lo hay)
|
|
15
15
|
* @param {import('react').ReactNode} [props.footer] abajo del botón, dentro del formulario: puede llenar el código con
|
|
16
16
|
* useFormikContext (p. ej. el atajo de los ejemplos)
|
|
17
|
+
* @param {object} [props.texts] los textos que cambian, con la forma de `security` en los textos del paquete
|
|
17
18
|
*/
|
|
18
|
-
export default function SecondStepForm({ methods, canUsePasskeys, onUsePasskey, onSubmitCode, onCancel, footer }: {
|
|
19
|
+
export default function SecondStepForm({ methods, canUsePasskeys, onUsePasskey, onSubmitCode, onCancel, footer, texts }: {
|
|
19
20
|
methods: string[];
|
|
20
21
|
canUsePasskeys?: boolean;
|
|
21
22
|
onUsePasskey?: () => Promise<unknown>;
|
|
@@ -25,4 +26,5 @@ export default function SecondStepForm({ methods, canUsePasskeys, onUsePasskey,
|
|
|
25
26
|
}) => Promise<unknown>;
|
|
26
27
|
onCancel: (message: string | null) => void;
|
|
27
28
|
footer?: import('react').ReactNode;
|
|
29
|
+
texts?: object;
|
|
28
30
|
}): import("react").JSX.Element;
|
|
@@ -15,8 +15,9 @@
|
|
|
15
15
|
* @param {string} [props.account] la cuenta (el correo), para el archivo de los códigos
|
|
16
16
|
* @param {import('react').ReactNode} [props.passkeyNotice] un aviso en el diálogo de crear la llave, antes de que el
|
|
17
17
|
* navegador la guarde (p. ej. el de la demostración: la llave queda de verdad en el llavero de la persona)
|
|
18
|
+
* @param {object} [props.texts] los textos que cambian, con la forma de `security` en los textos del paquete
|
|
18
19
|
*/
|
|
19
|
-
export default function TwoStepVerificationCard({ security, onSecurityChange, actions, canUsePasskeys, account, passkeyNotice }: {
|
|
20
|
+
export default function TwoStepVerificationCard({ security, onSecurityChange, actions, canUsePasskeys, account, passkeyNotice, texts }: {
|
|
20
21
|
security: {
|
|
21
22
|
isEnabled: boolean;
|
|
22
23
|
enabledAt?: string | null;
|
|
@@ -78,4 +79,5 @@ export default function TwoStepVerificationCard({ security, onSecurityChange, ac
|
|
|
78
79
|
canUsePasskeys?: boolean;
|
|
79
80
|
account?: string;
|
|
80
81
|
passkeyNotice?: import('react').ReactNode;
|
|
82
|
+
texts?: object;
|
|
81
83
|
}): import("react").JSX.Element;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @param {object} props
|
|
3
|
+
* @param {Object[]} props.steps en orden
|
|
4
|
+
* @param {string} props.steps[].key
|
|
5
|
+
* @param {string} props.steps[].label ya traducido
|
|
6
|
+
* @param {string[]} [props.steps[].fields] los campos del paso (los que revisa «Siguiente»)
|
|
7
|
+
* @param {boolean} [props.steps[].optional] se puede omitir
|
|
8
|
+
* @param {import('react').ReactNode} props.steps[].content los campos del paso
|
|
9
|
+
* @param {string} props.submitLabel ya traducido: el botón del último paso
|
|
10
|
+
* @param {object} [props.texts] los textos que cambian, con la forma de `common`: {wizard: {next, back, skip, optional, skipped, stepOf}}
|
|
11
|
+
*/
|
|
12
|
+
export default function FormWizard({ steps, submitLabel, texts }: {
|
|
13
|
+
steps: {
|
|
14
|
+
key: string;
|
|
15
|
+
label: string;
|
|
16
|
+
fields?: string[];
|
|
17
|
+
optional?: boolean;
|
|
18
|
+
content: import('react').ReactNode;
|
|
19
|
+
}[];
|
|
20
|
+
submitLabel: string;
|
|
21
|
+
texts?: object;
|
|
22
|
+
}): import("react").JSX.Element;
|
|
@@ -1,21 +1,31 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @param {object} props
|
|
3
3
|
* @param {Array<{id: string, label: string, Icon?: import('react').ElementType, unreadCount?: number}>} props.folders
|
|
4
|
-
* @param {string} props.
|
|
4
|
+
* @param {Array<{id: string, label: string, color?: string, unreadCount?: number}>} [props.labels] las etiquetas, debajo de las
|
|
5
|
+
* carpetas con su punto de color (un color del tema); su id no debe repetir el de una carpeta
|
|
6
|
+
* @param {string} props.selectedFolderId la carpeta o etiqueta elegida
|
|
5
7
|
* @param {(folderId: string) => void} props.onSelectFolder
|
|
6
8
|
* @param {import('react').ReactNode} [props.toolbar] arriba de la lista (buscar, redactar)
|
|
7
9
|
* @param {import('react').ReactNode} props.list normalmente MessageList
|
|
8
10
|
* @param {import('react').ReactNode} props.detail normalmente MessageView
|
|
9
11
|
* @param {boolean} [props.isDetailOpen] en el teléfono, se ve la lectura en lugar de la lista
|
|
10
12
|
* @param {() => void} [props.onCloseDetail] «Regresar» del teléfono
|
|
13
|
+
* @param {import('react').ReactNode} [props.foldersHeader] arriba de las carpetas en escritorio (un botón «Redactar»)
|
|
14
|
+
* @param {object} [props.texts] los textos que cambian, con la forma de `inbox` en los textos del paquete
|
|
11
15
|
*/
|
|
12
|
-
export default function InboxLayout({ folders, selectedFolderId, onSelectFolder, toolbar, list, detail, isDetailOpen, onCloseDetail }: {
|
|
16
|
+
export default function InboxLayout({ folders, labels, selectedFolderId, onSelectFolder, toolbar, list, detail, isDetailOpen, onCloseDetail, foldersHeader, texts, }: {
|
|
13
17
|
folders: Array<{
|
|
14
18
|
id: string;
|
|
15
19
|
label: string;
|
|
16
20
|
Icon?: import('react').ElementType;
|
|
17
21
|
unreadCount?: number;
|
|
18
22
|
}>;
|
|
23
|
+
labels?: Array<{
|
|
24
|
+
id: string;
|
|
25
|
+
label: string;
|
|
26
|
+
color?: string;
|
|
27
|
+
unreadCount?: number;
|
|
28
|
+
}>;
|
|
19
29
|
selectedFolderId: string;
|
|
20
30
|
onSelectFolder: (folderId: string) => void;
|
|
21
31
|
toolbar?: import('react').ReactNode;
|
|
@@ -23,4 +33,6 @@ export default function InboxLayout({ folders, selectedFolderId, onSelectFolder,
|
|
|
23
33
|
detail: import('react').ReactNode;
|
|
24
34
|
isDetailOpen?: boolean;
|
|
25
35
|
onCloseDetail?: () => void;
|
|
36
|
+
foldersHeader?: import('react').ReactNode;
|
|
37
|
+
texts?: object;
|
|
26
38
|
}): import("react").JSX.Element;
|