@stackcraftmx/calcita 0.0.0-stage → 0.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +110 -0
- package/README.md +611 -2
- package/cli/askQuestions.js +63 -0
- package/cli/calcita.js +150 -0
- package/cli/makeComponent.js +50 -0
- package/cli/makeForm.js +68 -0
- package/cli/makeModule.js +78 -0
- package/cli/makePage.js +62 -0
- package/cli/names.js +64 -0
- package/cli/newProject.js +103 -0
- package/cli/packageVersions.js +38 -0
- package/cli/projectAnswers.js +145 -0
- package/cli/projectConfig.js +38 -0
- package/cli/projectFiles.js +126 -0
- package/cli/screenLabels.js +41 -0
- package/cli/templateFiles.js +186 -0
- package/cli/templates/component/core/__ComponentName__.jsx.tpl +23 -0
- package/cli/templates/component/module/__ComponentName__.jsx.tpl +21 -0
- package/cli/templates/form/formik/__FormName__.jsx.tpl +50 -0
- package/cli/templates/form/hookForm/__FormName__.jsx.tpl +53 -0
- package/cli/templates/form/shared/__formName__Schema.js.tpl +20 -0
- package/cli/templates/form/shared/__formName__Texts.js.tpl +6 -0
- package/cli/templates/module/__Name__Page.jsx.tpl +75 -0
- package/cli/templates/module/__name__Api.js.tpl +39 -0
- package/cli/templates/module/__name__Texts.js.tpl +27 -0
- package/cli/templates/module/menu.js.tpl +21 -0
- package/cli/templates/module/routes.js.tpl +7 -0
- package/cli/templates/moduleServer/__name__Server.js.tpl +68 -0
- package/cli/templates/page/__PageName__Page.jsx.tpl +22 -0
- package/cli/templates/page/__pageName__PageTexts.js.tpl +23 -0
- package/cli/templates/project/README.md.tpl +55 -0
- package/cli/templates/project/dot-gitignore.tpl +11 -0
- package/cli/templates/project/index.html.tpl +20 -0
- package/cli/templates/project/jsconfig.json.tpl +16 -0
- package/cli/templates/project/pnpm-workspace.yaml.tpl +5 -0
- package/cli/templates/project/public/favicon.svg +1 -0
- package/cli/templates/project/public/icons/apple-touch-icon.png +0 -0
- package/cli/templates/project/public/icons/icon-192.png +0 -0
- package/cli/templates/project/public/icons/icon-512-maskable.png +0 -0
- package/cli/templates/project/public/icons/icon-512.png +0 -0
- package/cli/templates/project/public/manifest.webmanifest.tpl +17 -0
- package/cli/templates/project/src/app/AppProviders.jsx.tpl +102 -0
- package/cli/templates/project/src/app/AppShell.jsx.tpl +87 -0
- package/cli/templates/project/src/app/appRouter.jsx.tpl +49 -0
- package/cli/templates/project/src/app/appSettings.js.tpl +13 -0
- package/cli/templates/project/src/app/appTexts.js.tpl +15 -0
- package/cli/templates/project/src/app/combineTexts.js.tpl +31 -0
- package/cli/templates/project/src/app/i18n.js.tpl +19 -0
- package/cli/templates/project/src/app/shellTexts.js.tpl +16 -0
- package/cli/templates/project/src/core/AppLogo.jsx.tpl +12 -0
- package/cli/templates/project/src/core/accountConnector.js.tpl +36 -0
- package/cli/templates/project/src/core/apiClient.js.tpl +15 -0
- package/cli/templates/project/src/core/appPaths.js.tpl +11 -0
- package/cli/templates/project/src/core/index.js.tpl +8 -0
- package/cli/templates/project/src/fakeServer/networkDelay.js.tpl +40 -0
- package/cli/templates/project/src/fakeServer/serverText.js.tpl +20 -0
- package/cli/templates/project/src/main.jsx.tpl +24 -0
- package/cli/templates/project/src/modules/auth/ForgotPasswordPage.jsx.tpl +14 -0
- package/cli/templates/project/src/modules/auth/ResetPasswordPage.jsx.tpl +15 -0
- package/cli/templates/project/src/modules/auth/SignInPage.jsx.tpl +29 -0
- package/cli/templates/project/src/modules/auth/authTexts.js.tpl +6 -0
- package/cli/templates/project/src/modules/auth/routes.js.tpl +11 -0
- package/cli/templates/project/src/modules/home/HomePage.jsx.tpl +38 -0
- package/cli/templates/project/src/modules/home/homeTexts.js.tpl +29 -0
- package/cli/templates/project/src/modules/home/menu.js.tpl +17 -0
- package/cli/templates/project/src/modules/home/routes.js.tpl +4 -0
- package/cli/templates/project/src/modules/profile/ProfilePage.jsx.tpl +13 -0
- package/cli/templates/project/src/modules/profile/routes.js.tpl +6 -0
- package/cli/templates/project/vite.config.js.tpl +27 -0
- package/dist/DataTable/AuditTrailDialog.js +40 -0
- package/dist/DataTable/AuditTrailDialog.js.map +1 -0
- package/dist/DataTable/AuditTrailTable.js +87 -0
- package/dist/DataTable/AuditTrailTable.js.map +1 -0
- package/dist/DataTable/ColumnFilters/HeaderFilterPopover.js +71 -0
- package/dist/DataTable/ColumnFilters/HeaderFilterPopover.js.map +1 -0
- package/dist/DataTable/ColumnFilters/MultiSelectColumnFilter.js +50 -0
- package/dist/DataTable/ColumnFilters/MultiSelectColumnFilter.js.map +1 -0
- package/dist/DataTable/ColumnFilters/SortableFilterHeader.js +54 -0
- package/dist/DataTable/ColumnFilters/SortableFilterHeader.js.map +1 -0
- package/dist/DataTable/ColumnFilters/TextColumnFilter.js +24 -0
- package/dist/DataTable/ColumnFilters/TextColumnFilter.js.map +1 -0
- package/dist/DataTable/EmptyState.js +22 -0
- package/dist/DataTable/EmptyState.js.map +1 -0
- package/dist/DataTable/FilterChips.js +39 -0
- package/dist/DataTable/FilterChips.js.map +1 -0
- package/dist/DataTable/GoToPage.js +62 -0
- package/dist/DataTable/GoToPage.js.map +1 -0
- package/dist/DataTable/ServerTable.js +407 -0
- package/dist/DataTable/ServerTable.js.map +1 -0
- package/dist/DataTable/buildChipConfig.js +27 -0
- package/dist/DataTable/buildChipConfig.js.map +1 -0
- package/dist/DataTable/columns.js +122 -0
- package/dist/DataTable/columns.js.map +1 -0
- package/dist/DataTable/filterContext.js +15 -0
- package/dist/DataTable/filterContext.js.map +1 -0
- package/dist/DataTable/serverTableParams.js +19 -0
- package/dist/DataTable/serverTableParams.js.map +1 -0
- package/dist/DataTable/tableMachine.js +87 -0
- package/dist/DataTable/tableMachine.js.map +1 -0
- package/dist/DataTable/useDebouncedFilter.js +29 -0
- package/dist/DataTable/useDebouncedFilter.js.map +1 -0
- package/dist/DataTable/useTableState.js +132 -0
- package/dist/DataTable/useTableState.js.map +1 -0
- package/dist/access/Can.js +9 -0
- package/dist/access/Can.js.map +1 -0
- package/dist/access/PermissionMatrix.js +83 -0
- package/dist/access/PermissionMatrix.js.map +1 -0
- package/dist/access/RequireAccess.js +14 -0
- package/dist/access/RequireAccess.js.map +1 -0
- package/dist/access/accessRules.js +49 -0
- package/dist/access/accessRules.js.map +1 -0
- package/dist/access/permissionGroups.js +43 -0
- package/dist/access/permissionGroups.js.map +1 -0
- package/dist/access/useCan.js +12 -0
- package/dist/access/useCan.js.map +1 -0
- package/dist/account/AccountProvider.js +58 -0
- package/dist/account/AccountProvider.js.map +1 -0
- package/dist/account/AccountSecuritySection.js +81 -0
- package/dist/account/AccountSecuritySection.js.map +1 -0
- package/dist/account/DemoTotpCodeButton.js +26 -0
- package/dist/account/DemoTotpCodeButton.js.map +1 -0
- package/dist/account/ForgotPasswordScreen.js +26 -0
- package/dist/account/ForgotPasswordScreen.js.map +1 -0
- package/dist/account/ProfileScreen.js +108 -0
- package/dist/account/ProfileScreen.js.map +1 -0
- package/dist/account/ResetPasswordScreen.js +57 -0
- package/dist/account/ResetPasswordScreen.js.map +1 -0
- package/dist/account/SignInScreen.js +101 -0
- package/dist/account/SignInScreen.js.map +1 -0
- package/dist/account/accountConnector.js +31 -0
- package/dist/account/accountConnector.js.map +1 -0
- package/dist/account/demo/createDemoAccountConnector.js +368 -0
- package/dist/account/demo/createDemoAccountConnector.js.map +1 -0
- package/dist/account/demo/totp.js +61 -0
- package/dist/account/demo/totp.js.map +1 -0
- package/dist/account/restAccountConnector.js +117 -0
- package/dist/account/restAccountConnector.js.map +1 -0
- package/dist/account-demo.js +12 -0
- package/dist/account-demo.js.map +1 -0
- package/dist/account.js +25 -0
- package/dist/account.js.map +1 -0
- package/dist/adapters/i18next.js +7 -0
- package/dist/adapters/i18next.js.map +1 -0
- package/dist/adapters/nextNavigation.js +36 -0
- package/dist/adapters/nextNavigation.js.map +1 -0
- package/dist/adapters/reactRouter.js +7 -0
- package/dist/adapters/reactRouter.js.map +1 -0
- package/dist/adapters/reactRouterRoutes.js +48 -0
- package/dist/adapters/reactRouterRoutes.js.map +1 -0
- package/dist/api/ApiError.js +58 -0
- package/dist/api/ApiError.js.map +1 -0
- package/dist/api/createApiClient.js +226 -0
- package/dist/api/createApiClient.js.map +1 -0
- package/dist/api/staleChunks.js +47 -0
- package/dist/api/staleChunks.js.map +1 -0
- package/dist/appShell/AccountMenu.js +86 -0
- package/dist/appShell/AccountMenu.js.map +1 -0
- package/dist/appShell/AppLayout.js +493 -0
- package/dist/appShell/AppLayout.js.map +1 -0
- package/dist/appShell/AppearanceSettings.js +93 -0
- package/dist/appShell/AppearanceSettings.js.map +1 -0
- package/dist/appShell/AuthLayout.js +44 -0
- package/dist/appShell/AuthLayout.js.map +1 -0
- package/dist/appShell/BarActionButton.js +31 -0
- package/dist/appShell/BarActionButton.js.map +1 -0
- package/dist/appShell/BarActions.js +94 -0
- package/dist/appShell/BarActions.js.map +1 -0
- package/dist/appShell/BarCapsule.js +35 -0
- package/dist/appShell/BarCapsule.js.map +1 -0
- package/dist/appShell/HeaderTools.js +53 -0
- package/dist/appShell/HeaderTools.js.map +1 -0
- package/dist/appShell/MobileTabBar.js +346 -0
- package/dist/appShell/MobileTabBar.js.map +1 -0
- package/dist/appShell/SettingsMenu.js +41 -0
- package/dist/appShell/SettingsMenu.js.map +1 -0
- package/dist/appShell/SideMenu.js +217 -0
- package/dist/appShell/SideMenu.js.map +1 -0
- package/dist/appShell/SideMenuEntry.js +140 -0
- package/dist/appShell/SideMenuEntry.js.map +1 -0
- package/dist/appShell/SubmenuActionsMenu.js +71 -0
- package/dist/appShell/SubmenuActionsMenu.js.map +1 -0
- package/dist/appShell/TabBarEditor.js +55 -0
- package/dist/appShell/TabBarEditor.js.map +1 -0
- package/dist/appShell/TopMenu.js +80 -0
- package/dist/appShell/TopMenu.js.map +1 -0
- package/dist/appShell/appMenuContext.js +11 -0
- package/dist/appShell/appMenuContext.js.map +1 -0
- package/dist/appShell/barActionsSlot.js +26 -0
- package/dist/appShell/barActionsSlot.js.map +1 -0
- package/dist/appShell/barMenuPlacement.js +33 -0
- package/dist/appShell/barMenuPlacement.js.map +1 -0
- package/dist/appShell/menuItemText.js +33 -0
- package/dist/appShell/menuItemText.js.map +1 -0
- package/dist/appShell/pageTitle.js +45 -0
- package/dist/appShell/pageTitle.js.map +1 -0
- package/dist/appShell/shellSizes.js +38 -0
- package/dist/appShell/shellSizes.js.map +1 -0
- package/dist/appShell/tabBarRule.js +12 -0
- package/dist/appShell/tabBarRule.js.map +1 -0
- package/dist/appShell/tabBarScroll.js +23 -0
- package/dist/appShell/tabBarScroll.js.map +1 -0
- package/dist/appShell/useDrawerCollapsed.js +29 -0
- package/dist/appShell/useDrawerCollapsed.js.map +1 -0
- package/dist/appShell/useFittingActionCount.js +45 -0
- package/dist/appShell/useFittingActionCount.js.map +1 -0
- package/dist/appShell/usePinnedMobileTabs.js +32 -0
- package/dist/appShell/usePinnedMobileTabs.js.map +1 -0
- package/dist/appShell/useTabBarMinimized.js +33 -0
- package/dist/appShell/useTabBarMinimized.js.map +1 -0
- package/dist/auth/PasswordChecklist.js +44 -0
- package/dist/auth/PasswordChecklist.js.map +1 -0
- package/dist/auth/passwordRules.js +43 -0
- package/dist/auth/passwordRules.js.map +1 -0
- package/dist/calendar/EventCalendar.js +138 -0
- package/dist/calendar/EventCalendar.js.map +1 -0
- package/dist/calendar.js +6 -0
- package/dist/calendar.js.map +1 -0
- package/dist/charts.js +7 -0
- package/dist/charts.js.map +1 -0
- package/dist/date-pickers.js +8 -0
- package/dist/date-pickers.js.map +1 -0
- package/dist/datePickers/DateInput.js +75 -0
- package/dist/datePickers/DateInput.js.map +1 -0
- package/dist/datePickers/FormDateField.js +12 -0
- package/dist/datePickers/FormDateField.js.map +1 -0
- package/dist/dates.js +25 -0
- package/dist/dates.js.map +1 -0
- package/dist/dictionaries/dictionaries.js +48 -0
- package/dist/dictionaries/dictionaries.js.map +1 -0
- package/dist/downloads/DownloadManager.js +201 -0
- package/dist/downloads/DownloadManager.js.map +1 -0
- package/dist/downloads/downloadQueue.js +54 -0
- package/dist/downloads/downloadQueue.js.map +1 -0
- package/dist/downloads/downloadsMachine.js +77 -0
- package/dist/downloads/downloadsMachine.js.map +1 -0
- package/dist/excel/reportWorkbook.js +299 -0
- package/dist/excel/reportWorkbook.js.map +1 -0
- package/dist/excel.js +13 -0
- package/dist/excel.js.map +1 -0
- package/dist/feedback/ConfirmDialog.js +72 -0
- package/dist/feedback/ConfirmDialog.js.map +1 -0
- package/dist/feedback/ModalWaiting.js +23 -0
- package/dist/feedback/ModalWaiting.js.map +1 -0
- package/dist/feedback/NewBuildNotice.js +79 -0
- package/dist/feedback/NewBuildNotice.js.map +1 -0
- package/dist/feedback/StaleBuildBoundary.js +36 -0
- package/dist/feedback/StaleBuildBoundary.js.map +1 -0
- package/dist/feedback/Toaster.js +20 -0
- package/dist/feedback/Toaster.js.map +1 -0
- package/dist/feedback/confirmActionMachine.js +67 -0
- package/dist/feedback/confirmActionMachine.js.map +1 -0
- package/dist/feedback/toast.js +88 -0
- package/dist/feedback/toast.js.map +1 -0
- package/dist/feedback/useConfirmAction.js +40 -0
- package/dist/feedback/useConfirmAction.js.map +1 -0
- package/dist/filepond/FileDropzone.js +254 -0
- package/dist/filepond/FileDropzone.js.map +1 -0
- package/dist/filepond/pondServer.js +48 -0
- package/dist/filepond/pondServer.js.map +1 -0
- package/dist/filepond.js +10 -0
- package/dist/filepond.js.map +1 -0
- package/dist/files.js +43 -0
- package/dist/files.js.map +1 -0
- package/dist/formatting.js +177 -0
- package/dist/formatting.js.map +1 -0
- package/dist/forms/FormCatalogField.js +12 -0
- package/dist/forms/FormCatalogField.js.map +1 -0
- package/dist/forms/FormColorField.js +12 -0
- package/dist/forms/FormColorField.js.map +1 -0
- package/dist/forms/FormNumberField.js +12 -0
- package/dist/forms/FormNumberField.js.map +1 -0
- package/dist/forms/FormProblemAlert.js +15 -0
- package/dist/forms/FormProblemAlert.js.map +1 -0
- package/dist/forms/FormSelectField.js +12 -0
- package/dist/forms/FormSelectField.js.map +1 -0
- package/dist/forms/FormServerProblem.js +23 -0
- package/dist/forms/FormServerProblem.js.map +1 -0
- package/dist/forms/FormTextField.js +12 -0
- package/dist/forms/FormTextField.js.map +1 -0
- package/dist/forms/FormWizard.js +90 -0
- package/dist/forms/FormWizard.js.map +1 -0
- package/dist/forms/SubmitButton.js +14 -0
- package/dist/forms/SubmitButton.js.map +1 -0
- package/dist/forms/applyServerProblem.js +15 -0
- package/dist/forms/applyServerProblem.js.map +1 -0
- package/dist/forms/auth/ChangePasswordForm.js +46 -0
- package/dist/forms/auth/ChangePasswordForm.js.map +1 -0
- package/dist/forms/auth/ForgotPasswordForm.js +50 -0
- package/dist/forms/auth/ForgotPasswordForm.js.map +1 -0
- package/dist/forms/auth/SignInForm.js +48 -0
- package/dist/forms/auth/SignInForm.js.map +1 -0
- package/dist/forms/security/SecondStepForm.js +122 -0
- package/dist/forms/security/SecondStepForm.js.map +1 -0
- package/dist/forms/security/TwoStepVerificationCard.js +336 -0
- package/dist/forms/security/TwoStepVerificationCard.js.map +1 -0
- package/dist/forms/security/securityRules.js +28 -0
- package/dist/forms/security/securityRules.js.map +1 -0
- package/dist/forms/serverProblemFields.js +25 -0
- package/dist/forms/serverProblemFields.js.map +1 -0
- package/dist/forms/useFormikField.js +16 -0
- package/dist/forms/useFormikField.js.map +1 -0
- package/dist/forms/validation.js +55 -0
- package/dist/forms/validation.js.map +1 -0
- package/dist/forms/validationMessages.js +16 -0
- package/dist/forms/validationMessages.js.map +1 -0
- package/dist/forms.js +57 -0
- package/dist/forms.js.map +1 -0
- package/dist/hookForm/FormCatalogField.js +12 -0
- package/dist/hookForm/FormCatalogField.js.map +1 -0
- package/dist/hookForm/FormColorField.js +12 -0
- package/dist/hookForm/FormColorField.js.map +1 -0
- package/dist/hookForm/FormNumberField.js +12 -0
- package/dist/hookForm/FormNumberField.js.map +1 -0
- package/dist/hookForm/FormProblemAlert.js +17 -0
- package/dist/hookForm/FormProblemAlert.js.map +1 -0
- package/dist/hookForm/FormSelectField.js +12 -0
- package/dist/hookForm/FormSelectField.js.map +1 -0
- package/dist/hookForm/FormTextField.js +12 -0
- package/dist/hookForm/FormTextField.js.map +1 -0
- package/dist/hookForm/SubmitButton.js +15 -0
- package/dist/hookForm/SubmitButton.js.map +1 -0
- package/dist/hookForm/applyServerProblem.js +21 -0
- package/dist/hookForm/applyServerProblem.js.map +1 -0
- package/dist/hookForm/useHookFormField.js +19 -0
- package/dist/hookForm/useHookFormField.js.map +1 -0
- package/dist/i18next.js +5 -0
- package/dist/i18next.js.map +1 -0
- package/dist/identifiers.js +8 -0
- package/dist/identifiers.js.map +1 -0
- package/dist/inbox/InboxLayout.js +68 -0
- package/dist/inbox/InboxLayout.js.map +1 -0
- package/dist/inbox/MessageList.js +64 -0
- package/dist/inbox/MessageList.js.map +1 -0
- package/dist/inbox/MessageView.js +53 -0
- package/dist/inbox/MessageView.js.map +1 -0
- package/dist/inbox/inboxDates.js +8 -0
- package/dist/inbox/inboxDates.js.map +1 -0
- package/dist/index.js +383 -0
- package/dist/index.js.map +1 -0
- package/dist/inputs/CatalogInput.js +62 -0
- package/dist/inputs/CatalogInput.js.map +1 -0
- package/dist/inputs/ColorInput.js +108 -0
- package/dist/inputs/ColorInput.js.map +1 -0
- package/dist/inputs/FieldFrame.js +20 -0
- package/dist/inputs/FieldFrame.js.map +1 -0
- package/dist/inputs/FormSection.js +105 -0
- package/dist/inputs/FormSection.js.map +1 -0
- package/dist/inputs/NumberInput.js +69 -0
- package/dist/inputs/NumberInput.js.map +1 -0
- package/dist/inputs/SelectInput.js +66 -0
- package/dist/inputs/SelectInput.js.map +1 -0
- package/dist/inputs/TextInput.js +97 -0
- package/dist/inputs/TextInput.js.map +1 -0
- package/dist/inputs/colorContrast.js +46 -0
- package/dist/inputs/colorContrast.js.map +1 -0
- package/dist/inputs/formLayoutContext.js +9 -0
- package/dist/inputs/formLayoutContext.js.map +1 -0
- package/dist/inputs/numberText.js +48 -0
- package/dist/inputs/numberText.js.map +1 -0
- package/dist/kanban/KanbanBoard.js +113 -0
- package/dist/kanban/KanbanBoard.js.map +1 -0
- package/dist/kanban/kanbanMoves.js +29 -0
- package/dist/kanban/kanbanMoves.js.map +1 -0
- package/dist/kanban.js +9 -0
- package/dist/kanban.js.map +1 -0
- package/dist/laravel/csrfRetry.js +18 -0
- package/dist/laravel/csrfRetry.js.map +1 -0
- package/dist/laravel.js +6 -0
- package/dist/laravel.js.map +1 -0
- package/dist/lastListUrl.js +35 -0
- package/dist/lastListUrl.js.map +1 -0
- package/dist/locales/en.js +714 -0
- package/dist/locales/en.js.map +1 -0
- package/dist/locales/es.js +714 -0
- package/dist/locales/es.js.map +1 -0
- package/dist/maps/MapView.js +96 -0
- package/dist/maps/MapView.js.map +1 -0
- package/dist/maps/mapMarkers.js +19 -0
- package/dist/maps/mapMarkers.js.map +1 -0
- package/dist/maps.js +10 -0
- package/dist/maps.js.map +1 -0
- package/dist/money/money.js +380 -0
- package/dist/money/money.js.map +1 -0
- package/dist/money.js +6 -0
- package/dist/money.js.map +1 -0
- package/dist/navigation/appMenu.js +93 -0
- package/dist/navigation/appMenu.js.map +1 -0
- package/dist/navigation/useMenuBadges.js +45 -0
- package/dist/navigation/useMenuBadges.js.map +1 -0
- package/dist/navigation.js +30 -0
- package/dist/navigation.js.map +1 -0
- package/dist/navigationTrail.js +82 -0
- package/dist/navigationTrail.js.map +1 -0
- package/dist/next.js +5 -0
- package/dist/next.js.map +1 -0
- package/dist/observability/buildWatch.js +19 -0
- package/dist/observability/buildWatch.js.map +1 -0
- package/dist/observability/logger.js +43 -0
- package/dist/observability/logger.js.map +1 -0
- package/dist/observability/publishedBuild.js +39 -0
- package/dist/observability/publishedBuild.js.map +1 -0
- package/dist/observability/usePublishedBuildWatch.js +76 -0
- package/dist/observability/usePublishedBuildWatch.js.map +1 -0
- package/dist/passkeys.js +7 -0
- package/dist/passkeys.js.map +1 -0
- package/dist/periodRanges.js +33 -0
- package/dist/periodRanges.js.map +1 -0
- package/dist/problems.js +51 -0
- package/dist/problems.js.map +1 -0
- package/dist/pwa/InstallAppSetting.js +33 -0
- package/dist/pwa/InstallAppSetting.js.map +1 -0
- package/dist/pwa/InstallInstructionsDialog.js +35 -0
- package/dist/pwa/InstallInstructionsDialog.js.map +1 -0
- package/dist/pwa/InstallPromptBanner.js +64 -0
- package/dist/pwa/InstallPromptBanner.js.map +1 -0
- package/dist/pwa/installInstructions.js +60 -0
- package/dist/pwa/installInstructions.js.map +1 -0
- package/dist/pwa/useInstallPrompt.js +70 -0
- package/dist/pwa/useInstallPrompt.js.map +1 -0
- package/dist/react-hook-form.js +30 -0
- package/dist/react-hook-form.js.map +1 -0
- package/dist/react-router.js +10 -0
- package/dist/react-router.js.map +1 -0
- package/dist/security/ActivityLog.js +79 -0
- package/dist/security/ActivityLog.js.map +1 -0
- package/dist/security/RecoveryCodesDialog.js +84 -0
- package/dist/security/RecoveryCodesDialog.js.map +1 -0
- package/dist/security/SessionsCard.js +81 -0
- package/dist/security/SessionsCard.js.map +1 -0
- package/dist/security/passkeys.js +39 -0
- package/dist/security/passkeys.js.map +1 -0
- package/dist/table.js +35 -0
- package/dist/table.js.map +1 -0
- package/dist/theme/androidDevice.js +16 -0
- package/dist/theme/androidDevice.js.map +1 -0
- package/dist/theme/appleTracking.js +34 -0
- package/dist/theme/appleTracking.js.map +1 -0
- package/dist/theme/components/MuiAppBar.js +27 -0
- package/dist/theme/components/MuiAppBar.js.map +1 -0
- package/dist/theme/components/MuiBackdrop.js +13 -0
- package/dist/theme/components/MuiBackdrop.js.map +1 -0
- package/dist/theme/components/MuiButton.js +25 -0
- package/dist/theme/components/MuiButton.js.map +1 -0
- package/dist/theme/components/MuiButtonBase.js +16 -0
- package/dist/theme/components/MuiButtonBase.js.map +1 -0
- package/dist/theme/components/MuiChip.js +30 -0
- package/dist/theme/components/MuiChip.js.map +1 -0
- package/dist/theme/components/MuiDataGrid.js +30 -0
- package/dist/theme/components/MuiDataGrid.js.map +1 -0
- package/dist/theme/components/MuiDrawer.js +18 -0
- package/dist/theme/components/MuiDrawer.js.map +1 -0
- package/dist/theme/components/MuiMenuItem.js +17 -0
- package/dist/theme/components/MuiMenuItem.js.map +1 -0
- package/dist/theme/components/MuiTypography.js +22 -0
- package/dist/theme/components/MuiTypography.js.map +1 -0
- package/dist/theme/components/glassComponents.js +885 -0
- package/dist/theme/components/glassComponents.js.map +1 -0
- package/dist/theme/components/minimalComponents.js +146 -0
- package/dist/theme/components/minimalComponents.js.map +1 -0
- package/dist/theme/components/paletteOf.js +7 -0
- package/dist/theme/components/paletteOf.js.map +1 -0
- package/dist/theme/createToolkitTheme.js +100 -0
- package/dist/theme/createToolkitTheme.js.map +1 -0
- package/dist/theme/glassSurface.js +328 -0
- package/dist/theme/glassSurface.js.map +1 -0
- package/dist/theme/glassToasterStyles.js +50 -0
- package/dist/theme/glassToasterStyles.js.map +1 -0
- package/dist/theme/mergeComponents.js +42 -0
- package/dist/theme/mergeComponents.js.map +1 -0
- package/dist/theme/stackcraftPalette.js +59 -0
- package/dist/theme/stackcraftPalette.js.map +1 -0
- package/dist/theme/toolkitComponents.js +26 -0
- package/dist/theme/toolkitComponents.js.map +1 -0
- package/dist/timeline.js +8 -0
- package/dist/timeline.js.map +1 -0
- package/dist/toolkit/ToolkitProvider.js +49 -0
- package/dist/toolkit/ToolkitProvider.js.map +1 -0
- package/dist/toolkit/browserNavigation.js +34 -0
- package/dist/toolkit/browserNavigation.js.map +1 -0
- package/dist/toolkit/toolkitContext.js +19 -0
- package/dist/toolkit/toolkitContext.js.map +1 -0
- package/dist/toolkit/toolkitSettings.js +87 -0
- package/dist/toolkit/toolkitSettings.js.map +1 -0
- package/dist/toolkit/useToolkitTranslation.js +18 -0
- package/dist/toolkit/useToolkitTranslation.js.map +1 -0
- package/dist/types/DataTable/AuditTrailDialog.d.ts +32 -0
- package/dist/types/DataTable/AuditTrailTable.d.ts +28 -0
- package/dist/types/DataTable/ColumnFilters/HeaderFilterPopover.d.ts +8 -0
- package/dist/types/DataTable/ColumnFilters/MultiSelectColumnFilter.d.ts +16 -0
- package/dist/types/DataTable/ColumnFilters/SortableFilterHeader.d.ts +26 -0
- package/dist/types/DataTable/ColumnFilters/TextColumnFilter.d.ts +8 -0
- package/dist/types/DataTable/ColumnFilters/index.d.ts +4 -0
- package/dist/types/DataTable/EmptyState.d.ts +8 -0
- package/dist/types/DataTable/FilterChips.d.ts +15 -0
- package/dist/types/DataTable/GoToPage.d.ts +8 -0
- package/dist/types/DataTable/ServerTable.d.ts +110 -0
- package/dist/types/DataTable/buildChipConfig.d.ts +22 -0
- package/dist/types/DataTable/columns.d.ts +93 -0
- package/dist/types/DataTable/filterContext.d.ts +13 -0
- package/dist/types/DataTable/index.d.ts +13 -0
- package/dist/types/DataTable/serverTableParams.d.ts +16 -0
- package/dist/types/DataTable/tableMachine.d.ts +41 -0
- package/dist/types/DataTable/useDebouncedFilter.d.ts +8 -0
- package/dist/types/DataTable/useTableState.d.ts +93 -0
- package/dist/types/access/Can.d.ts +11 -0
- package/dist/types/access/PermissionMatrix.d.ts +21 -0
- package/dist/types/access/RequireAccess.d.ts +11 -0
- package/dist/types/access/accessRules.d.ts +24 -0
- package/dist/types/access/permissionGroups.d.ts +56 -0
- package/dist/types/access/useCan.d.ts +11 -0
- package/dist/types/account/AccountProvider.d.ts +27 -0
- package/dist/types/account/AccountSecuritySection.d.ts +7 -0
- package/dist/types/account/DemoTotpCodeButton.d.ts +6 -0
- package/dist/types/account/ForgotPasswordScreen.d.ts +15 -0
- package/dist/types/account/ProfileScreen.d.ts +13 -0
- package/dist/types/account/ResetPasswordScreen.d.ts +19 -0
- package/dist/types/account/SignInScreen.d.ts +25 -0
- package/dist/types/account/accountConnector.d.ts +263 -0
- package/dist/types/account/demo/createDemoAccountConnector.d.ts +30 -0
- package/dist/types/account/demo/totp.d.ts +45 -0
- package/dist/types/account/restAccountConnector.d.ts +49 -0
- package/dist/types/account-demo.d.ts +2 -0
- package/dist/types/account.d.ts +16 -0
- package/dist/types/adapters/i18next.d.ts +11 -0
- package/dist/types/adapters/nextNavigation.d.ts +33 -0
- package/dist/types/adapters/reactRouter.d.ts +6 -0
- package/dist/types/adapters/reactRouterRoutes.d.ts +30 -0
- package/dist/types/api/ApiError.d.ts +42 -0
- package/dist/types/api/createApiClient.d.ts +146 -0
- package/dist/types/api/staleChunks.d.ts +15 -0
- package/dist/types/appShell/AccountMenu.d.ts +28 -0
- package/dist/types/appShell/AppLayout.d.ts +66 -0
- package/dist/types/appShell/AppearanceSettings.d.ts +34 -0
- package/dist/types/appShell/AuthLayout.d.ts +21 -0
- package/dist/types/appShell/BarActionButton.d.ts +15 -0
- package/dist/types/appShell/BarActions.d.ts +18 -0
- package/dist/types/appShell/BarCapsule.d.ts +12 -0
- package/dist/types/appShell/HeaderTools.d.ts +27 -0
- package/dist/types/appShell/MobileTabBar.d.ts +17 -0
- package/dist/types/appShell/SettingsMenu.d.ts +13 -0
- package/dist/types/appShell/SideMenu.d.ts +31 -0
- package/dist/types/appShell/SideMenuEntry.d.ts +17 -0
- package/dist/types/appShell/SubmenuActionsMenu.d.ts +24 -0
- package/dist/types/appShell/TabBarEditor.d.ts +13 -0
- package/dist/types/appShell/TopMenu.d.ts +7 -0
- package/dist/types/appShell/appMenuContext.d.ts +9 -0
- package/dist/types/appShell/barActionsSlot.d.ts +35 -0
- package/dist/types/appShell/barMenuPlacement.d.ts +9 -0
- package/dist/types/appShell/menuItemText.d.ts +55 -0
- package/dist/types/appShell/pageTitle.d.ts +26 -0
- package/dist/types/appShell/shellSizes.d.ts +45 -0
- package/dist/types/appShell/tabBarRule.d.ts +5 -0
- package/dist/types/appShell/tabBarScroll.d.ts +26 -0
- package/dist/types/appShell/useDrawerCollapsed.d.ts +8 -0
- package/dist/types/appShell/useFittingActionCount.d.ts +7 -0
- package/dist/types/appShell/usePinnedMobileTabs.d.ts +7 -0
- package/dist/types/appShell/useTabBarMinimized.d.ts +8 -0
- package/dist/types/auth/PasswordChecklist.d.ts +11 -0
- package/dist/types/auth/passwordRules.d.ts +34 -0
- package/dist/types/calendar/EventCalendar.d.ts +46 -0
- package/dist/types/calendar.d.ts +1 -0
- package/dist/types/charts.d.ts +2 -0
- package/dist/types/date-pickers.d.ts +2 -0
- package/dist/types/datePickers/DateInput.d.ts +39 -0
- package/dist/types/datePickers/FormDateField.d.ts +7 -0
- package/dist/types/dates.d.ts +18 -0
- package/dist/types/dictionaries/dictionaries.d.ts +54 -0
- package/dist/types/downloads/DownloadManager.d.ts +1 -0
- package/dist/types/downloads/downloadQueue.d.ts +45 -0
- package/dist/types/downloads/downloadsMachine.d.ts +10 -0
- package/dist/types/downloads/index.d.ts +3 -0
- package/dist/types/excel/reportWorkbook.d.ts +157 -0
- package/dist/types/excel.d.ts +1 -0
- package/dist/types/feedback/ConfirmDialog.d.ts +29 -0
- package/dist/types/feedback/ModalWaiting.d.ts +8 -0
- package/dist/types/feedback/NewBuildNotice.d.ts +18 -0
- package/dist/types/feedback/StaleBuildBoundary.d.ts +21 -0
- package/dist/types/feedback/Toaster.d.ts +1 -0
- package/dist/types/feedback/confirmActionMachine.d.ts +19 -0
- package/dist/types/feedback/index.d.ts +8 -0
- package/dist/types/feedback/toast.d.ts +100 -0
- package/dist/types/feedback/useConfirmAction.d.ts +33 -0
- package/dist/types/filepond/FileDropzone.d.ts +59 -0
- package/dist/types/filepond/pondServer.d.ts +17 -0
- package/dist/types/filepond.d.ts +3 -0
- package/dist/types/files.d.ts +29 -0
- package/dist/types/formatting.d.ts +106 -0
- package/dist/types/forms/FormCatalogField.d.ts +6 -0
- package/dist/types/forms/FormColorField.d.ts +6 -0
- package/dist/types/forms/FormNumberField.d.ts +6 -0
- package/dist/types/forms/FormProblemAlert.d.ts +6 -0
- package/dist/types/forms/FormSelectField.d.ts +6 -0
- package/dist/types/forms/FormServerProblem.d.ts +8 -0
- package/dist/types/forms/FormTextField.d.ts +6 -0
- package/dist/types/forms/FormWizard.d.ts +20 -0
- package/dist/types/forms/SubmitButton.d.ts +9 -0
- package/dist/types/forms/applyServerProblem.d.ts +9 -0
- package/dist/types/forms/auth/ChangePasswordForm.d.ts +15 -0
- package/dist/types/forms/auth/ForgotPasswordForm.d.ts +12 -0
- package/dist/types/forms/auth/SignInForm.d.ts +18 -0
- package/dist/types/forms/index.d.ts +19 -0
- package/dist/types/forms/security/SecondStepForm.d.ts +28 -0
- package/dist/types/forms/security/TwoStepVerificationCard.d.ts +81 -0
- package/dist/types/forms/security/securityRules.d.ts +24 -0
- package/dist/types/forms/serverProblemFields.d.ts +19 -0
- package/dist/types/forms/useFormikField.d.ts +11 -0
- package/dist/types/forms/validation.d.ts +251 -0
- package/dist/types/forms/validationMessages.d.ts +12 -0
- package/dist/types/forms.d.ts +2 -0
- package/dist/types/hookForm/FormCatalogField.d.ts +8 -0
- package/dist/types/hookForm/FormColorField.d.ts +8 -0
- package/dist/types/hookForm/FormNumberField.d.ts +8 -0
- package/dist/types/hookForm/FormProblemAlert.d.ts +7 -0
- package/dist/types/hookForm/FormSelectField.d.ts +8 -0
- package/dist/types/hookForm/FormTextField.d.ts +8 -0
- package/dist/types/hookForm/SubmitButton.d.ts +21 -0
- package/dist/types/hookForm/applyServerProblem.d.ts +10 -0
- package/dist/types/hookForm/useHookFormField.d.ts +13 -0
- package/dist/types/i18next.d.ts +1 -0
- package/dist/types/identifiers.d.ts +2 -0
- package/dist/types/inbox/InboxLayout.d.ts +26 -0
- package/dist/types/inbox/MessageList.d.ts +27 -0
- package/dist/types/inbox/MessageView.d.ts +23 -0
- package/dist/types/inbox/inboxDates.d.ts +6 -0
- package/dist/types/index.d.ts +84 -0
- package/dist/types/inputs/CatalogInput.d.ts +41 -0
- package/dist/types/inputs/ColorInput.d.ts +28 -0
- package/dist/types/inputs/FieldFrame.d.ts +14 -0
- package/dist/types/inputs/FormSection.d.ts +29 -0
- package/dist/types/inputs/NumberInput.d.ts +36 -0
- package/dist/types/inputs/SelectInput.d.ts +34 -0
- package/dist/types/inputs/TextInput.d.ts +60 -0
- package/dist/types/inputs/colorContrast.d.ts +18 -0
- package/dist/types/inputs/formLayoutContext.d.ts +3 -0
- package/dist/types/inputs/numberText.d.ts +25 -0
- package/dist/types/kanban/KanbanBoard.d.ts +33 -0
- package/dist/types/kanban/kanbanMoves.d.ts +38 -0
- package/dist/types/kanban.d.ts +2 -0
- package/dist/types/laravel/csrfRetry.d.ts +21 -0
- package/dist/types/laravel.d.ts +1 -0
- package/dist/types/lastListUrl.d.ts +20 -0
- package/dist/types/locales/en.d.ts +711 -0
- package/dist/types/locales/es.d.ts +711 -0
- package/dist/types/maps/MapView.d.ts +32 -0
- package/dist/types/maps/mapMarkers.d.ts +23 -0
- package/dist/types/maps.d.ts +2 -0
- package/dist/types/money/money.d.ts +203 -0
- package/dist/types/money.d.ts +1 -0
- package/dist/types/navigation/appMenu.d.ts +92 -0
- package/dist/types/navigation/useMenuBadges.d.ts +16 -0
- package/dist/types/navigation.d.ts +22 -0
- package/dist/types/navigationTrail.d.ts +49 -0
- package/dist/types/next.d.ts +1 -0
- package/dist/types/observability/buildWatch.d.ts +28 -0
- package/dist/types/observability/logger.d.ts +19 -0
- package/dist/types/observability/publishedBuild.d.ts +35 -0
- package/dist/types/observability/usePublishedBuildWatch.d.ts +16 -0
- package/dist/types/passkeys.d.ts +1 -0
- package/dist/types/periodRanges.d.ts +32 -0
- package/dist/types/problems.d.ts +31 -0
- package/dist/types/pwa/InstallAppSetting.d.ts +1 -0
- package/dist/types/pwa/InstallInstructionsDialog.d.ts +18 -0
- package/dist/types/pwa/InstallPromptBanner.d.ts +7 -0
- package/dist/types/pwa/installInstructions.d.ts +52 -0
- package/dist/types/pwa/useInstallPrompt.d.ts +12 -0
- package/dist/types/react-hook-form.d.ts +11 -0
- package/dist/types/react-router.d.ts +2 -0
- package/dist/types/security/ActivityLog.d.ts +31 -0
- package/dist/types/security/RecoveryCodesDialog.d.ts +11 -0
- package/dist/types/security/SessionsCard.d.ts +22 -0
- package/dist/types/security/passkeys.d.ts +18 -0
- package/dist/types/table.d.ts +1 -0
- package/dist/types/theme/androidDevice.d.ts +11 -0
- package/dist/types/theme/appleTracking.d.ts +17 -0
- package/dist/types/theme/components/MuiAppBar.d.ts +13 -0
- package/dist/types/theme/components/MuiBackdrop.d.ts +11 -0
- package/dist/types/theme/components/MuiButton.d.ts +27 -0
- package/dist/types/theme/components/MuiButtonBase.d.ts +14 -0
- package/dist/types/theme/components/MuiChip.d.ts +29 -0
- package/dist/types/theme/components/MuiDataGrid.d.ts +45 -0
- package/dist/types/theme/components/MuiDrawer.d.ts +13 -0
- package/dist/types/theme/components/MuiMenuItem.d.ts +17 -0
- package/dist/types/theme/components/MuiTypography.d.ts +20 -0
- package/dist/types/theme/components/glassComponents.d.ts +8 -0
- package/dist/types/theme/components/minimalComponents.d.ts +22 -0
- package/dist/types/theme/components/paletteOf.d.ts +5 -0
- package/dist/types/theme/createToolkitTheme.d.ts +48 -0
- package/dist/types/theme/glassSurface.d.ts +247 -0
- package/dist/types/theme/glassToasterStyles.d.ts +7 -0
- package/dist/types/theme/mergeComponents.d.ts +15 -0
- package/dist/types/theme/stackcraftPalette.d.ts +142 -0
- package/dist/types/theme/toolkitComponents.d.ts +4 -0
- package/dist/types/timeline.d.ts +2 -0
- package/dist/types/toolkit/ToolkitProvider.d.ts +31 -0
- package/dist/types/toolkit/browserNavigation.d.ts +32 -0
- package/dist/types/toolkit/toolkitContext.d.ts +28 -0
- package/dist/types/toolkit/toolkitSettings.d.ts +68 -0
- package/dist/types/toolkit/useToolkitTranslation.d.ts +10 -0
- package/dist/types/ui/actions/CopyButton.d.ts +13 -0
- package/dist/types/ui/actions/DownloadMenu.d.ts +50 -0
- package/dist/types/ui/actions/SecretField.d.ts +13 -0
- package/dist/types/ui/filters/DateRangeFilter.d.ts +16 -0
- package/dist/types/ui/filters/PeriodRangeSelector.d.ts +28 -0
- package/dist/types/ui/filters/QuickFilters.d.ts +21 -0
- package/dist/types/ui/filters/SegmentedControl.d.ts +44 -0
- package/dist/types/ui/index.d.ts +33 -0
- package/dist/types/ui/labels/DictionaryText.d.ts +7 -0
- package/dist/types/ui/labels/StatusChip.d.ts +21 -0
- package/dist/types/ui/labels/Tag.d.ts +19 -0
- package/dist/types/ui/layout/CollapsibleSection.d.ts +15 -0
- package/dist/types/ui/layout/ContentDialog.d.ts +13 -0
- package/dist/types/ui/layout/DefinitionList.d.ts +15 -0
- package/dist/types/ui/layout/DetailHeader.d.ts +15 -0
- package/dist/types/ui/layout/ErrorPage.d.ts +22 -0
- package/dist/types/ui/layout/FullPageLoader.d.ts +1 -0
- package/dist/types/ui/layout/GlassLensFilter.d.ts +1 -0
- package/dist/types/ui/layout/GlassPanel.d.ts +11 -0
- package/dist/types/ui/layout/PageHeader.d.ts +15 -0
- package/dist/types/ui/layout/PageHeading.d.ts +18 -0
- package/dist/types/ui/layout/ProfileHeader.d.ts +17 -0
- package/dist/types/ui/layout/ScrollableRow.d.ts +33 -0
- package/dist/types/ui/layout/SectionCard.d.ts +11 -0
- package/dist/types/ui/layout/appBarHeight.d.ts +13 -0
- package/dist/types/ui/metrics/BarList.d.ts +19 -0
- package/dist/types/ui/metrics/CalendarHeatmap.d.ts +28 -0
- package/dist/types/ui/metrics/ChartTooltip.d.ts +5 -0
- package/dist/types/ui/metrics/ColumnChart.d.ts +35 -0
- package/dist/types/ui/metrics/MetricCard.d.ts +31 -0
- package/dist/types/ui/metrics/TableToggle.d.ts +7 -0
- package/dist/types/ui/metrics/barListLabels.d.ts +17 -0
- package/dist/types/ui/metrics/heatmapScale.d.ts +45 -0
- package/dist/types/ui/navigation/BackButton.d.ts +11 -0
- package/dist/types/ui/navigation/ColorSchemeToggle.d.ts +7 -0
- package/dist/types/ui/navigation/DocumentTitle.d.ts +6 -0
- package/dist/types/ui/navigation/FontSizeToggle.d.ts +6 -0
- package/dist/types/ui/navigation/LanguageToggle.d.ts +8 -0
- package/dist/types/ui/navigation/PageBreadcrumbs.d.ts +9 -0
- package/dist/types/ui/navigation/colorMode.d.ts +18 -0
- package/dist/types/ui/navigation/fontSizeLevels.d.ts +25 -0
- package/dist/types/ui/navigation/useFontSize.d.ts +10 -0
- package/dist/types/ui/timeline/GroupedTimeline.d.ts +38 -0
- package/dist/types/ui/timeline/timelineDot.d.ts +19 -0
- package/dist/types/upload/FileDropzone.d.ts +34 -0
- package/dist/types/upload/fileRules.d.ts +51 -0
- package/dist/types/upload/uploadMachine.d.ts +23 -0
- package/dist/types/upload/uploadWithProgress.d.ts +16 -0
- package/dist/ui/actions/CopyButton.js +28 -0
- package/dist/ui/actions/CopyButton.js.map +1 -0
- package/dist/ui/actions/DownloadMenu.js +163 -0
- package/dist/ui/actions/DownloadMenu.js.map +1 -0
- package/dist/ui/actions/SecretField.js +57 -0
- package/dist/ui/actions/SecretField.js.map +1 -0
- package/dist/ui/filters/DateRangeFilter.js +86 -0
- package/dist/ui/filters/DateRangeFilter.js.map +1 -0
- package/dist/ui/filters/PeriodRangeSelector.js +56 -0
- package/dist/ui/filters/PeriodRangeSelector.js.map +1 -0
- package/dist/ui/filters/QuickFilters.js +91 -0
- package/dist/ui/filters/QuickFilters.js.map +1 -0
- package/dist/ui/filters/SegmentedControl.js +80 -0
- package/dist/ui/filters/SegmentedControl.js.map +1 -0
- package/dist/ui/labels/DictionaryText.js +11 -0
- package/dist/ui/labels/DictionaryText.js.map +1 -0
- package/dist/ui/labels/StatusChip.js +52 -0
- package/dist/ui/labels/StatusChip.js.map +1 -0
- package/dist/ui/labels/Tag.js +26 -0
- package/dist/ui/labels/Tag.js.map +1 -0
- package/dist/ui/layout/CollapsibleSection.js +48 -0
- package/dist/ui/layout/CollapsibleSection.js.map +1 -0
- package/dist/ui/layout/ContentDialog.js +97 -0
- package/dist/ui/layout/ContentDialog.js.map +1 -0
- package/dist/ui/layout/DefinitionList.js +30 -0
- package/dist/ui/layout/DefinitionList.js.map +1 -0
- package/dist/ui/layout/DetailHeader.js +27 -0
- package/dist/ui/layout/DetailHeader.js.map +1 -0
- package/dist/ui/layout/ErrorPage.js +40 -0
- package/dist/ui/layout/ErrorPage.js.map +1 -0
- package/dist/ui/layout/FullPageLoader.js +13 -0
- package/dist/ui/layout/FullPageLoader.js.map +1 -0
- package/dist/ui/layout/GlassLensFilter.js +53 -0
- package/dist/ui/layout/GlassLensFilter.js.map +1 -0
- package/dist/ui/layout/GlassPanel.js +18 -0
- package/dist/ui/layout/GlassPanel.js.map +1 -0
- package/dist/ui/layout/PageHeader.js +23 -0
- package/dist/ui/layout/PageHeader.js.map +1 -0
- package/dist/ui/layout/PageHeading.js +51 -0
- package/dist/ui/layout/PageHeading.js.map +1 -0
- package/dist/ui/layout/ProfileHeader.js +64 -0
- package/dist/ui/layout/ProfileHeader.js.map +1 -0
- package/dist/ui/layout/ScrollableRow.js +156 -0
- package/dist/ui/layout/ScrollableRow.js.map +1 -0
- package/dist/ui/layout/SectionCard.js +18 -0
- package/dist/ui/layout/SectionCard.js.map +1 -0
- package/dist/ui/layout/appBarHeight.js +42 -0
- package/dist/ui/layout/appBarHeight.js.map +1 -0
- package/dist/ui/metrics/BarList.js +89 -0
- package/dist/ui/metrics/BarList.js.map +1 -0
- package/dist/ui/metrics/CalendarHeatmap.js +131 -0
- package/dist/ui/metrics/CalendarHeatmap.js.map +1 -0
- package/dist/ui/metrics/ChartTooltip.js +16 -0
- package/dist/ui/metrics/ChartTooltip.js.map +1 -0
- package/dist/ui/metrics/ColumnChart.js +110 -0
- package/dist/ui/metrics/ColumnChart.js.map +1 -0
- package/dist/ui/metrics/MetricCard.js +64 -0
- package/dist/ui/metrics/MetricCard.js.map +1 -0
- package/dist/ui/metrics/TableToggle.js +13 -0
- package/dist/ui/metrics/TableToggle.js.map +1 -0
- package/dist/ui/metrics/barListLabels.js +9 -0
- package/dist/ui/metrics/barListLabels.js.map +1 -0
- package/dist/ui/metrics/heatmapScale.js +67 -0
- package/dist/ui/metrics/heatmapScale.js.map +1 -0
- package/dist/ui/navigation/BackButton.js +28 -0
- package/dist/ui/navigation/BackButton.js.map +1 -0
- package/dist/ui/navigation/ColorSchemeToggle.js +37 -0
- package/dist/ui/navigation/ColorSchemeToggle.js.map +1 -0
- package/dist/ui/navigation/DocumentTitle.js +11 -0
- package/dist/ui/navigation/DocumentTitle.js.map +1 -0
- package/dist/ui/navigation/FontSizeToggle.js +40 -0
- package/dist/ui/navigation/FontSizeToggle.js.map +1 -0
- package/dist/ui/navigation/LanguageToggle.js +27 -0
- package/dist/ui/navigation/LanguageToggle.js.map +1 -0
- package/dist/ui/navigation/PageBreadcrumbs.js +51 -0
- package/dist/ui/navigation/PageBreadcrumbs.js.map +1 -0
- package/dist/ui/navigation/colorMode.js +13 -0
- package/dist/ui/navigation/colorMode.js.map +1 -0
- package/dist/ui/navigation/fontSizeLevels.js +24 -0
- package/dist/ui/navigation/fontSizeLevels.js.map +1 -0
- package/dist/ui/navigation/useFontSize.js +44 -0
- package/dist/ui/navigation/useFontSize.js.map +1 -0
- package/dist/ui/timeline/GroupedTimeline.js +104 -0
- package/dist/ui/timeline/GroupedTimeline.js.map +1 -0
- package/dist/ui/timeline/timelineDot.js +20 -0
- package/dist/ui/timeline/timelineDot.js.map +1 -0
- package/dist/upload/FileDropzone.js +143 -0
- package/dist/upload/FileDropzone.js.map +1 -0
- package/dist/upload/fileRules.js +62 -0
- package/dist/upload/fileRules.js.map +1 -0
- package/dist/upload/uploadMachine.js +73 -0
- package/dist/upload/uploadMachine.js.map +1 -0
- package/dist/upload/uploadWithProgress.js +45 -0
- package/dist/upload/uploadWithProgress.js.map +1 -0
- package/package.json +303 -5
package/dist/index.js
ADDED
|
@@ -0,0 +1,383 @@
|
|
|
1
|
+
import { ToolkitProvider } from "./toolkit/ToolkitProvider.js";
|
|
2
|
+
import { useToolkitNavigation, useToolkitSettings } from "./toolkit/toolkitContext.js";
|
|
3
|
+
import { useToolkitTranslation } from "./toolkit/useToolkitTranslation.js";
|
|
4
|
+
import { DEFAULT_CURRENCY, DEFAULT_LANGUAGE, configureToolkit, toolkitSettings, translateToolkit } from "./toolkit/toolkitSettings.js";
|
|
5
|
+
import { browserNavigation } from "./toolkit/browserNavigation.js";
|
|
6
|
+
import { default as default2 } from "./locales/es.js";
|
|
7
|
+
import { default as default3 } from "./locales/en.js";
|
|
8
|
+
import { default as default4 } from "./feedback/ConfirmDialog.js";
|
|
9
|
+
import { default as default5 } from "./feedback/ModalWaiting.js";
|
|
10
|
+
import { NEW_BUILD_NOTICE_VARIANT, default as default6 } from "./feedback/NewBuildNotice.js";
|
|
11
|
+
import { default as default7 } from "./feedback/StaleBuildBoundary.js";
|
|
12
|
+
import { default as default8 } from "./feedback/Toaster.js";
|
|
13
|
+
import { confirmActionMachine } from "./feedback/confirmActionMachine.js";
|
|
14
|
+
import { TOAST_DEFAULT_OPTIONS, dismissToast, errorsObjectToMessage, toastDefault, toastError, toastInfo, toastLoading, toastProblem, toastPromise, toastSuccess, toastWarn } from "./feedback/toast.js";
|
|
15
|
+
import { useConfirmAction } from "./feedback/useConfirmAction.js";
|
|
16
|
+
import { default as default9 } from "./downloads/DownloadManager.js";
|
|
17
|
+
import { cancelDownload, clearFinishedDownloads, startDownload } from "./downloads/downloadQueue.js";
|
|
18
|
+
import { DOWNLOAD_STATUS, downloadsMachine } from "./downloads/downloadsMachine.js";
|
|
19
|
+
import { THEME_LOOK, TOP_BAR, createToolkitTheme } from "./theme/createToolkitTheme.js";
|
|
20
|
+
import { isAndroidDevice } from "./theme/androidDevice.js";
|
|
21
|
+
import { MINIMAL_BACKGROUND } from "./theme/components/minimalComponents.js";
|
|
22
|
+
import { STACKCRAFT, stackcraftDarkPalette, stackcraftLightPalette } from "./theme/stackcraftPalette.js";
|
|
23
|
+
import { toolkitComponents } from "./theme/toolkitComponents.js";
|
|
24
|
+
import { mergeComponents } from "./theme/mergeComponents.js";
|
|
25
|
+
import { GLASS_INSET_PIXELS, GLASS_MENU_RADIUS_PIXELS, GLASS_OPACITY, GLASS_PANEL_RADIUS_PIXELS, accentTextStylesOf, ambientBackgroundOf, canvasFieldStylesOf, fieldWellStylesOf, fixedBackgroundLayerOf, glassDropOf, glassStylesOf, glassSurfaceOf, isGlassTheme, materialBackgroundOf, materialStylesOf, materialSurfaceOf, scrollEdgeStylesOf } from "./theme/glassSurface.js";
|
|
26
|
+
import { AppLayout, MENU_POSITION } from "./appShell/AppLayout.js";
|
|
27
|
+
import { AuthLayout } from "./appShell/AuthLayout.js";
|
|
28
|
+
import { default as default10 } from "./appShell/BarActions.js";
|
|
29
|
+
import { default as default11 } from "./appShell/BarActionButton.js";
|
|
30
|
+
import { BAR_ACTIONS_PLACEMENT, useBarActionsPlacement, useCloseBarActionsMenu } from "./appShell/barActionsSlot.js";
|
|
31
|
+
import { BAR_CAPSULE_HEIGHT_PIXELS, default as default12 } from "./appShell/BarCapsule.js";
|
|
32
|
+
import { usesMobileTabBar } from "./appShell/tabBarRule.js";
|
|
33
|
+
import { default as default13, SettingSection } from "./appShell/AppearanceSettings.js";
|
|
34
|
+
import { barMenuPlacementOf } from "./appShell/barMenuPlacement.js";
|
|
35
|
+
import { DRAWER_WIDTH_COLLAPSED, DRAWER_WIDTH_EXPANDED, MAIN_CONTENT_ID } from "./appShell/shellSizes.js";
|
|
36
|
+
import { useAppMenu } from "./appShell/appMenuContext.js";
|
|
37
|
+
import { usePageTitle } from "./appShell/pageTitle.js";
|
|
38
|
+
import { initialsOf, menuItemDescriptionOf, menuItemLabelOf, menuItemSectionOf, menuSectionsOf } from "./appShell/menuItemText.js";
|
|
39
|
+
import { activeMenuItemOf, composeMenu, menuBadgeOf, menuBreadcrumbsOf, mobileTabsOf, parentMenuItemOf, screenMenuItemsOf } from "./navigation/appMenu.js";
|
|
40
|
+
import { menuBadgesFrom, useMenuBadges } from "./navigation/useMenuBadges.js";
|
|
41
|
+
import { allowOnlyUnrestricted, createAccessChecker } from "./access/accessRules.js";
|
|
42
|
+
import { default as default14 } from "./access/Can.js";
|
|
43
|
+
import { default as default15 } from "./access/RequireAccess.js";
|
|
44
|
+
import { useAccessChecker, useCan } from "./access/useCan.js";
|
|
45
|
+
import { default as default16 } from "./access/PermissionMatrix.js";
|
|
46
|
+
import { composePermissionGroups, groupStateOf, withPermission, withPermissionGroup } from "./access/permissionGroups.js";
|
|
47
|
+
import { DEFAULT_PASSWORD_POLICY, PASSWORD_RULE, isPasswordAccepted, passwordChecksOf } from "./auth/passwordRules.js";
|
|
48
|
+
import { default as default17 } from "./auth/PasswordChecklist.js";
|
|
49
|
+
import { ERROR_PAGE_KIND, default as default18 } from "./ui/layout/ErrorPage.js";
|
|
50
|
+
import { default as default19 } from "./upload/FileDropzone.js";
|
|
51
|
+
import { FILE_ACCEPT_PRESETS, FILE_REJECTION, matchesAccept, parseFileSize, resolveAccept } from "./upload/fileRules.js";
|
|
52
|
+
import { buildUploadActors, uploadMachine } from "./upload/uploadMachine.js";
|
|
53
|
+
import { uploadWithProgress } from "./upload/uploadWithProgress.js";
|
|
54
|
+
import { APP_BAR_HEIGHT_CSS_VARIABLE, SCROLL_MARGIN_BELOW_APP_BAR, useAppBarHeightPublisher } from "./ui/layout/appBarHeight.js";
|
|
55
|
+
import { default as default20 } from "./ui/layout/CollapsibleSection.js";
|
|
56
|
+
import { default as default21 } from "./ui/layout/ContentDialog.js";
|
|
57
|
+
import { default as default22 } from "./ui/layout/DefinitionList.js";
|
|
58
|
+
import { default as default23 } from "./ui/layout/DetailHeader.js";
|
|
59
|
+
import { default as default24 } from "./ui/layout/FullPageLoader.js";
|
|
60
|
+
import { default as default25 } from "./ui/layout/GlassLensFilter.js";
|
|
61
|
+
import { default as default26 } from "./ui/layout/GlassPanel.js";
|
|
62
|
+
import { default as default27 } from "./ui/layout/PageHeader.js";
|
|
63
|
+
import { default as default28 } from "./ui/layout/PageHeading.js";
|
|
64
|
+
import { default as default29 } from "./ui/layout/ProfileHeader.js";
|
|
65
|
+
import { default as default30, scrollableRow } from "./ui/layout/ScrollableRow.js";
|
|
66
|
+
import { default as default31 } from "./ui/layout/SectionCard.js";
|
|
67
|
+
import { default as default32 } from "./ui/navigation/BackButton.js";
|
|
68
|
+
import { default as default33 } from "./ui/navigation/ColorSchemeToggle.js";
|
|
69
|
+
import { default as default34 } from "./ui/navigation/DocumentTitle.js";
|
|
70
|
+
import { LANGUAGES, default as default35 } from "./ui/navigation/LanguageToggle.js";
|
|
71
|
+
import { default as default36 } from "./ui/navigation/FontSizeToggle.js";
|
|
72
|
+
import { FONT_SIZE_LEVELS } from "./ui/navigation/fontSizeLevels.js";
|
|
73
|
+
import { default as default37 } from "./ui/navigation/PageBreadcrumbs.js";
|
|
74
|
+
import { default as default38 } from "./ui/filters/DateRangeFilter.js";
|
|
75
|
+
import { default as default39 } from "./ui/filters/PeriodRangeSelector.js";
|
|
76
|
+
import { default as default40 } from "./ui/filters/QuickFilters.js";
|
|
77
|
+
import { SEGMENTED_CONTROL_SX, default as default41 } from "./ui/filters/SegmentedControl.js";
|
|
78
|
+
import { default as default42 } from "./ui/labels/DictionaryText.js";
|
|
79
|
+
import { default as default43 } from "./ui/labels/StatusChip.js";
|
|
80
|
+
import { default as default44 } from "./ui/labels/Tag.js";
|
|
81
|
+
import { default as default45 } from "./ui/actions/CopyButton.js";
|
|
82
|
+
import { default as default46 } from "./ui/actions/DownloadMenu.js";
|
|
83
|
+
import { default as default47 } from "./ui/actions/SecretField.js";
|
|
84
|
+
import { default as default48 } from "./ui/metrics/CalendarHeatmap.js";
|
|
85
|
+
import { default as default49, TREND_DIRECTION } from "./ui/metrics/MetricCard.js";
|
|
86
|
+
import { default as default50 } from "./ui/metrics/TableToggle.js";
|
|
87
|
+
import { default as default51 } from "./inputs/CatalogInput.js";
|
|
88
|
+
import { default as default52 } from "./inputs/ColorInput.js";
|
|
89
|
+
import { default as default53 } from "./inputs/FieldFrame.js";
|
|
90
|
+
import { FORM_ROW_CLASS, FormRow, default as default54 } from "./inputs/FormSection.js";
|
|
91
|
+
import { default as default55 } from "./inputs/NumberInput.js";
|
|
92
|
+
import { default as default56 } from "./inputs/SelectInput.js";
|
|
93
|
+
import { default as default57 } from "./inputs/TextInput.js";
|
|
94
|
+
import { HEX_COLOR, MIN_CONTRAST, contrastOnWhite, readableVariantOf } from "./inputs/colorContrast.js";
|
|
95
|
+
import { cleanNumberText, completeDecimals, groupThousands } from "./inputs/numberText.js";
|
|
96
|
+
import { translateValidationMessage } from "./forms/validationMessages.js";
|
|
97
|
+
import { dictionaryEntryOf, labelOf, lookup, shortLabelOf } from "./dictionaries/dictionaries.js";
|
|
98
|
+
import { dayOfPlainDate, formatCurrency, formatDate, formatDateTime, formatFileSize, formatList, formatMonthName, formatMonthShortName, formatNumber, formatPercent, formatTime, formatWeekdayShortName } from "./formatting.js";
|
|
99
|
+
import { parseInstant, parsePlainDate } from "./dates.js";
|
|
100
|
+
import { fieldErrorsOf, problemMessage, problemTitle } from "./problems.js";
|
|
101
|
+
import { newIdentifier } from "./identifiers.js";
|
|
102
|
+
import { XLSX_CONTENT_TYPE, fileNameFromContentDisposition, isCompleteZip, saveBlob } from "./files.js";
|
|
103
|
+
import { REDIRECT_PARAM, readRedirectParam, safeInternalPath, withRedirect } from "./navigation.js";
|
|
104
|
+
import { recallListUrl, rememberListUrl, useRememberListUrl } from "./lastListUrl.js";
|
|
105
|
+
import { currentHistoryIndex, forgetPageName, pageNameAt, rememberPageName, useNavigationTrail, usePageName } from "./navigationTrail.js";
|
|
106
|
+
import { periodRangeIsValid, rangeEndAfterStartChange, rangeEndOptionsOf } from "./periodRanges.js";
|
|
107
|
+
import { createLogger, setLogLevel } from "./observability/logger.js";
|
|
108
|
+
import { isNewBuildPublished, reportPublishedBuild, useNewBuildPublished } from "./observability/publishedBuild.js";
|
|
109
|
+
import { BUILD_WATCH_ACTION, buildWatchActionOf, publishedBuildIdOf } from "./observability/buildWatch.js";
|
|
110
|
+
import { usePublishedBuildWatch } from "./observability/usePublishedBuildWatch.js";
|
|
111
|
+
import { API_ERROR_STATUS, ApiError } from "./api/ApiError.js";
|
|
112
|
+
import { API_RESPONSE_PARSE, apiUrlOf, createApiClient } from "./api/createApiClient.js";
|
|
113
|
+
import { isStaleChunkError, recoverFromStaleChunk } from "./api/staleChunks.js";
|
|
114
|
+
import { ACCOUNT_EVENT_KIND, default as default58 } from "./security/ActivityLog.js";
|
|
115
|
+
import { default as default59 } from "./security/RecoveryCodesDialog.js";
|
|
116
|
+
import { default as default60 } from "./security/SessionsCard.js";
|
|
117
|
+
import { default as default61 } from "./inbox/InboxLayout.js";
|
|
118
|
+
import { default as default62 } from "./inbox/MessageList.js";
|
|
119
|
+
import { default as default63 } from "./inbox/MessageView.js";
|
|
120
|
+
import { inboxDateOf } from "./inbox/inboxDates.js";
|
|
121
|
+
import { INSTALL_VARIANT, detectPlatform, parseIOSMajor, resolveInstallVariant } from "./pwa/installInstructions.js";
|
|
122
|
+
import { useInstallPrompt } from "./pwa/useInstallPrompt.js";
|
|
123
|
+
import { default as default64, variantHasInstructions } from "./pwa/InstallInstructionsDialog.js";
|
|
124
|
+
import { default as default65 } from "./pwa/InstallPromptBanner.js";
|
|
125
|
+
import { default as default66 } from "./pwa/InstallAppSetting.js";
|
|
126
|
+
export {
|
|
127
|
+
ACCOUNT_EVENT_KIND,
|
|
128
|
+
API_ERROR_STATUS,
|
|
129
|
+
API_RESPONSE_PARSE,
|
|
130
|
+
APP_BAR_HEIGHT_CSS_VARIABLE,
|
|
131
|
+
default58 as ActivityLog,
|
|
132
|
+
ApiError,
|
|
133
|
+
AppLayout,
|
|
134
|
+
default13 as AppearanceSettings,
|
|
135
|
+
AuthLayout,
|
|
136
|
+
BAR_ACTIONS_PLACEMENT,
|
|
137
|
+
BAR_CAPSULE_HEIGHT_PIXELS,
|
|
138
|
+
BUILD_WATCH_ACTION,
|
|
139
|
+
default32 as BackButton,
|
|
140
|
+
default11 as BarActionButton,
|
|
141
|
+
default10 as BarActions,
|
|
142
|
+
default12 as BarCapsule,
|
|
143
|
+
default48 as CalendarHeatmap,
|
|
144
|
+
default14 as Can,
|
|
145
|
+
default51 as CatalogInput,
|
|
146
|
+
default20 as CollapsibleSection,
|
|
147
|
+
default52 as ColorInput,
|
|
148
|
+
default33 as ColorSchemeToggle,
|
|
149
|
+
default4 as ConfirmDialog,
|
|
150
|
+
default21 as ContentDialog,
|
|
151
|
+
default45 as CopyButton,
|
|
152
|
+
DEFAULT_CURRENCY,
|
|
153
|
+
DEFAULT_LANGUAGE,
|
|
154
|
+
DEFAULT_PASSWORD_POLICY,
|
|
155
|
+
DOWNLOAD_STATUS,
|
|
156
|
+
DRAWER_WIDTH_COLLAPSED,
|
|
157
|
+
DRAWER_WIDTH_EXPANDED,
|
|
158
|
+
default38 as DateRangeFilter,
|
|
159
|
+
default22 as DefinitionList,
|
|
160
|
+
default23 as DetailHeader,
|
|
161
|
+
default42 as DictionaryText,
|
|
162
|
+
default34 as DocumentTitle,
|
|
163
|
+
default9 as DownloadManager,
|
|
164
|
+
default46 as DownloadMenu,
|
|
165
|
+
ERROR_PAGE_KIND,
|
|
166
|
+
default18 as ErrorPage,
|
|
167
|
+
FILE_ACCEPT_PRESETS,
|
|
168
|
+
FILE_REJECTION,
|
|
169
|
+
FONT_SIZE_LEVELS,
|
|
170
|
+
FORM_ROW_CLASS,
|
|
171
|
+
default53 as FieldFrame,
|
|
172
|
+
default19 as FileDropzone,
|
|
173
|
+
default36 as FontSizeToggle,
|
|
174
|
+
FormRow,
|
|
175
|
+
default54 as FormSection,
|
|
176
|
+
default24 as FullPageLoader,
|
|
177
|
+
GLASS_INSET_PIXELS,
|
|
178
|
+
GLASS_MENU_RADIUS_PIXELS,
|
|
179
|
+
GLASS_OPACITY,
|
|
180
|
+
GLASS_PANEL_RADIUS_PIXELS,
|
|
181
|
+
default25 as GlassLensFilter,
|
|
182
|
+
default26 as GlassPanel,
|
|
183
|
+
HEX_COLOR,
|
|
184
|
+
INSTALL_VARIANT,
|
|
185
|
+
default61 as InboxLayout,
|
|
186
|
+
default66 as InstallAppSetting,
|
|
187
|
+
default64 as InstallInstructionsDialog,
|
|
188
|
+
default65 as InstallPromptBanner,
|
|
189
|
+
LANGUAGES,
|
|
190
|
+
default35 as LanguageToggle,
|
|
191
|
+
MAIN_CONTENT_ID,
|
|
192
|
+
MENU_POSITION,
|
|
193
|
+
MINIMAL_BACKGROUND,
|
|
194
|
+
MIN_CONTRAST,
|
|
195
|
+
default62 as MessageList,
|
|
196
|
+
default63 as MessageView,
|
|
197
|
+
default49 as MetricCard,
|
|
198
|
+
default5 as ModalWaiting,
|
|
199
|
+
NEW_BUILD_NOTICE_VARIANT,
|
|
200
|
+
default6 as NewBuildNotice,
|
|
201
|
+
default55 as NumberInput,
|
|
202
|
+
PASSWORD_RULE,
|
|
203
|
+
default37 as PageBreadcrumbs,
|
|
204
|
+
default27 as PageHeader,
|
|
205
|
+
default28 as PageHeading,
|
|
206
|
+
default17 as PasswordChecklist,
|
|
207
|
+
default39 as PeriodRangeSelector,
|
|
208
|
+
default16 as PermissionMatrix,
|
|
209
|
+
default29 as ProfileHeader,
|
|
210
|
+
default40 as QuickFilters,
|
|
211
|
+
REDIRECT_PARAM,
|
|
212
|
+
default59 as RecoveryCodesDialog,
|
|
213
|
+
default15 as RequireAccess,
|
|
214
|
+
SCROLL_MARGIN_BELOW_APP_BAR,
|
|
215
|
+
SEGMENTED_CONTROL_SX,
|
|
216
|
+
STACKCRAFT,
|
|
217
|
+
default30 as ScrollableRow,
|
|
218
|
+
default47 as SecretField,
|
|
219
|
+
default31 as SectionCard,
|
|
220
|
+
default41 as SegmentedControl,
|
|
221
|
+
default56 as SelectInput,
|
|
222
|
+
default60 as SessionsCard,
|
|
223
|
+
SettingSection,
|
|
224
|
+
default7 as StaleBuildBoundary,
|
|
225
|
+
default43 as StatusChip,
|
|
226
|
+
THEME_LOOK,
|
|
227
|
+
TOAST_DEFAULT_OPTIONS,
|
|
228
|
+
TOP_BAR,
|
|
229
|
+
TREND_DIRECTION,
|
|
230
|
+
default50 as TableToggle,
|
|
231
|
+
default44 as Tag,
|
|
232
|
+
default57 as TextInput,
|
|
233
|
+
default8 as Toaster,
|
|
234
|
+
ToolkitProvider,
|
|
235
|
+
XLSX_CONTENT_TYPE,
|
|
236
|
+
accentTextStylesOf,
|
|
237
|
+
activeMenuItemOf,
|
|
238
|
+
allowOnlyUnrestricted,
|
|
239
|
+
ambientBackgroundOf,
|
|
240
|
+
apiUrlOf,
|
|
241
|
+
barMenuPlacementOf,
|
|
242
|
+
browserNavigation,
|
|
243
|
+
buildUploadActors,
|
|
244
|
+
buildWatchActionOf,
|
|
245
|
+
cancelDownload,
|
|
246
|
+
canvasFieldStylesOf,
|
|
247
|
+
cleanNumberText,
|
|
248
|
+
clearFinishedDownloads,
|
|
249
|
+
completeDecimals,
|
|
250
|
+
composeMenu,
|
|
251
|
+
composePermissionGroups,
|
|
252
|
+
configureToolkit,
|
|
253
|
+
confirmActionMachine,
|
|
254
|
+
contrastOnWhite,
|
|
255
|
+
createAccessChecker,
|
|
256
|
+
createApiClient,
|
|
257
|
+
createLogger,
|
|
258
|
+
createToolkitTheme,
|
|
259
|
+
currentHistoryIndex,
|
|
260
|
+
dayOfPlainDate,
|
|
261
|
+
detectPlatform,
|
|
262
|
+
dictionaryEntryOf,
|
|
263
|
+
dismissToast,
|
|
264
|
+
downloadsMachine,
|
|
265
|
+
errorsObjectToMessage,
|
|
266
|
+
fieldErrorsOf,
|
|
267
|
+
fieldWellStylesOf,
|
|
268
|
+
fileNameFromContentDisposition,
|
|
269
|
+
fixedBackgroundLayerOf,
|
|
270
|
+
forgetPageName,
|
|
271
|
+
formatCurrency,
|
|
272
|
+
formatDate,
|
|
273
|
+
formatDateTime,
|
|
274
|
+
formatFileSize,
|
|
275
|
+
formatList,
|
|
276
|
+
formatMonthName,
|
|
277
|
+
formatMonthShortName,
|
|
278
|
+
formatNumber,
|
|
279
|
+
formatPercent,
|
|
280
|
+
formatTime,
|
|
281
|
+
formatWeekdayShortName,
|
|
282
|
+
glassDropOf,
|
|
283
|
+
glassStylesOf,
|
|
284
|
+
glassSurfaceOf,
|
|
285
|
+
groupStateOf,
|
|
286
|
+
groupThousands,
|
|
287
|
+
inboxDateOf,
|
|
288
|
+
initialsOf,
|
|
289
|
+
isAndroidDevice,
|
|
290
|
+
isCompleteZip,
|
|
291
|
+
isGlassTheme,
|
|
292
|
+
isNewBuildPublished,
|
|
293
|
+
isPasswordAccepted,
|
|
294
|
+
isStaleChunkError,
|
|
295
|
+
labelOf,
|
|
296
|
+
lookup,
|
|
297
|
+
matchesAccept,
|
|
298
|
+
materialBackgroundOf,
|
|
299
|
+
materialStylesOf,
|
|
300
|
+
materialSurfaceOf,
|
|
301
|
+
menuBadgeOf,
|
|
302
|
+
menuBadgesFrom,
|
|
303
|
+
menuBreadcrumbsOf,
|
|
304
|
+
menuItemDescriptionOf,
|
|
305
|
+
menuItemLabelOf,
|
|
306
|
+
menuItemSectionOf,
|
|
307
|
+
menuSectionsOf,
|
|
308
|
+
mergeComponents,
|
|
309
|
+
mobileTabsOf,
|
|
310
|
+
newIdentifier,
|
|
311
|
+
pageNameAt,
|
|
312
|
+
parentMenuItemOf,
|
|
313
|
+
parseFileSize,
|
|
314
|
+
parseIOSMajor,
|
|
315
|
+
parseInstant,
|
|
316
|
+
parsePlainDate,
|
|
317
|
+
passwordChecksOf,
|
|
318
|
+
periodRangeIsValid,
|
|
319
|
+
problemMessage,
|
|
320
|
+
problemTitle,
|
|
321
|
+
publishedBuildIdOf,
|
|
322
|
+
rangeEndAfterStartChange,
|
|
323
|
+
rangeEndOptionsOf,
|
|
324
|
+
readRedirectParam,
|
|
325
|
+
readableVariantOf,
|
|
326
|
+
recallListUrl,
|
|
327
|
+
recoverFromStaleChunk,
|
|
328
|
+
rememberListUrl,
|
|
329
|
+
rememberPageName,
|
|
330
|
+
reportPublishedBuild,
|
|
331
|
+
resolveAccept,
|
|
332
|
+
resolveInstallVariant,
|
|
333
|
+
safeInternalPath,
|
|
334
|
+
saveBlob,
|
|
335
|
+
screenMenuItemsOf,
|
|
336
|
+
scrollEdgeStylesOf,
|
|
337
|
+
scrollableRow,
|
|
338
|
+
setLogLevel,
|
|
339
|
+
shortLabelOf,
|
|
340
|
+
stackcraftDarkPalette,
|
|
341
|
+
stackcraftLightPalette,
|
|
342
|
+
startDownload,
|
|
343
|
+
toastDefault,
|
|
344
|
+
toastError,
|
|
345
|
+
toastInfo,
|
|
346
|
+
toastLoading,
|
|
347
|
+
toastProblem,
|
|
348
|
+
toastPromise,
|
|
349
|
+
toastSuccess,
|
|
350
|
+
toastWarn,
|
|
351
|
+
toolkitComponents,
|
|
352
|
+
toolkitSettings,
|
|
353
|
+
default3 as toolkitTextsEn,
|
|
354
|
+
default2 as toolkitTextsEs,
|
|
355
|
+
translateToolkit,
|
|
356
|
+
translateValidationMessage,
|
|
357
|
+
uploadMachine,
|
|
358
|
+
uploadWithProgress,
|
|
359
|
+
useAccessChecker,
|
|
360
|
+
useAppBarHeightPublisher,
|
|
361
|
+
useAppMenu,
|
|
362
|
+
useBarActionsPlacement,
|
|
363
|
+
useCan,
|
|
364
|
+
useCloseBarActionsMenu,
|
|
365
|
+
useConfirmAction,
|
|
366
|
+
useInstallPrompt,
|
|
367
|
+
useMenuBadges,
|
|
368
|
+
useNavigationTrail,
|
|
369
|
+
useNewBuildPublished,
|
|
370
|
+
usePageName,
|
|
371
|
+
usePageTitle,
|
|
372
|
+
usePublishedBuildWatch,
|
|
373
|
+
useRememberListUrl,
|
|
374
|
+
useToolkitNavigation,
|
|
375
|
+
useToolkitSettings,
|
|
376
|
+
useToolkitTranslation,
|
|
377
|
+
usesMobileTabBar,
|
|
378
|
+
variantHasInstructions,
|
|
379
|
+
withPermission,
|
|
380
|
+
withPermissionGroup,
|
|
381
|
+
withRedirect
|
|
382
|
+
};
|
|
383
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useId } from "react";
|
|
4
|
+
import { useToolkitTranslation } from "../toolkit/useToolkitTranslation.js";
|
|
5
|
+
import Autocomplete from "@mui/material/Autocomplete";
|
|
6
|
+
import TextField from "@mui/material/TextField";
|
|
7
|
+
import { translateValidationMessage } from "../forms/validationMessages.js";
|
|
8
|
+
import FieldFrame from "./FieldFrame.js";
|
|
9
|
+
const MAX_VISIBLE_OPTIONS = 100;
|
|
10
|
+
function plainTextOf(text) {
|
|
11
|
+
return String(text ?? "").normalize("NFD").replace(new RegExp("\\p{Diacritic}", "gu"), "").toLowerCase();
|
|
12
|
+
}
|
|
13
|
+
function CatalogInput({
|
|
14
|
+
name,
|
|
15
|
+
label,
|
|
16
|
+
value,
|
|
17
|
+
onChange,
|
|
18
|
+
onBlur,
|
|
19
|
+
options = [],
|
|
20
|
+
formatLabel,
|
|
21
|
+
error,
|
|
22
|
+
helperText = " ",
|
|
23
|
+
loading = false,
|
|
24
|
+
disabled = false,
|
|
25
|
+
inputRef,
|
|
26
|
+
placeholder
|
|
27
|
+
}) {
|
|
28
|
+
const { t } = useToolkitTranslation("common");
|
|
29
|
+
const generatedId = useId();
|
|
30
|
+
const inputId = `${name ?? "catalog"}-${generatedId}`;
|
|
31
|
+
const errorText = translateValidationMessage(t, error);
|
|
32
|
+
const selectedOption = options.find((option) => option.code === value) ?? null;
|
|
33
|
+
const optionLabelOf = (option) => formatLabel ? formatLabel(option) : `${option.label} (${option.code})`;
|
|
34
|
+
return /* @__PURE__ */ jsx(FieldFrame, { inputId, label, children: /* @__PURE__ */ jsx(
|
|
35
|
+
Autocomplete,
|
|
36
|
+
{
|
|
37
|
+
id: inputId,
|
|
38
|
+
fullWidth: true,
|
|
39
|
+
size: "small",
|
|
40
|
+
options,
|
|
41
|
+
value: selectedOption,
|
|
42
|
+
loading,
|
|
43
|
+
disabled,
|
|
44
|
+
noOptionsText: t("form.noOptions"),
|
|
45
|
+
loadingText: t("form.loadingOptions"),
|
|
46
|
+
getOptionLabel: optionLabelOf,
|
|
47
|
+
isOptionEqualToValue: (option, currentOption) => option.code === currentOption.code,
|
|
48
|
+
filterOptions: (allOptions, { inputValue }) => {
|
|
49
|
+
const wantedText = plainTextOf(inputValue);
|
|
50
|
+
const matchingOptions = wantedText ? allOptions.filter((option) => plainTextOf(optionLabelOf(option)).includes(wantedText)) : allOptions;
|
|
51
|
+
return matchingOptions.slice(0, MAX_VISIBLE_OPTIONS);
|
|
52
|
+
},
|
|
53
|
+
onChange: (event, option) => onChange(option?.code ?? ""),
|
|
54
|
+
onBlur,
|
|
55
|
+
renderInput: (inputProps) => /* @__PURE__ */ jsx(TextField, { ...inputProps, name, inputRef, placeholder, error: Boolean(errorText), helperText: errorText ?? helperText })
|
|
56
|
+
}
|
|
57
|
+
) });
|
|
58
|
+
}
|
|
59
|
+
export {
|
|
60
|
+
CatalogInput as default
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=CatalogInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CatalogInput.js","sources":["../../src/inputs/CatalogInput.jsx"],"sourcesContent":["// Campo suelto que elige UNA clave de un catálogo ([{code, label}]): actividad económica, giro, país, banco… Se busca por la\n// clave o por el texto, sin acentos ni mayúsculas, y al formulario llega solo la clave.\n//\n// Por qué no un <select>: con catálogos de cientos de opciones no se puede usar; y con texto libre la gente inventa claves.\n// Se enseñan a lo más MAX_VISIBLE_OPTIONS coincidencias: con miles, la lista completa congela la pantalla.\n//\n// Genérico del paquete: function (regla de la casa).\nimport {useId} from 'react';\nimport {useToolkitTranslation} from '@/toolkit/useToolkitTranslation.js';\nimport Autocomplete from '@mui/material/Autocomplete';\nimport TextField from '@mui/material/TextField';\n\nimport {translateValidationMessage} from '@/forms/validationMessages.js';\nimport FieldFrame from '@/inputs/FieldFrame.jsx';\n\nconst MAX_VISIBLE_OPTIONS = 100;\n\n/**\n * Un texto sin acentos ni mayúsculas, para que «credito» encuentre «Crédito».\n *\n * @param {unknown} text\n * @returns {string}\n */\nfunction plainTextOf(text) {\n return String(text ?? '').normalize('NFD').replace(/\\p{Diacritic}/gu, '').toLowerCase();\n}\n\n/**\n * @param {object} props\n * @param {string} [props.name]\n * @param {string} props.label ya traducido\n * @param {string|null|undefined} props.value la clave elegida ('' = ninguna)\n * @param {(code: string) => void} props.onChange recibe la clave ('' al borrar)\n * @param {() => void} [props.onBlur]\n * @param {Array<{code: string, label: string}>} props.options\n * @param {(option: {code: string, label: string}) => string} [props.formatLabel] por omisión «Nombre (clave)»\n * @param {string|{key: string, values?: object}} [props.error]\n * @param {string} [props.helperText]\n * @param {boolean} [props.loading] el catálogo todavía no llega\n * @param {string} [props.placeholder] la pista con el campo vacío, ya traducida (p. ej. «Busque un estado»): sin ella, en un\n * formulario agrupado el campo vacío solo enseña su botón y no se entiende qué es\n * @param {boolean} [props.disabled]\n * @param {import('react').Ref<HTMLInputElement>} [props.inputRef]\n */\nexport default function CatalogInput({\n name, label, value, onChange, onBlur, options = [], formatLabel, error, helperText = ' ', loading = false, disabled = false, inputRef, placeholder,\n}) {\n const {t} = useToolkitTranslation('common');\n const generatedId = useId();\n const inputId = `${name ?? 'catalog'}-${generatedId}`;\n const errorText = translateValidationMessage(t, error);\n const selectedOption = options.find((option) => option.code === value) ?? null;\n const optionLabelOf = (option) => (formatLabel ? formatLabel(option) : `${option.label} (${option.code})`);\n\n return (\n <FieldFrame inputId={inputId} label={label}>\n <Autocomplete\n id={inputId}\n fullWidth\n size=\"small\"\n options={options}\n value={selectedOption}\n loading={loading}\n disabled={disabled}\n noOptionsText={t('form.noOptions')}\n loadingText={t('form.loadingOptions')}\n getOptionLabel={optionLabelOf}\n isOptionEqualToValue={(option, currentOption) => option.code === currentOption.code}\n filterOptions={(allOptions, {inputValue}) => {\n const wantedText = plainTextOf(inputValue);\n const matchingOptions = wantedText\n ? allOptions.filter((option) => plainTextOf(optionLabelOf(option)).includes(wantedText))\n : allOptions;\n return matchingOptions.slice(0, MAX_VISIBLE_OPTIONS);\n }}\n onChange={(event, option) => onChange(option?.code ?? '')}\n onBlur={onBlur}\n renderInput={(inputProps) => (\n <TextField {...inputProps} name={name} inputRef={inputRef} placeholder={placeholder} error={Boolean(errorText)} helperText={errorText ?? helperText} />\n )}\n />\n </FieldFrame>\n );\n}\n"],"names":[],"mappings":";;;;;;;;AAeA,MAAM,sBAAsB;AAQ5B,SAAS,YAAY,MAAM;AACvB,SAAO,OAAO,QAAQ,EAAE,EAAE,UAAU,KAAK,EAAE,QAAQ,WAAA,kBAAA,IAAA,GAAmB,EAAE,EAAE,YAAA;AAC9E;AAmBA,SAAwB,aAAa;AAAA,EACjC;AAAA,EAAM;AAAA,EAAO;AAAA,EAAO;AAAA,EAAU;AAAA,EAAQ,UAAU,CAAA;AAAA,EAAI;AAAA,EAAa;AAAA,EAAO,aAAa;AAAA,EAAK,UAAU;AAAA,EAAO,WAAW;AAAA,EAAO;AAAA,EAAU;AAC3I,GAAG;AACC,QAAM,EAAC,EAAA,IAAK,sBAAsB,QAAQ;AAC1C,QAAM,cAAc,MAAA;AACpB,QAAM,UAAU,GAAG,QAAQ,SAAS,IAAI,WAAW;AACnD,QAAM,YAAY,2BAA2B,GAAG,KAAK;AACrD,QAAM,iBAAiB,QAAQ,KAAK,CAAC,WAAW,OAAO,SAAS,KAAK,KAAK;AAC1E,QAAM,gBAAgB,CAAC,WAAY,cAAc,YAAY,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK,OAAO,IAAI;AAEtG,SACI,oBAAC,YAAA,EAAW,SAAkB,OAC1B,UAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,IAAI;AAAA,MACJ,WAAS;AAAA,MACT,MAAK;AAAA,MACL;AAAA,MACA,OAAO;AAAA,MACP;AAAA,MACA;AAAA,MACA,eAAe,EAAE,gBAAgB;AAAA,MACjC,aAAa,EAAE,qBAAqB;AAAA,MACpC,gBAAgB;AAAA,MAChB,sBAAsB,CAAC,QAAQ,kBAAkB,OAAO,SAAS,cAAc;AAAA,MAC/E,eAAe,CAAC,YAAY,EAAC,iBAAgB;AACzC,cAAM,aAAa,YAAY,UAAU;AACzC,cAAM,kBAAkB,aAClB,WAAW,OAAO,CAAC,WAAW,YAAY,cAAc,MAAM,CAAC,EAAE,SAAS,UAAU,CAAC,IACrF;AACN,eAAO,gBAAgB,MAAM,GAAG,mBAAmB;AAAA,MACvD;AAAA,MACA,UAAU,CAAC,OAAO,WAAW,SAAS,QAAQ,QAAQ,EAAE;AAAA,MACxD;AAAA,MACA,aAAa,CAAC,eACV,oBAAC,WAAA,EAAW,GAAG,YAAY,MAAY,UAAoB,aAA0B,OAAO,QAAQ,SAAS,GAAG,YAAY,aAAa,WAAA,CAAY;AAAA,IAAA;AAAA,EAAA,GAGjK;AAER;"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useId } from "react";
|
|
4
|
+
import { useToolkitTranslation } from "../toolkit/useToolkitTranslation.js";
|
|
5
|
+
import Alert from "@mui/material/Alert";
|
|
6
|
+
import Box from "@mui/material/Box";
|
|
7
|
+
import Button from "@mui/material/Button";
|
|
8
|
+
import InputAdornment from "@mui/material/InputAdornment";
|
|
9
|
+
import Stack from "@mui/material/Stack";
|
|
10
|
+
import TextField from "@mui/material/TextField";
|
|
11
|
+
import { translateValidationMessage } from "../forms/validationMessages.js";
|
|
12
|
+
import { contrastOnWhite, MIN_CONTRAST, readableVariantOf, HEX_COLOR } from "./colorContrast.js";
|
|
13
|
+
import FieldFrame from "./FieldFrame.js";
|
|
14
|
+
const COLOR_LENGTH = 7;
|
|
15
|
+
const NEUTRAL_COLOR = "#000000";
|
|
16
|
+
const RATIO_DECIMALS = 1;
|
|
17
|
+
const SWATCH_PIXELS = 24;
|
|
18
|
+
const SWATCH_EDGE = Object.freeze({ light: "rgba(15, 23, 42, 0.18)", dark: "rgba(255, 255, 255, 0.24)" });
|
|
19
|
+
function ColorInput({
|
|
20
|
+
name,
|
|
21
|
+
label,
|
|
22
|
+
value,
|
|
23
|
+
onChange,
|
|
24
|
+
onBlur,
|
|
25
|
+
error,
|
|
26
|
+
helperText = " ",
|
|
27
|
+
checkContrast = true,
|
|
28
|
+
disabled = false,
|
|
29
|
+
inputRef
|
|
30
|
+
}) {
|
|
31
|
+
const { t } = useToolkitTranslation("common");
|
|
32
|
+
const generatedId = useId();
|
|
33
|
+
const inputId = `${name ?? "color"}-${generatedId}`;
|
|
34
|
+
const color = value ?? "";
|
|
35
|
+
const isValidColor = HEX_COLOR.test(color);
|
|
36
|
+
const contrastRatio = isValidColor ? contrastOnWhite(color) : null;
|
|
37
|
+
const suggestion = checkContrast && isValidColor && contrastRatio < MIN_CONTRAST ? readableVariantOf(color) : null;
|
|
38
|
+
const errorText = translateValidationMessage(t, error);
|
|
39
|
+
const contrastText = contrastRatio && checkContrast ? t("form.colorContrast", { ratio: contrastRatio.toFixed(RATIO_DECIMALS) }) : helperText;
|
|
40
|
+
const choose = (nextColor) => onChange(nextColor.toUpperCase());
|
|
41
|
+
return /* @__PURE__ */ jsx(FieldFrame, { inputId, label, children: /* @__PURE__ */ jsxs(Stack, { spacing: 1, children: [
|
|
42
|
+
/* @__PURE__ */ jsx(
|
|
43
|
+
TextField,
|
|
44
|
+
{
|
|
45
|
+
name,
|
|
46
|
+
id: inputId,
|
|
47
|
+
inputRef,
|
|
48
|
+
size: "small",
|
|
49
|
+
fullWidth: true,
|
|
50
|
+
value: color,
|
|
51
|
+
disabled,
|
|
52
|
+
placeholder: "#RRGGBB",
|
|
53
|
+
onChange: (event) => choose(event.target.value),
|
|
54
|
+
onBlur,
|
|
55
|
+
error: Boolean(errorText),
|
|
56
|
+
helperText: errorText ?? contrastText,
|
|
57
|
+
slotProps: {
|
|
58
|
+
input: {
|
|
59
|
+
startAdornment: /* @__PURE__ */ jsx(InputAdornment, { position: "start", children: /* @__PURE__ */ jsx(
|
|
60
|
+
Box,
|
|
61
|
+
{
|
|
62
|
+
component: "label",
|
|
63
|
+
sx: (theme) => ({
|
|
64
|
+
position: "relative",
|
|
65
|
+
display: "block",
|
|
66
|
+
flexShrink: 0,
|
|
67
|
+
width: SWATCH_PIXELS,
|
|
68
|
+
height: SWATCH_PIXELS,
|
|
69
|
+
borderRadius: "50%",
|
|
70
|
+
cursor: disabled ? "default" : "pointer",
|
|
71
|
+
backgroundColor: isValidColor ? color : "transparent",
|
|
72
|
+
// la orilla de la muestra: que se vea aunque el color sea el del fondo (blanco en claro, negro en oscuro)
|
|
73
|
+
boxShadow: `inset 0 0 0 1px ${SWATCH_EDGE.light}`,
|
|
74
|
+
...theme.applyStyles("dark", { boxShadow: `inset 0 0 0 1px ${SWATCH_EDGE.dark}` })
|
|
75
|
+
}),
|
|
76
|
+
children: /* @__PURE__ */ jsx(
|
|
77
|
+
Box,
|
|
78
|
+
{
|
|
79
|
+
component: "input",
|
|
80
|
+
type: "color",
|
|
81
|
+
value: isValidColor ? color : NEUTRAL_COLOR,
|
|
82
|
+
disabled,
|
|
83
|
+
"aria-label": t("form.pickColor"),
|
|
84
|
+
onChange: (event) => choose(event.target.value),
|
|
85
|
+
sx: { position: "absolute", inset: 0, width: "100%", height: "100%", opacity: 0, border: 0, p: 0, cursor: "inherit" }
|
|
86
|
+
}
|
|
87
|
+
)
|
|
88
|
+
}
|
|
89
|
+
) })
|
|
90
|
+
},
|
|
91
|
+
htmlInput: { maxLength: COLOR_LENGTH, spellCheck: false, style: { fontVariantNumeric: "tabular-nums" } }
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
),
|
|
95
|
+
suggestion && /* @__PURE__ */ jsx(
|
|
96
|
+
Alert,
|
|
97
|
+
{
|
|
98
|
+
severity: "warning",
|
|
99
|
+
action: /* @__PURE__ */ jsx(Button, { color: "inherit", size: "small", onClick: () => choose(suggestion), children: t("form.colorUseSuggestion", { color: suggestion }) }),
|
|
100
|
+
children: t("form.colorLowContrast", { suggestion })
|
|
101
|
+
}
|
|
102
|
+
)
|
|
103
|
+
] }) });
|
|
104
|
+
}
|
|
105
|
+
export {
|
|
106
|
+
ColorInput as default
|
|
107
|
+
};
|
|
108
|
+
//# sourceMappingURL=ColorInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ColorInput.js","sources":["../../src/inputs/ColorInput.jsx"],"sourcesContent":["// Campo de COLOR suelto (viene de «Identidad de documentos» de PLD): la muestra redonda (el «color well» de Apple, que abre\n// el selector del sistema) dentro del campo del texto #RRGGBB, el contraste contra el blanco mientras se elige y, si el color casi no se leería, el mismo tono más oscuro con su botón\n// para usarlo.\n//\n// Para lo que se imprime o se lee sobre blanco (el color de una marca en un comprobante). El color llega al formulario en\n// mayúsculas (#2B3A67); '' = sin color.\n//\n// Genérico del paquete: function (regla de la casa).\nimport {useId} from 'react';\nimport {useToolkitTranslation} from '@/toolkit/useToolkitTranslation.js';\nimport Alert from '@mui/material/Alert';\nimport Box from '@mui/material/Box';\nimport Button from '@mui/material/Button';\nimport InputAdornment from '@mui/material/InputAdornment';\nimport Stack from '@mui/material/Stack';\nimport TextField from '@mui/material/TextField';\n\nimport {translateValidationMessage} from '@/forms/validationMessages.js';\nimport {HEX_COLOR, MIN_CONTRAST, contrastOnWhite, readableVariantOf} from '@/inputs/colorContrast.js';\nimport FieldFrame from '@/inputs/FieldFrame.jsx';\n\n// #RRGGBB\nconst COLOR_LENGTH = 7;\n// el color que enseña el selector del navegador mientras el texto no es un color\nconst NEUTRAL_COLOR = '#000000';\nconst RATIO_DECIMALS = 1;\n// la muestra redonda (px) y su orilla fina en claro y en oscuro\nconst SWATCH_PIXELS = 24;\nconst SWATCH_EDGE = Object.freeze({light: 'rgba(15, 23, 42, 0.18)', dark: 'rgba(255, 255, 255, 0.24)'});\n\n/**\n * @param {object} props\n * @param {string} [props.name]\n * @param {string} props.label ya traducido\n * @param {string|null|undefined} props.value '#RRGGBB' o ''\n * @param {(color: string) => void} props.onChange recibe el color en mayúsculas\n * @param {() => void} [props.onBlur]\n * @param {string|{key: string, values?: object}} [props.error]\n * @param {string} [props.helperText] cuando no hay color\n * @param {boolean} [props.checkContrast] avisa si casi no se lee sobre blanco (por omisión sí)\n * @param {boolean} [props.disabled]\n * @param {import('react').Ref<HTMLInputElement>} [props.inputRef]\n */\nexport default function ColorInput({\n name, label, value, onChange, onBlur, error, helperText = ' ', checkContrast = true, disabled = false, inputRef,\n}) {\n const {t} = useToolkitTranslation('common');\n const generatedId = useId();\n const inputId = `${name ?? 'color'}-${generatedId}`;\n const color = value ?? '';\n const isValidColor = HEX_COLOR.test(color);\n const contrastRatio = isValidColor ? contrastOnWhite(color) : null;\n const suggestion = checkContrast && isValidColor && contrastRatio < MIN_CONTRAST ? readableVariantOf(color) : null;\n const errorText = translateValidationMessage(t, error);\n const contrastText = contrastRatio && checkContrast ? t('form.colorContrast', {ratio: contrastRatio.toFixed(RATIO_DECIMALS)}) : helperText;\n const choose = (nextColor) => onChange(nextColor.toUpperCase());\n\n return (\n <FieldFrame inputId={inputId} label={label}>\n <Stack spacing={1}>\n {/* un solo campo: la muestra redonda al inicio (el «color well» de Apple) y el código al lado. Picar la muestra\n abre el selector de colores del sistema (un input type=color invisible encima de ella). Antes eran dos cajas\n sueltas (el selector del navegador en la suya y el código en otra) y se veían como piezas sueltas */}\n <TextField\n name={name}\n id={inputId}\n inputRef={inputRef}\n size=\"small\"\n fullWidth\n value={color}\n disabled={disabled}\n placeholder=\"#RRGGBB\"\n onChange={(event) => choose(event.target.value)}\n onBlur={onBlur}\n error={Boolean(errorText)}\n helperText={errorText ?? contrastText}\n slotProps={{\n input: {\n startAdornment: (\n <InputAdornment position=\"start\">\n <Box component=\"label\"\n sx={(theme) => ({\n position: 'relative', display: 'block', flexShrink: 0, width: SWATCH_PIXELS, height: SWATCH_PIXELS,\n borderRadius: '50%', cursor: disabled ? 'default' : 'pointer',\n backgroundColor: isValidColor ? color : 'transparent',\n // la orilla de la muestra: que se vea aunque el color sea el del fondo (blanco en claro, negro en oscuro)\n boxShadow: `inset 0 0 0 1px ${SWATCH_EDGE.light}`,\n ...theme.applyStyles('dark', {boxShadow: `inset 0 0 0 1px ${SWATCH_EDGE.dark}`}),\n })}>\n <Box component=\"input\" type=\"color\" value={isValidColor ? color : NEUTRAL_COLOR} disabled={disabled}\n aria-label={t('form.pickColor')} onChange={(event) => choose(event.target.value)}\n sx={{position: 'absolute', inset: 0, width: '100%', height: '100%', opacity: 0, border: 0, p: 0, cursor: 'inherit'}} />\n </Box>\n </InputAdornment>\n ),\n },\n htmlInput: {maxLength: COLOR_LENGTH, spellCheck: false, style: {fontVariantNumeric: 'tabular-nums'}},\n }}\n />\n {suggestion && (\n <Alert severity=\"warning\"\n action={<Button color=\"inherit\" size=\"small\" onClick={() => choose(suggestion)}>{t('form.colorUseSuggestion', {color: suggestion})}</Button>}>\n {t('form.colorLowContrast', {suggestion})}\n </Alert>\n )}\n </Stack>\n </FieldFrame>\n );\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;AAsBA,MAAM,eAAe;AAErB,MAAM,gBAAgB;AACtB,MAAM,iBAAiB;AAEvB,MAAM,gBAAgB;AACtB,MAAM,cAAc,OAAO,OAAO,EAAC,OAAO,0BAA0B,MAAM,6BAA4B;AAetG,SAAwB,WAAW;AAAA,EAC/B;AAAA,EAAM;AAAA,EAAO;AAAA,EAAO;AAAA,EAAU;AAAA,EAAQ;AAAA,EAAO,aAAa;AAAA,EAAK,gBAAgB;AAAA,EAAM,WAAW;AAAA,EAAO;AAC3G,GAAG;AACC,QAAM,EAAC,EAAA,IAAK,sBAAsB,QAAQ;AAC1C,QAAM,cAAc,MAAA;AACpB,QAAM,UAAU,GAAG,QAAQ,OAAO,IAAI,WAAW;AACjD,QAAM,QAAQ,SAAS;AACvB,QAAM,eAAe,UAAU,KAAK,KAAK;AACzC,QAAM,gBAAgB,eAAe,gBAAgB,KAAK,IAAI;AAC9D,QAAM,aAAa,iBAAiB,gBAAgB,gBAAgB,eAAe,kBAAkB,KAAK,IAAI;AAC9G,QAAM,YAAY,2BAA2B,GAAG,KAAK;AACrD,QAAM,eAAe,iBAAiB,gBAAgB,EAAE,sBAAsB,EAAC,OAAO,cAAc,QAAQ,cAAc,EAAA,CAAE,IAAI;AAChI,QAAM,SAAS,CAAC,cAAc,SAAS,UAAU,aAAa;AAE9D,6BACK,YAAA,EAAW,SAAkB,OAC1B,UAAA,qBAAC,OAAA,EAAM,SAAS,GAIZ,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACG;AAAA,QACA,IAAI;AAAA,QACJ;AAAA,QACA,MAAK;AAAA,QACL,WAAS;AAAA,QACT,OAAO;AAAA,QACP;AAAA,QACA,aAAY;AAAA,QACZ,UAAU,CAAC,UAAU,OAAO,MAAM,OAAO,KAAK;AAAA,QAC9C;AAAA,QACA,OAAO,QAAQ,SAAS;AAAA,QACxB,YAAY,aAAa;AAAA,QACzB,WAAW;AAAA,UACP,OAAO;AAAA,YACH,gBACI,oBAAC,gBAAA,EAAe,UAAS,SACrB,UAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBAAI,WAAU;AAAA,gBACV,IAAI,CAAC,WAAW;AAAA,kBACZ,UAAU;AAAA,kBAAY,SAAS;AAAA,kBAAS,YAAY;AAAA,kBAAG,OAAO;AAAA,kBAAe,QAAQ;AAAA,kBACrF,cAAc;AAAA,kBAAO,QAAQ,WAAW,YAAY;AAAA,kBACpD,iBAAiB,eAAe,QAAQ;AAAA;AAAA,kBAExC,WAAW,mBAAmB,YAAY,KAAK;AAAA,kBAC/C,GAAG,MAAM,YAAY,QAAQ,EAAC,WAAW,mBAAmB,YAAY,IAAI,GAAA,CAAG;AAAA,gBAAA;AAAA,gBAEpF,UAAA;AAAA,kBAAC;AAAA,kBAAA;AAAA,oBAAI,WAAU;AAAA,oBAAQ,MAAK;AAAA,oBAAQ,OAAO,eAAe,QAAQ;AAAA,oBAAe;AAAA,oBAC5E,cAAY,EAAE,gBAAgB;AAAA,oBAAG,UAAU,CAAC,UAAU,OAAO,MAAM,OAAO,KAAK;AAAA,oBAC/E,IAAI,EAAC,UAAU,YAAY,OAAO,GAAG,OAAO,QAAQ,QAAQ,QAAQ,SAAS,GAAG,QAAQ,GAAG,GAAG,GAAG,QAAQ,UAAA;AAAA,kBAAS;AAAA,gBAAA;AAAA,cAAG;AAAA,YAAA,EAC9H,CACJ;AAAA,UAAA;AAAA,UAGR,WAAW,EAAC,WAAW,cAAc,YAAY,OAAO,OAAO,EAAC,oBAAoB,eAAA,EAAc;AAAA,QAAC;AAAA,MACvG;AAAA,IAAA;AAAA,IAEH,cACG;AAAA,MAAC;AAAA,MAAA;AAAA,QAAM,UAAS;AAAA,QACT,QAAQ,oBAAC,QAAA,EAAO,OAAM,WAAU,MAAK,SAAQ,SAAS,MAAM,OAAO,UAAU,GAAI,UAAA,EAAE,2BAA2B,EAAC,OAAO,WAAA,CAAW,GAAE;AAAA,QACrI,UAAA,EAAE,yBAAyB,EAAC,WAAA,CAAW;AAAA,MAAA;AAAA,IAAA;AAAA,EAC5C,EAAA,CAER,EAAA,CACJ;AAER;"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import Stack from "@mui/material/Stack";
|
|
4
|
+
import Typography from "@mui/material/Typography";
|
|
5
|
+
import { FormRow } from "./FormSection.js";
|
|
6
|
+
import { useIsInsideFormSection } from "./formLayoutContext.js";
|
|
7
|
+
function FieldFrame({ inputId, labelId, label, children }) {
|
|
8
|
+
const isRow = useIsInsideFormSection();
|
|
9
|
+
if (isRow) {
|
|
10
|
+
return /* @__PURE__ */ jsx(FormRow, { label, htmlFor: inputId, labelId, children });
|
|
11
|
+
}
|
|
12
|
+
return /* @__PURE__ */ jsxs(Stack, { spacing: 0.75, children: [
|
|
13
|
+
/* @__PURE__ */ jsx(Typography, { component: "label", id: labelId, htmlFor: inputId, variant: "overline", color: "text.secondary", children: label }),
|
|
14
|
+
children
|
|
15
|
+
] });
|
|
16
|
+
}
|
|
17
|
+
export {
|
|
18
|
+
FieldFrame as default
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=FieldFrame.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FieldFrame.js","sources":["../../src/inputs/FieldFrame.jsx"],"sourcesContent":["// El marco de todos los campos del paquete. Fuera de una FormSection, la etiqueta va ARRIBA del campo, ligada a él por su\n// id; dentro de una FormSection (el formulario agrupado de Apple), el campo se vuelve un renglón: la etiqueta a la\n// izquierda y el valor a la derecha (FormRow).\n//\n// La etiqueta va afuera y no flotando adentro del campo: se lee igual con el campo vacío o lleno, y no brinca al escribir.\n//\n// Genérico del paquete: function (regla de la casa).\nimport Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\n\nimport {FormRow} from '@/inputs/FormSection.jsx';\nimport {useIsInsideFormSection} from '@/inputs/formLayoutContext.js';\n\n/**\n * @param {object} props\n * @param {string} props.inputId el id del campo (la etiqueta lo nombra para el lector de pantalla)\n * @param {string} [props.labelId] el id de la etiqueta, para un campo que no es un <input> (la lista desplegable de MUI es un\n * div: `for` no la une con su etiqueta y el campo la nombra con aria-labelledby)\n * @param {import('react').ReactNode} props.label ya traducida\n * @param {import('react').ReactNode} props.children el campo\n */\nexport default function FieldFrame({inputId, labelId, label, children}) {\n const isRow = useIsInsideFormSection();\n\n if (isRow) {\n return <FormRow label={label} htmlFor={inputId} labelId={labelId}>{children}</FormRow>;\n }\n\n return (\n <Stack spacing={0.75}>\n <Typography component=\"label\" id={labelId} htmlFor={inputId} variant=\"overline\" color=\"text.secondary\">{label}</Typography>\n {children}\n </Stack>\n );\n}\n"],"names":[],"mappings":";;;;;;AAqBA,SAAwB,WAAW,EAAC,SAAS,SAAS,OAAO,YAAW;AACpE,QAAM,QAAQ,uBAAA;AAEd,MAAI,OAAO;AACP,+BAAQ,SAAA,EAAQ,OAAc,SAAS,SAAS,SAAmB,UAAS;AAAA,EAChF;AAEA,SACI,qBAAC,OAAA,EAAM,SAAS,MACZ,UAAA;AAAA,IAAA,oBAAC,YAAA,EAAW,WAAU,SAAQ,IAAI,SAAS,SAAS,SAAS,SAAQ,YAAW,OAAM,kBAAkB,UAAA,OAAM;AAAA,IAC7G;AAAA,EAAA,GACL;AAER;"}
|