@stackcraftmx/calcita 0.27.0 → 0.30.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 +149 -0
- package/dist/DataTable/AuditTrailDialog.js +18 -14
- package/dist/DataTable/AuditTrailDialog.js.map +1 -1
- package/dist/DataTable/ColumnFilters/HeaderFilterPopover.js +12 -6
- package/dist/DataTable/ColumnFilters/HeaderFilterPopover.js.map +1 -1
- package/dist/DataTable/ColumnFilters/MultiSelectColumnFilter.js +8 -3
- package/dist/DataTable/ColumnFilters/MultiSelectColumnFilter.js.map +1 -1
- package/dist/DataTable/ColumnFilters/SortableFilterHeader.js +26 -18
- package/dist/DataTable/ColumnFilters/SortableFilterHeader.js.map +1 -1
- package/dist/DataTable/EmptyState.js +8 -3
- package/dist/DataTable/EmptyState.js.map +1 -1
- package/dist/DataTable/FilterChips.js +11 -5
- package/dist/DataTable/FilterChips.js.map +1 -1
- package/dist/DataTable/GoToPage.js +9 -4
- package/dist/DataTable/GoToPage.js.map +1 -1
- package/dist/DataTable/ServerTable.js +74 -61
- package/dist/DataTable/ServerTable.js.map +1 -1
- package/dist/DataTable/columns.js +1 -8
- package/dist/DataTable/columns.js.map +1 -1
- package/dist/access/PermissionMatrix.js +18 -9
- package/dist/access/PermissionMatrix.js.map +1 -1
- package/dist/account/AccountSecuritySection.js +8 -3
- package/dist/account/AccountSecuritySection.js.map +1 -1
- package/dist/account/DemoTotpCodeButton.js +8 -3
- package/dist/account/DemoTotpCodeButton.js.map +1 -1
- package/dist/account/ProfileScreen.js +19 -13
- package/dist/account/ProfileScreen.js.map +1 -1
- package/dist/account/SignInScreen.js +6 -2
- package/dist/account/SignInScreen.js.map +1 -1
- package/dist/appShell/AccountMenu.js +13 -5
- package/dist/appShell/AccountMenu.js.map +1 -1
- package/dist/appShell/AppLayout.js +100 -71
- package/dist/appShell/AppLayout.js.map +1 -1
- package/dist/appShell/AppearanceSettings.js +21 -13
- package/dist/appShell/AppearanceSettings.js.map +1 -1
- package/dist/appShell/AuthLayout.js +26 -13
- package/dist/appShell/AuthLayout.js.map +1 -1
- package/dist/appShell/BarActions.js +10 -5
- package/dist/appShell/BarActions.js.map +1 -1
- package/dist/appShell/BarCapsule.js +9 -4
- package/dist/appShell/BarCapsule.js.map +1 -1
- package/dist/appShell/BarSearch.js +7 -3
- package/dist/appShell/BarSearch.js.map +1 -1
- package/dist/appShell/HeaderTools.js +20 -15
- package/dist/appShell/HeaderTools.js.map +1 -1
- package/dist/appShell/MobileTabBar.js +25 -14
- package/dist/appShell/MobileTabBar.js.map +1 -1
- package/dist/appShell/SettingsMenu.js +7 -3
- package/dist/appShell/SettingsMenu.js.map +1 -1
- package/dist/appShell/SideMenu.js +53 -35
- package/dist/appShell/SideMenu.js.map +1 -1
- package/dist/appShell/SideMenuEntry.js +18 -9
- package/dist/appShell/SideMenuEntry.js.map +1 -1
- package/dist/appShell/SubmenuActionsMenu.js +6 -2
- package/dist/appShell/SubmenuActionsMenu.js.map +1 -1
- package/dist/appShell/TabBarEditor.js +16 -7
- package/dist/appShell/TabBarEditor.js.map +1 -1
- package/dist/appShell/TopMenu.js +12 -7
- package/dist/appShell/TopMenu.js.map +1 -1
- package/dist/appShell/Wordmark.js +6 -2
- package/dist/appShell/Wordmark.js.map +1 -1
- package/dist/auth/PasswordChecklist.js +14 -7
- package/dist/auth/PasswordChecklist.js.map +1 -1
- package/dist/calendar/EventCalendar.js +26 -19
- package/dist/calendar/EventCalendar.js.map +1 -1
- package/dist/calendar/EventDetails.js +28 -13
- package/dist/calendar/EventDetails.js.map +1 -1
- package/dist/downloads/DownloadManager.js +34 -18
- package/dist/downloads/DownloadManager.js.map +1 -1
- package/dist/feedback/ConfirmDialog.js +22 -17
- package/dist/feedback/ConfirmDialog.js.map +1 -1
- package/dist/feedback/ModalWaiting.js +12 -5
- package/dist/feedback/ModalWaiting.js.map +1 -1
- package/dist/feedback/NewBuildNotice.js +16 -8
- package/dist/feedback/NewBuildNotice.js.map +1 -1
- package/dist/filepond/FileDropzone.js +39 -31
- package/dist/filepond/FileDropzone.js.map +1 -1
- package/dist/forms/FormProblemAlert.js +4 -1
- package/dist/forms/FormProblemAlert.js.map +1 -1
- package/dist/forms/auth/SignInForm.js +6 -2
- package/dist/forms/auth/SignInForm.js.map +1 -1
- package/dist/forms/security/SecondStepForm.js +6 -2
- package/dist/forms/security/SecondStepForm.js.map +1 -1
- package/dist/forms/security/TwoStepVerificationCard.js +19 -9
- package/dist/forms/security/TwoStepVerificationCard.js.map +1 -1
- package/dist/hookForm/FormProblemAlert.js +4 -1
- package/dist/hookForm/FormProblemAlert.js.map +1 -1
- package/dist/inbox/InboxLayout.js +47 -29
- package/dist/inbox/InboxLayout.js.map +1 -1
- package/dist/inbox/MessageList.js +53 -32
- package/dist/inbox/MessageList.js.map +1 -1
- package/dist/inbox/MessageView.js +31 -15
- package/dist/inbox/MessageView.js.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/inputs/ColorInput.js +22 -17
- package/dist/inputs/ColorInput.js.map +1 -1
- package/dist/inputs/FormSection.js +66 -63
- package/dist/inputs/FormSection.js.map +1 -1
- package/dist/inputs/SelectInput.js +21 -16
- package/dist/inputs/SelectInput.js.map +1 -1
- package/dist/inputs/TextInput.js +25 -20
- package/dist/inputs/TextInput.js.map +1 -1
- package/dist/inputs/WizardLayout.js +21 -15
- package/dist/inputs/WizardLayout.js.map +1 -1
- package/dist/kanban/KanbanBoard.js +82 -50
- package/dist/kanban/KanbanBoard.js.map +1 -1
- package/dist/maps/MapView.js +19 -14
- package/dist/maps/MapView.js.map +1 -1
- package/dist/pwa/InstallAppSetting.js +4 -1
- package/dist/pwa/InstallAppSetting.js.map +1 -1
- package/dist/pwa/InstallInstructionsDialog.js +6 -2
- package/dist/pwa/InstallInstructionsDialog.js.map +1 -1
- package/dist/pwa/InstallPromptBanner.js +10 -5
- package/dist/pwa/InstallPromptBanner.js.map +1 -1
- package/dist/security/ActivityLog.js +6 -2
- package/dist/security/ActivityLog.js.map +1 -1
- package/dist/security/RecoveryCodesDialog.js +8 -3
- package/dist/security/RecoveryCodesDialog.js.map +1 -1
- package/dist/security/SessionsCard.js +12 -5
- package/dist/security/SessionsCard.js.map +1 -1
- package/dist/theme/components/glassComponents.js +19 -16
- package/dist/theme/components/glassComponents.js.map +1 -1
- package/dist/theme/components/minimalComponents.js +10 -6
- package/dist/theme/components/minimalComponents.js.map +1 -1
- package/dist/theme/createToolkitTheme.js +23 -6
- package/dist/theme/createToolkitTheme.js.map +1 -1
- package/dist/theme/cssTokens.js +23 -0
- package/dist/theme/cssTokens.js.map +1 -0
- package/dist/theme/glassSurface.js +64 -10
- package/dist/theme/glassSurface.js.map +1 -1
- package/dist/theme/glassToasterStyles.js +2 -3
- package/dist/theme/glassToasterStyles.js.map +1 -1
- package/dist/theme/themePieces.js +16 -0
- package/dist/theme/themePieces.js.map +1 -0
- package/dist/types/DataTable/AuditTrailDialog.d.ts +1 -1
- package/dist/types/DataTable/ColumnFilters/HeaderFilterPopover.d.ts +1 -1
- package/dist/types/DataTable/ColumnFilters/MultiSelectColumnFilter.d.ts +1 -1
- package/dist/types/DataTable/ColumnFilters/SortableFilterHeader.d.ts +1 -1
- package/dist/types/DataTable/EmptyState.d.ts +1 -1
- package/dist/types/DataTable/FilterChips.d.ts +1 -1
- package/dist/types/DataTable/GoToPage.d.ts +1 -1
- package/dist/types/DataTable/ServerTable.d.ts +1 -1
- package/dist/types/access/PermissionMatrix.d.ts +1 -1
- package/dist/types/account/AccountSecuritySection.d.ts +1 -1
- package/dist/types/account/DemoTotpCodeButton.d.ts +1 -1
- package/dist/types/account/ProfileScreen.d.ts +1 -1
- package/dist/types/account/SignInScreen.d.ts +1 -1
- package/dist/types/appShell/AccountMenu.d.ts +1 -1
- package/dist/types/appShell/AppLayout.d.ts +1 -1
- package/dist/types/appShell/AppearanceSettings.d.ts +1 -1
- package/dist/types/appShell/AuthLayout.d.ts +1 -1
- package/dist/types/appShell/BarActions.d.ts +1 -1
- package/dist/types/appShell/BarCapsule.d.ts +1 -1
- package/dist/types/appShell/BarSearch.d.ts +1 -1
- package/dist/types/appShell/HeaderTools.d.ts +1 -1
- package/dist/types/appShell/MobileTabBar.d.ts +1 -1
- package/dist/types/appShell/SettingsMenu.d.ts +1 -1
- package/dist/types/appShell/SideMenu.d.ts +1 -1
- package/dist/types/appShell/SideMenuEntry.d.ts +1 -1
- package/dist/types/appShell/SubmenuActionsMenu.d.ts +1 -1
- package/dist/types/appShell/TabBarEditor.d.ts +1 -1
- package/dist/types/appShell/TopMenu.d.ts +1 -1
- package/dist/types/appShell/Wordmark.d.ts +1 -1
- package/dist/types/auth/PasswordChecklist.d.ts +1 -1
- package/dist/types/calendar/EventCalendar.d.ts +1 -1
- package/dist/types/calendar/EventDetails.d.ts +1 -1
- package/dist/types/feedback/ConfirmDialog.d.ts +1 -1
- package/dist/types/feedback/ModalWaiting.d.ts +1 -1
- package/dist/types/feedback/NewBuildNotice.d.ts +1 -1
- package/dist/types/filepond/FileDropzone.d.ts +1 -1
- package/dist/types/forms/auth/SignInForm.d.ts +1 -1
- package/dist/types/forms/security/SecondStepForm.d.ts +1 -1
- package/dist/types/forms/security/TwoStepVerificationCard.d.ts +1 -1
- package/dist/types/inbox/InboxLayout.d.ts +1 -1
- package/dist/types/inbox/MessageList.d.ts +1 -1
- package/dist/types/inbox/MessageView.d.ts +1 -1
- package/dist/types/index.d.ts +2 -1
- package/dist/types/inputs/ColorInput.d.ts +1 -1
- package/dist/types/inputs/FormSection.d.ts +2 -2
- package/dist/types/inputs/SelectInput.d.ts +1 -1
- package/dist/types/inputs/TextInput.d.ts +1 -1
- package/dist/types/inputs/WizardLayout.d.ts +1 -1
- package/dist/types/kanban/KanbanBoard.d.ts +1 -1
- package/dist/types/maps/MapView.d.ts +1 -1
- package/dist/types/pwa/InstallInstructionsDialog.d.ts +1 -1
- package/dist/types/pwa/InstallPromptBanner.d.ts +1 -1
- package/dist/types/security/ActivityLog.d.ts +1 -1
- package/dist/types/security/RecoveryCodesDialog.d.ts +1 -1
- package/dist/types/security/SessionsCard.d.ts +1 -1
- package/dist/types/theme/createToolkitTheme.d.ts +33 -1
- package/dist/types/theme/cssTokens.d.ts +46 -0
- package/dist/types/theme/glassSurface.d.ts +57 -1
- package/dist/types/theme/themePieces.d.ts +20 -0
- package/dist/types/ui/actions/ActionsMenu.d.ts +1 -1
- package/dist/types/ui/actions/DownloadMenu.d.ts +1 -1
- package/dist/types/ui/actions/SelectionActions.d.ts +1 -1
- package/dist/types/ui/filters/DateRangeFilter.d.ts +1 -1
- package/dist/types/ui/filters/PeriodRangeSelector.d.ts +1 -1
- package/dist/types/ui/filters/QuickFilters.d.ts +1 -1
- package/dist/types/ui/filters/SegmentedControl.d.ts +7 -2
- package/dist/types/ui/labels/StatusChip.d.ts +1 -1
- package/dist/types/ui/labels/Tag.d.ts +1 -1
- package/dist/types/ui/layout/CollapsibleSection.d.ts +1 -1
- package/dist/types/ui/layout/ContentDialog.d.ts +1 -1
- package/dist/types/ui/layout/DefinitionList.d.ts +1 -1
- package/dist/types/ui/layout/DetailHeader.d.ts +1 -1
- package/dist/types/ui/layout/ErrorPage.d.ts +1 -1
- package/dist/types/ui/layout/GlassPanel.d.ts +1 -1
- package/dist/types/ui/layout/PageHeader.d.ts +1 -1
- package/dist/types/ui/layout/PageHeading.d.ts +1 -1
- package/dist/types/ui/layout/ProfileHeader.d.ts +1 -1
- package/dist/types/ui/layout/ScrollableRow.d.ts +1 -1
- package/dist/types/ui/layout/SectionCard.d.ts +1 -1
- package/dist/types/ui/metrics/BarList.d.ts +1 -1
- package/dist/types/ui/metrics/CalendarHeatmap.d.ts +1 -1
- package/dist/types/ui/metrics/ChartTooltip.d.ts +1 -1
- package/dist/types/ui/metrics/ColumnChart.d.ts +1 -1
- package/dist/types/ui/metrics/LineChart.d.ts +1 -1
- package/dist/types/ui/metrics/MetricCard.d.ts +1 -1
- package/dist/types/ui/metrics/TableToggle.d.ts +1 -1
- package/dist/types/ui/navigation/ColorSchemeToggle.d.ts +1 -1
- package/dist/types/ui/navigation/FontSizeToggle.d.ts +1 -1
- package/dist/types/ui/navigation/LanguageToggle.d.ts +1 -1
- package/dist/types/ui/navigation/PageBreadcrumbs.d.ts +1 -1
- package/dist/types/ui/timeline/GroupedTimeline.d.ts +1 -1
- package/dist/types/upload/FileDropzone.d.ts +1 -1
- package/dist/ui/actions/ActionsMenu.js +9 -4
- package/dist/ui/actions/ActionsMenu.js.map +1 -1
- package/dist/ui/actions/DownloadMenu.js +21 -17
- package/dist/ui/actions/DownloadMenu.js.map +1 -1
- package/dist/ui/actions/SelectionActions.js +15 -7
- package/dist/ui/actions/SelectionActions.js.map +1 -1
- package/dist/ui/filters/DateRangeFilter.js +11 -5
- package/dist/ui/filters/DateRangeFilter.js.map +1 -1
- package/dist/ui/filters/PeriodRangeSelector.js +11 -5
- package/dist/ui/filters/PeriodRangeSelector.js.map +1 -1
- package/dist/ui/filters/QuickFilters.js +16 -8
- package/dist/ui/filters/QuickFilters.js.map +1 -1
- package/dist/ui/filters/SegmentedControl.js +12 -5
- package/dist/ui/filters/SegmentedControl.js.map +1 -1
- package/dist/ui/labels/StatusChip.js +35 -25
- package/dist/ui/labels/StatusChip.js.map +1 -1
- package/dist/ui/labels/Tag.js +8 -3
- package/dist/ui/labels/Tag.js.map +1 -1
- package/dist/ui/layout/CollapsibleSection.js +18 -8
- package/dist/ui/layout/CollapsibleSection.js.map +1 -1
- package/dist/ui/layout/ContentDialog.js +13 -6
- package/dist/ui/layout/ContentDialog.js.map +1 -1
- package/dist/ui/layout/DefinitionList.js +13 -6
- package/dist/ui/layout/DefinitionList.js.map +1 -1
- package/dist/ui/layout/DetailHeader.js +14 -6
- package/dist/ui/layout/DetailHeader.js.map +1 -1
- package/dist/ui/layout/ErrorPage.js +20 -15
- package/dist/ui/layout/ErrorPage.js.map +1 -1
- package/dist/ui/layout/FullPageLoader.js +4 -1
- package/dist/ui/layout/FullPageLoader.js.map +1 -1
- package/dist/ui/layout/GlassPanel.js +8 -4
- package/dist/ui/layout/GlassPanel.js.map +1 -1
- package/dist/ui/layout/PageHeader.js +10 -4
- package/dist/ui/layout/PageHeader.js.map +1 -1
- package/dist/ui/layout/PageHeading.js +17 -8
- package/dist/ui/layout/PageHeading.js.map +1 -1
- package/dist/ui/layout/ProfileHeader.js +21 -10
- package/dist/ui/layout/ProfileHeader.js.map +1 -1
- package/dist/ui/layout/ScrollableRow.js +19 -15
- package/dist/ui/layout/ScrollableRow.js.map +1 -1
- package/dist/ui/layout/SectionCard.js +10 -4
- package/dist/ui/layout/SectionCard.js.map +1 -1
- package/dist/ui/metrics/BarList.js +9 -4
- package/dist/ui/metrics/BarList.js.map +1 -1
- package/dist/ui/metrics/CalendarHeatmap.js +40 -21
- package/dist/ui/metrics/CalendarHeatmap.js.map +1 -1
- package/dist/ui/metrics/ChartTooltip.js +6 -2
- package/dist/ui/metrics/ChartTooltip.js.map +1 -1
- package/dist/ui/metrics/ColumnChart.js +22 -18
- package/dist/ui/metrics/ColumnChart.js.map +1 -1
- package/dist/ui/metrics/LineChart.js +20 -16
- package/dist/ui/metrics/LineChart.js.map +1 -1
- package/dist/ui/metrics/MetricCard.js +42 -24
- package/dist/ui/metrics/MetricCard.js.map +1 -1
- package/dist/ui/metrics/TableToggle.js +7 -2
- package/dist/ui/metrics/TableToggle.js.map +1 -1
- package/dist/ui/metrics/chartParts.js +14 -5
- package/dist/ui/metrics/chartParts.js.map +1 -1
- package/dist/ui/navigation/ColorSchemeToggle.js +8 -4
- package/dist/ui/navigation/ColorSchemeToggle.js.map +1 -1
- package/dist/ui/navigation/FontSizeToggle.js +6 -2
- package/dist/ui/navigation/FontSizeToggle.js.map +1 -1
- package/dist/ui/navigation/LanguageToggle.js +8 -4
- package/dist/ui/navigation/LanguageToggle.js.map +1 -1
- package/dist/ui/navigation/PageBreadcrumbs.js +12 -6
- package/dist/ui/navigation/PageBreadcrumbs.js.map +1 -1
- package/dist/ui/timeline/GroupedTimeline.js +26 -13
- package/dist/ui/timeline/GroupedTimeline.js.map +1 -1
- package/dist/upload/FileDropzone.js +35 -25
- package/dist/upload/FileDropzone.js.map +1 -1
- package/package.json +1 -1
|
@@ -32,11 +32,21 @@ export declare const TOP_BAR: Readonly<{
|
|
|
32
32
|
* teléfono y lo que flota). Lo que no se pase se queda con los grises de Apple (MINIMAL_TONES). OJO: con el minimalista
|
|
33
33
|
* el fondo de la página sale de aquí y no de la paleta (sin minimalTones, los grises de Apple aunque la paleta traiga
|
|
34
34
|
* su background)
|
|
35
|
+
* @param {{radius?: number, light?: {fill?: string, hoverFill?: string, border?: string, hoverBorder?: string}, dark?: {fill?: string, hoverFill?: string, border?: string, hoverBorder?: string}}} [options.fields]
|
|
36
|
+
* cómo se ven los campos de captura (con vidrio, con el minimalista y dentro de FormSection), por modo: fill (el
|
|
37
|
+
* relleno), hoverFill (con el cursor encima), border y hoverBorder (la orilla); y radius (las esquinas, en px). Lo que no
|
|
38
|
+
* se pase se queda como el estilo lo trae (FIELD_TONES: el gris de Apple; con el minimalista, su relleno). Van en la
|
|
39
|
+
* paleta de cada modo (palette.field), así que también se pueden escribir en colorSchemes y cambian solos con el modo.
|
|
40
|
+
* Ejemplo, campos blancos con borde en claro: {light: {fill: '#FFFFFF', hoverFill: '#FFFFFF', border: '#C4CDD5'}}
|
|
41
|
+
* @param {{panelRadius?: number|string, menuRadius?: number|string, fieldRadius?: number|string, glassBlur?: number|string, glassSaturate?: number|string}} [options.cssTokens]
|
|
42
|
+
* los valores globales de Calcita como variables CSS (--calcita-panel-radius…, ver cssTokens.js): las esquinas de los
|
|
43
|
+
* paneles, los menús y los campos, y el desenfoque del vidrio. Se declaran en :root con el CssBaseline; un número va en
|
|
44
|
+
* px (glassSaturate en %). Sin la opción, cada estilo usa los suyos. También se pueden poner en CSS suelto
|
|
35
45
|
* @param {object} [options.components] ajustes propios de componentes (se suman; en el mismo estilo ganan los del proyecto)
|
|
36
46
|
* @param {object} [options.overrides] cualquier otra cosa de createTheme (breakpoints, spacing…)
|
|
37
47
|
* @returns {object} el tema de MUI
|
|
38
48
|
*/
|
|
39
|
-
export declare function createToolkitTheme({ colorSchemes, colorSchemeSelector, fontFamily, glass, look, bar, minimalTones, components, overrides, }?: {
|
|
49
|
+
export declare function createToolkitTheme({ colorSchemes, colorSchemeSelector, fontFamily, glass, look, bar, minimalTones, fields, cssTokens, components, overrides, }?: {
|
|
40
50
|
colorSchemes?: {
|
|
41
51
|
light?: object | boolean;
|
|
42
52
|
dark?: object | boolean;
|
|
@@ -63,6 +73,28 @@ export declare function createToolkitTheme({ colorSchemes, colorSchemeSelector,
|
|
|
63
73
|
floating?: string;
|
|
64
74
|
};
|
|
65
75
|
};
|
|
76
|
+
fields?: {
|
|
77
|
+
radius?: number;
|
|
78
|
+
light?: {
|
|
79
|
+
fill?: string;
|
|
80
|
+
hoverFill?: string;
|
|
81
|
+
border?: string;
|
|
82
|
+
hoverBorder?: string;
|
|
83
|
+
};
|
|
84
|
+
dark?: {
|
|
85
|
+
fill?: string;
|
|
86
|
+
hoverFill?: string;
|
|
87
|
+
border?: string;
|
|
88
|
+
hoverBorder?: string;
|
|
89
|
+
};
|
|
90
|
+
};
|
|
91
|
+
cssTokens?: {
|
|
92
|
+
panelRadius?: number | string;
|
|
93
|
+
menuRadius?: number | string;
|
|
94
|
+
fieldRadius?: number | string;
|
|
95
|
+
glassBlur?: number | string;
|
|
96
|
+
glassSaturate?: number | string;
|
|
97
|
+
};
|
|
66
98
|
components?: object;
|
|
67
99
|
overrides?: object;
|
|
68
100
|
}): object;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/** Cada valor: su variable, el de siempre (respaldo) y la unidad para cuando el proyecto lo da en número. */
|
|
2
|
+
export declare const CSS_TOKENS: Readonly<{
|
|
3
|
+
panelRadius: Readonly<{
|
|
4
|
+
variable: "--calcita-panel-radius";
|
|
5
|
+
fallback: "20px";
|
|
6
|
+
unit: "px";
|
|
7
|
+
}>;
|
|
8
|
+
menuRadius: Readonly<{
|
|
9
|
+
variable: "--calcita-menu-radius";
|
|
10
|
+
fallback: "12px";
|
|
11
|
+
unit: "px";
|
|
12
|
+
}>;
|
|
13
|
+
fieldRadius: Readonly<{
|
|
14
|
+
variable: "--calcita-field-radius";
|
|
15
|
+
fallback: "12px";
|
|
16
|
+
unit: "px";
|
|
17
|
+
}>;
|
|
18
|
+
glassBlur: Readonly<{
|
|
19
|
+
variable: "--calcita-glass-blur";
|
|
20
|
+
fallback: "20px";
|
|
21
|
+
unit: "px";
|
|
22
|
+
}>;
|
|
23
|
+
glassSaturate: Readonly<{
|
|
24
|
+
variable: "--calcita-glass-saturate";
|
|
25
|
+
fallback: "180%";
|
|
26
|
+
unit: "%";
|
|
27
|
+
}>;
|
|
28
|
+
}>;
|
|
29
|
+
/**
|
|
30
|
+
* El valor para un estilo: la variable con su respaldo. Un estilo con su propio valor de siempre lo pasa (el minimalista
|
|
31
|
+
* tiene las tarjetas de 16 px).
|
|
32
|
+
*
|
|
33
|
+
* @param {keyof typeof CSS_TOKENS} key
|
|
34
|
+
* @param {string} [fallback] por omisión el de CSS_TOKENS
|
|
35
|
+
* @returns {string} p. ej. 'var(--calcita-panel-radius, 20px)'
|
|
36
|
+
*/
|
|
37
|
+
export declare function cssTokenOf(key: keyof typeof CSS_TOKENS, fallback?: string): string;
|
|
38
|
+
/**
|
|
39
|
+
* Las declaraciones para :root (o para un contenedor) con los valores del proyecto: {panelRadius: 6} →
|
|
40
|
+
* {'--calcita-panel-radius': '6px'}. Un número lleva la unidad del valor (px o %); un texto va tal cual ('0.5rem').
|
|
41
|
+
* Lo que no es un valor conocido se ignora.
|
|
42
|
+
*
|
|
43
|
+
* @param {Partial<Record<keyof typeof CSS_TOKENS, number|string>>} [values]
|
|
44
|
+
* @returns {Record<string, string>}
|
|
45
|
+
*/
|
|
46
|
+
export declare function cssTokenDeclarationsOf(values?: Partial<Record<keyof typeof CSS_TOKENS, number | string>>): Record<string, string>;
|
|
@@ -4,12 +4,15 @@ export declare const GLASS_OPACITY = 0.6;
|
|
|
4
4
|
export declare const GLASS_PANEL_RADIUS_PIXELS = 20;
|
|
5
5
|
/** Las esquinas de los menús y ventanitas: renglones de 8 px a 4 px del borde. */
|
|
6
6
|
export declare const GLASS_MENU_RADIUS_PIXELS = 12;
|
|
7
|
+
export declare const PANEL_RADIUS: string;
|
|
8
|
+
export declare const MENU_RADIUS: string;
|
|
7
9
|
/**
|
|
8
10
|
* Lo que se separa de la orilla de la ventana lo que flota (la barra, el menú lateral, los cajones y la hoja de abajo):
|
|
9
11
|
* Apple lo pide para que el contenido se asome por detrás («half sheets are inset from the edge of the display to allow
|
|
10
12
|
* content to peek through from beneath them», Adopting Liquid Glass).
|
|
11
13
|
*/
|
|
12
14
|
export declare const GLASS_INSET_PIXELS = 8;
|
|
15
|
+
export declare const GLASS_BLUR: string;
|
|
13
16
|
/**
|
|
14
17
|
* El lente de cada tamaño (ver lensRulesOf), medido en capturas de Chrome: el control chico (botón, chip) más claro y con
|
|
15
18
|
* la orilla más marcada; el panel (barra, menú, diálogo) más grueso, porque lleva texto («Liquid Glass appears more opaque
|
|
@@ -179,16 +182,69 @@ export declare function glassDropOf(theme: object): object;
|
|
|
179
182
|
* @returns {string|null} el relleno en #RRGGBB; null si el color no viene en hexadecimal
|
|
180
183
|
*/
|
|
181
184
|
export declare function whiteLabelFillOf(rawColor: string): string | null;
|
|
185
|
+
/**
|
|
186
|
+
* Los tonos de los campos por omisión, por modo: fill (el relleno), hoverFill (con el cursor encima), border y hoverBorder
|
|
187
|
+
* (la orilla; transparente: el pozo de Apple no lleva). createToolkitTheme los pone en la paleta de cada modo
|
|
188
|
+
* (palette.field) y el proyecto los cambia con `fields` o con su paleta: blancos con borde, del tono de su marca…
|
|
189
|
+
*/
|
|
190
|
+
export declare const FIELD_TONES: Readonly<{
|
|
191
|
+
light: Readonly<{
|
|
192
|
+
fill: string;
|
|
193
|
+
hoverFill: string;
|
|
194
|
+
border: "transparent";
|
|
195
|
+
hoverBorder: "transparent";
|
|
196
|
+
}>;
|
|
197
|
+
dark: Readonly<{
|
|
198
|
+
fill: string;
|
|
199
|
+
hoverFill: string;
|
|
200
|
+
border: "transparent";
|
|
201
|
+
hoverBorder: "transparent";
|
|
202
|
+
}>;
|
|
203
|
+
}>;
|
|
204
|
+
/**
|
|
205
|
+
* Los tonos de los campos del tema (palette.field, que llena createToolkitTheme; con sus variables CSS cambian solos con el
|
|
206
|
+
* modo, sin reglas de oscuro), o null si el tema no los trae (un createTheme de MUI sin Calcita).
|
|
207
|
+
*
|
|
208
|
+
* @param {object} theme
|
|
209
|
+
* @returns {{fill: string, hoverFill: string, border: string, hoverBorder: string}|null}
|
|
210
|
+
*/
|
|
211
|
+
export declare function fieldPaletteOf(theme: object): {
|
|
212
|
+
fill: string;
|
|
213
|
+
hoverFill: string;
|
|
214
|
+
border: string;
|
|
215
|
+
hoverBorder: string;
|
|
216
|
+
} | null;
|
|
182
217
|
/**
|
|
183
218
|
* El «pozo» de un campo de texto dentro del contenido (una tarjeta, un formulario agrupado), como los de Apple: un relleno
|
|
184
219
|
* parejo con esquinas de 12 px, del gris de relleno de Apple («tertiary fill»): tenue en claro y más claro que la tarjeta en
|
|
185
220
|
* oscuro (con negro, en oscuro se perdía). Sin vidrio adentro de la tarjeta: ahí no tiene nada que dejar
|
|
186
221
|
* ver. Con el cursor encima se marca apenas; antes el relleno salía solo con el cursor y en cuadro («hovers espantosos»).
|
|
222
|
+
* Los tonos y las esquinas los puede cambiar el proyecto (createToolkitTheme fields).
|
|
223
|
+
*
|
|
224
|
+
* @param {object} theme
|
|
225
|
+
* @param {{radius?: number}} [options] las esquinas del estilo que lo pide (el minimalista las tiene más chicas)
|
|
226
|
+
* @returns {object}
|
|
227
|
+
*/
|
|
228
|
+
export declare function fieldWellStylesOf(theme: object, { radius }?: {
|
|
229
|
+
radius?: number;
|
|
230
|
+
}): object;
|
|
231
|
+
/**
|
|
232
|
+
* Los tonos de los campos como variables (--calcita-field-*) para un contenedor: el renglón de FormSection las pone en sí
|
|
233
|
+
* mismo y sus campos las leen (fieldWellFromVariablesOf). OJO, trampa pagada: el renglón le gana al tema con selectores
|
|
234
|
+
* largos («html body &&& .MuiOutlinedInput-root») y una regla de oscuro anidada ahí abajo nunca aplicaba (en oscuro el
|
|
235
|
+
* campo salía con el gris de claro). En el contenedor la regla de oscuro sí aplica, y los campos heredan la variable.
|
|
236
|
+
*
|
|
237
|
+
* @param {object} theme
|
|
238
|
+
* @returns {object}
|
|
239
|
+
*/
|
|
240
|
+
export declare function fieldVariablesOf(theme: object): object;
|
|
241
|
+
/**
|
|
242
|
+
* El pozo de un campo leyendo las variables de su contenedor (fieldVariablesOf).
|
|
187
243
|
*
|
|
188
244
|
* @param {object} theme
|
|
189
245
|
* @returns {object}
|
|
190
246
|
*/
|
|
191
|
-
export declare function
|
|
247
|
+
export declare function fieldWellFromVariablesOf(theme: object): object;
|
|
192
248
|
/**
|
|
193
249
|
* Un campo de texto suelto sobre el lienzo (fuera de una tarjeta): una lámina de vidrio clara en claro y el gris de relleno
|
|
194
250
|
* de Apple en oscuro, más claro que el fondo casi negro. Con «Reducir transparencia» se pinta sólido.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Un componente con su lugar en el tema: theme.components[name].styleOverrides[parte con minúscula] se aplica después
|
|
3
|
+
* del estilo de Calcita (ownSx) y gana.
|
|
4
|
+
*
|
|
5
|
+
* @template {import('react').ElementType} C
|
|
6
|
+
* @param {string} name el nombre de la pieza en el tema (CalcitaMetricCard)
|
|
7
|
+
* @param {string} slot la parte, con mayúscula: Root, Title, Card…
|
|
8
|
+
* @param {C} [component] lo que se pinta (por omisión un div)
|
|
9
|
+
* @returns {import('react').ComponentType<any>}
|
|
10
|
+
*/
|
|
11
|
+
export declare function piecePart<C extends import('react').ElementType>(name: string, slot: string, component?: C): import('react').ComponentType<any>;
|
|
12
|
+
/**
|
|
13
|
+
* Los props de la pieza con los defaultProps del tema del proyecto debajo: lo que llega en la pantalla gana.
|
|
14
|
+
*
|
|
15
|
+
* @template {object} P
|
|
16
|
+
* @param {P} props
|
|
17
|
+
* @param {string} name el nombre de la pieza en el tema
|
|
18
|
+
* @returns {P}
|
|
19
|
+
*/
|
|
20
|
+
export declare function usePieceProps<P extends object>(props: P, name: string): P;
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* @param {import('react').ReactNode} [props.icon] otro ícono para el botón (por omisión «⋯»)
|
|
6
6
|
* @param {'small'|'medium'} [props.size]
|
|
7
7
|
*/
|
|
8
|
-
export default function ActionsMenu(
|
|
8
|
+
export default function ActionsMenu(props: {
|
|
9
9
|
label: string;
|
|
10
10
|
actions?: Array<{
|
|
11
11
|
key: string;
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
* virtualiza y vuelve a pintar sus celdas; el diálogo se perdía al elegir el formato). Ahí el menú solo avisa qué formato
|
|
26
26
|
* se eligió y la pantalla abre SU confirmación (useConfirmAction) fuera de la tabla.
|
|
27
27
|
*/
|
|
28
|
-
export default function DownloadMenu(
|
|
28
|
+
export default function DownloadMenu(props: {
|
|
29
29
|
formats: string[];
|
|
30
30
|
download: (format: string, transferOptions: {
|
|
31
31
|
signal: AbortSignal;
|
|
@@ -22,7 +22,7 @@ export declare function selectionFloatsOnPhone(theme: object): boolean;
|
|
|
22
22
|
* @param {object} [props.texts] los textos que cambian, con la forma de `common`: {selection: {clear, actionsLabel, summaryLabel}}
|
|
23
23
|
* @param {object} [props.sx] estilos del renglón
|
|
24
24
|
*/
|
|
25
|
-
export default function SelectionActions(
|
|
25
|
+
export default function SelectionActions(props: {
|
|
26
26
|
countText: string;
|
|
27
27
|
actions?: Array<{
|
|
28
28
|
key: string;
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* @param {string} [props.label] ya traducido; por defecto "Personalizado"
|
|
7
7
|
* @param {object} [props.texts] los textos que cambian, con la forma de `table` en los textos del paquete
|
|
8
8
|
*/
|
|
9
|
-
export default function DateRangeFilter(
|
|
9
|
+
export default function DateRangeFilter(props: {
|
|
10
10
|
from?: string;
|
|
11
11
|
to?: string;
|
|
12
12
|
onChange: (range: {
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* @param {string} props.toLabel ya traducido
|
|
10
10
|
* @param {(range: {from: string, to: string}) => void} props.onChange
|
|
11
11
|
*/
|
|
12
|
-
export default function PeriodRangeSelector(
|
|
12
|
+
export default function PeriodRangeSelector(props: {
|
|
13
13
|
id: string;
|
|
14
14
|
options: Array<{
|
|
15
15
|
value: string;
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* @param {import('react').ReactNode} [props.extra] al final de la tira (p. ej. un rango de fechas)
|
|
9
9
|
* @param {object} [props.texts] los textos que cambian, con la forma de `table` en los textos del paquete
|
|
10
10
|
*/
|
|
11
|
-
export default function QuickFilters(
|
|
11
|
+
export default function QuickFilters(props: {
|
|
12
12
|
value: string;
|
|
13
13
|
onChange: (value: string) => void;
|
|
14
14
|
options?: Array<{
|
|
@@ -11,14 +11,19 @@ export declare const SEGMENTED_CONTROL_SX: {
|
|
|
11
11
|
letterSpacing: string;
|
|
12
12
|
border: number;
|
|
13
13
|
borderRadius: string;
|
|
14
|
+
m: number;
|
|
14
15
|
px: number;
|
|
15
16
|
py: number;
|
|
16
|
-
m: string;
|
|
17
17
|
fontWeight: number;
|
|
18
18
|
textTransform: string;
|
|
19
19
|
color: string;
|
|
20
20
|
whiteSpace: string;
|
|
21
21
|
};
|
|
22
|
+
'& .MuiToggleButton-root.MuiToggleButtonGroup-grouped': {
|
|
23
|
+
border: number;
|
|
24
|
+
borderRadius: string;
|
|
25
|
+
m: number;
|
|
26
|
+
};
|
|
22
27
|
'& .MuiToggleButton-root.Mui-selected, & .MuiToggleButton-root.Mui-selected:hover': {
|
|
23
28
|
bgcolor: string;
|
|
24
29
|
color: string;
|
|
@@ -32,7 +37,7 @@ export declare const SEGMENTED_CONTROL_SX: {
|
|
|
32
37
|
* @param {(value: string) => void} props.onChange
|
|
33
38
|
* @param {string} props.ariaLabel ya traducido
|
|
34
39
|
*/
|
|
35
|
-
export default function SegmentedControl(
|
|
40
|
+
export default function SegmentedControl(props: {
|
|
36
41
|
options: Array<{
|
|
37
42
|
value: string;
|
|
38
43
|
label: string;
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* que decir. OJO: no envuelvas este componente en otro Tooltip, porque el suyo sigue ahí y se ven los dos encimados
|
|
11
11
|
* @param {object} [props.sx] ajustes de estilo del Chip (solo variant="chip")
|
|
12
12
|
*/
|
|
13
|
-
export default function StatusChip(
|
|
13
|
+
export default function StatusChip(props: {
|
|
14
14
|
dictionary: Record<string, object>;
|
|
15
15
|
value: string | null | undefined;
|
|
16
16
|
variant?: 'dot' | 'chip';
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* @param {() => void} [props.onDelete]
|
|
9
9
|
* @param {object} [props.sx]
|
|
10
10
|
*/
|
|
11
|
-
export default function Tag(
|
|
11
|
+
export default function Tag(props: {
|
|
12
12
|
label: import('react').ReactNode;
|
|
13
13
|
tooltip?: string;
|
|
14
14
|
color?: string;
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* adentro hasta que se abre)
|
|
9
9
|
* @param {import('react').ReactNode} props.children
|
|
10
10
|
*/
|
|
11
|
-
export default function CollapsibleSection(
|
|
11
|
+
export default function CollapsibleSection(props: {
|
|
12
12
|
collapsedTitle: string;
|
|
13
13
|
expandedTitle: string;
|
|
14
14
|
hint?: string;
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* @param {import('react').ReactNode} props.children
|
|
7
7
|
* @param {object} [props.texts] los textos que cambian, con la forma de `common` en los textos del paquete
|
|
8
8
|
*/
|
|
9
|
-
export default function ContentDialog(
|
|
9
|
+
export default function ContentDialog(props: {
|
|
10
10
|
open: boolean;
|
|
11
11
|
onClose: () => void;
|
|
12
12
|
title: string;
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* @param {'columns'|'stacked'} [props.layout]
|
|
6
6
|
* @param {number} [props.labelWidth] ancho en px de la columna del dato (solo columns)
|
|
7
7
|
*/
|
|
8
|
-
export default function DefinitionList(
|
|
8
|
+
export default function DefinitionList(props: {
|
|
9
9
|
entries: Array<{
|
|
10
10
|
label: string;
|
|
11
11
|
value: import('react').ReactNode;
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* @param {import('react').ReactNode} [props.actions] botones a la derecha
|
|
7
7
|
* @param {string} [props.documentTitle] título de la pestaña si difiere del visible
|
|
8
8
|
*/
|
|
9
|
-
export default function DetailHeader(
|
|
9
|
+
export default function DetailHeader(props: {
|
|
10
10
|
title: string;
|
|
11
11
|
eyebrow?: string;
|
|
12
12
|
badges?: import('react').ReactNode;
|
|
@@ -20,7 +20,7 @@ export declare const ERROR_PAGE_KIND: Readonly<{
|
|
|
20
20
|
* @param {object} [props.texts] los textos que cambian, con la forma de `errorPage` en los textos del paquete:
|
|
21
21
|
* {goHome: 'Volver al tablero', notFound: {title: '…'}}
|
|
22
22
|
*/
|
|
23
|
-
export default function ErrorPage(
|
|
23
|
+
export default function ErrorPage(props: {
|
|
24
24
|
kind: string;
|
|
25
25
|
title?: string;
|
|
26
26
|
text?: import('react').ReactNode;
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* @param {object|Function|Array} [props.sx] estilos propios: se suman y ganan
|
|
5
5
|
* @param {import('react').ElementType} [props.component] por omisión 'div'
|
|
6
6
|
*/
|
|
7
|
-
export default function GlassPanel(
|
|
7
|
+
export default function GlassPanel(props: {
|
|
8
8
|
children: import('react').ReactNode;
|
|
9
9
|
sx?: object | Function | any[];
|
|
10
10
|
component?: import('react').ElementType;
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* @param {import('react').ReactNode} [props.action] normalmente un <Button variant="contained" shape="pill">
|
|
7
7
|
* @param {string} [props.documentTitle] título de la pestaña si difiere del visible
|
|
8
8
|
*/
|
|
9
|
-
export default function PageHeader(
|
|
9
|
+
export default function PageHeader(props: {
|
|
10
10
|
title: string;
|
|
11
11
|
eyebrow?: string;
|
|
12
12
|
subtitle?: import('react').ReactNode;
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* @param {string} [props.documentTitle] título de la pestaña si difiere del visible
|
|
8
8
|
* @param {object} [props.texts] los textos que cambian, con la forma de `layout` en los textos del paquete
|
|
9
9
|
*/
|
|
10
|
-
export default function PageHeading(
|
|
10
|
+
export default function PageHeading(props: {
|
|
11
11
|
title: string;
|
|
12
12
|
description?: import('react').ReactNode;
|
|
13
13
|
breadcrumbs?: Array<{
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* @param {string[]} [props.chips] sus perfiles o etiquetas, ya traducidos
|
|
8
8
|
* @param {import('react').ReactNode} [props.actions] los botones de la derecha
|
|
9
9
|
*/
|
|
10
|
-
export default function ProfileHeader(
|
|
10
|
+
export default function ProfileHeader(props: {
|
|
11
11
|
name: string;
|
|
12
12
|
email?: string;
|
|
13
13
|
subtitle?: string;
|
|
@@ -21,7 +21,7 @@ export declare const scrollableRow: {
|
|
|
21
21
|
* @param {boolean} [props.fadeEdges]
|
|
22
22
|
* @param {import('react').Ref<HTMLElement>} [props.ref]
|
|
23
23
|
*/
|
|
24
|
-
export default function ScrollableRow(
|
|
24
|
+
export default function ScrollableRow(props: {
|
|
25
25
|
children: import('react').ReactNode;
|
|
26
26
|
gap?: number;
|
|
27
27
|
py?: number;
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* @param {import('react').ReactNode} [props.action] botón o liga a la derecha del título
|
|
5
5
|
* @param {import('react').ReactNode} props.children
|
|
6
6
|
*/
|
|
7
|
-
export default function SectionCard(
|
|
7
|
+
export default function SectionCard(props: {
|
|
8
8
|
title: string;
|
|
9
9
|
action?: import('react').ReactNode;
|
|
10
10
|
children: import('react').ReactNode;
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* @param {(view: 'chart'|'table') => void} [props.onViewChange] la persona cambió a la tabla o a la gráfica
|
|
9
9
|
* @param {object} [props.texts] los textos que cambian, con la forma de `common` en los textos del paquete
|
|
10
10
|
*/
|
|
11
|
-
export default function BarList(
|
|
11
|
+
export default function BarList(props: {
|
|
12
12
|
items: Array<{
|
|
13
13
|
key: string;
|
|
14
14
|
label: string;
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* @param {(view: 'chart'|'table') => void} [props.onViewChange] la persona cambió a la tabla o a la gráfica
|
|
15
15
|
* @param {object} [props.texts] los textos que cambian, con la forma de `common` en los textos del paquete
|
|
16
16
|
*/
|
|
17
|
-
export default function CalendarHeatmap(
|
|
17
|
+
export default function CalendarHeatmap(props: {
|
|
18
18
|
startsOn: string;
|
|
19
19
|
endsOn: string;
|
|
20
20
|
days: Array<{
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @param {{active?: boolean, payload?: Array<{payload: any}>, render: (item: any) => import('react').ReactNode}} props
|
|
3
3
|
* active y payload los pone recharts; render recibe el renglón de data del punto o la columna
|
|
4
4
|
*/
|
|
5
|
-
export default function ChartTooltip(
|
|
5
|
+
export default function ChartTooltip(props: {
|
|
6
6
|
active?: boolean;
|
|
7
7
|
payload?: Array<{
|
|
8
8
|
payload: any;
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
* @param {(view: 'chart'|'table') => void} [props.onViewChange] la persona cambió a la tabla o a la gráfica
|
|
22
22
|
* @param {object} [props.texts] los textos que cambian, con la forma de `common`: {charts: {viewAsTable, viewAsChart, legend}}
|
|
23
23
|
*/
|
|
24
|
-
export default function ColumnChart(
|
|
24
|
+
export default function ColumnChart(props: {
|
|
25
25
|
data: Array<Record<string, any>>;
|
|
26
26
|
periodLabel: string;
|
|
27
27
|
valueLabel?: string;
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* @param {(view: 'chart'|'table') => void} [props.onViewChange] la persona cambió a la tabla o a la gráfica
|
|
17
17
|
* @param {object} [props.texts] los textos que cambian, con la forma de `common`: {charts: {viewAsTable, viewAsChart, legend}}
|
|
18
18
|
*/
|
|
19
|
-
export default function LineChart(
|
|
19
|
+
export default function LineChart(props: {
|
|
20
20
|
data: Array<Record<string, any>>;
|
|
21
21
|
series: Array<{
|
|
22
22
|
key: string;
|
|
@@ -19,7 +19,7 @@ export declare const TREND_DIRECTION: Readonly<{
|
|
|
19
19
|
* @param {() => void} [props.onClick] la tarjeta entera como botón, cuando no lleva a otra pantalla (to)
|
|
20
20
|
* @param {object} [props.texts] los textos que cambian, con la forma de `metricCard`: {trend: {up: 'subió'}}
|
|
21
21
|
*/
|
|
22
|
-
export default function MetricCard(
|
|
22
|
+
export default function MetricCard(props: {
|
|
23
23
|
label: string;
|
|
24
24
|
value: import('react').ReactNode;
|
|
25
25
|
caption?: import('react').ReactNode;
|
|
@@ -7,7 +7,7 @@ export declare const CHART_VIEW: Readonly<{
|
|
|
7
7
|
* @param {{asTable: boolean, onToggle: () => void, texts?: object}} props texts: los textos que cambian, con la forma de
|
|
8
8
|
* `common` ({charts: {viewAsTable, viewAsChart}})
|
|
9
9
|
*/
|
|
10
|
-
export default function TableToggle(
|
|
10
|
+
export default function TableToggle(props: {
|
|
11
11
|
asTable: boolean;
|
|
12
12
|
onToggle: () => void;
|
|
13
13
|
texts?: object;
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* @param {(mode: 'light'|'dark'|'system') => void} [props.onChange] la persona cambió el modo (para guardarlo en su servidor)
|
|
6
6
|
* @param {object} [props.texts] los textos que cambian, con la forma de `common` en los textos del paquete
|
|
7
7
|
*/
|
|
8
|
-
export default function ColorSchemeToggle(
|
|
8
|
+
export default function ColorSchemeToggle(props?: {
|
|
9
9
|
size?: 'small' | 'medium';
|
|
10
10
|
inverted?: boolean;
|
|
11
11
|
onChange?: (mode: 'light' | 'dark' | 'system') => void;
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* @param {(level: string) => void} [props.onChange] la persona eligió otro tamaño (FONT_SIZE_LEVELS; para guardarlo en su servidor)
|
|
5
5
|
* @param {object} [props.texts] los textos que cambian, con la forma de `layout` en los textos del paquete
|
|
6
6
|
*/
|
|
7
|
-
export default function FontSizeToggle(
|
|
7
|
+
export default function FontSizeToggle(props?: {
|
|
8
8
|
size?: 'small' | 'medium';
|
|
9
9
|
onChange?: (level: string) => void;
|
|
10
10
|
texts?: object;
|
|
@@ -6,7 +6,7 @@ export declare const LANGUAGES: readonly ("en" | "es")[];
|
|
|
6
6
|
* @param {(language: string) => void} [props.onChange] además de avisar a ToolkitProvider, cada que se elige un idioma
|
|
7
7
|
* @param {object} [props.texts] los textos que cambian, con la forma de `common`: {language: {switchToNamed, choose}}
|
|
8
8
|
*/
|
|
9
|
-
export default function LanguageToggle(
|
|
9
|
+
export default function LanguageToggle(props?: {
|
|
10
10
|
inverted?: boolean;
|
|
11
11
|
onChange?: (language: string) => void;
|
|
12
12
|
texts?: object;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* @param {Array<{label: string, to?: string}>} props.items textos ya traducidos
|
|
4
4
|
* @param {object} [props.texts] los textos que cambian, con la forma de `layout` en los textos del paquete
|
|
5
5
|
*/
|
|
6
|
-
export default function PageBreadcrumbs(
|
|
6
|
+
export default function PageBreadcrumbs(props: {
|
|
7
7
|
items: Array<{
|
|
8
8
|
label: string;
|
|
9
9
|
to?: string;
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
* @param {(groupKey: string, isExpanded: boolean) => void} [props.onGroupToggle] la persona abrió o plegó un grupo (por ejemplo,
|
|
20
20
|
* para pedir sus eventos hasta que se abre)
|
|
21
21
|
*/
|
|
22
|
-
export default function GroupedTimeline(
|
|
22
|
+
export default function GroupedTimeline(props: {
|
|
23
23
|
groups: {
|
|
24
24
|
key: string;
|
|
25
25
|
title?: string;
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* @param {object} [props.sx] ajustes del recuadro
|
|
16
16
|
* @param {object} [props.texts] los textos que cambian, con la forma de `common` en los textos del paquete
|
|
17
17
|
*/
|
|
18
|
-
export default function FileDropzone(
|
|
18
|
+
export default function FileDropzone(props: {
|
|
19
19
|
value?: File | null;
|
|
20
20
|
onChange: (file: File | null) => void;
|
|
21
21
|
accept?: string | string[];
|
|
@@ -8,7 +8,12 @@ import Menu from "@mui/material/Menu";
|
|
|
8
8
|
import MenuItem from "@mui/material/MenuItem";
|
|
9
9
|
import Tooltip from "@mui/material/Tooltip";
|
|
10
10
|
import MoreHorizRoundedIcon from "@mui/icons-material/MoreHorizRounded";
|
|
11
|
-
|
|
11
|
+
import { piecePart, usePieceProps } from "../../theme/themePieces.js";
|
|
12
|
+
const THEME_NAME = "CalcitaActionsMenu";
|
|
13
|
+
const ActionsItem = piecePart(THEME_NAME, "Item", MenuItem);
|
|
14
|
+
const ActionsItemIcon = piecePart(THEME_NAME, "ItemIcon", ListItemIcon);
|
|
15
|
+
function ActionsMenu(props) {
|
|
16
|
+
const { label, actions, icon, size = "small" } = usePieceProps(props, THEME_NAME);
|
|
12
17
|
const [anchor, setAnchor] = useState(null);
|
|
13
18
|
if (!actions?.length) {
|
|
14
19
|
return null;
|
|
@@ -28,16 +33,16 @@ function ActionsMenu({ label, actions, icon, size = "small" }) {
|
|
|
28
33
|
}
|
|
29
34
|
) }),
|
|
30
35
|
/* @__PURE__ */ jsx(Menu, { anchorEl: anchor, open: Boolean(anchor), onClose: () => setAnchor(null), onClick: (event) => event.stopPropagation(), children: actions.map((action) => /* @__PURE__ */ jsxs(
|
|
31
|
-
|
|
36
|
+
ActionsItem,
|
|
32
37
|
{
|
|
33
38
|
disabled: action.disabled,
|
|
34
39
|
onClick: () => {
|
|
35
40
|
setAnchor(null);
|
|
36
41
|
action.onClick();
|
|
37
42
|
},
|
|
38
|
-
|
|
43
|
+
ownSx: action.color ? { color: `${action.color}.main` } : void 0,
|
|
39
44
|
children: [
|
|
40
|
-
action.icon && /* @__PURE__ */ jsx(
|
|
45
|
+
action.icon && /* @__PURE__ */ jsx(ActionsItemIcon, { ownSx: action.color ? { color: "inherit" } : void 0, children: action.icon }),
|
|
41
46
|
/* @__PURE__ */ jsx(ListItemText, { children: action.label })
|
|
42
47
|
]
|
|
43
48
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionsMenu.js","sources":["../../../src/ui/actions/ActionsMenu.jsx"],"sourcesContent":["// Un botón «⋯» con un menú de acciones: el de cada tarjeta del tablero, el de cada columna, el de cada mensaje de la bandeja.\n// Las acciones las da la pantalla (label ya traducido, ícono, color, apagada); sin acciones no se pinta nada.\n//\n// <ActionsMenu label=\"Acciones de «Junta de cierre»\"\n// actions={[{key: 'delete', label: 'Borrar', icon: <DeleteOutlineIcon fontSize=\"small\" />, color: 'error', onClick: remove}]} />\n//\n// El clic no llega a lo de abajo: no levanta una tarjeta que se arrastra ni abre el renglón donde vive.\n//\n// Genérico del paquete: function (regla de la casa).\nimport {useState} from 'react';\nimport IconButton from '@mui/material/IconButton';\nimport ListItemIcon from '@mui/material/ListItemIcon';\nimport ListItemText from '@mui/material/ListItemText';\nimport Menu from '@mui/material/Menu';\nimport MenuItem from '@mui/material/MenuItem';\nimport Tooltip from '@mui/material/Tooltip';\nimport MoreHorizRoundedIcon from '@mui/icons-material/MoreHorizRounded';\n\n/**\n * @param {object} props\n * @param {string} props.label el nombre del botón (lector de pantalla y su tooltip), ya traducido\n * @param {Array<{key: string, label: string, icon?: import('react').ReactNode, color?: string, disabled?: boolean, onClick: () => void}>} [props.actions]\n * @param {import('react').ReactNode} [props.icon] otro ícono para el botón (por omisión «⋯»)\n * @param {'small'|'medium'} [props.size]\n */\nexport default function ActionsMenu({label, actions, icon, size = 'small'})
|
|
1
|
+
{"version":3,"file":"ActionsMenu.js","sources":["../../../src/ui/actions/ActionsMenu.jsx"],"sourcesContent":["// Un botón «⋯» con un menú de acciones: el de cada tarjeta del tablero, el de cada columna, el de cada mensaje de la bandeja.\n// Las acciones las da la pantalla (label ya traducido, ícono, color, apagada); sin acciones no se pinta nada.\n//\n// <ActionsMenu label=\"Acciones de «Junta de cierre»\"\n// actions={[{key: 'delete', label: 'Borrar', icon: <DeleteOutlineIcon fontSize=\"small\" />, color: 'error', onClick: remove}]} />\n//\n// El clic no llega a lo de abajo: no levanta una tarjeta que se arrastra ni abre el renglón donde vive.\n//\n// Se cambia desde el tema del proyecto, como las piezas de MUI: components.CalcitaActionsMenu con defaultProps y\n// styleOverrides de sus partes: item, itemIcon.\n//\n// Genérico del paquete: function (regla de la casa).\nimport {useState} from 'react';\nimport IconButton from '@mui/material/IconButton';\nimport ListItemIcon from '@mui/material/ListItemIcon';\nimport ListItemText from '@mui/material/ListItemText';\nimport Menu from '@mui/material/Menu';\nimport MenuItem from '@mui/material/MenuItem';\nimport Tooltip from '@mui/material/Tooltip';\nimport MoreHorizRoundedIcon from '@mui/icons-material/MoreHorizRounded';\nimport {piecePart, usePieceProps} from '@/theme/themePieces.js';\n\n// el nombre de la pieza en el tema y sus partes (theme.components.CalcitaActionsMenu)\nconst THEME_NAME = 'CalcitaActionsMenu';\nconst ActionsItem = piecePart(THEME_NAME, 'Item', MenuItem);\nconst ActionsItemIcon = piecePart(THEME_NAME, 'ItemIcon', ListItemIcon);\n\n/**\n * @param {object} props\n * @param {string} props.label el nombre del botón (lector de pantalla y su tooltip), ya traducido\n * @param {Array<{key: string, label: string, icon?: import('react').ReactNode, color?: string, disabled?: boolean, onClick: () => void}>} [props.actions]\n * @param {import('react').ReactNode} [props.icon] otro ícono para el botón (por omisión «⋯»)\n * @param {'small'|'medium'} [props.size]\n */\nexport default function ActionsMenu(props) {\n // lo que el proyecto puso en su tema (components.CalcitaActionsMenu.defaultProps) y encima lo que llega aquí\n const {label, actions, icon, size = 'small'} = usePieceProps(props, THEME_NAME);\n const [anchor, setAnchor] = useState(null);\n if (!actions?.length) {\n return null;\n }\n return (\n <>\n <Tooltip title={label}>\n <IconButton size={size} aria-label={label} aria-haspopup=\"menu\"\n onClick={(event) => {\n event.stopPropagation();\n setAnchor(event.currentTarget);\n }}>\n {icon ?? <MoreHorizRoundedIcon fontSize=\"small\" />}\n </IconButton>\n </Tooltip>\n <Menu anchorEl={anchor} open={Boolean(anchor)} onClose={() => setAnchor(null)} onClick={(event) => event.stopPropagation()}>\n {actions.map((action) => (\n <ActionsItem key={action.key} disabled={action.disabled}\n onClick={() => {\n setAnchor(null);\n action.onClick();\n }}\n ownSx={action.color ? {color: `${action.color}.main`} : undefined}>\n {action.icon && <ActionsItemIcon ownSx={action.color ? {color: 'inherit'} : undefined}>{action.icon}</ActionsItemIcon>}\n <ListItemText>{action.label}</ListItemText>\n </ActionsItem>\n ))}\n </Menu>\n </>\n );\n}\n"],"names":[],"mappings":";;;;;;;;;;;AAuBA,MAAM,aAAa;AACnB,MAAM,cAAc,UAAU,YAAY,QAAQ,QAAQ;AAC1D,MAAM,kBAAkB,UAAU,YAAY,YAAY,YAAY;AAStE,SAAwB,YAAY,OAAO;AAEvC,QAAM,EAAC,OAAO,SAAS,MAAM,OAAO,YAAW,cAAc,OAAO,UAAU;AAC9E,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAS,IAAI;AACzC,MAAI,CAAC,SAAS,QAAQ;AAClB,WAAO;AAAA,EACX;AACA,SACI,qBAAA,UAAA,EACI,UAAA;AAAA,IAAA,oBAAC,SAAA,EAAQ,OAAO,OACZ,UAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QAAW;AAAA,QAAY,cAAY;AAAA,QAAO,iBAAc;AAAA,QAC7C,SAAS,CAAC,UAAU;AAChB,gBAAM,gBAAA;AACN,oBAAU,MAAM,aAAa;AAAA,QACjC;AAAA,QACP,UAAA,QAAQ,oBAAC,sBAAA,EAAqB,UAAS,QAAA,CAAQ;AAAA,MAAA;AAAA,IAAA,GAExD;AAAA,IACA,oBAAC,QAAK,UAAU,QAAQ,MAAM,QAAQ,MAAM,GAAG,SAAS,MAAM,UAAU,IAAI,GAAG,SAAS,CAAC,UAAU,MAAM,mBACpG,UAAA,QAAQ,IAAI,CAAC,WACV;AAAA,MAAC;AAAA,MAAA;AAAA,QAA6B,UAAU,OAAO;AAAA,QACrC,SAAS,MAAM;AACX,oBAAU,IAAI;AACd,iBAAO,QAAA;AAAA,QACX;AAAA,QACA,OAAO,OAAO,QAAQ,EAAC,OAAO,GAAG,OAAO,KAAK,QAAA,IAAW;AAAA,QAC7D,UAAA;AAAA,UAAA,OAAO,QAAQ,oBAAC,iBAAA,EAAgB,OAAO,OAAO,QAAQ,EAAC,OAAO,UAAA,IAAa,QAAY,UAAA,OAAO,MAAK;AAAA,UACpG,oBAAC,cAAA,EAAc,UAAA,OAAO,MAAA,CAAM;AAAA,QAAA;AAAA,MAAA;AAAA,MAPd,OAAO;AAAA,IAAA,CAS5B,EAAA,CACL;AAAA,EAAA,GACJ;AAER;"}
|