@trii/components 3.1.5 → 3.1.6

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 (80) hide show
  1. package/dist/cjs/index.js +18 -18
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/theme.js +1 -1
  4. package/dist/cjs/theme.js.map +1 -1
  5. package/dist/esm/index.js +21 -21
  6. package/dist/esm/index.js.map +1 -1
  7. package/dist/esm/theme.js +1 -1
  8. package/dist/esm/theme.js.map +1 -1
  9. package/dist/index.d.ts +15 -14
  10. package/dist/theme.d.ts +15 -14
  11. package/dist/types/components/ContactInfoPopup/components/BusinessSection/BusinessSection.d.ts +1 -1
  12. package/dist/types/components/ContactInfoPopup/components/ContactMethod/ContactMethod.d.ts +0 -1
  13. package/dist/types/components/ContactInfoPopup/components/LabelsSection/LabelsSection.d.ts +1 -1
  14. package/dist/types/components/ContactInfoPopup/components/MembersSection/MembersSection.d.ts +1 -1
  15. package/dist/types/components/ContactSidebar/components/CombineContactsModal/CombineContactsModal.d.ts +1 -1
  16. package/dist/types/components/ContactSidebar/components/MediaViewer/MediaViewer.d.ts +1 -1
  17. package/dist/types/components/ContactSidebar/components/PanelView/components/ContactButton/ContactButton.d.ts +0 -1
  18. package/dist/types/components/ContactSidebar/components/PanelView/components/ContactButton/components/ExternalLink/ExternalLink.d.ts +0 -1
  19. package/dist/types/components/ContactSidebar/components/PanelView/components/ContactConversation/ContactConversation.d.ts +0 -1
  20. package/dist/types/components/ContactSidebar/components/PanelView/components/ContactConversation/styles.d.ts +1 -2
  21. package/dist/types/components/ContactSidebar/components/PanelView/components/ContactData/ContactData.d.ts +0 -1
  22. package/dist/types/components/ContactSidebar/components/PanelView/components/ContactData/components/Properties/Properties.d.ts +1 -1
  23. package/dist/types/components/ContactSidebar/components/PanelView/components/ContactData/styles.d.ts +1 -2
  24. package/dist/types/components/ContactSidebar/components/PanelView/components/ContactDataDetails/ContactDataDetails.d.ts +0 -1
  25. package/dist/types/components/ContactSidebar/components/PanelView/components/ContactEvent/ContactEvent.d.ts +0 -1
  26. package/dist/types/components/ContactSidebar/components/PanelView/components/ContactEvent/components/AddEvent/styles.d.ts +1 -2
  27. package/dist/types/components/ContactSidebar/components/PanelView/components/ContactEvent/components/DatePicker/styles.d.ts +3 -4
  28. package/dist/types/components/ContactSidebar/components/PanelView/components/ContactEvent/components/LocationTextField/SendLocation/components/GoogleMap/components/LocationSearch/locationSearch.d.ts +0 -1
  29. package/dist/types/components/ContactSidebar/components/PanelView/components/ContactEvent/layout/BasicInputContainer/styles.d.ts +2 -3
  30. package/dist/types/components/ContactSidebar/components/PanelView/components/ContactFiles/ContactFiles.d.ts +0 -1
  31. package/dist/types/components/ContactSidebar/components/PanelView/components/ContactHistory/ContactHistory.d.ts +0 -1
  32. package/dist/types/components/ContactSidebar/components/PanelView/components/ContactNotes/ContactNotes.d.ts +0 -1
  33. package/dist/types/components/ContactSidebar/components/PanelView/components/ContactNotes/components/AddNote/AddNote.d.ts +1 -1
  34. package/dist/types/components/ContactSidebar/components/PanelView/components/ContactNotes/context/NotesCardContext.d.ts +0 -1
  35. package/dist/types/components/ContactSidebar/components/PanelView/components/ContactPanelShop/ContactPanelShop.d.ts +0 -1
  36. package/dist/types/components/ContactSidebar/components/PanelView/components/ContactRelations/ContactRelations.d.ts +0 -1
  37. package/dist/types/components/ContactSidebar/components/PanelView/components/ContactTask/ContactTask.d.ts +0 -1
  38. package/dist/types/components/ContactSidebar/components/PanelView/components/ContactTask/components/AddTask/styles.d.ts +1 -2
  39. package/dist/types/components/ContactSidebar/components/PanelView/components/GroupData/GroupData.d.ts +0 -1
  40. package/dist/types/components/ContactSidebar/components/PanelView/components/GroupData/components/GroupDataContent/components/InformationBox/InformationBox.d.ts +0 -1
  41. package/dist/types/components/ContactSidebar/context/ActivitiesCardContext.d.ts +0 -1
  42. package/dist/types/components/ContactSidebar/context/SidebarPropsContext.d.ts +1 -2
  43. package/dist/types/components/ContactSidebar/hooks/useActivityDate.d.ts +2 -2
  44. package/dist/types/components/ContactSidebar/hooks/useCreateActivity.d.ts +8 -9
  45. package/dist/types/components/ContactSidebar/hooks/useLinkContacts.d.ts +2 -2
  46. package/dist/types/components/ContactSidebar/hooks/useMultipleSelect.d.ts +0 -1
  47. package/dist/types/components/ContactSidebar/hooks/useNotifications.d.ts +1 -1
  48. package/dist/types/components/ContactSidebar/hooks/useShareWithUsers.d.ts +2 -2
  49. package/dist/types/components/ContactSidebar/hooks/useSidebarAudioControl.d.ts +0 -1
  50. package/dist/types/components/ContactSidebar/utils/googleMapsUtils.d.ts +1 -1
  51. package/dist/types/components/ContactSidebar/utils/markdown/Markdown.d.ts +1 -1
  52. package/dist/types/components/EditContactModal/components/SearchLocation/googleMapsUtils.d.ts +1 -1
  53. package/dist/types/components/EditContactModal/components/Section/ContactInformation/components/EditModal/EditModal.d.ts +0 -1
  54. package/dist/types/components/EditContactModal/components/Section/ContactInformation/components/EditModal/layout/WarningsDisplay/components/Warning/hooks/useContactInfoPopup.d.ts +2 -2
  55. package/dist/types/components/EditContactModal/components/Section/ContactInformation/components/EditModal/shared/StatusAdornment/components/Adornment/Adornment.d.ts +1 -1
  56. package/dist/types/components/EditContactModal/components/Section/General/components/BusinessGeneral.d.ts +1 -1
  57. package/dist/types/components/EditContactModal/components/Section/General/components/ContactGeneral.d.ts +1 -1
  58. package/dist/types/components/EditContactModal/components/Section/utils/resolveUserLabel.d.ts +1 -1
  59. package/dist/types/components/EditContactModal/context/EditContactApiContext.d.ts +8 -9
  60. package/dist/types/components/EditContactModal/context/EditContactViewContext.d.ts +1 -2
  61. package/dist/types/components/EditContactModal/hooks/useEditContactModalController.d.ts +1 -1
  62. package/dist/types/components/EditContactModal/hooks/utils/editContactHelper.d.ts +1 -1
  63. package/dist/types/components/EventsDialog/components/ConfirmDeleteDialog/ConfirmDeleteDialog.d.ts +0 -1
  64. package/dist/types/components/EventsDialog/components/DatePicker/styles.d.ts +4 -3
  65. package/dist/types/components/EventsDialog/components/DeleteRecurringEventDialog/DeleteRecurringEventDialog.d.ts +0 -1
  66. package/dist/types/components/EventsDialog/components/EditRecurringEventDialog/EditRecurringEventDialog.d.ts +0 -1
  67. package/dist/types/components/EventsDialog/components/LocationTextField/SendLocation/components/GoogleMap/components/LocationSearch/locationSearch.d.ts +0 -1
  68. package/dist/types/components/EventsDialog/components/ReminderNotifications/components/ReminderItem/style.d.ts +7 -10
  69. package/dist/types/components/EventsDialog/components/ReminderNotifications/styles.d.ts +3 -2
  70. package/dist/types/components/EventsDialog/context/CalendarContextProvider.d.ts +0 -1
  71. package/dist/types/components/EventsDialog/context/EventsDialogApiContext.d.ts +3 -4
  72. package/dist/types/components/EventsDialog/hooks/useCalendarEvents.d.ts +0 -1
  73. package/dist/types/components/EventsDialog/hooks/useCalendarTasks.d.ts +0 -1
  74. package/dist/types/components/EventsDialog/hooks/useNotifications.d.ts +1 -1
  75. package/dist/types/components/EventsDialog/layout/BasicInputContainer/styles.d.ts +3 -2
  76. package/dist/types/components/EventsDialog/utils/googleMapsLoader.d.ts +1 -1
  77. package/dist/types/theme/themeActionTypes.d.ts +5 -0
  78. package/dist/types/theme/themePersistence.d.ts +15 -0
  79. package/dist/types/theme/themeSlice.d.ts +2 -14
  80. package/package.json +1 -1
