@stackcraftmx/calcita 0.28.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.
Files changed (298) hide show
  1. package/README.md +139 -0
  2. package/dist/DataTable/AuditTrailDialog.js +18 -14
  3. package/dist/DataTable/AuditTrailDialog.js.map +1 -1
  4. package/dist/DataTable/ColumnFilters/HeaderFilterPopover.js +12 -6
  5. package/dist/DataTable/ColumnFilters/HeaderFilterPopover.js.map +1 -1
  6. package/dist/DataTable/ColumnFilters/MultiSelectColumnFilter.js +8 -3
  7. package/dist/DataTable/ColumnFilters/MultiSelectColumnFilter.js.map +1 -1
  8. package/dist/DataTable/ColumnFilters/SortableFilterHeader.js +26 -18
  9. package/dist/DataTable/ColumnFilters/SortableFilterHeader.js.map +1 -1
  10. package/dist/DataTable/EmptyState.js +8 -3
  11. package/dist/DataTable/EmptyState.js.map +1 -1
  12. package/dist/DataTable/FilterChips.js +11 -5
  13. package/dist/DataTable/FilterChips.js.map +1 -1
  14. package/dist/DataTable/GoToPage.js +9 -4
  15. package/dist/DataTable/GoToPage.js.map +1 -1
  16. package/dist/DataTable/ServerTable.js +74 -61
  17. package/dist/DataTable/ServerTable.js.map +1 -1
  18. package/dist/DataTable/columns.js +1 -8
  19. package/dist/DataTable/columns.js.map +1 -1
  20. package/dist/access/PermissionMatrix.js +18 -9
  21. package/dist/access/PermissionMatrix.js.map +1 -1
  22. package/dist/account/AccountSecuritySection.js +8 -3
  23. package/dist/account/AccountSecuritySection.js.map +1 -1
  24. package/dist/account/DemoTotpCodeButton.js +8 -3
  25. package/dist/account/DemoTotpCodeButton.js.map +1 -1
  26. package/dist/account/ProfileScreen.js +19 -13
  27. package/dist/account/ProfileScreen.js.map +1 -1
  28. package/dist/account/SignInScreen.js +6 -2
  29. package/dist/account/SignInScreen.js.map +1 -1
  30. package/dist/appShell/AccountMenu.js +13 -5
  31. package/dist/appShell/AccountMenu.js.map +1 -1
  32. package/dist/appShell/AppLayout.js +100 -71
  33. package/dist/appShell/AppLayout.js.map +1 -1
  34. package/dist/appShell/AppearanceSettings.js +21 -13
  35. package/dist/appShell/AppearanceSettings.js.map +1 -1
  36. package/dist/appShell/AuthLayout.js +26 -13
  37. package/dist/appShell/AuthLayout.js.map +1 -1
  38. package/dist/appShell/BarActions.js +10 -5
  39. package/dist/appShell/BarActions.js.map +1 -1
  40. package/dist/appShell/BarCapsule.js +9 -4
  41. package/dist/appShell/BarCapsule.js.map +1 -1
  42. package/dist/appShell/BarSearch.js +7 -3
  43. package/dist/appShell/BarSearch.js.map +1 -1
  44. package/dist/appShell/HeaderTools.js +20 -15
  45. package/dist/appShell/HeaderTools.js.map +1 -1
  46. package/dist/appShell/MobileTabBar.js +25 -14
  47. package/dist/appShell/MobileTabBar.js.map +1 -1
  48. package/dist/appShell/SettingsMenu.js +7 -3
  49. package/dist/appShell/SettingsMenu.js.map +1 -1
  50. package/dist/appShell/SideMenu.js +53 -35
  51. package/dist/appShell/SideMenu.js.map +1 -1
  52. package/dist/appShell/SideMenuEntry.js +18 -9
  53. package/dist/appShell/SideMenuEntry.js.map +1 -1
  54. package/dist/appShell/SubmenuActionsMenu.js +6 -2
  55. package/dist/appShell/SubmenuActionsMenu.js.map +1 -1
  56. package/dist/appShell/TabBarEditor.js +16 -7
  57. package/dist/appShell/TabBarEditor.js.map +1 -1
  58. package/dist/appShell/TopMenu.js +12 -7
  59. package/dist/appShell/TopMenu.js.map +1 -1
  60. package/dist/appShell/Wordmark.js +6 -2
  61. package/dist/appShell/Wordmark.js.map +1 -1
  62. package/dist/auth/PasswordChecklist.js +14 -7
  63. package/dist/auth/PasswordChecklist.js.map +1 -1
  64. package/dist/calendar/EventCalendar.js +26 -19
  65. package/dist/calendar/EventCalendar.js.map +1 -1
  66. package/dist/calendar/EventDetails.js +28 -13
  67. package/dist/calendar/EventDetails.js.map +1 -1
  68. package/dist/downloads/DownloadManager.js +34 -18
  69. package/dist/downloads/DownloadManager.js.map +1 -1
  70. package/dist/feedback/ConfirmDialog.js +22 -17
  71. package/dist/feedback/ConfirmDialog.js.map +1 -1
  72. package/dist/feedback/ModalWaiting.js +12 -5
  73. package/dist/feedback/ModalWaiting.js.map +1 -1
  74. package/dist/feedback/NewBuildNotice.js +16 -8
  75. package/dist/feedback/NewBuildNotice.js.map +1 -1
  76. package/dist/filepond/FileDropzone.js +39 -31
  77. package/dist/filepond/FileDropzone.js.map +1 -1
  78. package/dist/forms/FormProblemAlert.js +4 -1
  79. package/dist/forms/FormProblemAlert.js.map +1 -1
  80. package/dist/forms/auth/SignInForm.js +6 -2
  81. package/dist/forms/auth/SignInForm.js.map +1 -1
  82. package/dist/forms/security/SecondStepForm.js +6 -2
  83. package/dist/forms/security/SecondStepForm.js.map +1 -1
  84. package/dist/forms/security/TwoStepVerificationCard.js +19 -9
  85. package/dist/forms/security/TwoStepVerificationCard.js.map +1 -1
  86. package/dist/hookForm/FormProblemAlert.js +4 -1
  87. package/dist/hookForm/FormProblemAlert.js.map +1 -1
  88. package/dist/inbox/InboxLayout.js +47 -29
  89. package/dist/inbox/InboxLayout.js.map +1 -1
  90. package/dist/inbox/MessageList.js +53 -32
  91. package/dist/inbox/MessageList.js.map +1 -1
  92. package/dist/inbox/MessageView.js +31 -15
  93. package/dist/inbox/MessageView.js.map +1 -1
  94. package/dist/index.js +4 -0
  95. package/dist/index.js.map +1 -1
  96. package/dist/inputs/ColorInput.js +22 -17
  97. package/dist/inputs/ColorInput.js.map +1 -1
  98. package/dist/inputs/FormSection.js +64 -64
  99. package/dist/inputs/FormSection.js.map +1 -1
  100. package/dist/inputs/SelectInput.js +21 -16
  101. package/dist/inputs/SelectInput.js.map +1 -1
  102. package/dist/inputs/TextInput.js +25 -20
  103. package/dist/inputs/TextInput.js.map +1 -1
  104. package/dist/inputs/WizardLayout.js +21 -15
  105. package/dist/inputs/WizardLayout.js.map +1 -1
  106. package/dist/kanban/KanbanBoard.js +82 -50
  107. package/dist/kanban/KanbanBoard.js.map +1 -1
  108. package/dist/maps/MapView.js +19 -14
  109. package/dist/maps/MapView.js.map +1 -1
  110. package/dist/pwa/InstallAppSetting.js +4 -1
  111. package/dist/pwa/InstallAppSetting.js.map +1 -1
  112. package/dist/pwa/InstallInstructionsDialog.js +6 -2
  113. package/dist/pwa/InstallInstructionsDialog.js.map +1 -1
  114. package/dist/pwa/InstallPromptBanner.js +10 -5
  115. package/dist/pwa/InstallPromptBanner.js.map +1 -1
  116. package/dist/security/ActivityLog.js +6 -2
  117. package/dist/security/ActivityLog.js.map +1 -1
  118. package/dist/security/RecoveryCodesDialog.js +8 -3
  119. package/dist/security/RecoveryCodesDialog.js.map +1 -1
  120. package/dist/security/SessionsCard.js +12 -5
  121. package/dist/security/SessionsCard.js.map +1 -1
  122. package/dist/theme/components/glassComponents.js +19 -16
  123. package/dist/theme/components/glassComponents.js.map +1 -1
  124. package/dist/theme/components/minimalComponents.js +6 -2
  125. package/dist/theme/components/minimalComponents.js.map +1 -1
  126. package/dist/theme/createToolkitTheme.js +8 -1
  127. package/dist/theme/createToolkitTheme.js.map +1 -1
  128. package/dist/theme/cssTokens.js +23 -0
  129. package/dist/theme/cssTokens.js.map +1 -0
  130. package/dist/theme/glassSurface.js +9 -3
  131. package/dist/theme/glassSurface.js.map +1 -1
  132. package/dist/theme/glassToasterStyles.js +2 -3
  133. package/dist/theme/glassToasterStyles.js.map +1 -1
  134. package/dist/theme/themePieces.js +16 -0
  135. package/dist/theme/themePieces.js.map +1 -0
  136. package/dist/types/DataTable/AuditTrailDialog.d.ts +1 -1
  137. package/dist/types/DataTable/ColumnFilters/HeaderFilterPopover.d.ts +1 -1
  138. package/dist/types/DataTable/ColumnFilters/MultiSelectColumnFilter.d.ts +1 -1
  139. package/dist/types/DataTable/ColumnFilters/SortableFilterHeader.d.ts +1 -1
  140. package/dist/types/DataTable/EmptyState.d.ts +1 -1
  141. package/dist/types/DataTable/FilterChips.d.ts +1 -1
  142. package/dist/types/DataTable/GoToPage.d.ts +1 -1
  143. package/dist/types/DataTable/ServerTable.d.ts +1 -1
  144. package/dist/types/access/PermissionMatrix.d.ts +1 -1
  145. package/dist/types/account/AccountSecuritySection.d.ts +1 -1
  146. package/dist/types/account/DemoTotpCodeButton.d.ts +1 -1
  147. package/dist/types/account/ProfileScreen.d.ts +1 -1
  148. package/dist/types/account/SignInScreen.d.ts +1 -1
  149. package/dist/types/appShell/AccountMenu.d.ts +1 -1
  150. package/dist/types/appShell/AppLayout.d.ts +1 -1
  151. package/dist/types/appShell/AppearanceSettings.d.ts +1 -1
  152. package/dist/types/appShell/AuthLayout.d.ts +1 -1
  153. package/dist/types/appShell/BarActions.d.ts +1 -1
  154. package/dist/types/appShell/BarCapsule.d.ts +1 -1
  155. package/dist/types/appShell/BarSearch.d.ts +1 -1
  156. package/dist/types/appShell/HeaderTools.d.ts +1 -1
  157. package/dist/types/appShell/MobileTabBar.d.ts +1 -1
  158. package/dist/types/appShell/SettingsMenu.d.ts +1 -1
  159. package/dist/types/appShell/SideMenu.d.ts +1 -1
  160. package/dist/types/appShell/SideMenuEntry.d.ts +1 -1
  161. package/dist/types/appShell/SubmenuActionsMenu.d.ts +1 -1
  162. package/dist/types/appShell/TabBarEditor.d.ts +1 -1
  163. package/dist/types/appShell/TopMenu.d.ts +1 -1
  164. package/dist/types/appShell/Wordmark.d.ts +1 -1
  165. package/dist/types/auth/PasswordChecklist.d.ts +1 -1
  166. package/dist/types/calendar/EventCalendar.d.ts +1 -1
  167. package/dist/types/calendar/EventDetails.d.ts +1 -1
  168. package/dist/types/feedback/ConfirmDialog.d.ts +1 -1
  169. package/dist/types/feedback/ModalWaiting.d.ts +1 -1
  170. package/dist/types/feedback/NewBuildNotice.d.ts +1 -1
  171. package/dist/types/filepond/FileDropzone.d.ts +1 -1
  172. package/dist/types/forms/auth/SignInForm.d.ts +1 -1
  173. package/dist/types/forms/security/SecondStepForm.d.ts +1 -1
  174. package/dist/types/forms/security/TwoStepVerificationCard.d.ts +1 -1
  175. package/dist/types/inbox/InboxLayout.d.ts +1 -1
  176. package/dist/types/inbox/MessageList.d.ts +1 -1
  177. package/dist/types/inbox/MessageView.d.ts +1 -1
  178. package/dist/types/index.d.ts +1 -0
  179. package/dist/types/inputs/ColorInput.d.ts +1 -1
  180. package/dist/types/inputs/FormSection.d.ts +2 -2
  181. package/dist/types/inputs/SelectInput.d.ts +1 -1
  182. package/dist/types/inputs/TextInput.d.ts +1 -1
  183. package/dist/types/inputs/WizardLayout.d.ts +1 -1
  184. package/dist/types/kanban/KanbanBoard.d.ts +1 -1
  185. package/dist/types/maps/MapView.d.ts +1 -1
  186. package/dist/types/pwa/InstallInstructionsDialog.d.ts +1 -1
  187. package/dist/types/pwa/InstallPromptBanner.d.ts +1 -1
  188. package/dist/types/security/ActivityLog.d.ts +1 -1
  189. package/dist/types/security/RecoveryCodesDialog.d.ts +1 -1
  190. package/dist/types/security/SessionsCard.d.ts +1 -1
  191. package/dist/types/theme/createToolkitTheme.d.ts +12 -1
  192. package/dist/types/theme/cssTokens.d.ts +46 -0
  193. package/dist/types/theme/glassSurface.d.ts +3 -0
  194. package/dist/types/theme/themePieces.d.ts +20 -0
  195. package/dist/types/ui/actions/ActionsMenu.d.ts +1 -1
  196. package/dist/types/ui/actions/DownloadMenu.d.ts +1 -1
  197. package/dist/types/ui/actions/SelectionActions.d.ts +1 -1
  198. package/dist/types/ui/filters/DateRangeFilter.d.ts +1 -1
  199. package/dist/types/ui/filters/PeriodRangeSelector.d.ts +1 -1
  200. package/dist/types/ui/filters/QuickFilters.d.ts +1 -1
  201. package/dist/types/ui/filters/SegmentedControl.d.ts +7 -2
  202. package/dist/types/ui/labels/StatusChip.d.ts +1 -1
  203. package/dist/types/ui/labels/Tag.d.ts +1 -1
  204. package/dist/types/ui/layout/CollapsibleSection.d.ts +1 -1
  205. package/dist/types/ui/layout/ContentDialog.d.ts +1 -1
  206. package/dist/types/ui/layout/DefinitionList.d.ts +1 -1
  207. package/dist/types/ui/layout/DetailHeader.d.ts +1 -1
  208. package/dist/types/ui/layout/ErrorPage.d.ts +1 -1
  209. package/dist/types/ui/layout/GlassPanel.d.ts +1 -1
  210. package/dist/types/ui/layout/PageHeader.d.ts +1 -1
  211. package/dist/types/ui/layout/PageHeading.d.ts +1 -1
  212. package/dist/types/ui/layout/ProfileHeader.d.ts +1 -1
  213. package/dist/types/ui/layout/ScrollableRow.d.ts +1 -1
  214. package/dist/types/ui/layout/SectionCard.d.ts +1 -1
  215. package/dist/types/ui/metrics/BarList.d.ts +1 -1
  216. package/dist/types/ui/metrics/CalendarHeatmap.d.ts +1 -1
  217. package/dist/types/ui/metrics/ChartTooltip.d.ts +1 -1
  218. package/dist/types/ui/metrics/ColumnChart.d.ts +1 -1
  219. package/dist/types/ui/metrics/LineChart.d.ts +1 -1
  220. package/dist/types/ui/metrics/MetricCard.d.ts +1 -1
  221. package/dist/types/ui/metrics/TableToggle.d.ts +1 -1
  222. package/dist/types/ui/navigation/ColorSchemeToggle.d.ts +1 -1
  223. package/dist/types/ui/navigation/FontSizeToggle.d.ts +1 -1
  224. package/dist/types/ui/navigation/LanguageToggle.d.ts +1 -1
  225. package/dist/types/ui/navigation/PageBreadcrumbs.d.ts +1 -1
  226. package/dist/types/ui/timeline/GroupedTimeline.d.ts +1 -1
  227. package/dist/types/upload/FileDropzone.d.ts +1 -1
  228. package/dist/ui/actions/ActionsMenu.js +9 -4
  229. package/dist/ui/actions/ActionsMenu.js.map +1 -1
  230. package/dist/ui/actions/DownloadMenu.js +21 -17
  231. package/dist/ui/actions/DownloadMenu.js.map +1 -1
  232. package/dist/ui/actions/SelectionActions.js +15 -7
  233. package/dist/ui/actions/SelectionActions.js.map +1 -1
  234. package/dist/ui/filters/DateRangeFilter.js +11 -5
  235. package/dist/ui/filters/DateRangeFilter.js.map +1 -1
  236. package/dist/ui/filters/PeriodRangeSelector.js +11 -5
  237. package/dist/ui/filters/PeriodRangeSelector.js.map +1 -1
  238. package/dist/ui/filters/QuickFilters.js +16 -8
  239. package/dist/ui/filters/QuickFilters.js.map +1 -1
  240. package/dist/ui/filters/SegmentedControl.js +12 -5
  241. package/dist/ui/filters/SegmentedControl.js.map +1 -1
  242. package/dist/ui/labels/StatusChip.js +35 -25
  243. package/dist/ui/labels/StatusChip.js.map +1 -1
  244. package/dist/ui/labels/Tag.js +8 -3
  245. package/dist/ui/labels/Tag.js.map +1 -1
  246. package/dist/ui/layout/CollapsibleSection.js +18 -8
  247. package/dist/ui/layout/CollapsibleSection.js.map +1 -1
  248. package/dist/ui/layout/ContentDialog.js +13 -6
  249. package/dist/ui/layout/ContentDialog.js.map +1 -1
  250. package/dist/ui/layout/DefinitionList.js +13 -6
  251. package/dist/ui/layout/DefinitionList.js.map +1 -1
  252. package/dist/ui/layout/DetailHeader.js +14 -6
  253. package/dist/ui/layout/DetailHeader.js.map +1 -1
  254. package/dist/ui/layout/ErrorPage.js +20 -15
  255. package/dist/ui/layout/ErrorPage.js.map +1 -1
  256. package/dist/ui/layout/FullPageLoader.js +4 -1
  257. package/dist/ui/layout/FullPageLoader.js.map +1 -1
  258. package/dist/ui/layout/GlassPanel.js +8 -4
  259. package/dist/ui/layout/GlassPanel.js.map +1 -1
  260. package/dist/ui/layout/PageHeader.js +10 -4
  261. package/dist/ui/layout/PageHeader.js.map +1 -1
  262. package/dist/ui/layout/PageHeading.js +17 -8
  263. package/dist/ui/layout/PageHeading.js.map +1 -1
  264. package/dist/ui/layout/ProfileHeader.js +21 -10
  265. package/dist/ui/layout/ProfileHeader.js.map +1 -1
  266. package/dist/ui/layout/ScrollableRow.js +19 -15
  267. package/dist/ui/layout/ScrollableRow.js.map +1 -1
  268. package/dist/ui/layout/SectionCard.js +10 -4
  269. package/dist/ui/layout/SectionCard.js.map +1 -1
  270. package/dist/ui/metrics/BarList.js +9 -4
  271. package/dist/ui/metrics/BarList.js.map +1 -1
  272. package/dist/ui/metrics/CalendarHeatmap.js +40 -21
  273. package/dist/ui/metrics/CalendarHeatmap.js.map +1 -1
  274. package/dist/ui/metrics/ChartTooltip.js +6 -2
  275. package/dist/ui/metrics/ChartTooltip.js.map +1 -1
  276. package/dist/ui/metrics/ColumnChart.js +22 -18
  277. package/dist/ui/metrics/ColumnChart.js.map +1 -1
  278. package/dist/ui/metrics/LineChart.js +20 -16
  279. package/dist/ui/metrics/LineChart.js.map +1 -1
  280. package/dist/ui/metrics/MetricCard.js +42 -24
  281. package/dist/ui/metrics/MetricCard.js.map +1 -1
  282. package/dist/ui/metrics/TableToggle.js +7 -2
  283. package/dist/ui/metrics/TableToggle.js.map +1 -1
  284. package/dist/ui/metrics/chartParts.js +14 -5
  285. package/dist/ui/metrics/chartParts.js.map +1 -1
  286. package/dist/ui/navigation/ColorSchemeToggle.js +8 -4
  287. package/dist/ui/navigation/ColorSchemeToggle.js.map +1 -1
  288. package/dist/ui/navigation/FontSizeToggle.js +6 -2
  289. package/dist/ui/navigation/FontSizeToggle.js.map +1 -1
  290. package/dist/ui/navigation/LanguageToggle.js +8 -4
  291. package/dist/ui/navigation/LanguageToggle.js.map +1 -1
  292. package/dist/ui/navigation/PageBreadcrumbs.js +12 -6
  293. package/dist/ui/navigation/PageBreadcrumbs.js.map +1 -1
  294. package/dist/ui/timeline/GroupedTimeline.js +26 -13
  295. package/dist/ui/timeline/GroupedTimeline.js.map +1 -1
  296. package/dist/upload/FileDropzone.js +35 -25
  297. package/dist/upload/FileDropzone.js.map +1 -1
  298. package/package.json +1 -1
