@trii/components 3.1.9 → 3.1.12

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 (83) hide show
  1. package/dist/cjs/index.js +199 -43
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/theme.js +13 -0
  4. package/dist/cjs/theme.js.map +1 -1
  5. package/dist/esm/index.js +200 -44
  6. package/dist/esm/index.js.map +1 -1
  7. package/dist/esm/theme.js +13 -0
  8. package/dist/esm/theme.js.map +1 -1
  9. package/dist/index.d.ts +30 -2
  10. package/dist/integration-button-icons-build.log +36 -0
  11. package/dist/integration-button-icons-bundle.log +24 -0
  12. package/dist/integration-button-icons-types.log +29 -0
  13. package/dist/sidebar-fixes-all-tests.log +261 -0
  14. package/dist/sidebar-fixes-baseline.log +29 -0
  15. package/dist/sidebar-fixes-build.log +32 -0
  16. package/dist/sidebar-fixes-tests.log +57 -0
  17. package/dist/sidebar-fixes-types.log +4 -0
  18. package/dist/sidebar-panel-tests.log +356 -0
  19. package/dist/tab-scroll-build.log +32 -0
  20. package/dist/tab-scroll-tests.log +58 -0
  21. package/dist/tabs-all-tests.log +330 -0
  22. package/dist/tabs-build.log +32 -0
  23. package/dist/tabs-format.log +24 -0
  24. package/dist/tabs-tests.log +85 -0
  25. package/dist/tabs-types.log +4 -0
  26. package/dist/tabs-ui-tests.log +84 -0
  27. package/dist/types/components/ContactSidebar/SidebarContent.d.ts +2 -2
  28. package/dist/types/components/ContactSidebar/components/MediaViewer/MediaViewer.d.ts +2 -1
  29. package/dist/types/components/ContactSidebar/components/PanelView/PanelView.d.ts +2 -1
  30. package/dist/types/components/ContactSidebar/components/PanelView/components/BotsInfo/BotsInfo.d.ts +2 -2
  31. package/dist/types/components/ContactSidebar/components/PanelView/components/BotsInfo/components/DataItem/DataItem.d.ts +3 -3
  32. package/dist/types/components/ContactSidebar/components/PanelView/components/ContactButton/components/ButtonsListItem/ButtonsListItem.d.ts +1 -1
  33. package/dist/types/components/ContactSidebar/components/PanelView/components/ContactButton/components/TemplateRenderer/TemplateRenderer.d.ts +1 -1
  34. package/dist/types/components/ContactSidebar/components/PanelView/components/ContactConversation/styles.d.ts +1 -1
  35. package/dist/types/components/ContactSidebar/components/PanelView/components/ContactData/components/Contact/AddressCard.d.ts +19 -0
  36. package/dist/types/components/ContactSidebar/components/PanelView/components/ContactData/components/Contact/Contact.d.ts +3 -2
  37. package/dist/types/components/ContactSidebar/components/PanelView/components/ContactData/components/Contact/CopyAddress.d.ts +3 -0
  38. package/dist/types/components/ContactSidebar/components/PanelView/components/ContactData/components/Properties/Properties.d.ts +2 -1
  39. package/dist/types/components/ContactSidebar/components/PanelView/components/ContactDataDetails/ContactDataDetails.d.ts +1 -4
  40. package/dist/types/components/ContactSidebar/components/PanelView/components/ContactEvent/components/AddEvent/styles.d.ts +1 -1
  41. package/dist/types/components/ContactSidebar/components/PanelView/components/ContactMedia/ContactMedia.d.ts +2 -3
  42. package/dist/types/components/ContactSidebar/components/PanelView/components/ContactMedia/components/AudioMessage/AudioMessage.d.ts +5 -7
  43. package/dist/types/components/ContactSidebar/components/PanelView/components/ContactMedia/components/AudioMessage/utils/getNewWaveSurfer.d.ts +1 -1
  44. package/dist/types/components/ContactSidebar/components/PanelView/components/ContactMedia/components/Image/Image.d.ts +5 -10
  45. package/dist/types/components/ContactSidebar/components/PanelView/components/ContactMedia/mediaEntries.d.ts +10 -0
  46. package/dist/types/components/ContactSidebar/components/PanelView/components/ContactTask/components/AddTask/styles.d.ts +1 -1
  47. package/dist/types/components/ContactSidebar/components/PanelView/components/IntegrationButtonSearch/IntegrationButtonSearch.d.ts +4 -0
  48. package/dist/types/components/ContactSidebar/components/SidebarLoadError.d.ts +3 -0
  49. package/dist/types/components/ContactSidebar/components/referencePanelStyles.d.ts +4 -0
  50. package/dist/types/components/ContactSidebar/components/verticalTabsStyles.d.ts +11 -0
  51. package/dist/types/components/ContactSidebar/context/MediaViewerContext.d.ts +1 -1
  52. package/dist/types/components/ContactSidebar/context/SidebarDataContext.d.ts +6 -15
  53. package/dist/types/components/ContactSidebar/context/SidebarPropsContext.d.ts +2 -0
  54. package/dist/types/components/ContactSidebar/hooks/useConversationHistory.d.ts +16 -0
  55. package/dist/types/components/ContactSidebar/hooks/useSidebarScope.d.ts +5 -0
  56. package/dist/types/components/ContactSidebar/i18n/useMediaText.d.ts +2 -0
  57. package/dist/types/components/ContactSidebar/i18n/useReferenceText.d.ts +3 -0
  58. package/dist/types/components/ContactSidebar/services/buttonsApi.d.ts +1 -1
  59. package/dist/types/components/ContactSidebar/utils/contactChannels.d.ts +52 -0
  60. package/dist/types/components/ContactSidebar/utils/conversationPresentation.d.ts +8 -0
  61. package/dist/types/components/EditContactModal/components/SearchLocation/SearchLocationEditor.d.ts +2 -1
  62. package/dist/types/components/EditContactModal/components/Section/AddressInformation/AddressInformation.d.ts +2 -3
  63. package/dist/types/components/EditContactModal/components/Section/ContactInformation/components/ContactMethod/ContactMethod.d.ts +5 -8
  64. package/dist/types/components/EditContactModal/components/Section/ContactInformation/components/ContactMethod/SubscriptionDialog.d.ts +11 -0
  65. package/dist/types/components/EditContactModal/components/Section/ContactInformation/components/EditModal/components/Phones/components/Body/components/Phone/components/OptionsMenu/OptionsMenu.d.ts +2 -1
  66. package/dist/types/components/EditContactModal/components/Section/ContactInformation/components/EditModal/layout/InformationSocialNetworkItem/components/Body/components/Ims/style.d.ts +6 -0
  67. package/dist/types/components/EditContactModal/components/Section/ContactInformation/components/EditModal/shared/InformationItemContainer/InformationItemContainer.d.ts +4 -0
  68. package/dist/types/components/EditContactModal/components/Section/ContactInformation/components/EditModal/shared/InformationItemContainer/style.d.ts +6 -3
  69. package/dist/types/components/EditContactModal/components/Section/ContactInformation/components/EditModal/shared/InformationItemInputsContainer/style.d.ts +8 -3
  70. package/dist/types/components/EditContactModal/components/Section/ContactInformation/components/EditModal/shared/NoteDeleteButton/style.d.ts +5 -5
  71. package/dist/types/components/EditContactModal/components/Section/ContactInformation/components/EditModal/shared/SubsectionBodyContainer/style.d.ts +3 -6
  72. package/dist/types/components/EditContactModal/components/TagsEditor/TagsEditor.d.ts +6 -6
  73. package/dist/types/components/EditContactModal/context/EditContactApiContext.d.ts +8 -0
  74. package/dist/types/components/EditContactModal/layout/EditorSections.d.ts +16 -0
  75. package/dist/types/components/EditContactModal/layout/EditorViewPane.d.ts +8 -0
  76. package/dist/types/components/EditContactModal/services/api.d.ts +2 -0
  77. package/dist/types/components/IntegrationButtonIcon/IntegrationButtonIcon.d.ts +8 -0
  78. package/dist/types/components/IntegrationButtonIcon/catalog.d.ts +14 -0
  79. package/dist/types/components/IntegrationButtonIcon/colors.d.ts +5 -0
  80. package/dist/types/components/IntegrationButtonIcon/index.d.ts +6 -0
  81. package/dist/types/components/index.d.ts +1 -0
  82. package/dist/types/utils/contactOwner.d.ts +3 -0
  83. package/package.json +4 -3