package/dist/cjs/theme.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var s=require("@mui/material"),a=require("@mui/material/styles"),u=require("@reduxjs/toolkit"),E=require("axios");function f(r){return r&&r.__esModule?r:{default:r}}var O=f(E);const w=r=>{if(r.palette.mode!=="dark")return r;const{palette:e}=r,o=a.alpha(e.text.secondary,.5),i=a.alpha(e.text.secondary,.72);return a.createTheme(r,{components:{MuiSelect:{defaultProps:{MenuProps:{PaperProps:{sx:{backgroundColor:e.background.dropdownMenu,backgroundImage:"none"}}}}},MuiTypography:{styleOverrides:{root:{color:e.text.primary}}},MuiPaper:{styleOverrides:{root:{backgroundColor:e.background.paper,backgroundImage:"none"},outlined:{borderColor:e.divider}}},MuiCard:{styleOverrides:{root:{backgroundColor:e.background.paper,backgroundImage:"none",borderColor:e.divider}}},MuiDialog:{styleOverrides:{paper:{backgroundColor:e.background.dropdownMenu,backgroundImage:"none",border:`1px solid ${e.divider}`}}},MuiDrawer:{styleOverrides:{paper:{backgroundColor:e.background.dropdownMenu,backgroundImage:"none",borderColor:e.divider}}},MuiPopover:{styleOverrides:{paper:{backgroundColor:e.background.dropdownMenu,backgroundImage:"none",border:`1px solid ${e.divider}`}}},MuiMenu:{styleOverrides:{paper:{backgroundColor:e.background.dropdownMenu,backgroundImage:"none",border:`1px solid ${e.divider}`}}},MuiOutlinedInput:{styleOverrides:{root:{backgroundColor:a.alpha(e.background.default,.34),"& .MuiOutlinedInput-notchedOutline":{borderColor:o},"&:hover .MuiOutlinedInput-notchedOutline":{borderColor:i},"&.Mui-focused .MuiOutlinedInput-notchedOutline":{borderColor:e.primary.light,borderWidth:2},"&.Mui-disabled .MuiOutlinedInput-notchedOutline":{borderColor:a.alpha(e.text.disabled,.36)}},input:{"&::placeholder":{color:e.text.disabled,opacity:1}}}},MuiInputLabel:{styleOverrides:{root:{color:e.text.secondary,"&.Mui-focused":{color:e.primary.light},"&.Mui-disabled":{color:e.text.disabled}}}},MuiButton:{styleOverrides:{root:{"&.Mui-disabled":{color:e.text.disabled,borderColor:a.alpha(e.text.disabled,.38)}},containedPrimary:{backgroundColor:e.primary.main,color:e.primary.contrastText,"&:hover":{backgroundColor:e.primary.dark}},outlined:{color:e.primary.light,borderColor:a.alpha(e.primary.light,.72),"&:hover":{color:e.primary.light,borderColor:e.primary.light,backgroundColor:a.alpha(e.primary.light,.1)}},textPrimary:{color:e.primary.light,"&:hover":{backgroundColor:a.alpha(e.primary.light,.1)}}}},MuiIconButton:{styleOverrides:{root:{color:e.text.secondary,"&:hover":{color:e.text.primary,backgroundColor:e.action.hover},"&.MuiIconButton-colorPrimary":{color:e.primary.light},"&.MuiIconButton-colorError":{color:e.error.light},"&.Mui-disabled":{color:e.text.disabled}}}},MuiChip:{styleOverrides:{root:{color:e.text.primary,backgroundColor:a.alpha(e.text.primary,.07),borderColor:o,"& .MuiChip-icon":{color:"inherit"},"&.MuiChip-colorSuccess":{color:e.success.light,backgroundColor:e.success.dark,borderColor:a.alpha(e.success.light,.46)},"&.MuiChip-colorWarning":{color:e.warning.light,backgroundColor:e.warning.dark,borderColor:a.alpha(e.warning.light,.46)},"&.MuiChip-colorError":{color:e.error.light,backgroundColor:e.error.dark,borderColor:a.alpha(e.error.light,.46)},"&.MuiChip-colorInfo":{color:e.info.light,backgroundColor:e.info.dark,borderColor:a.alpha(e.info.light,.46)}}}},MuiAlert:{styleOverrides:{root:{border:"1px solid currentColor"},standardSuccess:{color:e.success.light,backgroundColor:e.success.dark},standardWarning:{color:e.warning.light,backgroundColor:e.warning.dark},standardError:{color:e.error.light,backgroundColor:e.error.dark},standardInfo:{color:e.info.light,backgroundColor:e.info.dark}}},MuiTableHead:{styleOverrides:{root:{backgroundColor:e.cellHeader}}},MuiTableCell:{styleOverrides:{root:{borderColor:e.divider},head:{color:e.text.primary,fontWeight:700}}},MuiTableRow:{styleOverrides:{root:{"&:hover":{backgroundColor:e.action.hover},"&.Mui-selected":{backgroundColor:e.action.selected,"&:hover":{backgroundColor:e.action.selected}}}}},MuiTabs:{styleOverrides:{indicator:{backgroundColor:e.primary.light}}},MuiTab:{styleOverrides:{root:{color:e.text.secondary,"&.Mui-selected":{color:e.primary.light}}}},MuiSwitch:{styleOverrides:{switchBase:{color:e.text.disabled,"&.Mui-checked":{color:e.primary.light,"& + .MuiSwitch-track":{backgroundColor:e.primary.light,opacity:.5}}},track:{backgroundColor:e.text.disabled,opacity:.34}}},MuiTooltip:{styleOverrides:{tooltip:{color:e.text.primary,backgroundColor:e.background.tooltip,border:`1px solid ${o}`},arrow:{color:e.background.tooltip}}},MuiDivider:{styleOverrides:{root:{borderColor:e.divider}}},MuiLink:{styleOverrides:{root:{color:e.primary.light}}}}})},A=(r,e={})=>{const{transparentModal:o=!1,autocompleteZIndex:i=11}=e,l=r.palette.background,d=s.createTheme({...r,components:{MuiSelect:{defaultProps:{MenuProps:{PaperProps:{sx:{backgroundColor:l.panel,backgroundImage:"linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))"}}}}},MuiAutocomplete:{styleOverrides:{popper:{zIndex:i,"& div":{backgroundColor:l.panel}}}},MuiPaper:{styleOverrides:{root:{backgroundColor:l.panel,backgroundImage:"linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))"}}},MuiMenu:{styleOverrides:{paper:{backgroundColor:l.panel,backgroundImage:"linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))"}}},MuiList:{styleOverrides:{root:{padding:0}}},MuiModal:{styleOverrides:{root:o?{background:"transparent","& .MuiBackdrop-root":{background:"transparent",border:"none"}}:{}}},MuiTypography:{styleOverrides:{root:{color:r.palette.text.primary}}},MuiChip:{styleOverrides:{root:{color:r.palette.text.primary,border:"1px solid rgba(0, 0, 0, 0.1)",borderRadius:"4px",height:"20px",fontSize:"0.7125rem"}}},MuiListSubheader:{styleOverrides:{root:{backgroundColor:l.accordionHeader}}},MuiButton:{styleOverrides:{outlined:{color:r.palette.mode==="light"?r.palette.primary.dark:r.palette.primary.light,borderColor:r.palette.mode==="light"?r.palette.primary.dark:r.palette.primary.light,"&:hover":{borderColor:r.palette.mode==="light"?r.palette.primary.main:r.palette.primary.light,color:r.palette.mode==="light"?r.palette.primary.main:r.palette.primary.light}}}}}});return w(d)},p={main:"#246FB5",light:"#78B7F2",dark:"#195A96",contrastText:"#FFFFFF"},t=s.createTheme({name:"light",palette:{mode:"light",contrastThreshold:4.5,primary:p,secondary:{main:"#526078",light:"#728099",dark:"#38445A",contrastText:"#FFFFFF"},error:{main:"#BD3446",light:"#FCECEF",dark:"#932536",contrastText:"#FFFFFF"},warning:{main:"#946000",light:"#FFF5DF",dark:"#704800",contrastText:"#FFFFFF"},info:{main:"#176B9B",light:"#EAF4FC",dark:"#125174",contrastText:"#FFFFFF"},success:{main:"#237547",light:"#EAF6EE",dark:"#185935",contrastText:"#FFFFFF"},background:{default:"#F4F6FA",paper:"#FFFFFF",mainCenter:"#F4F6FA",mainGradient:"linear-gradient(120deg, #195A96, #246FB5)",navMenu:"#EDF1F7",dropdownMenu:"#FFFFFF",panel:"#FFFFFF",tooltip:"#EDF1F7",accordionHeader:"#EDF1F7",panelHeader:"#EDF1F7",panelCenter:"#F8FAFD",panelGradient:"#EDF1F7",selectedItem:"#E5EFFA"},text:{primary:"#202C3E",secondary:"#526078",disabled:"#7C8798",colorMain:"#202C3E"},action:{active:"#526078",hover:"rgba(36, 111, 181, 0.06)",selected:"rgba(36, 111, 181, 0.12)",disabled:"#8893A3",disabledBackground:"#E8ECF2"},divider:"#D7DEE9",containerBox:{default:"#FFFFFF",main:"#F8FAFD"},dropdownBox:"#FFFFFF",color:{icons:"#526078"},cellHeader:"#EDF1F7",Skeleton:{bg:"#E4EAF2"},messageBox:"#E5EFFA",boxShadow:"rgba(25, 42, 66, 0.12)",disabled:"#8893A3"}}),n=s.createTheme({name:"dark",palette:{mode:"dark",contrastThreshold:4.5,primary:p,secondary:{main:"#B7B5D9",light:"#D6D4EF",dark:"#46415F",contrastText:"#171824"},error:{main:"#F06B7A",light:"#FF9AA8",dark:"#4A1D24",contrastText:"#2B0D12"},warning:{main:"#E5A93B",light:"#FFD27A",dark:"#493515",contrastText:"#2A1B05"},info:{main:"#4FAFE8",light:"#7CCBFF",dark:"#123955",contrastText:"#082033"},success:{main:"#43C17A",light:"#75E0A7",dark:"#143D2B",contrastText:"#092116"},background:{default:"#111520",paper:"#1B2333",mainCenter:"#151C2A",mainGradient:"linear-gradient(120deg, #131B2B, #242237)",navMenu:"#0E121C",dropdownMenu:"#252D40",panel:"#1B2333",tooltip:"#30384F",accordionHeader:"#20283A",panelHeader:"#20283A",panelCenter:"#222B3E",panelGradient:"#2C2B40",selectedItem:"#293E59"},text:{primary:"#F1F4FA",secondary:"#BBC6D8",disabled:"#8793A6",colorMain:"#F1F4FA"},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)"},divider:"rgba(187, 198, 216, 0.22)",containerBox:{default:"#1B2333",main:"#222B3E"},dropdownBox:"#252D40",color:{icons:"#BBC6D8"},cellHeader:"#20283A",Skeleton:{bg:"#30384F"},messageBox:"#203953",boxShadow:"rgba(0, 0, 0, 0.40)",disabled:"rgba(187, 198, 216, 0.45)"}}),S={...t,name:"lightBlueIndigo"},D={...t,name:"lightBlue"},I={...t,name:"lightRed"},P={...t,name:"lightGreen"},L={...t,name:"lightPink"},G={...t,name:"lightPurple"},H={...t,name:"lightTeal"},R={...t,name:"lightLime"},_={...t,name:"lightYellow"},N={...t,name:"lightAmber"},$={...t,name:"lightOrange"},W={...t,name:"lightBrown"},Y={...t,name:"lightGray"},q={...n,name:"darkBlue"},z={...n,name:"darkBlack"},m=["light","dark","system"],b=["lightBlueIndigo","lightBlue","lightRed","lightGreen","lightPink","lightPurple","lightTeal","lightLime","lightYellow","lightAmber","lightOrange","lightBrown","lightGray","darkBlue","darkBlack"],k=r=>m.includes(r)||b.includes(r),g=r=>r==="light"||r==="dark"||r==="system"?r:r&&b.includes(r)?r.startsWith("dark")?"dark":"light":"system",F=()=>typeof window<"u"&&typeof window.matchMedia=="function"?window.matchMedia("(prefers-color-scheme: dark)"):void 0,c=(r,e=F()?.matches??!1)=>r==="system"?e?"dark":"light":r,j=(r,e)=>{if(r!=="system")return e(r),()=>{};const o=F();if(e(c(r,o?.matches??!1)),!o)return()=>{};const i=l=>e(l.matches?"dark":"light");return typeof o.addEventListener=="function"?(o.addEventListener("change",i),()=>o.removeEventListener("change",i)):(o.addListener(i),()=>o.removeListener(i))},y="trii-theme",V=r=>`https://agent-api.trii.app/api/v1/settings/${r}/user/setTheme`,J=()=>{try{return g(localStorage.getItem(y))}catch{return"system"}},U=r=>{try{localStorage.setItem(y,r)}catch{}},C=J(),M=c(C),Z={themeSelected:M==="dark"?n:t,preference:C,darkMode:M==="dark",toggleStatus:"idle"},T=u.createAsyncThunk("Theme/updateTheme",async(r,{getState:e})=>{const{uid:o="",spaceId:i=""}=e().User.user??{},l=JSON.stringify({theme:r,uid:o}),d=await O.default.put(V(i),l,{headers:{"Content-Type":"application/json"}});if(!k(d.data.theme))throw new Error("Invalid theme response");return d.data}),v=u.createSlice({name:"Theme",initialState:Z,reducers:{toggleTheme:(r,e)=>{h(r,e.payload)},systemThemeChanged:(r,e)=>{r.preference==="system"&&Object.assign(r,{themeSelected:e.payload==="dark"?n:t,darkMode:e.payload==="dark",toggleStatus:"toggled"})},toggleModeTheme:r=>{h(r,r.darkMode?"light":"dark")}},extraReducers:r=>{r.addCase(T.fulfilled,(e,o)=>{h(e,o.payload.theme)})}});function h(r,e){const o=g(e),i=c(o);U(e);const l=i==="dark"?n:t,d=e==="system"||e==="light"||e==="dark"?l:{...l,name:e};Object.assign(r,{preference:o,themeSelected:d,darkMode:i==="dark",toggleStatus:"toggled"})}const K=r=>r.Theme.preference,{toggleTheme:Q,toggleModeTheme:X,systemThemeChanged:ee}=v.actions,re=r=>r.Theme.toggleStatus,B=r=>r.Theme.themeSelected,x=r=>r.Theme.darkMode,oe=B,te=x;var ae=v.reducer;exports.MuiComponentsConfig=A,exports.THEME_PREFERENCES=m,exports.darkBlack=z,exports.darkBlue=q,exports.darkTheme=n,exports.isValidThemeName=k,exports.lightAmber=N,exports.lightBlue=D,exports.lightBlueIndigo=S,exports.lightBrown=W,exports.lightGray=Y,exports.lightGreen=P,exports.lightLime=R,exports.lightOrange=$,exports.lightPink=L,exports.lightPurple=G,exports.lightRed=I,exports.lightTeal=H,exports.lightTheme=t,exports.lightYellow=_,exports.normalizeThemePreference=g,exports.observeThemePreference=j,exports.resolveThemePreference=c,exports.selectDarkTheme=x,exports.selectTheme=B,exports.selectThemePreference=K,exports.selectThemeToggleStatus=re,exports.selectedDarkTheme=te,exports.selectedTheme=oe,exports.systemThemeChanged=ee,exports.themeReducer=ae,exports.toggleModeTheme=X,exports.toggleTheme=Q,exports.updateTheme=T;
1
+ "use strict";var s=require("@mui/material"),a=require("@mui/material/styles"),g=require("@reduxjs/toolkit"),x=require("axios");function f(r){return r&&r.__esModule?r:{default:r}}var O=f(x);const A=r=>{if(r.palette.mode!=="dark")return r;const{palette:e}=r,o=a.alpha(e.text.secondary,.5),i=a.alpha(e.text.secondary,.72);return a.createTheme(r,{components:{MuiSelect:{defaultProps:{MenuProps:{PaperProps:{sx:{backgroundColor:e.background.dropdownMenu,backgroundImage:"none"}}}}},MuiTypography:{styleOverrides:{root:{color:e.text.primary}}},MuiPaper:{styleOverrides:{root:{backgroundColor:e.background.paper,backgroundImage:"none"},outlined:{borderColor:e.divider}}},MuiCard:{styleOverrides:{root:{backgroundColor:e.background.paper,backgroundImage:"none",borderColor:e.divider}}},MuiDialog:{styleOverrides:{paper:{backgroundColor:e.background.dropdownMenu,backgroundImage:"none",border:`1px solid ${e.divider}`}}},MuiDrawer:{styleOverrides:{paper:{backgroundColor:e.background.dropdownMenu,backgroundImage:"none",borderColor:e.divider}}},MuiPopover:{styleOverrides:{paper:{backgroundColor:e.background.dropdownMenu,backgroundImage:"none",border:`1px solid ${e.divider}`}}},MuiMenu:{styleOverrides:{paper:{backgroundColor:e.background.dropdownMenu,backgroundImage:"none",border:`1px solid ${e.divider}`}}},MuiOutlinedInput:{styleOverrides:{root:{backgroundColor:a.alpha(e.background.default,.34),"& .MuiOutlinedInput-notchedOutline":{borderColor:o},"&:hover .MuiOutlinedInput-notchedOutline":{borderColor:i},"&.Mui-focused .MuiOutlinedInput-notchedOutline":{borderColor:e.primary.light,borderWidth:2},"&.Mui-disabled .MuiOutlinedInput-notchedOutline":{borderColor:a.alpha(e.text.disabled,.36)}},input:{"&::placeholder":{color:e.text.disabled,opacity:1}}}},MuiInputLabel:{styleOverrides:{root:{color:e.text.secondary,"&.Mui-focused":{color:e.primary.light},"&.Mui-disabled":{color:e.text.disabled}}}},MuiButton:{styleOverrides:{root:{"&.Mui-disabled":{color:e.text.disabled,borderColor:a.alpha(e.text.disabled,.38)}},containedPrimary:{backgroundColor:e.primary.main,color:e.primary.contrastText,"&:hover":{backgroundColor:e.primary.dark}},outlined:{color:e.primary.light,borderColor:a.alpha(e.primary.light,.72),"&:hover":{color:e.primary.light,borderColor:e.primary.light,backgroundColor:a.alpha(e.primary.light,.1)}},textPrimary:{color:e.primary.light,"&:hover":{backgroundColor:a.alpha(e.primary.light,.1)}}}},MuiIconButton:{styleOverrides:{root:{color:e.text.secondary,"&:hover":{color:e.text.primary,backgroundColor:e.action.hover},"&.MuiIconButton-colorPrimary":{color:e.primary.light},"&.MuiIconButton-colorError":{color:e.error.light},"&.Mui-disabled":{color:e.text.disabled}}}},MuiChip:{styleOverrides:{root:{color:e.text.primary,backgroundColor:a.alpha(e.text.primary,.07),borderColor:o,"& .MuiChip-icon":{color:"inherit"},"&.MuiChip-colorSuccess":{color:e.success.light,backgroundColor:e.success.dark,borderColor:a.alpha(e.success.light,.46)},"&.MuiChip-colorWarning":{color:e.warning.light,backgroundColor:e.warning.dark,borderColor:a.alpha(e.warning.light,.46)},"&.MuiChip-colorError":{color:e.error.light,backgroundColor:e.error.dark,borderColor:a.alpha(e.error.light,.46)},"&.MuiChip-colorInfo":{color:e.info.light,backgroundColor:e.info.dark,borderColor:a.alpha(e.info.light,.46)}}}},MuiAlert:{styleOverrides:{root:{border:"1px solid currentColor"},standardSuccess:{color:e.success.light,backgroundColor:e.success.dark},standardWarning:{color:e.warning.light,backgroundColor:e.warning.dark},standardError:{color:e.error.light,backgroundColor:e.error.dark},standardInfo:{color:e.info.light,backgroundColor:e.info.dark}}},MuiTableHead:{styleOverrides:{root:{backgroundColor:e.cellHeader}}},MuiTableCell:{styleOverrides:{root:{borderColor:e.divider},head:{color:e.text.primary,fontWeight:700}}},MuiTableRow:{styleOverrides:{root:{"&:hover":{backgroundColor:e.action.hover},"&.Mui-selected":{backgroundColor:e.action.selected,"&:hover":{backgroundColor:e.action.selected}}}}},MuiTabs:{styleOverrides:{indicator:{backgroundColor:e.primary.light}}},MuiTab:{styleOverrides:{root:{color:e.text.secondary,"&.Mui-selected":{color:e.primary.light}}}},MuiSwitch:{styleOverrides:{switchBase:{color:e.text.disabled,"&.Mui-checked":{color:e.primary.light,"& + .MuiSwitch-track":{backgroundColor:e.primary.light,opacity:.5}}},track:{backgroundColor:e.text.disabled,opacity:.34}}},MuiTooltip:{styleOverrides:{tooltip:{color:e.text.primary,backgroundColor:e.background.tooltip,border:`1px solid ${o}`},arrow:{color:e.background.tooltip}}},MuiDivider:{styleOverrides:{root:{borderColor:e.divider}}},MuiLink:{styleOverrides:{root:{color:e.primary.light}}}}})},w=(r,e={})=>{const{transparentModal:o=!1,autocompleteZIndex:i=11}=e,l=r.palette.background,d=s.createTheme({...r,components:{MuiSelect:{defaultProps:{MenuProps:{PaperProps:{sx:{backgroundColor:l.panel,backgroundImage:"linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))"}}}}},MuiAutocomplete:{styleOverrides:{popper:{zIndex:i,"& div":{backgroundColor:l.panel}}}},MuiPaper:{styleOverrides:{root:{backgroundColor:l.panel,backgroundImage:"linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))"}}},MuiMenu:{styleOverrides:{paper:{backgroundColor:l.panel,backgroundImage:"linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))"}}},MuiList:{styleOverrides:{root:{padding:0}}},MuiModal:{styleOverrides:{root:o?{background:"transparent","& .MuiBackdrop-root":{background:"transparent",border:"none"}}:{}}},MuiTypography:{styleOverrides:{root:{color:r.palette.text.primary}}},MuiChip:{styleOverrides:{root:{color:r.palette.text.primary,border:"1px solid rgba(0, 0, 0, 0.1)",borderRadius:"4px",height:"20px",fontSize:"0.7125rem"}}},MuiListSubheader:{styleOverrides:{root:{backgroundColor:l.accordionHeader}}},MuiButton:{styleOverrides:{outlined:{color:r.palette.mode==="light"?r.palette.primary.dark:r.palette.primary.light,borderColor:r.palette.mode==="light"?r.palette.primary.dark:r.palette.primary.light,"&:hover":{borderColor:r.palette.mode==="light"?r.palette.primary.main:r.palette.primary.light,color:r.palette.mode==="light"?r.palette.primary.main:r.palette.primary.light}}}}}});return A(d)},p="Theme/updateTheme",D=g.createAction(`${p}/fulfilled`),m=["light","dark","system"],b=["lightBlueIndigo","lightBlue","lightRed","lightGreen","lightPink","lightPurple","lightTeal","lightLime","lightYellow","lightAmber","lightOrange","lightBrown","lightGray","darkBlue","darkBlack"],k=r=>m.includes(r)||b.includes(r),h=r=>r==="light"||r==="dark"||r==="system"?r:r&&b.includes(r)?r.startsWith("dark")?"dark":"light":"system",F=()=>typeof window<"u"&&typeof window.matchMedia=="function"?window.matchMedia("(prefers-color-scheme: dark)"):void 0,c=(r,e=F()?.matches??!1)=>r==="system"?e?"dark":"light":r,P=(r,e)=>{if(r!=="system")return e(r),()=>{};const o=F();if(e(c(r,o?.matches??!1)),!o)return()=>{};const i=l=>e(l.matches?"dark":"light");return typeof o.addEventListener=="function"?(o.addEventListener("change",i),()=>o.removeEventListener("change",i)):(o.addListener(i),()=>o.removeListener(i))},I=r=>`https://agent-api.trii.app/api/v1/settings/${r}/user/setTheme`,S=g.createAsyncThunk(p,async(r,{getState:e})=>{const{uid:o="",spaceId:i=""}=e().User.user??{},l=JSON.stringify({theme:r,uid:o}),d=await O.default.put(I(i),l,{headers:{"Content-Type":"application/json"}});if(!k(d.data.theme))throw new Error("Invalid theme response");return d.data}),y={main:"#246FB5",light:"#78B7F2",dark:"#195A96",contrastText:"#FFFFFF"},t=s.createTheme({name:"light",palette:{mode:"light",contrastThreshold:4.5,primary:y,secondary:{main:"#526078",light:"#728099",dark:"#38445A",contrastText:"#FFFFFF"},error:{main:"#BD3446",light:"#FCECEF",dark:"#932536",contrastText:"#FFFFFF"},warning:{main:"#946000",light:"#FFF5DF",dark:"#704800",contrastText:"#FFFFFF"},info:{main:"#176B9B",light:"#EAF4FC",dark:"#125174",contrastText:"#FFFFFF"},success:{main:"#237547",light:"#EAF6EE",dark:"#185935",contrastText:"#FFFFFF"},background:{default:"#F4F6FA",paper:"#FFFFFF",mainCenter:"#F4F6FA",mainGradient:"linear-gradient(120deg, #195A96, #246FB5)",navMenu:"#EDF1F7",dropdownMenu:"#FFFFFF",panel:"#FFFFFF",tooltip:"#EDF1F7",accordionHeader:"#EDF1F7",panelHeader:"#EDF1F7",panelCenter:"#F8FAFD",panelGradient:"#EDF1F7",selectedItem:"#E5EFFA"},text:{primary:"#202C3E",secondary:"#526078",disabled:"#7C8798",colorMain:"#202C3E"},action:{active:"#526078",hover:"rgba(36, 111, 181, 0.06)",selected:"rgba(36, 111, 181, 0.12)",disabled:"#8893A3",disabledBackground:"#E8ECF2"},divider:"#D7DEE9",containerBox:{default:"#FFFFFF",main:"#F8FAFD"},dropdownBox:"#FFFFFF",color:{icons:"#526078"},cellHeader:"#EDF1F7",Skeleton:{bg:"#E4EAF2"},messageBox:"#E5EFFA",boxShadow:"rgba(25, 42, 66, 0.12)",disabled:"#8893A3"}}),n=s.createTheme({name:"dark",palette:{mode:"dark",contrastThreshold:4.5,primary:y,secondary:{main:"#B7B5D9",light:"#D6D4EF",dark:"#46415F",contrastText:"#171824"},error:{main:"#F06B7A",light:"#FF9AA8",dark:"#4A1D24",contrastText:"#2B0D12"},warning:{main:"#E5A93B",light:"#FFD27A",dark:"#493515",contrastText:"#2A1B05"},info:{main:"#4FAFE8",light:"#7CCBFF",dark:"#123955",contrastText:"#082033"},success:{main:"#43C17A",light:"#75E0A7",dark:"#143D2B",contrastText:"#092116"},background:{default:"#111520",paper:"#1B2333",mainCenter:"#151C2A",mainGradient:"linear-gradient(120deg, #131B2B, #242237)",navMenu:"#0E121C",dropdownMenu:"#252D40",panel:"#1B2333",tooltip:"#30384F",accordionHeader:"#20283A",panelHeader:"#20283A",panelCenter:"#222B3E",panelGradient:"#2C2B40",selectedItem:"#293E59"},text:{primary:"#F1F4FA",secondary:"#BBC6D8",disabled:"#8793A6",colorMain:"#F1F4FA"},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)"},divider:"rgba(187, 198, 216, 0.22)",containerBox:{default:"#1B2333",main:"#222B3E"},dropdownBox:"#252D40",color:{icons:"#BBC6D8"},cellHeader:"#20283A",Skeleton:{bg:"#30384F"},messageBox:"#203953",boxShadow:"rgba(0, 0, 0, 0.40)",disabled:"rgba(187, 198, 216, 0.45)"}}),L={...t,name:"lightBlueIndigo"},G={...t,name:"lightBlue"},H={...t,name:"lightRed"},R={...t,name:"lightGreen"},_={...t,name:"lightPink"},$={...t,name:"lightPurple"},N={...t,name:"lightTeal"},Y={...t,name:"lightLime"},W={...t,name:"lightYellow"},q={...t,name:"lightAmber"},z={...t,name:"lightOrange"},j={...t,name:"lightBrown"},U={...t,name:"lightGray"},V={...n,name:"darkBlue"},J={...n,name:"darkBlack"},C="trii-theme",Z=()=>{try{return h(localStorage.getItem(C))}catch{return"system"}},K=r=>{try{localStorage.setItem(C,r)}catch{}},M=Z(),T=c(M),Q={themeSelected:T==="dark"?n:t,preference:M,darkMode:T==="dark",toggleStatus:"idle"},v=g.createSlice({name:"Theme",initialState:Q,reducers:{toggleTheme:(r,e)=>{u(r,e.payload)},systemThemeChanged:(r,e)=>{r.preference==="system"&&Object.assign(r,{themeSelected:e.payload==="dark"?n:t,darkMode:e.payload==="dark",toggleStatus:"toggled"})},toggleModeTheme:r=>{u(r,r.darkMode?"light":"dark")}},extraReducers:r=>{r.addCase(D,(e,o)=>{u(e,o.payload.theme)})}});function u(r,e){const o=h(e),i=c(o);K(e);const l=i==="dark"?n:t,d=e==="system"||e==="light"||e==="dark"?l:{...l,name:e};Object.assign(r,{preference:o,themeSelected:d,darkMode:i==="dark",toggleStatus:"toggled"})}const X=r=>r.Theme.preference,{toggleTheme:ee,toggleModeTheme:re,systemThemeChanged:oe}=v.actions,te=r=>r.Theme.toggleStatus,B=r=>r.Theme.themeSelected,E=r=>r.Theme.darkMode,ae=B,ie=E;var le=v.reducer;exports.MuiComponentsConfig=w,exports.THEME_PREFERENCES=m,exports.darkBlack=J,exports.darkBlue=V,exports.darkTheme=n,exports.isValidThemeName=k,exports.lightAmber=q,exports.lightBlue=G,exports.lightBlueIndigo=L,exports.lightBrown=j,exports.lightGray=U,exports.lightGreen=R,exports.lightLime=Y,exports.lightOrange=z,exports.lightPink=_,exports.lightPurple=$,exports.lightRed=H,exports.lightTeal=N,exports.lightTheme=t,exports.lightYellow=W,exports.normalizeThemePreference=h,exports.observeThemePreference=P,exports.resolveThemePreference=c,exports.selectDarkTheme=E,exports.selectTheme=B,exports.selectThemePreference=X,exports.selectThemeToggleStatus=te,exports.selectedDarkTheme=ie,exports.selectedTheme=ae,exports.systemThemeChanged=oe,exports.themeReducer=le,exports.toggleModeTheme=re,exports.toggleTheme=ee,exports.updateTheme=S;
2
2
  //# sourceMappingURL=theme.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme.js","sources":["../../src/theme/darkThemeComponents.ts","../../src/theme/MuiComponentsConfig.ts","../../src/theme/themeProvider.ts","../../src/theme/themePreference.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 { createTheme, Theme } from '@mui/material';\nimport { applyDarkThemeComponents } from './darkThemeComponents';\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 '& div': {\r\n backgroundColor: bg.panel,\r\n },\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 applyDarkThemeComponents(sharedTheme);\r\n};\r\n\r\nexport default MuiComponentsConfig;\r\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","\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 { createSlice, createAsyncThunk, PayloadAction, Draft } from '@reduxjs/toolkit';\nimport axios from 'axios';\nimport { Theme } from '@mui/material';\nimport { lightTheme, darkTheme } from './themeProvider';\nimport { ThemeName, ThemePreference, ResolvedTheme, normalizeThemePreference, resolveThemePreference, isValidThemeName } 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\nconst themeUrl = (spaceId: string) =>\n `https://agent-api.trii.app/api/v1/settings/${spaceId}/user/setTheme`;\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/** Guarda el tema elegido en el backend. */\nexport const updateTheme = createAsyncThunk<\n { theme: ThemeName },\n ThemeName,\n { state: ThemeRootState }\n>('Theme/updateTheme', 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/** 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(updateTheme.fulfilled, (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":["applyDarkThemeComponents","sharedTheme","palette","strongOutline","alpha","hoverOutline","createTheme","MuiComponentsConfig","themeRedux","options","transparentModal","autocompleteZIndex","bg","primary","lightTheme","darkTheme","lightBlueIndigo","lightBlue","lightRed","lightGreen","lightPink","lightPurple","lightTeal","lightLime","lightYellow","lightAmber","lightOrange","lightBrown","lightGray","darkBlue","darkBlack","THEME_PREFERENCES","LEGACY_THEME_NAMES","isValidThemeName","name","normalizeThemePreference","systemMedia","resolveThemePreference","preference","systemDark","observeThemePreference","listener","media","change","event","THEME_STORAGE_KEY","themeUrl","spaceId","getSavedPreference","saveTheme","theme","savedPreference","savedMode","initialState","updateTheme","createAsyncThunk","getState","uid","themeJson","response","axios","themeSlice","createSlice","state","action","applyPreference","builder","mode","base","themeSelected","selectThemePreference","toggleTheme","toggleModeTheme","systemThemeChanged","selectThemeToggleStatus","selectTheme","selectDarkTheme","selectedTheme","selectedDarkTheme"],"mappings":"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"}
1
+ {"version":3,"file":"theme.js","sources":["../../src/theme/darkThemeComponents.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 { createTheme, Theme } from '@mui/material';\nimport { applyDarkThemeComponents } from './darkThemeComponents';\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 '& div': {\r\n backgroundColor: bg.panel,\r\n },\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 applyDarkThemeComponents(sharedTheme);\r\n};\r\n\r\nexport default MuiComponentsConfig;\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":["applyDarkThemeComponents","sharedTheme","palette","strongOutline","alpha","hoverOutline","createTheme","MuiComponentsConfig","themeRedux","options","transparentModal","autocompleteZIndex","bg","UPDATE_THEME_TYPE","themeUpdateFulfilled","createAction","THEME_PREFERENCES","LEGACY_THEME_NAMES","isValidThemeName","name","normalizeThemePreference","systemMedia","resolveThemePreference","preference","systemDark","observeThemePreference","listener","media","change","event","themeUrl","spaceId","updateTheme","createAsyncThunk","theme","getState","uid","themeJson","response","axios","primary","lightTheme","darkTheme","lightBlueIndigo","lightBlue","lightRed","lightGreen","lightPink","lightPurple","lightTeal","lightLime","lightYellow","lightAmber","lightOrange","lightBrown","lightGray","darkBlue","darkBlack","THEME_STORAGE_KEY","getSavedPreference","saveTheme","savedPreference","savedMode","initialState","themeSlice","createSlice","state","action","applyPreference","builder","mode","base","themeSelected","selectThemePreference","toggleTheme","toggleModeTheme","systemThemeChanged","selectThemeToggleStatus","selectTheme","selectDarkTheme","selectedTheme","selectedDarkTheme"],"mappings":"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"}