@@ -3,7 +3,7 @@
3
3
  * @param {boolean} [props.showPasswordChange] por omisión sí
4
4
  * @param {object} [props.texts] los textos que cambian, con la forma de `account` en los textos del paquete
5
5
  */
6
- export default function AccountSecuritySection({ showPasswordChange, texts }: {
6
+ export default function AccountSecuritySection(props: {
7
7
  showPasswordChange?: boolean;
8
8
  texts?: object;
9
9
  }): import("react").JSX.Element;
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @param {{loadCode: () => Promise<string|null>}} props
3
3
  */
4
- export default function DemoTotpCodeButton({ loadCode }: {
4
+ export default function DemoTotpCodeButton(props: {
5
5
  loadCode: () => Promise<string | null>;
6
6
  }): import("react").JSX.Element;
@@ -21,7 +21,7 @@ export type AccountUser = import('./accountConnector.js').AccountUser;
21
21
  * @param {object} [props.texts] los textos que cambian, con la forma de `account` en los textos del paquete:
22
22
  * {profile: {tabs: {data: 'Mis datos'}}}
23
23
  */
24
- export default function ProfileScreen({ showColorScheme, extraFields, extraTabs, hiddenTabs, onTabChange, onProfileSaved, texts, }: {
24
+ export default function ProfileScreen(props: {
25
25
  showColorScheme?: boolean;
26
26
  extraFields?: {
27
27
  initialValues?: (user: AccountUser & Record<string, any>) => Record<string, any>;
@@ -9,7 +9,7 @@
9
9
  * @param {boolean} [props.showColorSchemeToggle] por omisión sí
10
10
  * @param {object} [props.texts] los textos que cambian, con la forma de `auth` en los textos del paquete
11
11
  */
12
- export default function SignInScreen({ homePath, forgotPasswordPath, logo, brandName, footer, showLanguageToggle, showColorSchemeToggle, texts }: {
12
+ export default function SignInScreen(props: {
13
13
  homePath?: string;
14
14
  forgotPasswordPath?: string;
15
15
  logo?: import('react').ReactNode;
@@ -7,7 +7,7 @@
7
7
  * @param {boolean} [props.isSigningOut]
8
8
  * @param {import('react').ReactNode} [props.settings] los ajustes de la app, entre los datos de la persona y sus ligas
9
9
  */
10
- export default function AccountMenu({ user, profilePath, accountMenuItems, onSignOut, isSigningOut, settings }: {
10
+ export default function AccountMenu(props: {
11
11
  user: {
12
12
  name: string;
13
13
  email?: string;
@@ -42,7 +42,7 @@ export declare const MENU_POSITION: Readonly<{
42
42
  * @param {object} [props.texts] los textos que cambian, con la forma de `layout` en los textos del paquete (para todo el marco)
43
43
  * @param {import('react').ReactNode} props.children el contenido
44
44
  */
45
- export declare const AppLayout: ({ logo, wordmark, brandName, brandCaption, homePath, menuItems, menuPosition, user, profilePath, accountMenuItems, onSignOut, isSigningOut, headerActions, accountSettings, menuBadges, sidebarFooter, showFontSizeToggle, showLanguageToggle, showColorSchemeToggle, ribbons, isNavigating, defaultCollapsed, minimizeTabBarOnScroll, contentMaxWidth, onMenuCollapse, onMobileMenuChange, onMobileTabsChange, texts, children, }: {
45
+ export declare const AppLayout: (props: {
46
46
  logo?: import('react').ReactNode;
47
47
  wordmark?: import('react').ReactNode;
48
48
  brandName?: string;
@@ -31,7 +31,7 @@ export declare function SettingSection({ label, value, options, onChange }: {
31
31
  * @param {(mode: 'light'|'dark'|'system') => void} [props.onColorSchemeChange] la persona eligió otro modo
32
32
  * @param {object} [props.texts] los textos que cambian, con la forma de `layout` en los textos del paquete
33
33
  */
34
- export default function AppearanceSettings({ showFontSize, showLanguage, showColorScheme, onFontSizeChange, onColorSchemeChange, texts, }: {
34
+ export default function AppearanceSettings(props: {
35
35
  showFontSize?: boolean;
36
36
  showLanguage?: boolean;
37
37
  showColorScheme?: boolean;
@@ -9,7 +9,7 @@
9
9
  * @param {boolean} [props.showLanguageToggle] por omisión sí
10
10
  * @param {boolean} [props.showColorSchemeToggle] por omisión sí
11
11
  */
12
- export declare const AuthLayout: ({ logo, brandName, title, description, children, footer, showLanguageToggle, showColorSchemeToggle }: {
12
+ export declare const AuthLayout: (props: {
13
13
  logo?: import('react').ReactNode;
14
14
  brandName?: string;
15
15
  title: string;
@@ -11,7 +11,7 @@
11
11
  * exclusivos): los otros se esconden, como el modo de edición del iPhone deja solo lo de lo elegido. Lo usa SelectionActions
12
12
  * @param {object} [props.texts] los textos que cambian, con la forma de `layout` en los textos del paquete
13
13
  */
14
- export default function BarActions({ children, label, order, sx, inlineSx, bare, exclusive, texts }: {
14
+ export default function BarActions(props: {
15
15
  children: import('react').ReactNode;
16
16
  label?: string;
17
17
  order?: number;
@@ -14,7 +14,7 @@ export declare function monochromeButtonsSxOf(color: string): object;
14
14
  * @param {Omit<import('react').HTMLAttributes<HTMLDivElement>, 'children'> & {children: import('react').ReactNode, sx?: object|Function|Array<any>}} props
15
15
  * children: los botones del grupo; sx: estilos propios, encima de los de la cápsula
16
16
  */
17
- export default function BarCapsule({ children, sx, role, ...rest }: Omit<import('react').HTMLAttributes<HTMLDivElement>, 'children'> & {
17
+ export default function BarCapsule(props: Omit<import('react').HTMLAttributes<HTMLDivElement>, 'children'> & {
18
18
  children: import('react').ReactNode;
19
19
  sx?: object | Function | Array<any>;
20
20
  }): import("react").JSX.Element;
@@ -11,7 +11,7 @@
11
11
  * @param {() => void} [props.onBlur]
12
12
  * @param {import('react').Ref<HTMLInputElement>} [props.inputRef] la caja, para enfocarla desde afuera (un atajo «/»)
13
13
  */
14
- export default function BarSearch({ value, onChange, placeholder, inBar, collapsible, order, onFocus, onBlur, inputRef }: {
14
+ export default function BarSearch(props: {
15
15
  value: string;
16
16
  onChange: (value: string) => void;
17
17
  placeholder: string;
@@ -12,7 +12,7 @@
12
12
  * @param {() => void} [props.onSignOut]
13
13
  * @param {boolean} [props.isSigningOut]
14
14
  */
15
- export default function HeaderTools({ headerActions, showFontSizeToggle, showLanguageToggle, showColorSchemeToggle, user, profilePath, accountMenuItems, onSignOut, isSigningOut, accountSettings, vertical, }: {
15
+ export default function HeaderTools(props: {
16
16
  headerActions?: import('react').ReactNode;
17
17
  showFontSizeToggle: boolean;
18
18
  showLanguageToggle: boolean;
@@ -9,7 +9,7 @@
9
9
  * @param {(keys: string[]|null) => void} [props.onPinnedTabsChange] la persona eligió sus pestañas (null: regresó a las de
10
10
  * omisión)
11
11
  */
12
- export default function MobileTabBar({ menuItems, activeItem, menuBadges, account, moreFooter, minimizeOnScroll, onPinnedTabsChange }: {
12
+ export default function MobileTabBar(props: {
13
13
  menuItems: object[];
14
14
  activeItem: object | null;
15
15
  menuBadges?: Record<string, number>;
@@ -6,7 +6,7 @@
6
6
  * @param {import('react').ReactNode} [props.extraSettings] los ajustes del proyecto, debajo de los del paquete
7
7
  * @param {object[]} [props.menuLinks] las ligas propias (accountMenuItems), al final
8
8
  */
9
- export default function SettingsMenu({ showFontSize, showLanguage, showColorScheme, extraSettings, menuLinks }: {
9
+ export default function SettingsMenu(props: {
10
10
  showFontSize?: boolean;
11
11
  showLanguage?: boolean;
12
12
  showColorScheme?: boolean;
@@ -15,7 +15,7 @@
15
15
  * @param {import('react').ReactNode} [props.railTop] arriba del menú encogido que hace de barra: la ☰ y el logo
16
16
  * @param {import('react').ReactNode} [props.railBottom] abajo de ese menú: los ajustes y la cuenta
17
17
  */
18
- export default function SideMenu({ logo, wordmark, brandName, brandCaption, homePath, menuItems, activeItem, collapsed, footer, showBrand, onNavigate, railTop, railBottom, menuBadges, }: {
18
+ export default function SideMenu(props: {
19
19
  logo?: import('react').ReactNode;
20
20
  wordmark?: import('react').ReactNode;
21
21
  brandName: string;
@@ -7,7 +7,7 @@
7
7
  * @param {Record<string, number>} [props.menuBadges] los conteos del servidor por badgeKey (menuBadgeOf)
8
8
  * @param {number} [props.depth]
9
9
  */
10
- export default function SideMenuEntry({ menuItem, activeItem, collapsed, onNavigate, menuBadges, depth }: {
10
+ export default function SideMenuEntry(props: {
11
11
  menuItem: object;
12
12
  activeItem: object | null;
13
13
  collapsed: boolean;
@@ -13,7 +13,7 @@ export declare const SUBMENU_PLACEMENT: Readonly<{
13
13
  * @param {() => void} [props.onNavigate] al elegir una hija
14
14
  * @param {'side'|'above'} [props.placement] SUBMENU_PLACEMENT; por omisión a la derecha
15
15
  */
16
- export default function SubmenuActionsMenu({ anchorElement, onClose, menuItem, activeItem, menuBadges, onNavigate, placement }: {
16
+ export default function SubmenuActionsMenu(props: {
17
17
  anchorElement: Element | null;
18
18
  onClose: () => void;
19
19
  menuItem: object;
@@ -5,7 +5,7 @@
5
5
  * @param {(keys: string[]) => void} props.onDone con las elegidas, en el orden del menú
6
6
  * @param {() => void} props.onReset regresar a las del proyecto
7
7
  */
8
- export default function TabBarEditor({ menuItems, pinnedKeys, onDone, onReset }: {
8
+ export default function TabBarEditor(props: {
9
9
  menuItems: object[];
10
10
  pinnedKeys: string[];
11
11
  onDone: (keys: string[]) => void;
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @param {{menuItems: object[], activeItem: object|null}} props
3
3
  */
4
- export default function TopMenu({ menuItems, activeItem }: {
4
+ export default function TopMenu(props: {
5
5
  menuItems: object[];
6
6
  activeItem: object | null;
7
7
  }): import("react").JSX.Element;
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @param {{children: import('react').ReactNode}} props el logo (una <img>, un <svg> o lo que pinte el proyecto)
3
3
  */
4
- export default function Wordmark({ children }: {
4
+ export default function Wordmark(props: {
5
5
  children: import('react').ReactNode;
6
6
  }): import("react").JSX.Element;
@@ -5,7 +5,7 @@
5
5
  * @param {string} [props.id]
6
6
  * @param {object} [props.texts] los textos que cambian, con la forma de `auth` en los textos del paquete
7
7
  */
8
- export default function PasswordChecklist({ password, policy, id, texts }: {
8
+ export default function PasswordChecklist(props: {
9
9
  password: string;
10
10
  policy?: object;
11
11
  id?: string;
@@ -26,7 +26,7 @@ export declare const CALENDAR_VIEW: Readonly<{
26
26
  * que el calendario controla (las citas, la barra, los eventos de arriba) no se reemplaza desde aquí
27
27
  * @param {object} [props.texts] los textos que cambian, con la forma de `calendar` en los textos del paquete
28
28
  */
29
- export default function EventCalendar({ events, initialView, views, onEventClick, onDateSelect, onEventChange, height, ariaLabel, onDatesChange, onViewChange, renderEvent, fullCalendarProps, texts, }: {
29
+ export default function EventCalendar(props: {
30
30
  events: Array<{
31
31
  id: string;
32
32
  title: string;
@@ -12,7 +12,7 @@ export declare const ATTENDEE_RESPONSE: Readonly<{
12
12
  * @param {string} [props.titleId] el id del título: la ventana que lo contiene se nombra con él (aria-labelledby)
13
13
  * @param {object} [props.texts] los textos que cambian, con la forma de `calendar` en los textos del paquete
14
14
  */
15
- export default function EventDetails({ event, actions, titleId, texts }: {
15
+ export default function EventDetails(props: {
16
16
  event: {
17
17
  title: string;
18
18
  start: string;
@@ -14,7 +14,7 @@
14
14
  * @param {import('react').ReactNode} [props.children]
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 ConfirmDialog({ open, title, description, confirmLabel, cancelLabel, tone, isPending, isConfirmDisabled, errorMessage, onConfirm, onClose, children, texts, }: {
17
+ export default function ConfirmDialog(props: {
18
18
  open: boolean;
19
19
  title: string;
20
20
  description?: import('react').ReactNode;
@@ -5,7 +5,7 @@
5
5
  * @param {string} [props.text] ya traducido; por omisión common:waiting.text
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 ModalWaiting({ open, title, text, texts }: {
8
+ export default function ModalWaiting(props: {
9
9
  open: boolean;
10
10
  title?: string;
11
11
  text?: string;
@@ -11,7 +11,7 @@ export declare const NEW_BUILD_NOTICE_VARIANT: Readonly<{
11
11
  * @param {'ribbon'|'floating'} [props.variant] franja o cápsula flotante (NEW_BUILD_NOTICE_VARIANT); por omisión franja
12
12
  * @param {object} [props.texts] los textos que cambian, con la forma de `common` en los textos del paquete
13
13
  */
14
- export default function NewBuildNotice({ message, reloadLabel, onReload, variant, texts }?: {
14
+ export default function NewBuildNotice(props?: {
15
15
  message?: string;
16
16
  reloadLabel?: string;
17
17
  onReload?: () => void;
@@ -25,7 +25,7 @@
25
25
  * @param {object} [props.sx]
26
26
  * @param {object} [props.texts] los textos que cambian, con la forma de `common` en los textos del paquete
27
27
  */
28
- export default function FileDropzone({ value, onChange, accept, maxSize, multiple, maxFiles, maxTotalSize, name, hint, buttonLabel, disabled, busy, busyModal, autoReject, validate, server, instantUpload, apiRef, onProcessProgress, onReject, actions, children, sx, texts, }: {
28
+ export default function FileDropzone(props: {
29
29
  value?: File | File[] | null;
30
30
  onChange: (value: File | File[] | null) => void;
31
31
  accept?: string | string[];
@@ -7,7 +7,7 @@
7
7
  * @param {string} [props.initialEmail]
8
8
  * @param {object} [props.texts] los textos que cambian, con la forma de `auth` en los textos del paquete
9
9
  */
10
- export default function SignInForm({ onSubmit, forgotPasswordPath, showRememberMe, initialEmail, texts }: {
10
+ export default function SignInForm(props: {
11
11
  onSubmit: (values: {
12
12
  email: string;
13
13
  password: string;
@@ -16,7 +16,7 @@ export declare const SECOND_STEP_METHOD: Readonly<{
16
16
  * useFormikContext (p. ej. el atajo de los ejemplos)
17
17
  * @param {object} [props.texts] los textos que cambian, con la forma de `security` en los textos del paquete
18
18
  */
19
- export default function SecondStepForm({ methods, canUsePasskeys, onUsePasskey, onSubmitCode, onCancel, footer, texts }: {
19
+ export default function SecondStepForm(props: {
20
20
  methods: string[];
21
21
  canUsePasskeys?: boolean;
22
22
  onUsePasskey?: () => Promise<unknown>;
@@ -17,7 +17,7 @@
17
17
  * navegador la guarde (p. ej. el de la demostración: la llave queda de verdad en el llavero de la persona)
18
18
  * @param {object} [props.texts] los textos que cambian, con la forma de `security` en los textos del paquete
19
19
  */
20
- export default function TwoStepVerificationCard({ security, onSecurityChange, actions, canUsePasskeys, account, passkeyNotice, texts }: {
20
+ export default function TwoStepVerificationCard(props: {
21
21
  security: {
22
22
  isEnabled: boolean;
23
23
  enabledAt?: string | null;
@@ -13,7 +13,7 @@
13
13
  * @param {import('react').ReactNode} [props.foldersHeader] arriba de las carpetas en escritorio (un botón «Redactar»)
14
14
  * @param {object} [props.texts] los textos que cambian, con la forma de `inbox` en los textos del paquete
15
15
  */
16
- export default function InboxLayout({ folders, labels, selectedFolderId, onSelectFolder, toolbar, list, detail, isDetailOpen, onCloseDetail, foldersHeader, texts, }: {
16
+ export default function InboxLayout(props: {
17
17
  folders: Array<{
18
18
  id: string;
19
19
  label: string;
@@ -14,7 +14,7 @@
14
14
  * @param {string} [props.emptyText] ya traducido; por omisión el del paquete
15
15
  * @param {object} [props.texts] los textos que cambian, con la forma de `inbox` en los textos del paquete
16
16
  */
17
- export default function MessageList({ messages, selectedId, onSelect, onToggleStar, selectedIds, onSelectionChange, messageActions, renderMessage, emptyText, texts, }: {
17
+ export default function MessageList(props: {
18
18
  messages: Array<{
19
19
  id: string;
20
20
  from: {
@@ -10,7 +10,7 @@
10
10
  * @param {(message: any) => import('react').ReactNode} [props.renderBody] el texto a su manera (HTML ya limpio por el proyecto)
11
11
  * @param {object} [props.texts] los textos que cambian, con la forma de `inbox` en los textos del paquete
12
12
  */
13
- export default function MessageView({ message, actions, footer, onAttachmentClick, onExpand, renderBody, texts }: {
13
+ export default function MessageView(props: {
14
14
  message: {
15
15
  id?: string;
16
16
  subject: string;
@@ -15,6 +15,7 @@ export { MINIMAL_BACKGROUND, MINIMAL_TONES } from './theme/components/minimalCom
15
15
  export { STACKCRAFT, stackcraftDarkPalette, stackcraftLightPalette } from './theme/stackcraftPalette.js';
16
16
  export { toolkitComponents } from './theme/toolkitComponents.js';
17
17
  export { mergeComponents } from './theme/mergeComponents.js';
18
+ export { CSS_TOKENS, cssTokenDeclarationsOf, cssTokenOf } from './theme/cssTokens.js';
18
19
  export { GLASS_INSET_PIXELS, GLASS_MENU_RADIUS_PIXELS, GLASS_OPACITY, GLASS_PANEL_RADIUS_PIXELS, ambientBackgroundOf, glassDropOf, glassStylesOf, glassSurfaceOf, FIELD_TONES, accentTextStylesOf, canvasFieldStylesOf, fieldPaletteOf, fieldWellStylesOf, fixedBackgroundLayerOf, isGlassTheme, materialBackgroundOf, materialStylesOf, materialSurfaceOf, scrollEdgeStylesOf, } from './theme/glassSurface.js';
19
20
  export { AppLayout, MENU_POSITION } from './appShell/AppLayout.js';
20
21
  export { AuthLayout } from './appShell/AuthLayout.js';
@@ -12,7 +12,7 @@
12
12
  * @param {import('react').Ref<HTMLInputElement>} [props.inputRef]
13
13
  * @param {object} [props.texts] los textos que cambian, con la forma de `common` en los textos del paquete
14
14
  */
15
- export default function ColorInput({ name, label, value, onChange, onBlur, error, helperText, checkContrast, disabled, inputRef, texts, }: {
15
+ export default function ColorInput(props: {
16
16
  name?: string;
17
17
  label: string;
18
18
  value: string | null | undefined;
@@ -10,7 +10,7 @@ export declare const FORM_ROW_CLASS = "calcita-form-row";
10
10
  * @param {string} [props.labelId] el id de la etiqueta (para un campo que la nombra con aria-labelledby)
11
11
  * @param {import('react').ReactNode} props.children
12
12
  */
13
- export declare function FormRow({ label, htmlFor, labelId, children }: {
13
+ export declare function FormRow(props: {
14
14
  label: import('react').ReactNode;
15
15
  htmlFor?: string;
16
16
  labelId?: string;
@@ -22,7 +22,7 @@ export declare function FormRow({ label, htmlFor, labelId, children }: {
22
22
  * @param {import('react').ReactNode} [props.footer] la explicación, abajo de la tarjeta
23
23
  * @param {import('react').ReactNode} props.children los campos, directo o dentro de un Grid, un Stack o un componente propio
24
24
  */
25
- export default function FormSection({ title, footer, children }: {
25
+ export default function FormSection(props: {
26
26
  title?: string;
27
27
  footer?: import('react').ReactNode;
28
28
  children: import('react').ReactNode;
@@ -14,7 +14,7 @@
14
14
  * @param {boolean} [props.multiple] elegir varias opciones
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 SelectInput({ name, label, value, onChange, onBlur, options, error, helperText, placeholder, disabled, inputRef, multiple, texts, }: {
17
+ export default function SelectInput(props: {
18
18
  name?: string;
19
19
  label: string;
20
20
  value: string | number | Array<string | number> | null | undefined;
@@ -28,7 +28,7 @@
28
28
  * @param {object} [props.sx]
29
29
  * @param {object} [props.texts] los textos que cambian, con la forma de `common` en los textos del paquete
30
30
  */
31
- export default function TextInput({ name, label, value, onChange, onBlur, error, type, helperText, startAdornment, endAdornment: customEndAdornment, uppercase, normalizeOnBlur, inputRef, clearable, texts, ...textFieldProps }: {
31
+ export default function TextInput(props: {
32
32
  name?: string;
33
33
  label: string;
34
34
  value: string | null | undefined;
@@ -15,7 +15,7 @@
15
15
  * @param {import('react').ReactNode} [props.problemAlert] el aviso de errores del servidor, arriba de los botones del último paso
16
16
  * @param {object} [props.texts] los textos que cambian, con la forma de `common`: {wizard: {next, back, skip, optional, skipped, stepOf}}
17
17
  */
18
- export default function WizardLayout({ steps, activeIndex, skippedKeys, isSubmitting, onBack, onNext, onSkip, submitButton, problemAlert, texts, }: {
18
+ export default function WizardLayout(props: {
19
19
  steps: {
20
20
  key: string;
21
21
  label: string;
@@ -21,7 +21,7 @@
21
21
  * @param {string} props.ariaLabel ya traducido
22
22
  * @param {object} [props.texts] los textos que cambian, con la forma de `kanban` en los textos del paquete
23
23
  */
24
- export default function KanbanBoard({ columns, cards, onMove, renderCard, onCardClick, onAddCard, cardActions, columnActions, onCardComplete, onColumnCollapse, ariaLabel, texts, }: {
24
+ export default function KanbanBoard(props: {
25
25
  columns: Array<{
26
26
  id: string;
27
27
  title: string;
@@ -18,7 +18,7 @@ export declare const OPEN_STREET_MAP_TILES: Readonly<{
18
18
  * @param {import('react').ReactNode} [props.children] capas propias de react-leaflet (Circle, Polygon, GeoJSON…)
19
19
  * @param {object} [props.mapProps] lo demás de MapContainer de react-leaflet (scrollWheelZoom, minZoom…)
20
20
  */
21
- export default function MapView({ markers, selectedId, onSelect, ariaLabel, height, tileLayer, renderPopup, onMapClick, children, mapProps, }: {
21
+ export default function MapView(props: {
22
22
  markers: Array<{
23
23
  id: string;
24
24
  position: [number, number];
@@ -12,7 +12,7 @@ export declare function variantHasInstructions(variant: string | null): boolean;
12
12
  * @param {() => void} props.onClose
13
13
  * @param {object} [props.texts] los textos que cambian, con la forma de `common` en los textos del paquete
14
14
  */
15
- export default function InstallInstructionsDialog({ variant, open, onClose, texts }: {
15
+ export default function InstallInstructionsDialog(props: {
16
16
  variant: string | null;
17
17
  open: boolean;
18
18
  onClose: () => void;
@@ -7,7 +7,7 @@
7
7
  * @param {() => void} [props.onDismiss] dijo «Ahora no» (o cerró los pasos): no se le vuelve a ofrecer en este navegador
8
8
  * @param {object} [props.texts] los textos que cambian, con la forma de `common` en los textos del paquete
9
9
  */
10
- export default function InstallPromptBanner({ message, onInstallChoice, onShowSteps, onDismiss, texts }?: {
10
+ export default function InstallPromptBanner(props?: {
11
11
  message?: string;
12
12
  onInstallChoice?: (outcome: 'accepted' | 'dismissed' | null) => void;
13
13
  onShowSteps?: () => void;
@@ -19,7 +19,7 @@ export declare const ACCOUNT_EVENT_KIND: Readonly<{
19
19
  * @param {string|null} [props.error] ya traducido si no se pudieron traer
20
20
  * @param {object} [props.texts] los textos que cambian, con la forma de `security` en los textos del paquete
21
21
  */
22
- export default function ActivityLog({ events, error, texts }: {
22
+ export default function ActivityLog(props: {
23
23
  events: Array<{
24
24
  id: string;
25
25
  kind: string;
@@ -7,7 +7,7 @@
7
7
  * seguridad)
8
8
  * @param {object} [props.texts] los textos que cambian, con la forma de `security` en los textos del paquete
9
9
  */
10
- export default function RecoveryCodesDialog({ codes, account, onClose, onCodesSaved, texts }: {
10
+ export default function RecoveryCodesDialog(props: {
11
11
  codes: string[] | null;
12
12
  account?: string;
13
13
  onClose: () => void;
@@ -7,7 +7,7 @@
7
7
  * @param {() => void} [props.onClosed] p. ej. volver a pedir la lista
8
8
  * @param {object} [props.texts] los textos que cambian, con la forma de `security` en los textos del paquete
9
9
  */
10
- export default function SessionsCard({ sessions, error, onCloseOthers, onClosed, texts }: {
10
+ export default function SessionsCard(props: {
11
11
  sessions: Array<{
12
12
  id: string;
13
13
  browser?: string | null;
@@ -38,11 +38,15 @@ export declare const TOP_BAR: Readonly<{
38
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
39
  * paleta de cada modo (palette.field), así que también se pueden escribir en colorSchemes y cambian solos con el modo.
40
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
41
45
  * @param {object} [options.components] ajustes propios de componentes (se suman; en el mismo estilo ganan los del proyecto)
42
46
  * @param {object} [options.overrides] cualquier otra cosa de createTheme (breakpoints, spacing…)
43
47
  * @returns {object} el tema de MUI
44
48
  */
45
- export declare function createToolkitTheme({ colorSchemes, colorSchemeSelector, fontFamily, glass, look, bar, minimalTones, fields, components, overrides, }?: {
49
+ export declare function createToolkitTheme({ colorSchemes, colorSchemeSelector, fontFamily, glass, look, bar, minimalTones, fields, cssTokens, components, overrides, }?: {
46
50
  colorSchemes?: {
47
51
  light?: object | boolean;
48
52
  dark?: object | boolean;
@@ -84,6 +88,13 @@ export declare function createToolkitTheme({ colorSchemes, colorSchemeSelector,
84
88
  hoverBorder?: string;
85
89
  };
86
90
  };
91
+ cssTokens?: {
92
+ panelRadius?: number | string;
93
+ menuRadius?: number | string;
94
+ fieldRadius?: number | string;
95
+ glassBlur?: number | string;
96
+ glassSaturate?: number | string;
97
+ };
87
98
  components?: object;
88
99
  overrides?: object;
89
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
@@ -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({ label, actions, icon, size }: {
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({ formats, download, label, downloadLabel, disabled, confirmation, onDownloaded, onFailed, onCanceled, variant, ariaLabel, onChooseFormat, icon: ButtonIcon, }: {
28
+ export default function DownloadMenu(props: {
29
29
  formats: string[];
30
30
  download: (format: string, transferOptions: {
31
31
  signal: AbortSignal;