@projectcor/maia-components 2.41.1-0 → 2.42.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. package/README.md +2 -0
  2. package/lib/App.js +19 -44
  3. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.js +1 -3
  4. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.styles.js +7 -19
  5. package/lib/components/atoms/MAIAInput/MAIAInput.js +3 -3
  6. package/lib/components/atoms/ReasoningBlock/ReasoningBlock.js +2 -7
  7. package/lib/components/atoms/ReasoningBlock/ReasoningBlock.styles.js +14 -10
  8. package/lib/components/atoms/ReasoningBlock/ReasoningSteps.js +1 -1
  9. package/lib/components/atoms/ReasoningBlock/ReasoningTimeline.js +37 -57
  10. package/lib/components/atoms/ReasoningBlock/reasoningLiveNarration.js +12 -18
  11. package/lib/components/index.js +1 -2
  12. package/lib/components/molecules/ChatAIContent/ChatAIContent.js +3 -7
  13. package/lib/components/molecules/ChatAIHome/ChatAIHome.js +6 -21
  14. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +3 -9
  15. package/lib/components/molecules/ChatAIMessages/newStyles.js +26 -29
  16. package/lib/components/molecules/ChatAIModal/ChatAIModal.helpers.js +1 -8
  17. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +8 -25
  18. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +61 -65
  19. package/lib/components/molecules/ChatFooter/ChatFooter.js +3 -5
  20. package/lib/components/molecules/Sidebar/Sidebar.js +25 -30
  21. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +2 -2
  22. package/lib/constants/permissions/clientRoleAccess.js +33 -0
  23. package/lib/constants/permissions/index.js +2 -2
  24. package/lib/constants/permissions/utils.js +12 -3
  25. package/lib/dev/DevReasoningTimeline.js +17 -11
  26. package/lib/hooks/useChatManager/useChatManager.js +7 -7
  27. package/lib/hooks/useFrequentlyUsedActions.js +12 -31
  28. package/lib/index.js +2 -5
  29. package/lib/lang/br/index.js +1 -26
  30. package/lib/lang/en/index.js +1 -26
  31. package/lib/lang/es/index.js +1 -26
  32. package/lib/lang/fr/index.js +1 -26
  33. package/lib/services/maia/Actions/getFrequentlyUsedActions.js +1 -1
  34. package/lib/store/sessions/sessionStreamManager.js +52 -40
  35. package/lib/styles/cascade.js +3 -29
  36. package/lib/styles/transitions.js +1 -3
  37. package/lib/types/global.d.js +1 -1
  38. package/lib/utils/hoursPlannerQuickActionType.js +1 -74
  39. package/lib/utils/streamActivityMessages.js +19 -32
  40. package/package.json +1 -1
  41. package/CHANGELOG.md +0 -840
  42. package/lib/components/atoms/ApprovalBox/ApprovalBox.spec.js +0 -135
  43. package/lib/components/atoms/Checkbox/Checkbox.spec.js +0 -27
  44. package/lib/components/atoms/Chip/Chip.spec.js +0 -82
  45. package/lib/components/atoms/ContextMentionChip/ContextMentionChip.spec.js +0 -29
  46. package/lib/components/atoms/Fade/Fade.spec.js +0 -31
  47. package/lib/components/atoms/MAIAButton/MAIAButton.spec.js +0 -42
  48. package/lib/components/atoms/MAIAInput/MAIAInput.spec.js +0 -300
  49. package/lib/components/atoms/ReasoningBlock/ReasoningBlock.spec.js +0 -69
  50. package/lib/components/atoms/ReasoningBlock/ReasoningSteps.spec.js +0 -59
  51. package/lib/components/atoms/ReasoningBlock/ReasoningTimeline.spec.js +0 -58
  52. package/lib/components/atoms/ReasoningBlock/reasoningLiveNarration.spec.js +0 -68
  53. package/lib/components/atoms/ReasoningBlock/useCollapsibleHeight.js +0 -52
  54. package/lib/components/atoms/ReasoningBlock/useCollapsibleHeight.spec.js +0 -90
  55. package/lib/components/atoms/SkillsDropdown/SkillsDropdown.spec.js +0 -107
  56. package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.spec.js +0 -85
  57. package/lib/components/atoms/Switch/Switch.spec.js +0 -41
  58. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.spec.js +0 -77
  59. package/lib/components/molecules/ChatAIHome/ChatAIHome.spec.js +0 -246
  60. package/lib/components/molecules/ChatAIMessages/ChatAICreateAgentActions.spec.js +0 -104
  61. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.spec.js +0 -291
  62. package/lib/components/molecules/ChatAIMessages/ChatAISuggestions.spec.js +0 -46
  63. package/lib/components/molecules/ChatAIModal/ChatAIModal.helpers.spec.js +0 -148
  64. package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.spec.js +0 -37
  65. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.spec.js +0 -128
  66. package/lib/components/molecules/ChatFooter/ChatFooter.spec.js +0 -112
  67. package/lib/components/molecules/ContextMentionInput/ContextMentionInput.spec.js +0 -84
  68. package/lib/components/molecules/MessageFeedback/MessageFeedback.spec.js +0 -116
  69. package/lib/components/molecules/Sidebar/Sidebar.spec.js +0 -234
  70. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.spec.js +0 -335
  71. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.spec.js +0 -405
  72. package/lib/components/organisms/ChatAI/ChatAI.spec.js +0 -174
  73. package/lib/components/organisms/ChatAIPage/ChatAIPage.js +0 -486
  74. package/lib/components/organisms/ChatAIPage/ChatAIPage.spec.js +0 -231
  75. package/lib/components/organisms/ChatAIPage/ChatAIPage.styles.js +0 -16
  76. package/lib/components/organisms/ChatAIPage/ChatAIPageHeader.js +0 -253
  77. package/lib/components/organisms/ChatAIPage/ChatAIPageHeader.spec.js +0 -139
  78. package/lib/components/organisms/ChatAIPage/ChatAIPageHeader.styles.js +0 -13
  79. package/lib/components/organisms/ChatAIPage/ChatAIPageHome.js +0 -250
  80. package/lib/components/organisms/ChatAIPage/ChatAIPageHome.spec.js +0 -224
  81. package/lib/components/organisms/ChatAIPage/ChatAIPageHome.styles.js +0 -144
  82. package/lib/components/organisms/ChatAIPage/getDaypart.js +0 -9
  83. package/lib/components/organisms/ChatAIPage/getDaypart.spec.js +0 -19
  84. package/lib/components/organisms/ChatAIPage/index.js +0 -3
  85. package/lib/components/organisms/DeleteAgentModal/DeleteAgentModal.spec.js +0 -59
  86. package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.spec.js +0 -79
  87. package/lib/components/organisms/EditQuestionModal/EditQuestionModal.spec.js +0 -86
  88. package/lib/constants/permissions/utils.spec.js +0 -34
  89. package/lib/dev/DevMaiaPage.js +0 -30
  90. package/lib/hooks/useAgentModel/useCreateAgent.spec.js +0 -95
  91. package/lib/hooks/useAgentModel/useUpdateAgent.spec.js +0 -96
  92. package/lib/hooks/useCaretPosition.spec.js +0 -58
  93. package/lib/hooks/useChatMessages/useChatMessages.spec.js +0 -279
  94. package/lib/hooks/useDebounce.spec.js +0 -42
  95. package/lib/hooks/useEvent.spec.js +0 -40
  96. package/lib/hooks/useIsMaiaPageRoute.js +0 -26
  97. package/lib/hooks/useIsMaiaPageRoute.spec.js +0 -26
  98. package/lib/hooks/useMentionAllowedTypes.spec.js +0 -89
  99. package/lib/hooks/useMinimizedPillNoveltyDot/useMinimizedPillNoveltyDot.spec.js +0 -67
  100. package/lib/hooks/useModal/useModal.spec.js +0 -73
  101. package/lib/hooks/useResize.spec.js +0 -37
  102. package/lib/hooks/useSkillsCatalog.spec.js +0 -88
  103. package/lib/hooks/useSnackBarManager/useSnackBarManager.spec.js +0 -33
  104. package/lib/hooks/useT.spec.js +0 -20
  105. package/lib/hooks/useToggle.spec.js +0 -33
  106. package/lib/lib/utils.js +0 -9
  107. package/lib/services/maia/Access/updateAccess.spec.js +0 -108
  108. package/lib/services/maia/Actions/getFrequentlyUsedActions.spec.js +0 -69
  109. package/lib/services/maia/Actions/getSlashCommands.spec.js +0 -74
  110. package/lib/services/maia/Agents/createAgent.spec.js +0 -55
  111. package/lib/services/maia/Agents/deleteAgent.spec.js +0 -42
  112. package/lib/services/maia/Agents/fetchAgentDetail.spec.js +0 -108
  113. package/lib/services/maia/Agents/getAgentById.spec.js +0 -55
  114. package/lib/services/maia/Agents/getAgentSuggestions.spec.js +0 -82
  115. package/lib/services/maia/Agents/setAgentToolGroups.spec.js +0 -45
  116. package/lib/services/maia/Agents/toggleFavorite.spec.js +0 -47
  117. package/lib/services/maia/Agents/updateAgent.spec.js +0 -48
  118. package/lib/services/maia/Chats/deleteChat.spec.js +0 -31
  119. package/lib/services/maia/Chats/getChatMessages.spec.js +0 -150
  120. package/lib/services/maia/Chats/getChatsByUserId.spec.js +0 -149
  121. package/lib/services/maia/Chats/markSessionAsRead.spec.js +0 -30
  122. package/lib/services/maia/Chats/patchChat.spec.js +0 -41
  123. package/lib/services/maia/Chats/wasHelpfulChat.spec.js +0 -28
  124. package/lib/services/maia/Faqs/getFrequentlyAskedQuestions.spec.js +0 -58
  125. package/lib/services/maia/Knowledge/delete.spec.js +0 -45
  126. package/lib/services/maia/Knowledge/download.spec.js +0 -78
  127. package/lib/services/maia/Knowledge/save.spec.js +0 -58
  128. package/lib/services/maia/Orchestrator/orchestrator.spec.js +0 -72
  129. package/lib/services/maia/RecentClients/getRecentClients.spec.js +0 -52
  130. package/lib/services/maia/RecentContexts/getRecentContexts.spec.js +0 -83
  131. package/lib/services/maia/RecentProjects/getRecentProjects.spec.js +0 -82
  132. package/lib/services/maia/RecentTasks/getRecentTasks.spec.js +0 -63
  133. package/lib/services/maia/RecentUsers/getRecentUsers.spec.js +0 -82
  134. package/lib/services/maia/Skills/createSkill.spec.js +0 -68
  135. package/lib/services/maia/Skills/deleteSkill.spec.js +0 -42
  136. package/lib/services/maia/Skills/generateSkill.spec.js +0 -48
  137. package/lib/services/maia/Skills/getSkills.spec.js +0 -152
  138. package/lib/services/maia/Skills/updateSkill.spec.js +0 -62
  139. package/lib/services/maia/client.spec.js +0 -56
  140. package/lib/services/utils/fetchCOR.spec.js +0 -211
  141. package/lib/services/utils/getCookie.spec.js +0 -20
  142. package/lib/store/chatsSidebarOptimistic.spec.js +0 -120
  143. package/lib/store/maiaLastChatPersistence.spec.js +0 -22
  144. package/lib/store/maiaPanelSessionPersistence.spec.js +0 -62
  145. package/lib/store/sessions/sessions.types.spec.js +0 -16
  146. package/lib/store/sessions/useSessionsStore.spec.js +0 -135
  147. package/lib/store/useChatsStore.spec.js +0 -619
  148. package/lib/store/useFaqsStore.spec.js +0 -57
  149. package/lib/utils/agentDisplayName.spec.js +0 -44
  150. package/lib/utils/autoApproveStorage.spec.js +0 -25
  151. package/lib/utils/chatInputFiles.spec.js +0 -39
  152. package/lib/utils/contextMentionLabel.spec.js +0 -13
  153. package/lib/utils/contextMentionTriggers.spec.js +0 -38
  154. package/lib/utils/contextMentionTypeLabel.spec.js +0 -14
  155. package/lib/utils/corConnectorMentionTypes.spec.js +0 -23
  156. package/lib/utils/fileDownloadHelper.spec.js +0 -67
  157. package/lib/utils/formatQuickActionMessage.spec.js +0 -27
  158. package/lib/utils/formatUnreadCount.spec.js +0 -12
  159. package/lib/utils/getUnitFileSize.spec.js +0 -18
  160. package/lib/utils/hitlAnalytics.spec.js +0 -100
  161. package/lib/utils/hoursPlannerQuickActionType.spec.js +0 -64
  162. package/lib/utils/maiaPageRoute.js +0 -24
  163. package/lib/utils/maiaPageRoute.spec.js +0 -23
  164. package/lib/utils/mapBackendLang.spec.js +0 -19
  165. package/lib/utils/navigateContextEntity.spec.js +0 -50
  166. package/lib/utils/normalizeAgentConnectors.spec.js +0 -89
  167. package/lib/utils/orchestratorSubagents.spec.js +0 -32
  168. package/lib/utils/reasoningMappers.spec.js +0 -103
  169. package/lib/utils/retryCompletion.spec.js +0 -99
  170. package/lib/utils/skillContentSize.spec.js +0 -13
  171. package/lib/utils/slashCommandMarker.spec.js +0 -43
  172. package/lib/utils/sortManagerHoursHomeFuas.spec.js +0 -51
  173. package/lib/utils/sseStreamContent.spec.js +0 -31
  174. package/lib/utils/streamActivityMessages.spec.js +0 -131
  175. package/lib/utils/validateTrimmedFields.spec.js +0 -26