package/dist/esm/theme.js CHANGED
@@ -364,9 +364,22 @@ const applySelectThemeComponents = (theme) => {
364
364
  const MuiComponentsConfig = (themeRedux, options = {}) => {
365
365
  const { transparentModal = false, autocompleteZIndex = 11 } = options;
366
366
  const bg = themeRedux.palette.background;
367
+ const tooltipBackground = bg.tooltip || themeRedux.palette.grey[900];
367
368
  const sharedTheme = createTheme$1({
368
369
  ...themeRedux,
369
370
  components: {
371
+ MuiTooltip: {
372
+ styleOverrides: {
373
+ tooltip: {
374
+ backgroundColor: tooltipBackground,
375
+ color: themeRedux.palette.getContrastText(tooltipBackground),
376
+ border: `1px solid ${themeRedux.palette.divider}`,
377
+ boxShadow: themeRedux.shadows[3],
378
+ fontSize: "0.75rem"
379
+ },
380
+ arrow: { color: tooltipBackground }
381
+ }
382
+ },
370
383
  MuiSelect: {
371
384
  defaultProps: {
372
385
  MenuProps: {
@@ -1 +1 @@
1
- {"version":3,"file":"theme.js","sources":["../../src/theme/darkThemeComponents.ts","../../src/theme/selectThemeComponents.ts","../../src/theme/MuiComponentsConfig.ts","../../src/theme/themeActionTypes.ts","../../src/theme/themePreference.ts","../../src/theme/themePersistence.ts","../../src/theme/themeProvider.ts","../../src/theme/themeSlice.ts"],"sourcesContent":["import { alpha, createTheme, Theme } from '@mui/material/styles';\n\n/** Aplica los ajustes de contraste compartidos exclusivamente en modo oscuro. */\nexport const applyDarkThemeComponents = (sharedTheme: Theme): Theme => {\n if (sharedTheme.palette.mode !== 'dark') return sharedTheme;\n\n const { palette } = sharedTheme;\n const strongOutline = alpha(palette.text.secondary, 0.5);\n const hoverOutline = alpha(palette.text.secondary, 0.72);\n\n return createTheme(sharedTheme, {\n components: {\n MuiSelect: {\n defaultProps: {\n MenuProps: {\n PaperProps: {\n sx: {\n backgroundColor: palette.background.dropdownMenu,\n backgroundImage: 'none',\n },\n },\n },\n },\n },\n MuiTypography: {\n styleOverrides: {\n // El microfrontend no controla el color del body de root. Mantener\n // un foreground explícito evita heredar texto oscuro del shell.\n root: { color: palette.text.primary },\n },\n },\n MuiPaper: {\n styleOverrides: {\n root: {\n backgroundColor: palette.background.paper,\n backgroundImage: 'none',\n },\n outlined: {\n borderColor: palette.divider,\n },\n },\n },\n MuiCard: {\n styleOverrides: {\n root: {\n backgroundColor: palette.background.paper,\n backgroundImage: 'none',\n borderColor: palette.divider,\n },\n },\n },\n MuiDialog: {\n styleOverrides: {\n paper: {\n backgroundColor: palette.background.dropdownMenu,\n backgroundImage: 'none',\n border: `1px solid ${palette.divider}`,\n },\n },\n },\n MuiDrawer: {\n styleOverrides: {\n paper: {\n backgroundColor: palette.background.dropdownMenu,\n backgroundImage: 'none',\n borderColor: palette.divider,\n },\n },\n },\n MuiPopover: {\n styleOverrides: {\n paper: {\n backgroundColor: palette.background.dropdownMenu,\n backgroundImage: 'none',\n border: `1px solid ${palette.divider}`,\n },\n },\n },\n MuiMenu: {\n styleOverrides: {\n paper: {\n backgroundColor: palette.background.dropdownMenu,\n backgroundImage: 'none',\n border: `1px solid ${palette.divider}`,\n },\n },\n },\n MuiOutlinedInput: {\n styleOverrides: {\n root: {\n backgroundColor: alpha(palette.background.default, 0.34),\n '& .MuiOutlinedInput-notchedOutline': {\n borderColor: strongOutline,\n },\n '&:hover .MuiOutlinedInput-notchedOutline': {\n borderColor: hoverOutline,\n },\n '&.Mui-focused .MuiOutlinedInput-notchedOutline': {\n borderColor: palette.primary.light,\n borderWidth: 2,\n },\n '&.Mui-disabled .MuiOutlinedInput-notchedOutline': {\n borderColor: alpha(palette.text.disabled, 0.36),\n },\n },\n input: {\n '&::placeholder': {\n color: palette.text.disabled,\n opacity: 1,\n },\n },\n },\n },\n MuiInputLabel: {\n styleOverrides: {\n root: {\n color: palette.text.secondary,\n '&.Mui-focused': { color: palette.primary.light },\n '&.Mui-disabled': { color: palette.text.disabled },\n },\n },\n },\n MuiButton: {\n styleOverrides: {\n root: {\n '&.Mui-disabled': {\n color: palette.text.disabled,\n borderColor: alpha(palette.text.disabled, 0.38),\n },\n },\n containedPrimary: {\n backgroundColor: palette.primary.main,\n color: palette.primary.contrastText,\n '&:hover': { backgroundColor: palette.primary.dark },\n },\n outlined: {\n color: palette.primary.light,\n borderColor: alpha(palette.primary.light, 0.72),\n '&:hover': {\n color: palette.primary.light,\n borderColor: palette.primary.light,\n backgroundColor: alpha(palette.primary.light, 0.1),\n },\n },\n textPrimary: {\n color: palette.primary.light,\n '&:hover': {\n backgroundColor: alpha(palette.primary.light, 0.1),\n },\n },\n },\n },\n MuiIconButton: {\n styleOverrides: {\n root: {\n color: palette.text.secondary,\n '&:hover': {\n color: palette.text.primary,\n backgroundColor: palette.action.hover,\n },\n '&.MuiIconButton-colorPrimary': { color: palette.primary.light },\n '&.MuiIconButton-colorError': { color: palette.error.light },\n '&.Mui-disabled': { color: palette.text.disabled },\n },\n },\n },\n MuiChip: {\n styleOverrides: {\n root: {\n color: palette.text.primary,\n backgroundColor: alpha(palette.text.primary, 0.07),\n borderColor: strongOutline,\n '& .MuiChip-icon': { color: 'inherit' },\n '&.MuiChip-colorSuccess': {\n color: palette.success.light,\n backgroundColor: palette.success.dark,\n borderColor: alpha(palette.success.light, 0.46),\n },\n '&.MuiChip-colorWarning': {\n color: palette.warning.light,\n backgroundColor: palette.warning.dark,\n borderColor: alpha(palette.warning.light, 0.46),\n },\n '&.MuiChip-colorError': {\n color: palette.error.light,\n backgroundColor: palette.error.dark,\n borderColor: alpha(palette.error.light, 0.46),\n },\n '&.MuiChip-colorInfo': {\n color: palette.info.light,\n backgroundColor: palette.info.dark,\n borderColor: alpha(palette.info.light, 0.46),\n },\n },\n },\n },\n MuiAlert: {\n styleOverrides: {\n root: { border: '1px solid currentColor' },\n standardSuccess: {\n color: palette.success.light,\n backgroundColor: palette.success.dark,\n },\n standardWarning: {\n color: palette.warning.light,\n backgroundColor: palette.warning.dark,\n },\n standardError: {\n color: palette.error.light,\n backgroundColor: palette.error.dark,\n },\n standardInfo: {\n color: palette.info.light,\n backgroundColor: palette.info.dark,\n },\n },\n },\n MuiTableHead: {\n styleOverrides: {\n root: { backgroundColor: palette.cellHeader },\n },\n },\n MuiTableCell: {\n styleOverrides: {\n root: { borderColor: palette.divider },\n head: { color: palette.text.primary, fontWeight: 700 },\n },\n },\n MuiTableRow: {\n styleOverrides: {\n root: {\n '&:hover': { backgroundColor: palette.action.hover },\n '&.Mui-selected': {\n backgroundColor: palette.action.selected,\n '&:hover': { backgroundColor: palette.action.selected },\n },\n },\n },\n },\n MuiTabs: {\n styleOverrides: {\n indicator: { backgroundColor: palette.primary.light },\n },\n },\n MuiTab: {\n styleOverrides: {\n root: {\n color: palette.text.secondary,\n '&.Mui-selected': { color: palette.primary.light },\n },\n },\n },\n MuiSwitch: {\n styleOverrides: {\n switchBase: {\n color: palette.text.disabled,\n '&.Mui-checked': {\n color: palette.primary.light,\n '& + .MuiSwitch-track': {\n backgroundColor: palette.primary.light,\n opacity: 0.5,\n },\n },\n },\n track: {\n backgroundColor: palette.text.disabled,\n opacity: 0.34,\n },\n },\n },\n MuiTooltip: {\n styleOverrides: {\n tooltip: {\n color: palette.text.primary,\n backgroundColor: palette.background.tooltip,\n border: `1px solid ${strongOutline}`,\n },\n arrow: { color: palette.background.tooltip },\n },\n },\n MuiDivider: {\n styleOverrides: {\n root: { borderColor: palette.divider },\n },\n },\n MuiLink: {\n styleOverrides: {\n root: { color: palette.primary.light },\n },\n },\n },\n });\n};\n","import { alpha, createTheme, Theme } from '@mui/material/styles';\n\n/** Shared surfaces for selects, autocomplete results and outlined fields. */\nexport const applySelectThemeComponents = (theme: Theme): Theme => {\n const { palette } = theme;\n const surface = {\n backgroundColor: palette.background.paper,\n backgroundImage: 'none',\n color: palette.text.primary,\n border: `1px solid ${palette.divider}`,\n borderRadius: 10,\n boxShadow: theme.shadows[6],\n };\n const option = {\n borderRadius: 6,\n margin: '2px 0',\n padding: '8px 10px',\n '&:hover, &.Mui-focused, &.Mui-focusVisible': {\n backgroundColor: palette.action.hover,\n },\n '&[aria-selected=\"true\"], &.Mui-selected': {\n backgroundColor: palette.action.selected,\n '&:hover, &.Mui-focused, &.Mui-focusVisible': {\n backgroundColor: palette.action.selected,\n },\n },\n '&[aria-disabled=\"true\"], &.Mui-disabled': {\n backgroundColor: 'transparent',\n },\n };\n return createTheme(theme, {\n components: {\n MuiSelect: {\n defaultProps: { MenuProps: { PaperProps: { sx: surface } } },\n },\n MuiAutocomplete: {\n styleOverrides: {\n paper: { ...surface, margin: '6px 0' },\n listbox: { padding: 6, '& .MuiAutocomplete-option': option },\n },\n },\n MuiMenu: {\n styleOverrides: {\n paper: surface,\n list: { padding: 6, '& .MuiMenuItem-root': option },\n },\n },\n MuiOutlinedInput: {\n styleOverrides: {\n root: {\n backgroundColor: 'transparent',\n borderRadius: 8,\n transition: theme.transitions.create(['background-color', 'box-shadow']),\n '&:hover:not(.Mui-disabled)': { backgroundColor: palette.action.hover },\n '&.Mui-focused': { backgroundColor: palette.action.hover },\n '&.Mui-focused .MuiOutlinedInput-notchedOutline': {\n borderColor: palette.mode === 'dark' ? palette.primary.light : palette.primary.main,\n borderWidth: 1,\n },\n '&.Mui-error .MuiOutlinedInput-notchedOutline, &.Mui-error:hover .MuiOutlinedInput-notchedOutline': {\n borderColor: palette.error.main,\n },\n '&.Mui-disabled .MuiOutlinedInput-notchedOutline': {\n borderColor: alpha(palette.text.disabled, 0.36),\n },\n },\n },\n },\n },\n });\n};\n","import { createTheme, Theme } from '@mui/material';\nimport { applyDarkThemeComponents } from './darkThemeComponents';\nimport { applySelectThemeComponents } from './selectThemeComponents';\r\n\r\n/**\r\n * Ajustes que difieren entre apps. Los valores por defecto son los que ya\r\n * usaba el paquete, asi que omitir las opciones no cambia nada.\r\n */\r\nexport interface MuiComponentsConfigOptions {\r\n /**\r\n * Fondo del modal y su backdrop en transparente. Lo usan header y home;\r\n * contacts lo tenia desactivado a proposito.\r\n */\r\n transparentModal?: boolean;\r\n /** z-index del popper del Autocomplete. Header necesita 1; el resto, 11. */\r\n autocompleteZIndex?: number;\r\n}\r\n\r\nconst MuiComponentsConfig = (\r\n themeRedux: Theme,\r\n options: MuiComponentsConfigOptions = {}\r\n): Theme => {\r\n const { transparentModal = false, autocompleteZIndex = 11 } = options;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const bg = themeRedux.palette.background as any;\r\n\r\n const sharedTheme = createTheme({\r\n ...themeRedux,\r\n components: {\r\n MuiSelect: {\r\n defaultProps: {\r\n MenuProps: {\r\n PaperProps: {\r\n sx: {\r\n backgroundColor: bg.panel,\r\n backgroundImage:\r\n 'linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))',\r\n },\r\n },\r\n },\r\n },\r\n },\r\n MuiAutocomplete: {\r\n styleOverrides: {\r\n popper: {\r\n zIndex: autocompleteZIndex,\r\n },\r\n },\r\n },\r\n MuiPaper: {\r\n styleOverrides: {\r\n root: {\r\n backgroundColor: bg.panel,\r\n backgroundImage:\r\n 'linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))',\r\n },\r\n },\r\n },\r\n MuiMenu: {\r\n styleOverrides: {\r\n paper: {\r\n backgroundColor: bg.panel,\r\n backgroundImage:\r\n 'linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))',\r\n },\r\n },\r\n },\r\n MuiList: {\r\n styleOverrides: {\r\n root: {\r\n padding: 0,\r\n },\r\n },\r\n },\r\n MuiModal: {\r\n styleOverrides: {\r\n root: transparentModal\r\n ? {\r\n background: 'transparent',\r\n '& .MuiBackdrop-root': {\r\n background: 'transparent',\r\n border: 'none',\r\n },\r\n }\r\n : {},\r\n },\r\n },\r\n MuiTypography: {\r\n styleOverrides: {\r\n root: {\r\n color: themeRedux.palette.text.primary,\r\n },\r\n },\r\n },\r\n MuiChip: {\r\n styleOverrides: {\r\n root: {\r\n color: themeRedux.palette.text.primary,\r\n border: '1px solid rgba(0, 0, 0, 0.1)',\r\n borderRadius: '4px',\r\n height: '20px',\r\n fontSize: '0.7125rem',\r\n },\r\n },\r\n },\r\n MuiListSubheader: {\r\n styleOverrides: {\r\n root: {\r\n backgroundColor: bg.accordionHeader,\r\n },\r\n },\r\n },\r\n MuiButton: {\r\n styleOverrides: {\r\n outlined: {\r\n color:\r\n themeRedux.palette.mode === 'light'\r\n ? themeRedux.palette.primary.dark\r\n : themeRedux.palette.primary.light,\r\n borderColor:\r\n themeRedux.palette.mode === 'light'\r\n ? themeRedux.palette.primary.dark\r\n : themeRedux.palette.primary.light,\r\n '&:hover': {\r\n borderColor:\r\n themeRedux.palette.mode === 'light'\r\n ? themeRedux.palette.primary.main\r\n : themeRedux.palette.primary.light,\r\n color:\r\n themeRedux.palette.mode === 'light'\r\n ? themeRedux.palette.primary.main\r\n : themeRedux.palette.primary.light,\r\n },\r\n },\r\n },\r\n },\r\n },\r\n });\r\n\r\n return applySelectThemeComponents(applyDarkThemeComponents(sharedTheme));\r\n};\r\n\r\nexport default MuiComponentsConfig;\r\n\r\n","import { createAction } from '@reduxjs/toolkit';\nimport type { ThemeName } from './themePreference';\n\n// The reducer handles the fulfilled action without importing the HTTP thunk.\nexport const UPDATE_THEME_TYPE = 'Theme/updateTheme';\nexport const themeUpdateFulfilled = /*#__PURE__*/ createAction<{ theme: ThemeName }>(\n `${UPDATE_THEME_TYPE}/fulfilled`\n);\r\n","\nexport type ThemePreference = 'light' | 'dark' | 'system';\nexport type ResolvedTheme = 'light' | 'dark';\nexport const THEME_PREFERENCES: readonly ThemePreference[] = ['light', 'dark', 'system'];\nexport const LEGACY_THEME_NAMES = [\"lightBlueIndigo\",\"lightBlue\",\"lightRed\",\"lightGreen\",\"lightPink\",\"lightPurple\",\"lightTeal\",\"lightLime\",\"lightYellow\",\"lightAmber\",\"lightOrange\",\"lightBrown\",\"lightGray\",\"darkBlue\",\"darkBlack\"] as const;\nexport type LegacyThemeName = typeof LEGACY_THEME_NAMES[number];\nexport type ThemeName = ThemePreference | LegacyThemeName;\n\nexport const isValidThemeName = (name: string): name is ThemeName =>\n (THEME_PREFERENCES as readonly string[]).includes(name) || (LEGACY_THEME_NAMES as readonly string[]).includes(name);\n\n/** Missing/unknown preferences follow the OS. Existing choices keep their mode. */\nexport const normalizeThemePreference = (name?: string | null): ThemePreference => {\n if (name === 'light' || name === 'dark' || name === 'system') return name;\n if (name && (LEGACY_THEME_NAMES as readonly string[]).includes(name)) return name.startsWith('dark') ? 'dark' : 'light';\n return 'system';\n};\nconst systemMedia = (): MediaQueryList | undefined =>\n typeof window !== 'undefined' && typeof window.matchMedia === 'function'\n ? window.matchMedia('(prefers-color-scheme: dark)') : undefined;\nexport const resolveThemePreference = (preference: ThemePreference, systemDark = systemMedia()?.matches ?? false): ResolvedTheme =>\n preference === 'system' ? (systemDark ? 'dark' : 'light') : preference;\n\n/** Emits immediately; caller must unsubscribe on unmount/preference change.\n * Does not persist or call an API when the OS appearance changes.\n */\nexport const observeThemePreference = (preference: ThemePreference, listener: (mode: ResolvedTheme) => void): (() => void) => {\n if (preference !== 'system') { listener(preference); return () => {}; }\n const media = systemMedia();\n listener(resolveThemePreference(preference, media?.matches ?? false));\n if (!media) return () => {};\n const change = (event: MediaQueryListEvent) => listener(event.matches ? 'dark' : 'light');\n if (typeof media.addEventListener === 'function') {\n media.addEventListener('change', change);\n return () => media.removeEventListener('change', change);\n }\n media.addListener(change);\n return () => media.removeListener(change);\n};\n","import { createAsyncThunk } from '@reduxjs/toolkit';\nimport axios from 'axios';\nimport type { ThemeRootState } from './themeSlice';\nimport { isValidThemeName, ThemeName } from './themePreference';\nimport { UPDATE_THEME_TYPE } from './themeActionTypes';\n\nconst themeUrl = (spaceId: string) =>\n `https://agent-api.trii.app/api/v1/settings/${spaceId}/user/setTheme`;\n\n/** Guarda el tema elegido en el backend. */\nexport const updateTheme = /*#__PURE__*/ createAsyncThunk<\n { theme: ThemeName },\n ThemeName,\n { state: ThemeRootState }\n>(UPDATE_THEME_TYPE, async (theme, { getState }) => {\n const { uid = '', spaceId = '' } = getState().User.user ?? {};\n const themeJson = JSON.stringify({ theme, uid });\n\n const response = await axios.put<{ theme: ThemeName }>(\n themeUrl(spaceId),\n themeJson,\n { headers: { 'Content-Type': 'application/json' } }\n );\n if (!isValidThemeName(response.data.theme)) throw new Error('Invalid theme response');\n return response.data;\n});\n\n","import { createTheme, Theme } from '@mui/material'\r\n\r\n// ─── Extensión de tipos de MUI ──────────────────────────────────────────────\r\ndeclare module '@mui/material/styles' {\r\n interface TypeBackground {\r\n mainCenter: string;\r\n mainGradient: string;\r\n navMenu: string;\r\n dropdownMenu: string;\r\n panel: string;\r\n tooltip: string;\r\n accordionHeader: string;\r\n panelHeader: string;\r\n panelCenter: string;\r\n panelGradient: string;\r\n selectedItem: string;\r\n }\r\n\r\n interface TypeText {\r\n colorMain: string;\r\n }\r\n\r\n interface Palette {\r\n containerBox: {\r\n default: string;\r\n main: string;\r\n };\r\n dropdownBox: string;\r\n color: {\r\n icons: string;\r\n };\r\n cellHeader: string;\r\n Skeleton: {\r\n bg: string;\r\n };\r\n messageBox: string;\r\n boxShadow: string;\r\n disabled: string;\r\n }\r\n\r\n interface PaletteOptions {\r\n containerBox?: {\r\n default?: string;\r\n main?: string;\r\n };\r\n dropdownBox?: string;\r\n color?: {\r\n icons?: string;\r\n };\r\n cellHeader?: string;\r\n Skeleton?: {\r\n bg?: string;\r\n };\r\n messageBox?: string;\r\n boxShadow?: string;\r\n disabled?: string;\r\n }\r\n\r\n interface Theme {\r\n name?: string;\r\n }\r\n\r\n interface ThemeOptions {\r\n name?: string;\r\n }\r\n}\r\n// ────────────────────────────────────────────────────────────────────────────\r\n\r\n\n// Two curated palettes. Primary actions keep the same blue in both modes.\nconst primary = { main: '#246FB5', light: '#78B7F2', dark: '#195A96', contrastText: '#FFFFFF' };\n\nexport const lightTheme: Theme = createTheme({\n name: 'light',\n palette: {\n mode: 'light', contrastThreshold: 4.5, primary,\n secondary: { main: '#526078', light: '#728099', dark: '#38445A', contrastText: '#FFFFFF' },\n error: { main: '#BD3446', light: '#FCECEF', dark: '#932536', contrastText: '#FFFFFF' },\n warning: { main: '#946000', light: '#FFF5DF', dark: '#704800', contrastText: '#FFFFFF' },\n info: { main: '#176B9B', light: '#EAF4FC', dark: '#125174', contrastText: '#FFFFFF' },\n success: { main: '#237547', light: '#EAF6EE', dark: '#185935', contrastText: '#FFFFFF' },\n background: {\n default: '#F4F6FA', paper: '#FFFFFF', mainCenter: '#F4F6FA',\n mainGradient: 'linear-gradient(120deg, #195A96, #246FB5)',\n navMenu: '#EDF1F7', dropdownMenu: '#FFFFFF', panel: '#FFFFFF',\n tooltip: '#EDF1F7', accordionHeader: '#EDF1F7', panelHeader: '#EDF1F7',\n panelCenter: '#F8FAFD', panelGradient: '#EDF1F7', selectedItem: '#E5EFFA'\n },\n text: { primary: '#202C3E', secondary: '#526078', disabled: '#7C8798', colorMain: '#202C3E' },\n action: { active: '#526078', hover: 'rgba(36, 111, 181, 0.06)', selected: 'rgba(36, 111, 181, 0.12)', disabled: '#8893A3', disabledBackground: '#E8ECF2' },\n divider: '#D7DEE9', containerBox: { default: '#FFFFFF', main: '#F8FAFD' },\n dropdownBox: '#FFFFFF', color: { icons: '#526078' }, cellHeader: '#EDF1F7',\n Skeleton: { bg: '#E4EAF2' }, messageBox: '#E5EFFA', boxShadow: 'rgba(25, 42, 66, 0.12)', disabled: '#8893A3'\n }\n});\n\nexport const darkTheme: Theme = createTheme({\n name: 'dark',\n palette: {\n mode: 'dark', contrastThreshold: 4.5, primary,\n secondary: { main: '#B7B5D9', light: '#D6D4EF', dark: '#46415F', contrastText: '#171824' },\n error: { main: '#F06B7A', light: '#FF9AA8', dark: '#4A1D24', contrastText: '#2B0D12' },\n warning: { main: '#E5A93B', light: '#FFD27A', dark: '#493515', contrastText: '#2A1B05' },\n info: { main: '#4FAFE8', light: '#7CCBFF', dark: '#123955', contrastText: '#082033' },\n success: { main: '#43C17A', light: '#75E0A7', dark: '#143D2B', contrastText: '#092116' },\n background: {\n default: '#111520', paper: '#1B2333', mainCenter: '#151C2A',\n mainGradient: 'linear-gradient(120deg, #131B2B, #242237)',\n navMenu: '#0E121C', dropdownMenu: '#252D40', panel: '#1B2333',\n tooltip: '#30384F', accordionHeader: '#20283A', panelHeader: '#20283A',\n panelCenter: '#222B3E', panelGradient: '#2C2B40', selectedItem: '#293E59'\n },\n text: { primary: '#F1F4FA', secondary: '#BBC6D8', disabled: '#8793A6', colorMain: '#F1F4FA' },\n action: { active: '#BBC6D8', hover: 'rgba(241, 244, 250, 0.07)', selected: 'rgba(120, 183, 242, 0.16)', disabled: 'rgba(187, 198, 216, 0.45)', disabledBackground: 'rgba(187, 198, 216, 0.10)' },\n divider: 'rgba(187, 198, 216, 0.22)', containerBox: { default: '#1B2333', main: '#222B3E' },\n dropdownBox: '#252D40', color: { icons: '#BBC6D8' }, cellHeader: '#20283A',\n Skeleton: { bg: '#30384F' }, messageBox: '#203953', boxShadow: 'rgba(0, 0, 0, 0.40)', disabled: 'rgba(187, 198, 216, 0.45)'\n }\n});\n\n// Keep export names and theme.name for older selectors. Palettes are unified.\n/** @deprecated Use lightTheme. */\nexport const lightBlueIndigo: Theme = { ...lightTheme, name: 'lightBlueIndigo' };\n/** @deprecated Use lightTheme. */\nexport const lightBlue: Theme = { ...lightTheme, name: 'lightBlue' };\n/** @deprecated Use lightTheme. */\nexport const lightRed: Theme = { ...lightTheme, name: 'lightRed' };\n/** @deprecated Use lightTheme. */\nexport const lightGreen: Theme = { ...lightTheme, name: 'lightGreen' };\n/** @deprecated Use lightTheme. */\nexport const lightPink: Theme = { ...lightTheme, name: 'lightPink' };\n/** @deprecated Use lightTheme. */\nexport const lightPurple: Theme = { ...lightTheme, name: 'lightPurple' };\n/** @deprecated Use lightTheme. */\nexport const lightTeal: Theme = { ...lightTheme, name: 'lightTeal' };\n/** @deprecated Use lightTheme. */\nexport const lightLime: Theme = { ...lightTheme, name: 'lightLime' };\n/** @deprecated Use lightTheme. */\nexport const lightYellow: Theme = { ...lightTheme, name: 'lightYellow' };\n/** @deprecated Use lightTheme. */\nexport const lightAmber: Theme = { ...lightTheme, name: 'lightAmber' };\n/** @deprecated Use lightTheme. */\nexport const lightOrange: Theme = { ...lightTheme, name: 'lightOrange' };\n/** @deprecated Use lightTheme. */\nexport const lightBrown: Theme = { ...lightTheme, name: 'lightBrown' };\n/** @deprecated Use lightTheme. */\nexport const lightGray: Theme = { ...lightTheme, name: 'lightGray' };\n/** @deprecated Use darkTheme. */\nexport const darkBlue: Theme = { ...darkTheme, name: 'darkBlue' };\n/** @deprecated Use darkTheme. */\nexport const darkBlack: Theme = { ...darkTheme, name: 'darkBlack' };\n","import { createSlice, PayloadAction, Draft } from '@reduxjs/toolkit';\nimport { themeUpdateFulfilled } from './themeActionTypes';\nexport { updateTheme } from './themePersistence';\nimport { Theme } from '@mui/material';\nimport { lightTheme, darkTheme } from './themeProvider';\nimport { ThemeName, ThemePreference, ResolvedTheme, normalizeThemePreference, resolveThemePreference } from './themePreference';\nexport { isValidThemeName } from './themePreference';\nexport type { ThemeName } from './themePreference';\n\n\n/**\n * Forma mínima del store que necesita este slice: la app que lo use tiene que\n * tener `Theme` y `User.user.uid`.\n */\nexport interface ThemeRootState {\n User: {\n user: {\n uid: string;\n /** Requerido por `updateTheme`: la URL lo lleva en la ruta. */\n spaceId?: string;\n };\n };\n Theme: ThemeState;\n}\n\n/**\n * `trii-root-front` lee esta clave para pintar el fondo antes de montar los\n * micro-fronts. Si se deja de escribir, se ve un flash del tema equivocado.\n */\nconst THEME_STORAGE_KEY = 'trii-theme';\n\n/** Estado del slice. */\nexport interface ThemeState {\n themeSelected: Theme;\n preference: ThemePreference;\n darkMode: boolean;\n toggleStatus: 'idle' | 'toggled';\n}\n\n/** Lee el tema persistido; si no hay o falla, usa el de por defecto. */\nconst getSavedPreference = (): ThemePreference => {\n try { return normalizeThemePreference(localStorage.getItem(THEME_STORAGE_KEY)); } catch { return 'system'; }\n};\n\n/** Persiste el tema para que `trii-root-front` lo lea en el arranque. */\nconst saveTheme = (theme: ThemeName): void => {\n try {\n localStorage.setItem(THEME_STORAGE_KEY, theme);\n } catch {\n // sin localStorage el tema igual se aplica, solo no persiste\n }\n};\n\nconst savedPreference = getSavedPreference();\nconst savedMode = resolveThemePreference(savedPreference);\nconst initialState: ThemeState = {\n themeSelected: savedMode === 'dark' ? darkTheme : lightTheme,\n preference: savedPreference,\n darkMode: savedMode === 'dark',\n toggleStatus: 'idle',\n};\n\n/** Slice del tema. */\nconst themeSlice = createSlice({\n name: 'Theme',\n initialState,\n reducers: {\n /** Cambia el tema por nombre. */\n toggleTheme: (state, action: PayloadAction<ThemeName>): void => {\n applyPreference(state, action.payload);\n },\n /** Local update from observeThemePreference; never overwrite the saved system choice. */\n systemThemeChanged: (state, action: PayloadAction<ResolvedTheme>): void => {\n if (state.preference !== 'system') return;\n Object.assign(state, { themeSelected: action.payload === 'dark' ? darkTheme : lightTheme, darkMode: action.payload === 'dark', toggleStatus: 'toggled' });\n },\n /** Alterna el modo oscuro. */\n toggleModeTheme: (state): void => {\n applyPreference(state, state.darkMode ? 'light' : 'dark');\n },\n },\n extraReducers: (builder) => {\n builder.addCase(themeUpdateFulfilled, (state, action): void => {\n applyPreference(state, action.payload.theme);\n });\n },\n});\n\nfunction applyPreference(state: Draft<ThemeState>, name: ThemeName): void {\n const preference = normalizeThemePreference(name);\n const mode = resolveThemePreference(preference);\n // Preserve legacy storage names until root is migrated to canonical names.\n saveTheme(name);\n const base = mode === 'dark' ? darkTheme : lightTheme;\n const themeSelected = name === 'system' || name === 'light' || name === 'dark' ? base : { ...base, name };\n Object.assign(state, { preference, themeSelected, darkMode: mode === 'dark', toggleStatus: 'toggled' });\n}\n\nexport const selectThemePreference = (state: ThemeRootState) => state.Theme.preference;\n\nexport const { toggleTheme, toggleModeTheme, systemThemeChanged } = themeSlice.actions;\n\n// Selectores\nexport const selectThemeToggleStatus = (state: ThemeRootState) =>\n state.Theme.toggleStatus;\nexport const selectTheme = (state: ThemeRootState) => state.Theme.themeSelected;\nexport const selectDarkTheme = (state: ThemeRootState) => state.Theme.darkMode;\n\n/**\n * @deprecated Usar `selectTheme`. El prefijo correcto para un selector es\n * `select` (ver Guía de Arquitectura Frontend, sección 4 - Nomenclatura).\n * Se mantiene hasta que los 6 micro-fronts terminen de migrar.\n */\nexport const selectedTheme = selectTheme;\n/**\n * @deprecated Usar `selectDarkTheme`. Mismo motivo que `selectedTheme`.\n */\nexport const selectedDarkTheme = selectDarkTheme;\n\nexport default themeSlice.reducer;\n"],"names":["createTheme"],"mappings":"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"}
1
+ {"version":3,"file":"theme.js","sources":["../../src/theme/darkThemeComponents.ts","../../src/theme/selectThemeComponents.ts","../../src/theme/MuiComponentsConfig.ts","../../src/theme/themeActionTypes.ts","../../src/theme/themePreference.ts","../../src/theme/themePersistence.ts","../../src/theme/themeProvider.ts","../../src/theme/themeSlice.ts"],"sourcesContent":["import { alpha, createTheme, Theme } from '@mui/material/styles';\n\n/** Aplica los ajustes de contraste compartidos exclusivamente en modo oscuro. */\nexport const applyDarkThemeComponents = (sharedTheme: Theme): Theme => {\n if (sharedTheme.palette.mode !== 'dark') return sharedTheme;\n\n const { palette } = sharedTheme;\n const strongOutline = alpha(palette.text.secondary, 0.5);\n const hoverOutline = alpha(palette.text.secondary, 0.72);\n\n return createTheme(sharedTheme, {\n components: {\n MuiSelect: {\n defaultProps: {\n MenuProps: {\n PaperProps: {\n sx: {\n backgroundColor: palette.background.dropdownMenu,\n backgroundImage: 'none',\n },\n },\n },\n },\n },\n MuiTypography: {\n styleOverrides: {\n // El microfrontend no controla el color del body de root. Mantener\n // un foreground explícito evita heredar texto oscuro del shell.\n root: { color: palette.text.primary },\n },\n },\n MuiPaper: {\n styleOverrides: {\n root: {\n backgroundColor: palette.background.paper,\n backgroundImage: 'none',\n },\n outlined: {\n borderColor: palette.divider,\n },\n },\n },\n MuiCard: {\n styleOverrides: {\n root: {\n backgroundColor: palette.background.paper,\n backgroundImage: 'none',\n borderColor: palette.divider,\n },\n },\n },\n MuiDialog: {\n styleOverrides: {\n paper: {\n backgroundColor: palette.background.dropdownMenu,\n backgroundImage: 'none',\n border: `1px solid ${palette.divider}`,\n },\n },\n },\n MuiDrawer: {\n styleOverrides: {\n paper: {\n backgroundColor: palette.background.dropdownMenu,\n backgroundImage: 'none',\n borderColor: palette.divider,\n },\n },\n },\n MuiPopover: {\n styleOverrides: {\n paper: {\n backgroundColor: palette.background.dropdownMenu,\n backgroundImage: 'none',\n border: `1px solid ${palette.divider}`,\n },\n },\n },\n MuiMenu: {\n styleOverrides: {\n paper: {\n backgroundColor: palette.background.dropdownMenu,\n backgroundImage: 'none',\n border: `1px solid ${palette.divider}`,\n },\n },\n },\n MuiOutlinedInput: {\n styleOverrides: {\n root: {\n backgroundColor: alpha(palette.background.default, 0.34),\n '& .MuiOutlinedInput-notchedOutline': {\n borderColor: strongOutline,\n },\n '&:hover .MuiOutlinedInput-notchedOutline': {\n borderColor: hoverOutline,\n },\n '&.Mui-focused .MuiOutlinedInput-notchedOutline': {\n borderColor: palette.primary.light,\n borderWidth: 2,\n },\n '&.Mui-disabled .MuiOutlinedInput-notchedOutline': {\n borderColor: alpha(palette.text.disabled, 0.36),\n },\n },\n input: {\n '&::placeholder': {\n color: palette.text.disabled,\n opacity: 1,\n },\n },\n },\n },\n MuiInputLabel: {\n styleOverrides: {\n root: {\n color: palette.text.secondary,\n '&.Mui-focused': { color: palette.primary.light },\n '&.Mui-disabled': { color: palette.text.disabled },\n },\n },\n },\n MuiButton: {\n styleOverrides: {\n root: {\n '&.Mui-disabled': {\n color: palette.text.disabled,\n borderColor: alpha(palette.text.disabled, 0.38),\n },\n },\n containedPrimary: {\n backgroundColor: palette.primary.main,\n color: palette.primary.contrastText,\n '&:hover': { backgroundColor: palette.primary.dark },\n },\n outlined: {\n color: palette.primary.light,\n borderColor: alpha(palette.primary.light, 0.72),\n '&:hover': {\n color: palette.primary.light,\n borderColor: palette.primary.light,\n backgroundColor: alpha(palette.primary.light, 0.1),\n },\n },\n textPrimary: {\n color: palette.primary.light,\n '&:hover': {\n backgroundColor: alpha(palette.primary.light, 0.1),\n },\n },\n },\n },\n MuiIconButton: {\n styleOverrides: {\n root: {\n color: palette.text.secondary,\n '&:hover': {\n color: palette.text.primary,\n backgroundColor: palette.action.hover,\n },\n '&.MuiIconButton-colorPrimary': { color: palette.primary.light },\n '&.MuiIconButton-colorError': { color: palette.error.light },\n '&.Mui-disabled': { color: palette.text.disabled },\n },\n },\n },\n MuiChip: {\n styleOverrides: {\n root: {\n color: palette.text.primary,\n backgroundColor: alpha(palette.text.primary, 0.07),\n borderColor: strongOutline,\n '& .MuiChip-icon': { color: 'inherit' },\n '&.MuiChip-colorSuccess': {\n color: palette.success.light,\n backgroundColor: palette.success.dark,\n borderColor: alpha(palette.success.light, 0.46),\n },\n '&.MuiChip-colorWarning': {\n color: palette.warning.light,\n backgroundColor: palette.warning.dark,\n borderColor: alpha(palette.warning.light, 0.46),\n },\n '&.MuiChip-colorError': {\n color: palette.error.light,\n backgroundColor: palette.error.dark,\n borderColor: alpha(palette.error.light, 0.46),\n },\n '&.MuiChip-colorInfo': {\n color: palette.info.light,\n backgroundColor: palette.info.dark,\n borderColor: alpha(palette.info.light, 0.46),\n },\n },\n },\n },\n MuiAlert: {\n styleOverrides: {\n root: { border: '1px solid currentColor' },\n standardSuccess: {\n color: palette.success.light,\n backgroundColor: palette.success.dark,\n },\n standardWarning: {\n color: palette.warning.light,\n backgroundColor: palette.warning.dark,\n },\n standardError: {\n color: palette.error.light,\n backgroundColor: palette.error.dark,\n },\n standardInfo: {\n color: palette.info.light,\n backgroundColor: palette.info.dark,\n },\n },\n },\n MuiTableHead: {\n styleOverrides: {\n root: { backgroundColor: palette.cellHeader },\n },\n },\n MuiTableCell: {\n styleOverrides: {\n root: { borderColor: palette.divider },\n head: { color: palette.text.primary, fontWeight: 700 },\n },\n },\n MuiTableRow: {\n styleOverrides: {\n root: {\n '&:hover': { backgroundColor: palette.action.hover },\n '&.Mui-selected': {\n backgroundColor: palette.action.selected,\n '&:hover': { backgroundColor: palette.action.selected },\n },\n },\n },\n },\n MuiTabs: {\n styleOverrides: {\n indicator: { backgroundColor: palette.primary.light },\n },\n },\n MuiTab: {\n styleOverrides: {\n root: {\n color: palette.text.secondary,\n '&.Mui-selected': { color: palette.primary.light },\n },\n },\n },\n MuiSwitch: {\n styleOverrides: {\n switchBase: {\n color: palette.text.disabled,\n '&.Mui-checked': {\n color: palette.primary.light,\n '& + .MuiSwitch-track': {\n backgroundColor: palette.primary.light,\n opacity: 0.5,\n },\n },\n },\n track: {\n backgroundColor: palette.text.disabled,\n opacity: 0.34,\n },\n },\n },\n MuiTooltip: {\n styleOverrides: {\n tooltip: {\n color: palette.text.primary,\n backgroundColor: palette.background.tooltip,\n border: `1px solid ${strongOutline}`,\n },\n arrow: { color: palette.background.tooltip },\n },\n },\n MuiDivider: {\n styleOverrides: {\n root: { borderColor: palette.divider },\n },\n },\n MuiLink: {\n styleOverrides: {\n root: { color: palette.primary.light },\n },\n },\n },\n });\n};\n","import { alpha, createTheme, Theme } from '@mui/material/styles';\n\n/** Shared surfaces for selects, autocomplete results and outlined fields. */\nexport const applySelectThemeComponents = (theme: Theme): Theme => {\n const { palette } = theme;\n const surface = {\n backgroundColor: palette.background.paper,\n backgroundImage: 'none',\n color: palette.text.primary,\n border: `1px solid ${palette.divider}`,\n borderRadius: 10,\n boxShadow: theme.shadows[6],\n };\n const option = {\n borderRadius: 6,\n margin: '2px 0',\n padding: '8px 10px',\n '&:hover, &.Mui-focused, &.Mui-focusVisible': {\n backgroundColor: palette.action.hover,\n },\n '&[aria-selected=\"true\"], &.Mui-selected': {\n backgroundColor: palette.action.selected,\n '&:hover, &.Mui-focused, &.Mui-focusVisible': {\n backgroundColor: palette.action.selected,\n },\n },\n '&[aria-disabled=\"true\"], &.Mui-disabled': {\n backgroundColor: 'transparent',\n },\n };\n return createTheme(theme, {\n components: {\n MuiSelect: {\n defaultProps: { MenuProps: { PaperProps: { sx: surface } } },\n },\n MuiAutocomplete: {\n styleOverrides: {\n paper: { ...surface, margin: '6px 0' },\n listbox: { padding: 6, '& .MuiAutocomplete-option': option },\n },\n },\n MuiMenu: {\n styleOverrides: {\n paper: surface,\n list: { padding: 6, '& .MuiMenuItem-root': option },\n },\n },\n MuiOutlinedInput: {\n styleOverrides: {\n root: {\n backgroundColor: 'transparent',\n borderRadius: 8,\n transition: theme.transitions.create(['background-color', 'box-shadow']),\n '&:hover:not(.Mui-disabled)': { backgroundColor: palette.action.hover },\n '&.Mui-focused': { backgroundColor: palette.action.hover },\n '&.Mui-focused .MuiOutlinedInput-notchedOutline': {\n borderColor: palette.mode === 'dark' ? palette.primary.light : palette.primary.main,\n borderWidth: 1,\n },\n '&.Mui-error .MuiOutlinedInput-notchedOutline, &.Mui-error:hover .MuiOutlinedInput-notchedOutline': {\n borderColor: palette.error.main,\n },\n '&.Mui-disabled .MuiOutlinedInput-notchedOutline': {\n borderColor: alpha(palette.text.disabled, 0.36),\n },\n },\n },\n },\n },\n });\n};\n","import { createTheme, Theme } from '@mui/material';\r\nimport { applyDarkThemeComponents } from './darkThemeComponents';\r\nimport { applySelectThemeComponents } from './selectThemeComponents';\r\n\r\n/**\r\n * Ajustes que difieren entre apps. Los valores por defecto son los que ya\r\n * usaba el paquete, asi que omitir las opciones no cambia nada.\r\n */\r\nexport interface MuiComponentsConfigOptions {\r\n /**\r\n * Fondo del modal y su backdrop en transparente. Lo usan header y home;\r\n * contacts lo tenia desactivado a proposito.\r\n */\r\n transparentModal?: boolean;\r\n /** z-index del popper del Autocomplete. Header necesita 1; el resto, 11. */\r\n autocompleteZIndex?: number;\r\n}\r\n\r\nconst MuiComponentsConfig = (\r\n themeRedux: Theme,\r\n options: MuiComponentsConfigOptions = {}\r\n): Theme => {\r\n const { transparentModal = false, autocompleteZIndex = 11 } = options;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const bg = themeRedux.palette.background as any;\r\n const tooltipBackground = bg.tooltip || themeRedux.palette.grey[900];\r\n\r\n const sharedTheme = createTheme({\r\n ...themeRedux,\r\n components: {\r\n MuiTooltip: {\r\n styleOverrides: {\r\n tooltip: {\r\n backgroundColor: tooltipBackground,\r\n color: themeRedux.palette.getContrastText(tooltipBackground),\r\n border: `1px solid ${themeRedux.palette.divider}`,\r\n boxShadow: themeRedux.shadows[3],\r\n fontSize: '0.75rem',\r\n },\r\n arrow: { color: tooltipBackground },\r\n },\r\n },\r\n MuiSelect: {\r\n defaultProps: {\r\n MenuProps: {\r\n PaperProps: {\r\n sx: {\r\n backgroundColor: bg.panel,\r\n backgroundImage:\r\n 'linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))',\r\n },\r\n },\r\n },\r\n },\r\n },\r\n MuiAutocomplete: {\r\n styleOverrides: {\r\n popper: {\r\n zIndex: autocompleteZIndex,\r\n },\r\n },\r\n },\r\n MuiPaper: {\r\n styleOverrides: {\r\n root: {\r\n backgroundColor: bg.panel,\r\n backgroundImage:\r\n 'linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))',\r\n },\r\n },\r\n },\r\n MuiMenu: {\r\n styleOverrides: {\r\n paper: {\r\n backgroundColor: bg.panel,\r\n backgroundImage:\r\n 'linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))',\r\n },\r\n },\r\n },\r\n MuiList: {\r\n styleOverrides: {\r\n root: {\r\n padding: 0,\r\n },\r\n },\r\n },\r\n MuiModal: {\r\n styleOverrides: {\r\n root: transparentModal\r\n ? {\r\n background: 'transparent',\r\n '& .MuiBackdrop-root': {\r\n background: 'transparent',\r\n border: 'none',\r\n },\r\n }\r\n : {},\r\n },\r\n },\r\n MuiTypography: {\r\n styleOverrides: {\r\n root: {\r\n color: themeRedux.palette.text.primary,\r\n },\r\n },\r\n },\r\n MuiChip: {\r\n styleOverrides: {\r\n root: {\r\n color: themeRedux.palette.text.primary,\r\n border: '1px solid rgba(0, 0, 0, 0.1)',\r\n borderRadius: '4px',\r\n height: '20px',\r\n fontSize: '0.7125rem',\r\n },\r\n },\r\n },\r\n MuiListSubheader: {\r\n styleOverrides: {\r\n root: {\r\n backgroundColor: bg.accordionHeader,\r\n },\r\n },\r\n },\r\n MuiButton: {\r\n styleOverrides: {\r\n outlined: {\r\n color:\r\n themeRedux.palette.mode === 'light'\r\n ? themeRedux.palette.primary.dark\r\n : themeRedux.palette.primary.light,\r\n borderColor:\r\n themeRedux.palette.mode === 'light'\r\n ? themeRedux.palette.primary.dark\r\n : themeRedux.palette.primary.light,\r\n '&:hover': {\r\n borderColor:\r\n themeRedux.palette.mode === 'light'\r\n ? themeRedux.palette.primary.main\r\n : themeRedux.palette.primary.light,\r\n color:\r\n themeRedux.palette.mode === 'light'\r\n ? themeRedux.palette.primary.main\r\n : themeRedux.palette.primary.light,\r\n },\r\n },\r\n },\r\n },\r\n },\r\n });\r\n\r\n return applySelectThemeComponents(applyDarkThemeComponents(sharedTheme));\r\n};\r\n\r\nexport default MuiComponentsConfig;\r\n\r\n","import { createAction } from '@reduxjs/toolkit';\nimport type { ThemeName } from './themePreference';\n\n// The reducer handles the fulfilled action without importing the HTTP thunk.\nexport const UPDATE_THEME_TYPE = 'Theme/updateTheme';\nexport const themeUpdateFulfilled = /*#__PURE__*/ createAction<{ theme: ThemeName }>(\n `${UPDATE_THEME_TYPE}/fulfilled`\n);\r\n","\nexport type ThemePreference = 'light' | 'dark' | 'system';\nexport type ResolvedTheme = 'light' | 'dark';\nexport const THEME_PREFERENCES: readonly ThemePreference[] = ['light', 'dark', 'system'];\nexport const LEGACY_THEME_NAMES = [\"lightBlueIndigo\",\"lightBlue\",\"lightRed\",\"lightGreen\",\"lightPink\",\"lightPurple\",\"lightTeal\",\"lightLime\",\"lightYellow\",\"lightAmber\",\"lightOrange\",\"lightBrown\",\"lightGray\",\"darkBlue\",\"darkBlack\"] as const;\nexport type LegacyThemeName = typeof LEGACY_THEME_NAMES[number];\nexport type ThemeName = ThemePreference | LegacyThemeName;\n\nexport const isValidThemeName = (name: string): name is ThemeName =>\n (THEME_PREFERENCES as readonly string[]).includes(name) || (LEGACY_THEME_NAMES as readonly string[]).includes(name);\n\n/** Missing/unknown preferences follow the OS. Existing choices keep their mode. */\nexport const normalizeThemePreference = (name?: string | null): ThemePreference => {\n if (name === 'light' || name === 'dark' || name === 'system') return name;\n if (name && (LEGACY_THEME_NAMES as readonly string[]).includes(name)) return name.startsWith('dark') ? 'dark' : 'light';\n return 'system';\n};\nconst systemMedia = (): MediaQueryList | undefined =>\n typeof window !== 'undefined' && typeof window.matchMedia === 'function'\n ? window.matchMedia('(prefers-color-scheme: dark)') : undefined;\nexport const resolveThemePreference = (preference: ThemePreference, systemDark = systemMedia()?.matches ?? false): ResolvedTheme =>\n preference === 'system' ? (systemDark ? 'dark' : 'light') : preference;\n\n/** Emits immediately; caller must unsubscribe on unmount/preference change.\n * Does not persist or call an API when the OS appearance changes.\n */\nexport const observeThemePreference = (preference: ThemePreference, listener: (mode: ResolvedTheme) => void): (() => void) => {\n if (preference !== 'system') { listener(preference); return () => {}; }\n const media = systemMedia();\n listener(resolveThemePreference(preference, media?.matches ?? false));\n if (!media) return () => {};\n const change = (event: MediaQueryListEvent) => listener(event.matches ? 'dark' : 'light');\n if (typeof media.addEventListener === 'function') {\n media.addEventListener('change', change);\n return () => media.removeEventListener('change', change);\n }\n media.addListener(change);\n return () => media.removeListener(change);\n};\n","import { createAsyncThunk } from '@reduxjs/toolkit';\nimport axios from 'axios';\nimport type { ThemeRootState } from './themeSlice';\nimport { isValidThemeName, ThemeName } from './themePreference';\nimport { UPDATE_THEME_TYPE } from './themeActionTypes';\n\nconst themeUrl = (spaceId: string) =>\n `https://agent-api.trii.app/api/v1/settings/${spaceId}/user/setTheme`;\n\n/** Guarda el tema elegido en el backend. */\nexport const updateTheme = /*#__PURE__*/ createAsyncThunk<\n { theme: ThemeName },\n ThemeName,\n { state: ThemeRootState }\n>(UPDATE_THEME_TYPE, async (theme, { getState }) => {\n const { uid = '', spaceId = '' } = getState().User.user ?? {};\n const themeJson = JSON.stringify({ theme, uid });\n\n const response = await axios.put<{ theme: ThemeName }>(\n themeUrl(spaceId),\n themeJson,\n { headers: { 'Content-Type': 'application/json' } }\n );\n if (!isValidThemeName(response.data.theme)) throw new Error('Invalid theme response');\n return response.data;\n});\n\n","import { createTheme, Theme } from '@mui/material'\r\n\r\n// ─── Extensión de tipos de MUI ──────────────────────────────────────────────\r\ndeclare module '@mui/material/styles' {\r\n interface TypeBackground {\r\n mainCenter: string;\r\n mainGradient: string;\r\n navMenu: string;\r\n dropdownMenu: string;\r\n panel: string;\r\n tooltip: string;\r\n accordionHeader: string;\r\n panelHeader: string;\r\n panelCenter: string;\r\n panelGradient: string;\r\n selectedItem: string;\r\n }\r\n\r\n interface TypeText {\r\n colorMain: string;\r\n }\r\n\r\n interface Palette {\r\n containerBox: {\r\n default: string;\r\n main: string;\r\n };\r\n dropdownBox: string;\r\n color: {\r\n icons: string;\r\n };\r\n cellHeader: string;\r\n Skeleton: {\r\n bg: string;\r\n };\r\n messageBox: string;\r\n boxShadow: string;\r\n disabled: string;\r\n }\r\n\r\n interface PaletteOptions {\r\n containerBox?: {\r\n default?: string;\r\n main?: string;\r\n };\r\n dropdownBox?: string;\r\n color?: {\r\n icons?: string;\r\n };\r\n cellHeader?: string;\r\n Skeleton?: {\r\n bg?: string;\r\n };\r\n messageBox?: string;\r\n boxShadow?: string;\r\n disabled?: string;\r\n }\r\n\r\n interface Theme {\r\n name?: string;\r\n }\r\n\r\n interface ThemeOptions {\r\n name?: string;\r\n }\r\n}\r\n// ────────────────────────────────────────────────────────────────────────────\r\n\r\n\n// Two curated palettes. Primary actions keep the same blue in both modes.\nconst primary = { main: '#246FB5', light: '#78B7F2', dark: '#195A96', contrastText: '#FFFFFF' };\n\nexport const lightTheme: Theme = createTheme({\n name: 'light',\n palette: {\n mode: 'light', contrastThreshold: 4.5, primary,\n secondary: { main: '#526078', light: '#728099', dark: '#38445A', contrastText: '#FFFFFF' },\n error: { main: '#BD3446', light: '#FCECEF', dark: '#932536', contrastText: '#FFFFFF' },\n warning: { main: '#946000', light: '#FFF5DF', dark: '#704800', contrastText: '#FFFFFF' },\n info: { main: '#176B9B', light: '#EAF4FC', dark: '#125174', contrastText: '#FFFFFF' },\n success: { main: '#237547', light: '#EAF6EE', dark: '#185935', contrastText: '#FFFFFF' },\n background: {\n default: '#F4F6FA', paper: '#FFFFFF', mainCenter: '#F4F6FA',\n mainGradient: 'linear-gradient(120deg, #195A96, #246FB5)',\n navMenu: '#EDF1F7', dropdownMenu: '#FFFFFF', panel: '#FFFFFF',\n tooltip: '#EDF1F7', accordionHeader: '#EDF1F7', panelHeader: '#EDF1F7',\n panelCenter: '#F8FAFD', panelGradient: '#EDF1F7', selectedItem: '#E5EFFA'\n },\n text: { primary: '#202C3E', secondary: '#526078', disabled: '#7C8798', colorMain: '#202C3E' },\n action: { active: '#526078', hover: 'rgba(36, 111, 181, 0.06)', selected: 'rgba(36, 111, 181, 0.12)', disabled: '#8893A3', disabledBackground: '#E8ECF2' },\n divider: '#D7DEE9', containerBox: { default: '#FFFFFF', main: '#F8FAFD' },\n dropdownBox: '#FFFFFF', color: { icons: '#526078' }, cellHeader: '#EDF1F7',\n Skeleton: { bg: '#E4EAF2' }, messageBox: '#E5EFFA', boxShadow: 'rgba(25, 42, 66, 0.12)', disabled: '#8893A3'\n }\n});\n\nexport const darkTheme: Theme = createTheme({\n name: 'dark',\n palette: {\n mode: 'dark', contrastThreshold: 4.5, primary,\n secondary: { main: '#B7B5D9', light: '#D6D4EF', dark: '#46415F', contrastText: '#171824' },\n error: { main: '#F06B7A', light: '#FF9AA8', dark: '#4A1D24', contrastText: '#2B0D12' },\n warning: { main: '#E5A93B', light: '#FFD27A', dark: '#493515', contrastText: '#2A1B05' },\n info: { main: '#4FAFE8', light: '#7CCBFF', dark: '#123955', contrastText: '#082033' },\n success: { main: '#43C17A', light: '#75E0A7', dark: '#143D2B', contrastText: '#092116' },\n background: {\n default: '#111520', paper: '#1B2333', mainCenter: '#151C2A',\n mainGradient: 'linear-gradient(120deg, #131B2B, #242237)',\n navMenu: '#0E121C', dropdownMenu: '#252D40', panel: '#1B2333',\n tooltip: '#30384F', accordionHeader: '#20283A', panelHeader: '#20283A',\n panelCenter: '#222B3E', panelGradient: '#2C2B40', selectedItem: '#293E59'\n },\n text: { primary: '#F1F4FA', secondary: '#BBC6D8', disabled: '#8793A6', colorMain: '#F1F4FA' },\n action: { active: '#BBC6D8', hover: 'rgba(241, 244, 250, 0.07)', selected: 'rgba(120, 183, 242, 0.16)', disabled: 'rgba(187, 198, 216, 0.45)', disabledBackground: 'rgba(187, 198, 216, 0.10)' },\n divider: 'rgba(187, 198, 216, 0.22)', containerBox: { default: '#1B2333', main: '#222B3E' },\n dropdownBox: '#252D40', color: { icons: '#BBC6D8' }, cellHeader: '#20283A',\n Skeleton: { bg: '#30384F' }, messageBox: '#203953', boxShadow: 'rgba(0, 0, 0, 0.40)', disabled: 'rgba(187, 198, 216, 0.45)'\n }\n});\n\n// Keep export names and theme.name for older selectors. Palettes are unified.\n/** @deprecated Use lightTheme. */\nexport const lightBlueIndigo: Theme = { ...lightTheme, name: 'lightBlueIndigo' };\n/** @deprecated Use lightTheme. */\nexport const lightBlue: Theme = { ...lightTheme, name: 'lightBlue' };\n/** @deprecated Use lightTheme. */\nexport const lightRed: Theme = { ...lightTheme, name: 'lightRed' };\n/** @deprecated Use lightTheme. */\nexport const lightGreen: Theme = { ...lightTheme, name: 'lightGreen' };\n/** @deprecated Use lightTheme. */\nexport const lightPink: Theme = { ...lightTheme, name: 'lightPink' };\n/** @deprecated Use lightTheme. */\nexport const lightPurple: Theme = { ...lightTheme, name: 'lightPurple' };\n/** @deprecated Use lightTheme. */\nexport const lightTeal: Theme = { ...lightTheme, name: 'lightTeal' };\n/** @deprecated Use lightTheme. */\nexport const lightLime: Theme = { ...lightTheme, name: 'lightLime' };\n/** @deprecated Use lightTheme. */\nexport const lightYellow: Theme = { ...lightTheme, name: 'lightYellow' };\n/** @deprecated Use lightTheme. */\nexport const lightAmber: Theme = { ...lightTheme, name: 'lightAmber' };\n/** @deprecated Use lightTheme. */\nexport const lightOrange: Theme = { ...lightTheme, name: 'lightOrange' };\n/** @deprecated Use lightTheme. */\nexport const lightBrown: Theme = { ...lightTheme, name: 'lightBrown' };\n/** @deprecated Use lightTheme. */\nexport const lightGray: Theme = { ...lightTheme, name: 'lightGray' };\n/** @deprecated Use darkTheme. */\nexport const darkBlue: Theme = { ...darkTheme, name: 'darkBlue' };\n/** @deprecated Use darkTheme. */\nexport const darkBlack: Theme = { ...darkTheme, name: 'darkBlack' };\n","import { createSlice, PayloadAction, Draft } from '@reduxjs/toolkit';\nimport { themeUpdateFulfilled } from './themeActionTypes';\nexport { updateTheme } from './themePersistence';\nimport { Theme } from '@mui/material';\nimport { lightTheme, darkTheme } from './themeProvider';\nimport { ThemeName, ThemePreference, ResolvedTheme, normalizeThemePreference, resolveThemePreference } from './themePreference';\nexport { isValidThemeName } from './themePreference';\nexport type { ThemeName } from './themePreference';\n\n\n/**\n * Forma mínima del store que necesita este slice: la app que lo use tiene que\n * tener `Theme` y `User.user.uid`.\n */\nexport interface ThemeRootState {\n User: {\n user: {\n uid: string;\n /** Requerido por `updateTheme`: la URL lo lleva en la ruta. */\n spaceId?: string;\n };\n };\n Theme: ThemeState;\n}\n\n/**\n * `trii-root-front` lee esta clave para pintar el fondo antes de montar los\n * micro-fronts. Si se deja de escribir, se ve un flash del tema equivocado.\n */\nconst THEME_STORAGE_KEY = 'trii-theme';\n\n/** Estado del slice. */\nexport interface ThemeState {\n themeSelected: Theme;\n preference: ThemePreference;\n darkMode: boolean;\n toggleStatus: 'idle' | 'toggled';\n}\n\n/** Lee el tema persistido; si no hay o falla, usa el de por defecto. */\nconst getSavedPreference = (): ThemePreference => {\n try { return normalizeThemePreference(localStorage.getItem(THEME_STORAGE_KEY)); } catch { return 'system'; }\n};\n\n/** Persiste el tema para que `trii-root-front` lo lea en el arranque. */\nconst saveTheme = (theme: ThemeName): void => {\n try {\n localStorage.setItem(THEME_STORAGE_KEY, theme);\n } catch {\n // sin localStorage el tema igual se aplica, solo no persiste\n }\n};\n\nconst savedPreference = getSavedPreference();\nconst savedMode = resolveThemePreference(savedPreference);\nconst initialState: ThemeState = {\n themeSelected: savedMode === 'dark' ? darkTheme : lightTheme,\n preference: savedPreference,\n darkMode: savedMode === 'dark',\n toggleStatus: 'idle',\n};\n\n/** Slice del tema. */\nconst themeSlice = createSlice({\n name: 'Theme',\n initialState,\n reducers: {\n /** Cambia el tema por nombre. */\n toggleTheme: (state, action: PayloadAction<ThemeName>): void => {\n applyPreference(state, action.payload);\n },\n /** Local update from observeThemePreference; never overwrite the saved system choice. */\n systemThemeChanged: (state, action: PayloadAction<ResolvedTheme>): void => {\n if (state.preference !== 'system') return;\n Object.assign(state, { themeSelected: action.payload === 'dark' ? darkTheme : lightTheme, darkMode: action.payload === 'dark', toggleStatus: 'toggled' });\n },\n /** Alterna el modo oscuro. */\n toggleModeTheme: (state): void => {\n applyPreference(state, state.darkMode ? 'light' : 'dark');\n },\n },\n extraReducers: (builder) => {\n builder.addCase(themeUpdateFulfilled, (state, action): void => {\n applyPreference(state, action.payload.theme);\n });\n },\n});\n\nfunction applyPreference(state: Draft<ThemeState>, name: ThemeName): void {\n const preference = normalizeThemePreference(name);\n const mode = resolveThemePreference(preference);\n // Preserve legacy storage names until root is migrated to canonical names.\n saveTheme(name);\n const base = mode === 'dark' ? darkTheme : lightTheme;\n const themeSelected = name === 'system' || name === 'light' || name === 'dark' ? base : { ...base, name };\n Object.assign(state, { preference, themeSelected, darkMode: mode === 'dark', toggleStatus: 'toggled' });\n}\n\nexport const selectThemePreference = (state: ThemeRootState) => state.Theme.preference;\n\nexport const { toggleTheme, toggleModeTheme, systemThemeChanged } = themeSlice.actions;\n\n// Selectores\nexport const selectThemeToggleStatus = (state: ThemeRootState) =>\n state.Theme.toggleStatus;\nexport const selectTheme = (state: ThemeRootState) => state.Theme.themeSelected;\nexport const selectDarkTheme = (state: ThemeRootState) => state.Theme.darkMode;\n\n/**\n * @deprecated Usar `selectTheme`. El prefijo correcto para un selector es\n * `select` (ver Guía de Arquitectura Frontend, sección 4 - Nomenclatura).\n * Se mantiene hasta que los 6 micro-fronts terminen de migrar.\n */\nexport const selectedTheme = selectTheme;\n/**\n * @deprecated Usar `selectDarkTheme`. Mismo motivo que `selectedTheme`.\n */\nexport const selectedDarkTheme = selectDarkTheme;\n\nexport default themeSlice.reducer;\n"],"names":["createTheme"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,12 +1,13 @@
1
1
  /// <reference types="react" />
2
2
  import * as react_jsx_runtime from 'react/jsx-runtime';
3
- import { IContact, IBusiness, IContactAddress } from '@trii/types/dist/Contacts';
3
+ import { IContact, IBusiness, IContactAddress, IIntegrationButton } from '@trii/types/dist/Contacts';
4
4
  import { Spaces } from '@trii/types';
5
5
  import { SxProps, Theme } from '@mui/material';
6
6
  import { IContact as IContact$1, IBusiness as IBusiness$1 } from '@trii/types/dist/Contacts/contacts';
7
7
  import React, { ReactNode, ErrorInfo, Component } from 'react';
8
8
  import { IConversation } from '@trii/types/dist/Conversations';
9
9
  import { ChannelType } from '@trii/types/dist/Common/Channels';
10
+ import { LucideIcon } from 'lucide-react';
10
11
  import * as i18next from 'i18next';
11
12
  import * as redux from 'redux';
12
13
  import * as _reduxjs_toolkit from '@reduxjs/toolkit';
@@ -682,6 +683,33 @@ type ChatDetailsSidebarProps = ChatDetailsSidebarBaseProps & ChatDetailsSidebarT
682
683
  */
683
684
  declare const ChatDetailsSidebar: (props: ChatDetailsSidebarProps) => react_jsx_runtime.JSX.Element;
684
685
 
686
+ type IntegrationButtonIconProps = {
687
+ button: Pick<IIntegrationButton, 'icon_class' | 'icon_color_mode' | 'icon_color_light' | 'icon_color_dark'>;
688
+ size?: number;
689
+ className?: string;
690
+ };
691
+ /** Decorative icon: its accessible name comes from the surrounding button/tab. */
692
+ declare function IntegrationButtonIcon({ button, size, className }: IntegrationButtonIconProps): react_jsx_runtime.JSX.Element;
693
+
694
+ type ButtonIconCategory = "general" | "people" | "documents" | "finance" | "communication" | "operations" | "technology";
695
+ type ButtonIconDefinition = {
696
+ id: `lucide:${string}`;
697
+ name: string;
698
+ category: ButtonIconCategory;
699
+ Component: LucideIcon;
700
+ keywords: string;
701
+ };
702
+ declare const BUTTON_ICON_CATEGORIES: ButtonIconCategory[];
703
+ declare const BUTTON_ICONS: ButtonIconDefinition[];
704
+ declare const DEFAULT_BUTTON_ICON = "lucide:mouse-pointer-click";
705
+ declare const findButtonIcon: (id: string | null | undefined) => ButtonIconDefinition;
706
+ declare const normalizeIconSearch: (value: string) => string;
707
+
708
+ type ButtonIconColors = Pick<IIntegrationButton, "icon_color_mode" | "icon_color_light" | "icon_color_dark">;
709
+ declare const DEFAULT_LIGHT_ICON_COLOR = "#334155";
710
+ declare const DEFAULT_DARK_ICON_COLOR = "#e2e8f0";
711
+ declare function resolveButtonIconColor(colors: ButtonIconColors, mode: "light" | "dark"): string | undefined;
712
+
685
713
  declare const i18nInstance: i18next.i18n;
686
714
 
687
715
  /**
@@ -859,4 +887,4 @@ declare const darkBlue: Theme;
859
887
  /** @deprecated Use darkTheme. */
860
888
  declare const darkBlack: Theme;
861
889
 
862
- export { AsyncContent, type AsyncContentProps, type AsyncData, type AsyncState, type AsyncStatus, type Calendar, type Contact, ContactInfoPopup, ChatDetailsSidebar as ContactSidebar, type ChatDetailsSidebarProps as ContactSidebarProps, EditContactModal, type EditContactModalProps, type EditContactMode, EmptyState, type EmptyStateProps, ErrorState, type ErrorStateProps, type EventData, EventsDialog, type EventsDialogProps, type IsEmptyFn, type ItemType, type LegacyThemeName, type ModalMode, MuiComponentsConfig, type MuiComponentsConfigOptions, type Notification, PanelErrorBoundary, type PanelErrorBoundaryProps, type ResolvedTheme, type SidebarChatIntegration, type StartConversationTarget, THEME_PREFERENCES, type TaskData, type ThemeName, type ThemePreference, type ThemeRootState, type ThemeState, type UseAsyncDataResult, asyncIdle, asyncRequestFailed, asyncRequestStarted, asyncRequestSucceeded, darkBlack, darkBlue, darkTheme, defaultIsEmpty, deriveAsyncState, getErrorMessage, i18nInstance as i18n, isStale, isValidThemeName, lightAmber, lightBlue, lightBlueIndigo, lightBrown, lightGray, lightGreen, lightLime, lightOrange, lightPink, lightPurple, lightRed, lightTeal, lightTheme, lightYellow, normalizeThemePreference, observeThemePreference, resolveThemePreference, selectDarkTheme, selectTheme, selectThemePreference, selectThemeToggleStatus, selectedDarkTheme, selectedTheme, systemThemeChanged, _default as themeReducer, toggleModeTheme, toggleTheme, updateTheme, useAsyncData };
890
+ export { AsyncContent, type AsyncContentProps, type AsyncData, type AsyncState, type AsyncStatus, BUTTON_ICONS, BUTTON_ICON_CATEGORIES, type ButtonIconCategory, type ButtonIconColors, type ButtonIconDefinition, type Calendar, type Contact, ContactInfoPopup, ChatDetailsSidebar as ContactSidebar, type ChatDetailsSidebarProps as ContactSidebarProps, DEFAULT_BUTTON_ICON, DEFAULT_DARK_ICON_COLOR, DEFAULT_LIGHT_ICON_COLOR, EditContactModal, type EditContactModalProps, type EditContactMode, EmptyState, type EmptyStateProps, ErrorState, type ErrorStateProps, type EventData, EventsDialog, type EventsDialogProps, IntegrationButtonIcon, type IntegrationButtonIconProps, type IsEmptyFn, type ItemType, type LegacyThemeName, type ModalMode, MuiComponentsConfig, type MuiComponentsConfigOptions, type Notification, PanelErrorBoundary, type PanelErrorBoundaryProps, type ResolvedTheme, type SidebarChatIntegration, type StartConversationTarget, THEME_PREFERENCES, type TaskData, type ThemeName, type ThemePreference, type ThemeRootState, type ThemeState, type UseAsyncDataResult, asyncIdle, asyncRequestFailed, asyncRequestStarted, asyncRequestSucceeded, darkBlack, darkBlue, darkTheme, defaultIsEmpty, deriveAsyncState, findButtonIcon, getErrorMessage, i18nInstance as i18n, isStale, isValidThemeName, lightAmber, lightBlue, lightBlueIndigo, lightBrown, lightGray, lightGreen, lightLime, lightOrange, lightPink, lightPurple, lightRed, lightTeal, lightTheme, lightYellow, normalizeIconSearch, normalizeThemePreference, observeThemePreference, resolveButtonIconColor, resolveThemePreference, selectDarkTheme, selectTheme, selectThemePreference, selectThemeToggleStatus, selectedDarkTheme, selectedTheme, systemThemeChanged, _default as themeReducer, toggleModeTheme, toggleTheme, updateTheme, useAsyncData };
@@ -0,0 +1,36 @@
1
+
2
+ > @trii/components@3.1.10 build
3
+ > npm-run-all --serial build:types build:js
4
+
5
+
6
+ > @trii/components@3.1.10 build:types
7
+ > tsc --project tsconfig.build.json --emitDeclarationOnly
8
+
9
+ src/components/ContactSidebar/components/PanelView/components/BotsInfo/BotsInfo.tsx(11,10): error TS2724: '"@trii/types/dist/Conversations"' has no exported member named 'ConversationBotVar'. Did you mean 'IConversation'?
10
+ src/components/ContactSidebar/components/PanelView/components/BotsInfo/components/DataItem/DataItem.tsx(4,10): error TS2724: '"@trii/types/dist/Conversations"' has no exported member named 'ConversationBotVar'. Did you mean 'IConversation'?
11
+ src/components/ContactSidebar/components/PanelView/components/ContactButton/ContactButton.tsx(30,38): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'.
12
+ src/components/ContactSidebar/components/PanelView/components/ContactButton/ContactButton.tsx(59,15): error TS2322: Type 'string' is not assignable to type 'number'.
13
+ src/components/ContactSidebar/components/PanelView/components/ContactConversation/components/ActiveConversation/ActiveConversation.tsx(48,38): error TS2551: Property 'assignedTo' does not exist on type 'IConversation'. Did you mean 'assignment'?
14
+ src/components/ContactSidebar/components/PanelView/components/ContactConversation/components/ActiveConversation/ActiveConversation.tsx(49,39): error TS2551: Property 'assignedTo' does not exist on type 'IConversation'. Did you mean 'assignment'?
15
+ src/components/ContactSidebar/components/PanelView/components/ContactConversation/components/EndedConversation/EndedConversationItem.tsx(46,19): error TS2551: Property 'assignedTo' does not exist on type 'IConversation'. Did you mean 'assignment'?
16
+ src/components/ContactSidebar/components/PanelView/components/ContactConversation/components/EndedConversation/EndedConversationItem.tsx(47,19): error TS2551: Property 'assignedTo' does not exist on type 'IConversation'. Did you mean 'assignment'?
17
+ src/components/ContactSidebar/components/PanelView/components/ContactConversation/components/EndedConversation/EndedConversationItem.tsx(48,19): error TS2551: Property 'assignedTo' does not exist on type 'IConversation'. Did you mean 'assignment'?
18
+ src/components/ContactSidebar/components/PanelView/components/ContactConversation/components/EndedConversation/EndedConversationItem.tsx(51,19): error TS2551: Property 'assignedTo' does not exist on type 'IConversation'. Did you mean 'assignment'?
19
+ src/components/ContactSidebar/components/PanelView/components/ContactConversation/components/EndedConversation/EndedConversationItem.tsx(52,19): error TS2551: Property 'assignedTo' does not exist on type 'IConversation'. Did you mean 'assignment'?
20
+ src/components/ContactSidebar/components/PanelView/components/ContactConversation/components/EndedConversation/EndedConversationItem.tsx(53,19): error TS2551: Property 'assignedTo' does not exist on type 'IConversation'. Did you mean 'assignment'?
21
+ src/components/ContactSidebar/components/PanelView/components/ContactDataDetails/ContactDataDetails.tsx(31,10): error TS2724: '"@trii/types/dist/Conversations"' has no exported member named 'ConversationBotVar'. Did you mean 'IConversation'?
22
+ src/components/ContactSidebar/components/PanelView/components/ContactDataDetails/ContactDataDetails.tsx(145,65): error TS2339: Property 'botVars' does not exist on type 'IConversation'.
23
+ src/components/ContactSidebar/components/PanelView/PanelView.tsx(47,47): error TS2339: Property 'botVars' does not exist on type 'IConversation'.
24
+ src/components/ContactSidebar/components/PanelView/PanelView.tsx(51,29): error TS2339: Property 'botVars' does not exist on type 'IConversation'.
25
+ src/components/EditContactModal/components/Section/General/components/BusinessGeneral.tsx(78,47): error TS2339: Property 'owner' does not exist on type 'IBusiness'.
26
+ src/components/EditContactModal/components/Section/General/components/BusinessGeneral.tsx(79,21): error TS2339: Property 'owner' does not exist on type 'IBusiness'.
27
+ src/components/EditContactModal/components/Section/General/components/BusinessGeneral.tsx(79,61): error TS2339: Property 'owner' does not exist on type 'IBusiness'.
28
+ src/components/EditContactModal/components/Section/General/components/BusinessGeneral.tsx(108,29): error TS2339: Property 'owner' does not exist on type 'IBusiness'.
29
+ src/components/EditContactModal/components/Section/General/components/ContactGeneral.tsx(85,47): error TS2339: Property 'owner' does not exist on type 'IContact'.
30
+ src/components/EditContactModal/components/Section/General/components/ContactGeneral.tsx(86,21): error TS2339: Property 'owner' does not exist on type 'IContact'.
31
+ src/components/EditContactModal/components/Section/General/components/ContactGeneral.tsx(86,61): error TS2339: Property 'owner' does not exist on type 'IContact'.
32
+ src/components/EditContactModal/components/Section/General/components/ContactGeneral.tsx(132,29): error TS2339: Property 'owner' does not exist on type 'IContact'.
33
+ src/components/EditContactModal/hooks/useEditBusiness/useEditBusiness.ts(55,49): error TS2339: Property 'owner' does not exist on type 'IBusiness'.
34
+ src/components/EditContactModal/hooks/useEditBusiness/useEditBusiness.ts(135,43): error TS2339: Property 'owner' does not exist on type 'IBusiness'.
35
+ src/components/EditContactModal/hooks/useEditContact/useEditContact.ts(94,48): error TS2339: Property 'owner' does not exist on type 'IContact'.
36
+ ERROR: "build:types" exited with 1.
@@ -0,0 +1,24 @@
1
+
2
+ > @trii/components@3.1.10 build:js
3
+ > rollup -c
4
+
5
+
6
+ src/index.ts → dist/cjs/index.js, dist/esm/index.js...
7
+ (!) Circular dependency
8
+ src/components/EditContactModal/components/Section/ContactInformation/components/EditModal/layout/index.ts -> src/components/EditContactModal/components/Section/ContactInformation/components/EditModal/layout/InformationSocialNetworkItem/index.ts -> src/components/EditContactModal/components/Section/ContactInformation/components/EditModal/layout/InformationSocialNetworkItem/InformationSocialNetworkItem.tsx -> src/components/EditContactModal/components/Section/ContactInformation/components/EditModal/layout/index.ts
9
+ created dist/cjs/index.js, dist/esm/index.js in 14.9s
10
+
11
+ src/asyncState/index.ts → dist/cjs/async-state.js, dist/esm/async-state.js...
12
+ created dist/cjs/async-state.js, dist/esm/async-state.js in 82ms
13
+
14
+ src/theme/index.ts → dist/cjs/theme.js, dist/esm/theme.js...
15
+ created dist/cjs/theme.js, dist/esm/theme.js in 161ms
16
+
17
+ dist/types/index.d.ts → dist/index.d.ts...
18
+ created dist/index.d.ts in 661ms
19
+
20
+ dist/types/asyncState/index.d.ts → dist/async-state.d.ts...
21
+ created dist/async-state.d.ts in 45ms
22
+
23
+ dist/types/theme/index.d.ts → dist/theme.d.ts...
24
+ created dist/theme.d.ts in 85ms
@@ -0,0 +1,29 @@
1
+
2
+ > @trii/components@3.1.10 build:types
3
+ > tsc --project tsconfig.build.json --emitDeclarationOnly
4
+
5
+ src/components/ContactSidebar/components/PanelView/components/BotsInfo/BotsInfo.tsx(11,10): error TS2724: '"@trii/types/dist/Conversations"' has no exported member named 'ConversationBotVar'. Did you mean 'IConversation'?
6
+ src/components/ContactSidebar/components/PanelView/components/BotsInfo/components/DataItem/DataItem.tsx(4,10): error TS2724: '"@trii/types/dist/Conversations"' has no exported member named 'ConversationBotVar'. Did you mean 'IConversation'?
7
+ src/components/ContactSidebar/components/PanelView/components/ContactConversation/components/ActiveConversation/ActiveConversation.tsx(48,38): error TS2551: Property 'assignedTo' does not exist on type 'IConversation'. Did you mean 'assignment'?
8
+ src/components/ContactSidebar/components/PanelView/components/ContactConversation/components/ActiveConversation/ActiveConversation.tsx(49,39): error TS2551: Property 'assignedTo' does not exist on type 'IConversation'. Did you mean 'assignment'?
9
+ src/components/ContactSidebar/components/PanelView/components/ContactConversation/components/EndedConversation/EndedConversationItem.tsx(46,19): error TS2551: Property 'assignedTo' does not exist on type 'IConversation'. Did you mean 'assignment'?
10
+ src/components/ContactSidebar/components/PanelView/components/ContactConversation/components/EndedConversation/EndedConversationItem.tsx(47,19): error TS2551: Property 'assignedTo' does not exist on type 'IConversation'. Did you mean 'assignment'?
11
+ src/components/ContactSidebar/components/PanelView/components/ContactConversation/components/EndedConversation/EndedConversationItem.tsx(48,19): error TS2551: Property 'assignedTo' does not exist on type 'IConversation'. Did you mean 'assignment'?
12
+ src/components/ContactSidebar/components/PanelView/components/ContactConversation/components/EndedConversation/EndedConversationItem.tsx(51,19): error TS2551: Property 'assignedTo' does not exist on type 'IConversation'. Did you mean 'assignment'?
13
+ src/components/ContactSidebar/components/PanelView/components/ContactConversation/components/EndedConversation/EndedConversationItem.tsx(52,19): error TS2551: Property 'assignedTo' does not exist on type 'IConversation'. Did you mean 'assignment'?
14
+ src/components/ContactSidebar/components/PanelView/components/ContactConversation/components/EndedConversation/EndedConversationItem.tsx(53,19): error TS2551: Property 'assignedTo' does not exist on type 'IConversation'. Did you mean 'assignment'?
15
+ src/components/ContactSidebar/components/PanelView/components/ContactDataDetails/ContactDataDetails.tsx(31,10): error TS2724: '"@trii/types/dist/Conversations"' has no exported member named 'ConversationBotVar'. Did you mean 'IConversation'?
16
+ src/components/ContactSidebar/components/PanelView/components/ContactDataDetails/ContactDataDetails.tsx(145,65): error TS2339: Property 'botVars' does not exist on type 'IConversation'.
17
+ src/components/ContactSidebar/components/PanelView/PanelView.tsx(47,47): error TS2339: Property 'botVars' does not exist on type 'IConversation'.
18
+ src/components/ContactSidebar/components/PanelView/PanelView.tsx(51,29): error TS2339: Property 'botVars' does not exist on type 'IConversation'.
19
+ src/components/EditContactModal/components/Section/General/components/BusinessGeneral.tsx(78,47): error TS2339: Property 'owner' does not exist on type 'IBusiness'.
20
+ src/components/EditContactModal/components/Section/General/components/BusinessGeneral.tsx(79,21): error TS2339: Property 'owner' does not exist on type 'IBusiness'.
21
+ src/components/EditContactModal/components/Section/General/components/BusinessGeneral.tsx(79,61): error TS2339: Property 'owner' does not exist on type 'IBusiness'.
22
+ src/components/EditContactModal/components/Section/General/components/BusinessGeneral.tsx(108,29): error TS2339: Property 'owner' does not exist on type 'IBusiness'.
23
+ src/components/EditContactModal/components/Section/General/components/ContactGeneral.tsx(85,47): error TS2339: Property 'owner' does not exist on type 'IContact'.
24
+ src/components/EditContactModal/components/Section/General/components/ContactGeneral.tsx(86,21): error TS2339: Property 'owner' does not exist on type 'IContact'.
25
+ src/components/EditContactModal/components/Section/General/components/ContactGeneral.tsx(86,61): error TS2339: Property 'owner' does not exist on type 'IContact'.
26
+ src/components/EditContactModal/components/Section/General/components/ContactGeneral.tsx(132,29): error TS2339: Property 'owner' does not exist on type 'IContact'.
27
+ src/components/EditContactModal/hooks/useEditBusiness/useEditBusiness.ts(55,49): error TS2339: Property 'owner' does not exist on type 'IBusiness'.
28
+ src/components/EditContactModal/hooks/useEditBusiness/useEditBusiness.ts(135,43): error TS2339: Property 'owner' does not exist on type 'IBusiness'.
29
+ src/components/EditContactModal/hooks/useEditContact/useEditContact.ts(94,48): error TS2339: Property 'owner' does not exist on type 'IContact'.