@@ -1,224 +0,0 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
- import { useEffect } from 'react';
5
- import { act, fireEvent, renderWithProviders, screen } from '../../../test/test-utils';
6
- import { GlobalContextTestProvider, testAgent } from '../../../test/global-context';
7
- import { ChatAIPageHome } from './ChatAIPageHome';
8
- import { useFrequentlyUsedActions } from '../../../hooks/useFrequentlyUsedActions';
9
- import { jsx as _jsx } from "react/jsx-runtime";
10
- var mockActions = [{
11
- id: 'hours-fua',
12
- title: 'Cargar mis horas de hoy',
13
- subtitle: 'Horas',
14
- icon: 'charge_hours',
15
- category: 'hours'
16
- }, {
17
- id: 'today-fua',
18
- title: '¿Qué tengo para hoy?',
19
- subtitle: 'Hoy',
20
- icon: 'calendar',
21
- category: 'tasks'
22
- }, {
23
- id: 'review-fua',
24
- title: '¿Qué debería revisar?',
25
- subtitle: 'Revisar',
26
- icon: 'summary_task',
27
- category: 'tasks'
28
- }];
29
- var mockFetchActions = jest.fn();
30
- jest.mock('../../../hooks/useFrequentlyUsedActions', function () {
31
- return {
32
- useFrequentlyUsedActions: jest.fn()
33
- };
34
- });
35
- jest.mock('../../../hooks/useEvent', function () {
36
- return {
37
- EVENTS: {
38
- aiChatQuickActionSelect: 'AI_CHAT_QUICK_ACTION_SELECT'
39
- },
40
- useEvent: function useEvent() {
41
- return jest.fn();
42
- }
43
- };
44
- });
45
- var footerMounts = 0;
46
- jest.mock('./getDaypart', function () {
47
- return {
48
- getDaypart: function getDaypart() {
49
- return 'morning';
50
- }
51
- };
52
- });
53
- jest.mock('../../../utils/actionIconMap', function () {
54
- return {
55
- renderActionIcon: function renderActionIcon() {
56
- return null;
57
- }
58
- };
59
- });
60
- jest.mock('../../molecules/ChatFooter/ChatFooter', function () {
61
- return {
62
- ChatFooter: function ChatFooter(_ref) {
63
- var onSendMessage = _ref.onSendMessage,
64
- disabled = _ref.disabled;
65
- useEffect(function () {
66
- footerMounts += 1;
67
- }, []);
68
- return /*#__PURE__*/_jsx("button", {
69
- type: "button",
70
- disabled: disabled,
71
- onClick: function onClick() {
72
- return onSendMessage('hola');
73
- },
74
- children: "send"
75
- });
76
- }
77
- };
78
- });
79
- jest.mock('../../../context/cor-user', function () {
80
- return {
81
- useUser: function useUser() {
82
- return {
83
- id: 99,
84
- firstName: 'Ada',
85
- role_id: 4
86
- };
87
- },
88
- isCollaboratorRole: function isCollaboratorRole(role) {
89
- return role === 4;
90
- }
91
- };
92
- });
93
- describe('ChatAIPageHome', function () {
94
- beforeEach(function () {
95
- jest.mocked(useFrequentlyUsedActions).mockReturnValue({
96
- actions: mockActions,
97
- loading: false,
98
- error: null,
99
- handleGetFrequentlyUsedActions: mockFetchActions
100
- });
101
- footerMounts = 0;
102
- jest.useFakeTimers();
103
- });
104
- afterEach(function () {
105
- jest.useRealTimers();
106
- });
107
- it('keeps the input mounted and waits for the agent greeting', function () {
108
- var _renderWithProviders = renderWithProviders(/*#__PURE__*/_jsx(GlobalContextTestProvider, {
109
- value: {
110
- agent: null
111
- },
112
- children: /*#__PURE__*/_jsx(ChatAIPageHome, {
113
- onSendMessage: jest.fn()
114
- })
115
- })),
116
- rerender = _renderWithProviders.rerender;
117
- expect(screen.getByRole('button', {
118
- name: 'send'
119
- })).toBeInTheDocument();
120
- expect(screen.queryByText('pageHome.greeting.morning')).not.toBeInTheDocument();
121
- expect(screen.queryByText('Cargar mis horas de hoy')).not.toBeInTheDocument();
122
- expect(footerMounts).toBe(1);
123
- rerender(/*#__PURE__*/_jsx(GlobalContextTestProvider, {
124
- value: {
125
- agent: _objectSpread(_objectSpread({}, testAgent), {}, {
126
- type: 'custom',
127
- name: 'Legal'
128
- })
129
- },
130
- children: /*#__PURE__*/_jsx(ChatAIPageHome, {
131
- onSendMessage: jest.fn()
132
- })
133
- }));
134
- expect(screen.getByText('Legal')).toBeInTheDocument();
135
- expect(screen.queryByText('Cargar mis horas de hoy')).not.toBeInTheDocument();
136
- expect(screen.getByRole('button', {
137
- name: 'send'
138
- })).toBeInTheDocument();
139
- expect(footerMounts).toBe(1);
140
- });
141
- it('greets MAIA users and shows the action cards', function () {
142
- renderWithProviders(/*#__PURE__*/_jsx(GlobalContextTestProvider, {
143
- children: /*#__PURE__*/_jsx(ChatAIPageHome, {
144
- onSendMessage: jest.fn()
145
- })
146
- }));
147
- expect(screen.getByText('pageHome.greeting.morning')).toBeInTheDocument();
148
- expect(screen.getByText('pageHome.subtitle')).toBeInTheDocument();
149
- expect(screen.getByText('Cargar mis horas de hoy')).toBeInTheDocument();
150
- });
151
- it('shows a custom agent without action cards', function () {
152
- renderWithProviders(/*#__PURE__*/_jsx(GlobalContextTestProvider, {
153
- value: {
154
- agent: _objectSpread(_objectSpread({}, testAgent), {}, {
155
- type: 'custom',
156
- name: 'Legal'
157
- })
158
- },
159
- children: /*#__PURE__*/_jsx(ChatAIPageHome, {
160
- onSendMessage: jest.fn()
161
- })
162
- }));
163
- expect(screen.getByText('Legal')).toBeInTheDocument();
164
- expect(screen.queryByText('Cargar mis horas de hoy')).not.toBeInTheDocument();
165
- });
166
- it('starts the leave animation and then sends the message', function () {
167
- var onSendMessage = jest.fn();
168
- var onLeaveStart = jest.fn();
169
- renderWithProviders(/*#__PURE__*/_jsx(GlobalContextTestProvider, {
170
- children: /*#__PURE__*/_jsx(ChatAIPageHome, {
171
- onSendMessage: onSendMessage,
172
- onLeaveStart: onLeaveStart
173
- })
174
- }));
175
- fireEvent.click(screen.getByRole('button', {
176
- name: 'send'
177
- }));
178
- expect(onLeaveStart).toHaveBeenCalled();
179
- expect(onSendMessage).not.toHaveBeenCalled();
180
- expect(screen.getByText('hola')).toBeInTheDocument();
181
- act(function () {
182
- jest.advanceTimersByTime(700);
183
- });
184
- expect(onSendMessage).toHaveBeenCalledWith('hola');
185
- });
186
- it.each(mockActions)('sends the server FUA id for $title', function (action) {
187
- var onSendMessage = jest.fn();
188
- renderWithProviders(/*#__PURE__*/_jsx(GlobalContextTestProvider, {
189
- children: /*#__PURE__*/_jsx(ChatAIPageHome, {
190
- onSendMessage: onSendMessage
191
- })
192
- }));
193
- expect(useFrequentlyUsedActions).toHaveBeenCalledWith(testAgent.id, 'home_collaborator');
194
- fireEvent.click(screen.getByRole('button', {
195
- name: "".concat(action.title, " ").concat(action.subtitle)
196
- }));
197
- act(function () {
198
- jest.advanceTimersByTime(700);
199
- });
200
- expect(onSendMessage).toHaveBeenCalledTimes(1);
201
- expect(onSendMessage).toHaveBeenCalledWith(action.title, undefined, undefined, undefined, undefined, action.id);
202
- });
203
- it('does not replace failed FUAs with free-text cards and allows retry', function () {
204
- jest.mocked(useFrequentlyUsedActions).mockReturnValue({
205
- actions: [],
206
- loading: false,
207
- error: 'failed',
208
- handleGetFrequentlyUsedActions: mockFetchActions
209
- });
210
- var onSendMessage = jest.fn();
211
- renderWithProviders(/*#__PURE__*/_jsx(GlobalContextTestProvider, {
212
- children: /*#__PURE__*/_jsx(ChatAIPageHome, {
213
- onSendMessage: onSendMessage
214
- })
215
- }));
216
- expect(screen.queryByText('Cargar mis horas de hoy')).not.toBeInTheDocument();
217
- fireEvent.click(screen.getByRole('button', {
218
- name: 'homeMenu.fua.error'
219
- }));
220
- expect(mockFetchActions).toHaveBeenCalledWith(testAgent.id);
221
- expect(onSendMessage).not.toHaveBeenCalled();
222
- });
223
- });
224
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJhY3QiLCJmaXJlRXZlbnQiLCJyZW5kZXJXaXRoUHJvdmlkZXJzIiwic2NyZWVuIiwiR2xvYmFsQ29udGV4dFRlc3RQcm92aWRlciIsInRlc3RBZ2VudCIsIkNoYXRBSVBhZ2VIb21lIiwidXNlRnJlcXVlbnRseVVzZWRBY3Rpb25zIiwianN4IiwiX2pzeCIsIm1vY2tBY3Rpb25zIiwiaWQiLCJ0aXRsZSIsInN1YnRpdGxlIiwiaWNvbiIsImNhdGVnb3J5IiwibW9ja0ZldGNoQWN0aW9ucyIsImplc3QiLCJmbiIsIm1vY2siLCJFVkVOVFMiLCJhaUNoYXRRdWlja0FjdGlvblNlbGVjdCIsInVzZUV2ZW50IiwiZm9vdGVyTW91bnRzIiwiZ2V0RGF5cGFydCIsInJlbmRlckFjdGlvbkljb24iLCJDaGF0Rm9vdGVyIiwiX3JlZiIsIm9uU2VuZE1lc3NhZ2UiLCJkaXNhYmxlZCIsInR5cGUiLCJvbkNsaWNrIiwiY2hpbGRyZW4iLCJ1c2VVc2VyIiwiZmlyc3ROYW1lIiwicm9sZV9pZCIsImlzQ29sbGFib3JhdG9yUm9sZSIsInJvbGUiLCJkZXNjcmliZSIsImJlZm9yZUVhY2giLCJtb2NrZWQiLCJtb2NrUmV0dXJuVmFsdWUiLCJhY3Rpb25zIiwibG9hZGluZyIsImVycm9yIiwiaGFuZGxlR2V0RnJlcXVlbnRseVVzZWRBY3Rpb25zIiwidXNlRmFrZVRpbWVycyIsImFmdGVyRWFjaCIsInVzZVJlYWxUaW1lcnMiLCJpdCIsIl9yZW5kZXJXaXRoUHJvdmlkZXJzIiwidmFsdWUiLCJhZ2VudCIsInJlcmVuZGVyIiwiZXhwZWN0IiwiZ2V0QnlSb2xlIiwibmFtZSIsInRvQmVJblRoZURvY3VtZW50IiwicXVlcnlCeVRleHQiLCJub3QiLCJ0b0JlIiwiX29iamVjdFNwcmVhZCIsImdldEJ5VGV4dCIsIm9uTGVhdmVTdGFydCIsImNsaWNrIiwidG9IYXZlQmVlbkNhbGxlZCIsImFkdmFuY2VUaW1lcnNCeVRpbWUiLCJ0b0hhdmVCZWVuQ2FsbGVkV2l0aCIsImVhY2giLCJhY3Rpb24iLCJjb25jYXQiLCJ0b0hhdmVCZWVuQ2FsbGVkVGltZXMiLCJ1bmRlZmluZWQiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9vcmdhbmlzbXMvQ2hhdEFJUGFnZS9DaGF0QUlQYWdlSG9tZS5zcGVjLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IGFjdCwgZmlyZUV2ZW50LCByZW5kZXJXaXRoUHJvdmlkZXJzLCBzY3JlZW4gfSBmcm9tICcuLi8uLi8uLi90ZXN0L3Rlc3QtdXRpbHMnXG5pbXBvcnQgeyBHbG9iYWxDb250ZXh0VGVzdFByb3ZpZGVyLCB0ZXN0QWdlbnQgfSBmcm9tICcuLi8uLi8uLi90ZXN0L2dsb2JhbC1jb250ZXh0J1xuaW1wb3J0IHsgQ2hhdEFJUGFnZUhvbWUgfSBmcm9tICcuL0NoYXRBSVBhZ2VIb21lJ1xuaW1wb3J0IHsgdXNlRnJlcXVlbnRseVVzZWRBY3Rpb25zIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlRnJlcXVlbnRseVVzZWRBY3Rpb25zJ1xuXG5jb25zdCBtb2NrQWN0aW9ucyA9IFtcbiAgeyBpZDogJ2hvdXJzLWZ1YScsIHRpdGxlOiAnQ2FyZ2FyIG1pcyBob3JhcyBkZSBob3knLCBzdWJ0aXRsZTogJ0hvcmFzJywgaWNvbjogJ2NoYXJnZV9ob3VycycsIGNhdGVnb3J5OiAnaG91cnMnIH0sXG4gIHsgaWQ6ICd0b2RheS1mdWEnLCB0aXRsZTogJ8K/UXXDqSB0ZW5nbyBwYXJhIGhveT8nLCBzdWJ0aXRsZTogJ0hveScsIGljb246ICdjYWxlbmRhcicsIGNhdGVnb3J5OiAndGFza3MnIH0sXG4gIHsgaWQ6ICdyZXZpZXctZnVhJywgdGl0bGU6ICfCv1F1w6kgZGViZXLDrWEgcmV2aXNhcj8nLCBzdWJ0aXRsZTogJ1JldmlzYXInLCBpY29uOiAnc3VtbWFyeV90YXNrJywgY2F0ZWdvcnk6ICd0YXNrcycgfSxcbl1cbmNvbnN0IG1vY2tGZXRjaEFjdGlvbnMgPSBqZXN0LmZuKClcbmplc3QubW9jaygnLi4vLi4vLi4vaG9va3MvdXNlRnJlcXVlbnRseVVzZWRBY3Rpb25zJywgKCkgPT4gKHsgdXNlRnJlcXVlbnRseVVzZWRBY3Rpb25zOiBqZXN0LmZuKCkgfSkpXG5qZXN0Lm1vY2soJy4uLy4uLy4uL2hvb2tzL3VzZUV2ZW50JywgKCkgPT4gKHtcbiAgRVZFTlRTOiB7IGFpQ2hhdFF1aWNrQWN0aW9uU2VsZWN0OiAnQUlfQ0hBVF9RVUlDS19BQ1RJT05fU0VMRUNUJyB9LCB1c2VFdmVudDogKCkgPT4gamVzdC5mbigpLFxufSkpXG5sZXQgZm9vdGVyTW91bnRzID0gMFxuXG5qZXN0Lm1vY2soJy4vZ2V0RGF5cGFydCcsICgpID0+ICh7XG4gIGdldERheXBhcnQ6ICgpID0+ICdtb3JuaW5nJyxcbn0pKVxuXG5qZXN0Lm1vY2soJy4uLy4uLy4uL3V0aWxzL2FjdGlvbkljb25NYXAnLCAoKSA9PiAoe1xuICByZW5kZXJBY3Rpb25JY29uOiAoKSA9PiBudWxsLFxufSkpXG5cbmplc3QubW9jaygnLi4vLi4vbW9sZWN1bGVzL0NoYXRGb290ZXIvQ2hhdEZvb3RlcicsICgpID0+ICh7XG4gIENoYXRGb290ZXI6ICh7IG9uU2VuZE1lc3NhZ2UsIGRpc2FibGVkIH06IHsgb25TZW5kTWVzc2FnZTogKG1lc3NhZ2U6IHN0cmluZykgPT4gdm9pZDsgZGlzYWJsZWQ/OiBib29sZWFuIH0pID0+IHtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgZm9vdGVyTW91bnRzICs9IDFcbiAgICB9LCBbXSlcblxuICAgIHJldHVybiAoXG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBkaXNhYmxlZD17ZGlzYWJsZWR9IG9uQ2xpY2s9eygpID0+IG9uU2VuZE1lc3NhZ2UoJ2hvbGEnKX0+XG4gICAgICAgIHNlbmRcbiAgICAgIDwvYnV0dG9uPlxuICAgIClcbiAgfSxcbn0pKVxuXG5qZXN0Lm1vY2soJy4uLy4uLy4uL2NvbnRleHQvY29yLXVzZXInLCAoKSA9PiAoe1xuICB1c2VVc2VyOiAoKSA9PiAoeyBpZDogOTksIGZpcnN0TmFtZTogJ0FkYScsIHJvbGVfaWQ6IDQgfSksXG4gIGlzQ29sbGFib3JhdG9yUm9sZTogKHJvbGU6IG51bWJlcikgPT4gcm9sZSA9PT0gNCxcbn0pKVxuXG5kZXNjcmliZSgnQ2hhdEFJUGFnZUhvbWUnLCAoKSA9PiB7XG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIGplc3QubW9ja2VkKHVzZUZyZXF1ZW50bHlVc2VkQWN0aW9ucykubW9ja1JldHVyblZhbHVlKHtcbiAgICAgIGFjdGlvbnM6IG1vY2tBY3Rpb25zIGFzIGFueSwgbG9hZGluZzogZmFsc2UsIGVycm9yOiBudWxsLCBoYW5kbGVHZXRGcmVxdWVudGx5VXNlZEFjdGlvbnM6IG1vY2tGZXRjaEFjdGlvbnMsXG4gICAgfSlcbiAgICBmb290ZXJNb3VudHMgPSAwXG4gICAgamVzdC51c2VGYWtlVGltZXJzKClcbiAgfSlcblxuICBhZnRlckVhY2goKCkgPT4ge1xuICAgIGplc3QudXNlUmVhbFRpbWVycygpXG4gIH0pXG5cbiAgaXQoJ2tlZXBzIHRoZSBpbnB1dCBtb3VudGVkIGFuZCB3YWl0cyBmb3IgdGhlIGFnZW50IGdyZWV0aW5nJywgKCkgPT4ge1xuICAgIGNvbnN0IHsgcmVyZW5kZXIgfSA9IHJlbmRlcldpdGhQcm92aWRlcnMoXG4gICAgICA8R2xvYmFsQ29udGV4dFRlc3RQcm92aWRlciB2YWx1ZT17eyBhZ2VudDogbnVsbCB9fT5cbiAgICAgICAgPENoYXRBSVBhZ2VIb21lIG9uU2VuZE1lc3NhZ2U9e2plc3QuZm4oKX0gLz5cbiAgICAgIDwvR2xvYmFsQ29udGV4dFRlc3RQcm92aWRlcj5cbiAgICApXG5cbiAgICBleHBlY3Qoc2NyZWVuLmdldEJ5Um9sZSgnYnV0dG9uJywgeyBuYW1lOiAnc2VuZCcgfSkpLnRvQmVJblRoZURvY3VtZW50KClcbiAgICBleHBlY3Qoc2NyZWVuLnF1ZXJ5QnlUZXh0KCdwYWdlSG9tZS5ncmVldGluZy5tb3JuaW5nJykpLm5vdC50b0JlSW5UaGVEb2N1bWVudCgpXG4gICAgZXhwZWN0KHNjcmVlbi5xdWVyeUJ5VGV4dCgnQ2FyZ2FyIG1pcyBob3JhcyBkZSBob3knKSkubm90LnRvQmVJblRoZURvY3VtZW50KClcbiAgICBleHBlY3QoZm9vdGVyTW91bnRzKS50b0JlKDEpXG5cbiAgICByZXJlbmRlcihcbiAgICAgIDxHbG9iYWxDb250ZXh0VGVzdFByb3ZpZGVyIHZhbHVlPXt7IGFnZW50OiB7IC4uLnRlc3RBZ2VudCwgdHlwZTogJ2N1c3RvbScsIG5hbWU6ICdMZWdhbCcgfSB9fT5cbiAgICAgICAgPENoYXRBSVBhZ2VIb21lIG9uU2VuZE1lc3NhZ2U9e2plc3QuZm4oKX0gLz5cbiAgICAgIDwvR2xvYmFsQ29udGV4dFRlc3RQcm92aWRlcj5cbiAgICApXG5cbiAgICBleHBlY3Qoc2NyZWVuLmdldEJ5VGV4dCgnTGVnYWwnKSkudG9CZUluVGhlRG9jdW1lbnQoKVxuICAgIGV4cGVjdChzY3JlZW4ucXVlcnlCeVRleHQoJ0NhcmdhciBtaXMgaG9yYXMgZGUgaG95JykpLm5vdC50b0JlSW5UaGVEb2N1bWVudCgpXG4gICAgZXhwZWN0KHNjcmVlbi5nZXRCeVJvbGUoJ2J1dHRvbicsIHsgbmFtZTogJ3NlbmQnIH0pKS50b0JlSW5UaGVEb2N1bWVudCgpXG4gICAgZXhwZWN0KGZvb3Rlck1vdW50cykudG9CZSgxKVxuICB9KVxuXG4gIGl0KCdncmVldHMgTUFJQSB1c2VycyBhbmQgc2hvd3MgdGhlIGFjdGlvbiBjYXJkcycsICgpID0+IHtcbiAgICByZW5kZXJXaXRoUHJvdmlkZXJzKFxuICAgICAgPEdsb2JhbENvbnRleHRUZXN0UHJvdmlkZXI+XG4gICAgICAgIDxDaGF0QUlQYWdlSG9tZSBvblNlbmRNZXNzYWdlPXtqZXN0LmZuKCl9IC8+XG4gICAgICA8L0dsb2JhbENvbnRleHRUZXN0UHJvdmlkZXI+XG4gICAgKVxuXG4gICAgZXhwZWN0KHNjcmVlbi5nZXRCeVRleHQoJ3BhZ2VIb21lLmdyZWV0aW5nLm1vcm5pbmcnKSkudG9CZUluVGhlRG9jdW1lbnQoKVxuICAgIGV4cGVjdChzY3JlZW4uZ2V0QnlUZXh0KCdwYWdlSG9tZS5zdWJ0aXRsZScpKS50b0JlSW5UaGVEb2N1bWVudCgpXG4gICAgZXhwZWN0KHNjcmVlbi5nZXRCeVRleHQoJ0NhcmdhciBtaXMgaG9yYXMgZGUgaG95JykpLnRvQmVJblRoZURvY3VtZW50KClcbiAgfSlcblxuICBpdCgnc2hvd3MgYSBjdXN0b20gYWdlbnQgd2l0aG91dCBhY3Rpb24gY2FyZHMnLCAoKSA9PiB7XG4gICAgcmVuZGVyV2l0aFByb3ZpZGVycyhcbiAgICAgIDxHbG9iYWxDb250ZXh0VGVzdFByb3ZpZGVyIHZhbHVlPXt7IGFnZW50OiB7IC4uLnRlc3RBZ2VudCwgdHlwZTogJ2N1c3RvbScsIG5hbWU6ICdMZWdhbCcgfSB9fT5cbiAgICAgICAgPENoYXRBSVBhZ2VIb21lIG9uU2VuZE1lc3NhZ2U9e2plc3QuZm4oKX0gLz5cbiAgICAgIDwvR2xvYmFsQ29udGV4dFRlc3RQcm92aWRlcj5cbiAgICApXG5cbiAgICBleHBlY3Qoc2NyZWVuLmdldEJ5VGV4dCgnTGVnYWwnKSkudG9CZUluVGhlRG9jdW1lbnQoKVxuICAgIGV4cGVjdChzY3JlZW4ucXVlcnlCeVRleHQoJ0NhcmdhciBtaXMgaG9yYXMgZGUgaG95JykpLm5vdC50b0JlSW5UaGVEb2N1bWVudCgpXG4gIH0pXG5cbiAgaXQoJ3N0YXJ0cyB0aGUgbGVhdmUgYW5pbWF0aW9uIGFuZCB0aGVuIHNlbmRzIHRoZSBtZXNzYWdlJywgKCkgPT4ge1xuICAgIGNvbnN0IG9uU2VuZE1lc3NhZ2UgPSBqZXN0LmZuKClcbiAgICBjb25zdCBvbkxlYXZlU3RhcnQgPSBqZXN0LmZuKClcbiAgICByZW5kZXJXaXRoUHJvdmlkZXJzKFxuICAgICAgPEdsb2JhbENvbnRleHRUZXN0UHJvdmlkZXI+XG4gICAgICAgIDxDaGF0QUlQYWdlSG9tZSBvblNlbmRNZXNzYWdlPXtvblNlbmRNZXNzYWdlfSBvbkxlYXZlU3RhcnQ9e29uTGVhdmVTdGFydH0gLz5cbiAgICAgIDwvR2xvYmFsQ29udGV4dFRlc3RQcm92aWRlcj5cbiAgICApXG5cbiAgICBmaXJlRXZlbnQuY2xpY2soc2NyZWVuLmdldEJ5Um9sZSgnYnV0dG9uJywgeyBuYW1lOiAnc2VuZCcgfSkpXG5cbiAgICBleHBlY3Qob25MZWF2ZVN0YXJ0KS50b0hhdmVCZWVuQ2FsbGVkKClcbiAgICBleHBlY3Qob25TZW5kTWVzc2FnZSkubm90LnRvSGF2ZUJlZW5DYWxsZWQoKVxuICAgIGV4cGVjdChzY3JlZW4uZ2V0QnlUZXh0KCdob2xhJykpLnRvQmVJblRoZURvY3VtZW50KClcblxuICAgIGFjdCgoKSA9PiB7XG4gICAgICBqZXN0LmFkdmFuY2VUaW1lcnNCeVRpbWUoNzAwKVxuICAgIH0pXG5cbiAgICBleHBlY3Qob25TZW5kTWVzc2FnZSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoJ2hvbGEnKVxuICB9KVxuICBpdC5lYWNoKG1vY2tBY3Rpb25zKSgnc2VuZHMgdGhlIHNlcnZlciBGVUEgaWQgZm9yICR0aXRsZScsIGFjdGlvbiA9PiB7XG4gICAgY29uc3Qgb25TZW5kTWVzc2FnZSA9IGplc3QuZm4oKVxuICAgIHJlbmRlcldpdGhQcm92aWRlcnMoPEdsb2JhbENvbnRleHRUZXN0UHJvdmlkZXI+PENoYXRBSVBhZ2VIb21lIG9uU2VuZE1lc3NhZ2U9e29uU2VuZE1lc3NhZ2V9IC8+PC9HbG9iYWxDb250ZXh0VGVzdFByb3ZpZGVyPilcbiAgICBleHBlY3QodXNlRnJlcXVlbnRseVVzZWRBY3Rpb25zKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh0ZXN0QWdlbnQuaWQsICdob21lX2NvbGxhYm9yYXRvcicpXG4gICAgZmlyZUV2ZW50LmNsaWNrKHNjcmVlbi5nZXRCeVJvbGUoJ2J1dHRvbicsIHsgbmFtZTogYCR7YWN0aW9uLnRpdGxlfSAke2FjdGlvbi5zdWJ0aXRsZX1gIH0pKVxuICAgIGFjdCgoKSA9PiB7IGplc3QuYWR2YW5jZVRpbWVyc0J5VGltZSg3MDApIH0pXG4gICAgZXhwZWN0KG9uU2VuZE1lc3NhZ2UpLnRvSGF2ZUJlZW5DYWxsZWRUaW1lcygxKVxuICAgIGV4cGVjdChvblNlbmRNZXNzYWdlKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChhY3Rpb24udGl0bGUsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgYWN0aW9uLmlkKVxuICB9KVxuXG4gIGl0KCdkb2VzIG5vdCByZXBsYWNlIGZhaWxlZCBGVUFzIHdpdGggZnJlZS10ZXh0IGNhcmRzIGFuZCBhbGxvd3MgcmV0cnknLCAoKSA9PiB7XG4gICAgamVzdC5tb2NrZWQodXNlRnJlcXVlbnRseVVzZWRBY3Rpb25zKS5tb2NrUmV0dXJuVmFsdWUoeyBhY3Rpb25zOiBbXSwgbG9hZGluZzogZmFsc2UsIGVycm9yOiAnZmFpbGVkJywgaGFuZGxlR2V0RnJlcXVlbnRseVVzZWRBY3Rpb25zOiBtb2NrRmV0Y2hBY3Rpb25zIH0pXG4gICAgY29uc3Qgb25TZW5kTWVzc2FnZSA9IGplc3QuZm4oKVxuICAgIHJlbmRlcldpdGhQcm92aWRlcnMoPEdsb2JhbENvbnRleHRUZXN0UHJvdmlkZXI+PENoYXRBSVBhZ2VIb21lIG9uU2VuZE1lc3NhZ2U9e29uU2VuZE1lc3NhZ2V9IC8+PC9HbG9iYWxDb250ZXh0VGVzdFByb3ZpZGVyPilcbiAgICBleHBlY3Qoc2NyZWVuLnF1ZXJ5QnlUZXh0KCdDYXJnYXIgbWlzIGhvcmFzIGRlIGhveScpKS5ub3QudG9CZUluVGhlRG9jdW1lbnQoKVxuICAgIGZpcmVFdmVudC5jbGljayhzY3JlZW4uZ2V0QnlSb2xlKCdidXR0b24nLCB7IG5hbWU6ICdob21lTWVudS5mdWEuZXJyb3InIH0pKVxuICAgIGV4cGVjdChtb2NrRmV0Y2hBY3Rpb25zKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh0ZXN0QWdlbnQuaWQpXG4gICAgZXhwZWN0KG9uU2VuZE1lc3NhZ2UpLm5vdC50b0hhdmVCZWVuQ2FsbGVkKClcbiAgfSlcblxufSlcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsU0FBU0EsU0FB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
@@ -1,144 +0,0 @@
1
- import styled, { css, keyframes } from 'styled-components';
2
- import { emergeDown, emergeUp, enterAt } from '../../../styles/cascade';
3
- import { fadeOut, overlayFadeIn } from '../../../styles/transitions';
4
- import { BLUE_IA_COLORS } from '../../../styles/config';
5
- import { StyledMAIAInputWrapper } from '../../atoms/MAIAInput/styles';
6
- import { StyledChatFooter } from '../../molecules/ChatFooter/styles';
7
- var glowPulseOuter = keyframes(["0%,100%{opacity:0.9;transform:translate(-50%,-50%) scale(1);}33%{opacity:1;transform:translate(calc(-50% + 6px),calc(-50% - 5px)) scale(1.03);}66%{opacity:0.8;transform:translate(calc(-50% - 6px),calc(-50% + 5px)) scale(0.97);}"]);
8
- var glowPulseInner = keyframes(["0%,100%{opacity:0.85;transform:translate(-50%,-50%) scale(1);}25%{opacity:1;transform:translate(calc(-50% + 8px),calc(-50% - 6px)) scale(1.04);}50%{opacity:0.72;transform:translate(-50%,calc(-50% + 7px)) scale(0.96);}75%{opacity:0.95;transform:translate(calc(-50% - 8px),calc(-50% - 4px)) scale(1.03);}"]);
9
- var glowPulseCorner = keyframes(["0%,100%{opacity:0.85;transform:scale(1);}50%{opacity:1;transform:scale(1.06);}"]);
10
- var glowMotionReduce = "\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n";
11
- export var SCPageHomeRoot = styled.div.withConfig({
12
- displayName: "ChatAIPageHomestyles__SCPageHomeRoot",
13
- componentId: "sc-1iosxod-0"
14
- })(["position:relative;isolation:isolate;flex:1;min-height:0;width:100%;display:flex;flex-direction:column;align-items:center;box-sizing:border-box;overflow:hidden;"]);
15
- export var SCPageHomeCenter = styled.div.withConfig({
16
- displayName: "ChatAIPageHomestyles__SCPageHomeCenter",
17
- componentId: "sc-1iosxod-1"
18
- })(["position:relative;z-index:1;isolation:isolate;flex:1;min-height:0;width:100%;align-items:center;box-sizing:border-box;overflow:hidden;", ""], function (_ref) {
19
- var $leaving = _ref.$leaving;
20
- return $leaving ? css(["display:flex;flex-direction:column;justify-content:flex-start;gap:0;padding:0 16px;"]) : css(["display:grid;grid-template-rows:minmax(0,1fr) auto minmax(0,1fr);grid-template-columns:minmax(0,710px);justify-content:center;justify-items:stretch;row-gap:16px;padding:16px;"]);
21
- });
22
- export var SCPageHomeGlowLayer = styled.div.withConfig({
23
- displayName: "ChatAIPageHomestyles__SCPageHomeGlowLayer",
24
- componentId: "sc-1iosxod-2"
25
- })(["position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;", ""], function (_ref2) {
26
- var $leaving = _ref2.$leaving;
27
- return $leaving ? fadeOut : overlayFadeIn;
28
- });
29
- export var SCPageHomeGlowBlueOuter = styled.div.withConfig({
30
- displayName: "ChatAIPageHomestyles__SCPageHomeGlowBlueOuter",
31
- componentId: "sc-1iosxod-3"
32
- })(["position:absolute;top:28%;left:70%;width:min(950px,120%);height:500px;border-radius:950px;background:radial-gradient( 50% 50% at 50% 50%,rgba(45,119,189,0.12) 0%,rgba(45,119,189,0.08) 35%,rgba(45,119,189,0.03) 70%,rgba(45,119,189,0) 100% );filter:blur(50px);transform:translate(-50%,-50%);transform-origin:center center;animation:", " 14s ease-in-out infinite;", ""], glowPulseOuter, glowMotionReduce);
33
- export var SCPageHomeGlowBlueInner = styled.div.withConfig({
34
- displayName: "ChatAIPageHomestyles__SCPageHomeGlowBlueInner",
35
- componentId: "sc-1iosxod-4"
36
- })(["position:absolute;top:30%;left:72%;width:min(687px,90%);height:330px;border-radius:687px;background:radial-gradient( 50% 50% at 50% 50%,rgba(45,119,189,0.19) 0%,rgba(45,119,189,0.1) 45%,rgba(45,119,189,0.02) 100% );filter:blur(25px);transform:translate(-50%,-50%);transform-origin:center center;animation:", " 10s ease-in-out infinite;", ""], glowPulseInner, glowMotionReduce);
37
- export var SCPageHomeGlowViolet = styled.div.withConfig({
38
- displayName: "ChatAIPageHomestyles__SCPageHomeGlowViolet",
39
- componentId: "sc-1iosxod-5"
40
- })(["position:absolute;left:-449px;bottom:-253px;width:967px;height:476px;border-radius:967px;background:radial-gradient( 50% 50% at 50% 50%,rgba(135,64,191,0.1) 0%,rgba(135,64,191,0.05) 45%,rgba(135,64,191,0) 100% );filter:blur(48px);transform-origin:center center;animation:", " 12s ease-in-out infinite;", ""], glowPulseCorner, glowMotionReduce);
41
- export var SCPageHomeDisclaimer = styled.div.withConfig({
42
- displayName: "ChatAIPageHomestyles__SCPageHomeDisclaimer",
43
- componentId: "sc-1iosxod-6"
44
- })(["position:relative;z-index:1;flex-shrink:0;width:100%;max-width:864px;padding:", ";box-sizing:border-box;min-height:", ";", ""], function (_ref3) {
45
- var $compact = _ref3.$compact;
46
- return $compact ? '0' : '8px 16px 16px';
47
- }, function (_ref4) {
48
- var $compact = _ref4.$compact;
49
- return $compact ? '0' : '40px';
50
- }, function (_ref5) {
51
- var $compact = _ref5.$compact;
52
- return !$compact && enterAt(700);
53
- });
54
- export var SCPageHomeLeaveFooter = styled.div.withConfig({
55
- displayName: "ChatAIPageHomestyles__SCPageHomeLeaveFooter",
56
- componentId: "sc-1iosxod-7"
57
- })(["flex-shrink:0;width:100%;display:flex;flex-direction:column;align-items:center;padding:8px 16px;margin-top:8px;box-sizing:border-box;gap:6px;"]);
58
- export var SCPageHomeWelcomeReveal = styled.div.withConfig({
59
- displayName: "ChatAIPageHomestyles__SCPageHomeWelcomeReveal",
60
- componentId: "sc-1iosxod-8"
61
- })(["display:flex;flex-direction:column;align-items:center;align-self:end;overflow:hidden;width:100%;", ""], function (_ref6) {
62
- var $leaving = _ref6.$leaving;
63
- return $leaving && css(["", " max-height:0;margin:0;pointer-events:none;"], fadeOut);
64
- });
65
- export var SCPageHomeLeaveMessage = styled.div.withConfig({
66
- displayName: "ChatAIPageHomestyles__SCPageHomeLeaveMessage",
67
- componentId: "sc-1iosxod-9"
68
- })(["display:flex;justify-content:flex-end;width:100%;max-width:864px;padding:0;box-sizing:border-box;will-change:transform;"]);
69
- export var SCPageHomeWelcome = styled.div.withConfig({
70
- displayName: "ChatAIPageHomestyles__SCPageHomeWelcome",
71
- componentId: "sc-1iosxod-10"
72
- })(["position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:8px;width:", ";max-width:", ";margin:0 auto;text-align:center;", ""], function (_ref7) {
73
- var $agent = _ref7.$agent;
74
- return $agent ? '100%' : 'auto';
75
- }, function (_ref8) {
76
- var $agent = _ref8.$agent;
77
- return $agent ? '574px' : 'none';
78
- }, emergeUp(320, 780));
79
- export var SCPageHomeGreeting = styled.p.withConfig({
80
- displayName: "ChatAIPageHomestyles__SCPageHomeGreeting",
81
- componentId: "sc-1iosxod-11"
82
- })(["margin:0;color:#2d77bd;text-align:center;font-family:var(--cor-typography-font-family,'Work Sans'),sans-serif;font-size:var(--cor-typography-font-size-lg,20px);font-weight:500;line-height:var(--cor-typography-line-height-24,24px);letter-spacing:var(--cor-typography-letter-spacing-0,0);"]);
83
- export var SCPageHomeSubtitle = styled.h1.withConfig({
84
- displayName: "ChatAIPageHomestyles__SCPageHomeSubtitle",
85
- componentId: "sc-1iosxod-12"
86
- })(["margin:0;width:100%;color:var(--cor-color-text-primary,#202020);text-align:center;font-family:var(--cor-typography-font-family,'Work Sans'),sans-serif;font-size:24px;font-weight:500;line-height:32px;letter-spacing:var(--cor-typography-letter-spacing-0,0);"]);
87
- export var SCPageHomeAgentAuthor = styled.p.withConfig({
88
- displayName: "ChatAIPageHomestyles__SCPageHomeAgentAuthor",
89
- componentId: "sc-1iosxod-13"
90
- })(["margin:0;width:100%;color:var(--Text-Secondary,#666);text-align:center;font-family:'Work Sans',sans-serif;font-size:12px;font-style:italic;font-weight:400;line-height:130%;letter-spacing:var(--cor-typography-letter-spacing-0,0);cursor:default;"]);
91
- export var SCPageHomeAgentIntro = styled.p.withConfig({
92
- displayName: "ChatAIPageHomestyles__SCPageHomeAgentIntro",
93
- componentId: "sc-1iosxod-14"
94
- })(["margin:0;align-self:stretch;color:var(--Text-Secondary,#666);text-align:center;font-family:var(--cor-typography-font-family,'Work Sans'),sans-serif;font-size:var(--cor-typography-font-size-sm,14px);font-weight:400;line-height:var(--cor-typography-line-height-20,20px);letter-spacing:var(--cor-typography-letter-spacing-0,0);"]);
95
- export var SCPageHomeLeaveBubble = styled.div.withConfig({
96
- displayName: "ChatAIPageHomestyles__SCPageHomeLeaveBubble",
97
- componentId: "sc-1iosxod-15"
98
- })(["max-width:75%;padding:12px;border-radius:8px;background-color:", ";color:var(--cor-color-text-primary,#202020);font-family:'Work Sans',sans-serif;font-size:14px;line-height:140%;overflow-wrap:anywhere;white-space:pre-wrap;"], BLUE_IA_COLORS[50]);
99
- export var SCPageHomeComposer = styled.div.withConfig({
100
- displayName: "ChatAIPageHomestyles__SCPageHomeComposer",
101
- componentId: "sc-1iosxod-16"
102
- })(["position:relative;z-index:1;isolation:isolate;display:flex;width:100%;max-width:", ";margin-top:0;flex-direction:column;align-items:stretch;gap:", ";", "{max-width:100%;}", "{background-color:#fff;}"], function (_ref9) {
103
- var $leaving = _ref9.$leaving;
104
- return $leaving ? '864px' : '710px';
105
- }, function (_ref0) {
106
- var $leaving = _ref0.$leaving;
107
- return $leaving ? '0' : '12px';
108
- }, StyledChatFooter, StyledMAIAInputWrapper);
109
- export var SCPageHomeInput = styled.div.withConfig({
110
- displayName: "ChatAIPageHomestyles__SCPageHomeInput",
111
- componentId: "sc-1iosxod-17"
112
- })(["width:100%;will-change:transform;"]);
113
- export var SCPageHomeActionsReveal = styled.div.withConfig({
114
- displayName: "ChatAIPageHomestyles__SCPageHomeActionsReveal",
115
- componentId: "sc-1iosxod-18"
116
- })(["overflow:hidden;width:100%;max-width:710px;align-self:start;justify-self:stretch;", ""], function (_ref1) {
117
- var $leaving = _ref1.$leaving;
118
- return $leaving && css(["", " max-height:0;margin:0;pointer-events:none;"], fadeOut);
119
- });
120
- export var SCPageHomeActions = styled.div.withConfig({
121
- displayName: "ChatAIPageHomestyles__SCPageHomeActions",
122
- componentId: "sc-1iosxod-19"
123
- })(["display:flex;align-items:center;gap:12px;width:100%;", ""], emergeDown(320, 780));
124
- export var SCPageHomeCard = styled.button.withConfig({
125
- displayName: "ChatAIPageHomestyles__SCPageHomeCard",
126
- componentId: "sc-1iosxod-20"
127
- })(["display:flex;flex:1 1 0;min-width:0;height:70px;padding:8px 10px;align-items:center;gap:8px;border-radius:var(--cor-radius-radius-md,8px);border:1px solid var(--Gray-50,#f2f2f2);background:var(--cor-color-grey-0,#fff);cursor:pointer;text-align:left;box-shadow:0 2px 15px 0 rgba(147,147,147,0);transition:border-color 0.2s ease,box-shadow 0.2s ease;&&{cursor:pointer;}svg{filter:grayscale(1);transition:filter 0.2s ease;}&:hover{border-color:var(--cor-color-border-default,#d9d9d9);background:var(--cor-color-grey-0,#fff);box-shadow:0 2px 15px 0 rgba(147,147,147,0.2);cursor:pointer;svg{filter:none;}}@media (prefers-reduced-motion:reduce){transition:none;}"]);
128
- export var SCPageHomeCardIcon = styled.span.withConfig({
129
- displayName: "ChatAIPageHomestyles__SCPageHomeCardIcon",
130
- componentId: "sc-1iosxod-21"
131
- })(["display:flex;height:36px;padding:0 7px;justify-content:center;align-items:center;flex-shrink:0;border-radius:4px;"]);
132
- export var SCPageHomeCardCopy = styled.span.withConfig({
133
- displayName: "ChatAIPageHomestyles__SCPageHomeCardCopy",
134
- componentId: "sc-1iosxod-22"
135
- })(["display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;flex:1 0 0;min-width:0;"]);
136
- export var SCPageHomeCardTitle = styled.span.withConfig({
137
- displayName: "ChatAIPageHomestyles__SCPageHomeCardTitle",
138
- componentId: "sc-1iosxod-23"
139
- })(["align-self:stretch;color:var(--cor-color-text-primary,#202020);font-family:'Work Sans',sans-serif;font-size:14px;font-weight:400;line-height:140%;letter-spacing:-0.21px;"]);
140
- export var SCPageHomeCardSubtitle = styled.span.withConfig({
141
- displayName: "ChatAIPageHomestyles__SCPageHomeCardSubtitle",
142
- componentId: "sc-1iosxod-24"
143
- })(["align-self:stretch;color:var(--Text-Secondary,#666);font-family:'Work Sans',sans-serif;font-size:12px;font-weight:400;line-height:130%;"]);
144
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJrZXlmcmFtZXMiLCJlbWVyZ2VEb3duIiwiZW1lcmdlVXAiLCJlbnRlckF0IiwiZmFkZU91dCIsIm92ZXJsYXlGYWRlSW4iLCJCTFVFX0lBX0NPTE9SUyIsIlN0eWxlZE1BSUFJbnB1dFdyYXBwZXIiLCJTdHlsZWRDaGF0Rm9vdGVyIiwiZ2xvd1B1bHNlT3V0ZXIiLCJnbG93UHVsc2VJbm5lciIsImdsb3dQdWxzZUNvcm5lciIsImdsb3dNb3Rpb25SZWR1Y2UiLCJTQ1BhZ2VIb21lUm9vdCIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwiU0NQYWdlSG9tZUNlbnRlciIsIl9yZWYiLCIkbGVhdmluZyIsIlNDUGFnZUhvbWVHbG93TGF5ZXIiLCJfcmVmMiIsIlNDUGFnZUhvbWVHbG93Qmx1ZU91dGVyIiwiU0NQYWdlSG9tZUdsb3dCbHVlSW5uZXIiLCJTQ1BhZ2VIb21lR2xvd1Zpb2xldCIsIlNDUGFnZUhvbWVEaXNjbGFpbWVyIiwiX3JlZjMiLCIkY29tcGFjdCIsIl9yZWY0IiwiX3JlZjUiLCJTQ1BhZ2VIb21lTGVhdmVGb290ZXIiLCJTQ1BhZ2VIb21lV2VsY29tZVJldmVhbCIsIl9yZWY2IiwiU0NQYWdlSG9tZUxlYXZlTWVzc2FnZSIsIlNDUGFnZUhvbWVXZWxjb21lIiwiX3JlZjciLCIkYWdlbnQiLCJfcmVmOCIsIlNDUGFnZUhvbWVHcmVldGluZyIsInAiLCJTQ1BhZ2VIb21lU3VidGl0bGUiLCJoMSIsIlNDUGFnZUhvbWVBZ2VudEF1dGhvciIsIlNDUGFnZUhvbWVBZ2VudEludHJvIiwiU0NQYWdlSG9tZUxlYXZlQnViYmxlIiwiU0NQYWdlSG9tZUNvbXBvc2VyIiwiX3JlZjkiLCJfcmVmMCIsIlNDUGFnZUhvbWVJbnB1dCIsIlNDUGFnZUhvbWVBY3Rpb25zUmV2ZWFsIiwiX3JlZjEiLCJTQ1BhZ2VIb21lQWN0aW9ucyIsIlNDUGFnZUhvbWVDYXJkIiwiYnV0dG9uIiwiU0NQYWdlSG9tZUNhcmRJY29uIiwic3BhbiIsIlNDUGFnZUhvbWVDYXJkQ29weSIsIlNDUGFnZUhvbWVDYXJkVGl0bGUiLCJTQ1BhZ2VIb21lQ2FyZFN1YnRpdGxlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvb3JnYW5pc21zL0NoYXRBSVBhZ2UvQ2hhdEFJUGFnZUhvbWUuc3R5bGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQsIHsgY3NzLCBrZXlmcmFtZXMgfSBmcm9tICdzdHlsZWQtY29tcG9uZW50cydcbmltcG9ydCB7IGVtZXJnZURvd24sIGVtZXJnZVVwLCBlbnRlckF0IH0gZnJvbSAnLi4vLi4vLi4vc3R5bGVzL2Nhc2NhZGUnXG5pbXBvcnQgeyBmYWRlT3V0LCBvdmVybGF5RmFkZUluIH0gZnJvbSAnLi4vLi4vLi4vc3R5bGVzL3RyYW5zaXRpb25zJ1xuaW1wb3J0IHsgQkxVRV9JQV9DT0xPUlMgfSBmcm9tICcuLi8uLi8uLi9zdHlsZXMvY29uZmlnJ1xuaW1wb3J0IHsgU3R5bGVkTUFJQUlucHV0V3JhcHBlciB9IGZyb20gJy4uLy4uL2F0b21zL01BSUFJbnB1dC9zdHlsZXMnXG5pbXBvcnQgeyBTdHlsZWRDaGF0Rm9vdGVyIH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL0NoYXRGb290ZXIvc3R5bGVzJ1xuXG5jb25zdCBnbG93UHVsc2VPdXRlciA9IGtleWZyYW1lc2BcbiAgMCUsXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxKTtcbiAgfVxuICAzMyUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoY2FsYygtNTAlICsgNnB4KSwgY2FsYygtNTAlIC0gNXB4KSkgc2NhbGUoMS4wMyk7XG4gIH1cbiAgNjYlIHtcbiAgICBvcGFjaXR5OiAwLjg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoY2FsYygtNTAlIC0gNnB4KSwgY2FsYygtNTAlICsgNXB4KSkgc2NhbGUoMC45Nyk7XG4gIH1cbmBcblxuY29uc3QgZ2xvd1B1bHNlSW5uZXIgPSBrZXlmcmFtZXNgXG4gIDAlLFxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwLjg1O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEpO1xuICB9XG4gIDI1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShjYWxjKC01MCUgKyA4cHgpLCBjYWxjKC01MCUgLSA2cHgpKSBzY2FsZSgxLjA0KTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuNzI7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgY2FsYygtNTAlICsgN3B4KSkgc2NhbGUoMC45Nik7XG4gIH1cbiAgNzUlIHtcbiAgICBvcGFjaXR5OiAwLjk1O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKGNhbGMoLTUwJSAtIDhweCksIGNhbGMoLTUwJSAtIDRweCkpIHNjYWxlKDEuMDMpO1xuICB9XG5gXG5cbmNvbnN0IGdsb3dQdWxzZUNvcm5lciA9IGtleWZyYW1lc2BcbiAgMCUsXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDAuODU7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA2KTtcbiAgfVxuYFxuXG5jb25zdCBnbG93TW90aW9uUmVkdWNlID0gYFxuICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NQYWdlSG9tZVJvb3QgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGlzb2xhdGlvbjogaXNvbGF0ZTtcbiAgZmxleDogMTtcbiAgbWluLWhlaWdodDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1BhZ2VIb21lQ2VudGVyID0gc3R5bGVkLmRpdjx7ICRsZWF2aW5nPzogYm9vbGVhbiB9PmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBpc29sYXRpb246IGlzb2xhdGU7XG4gIGZsZXg6IDE7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAkeyh7ICRsZWF2aW5nIH0pID0+XG4gICAgJGxlYXZpbmdcbiAgICAgID8gY3NzYFxuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgZ2FwOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDAgMTZweDtcbiAgICAgICAgYFxuICAgICAgOiBjc3NgXG4gICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IG1pbm1heCgwLCAxZnIpIGF1dG8gbWlubWF4KDAsIDFmcik7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgNzEwcHgpO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktaXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgICAgcm93LWdhcDogMTZweDtcbiAgICAgICAgICBwYWRkaW5nOiAxNnB4O1xuICAgICAgICBgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NQYWdlSG9tZUdsb3dMYXllciA9IHN0eWxlZC5kaXY8eyAkbGVhdmluZz86IGJvb2xlYW4gfT5gXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIHotaW5kZXg6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAkeyh7ICRsZWF2aW5nIH0pID0+ICgkbGVhdmluZyA/IGZhZGVPdXQgOiBvdmVybGF5RmFkZUluKX1cbmBcblxuZXhwb3J0IGNvbnN0IFNDUGFnZUhvbWVHbG93Qmx1ZU91dGVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDI4JTtcbiAgbGVmdDogNzAlO1xuICB3aWR0aDogbWluKDk1MHB4LCAxMjAlKTtcbiAgaGVpZ2h0OiA1MDBweDtcbiAgYm9yZGVyLXJhZGl1czogOTUwcHg7XG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChcbiAgICA1MCUgNTAlIGF0IDUwJSA1MCUsXG4gICAgcmdiYSg0NSwgMTE5LCAxODksIDAuMTIpIDAlLFxuICAgIHJnYmEoNDUsIDExOSwgMTg5LCAwLjA4KSAzNSUsXG4gICAgcmdiYSg0NSwgMTE5LCAxODksIDAuMDMpIDcwJSxcbiAgICByZ2JhKDQ1LCAxMTksIDE4OSwgMCkgMTAwJVxuICApO1xuICBmaWx0ZXI6IGJsdXIoNTBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICBhbmltYXRpb246ICR7Z2xvd1B1bHNlT3V0ZXJ9IDE0cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgJHtnbG93TW90aW9uUmVkdWNlfVxuYFxuXG5leHBvcnQgY29uc3QgU0NQYWdlSG9tZUdsb3dCbHVlSW5uZXIgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMzAlO1xuICBsZWZ0OiA3MiU7XG4gIHdpZHRoOiBtaW4oNjg3cHgsIDkwJSk7XG4gIGhlaWdodDogMzMwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDY4N3B4O1xuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoXG4gICAgNTAlIDUwJSBhdCA1MCUgNTAlLFxuICAgIHJnYmEoNDUsIDExOSwgMTg5LCAwLjE5KSAwJSxcbiAgICByZ2JhKDQ1LCAxMTksIDE4OSwgMC4xKSA0NSUsXG4gICAgcmdiYSg0NSwgMTE5LCAxODksIDAuMDIpIDEwMCVcbiAgKTtcbiAgZmlsdGVyOiBibHVyKDI1cHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgYW5pbWF0aW9uOiAke2dsb3dQdWxzZUlubmVyfSAxMHMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gICR7Z2xvd01vdGlvblJlZHVjZX1cbmBcblxuZXhwb3J0IGNvbnN0IFNDUGFnZUhvbWVHbG93VmlvbGV0ID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtNDQ5cHg7XG4gIGJvdHRvbTogLTI1M3B4O1xuICB3aWR0aDogOTY3cHg7XG4gIGhlaWdodDogNDc2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDk2N3B4O1xuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoXG4gICAgNTAlIDUwJSBhdCA1MCUgNTAlLFxuICAgIHJnYmEoMTM1LCA2NCwgMTkxLCAwLjEpIDAlLFxuICAgIHJnYmEoMTM1LCA2NCwgMTkxLCAwLjA1KSA0NSUsXG4gICAgcmdiYSgxMzUsIDY0LCAxOTEsIDApIDEwMCVcbiAgKTtcbiAgZmlsdGVyOiBibHVyKDQ4cHgpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICBhbmltYXRpb246ICR7Z2xvd1B1bHNlQ29ybmVyfSAxMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gICR7Z2xvd01vdGlvblJlZHVjZX1cbmBcblxuZXhwb3J0IGNvbnN0IFNDUGFnZUhvbWVEaXNjbGFpbWVyID0gc3R5bGVkLmRpdjx7ICRjb21wYWN0PzogYm9vbGVhbiB9PmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogODY0cHg7XG4gIHBhZGRpbmc6ICR7KHsgJGNvbXBhY3QgfSkgPT4gKCRjb21wYWN0ID8gJzAnIDogJzhweCAxNnB4IDE2cHgnKX07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1pbi1oZWlnaHQ6ICR7KHsgJGNvbXBhY3QgfSkgPT4gKCRjb21wYWN0ID8gJzAnIDogJzQwcHgnKX07XG4gICR7KHsgJGNvbXBhY3QgfSkgPT4gISRjb21wYWN0ICYmIGVudGVyQXQoNzAwKX1cbmBcblxuZXhwb3J0IGNvbnN0IFNDUGFnZUhvbWVMZWF2ZUZvb3RlciA9IHN0eWxlZC5kaXZgXG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogOHB4IDE2cHg7XG4gIG1hcmdpbi10b3A6IDhweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZ2FwOiA2cHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1BhZ2VIb21lV2VsY29tZVJldmVhbCA9IHN0eWxlZC5kaXY8eyAkbGVhdmluZz86IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLXNlbGY6IGVuZDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG4gICR7KHsgJGxlYXZpbmcgfSkgPT5cbiAgICAkbGVhdmluZyAmJlxuICAgIGNzc2BcbiAgICAgICR7ZmFkZU91dH1cbiAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NQYWdlSG9tZUxlYXZlTWVzc2FnZSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDg2NHB4O1xuICBwYWRkaW5nOiAwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuYFxuXG5leHBvcnQgY29uc3QgU0NQYWdlSG9tZVdlbGNvbWUgPSBzdHlsZWQuZGl2PHsgJGFnZW50PzogYm9vbGVhbiB9PmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbiAgd2lkdGg6ICR7KHsgJGFnZW50IH0pID0+ICgkYWdlbnQgPyAnMTAwJScgOiAnYXV0bycpfTtcbiAgbWF4LXdpZHRoOiAkeyh7ICRhZ2VudCB9KSA9PiAoJGFnZW50ID8gJzU3NHB4JyA6ICdub25lJyl9O1xuICBtYXJnaW46IDAgYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAke2VtZXJnZVVwKDMyMCwgNzgwKX1cbmBcblxuZXhwb3J0IGNvbnN0IFNDUGFnZUhvbWVHcmVldGluZyA9IHN0eWxlZC5wYFxuICBtYXJnaW46IDA7XG4gIGNvbG9yOiAjMmQ3N2JkO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1jb3ItdHlwb2dyYXBoeS1mb250LWZhbWlseSwgJ1dvcmsgU2FucycpLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IHZhcigtLWNvci10eXBvZ3JhcGh5LWZvbnQtc2l6ZS1sZywgMjBweCk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1jb3ItdHlwb2dyYXBoeS1saW5lLWhlaWdodC0yNCwgMjRweCk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jb3ItdHlwb2dyYXBoeS1sZXR0ZXItc3BhY2luZy0wLCAwKTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDUGFnZUhvbWVTdWJ0aXRsZSA9IHN0eWxlZC5oMWBcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgY29sb3I6IHZhcigtLWNvci1jb2xvci10ZXh0LXByaW1hcnksICMyMDIwMjApO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1jb3ItdHlwb2dyYXBoeS1mb250LWZhbWlseSwgJ1dvcmsgU2FucycpLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDI0cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY29yLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctMCwgMCk7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1BhZ2VIb21lQWdlbnRBdXRob3IgPSBzdHlsZWQucGBcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgY29sb3I6IHZhcigtLVRleHQtU2Vjb25kYXJ5LCAjNjY2KTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LWZhbWlseTogJ1dvcmsgU2FucycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMTMwJTtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWNvci10eXBvZ3JhcGh5LWxldHRlci1zcGFjaW5nLTAsIDApO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1BhZ2VIb21lQWdlbnRJbnRybyA9IHN0eWxlZC5wYFxuICBtYXJnaW46IDA7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIGNvbG9yOiB2YXIoLS1UZXh0LVNlY29uZGFyeSwgIzY2Nik7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWNvci10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5LCAnV29yayBTYW5zJyksIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogdmFyKC0tY29yLXR5cG9ncmFwaHktZm9udC1zaXplLXNtLCAxNHB4KTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWNvci10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0LTIwLCAyMHB4KTtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWNvci10eXBvZ3JhcGh5LWxldHRlci1zcGFjaW5nLTAsIDApO1xuYFxuXG5leHBvcnQgY29uc3QgU0NQYWdlSG9tZUxlYXZlQnViYmxlID0gc3R5bGVkLmRpdmBcbiAgbWF4LXdpZHRoOiA3NSU7XG4gIHBhZGRpbmc6IDEycHg7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtCTFVFX0lBX0NPTE9SU1s1MF19O1xuICBjb2xvcjogdmFyKC0tY29yLWNvbG9yLXRleHQtcHJpbWFyeSwgIzIwMjAyMCk7XG4gIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMTQwJTtcbiAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDUGFnZUhvbWVDb21wb3NlciA9IHN0eWxlZC5kaXY8eyAkbGVhdmluZz86IGJvb2xlYW4gfT5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgaXNvbGF0aW9uOiBpc29sYXRlO1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAkeyh7ICRsZWF2aW5nIH0pID0+ICgkbGVhdmluZyA/ICc4NjRweCcgOiAnNzEwcHgnKX07XG4gIG1hcmdpbi10b3A6IDA7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBnYXA6ICR7KHsgJGxlYXZpbmcgfSkgPT4gKCRsZWF2aW5nID8gJzAnIDogJzEycHgnKX07XG5cbiAgJHtTdHlsZWRDaGF0Rm9vdGVyfSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgJHtTdHlsZWRNQUlBSW5wdXRXcmFwcGVyfSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NQYWdlSG9tZUlucHV0ID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDEwMCU7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1BhZ2VIb21lQWN0aW9uc1JldmVhbCA9IHN0eWxlZC5kaXY8eyAkbGVhdmluZz86IGJvb2xlYW4gfT5gXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDcxMHB4O1xuICBhbGlnbi1zZWxmOiBzdGFydDtcbiAganVzdGlmeS1zZWxmOiBzdHJldGNoO1xuICAkeyh7ICRsZWF2aW5nIH0pID0+XG4gICAgJGxlYXZpbmcgJiZcbiAgICBjc3NgXG4gICAgICAke2ZhZGVPdXR9XG4gICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDUGFnZUhvbWVBY3Rpb25zID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxMnB4O1xuICB3aWR0aDogMTAwJTtcbiAgJHtlbWVyZ2VEb3duKDMyMCwgNzgwKX1cbmBcblxuZXhwb3J0IGNvbnN0IFNDUGFnZUhvbWVDYXJkID0gc3R5bGVkLmJ1dHRvbmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMSAxIDA7XG4gIG1pbi13aWR0aDogMDtcbiAgaGVpZ2h0OiA3MHB4O1xuICBwYWRkaW5nOiA4cHggMTBweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWNvci1yYWRpdXMtcmFkaXVzLW1kLCA4cHgpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1HcmF5LTUwLCAjZjJmMmYyKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29yLWNvbG9yLWdyZXktMCwgI2ZmZik7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYm94LXNoYWRvdzogMCAycHggMTVweCAwIHJnYmEoMTQ3LCAxNDcsIDE0NywgMCk7XG4gIHRyYW5zaXRpb246XG4gICAgYm9yZGVyLWNvbG9yIDAuMnMgZWFzZSxcbiAgICBib3gtc2hhZG93IDAuMnMgZWFzZTtcblxuICAmJiB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgc3ZnIHtcbiAgICBmaWx0ZXI6IGdyYXlzY2FsZSgxKTtcbiAgICB0cmFuc2l0aW9uOiBmaWx0ZXIgMC4ycyBlYXNlO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb3ItY29sb3ItYm9yZGVyLWRlZmF1bHQsICNkOWQ5ZDkpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvci1jb2xvci1ncmV5LTAsICNmZmYpO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDE1cHggMCByZ2JhKDE0NywgMTQ3LCAxNDcsIDAuMik7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgc3ZnIHtcbiAgICAgIGZpbHRlcjogbm9uZTtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDUGFnZUhvbWVDYXJkSWNvbiA9IHN0eWxlZC5zcGFuYFxuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDM2cHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDUGFnZUhvbWVDYXJkQ29weSA9IHN0eWxlZC5zcGFuYFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogMnB4O1xuICBmbGV4OiAxIDAgMDtcbiAgbWluLXdpZHRoOiAwO1xuYFxuXG5leHBvcnQgY29uc3QgU0NQYWdlSG9tZUNhcmRUaXRsZSA9IHN0eWxlZC5zcGFuYFxuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBjb2xvcjogdmFyKC0tY29yLWNvbG9yLXRleHQtcHJpbWFyeSwgIzIwMjAyMCk7XG4gIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMTQwJTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjIxcHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1BhZ2VIb21lQ2FyZFN1YnRpdGxlID0gc3R5bGVkLnNwYW5gXG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIGNvbG9yOiB2YXIoLS1UZXh0LVNlY29uZGFyeSwgIzY2Nik7XG4gIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMTMwJTtcbmBcbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsTUFBTSxJQUFJQyxHQUFHLEVBQUVDLFNBQVMs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
@@ -1,9 +0,0 @@
1
- /** Parte del día según la hora local del navegador. */
2
- export var getDaypart = function getDaypart() {
3
- var date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new Date();
4
- var hour = date.getHours();
5
- if (hour >= 5 && hour < 12) return 'morning';
6
- if (hour >= 12 && hour < 20) return 'afternoon';
7
- return 'evening';
8
- };
9
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXREYXlwYXJ0IiwiZGF0ZSIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsIkRhdGUiLCJob3VyIiwiZ2V0SG91cnMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9vcmdhbmlzbXMvQ2hhdEFJUGFnZS9nZXREYXlwYXJ0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIERheXBhcnQgPSAnbW9ybmluZycgfCAnYWZ0ZXJub29uJyB8ICdldmVuaW5nJ1xuXG4vKiogUGFydGUgZGVsIGTDrWEgc2Vnw7puIGxhIGhvcmEgbG9jYWwgZGVsIG5hdmVnYWRvci4gKi9cbmV4cG9ydCBjb25zdCBnZXREYXlwYXJ0ID0gKGRhdGU6IERhdGUgPSBuZXcgRGF0ZSgpKTogRGF5cGFydCA9PiB7XG4gIGNvbnN0IGhvdXIgPSBkYXRlLmdldEhvdXJzKClcbiAgaWYgKGhvdXIgPj0gNSAmJiBob3VyIDwgMTIpIHJldHVybiAnbW9ybmluZydcbiAgaWYgKGhvdXIgPj0gMTIgJiYgaG91ciA8IDIwKSByZXR1cm4gJ2FmdGVybm9vbidcbiAgcmV0dXJuICdldmVuaW5nJ1xufVxuIl0sIm1hcHBpbmdzIjoiQUFFQTtBQUNBLE9BQU8sSUFBTUEsVUFBVSxHQUFHLFNBQWJBLFVBQVVBLENBQUEsRUFBeUM7RUFBQSxJQUFyQ0MsSUFBVSxHQUFBQyxTQUFBLENBQUFDLE1BQUEsUUFBQUQsU0FBQSxRQUFBRSxTQUFBLEdBQUFGLFNBQUEsTUFBRyxJQUFJRyxJQUFJLENBQUMsQ0FBQztFQUNoRCxJQUFNQyxJQUFJLEdBQUdMLElBQUksQ0FBQ00sUUFBUSxDQUFDLENBQUM7RUFDNUIsSUFBSUQsSUFBSSxJQUFJLENBQUMsSUFBSUEsSUFBSSxHQUFHLEVBQUUsRUFBRSxPQUFPLFNBQVM7RUFDNUMsSUFBSUEsSUFBSSxJQUFJLEVBQUUsSUFBSUEsSUFBSSxHQUFHLEVBQUUsRUFBRSxPQUFPLFdBQVc7RUFDL0MsT0FBTyxTQUFTO0FBQ2xCLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1,19 +0,0 @@
1
- import { getDaypart } from './getDaypart';
2
- var atHour = function atHour(hour) {
3
- return new Date(2026, 0, 1, hour, 0, 0);
4
- };
5
- describe('getDaypart', function () {
6
- it('returns morning between 5 and 11', function () {
7
- expect(getDaypart(atHour(5))).toBe('morning');
8
- expect(getDaypart(atHour(11))).toBe('morning');
9
- });
10
- it('returns afternoon between 12 and 19', function () {
11
- expect(getDaypart(atHour(12))).toBe('afternoon');
12
- expect(getDaypart(atHour(19))).toBe('afternoon');
13
- });
14
- it('returns evening otherwise', function () {
15
- expect(getDaypart(atHour(20))).toBe('evening');
16
- expect(getDaypart(atHour(4))).toBe('evening');
17
- });
18
- });
19
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXREYXlwYXJ0IiwiYXRIb3VyIiwiaG91ciIsIkRhdGUiLCJkZXNjcmliZSIsIml0IiwiZXhwZWN0IiwidG9CZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL29yZ2FuaXNtcy9DaGF0QUlQYWdlL2dldERheXBhcnQuc3BlYy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXREYXlwYXJ0IH0gZnJvbSAnLi9nZXREYXlwYXJ0J1xuXG5jb25zdCBhdEhvdXIgPSAoaG91cjogbnVtYmVyKSA9PiBuZXcgRGF0ZSgyMDI2LCAwLCAxLCBob3VyLCAwLCAwKVxuXG5kZXNjcmliZSgnZ2V0RGF5cGFydCcsICgpID0+IHtcbiAgaXQoJ3JldHVybnMgbW9ybmluZyBiZXR3ZWVuIDUgYW5kIDExJywgKCkgPT4ge1xuICAgIGV4cGVjdChnZXREYXlwYXJ0KGF0SG91cig1KSkpLnRvQmUoJ21vcm5pbmcnKVxuICAgIGV4cGVjdChnZXREYXlwYXJ0KGF0SG91cigxMSkpKS50b0JlKCdtb3JuaW5nJylcbiAgfSlcblxuICBpdCgncmV0dXJucyBhZnRlcm5vb24gYmV0d2VlbiAxMiBhbmQgMTknLCAoKSA9PiB7XG4gICAgZXhwZWN0KGdldERheXBhcnQoYXRIb3VyKDEyKSkpLnRvQmUoJ2FmdGVybm9vbicpXG4gICAgZXhwZWN0KGdldERheXBhcnQoYXRIb3VyKDE5KSkpLnRvQmUoJ2FmdGVybm9vbicpXG4gIH0pXG5cbiAgaXQoJ3JldHVybnMgZXZlbmluZyBvdGhlcndpc2UnLCAoKSA9PiB7XG4gICAgZXhwZWN0KGdldERheXBhcnQoYXRIb3VyKDIwKSkpLnRvQmUoJ2V2ZW5pbmcnKVxuICAgIGV4cGVjdChnZXREYXlwYXJ0KGF0SG91cig0KSkpLnRvQmUoJ2V2ZW5pbmcnKVxuICB9KVxufSlcbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsVUFBVSxRQUFRLGNBQWM7QUFFekMsSUFBTUMsTUFBTSxHQUFHLFNBQVRBLE1BQU1BLENBQUlDLElBQVk7RUFBQSxPQUFLLElBQUlDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRUQsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7QUFBQTtBQUVqRUUsUUFBUSxDQUFDLFlBQVksRUFBRSxZQUFNO0VBQzNCQyxFQUFFLENBQUMsa0NBQWtDLEVBQUUsWUFBTTtJQUMzQ0MsTUFBTSxDQUFDTixVQUFVLENBQUNDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUNNLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDN0NELE1BQU0sQ0FBQ04sVUFBVSxDQUFDQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDTSxJQUFJLENBQUMsU0FBUyxDQUFDO0VBQ2hELENBQUMsQ0FBQztFQUVGRixFQUFFLENBQUMscUNBQXFDLEVBQUUsWUFBTTtJQUM5Q0MsTUFBTSxDQUFDTixVQUFVLENBQUNDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUNNLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDaERELE1BQU0sQ0FBQ04sVUFBVSxDQUFDQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDTSxJQUFJLENBQUMsV0FBVyxDQUFDO0VBQ2xELENBQUMsQ0FBQztFQUVGRixFQUFFLENBQUMsMkJBQTJCLEVBQUUsWUFBTTtJQUNwQ0MsTUFBTSxDQUFDTixVQUFVLENBQUNDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUNNLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDOUNELE1BQU0sQ0FBQ04sVUFBVSxDQUFDQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDTSxJQUFJLENBQUMsU0FBUyxDQUFDO0VBQy9DLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1,3 +0,0 @@
1
- export { ChatAIPage } from './ChatAIPage';
2
- export { SCPageHost } from './ChatAIPage.styles';
3
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDaGF0QUlQYWdlIiwiU0NQYWdlSG9zdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL29yZ2FuaXNtcy9DaGF0QUlQYWdlL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IENoYXRBSVBhZ2UgfSBmcm9tICcuL0NoYXRBSVBhZ2UnXG5leHBvcnQgdHlwZSB7IENoYXRBSVBhZ2VQcm9wcyB9IGZyb20gJy4vQ2hhdEFJUGFnZSdcbmV4cG9ydCB7IFNDUGFnZUhvc3QgfSBmcm9tICcuL0NoYXRBSVBhZ2Uuc3R5bGVzJ1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxVQUFVLFFBQVEsY0FBYztBQUV6QyxTQUFTQyxVQUFVLFFBQVEscUJBQXFCIiwiaWdub3JlTGlzdCI6W119
@@ -1,59 +0,0 @@
1
- import { fireEvent, renderWithProviders, screen } from '../../../test/test-utils';
2
- import { ensurePortalRoot } from '../../../test/portalRoot';
3
- import { DeleteAgentModal } from './DeleteAgentModal';
4
- import { jsx as _jsx } from "react/jsx-runtime";
5
- jest.mock('../../../hooks/useMaiaTaskPanelZIndex', function () {
6
- return {
7
- useMaiaTaskPanelZIndex: function useMaiaTaskPanelZIndex() {
8
- return 11111;
9
- }
10
- };
11
- });
12
- describe('DeleteAgentModal', function () {
13
- var cleanupPortal;
14
- beforeEach(function () {
15
- cleanupPortal = ensurePortalRoot('modal-root-actions');
16
- });
17
- afterEach(function () {
18
- cleanupPortal();
19
- });
20
- it('confirms delete for the agent', function () {
21
- var handleConfirmAction = jest.fn();
22
- var chat = {
23
- title: 'Custom agent',
24
- id: 'a1'
25
- };
26
- renderWithProviders(/*#__PURE__*/_jsx(DeleteAgentModal, {
27
- onClose: jest.fn(),
28
- handlers: {
29
- handleConfirmAction: handleConfirmAction
30
- },
31
- chat: chat
32
- }));
33
- expect(screen.getByText('deleteQuestionModal.title')).toBeInTheDocument();
34
- fireEvent.click(screen.getByRole('button', {
35
- name: 'deleteQuestionModal.delete'
36
- }));
37
- expect(handleConfirmAction).toHaveBeenCalledWith(chat);
38
- });
39
- it('cancels without confirming', function () {
40
- var handleConfirmAction = jest.fn();
41
- var onClose = jest.fn();
42
- renderWithProviders(/*#__PURE__*/_jsx(DeleteAgentModal, {
43
- onClose: onClose,
44
- handlers: {
45
- handleConfirmAction: handleConfirmAction
46
- },
47
- chat: {
48
- title: 'Custom',
49
- id: 'a1'
50
- }
51
- }));
52
- fireEvent.click(screen.getByRole('button', {
53
- name: 'deleteQuestionModal.cancel'
54
- }));
55
- expect(onClose).toHaveBeenCalled();
56
- expect(handleConfirmAction).not.toHaveBeenCalled();
57
- });
58
- });
59
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmaXJlRXZlbnQiLCJyZW5kZXJXaXRoUHJvdmlkZXJzIiwic2NyZWVuIiwiZW5zdXJlUG9ydGFsUm9vdCIsIkRlbGV0ZUFnZW50TW9kYWwiLCJqc3giLCJfanN4IiwiamVzdCIsIm1vY2siLCJ1c2VNYWlhVGFza1BhbmVsWkluZGV4IiwiZGVzY3JpYmUiLCJjbGVhbnVwUG9ydGFsIiwiYmVmb3JlRWFjaCIsImFmdGVyRWFjaCIsIml0IiwiaGFuZGxlQ29uZmlybUFjdGlvbiIsImZuIiwiY2hhdCIsInRpdGxlIiwiaWQiLCJvbkNsb3NlIiwiaGFuZGxlcnMiLCJleHBlY3QiLCJnZXRCeVRleHQiLCJ0b0JlSW5UaGVEb2N1bWVudCIsImNsaWNrIiwiZ2V0QnlSb2xlIiwibmFtZSIsInRvSGF2ZUJlZW5DYWxsZWRXaXRoIiwidG9IYXZlQmVlbkNhbGxlZCIsIm5vdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL29yZ2FuaXNtcy9EZWxldGVBZ2VudE1vZGFsL0RlbGV0ZUFnZW50TW9kYWwuc3BlYy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZmlyZUV2ZW50LCByZW5kZXJXaXRoUHJvdmlkZXJzLCBzY3JlZW4gfSBmcm9tICcuLi8uLi8uLi90ZXN0L3Rlc3QtdXRpbHMnXG5pbXBvcnQgeyBlbnN1cmVQb3J0YWxSb290IH0gZnJvbSAnLi4vLi4vLi4vdGVzdC9wb3J0YWxSb290J1xuaW1wb3J0IHsgRGVsZXRlQWdlbnRNb2RhbCB9IGZyb20gJy4vRGVsZXRlQWdlbnRNb2RhbCdcblxuamVzdC5tb2NrKCcuLi8uLi8uLi9ob29rcy91c2VNYWlhVGFza1BhbmVsWkluZGV4JywgKCkgPT4gKHtcbiAgdXNlTWFpYVRhc2tQYW5lbFpJbmRleDogKCkgPT4gMTExMTEsXG59KSlcblxuZGVzY3JpYmUoJ0RlbGV0ZUFnZW50TW9kYWwnLCAoKSA9PiB7XG4gIGxldCBjbGVhbnVwUG9ydGFsOiAoKSA9PiB2b2lkXG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgY2xlYW51cFBvcnRhbCA9IGVuc3VyZVBvcnRhbFJvb3QoJ21vZGFsLXJvb3QtYWN0aW9ucycpXG4gIH0pXG5cbiAgYWZ0ZXJFYWNoKCgpID0+IHtcbiAgICBjbGVhbnVwUG9ydGFsKClcbiAgfSlcblxuICBpdCgnY29uZmlybXMgZGVsZXRlIGZvciB0aGUgYWdlbnQnLCAoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlQ29uZmlybUFjdGlvbiA9IGplc3QuZm4oKVxuICAgIGNvbnN0IGNoYXQgPSB7IHRpdGxlOiAnQ3VzdG9tIGFnZW50JywgaWQ6ICdhMScgfVxuICAgIHJlbmRlcldpdGhQcm92aWRlcnMoPERlbGV0ZUFnZW50TW9kYWwgb25DbG9zZT17amVzdC5mbigpfSBoYW5kbGVycz17eyBoYW5kbGVDb25maXJtQWN0aW9uIH19IGNoYXQ9e2NoYXR9IC8+KVxuXG4gICAgZXhwZWN0KHNjcmVlbi5nZXRCeVRleHQoJ2RlbGV0ZVF1ZXN0aW9uTW9kYWwudGl0bGUnKSkudG9CZUluVGhlRG9jdW1lbnQoKVxuICAgIGZpcmVFdmVudC5jbGljayhzY3JlZW4uZ2V0QnlSb2xlKCdidXR0b24nLCB7IG5hbWU6ICdkZWxldGVRdWVzdGlvbk1vZGFsLmRlbGV0ZScgfSkpXG4gICAgZXhwZWN0KGhhbmRsZUNvbmZpcm1BY3Rpb24pLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGNoYXQpXG4gIH0pXG5cbiAgaXQoJ2NhbmNlbHMgd2l0aG91dCBjb25maXJtaW5nJywgKCkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZUNvbmZpcm1BY3Rpb24gPSBqZXN0LmZuKClcbiAgICBjb25zdCBvbkNsb3NlID0gamVzdC5mbigpXG4gICAgcmVuZGVyV2l0aFByb3ZpZGVycyhcbiAgICAgIDxEZWxldGVBZ2VudE1vZGFsIG9uQ2xvc2U9e29uQ2xvc2V9IGhhbmRsZXJzPXt7IGhhbmRsZUNvbmZpcm1BY3Rpb24gfX0gY2hhdD17eyB0aXRsZTogJ0N1c3RvbScsIGlkOiAnYTEnIH19IC8+XG4gICAgKVxuXG4gICAgZmlyZUV2ZW50LmNsaWNrKHNjcmVlbi5nZXRCeVJvbGUoJ2J1dHRvbicsIHsgbmFtZTogJ2RlbGV0ZVF1ZXN0aW9uTW9kYWwuY2FuY2VsJyB9KSlcbiAgICBleHBlY3Qob25DbG9zZSkudG9IYXZlQmVlbkNhbGxlZCgpXG4gICAgZXhwZWN0KGhhbmRsZUNvbmZpcm1BY3Rpb24pLm5vdC50b0hhdmVCZWVuQ2FsbGVkKClcbiAgfSlcbn0pXG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLFNBQVMsRUFBRUMsbUJBQW1CLEVBQUVDLE1BQU0sUUFBUSwwQkFBMEI7QUFDakYsU0FBU0MsZ0JBQWdCLFFBQVEsMEJBQTBCO0FBQzNELFNBQVNDLGdCQUFnQixRQUFRLG9CQUFvQjtBQUFBLFNBQUFDLEdBQUEsSUFBQUMsSUFBQTtBQUVyREMsSUFBSSxDQUFDQyxJQUFJLENBQUMsdUNBQXVDLEVBQUU7RUFBQSxPQUFPO0lBQ3hEQyxzQkFBc0IsRUFBRSxTQUF4QkEsc0JBQXNCQSxDQUFBO01BQUEsT0FBUSxLQUFLO0lBQUE7RUFDckMsQ0FBQztBQUFBLENBQUMsQ0FBQztBQUVIQyxRQUFRLENBQUMsa0JBQWtCLEVBQUUsWUFBTTtFQUNqQyxJQUFJQyxhQUF5QjtFQUU3QkMsVUFBVSxDQUFDLFlBQU07SUFDZkQsYUFBYSxHQUFHUixnQkFBZ0IsQ0FBQyxvQkFBb0IsQ0FBQztFQUN4RCxDQUFDLENBQUM7RUFFRlUsU0FBUyxDQUFDLFlBQU07SUFDZEYsYUFBYSxDQUFDLENBQUM7RUFDakIsQ0FBQyxDQUFDO0VBRUZHLEVBQUUsQ0FBQywrQkFBK0IsRUFBRSxZQUFNO0lBQ3hDLElBQU1DLG1CQUFtQixHQUFHUixJQUFJLENBQUNTLEVBQUUsQ0FBQyxDQUFDO0lBQ3JDLElBQU1DLElBQUksR0FBRztNQUFFQyxLQUFLLEVBQUUsY0FBYztNQUFFQyxFQUFFLEVBQUU7SUFBSyxDQUFDO0lBQ2hEbEIsbUJBQW1CLGNBQUNLLElBQUEsQ0FBQ0YsZ0JBQWdCO01BQUNnQixPQUFPLEVBQUViLElBQUksQ0FBQ1MsRUFBRSxDQUFDLENBQUU7TUFBQ0ssUUFBUSxFQUFFO1FBQUVOLG1CQUFtQixFQUFuQkE7TUFBb0IsQ0FBRTtNQUFDRSxJQUFJLEVBQUVBO0lBQUssQ0FBRSxDQUFDLENBQUM7SUFFNUdLLE1BQU0sQ0FBQ3BCLE1BQU0sQ0FBQ3FCLFNBQVMsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUNDLGlCQUFpQixDQUFDLENBQUM7SUFDekV4QixTQUFTLENBQUN5QixLQUFLLENBQUN2QixNQUFNLENBQUN3QixTQUFTLENBQUMsUUFBUSxFQUFFO01BQUVDLElBQUksRUFBRTtJQUE2QixDQUFDLENBQUMsQ0FBQztJQUNuRkwsTUFBTSxDQUFDUCxtQkFBbUIsQ0FBQyxDQUFDYSxvQkFBb0IsQ0FBQ1gsSUFBSSxDQUFDO0VBQ3hELENBQUMsQ0FBQztFQUVGSCxFQUFFLENBQUMsNEJBQTRCLEVBQUUsWUFBTTtJQUNyQyxJQUFNQyxtQkFBbUIsR0FBR1IsSUFBSSxDQUFDUyxFQUFFLENBQUMsQ0FBQztJQUNyQyxJQUFNSSxPQUFPLEdBQUdiLElBQUksQ0FBQ1MsRUFBRSxDQUFDLENBQUM7SUFDekJmLG1CQUFtQixjQUNqQkssSUFBQSxDQUFDRixnQkFBZ0I7TUFBQ2dCLE9BQU8sRUFBRUEsT0FBUTtNQUFDQyxRQUFRLEVBQUU7UUFBRU4sbUJBQW1CLEVBQW5CQTtNQUFvQixDQUFFO01BQUNFLElBQUksRUFBRTtRQUFFQyxLQUFLLEVBQUUsUUFBUTtRQUFFQyxFQUFFLEVBQUU7TUFBSztJQUFFLENBQUUsQ0FDL0csQ0FBQztJQUVEbkIsU0FBUyxDQUFDeUIsS0FBSyxDQUFDdkIsTUFBTSxDQUFDd0IsU0FBUyxDQUFDLFFBQVEsRUFBRTtNQUFFQyxJQUFJLEVBQUU7SUFBNkIsQ0FBQyxDQUFDLENBQUM7SUFDbkZMLE1BQU0sQ0FBQ0YsT0FBTyxDQUFDLENBQUNTLGdCQUFnQixDQUFDLENBQUM7SUFDbENQLE1BQU0sQ0FBQ1AsbUJBQW1CLENBQUMsQ0FBQ2UsR0FBRyxDQUFDRCxnQkFBZ0IsQ0FBQyxDQUFDO0VBQ3BELENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==