contactstudiocstools 1.0.224
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +94 -0
- package/dist/module.cjs +5 -0
- package/dist/module.d.ts +7 -0
- package/dist/module.json +5 -0
- package/dist/module.mjs +72 -0
- package/dist/runtime/components/Atom.Alert.vue +46 -0
- package/dist/runtime/components/Atom.Auth.vue +37 -0
- package/dist/runtime/components/Atom.BannerChatEmpty.vue +18 -0
- package/dist/runtime/components/Atom.BannerPage404.vue +28 -0
- package/dist/runtime/components/Atom.BannerPageUnauthorized.vue +18 -0
- package/dist/runtime/components/Atom.Breadcrumb.vue +26 -0
- package/dist/runtime/components/Atom.ChatContact.vue +136 -0
- package/dist/runtime/components/Atom.ChatContactSchedule.vue +87 -0
- package/dist/runtime/components/Atom.ChatMessageFooter.vue +25 -0
- package/dist/runtime/components/Atom.DarkMode.vue +67 -0
- package/dist/runtime/components/Atom.DraggableWindow.vue +102 -0
- package/dist/runtime/components/Atom.Dropdown.vue +9 -0
- package/dist/runtime/components/Atom.DropdownSearchable.vue +25 -0
- package/dist/runtime/components/Atom.Fetch.vue +46 -0
- package/dist/runtime/components/Atom.Field.vue +43 -0
- package/dist/runtime/components/Atom.FieldDate.vue +19 -0
- package/dist/runtime/components/Atom.FieldNumber.vue +19 -0
- package/dist/runtime/components/Atom.FieldPhone.vue +92 -0
- package/dist/runtime/components/Atom.FieldSelect.vue +28 -0
- package/dist/runtime/components/Atom.FieldSelectMultiple.vue +49 -0
- package/dist/runtime/components/Atom.FieldText.vue +19 -0
- package/dist/runtime/components/Atom.FieldTextarea.vue +41 -0
- package/dist/runtime/components/Atom.Loading.vue +80 -0
- package/dist/runtime/components/Atom.Notification.vue +48 -0
- package/dist/runtime/components/Atom.Ringtone.vue +23 -0
- package/dist/runtime/components/Atom.SelectTreeField.vue +49 -0
- package/dist/runtime/components/Atom.Snapshot.vue +33 -0
- package/dist/runtime/components/Atom.Tabs.vue +60 -0
- package/dist/runtime/components/Molecule.ChatMessageFile.vue +102 -0
- package/dist/runtime/components/Molecule.ChatMessageOption.vue +85 -0
- package/dist/runtime/components/Molecule.ChatMessageText.vue +36 -0
- package/dist/runtime/components/Molecule.ClientHistory.vue +62 -0
- package/dist/runtime/components/Molecule.DropdownDDI.vue +333 -0
- package/dist/runtime/components/Molecule.FieldGroup.vue +73 -0
- package/dist/runtime/components/Molecule.FieldSelectMultiple.vue +19 -0
- package/dist/runtime/components/Molecule.File.vue +84 -0
- package/dist/runtime/components/Molecule.SelectTreeSearchable.vue +126 -0
- package/dist/runtime/components/Molecule.Status.vue +154 -0
- package/dist/runtime/components/Molecule.TimeDaily.vue +9 -0
- package/dist/runtime/components/Organism.Attachments.vue +139 -0
- package/dist/runtime/components/Organism.ChatMessages.vue +31 -0
- package/dist/runtime/components/Organism.ChatRoom.vue +342 -0
- package/dist/runtime/components/Organism.ChatSchedule.vue +110 -0
- package/dist/runtime/components/Organism.ClientHistoryTable.vue +85 -0
- package/dist/runtime/components/Organism.ClientHistoryTimeline.vue +77 -0
- package/dist/runtime/components/Organism.FAQ.vue +88 -0
- package/dist/runtime/components/Organism.Form.vue +67 -0
- package/dist/runtime/components/Organism.FormMailing.vue +112 -0
- package/dist/runtime/components/Organism.HeaderMain.vue +79 -0
- package/dist/runtime/components/Organism.Manifestation.vue +146 -0
- package/dist/runtime/components/Organism.Nav.vue +27 -0
- package/dist/runtime/components/Organism.NavMain.vue +187 -0
- package/dist/runtime/components/Organism.PageContainer.vue +22 -0
- package/dist/runtime/components/Organism.Schedule.vue +170 -0
- package/dist/runtime/components/Organism.Tabulation.vue +237 -0
- package/dist/runtime/components/types/dto.d.ts +16 -0
- package/dist/runtime/components/types/dto.mjs +236 -0
- package/dist/runtime/components/types/helpers.d.ts +39 -0
- package/dist/runtime/components/types/helpers.mjs +295 -0
- package/dist/runtime/components/types/index.d.ts +4 -0
- package/dist/runtime/components/types/index.mjs +4 -0
- package/dist/runtime/components/types/types.d.ts +198 -0
- package/dist/runtime/components/types/types.mjs +35 -0
- package/dist/runtime/index.css +1 -0
- package/dist/runtime/plugins/clickOutside.d.ts +2 -0
- package/dist/runtime/plugins/clickOutside.mjs +16 -0
- package/dist/runtime/plugins/emitter.d.ts +2 -0
- package/dist/runtime/plugins/emitter.mjs +17 -0
- package/dist/runtime/public/192x192.png +0 -0
- package/dist/runtime/public/404.svg +1 -0
- package/dist/runtime/public/512x512.png +0 -0
- package/dist/runtime/public/chat.svg +138 -0
- package/dist/runtime/public/chatbg.png +0 -0
- package/dist/runtime/public/dev-sw.d.ts +0 -0
- package/dist/runtime/public/dev-sw.mjs +0 -0
- package/dist/runtime/public/empty.svg +1 -0
- package/dist/runtime/public/loading.svg +1 -0
- package/dist/runtime/public/messages.svg +1 -0
- package/dist/runtime/public/privacy.svg +1 -0
- package/dist/runtime/public/ringtone.mp3 +0 -0
- package/dist/runtime/public/security.svg +188 -0
- package/dist/runtime/public/snapshot.d.ts +15 -0
- package/dist/runtime/public/snapshot.mjs +77 -0
- package/dist/runtime/public/unauthorized.svg +1 -0
- package/dist/types.d.ts +10 -0
- package/package.json +50 -0
|
@@ -0,0 +1,295 @@
|
|
|
1
|
+
import { v4 } from "uuid";
|
|
2
|
+
import { removeCookie } from "typescript-cookie";
|
|
3
|
+
import {
|
|
4
|
+
EUserStatus,
|
|
5
|
+
ChatMessageTextDTO,
|
|
6
|
+
ChatMessageOptionDTO,
|
|
7
|
+
ChatMessageFileDTO,
|
|
8
|
+
logger
|
|
9
|
+
} from "./index.mjs";
|
|
10
|
+
export class Persist {
|
|
11
|
+
static set(label, value) {
|
|
12
|
+
if (!process.client)
|
|
13
|
+
return;
|
|
14
|
+
if (!sessionStorage)
|
|
15
|
+
return;
|
|
16
|
+
try {
|
|
17
|
+
sessionStorage.setItem(label, JSON.stringify(value));
|
|
18
|
+
} catch {
|
|
19
|
+
sessionStorage.setItem(label, value);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
static get(label) {
|
|
23
|
+
if (!process.client)
|
|
24
|
+
return;
|
|
25
|
+
if (!sessionStorage)
|
|
26
|
+
return;
|
|
27
|
+
try {
|
|
28
|
+
return JSON.parse(sessionStorage.getItem(label) ?? "");
|
|
29
|
+
} catch {
|
|
30
|
+
return sessionStorage.getItem(label);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
static remove(label) {
|
|
34
|
+
if (!process.client)
|
|
35
|
+
return;
|
|
36
|
+
if (!sessionStorage)
|
|
37
|
+
return;
|
|
38
|
+
sessionStorage.removeItem(label);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
export function getDefaultDDI() {
|
|
42
|
+
return { icon: "br", ddi: "+55", name: "Brasil" };
|
|
43
|
+
}
|
|
44
|
+
export async function getDDI(phone) {
|
|
45
|
+
if (!phone)
|
|
46
|
+
throw new Error();
|
|
47
|
+
const res = await fetch(
|
|
48
|
+
`/csapi/bff/check_country_phone/consult_phone?telephone=${phone}`
|
|
49
|
+
);
|
|
50
|
+
if (res.status !== 200) {
|
|
51
|
+
throw new Error();
|
|
52
|
+
}
|
|
53
|
+
return res.json();
|
|
54
|
+
}
|
|
55
|
+
export function deepEqual(obj1, obj2) {
|
|
56
|
+
const keys1 = Object.keys(obj1);
|
|
57
|
+
const keys2 = Object.keys(obj2);
|
|
58
|
+
if (keys1.length !== keys2.length) {
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
for (const key of keys1) {
|
|
62
|
+
const val1 = obj1[key];
|
|
63
|
+
const val2 = obj2[key];
|
|
64
|
+
const areObjects = isObject(val1) && isObject(val2);
|
|
65
|
+
if (areObjects && !deepEqual(val1, val2) || !areObjects && val1 !== val2) {
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return true;
|
|
70
|
+
}
|
|
71
|
+
function isObject(obj) {
|
|
72
|
+
return obj != null && typeof obj === "object";
|
|
73
|
+
}
|
|
74
|
+
export function getAccessControl(access, key) {
|
|
75
|
+
return access.find((component) => !!component.match(new RegExp(key, "i"))) || "";
|
|
76
|
+
}
|
|
77
|
+
export async function searchZipCode({ models, field }) {
|
|
78
|
+
if (!models.CEP)
|
|
79
|
+
return;
|
|
80
|
+
if (field.name !== "CEP")
|
|
81
|
+
return;
|
|
82
|
+
try {
|
|
83
|
+
const res = await (await fetch(`https://viacep.com.br/ws/${models.CEP}/json/`)).json();
|
|
84
|
+
models.LOGRADOURO = res.logradouro;
|
|
85
|
+
models.BAIRRO = res.bairro;
|
|
86
|
+
models.CIDADE = res.localidade;
|
|
87
|
+
models.UF = res.uf;
|
|
88
|
+
} catch {
|
|
89
|
+
models.CEP = "";
|
|
90
|
+
models.LOGRADOURO = "";
|
|
91
|
+
models.BAIRRO = "";
|
|
92
|
+
models.CIDADE = "";
|
|
93
|
+
models.UF = "";
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
export async function logout() {
|
|
97
|
+
await fetch("/csapi/v2/operation/user", {
|
|
98
|
+
method: "DELETE"
|
|
99
|
+
});
|
|
100
|
+
removeCookie("cssession");
|
|
101
|
+
if (!process.dev) {
|
|
102
|
+
location.assign(location.origin);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
export function getMinutesBetweenDates(start, end) {
|
|
106
|
+
const diff = Math.abs(start.getTime() - end.getTime());
|
|
107
|
+
return Math.floor(diff / 1e3 / 60);
|
|
108
|
+
}
|
|
109
|
+
export function randomID() {
|
|
110
|
+
return Math.floor(Math.random() * 99999).toFixed(0).toString();
|
|
111
|
+
}
|
|
112
|
+
export async function getTokenProgressData(token) {
|
|
113
|
+
if (!token)
|
|
114
|
+
throw new Error("invalid token");
|
|
115
|
+
try {
|
|
116
|
+
const { finished, result } = await (await fetch(`/csapi/v2/task_progress/${token}`)).json();
|
|
117
|
+
if (!finished)
|
|
118
|
+
return getTokenProgressData(token);
|
|
119
|
+
return result;
|
|
120
|
+
} catch (e) {
|
|
121
|
+
logger.error("getTokenProgressData", { e });
|
|
122
|
+
throw new Error(e);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
export const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
|
|
126
|
+
export function getContactIdentifierByMailing(primitive) {
|
|
127
|
+
for (const { indica_nome_contato, nome } of primitive) {
|
|
128
|
+
if (indica_nome_contato)
|
|
129
|
+
return nome;
|
|
130
|
+
}
|
|
131
|
+
return "";
|
|
132
|
+
}
|
|
133
|
+
export function newUUID() {
|
|
134
|
+
return v4();
|
|
135
|
+
}
|
|
136
|
+
export function getTimeByDate(date) {
|
|
137
|
+
return date.toTimeString().slice(0, 5);
|
|
138
|
+
}
|
|
139
|
+
export function getCurrentStatus({
|
|
140
|
+
status,
|
|
141
|
+
current_status,
|
|
142
|
+
unavailable_status
|
|
143
|
+
}) {
|
|
144
|
+
if (isEquals(current_status, "atendimento")) {
|
|
145
|
+
return EUserStatus.attendance;
|
|
146
|
+
}
|
|
147
|
+
if (isEquals(current_status, "disponivel")) {
|
|
148
|
+
return EUserStatus.available;
|
|
149
|
+
}
|
|
150
|
+
if (status === "available") {
|
|
151
|
+
const isAttendance = isEquals(current_status, EUserStatus.attendance);
|
|
152
|
+
return isAttendance ? EUserStatus.attendance : EUserStatus.available;
|
|
153
|
+
}
|
|
154
|
+
const isActive = isEquals(unavailable_status, EUserStatus.active);
|
|
155
|
+
return isActive ? EUserStatus.active : EUserStatus.pause;
|
|
156
|
+
}
|
|
157
|
+
export function getNextStatus({
|
|
158
|
+
next_status,
|
|
159
|
+
standby_unavailable_status
|
|
160
|
+
}) {
|
|
161
|
+
if (isEquals(next_status, EUserStatus.pause)) {
|
|
162
|
+
const isActive = isEquals(standby_unavailable_status, EUserStatus.active);
|
|
163
|
+
return isActive ? EUserStatus.active : EUserStatus.pause;
|
|
164
|
+
}
|
|
165
|
+
return EUserStatus.available;
|
|
166
|
+
}
|
|
167
|
+
export function getPauseByLabel({ primitive, pauses }) {
|
|
168
|
+
const name = primitive.unavailable_status || primitive.standby_unavailable_status;
|
|
169
|
+
return pauses.find(
|
|
170
|
+
({ label, value }) => label === name || value === name
|
|
171
|
+
);
|
|
172
|
+
}
|
|
173
|
+
export function isEquals(one, two) {
|
|
174
|
+
return normalize(one.toLowerCase()) === normalize(two.toLowerCase());
|
|
175
|
+
}
|
|
176
|
+
export function normalize(str) {
|
|
177
|
+
return str.normalize("NFD").replace(/[\u0300-\u036f]/g, "");
|
|
178
|
+
}
|
|
179
|
+
export function chatInteractionIsTemplate(primitive) {
|
|
180
|
+
return primitive.content.message_type === "template";
|
|
181
|
+
}
|
|
182
|
+
export function chatInteractionIsEvent(primitive) {
|
|
183
|
+
return primitive.interaction_type === "event";
|
|
184
|
+
}
|
|
185
|
+
export function eventTypeIsTyping(primitive) {
|
|
186
|
+
const event = primitive.content.event_type;
|
|
187
|
+
return event === "is_typing" || event === "not_is_typing";
|
|
188
|
+
}
|
|
189
|
+
export function typingIsOn(primitive) {
|
|
190
|
+
return primitive.content.event_type === "is_typing";
|
|
191
|
+
}
|
|
192
|
+
export function chatInteractionIsCommand(primitive) {
|
|
193
|
+
return primitive.interaction_type === "command";
|
|
194
|
+
}
|
|
195
|
+
export function treatChatMessage(primitive) {
|
|
196
|
+
if (chatMessageIsText(primitive)) {
|
|
197
|
+
return ChatMessageTextDTO(primitive);
|
|
198
|
+
}
|
|
199
|
+
if (chatMessageIsReadOnly(primitive)) {
|
|
200
|
+
return ChatMessageTextDTO(primitive);
|
|
201
|
+
}
|
|
202
|
+
if (chatMessageIsOption(primitive)) {
|
|
203
|
+
return ChatMessageOptionDTO(primitive);
|
|
204
|
+
}
|
|
205
|
+
if (chatMessageIsFile(primitive)) {
|
|
206
|
+
return ChatMessageFileDTO(primitive);
|
|
207
|
+
}
|
|
208
|
+
return ChatMessageTextDTO(primitive);
|
|
209
|
+
}
|
|
210
|
+
export function chatMessageIsText(primitive) {
|
|
211
|
+
return primitive.content.message_type === "text";
|
|
212
|
+
}
|
|
213
|
+
export function chatMessageIsReadOnly(primitive) {
|
|
214
|
+
return primitive.content.message_type === "readonly";
|
|
215
|
+
}
|
|
216
|
+
export function chatMessageIsOption(primitive) {
|
|
217
|
+
return primitive.content.message_type === "options";
|
|
218
|
+
}
|
|
219
|
+
export function chatMessageIsFile(primitive) {
|
|
220
|
+
return primitive.content.message_type === "file";
|
|
221
|
+
}
|
|
222
|
+
export function getContactByRoomID({ contacts, roomID }) {
|
|
223
|
+
return contacts.find(({ primitive }) => primitive.room_id === roomID);
|
|
224
|
+
}
|
|
225
|
+
function newChatInteraction({ company, roomID, nickname, name }) {
|
|
226
|
+
return {
|
|
227
|
+
company,
|
|
228
|
+
when: (/* @__PURE__ */ new Date()).toISOString(),
|
|
229
|
+
room_id: roomID,
|
|
230
|
+
message_id: newUUID(),
|
|
231
|
+
user_defined_fields: { agent: true },
|
|
232
|
+
content: {
|
|
233
|
+
who: {
|
|
234
|
+
label: name,
|
|
235
|
+
contact_point: nickname,
|
|
236
|
+
type: "human"
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
};
|
|
240
|
+
}
|
|
241
|
+
export function newChatHistoryEvent({
|
|
242
|
+
company,
|
|
243
|
+
roomID,
|
|
244
|
+
nickname,
|
|
245
|
+
name
|
|
246
|
+
}) {
|
|
247
|
+
const interaction = newChatInteraction({ company, roomID, nickname, name });
|
|
248
|
+
interaction.interaction_type = "event";
|
|
249
|
+
interaction.content.event_type = "request_history";
|
|
250
|
+
return interaction;
|
|
251
|
+
}
|
|
252
|
+
export function newChatTextMessage({
|
|
253
|
+
company,
|
|
254
|
+
roomID,
|
|
255
|
+
nickname,
|
|
256
|
+
name,
|
|
257
|
+
text
|
|
258
|
+
}) {
|
|
259
|
+
const interaction = newChatInteraction({ company, roomID, nickname, name });
|
|
260
|
+
interaction.interaction_type = "message";
|
|
261
|
+
interaction.content.message_type = "text";
|
|
262
|
+
interaction.content.message = { text };
|
|
263
|
+
return interaction;
|
|
264
|
+
}
|
|
265
|
+
export function newChatFileMessage({
|
|
266
|
+
roomID,
|
|
267
|
+
company,
|
|
268
|
+
nickname,
|
|
269
|
+
name,
|
|
270
|
+
type,
|
|
271
|
+
caption,
|
|
272
|
+
url
|
|
273
|
+
}) {
|
|
274
|
+
const interaction = newChatInteraction({ company, roomID, nickname, name });
|
|
275
|
+
interaction.interaction_type = "message";
|
|
276
|
+
interaction.content.message_type = "file";
|
|
277
|
+
interaction.content.message = {
|
|
278
|
+
content_type: type,
|
|
279
|
+
caption,
|
|
280
|
+
url
|
|
281
|
+
};
|
|
282
|
+
return interaction;
|
|
283
|
+
}
|
|
284
|
+
export function newChatTypingEvent({
|
|
285
|
+
roomID,
|
|
286
|
+
company,
|
|
287
|
+
nickname,
|
|
288
|
+
name,
|
|
289
|
+
typing
|
|
290
|
+
}) {
|
|
291
|
+
const interaction = newChatInteraction({ company, roomID, nickname, name });
|
|
292
|
+
interaction.interaction_type = "event";
|
|
293
|
+
interaction.content.event_type = typing ? "is_typing" : "not_is_typing";
|
|
294
|
+
return interaction;
|
|
295
|
+
}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
export interface ISelectTree {
|
|
2
|
+
labels: string[];
|
|
3
|
+
nodes: INodes;
|
|
4
|
+
}
|
|
5
|
+
export interface IFieldSelectOption {
|
|
6
|
+
label: string;
|
|
7
|
+
value: string;
|
|
8
|
+
selected?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface IFieldSelectOptions extends Array<IFieldSelectOption> {
|
|
11
|
+
}
|
|
12
|
+
export interface INode {
|
|
13
|
+
value: string;
|
|
14
|
+
label: string;
|
|
15
|
+
children?: INodes;
|
|
16
|
+
primitive?: any;
|
|
17
|
+
}
|
|
18
|
+
export interface INodes extends Array<INode> {
|
|
19
|
+
}
|
|
20
|
+
export interface ISchedule {
|
|
21
|
+
cardID: string;
|
|
22
|
+
priority: 0 | 1 | 2;
|
|
23
|
+
contactName: string;
|
|
24
|
+
customerID: string;
|
|
25
|
+
scheduling: Date;
|
|
26
|
+
lastTabulation: Date;
|
|
27
|
+
lastInteraction: Date;
|
|
28
|
+
mailing: any;
|
|
29
|
+
}
|
|
30
|
+
export interface ISchedules extends Array<ISchedule> {
|
|
31
|
+
}
|
|
32
|
+
export interface IUser {
|
|
33
|
+
company: string;
|
|
34
|
+
campaign: string;
|
|
35
|
+
nickname: string;
|
|
36
|
+
name: string;
|
|
37
|
+
access: string[];
|
|
38
|
+
primitive?: any;
|
|
39
|
+
}
|
|
40
|
+
export declare enum EUserStatus {
|
|
41
|
+
active = "Ativo",
|
|
42
|
+
attendance = "Atendimento",
|
|
43
|
+
available = "Disponivel",
|
|
44
|
+
pause = "Pausa"
|
|
45
|
+
}
|
|
46
|
+
export interface IPause {
|
|
47
|
+
value: string;
|
|
48
|
+
label: string;
|
|
49
|
+
}
|
|
50
|
+
export interface IPauses extends Array<IPause> {
|
|
51
|
+
}
|
|
52
|
+
export interface IPage {
|
|
53
|
+
label: string;
|
|
54
|
+
name: string;
|
|
55
|
+
path: string;
|
|
56
|
+
icon?: string;
|
|
57
|
+
disabled?: boolean;
|
|
58
|
+
}
|
|
59
|
+
export interface IPages extends Array<IPage> {
|
|
60
|
+
}
|
|
61
|
+
export interface IDoubt {
|
|
62
|
+
answer: string;
|
|
63
|
+
question: string;
|
|
64
|
+
primitive?: any;
|
|
65
|
+
}
|
|
66
|
+
export interface IDoubts extends Array<IDoubt> {
|
|
67
|
+
}
|
|
68
|
+
export interface IRule {
|
|
69
|
+
(): boolean | string;
|
|
70
|
+
}
|
|
71
|
+
export interface IRules extends Array<IRule> {
|
|
72
|
+
}
|
|
73
|
+
export declare enum EFieldTypes {
|
|
74
|
+
date = "date",
|
|
75
|
+
number = "number",
|
|
76
|
+
phone = "phone",
|
|
77
|
+
select = "select",
|
|
78
|
+
text = "text",
|
|
79
|
+
textarea = "textarea"
|
|
80
|
+
}
|
|
81
|
+
export declare enum EFieldStatus {
|
|
82
|
+
none = "none",
|
|
83
|
+
warn = "warn",
|
|
84
|
+
error = "error",
|
|
85
|
+
success = "success",
|
|
86
|
+
loading = "loading"
|
|
87
|
+
}
|
|
88
|
+
export interface IFieldHints {
|
|
89
|
+
none?: string;
|
|
90
|
+
warn?: string;
|
|
91
|
+
error?: string;
|
|
92
|
+
success?: string;
|
|
93
|
+
loading?: string;
|
|
94
|
+
}
|
|
95
|
+
export interface IField {
|
|
96
|
+
icon: string;
|
|
97
|
+
disabled: boolean;
|
|
98
|
+
label: string;
|
|
99
|
+
name: string;
|
|
100
|
+
primitive: any;
|
|
101
|
+
regex: RegExp;
|
|
102
|
+
required: boolean;
|
|
103
|
+
type: EFieldTypes;
|
|
104
|
+
maxlength?: string;
|
|
105
|
+
order?: number;
|
|
106
|
+
options?: IFieldSelectOptions;
|
|
107
|
+
messages?: IFieldHints;
|
|
108
|
+
}
|
|
109
|
+
export interface IMailing extends Array<IField> {
|
|
110
|
+
}
|
|
111
|
+
export declare enum EChannels {
|
|
112
|
+
whatsapp = "whatsapp",
|
|
113
|
+
digital = "digital"
|
|
114
|
+
}
|
|
115
|
+
export interface IChatContact {
|
|
116
|
+
channel?: EChannels;
|
|
117
|
+
date?: Date;
|
|
118
|
+
entrydate?: Date;
|
|
119
|
+
id: string;
|
|
120
|
+
label: string;
|
|
121
|
+
message?: string;
|
|
122
|
+
notifications?: number;
|
|
123
|
+
on: boolean;
|
|
124
|
+
typing?: boolean;
|
|
125
|
+
avatar?: string;
|
|
126
|
+
primitive?: any;
|
|
127
|
+
}
|
|
128
|
+
export interface IChatContacts extends Array<IChatContact> {
|
|
129
|
+
}
|
|
130
|
+
export declare enum EChatMessageTypes {
|
|
131
|
+
text = "text",
|
|
132
|
+
option = "option",
|
|
133
|
+
file = "file"
|
|
134
|
+
}
|
|
135
|
+
export interface IChatMessage {
|
|
136
|
+
date: Date;
|
|
137
|
+
primary?: boolean;
|
|
138
|
+
selected?: boolean;
|
|
139
|
+
type: EChatMessageTypes;
|
|
140
|
+
who: string;
|
|
141
|
+
text: string;
|
|
142
|
+
primitive?: any;
|
|
143
|
+
}
|
|
144
|
+
export interface IChatMessages extends Array<IChatMessage> {
|
|
145
|
+
}
|
|
146
|
+
export interface IChatRooms {
|
|
147
|
+
[id: string]: IChatMessages;
|
|
148
|
+
}
|
|
149
|
+
export interface IFile {
|
|
150
|
+
file: File;
|
|
151
|
+
hints?: IFieldHints;
|
|
152
|
+
status?: EFieldStatus;
|
|
153
|
+
}
|
|
154
|
+
export interface IFiles extends Array<IFile> {
|
|
155
|
+
}
|
|
156
|
+
export interface IAttachment {
|
|
157
|
+
ID: string;
|
|
158
|
+
file: IFile;
|
|
159
|
+
primitive?: any;
|
|
160
|
+
}
|
|
161
|
+
export interface IAttachments extends Array<IAttachment> {
|
|
162
|
+
}
|
|
163
|
+
export interface IFlow {
|
|
164
|
+
name: string;
|
|
165
|
+
description: string;
|
|
166
|
+
slots: string[];
|
|
167
|
+
}
|
|
168
|
+
export interface IFlows extends Array<IFlow> {
|
|
169
|
+
}
|
|
170
|
+
export interface IClientHistory {
|
|
171
|
+
agent: string;
|
|
172
|
+
lastMovementDate: Date | null;
|
|
173
|
+
lastTabulation: string;
|
|
174
|
+
mailing: {
|
|
175
|
+
[name: string]: string;
|
|
176
|
+
};
|
|
177
|
+
observation?: string;
|
|
178
|
+
primitive: any;
|
|
179
|
+
}
|
|
180
|
+
export interface IClientHistories extends Array<IClientHistory> {
|
|
181
|
+
}
|
|
182
|
+
export interface IPortfolioSchedule {
|
|
183
|
+
identifier: string;
|
|
184
|
+
avatar?: string;
|
|
185
|
+
primitive: any;
|
|
186
|
+
slots: any;
|
|
187
|
+
date: Date;
|
|
188
|
+
}
|
|
189
|
+
export interface IPortfolioSchedules extends Array<IPortfolioSchedule> {
|
|
190
|
+
}
|
|
191
|
+
export interface IDDI {
|
|
192
|
+
icon: string;
|
|
193
|
+
ddi: string;
|
|
194
|
+
name: string;
|
|
195
|
+
modelValue?: string;
|
|
196
|
+
}
|
|
197
|
+
export interface IDDIs extends Array<IDDI> {
|
|
198
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export var EUserStatus = /* @__PURE__ */ ((EUserStatus2) => {
|
|
2
|
+
EUserStatus2["active"] = "Ativo";
|
|
3
|
+
EUserStatus2["attendance"] = "Atendimento";
|
|
4
|
+
EUserStatus2["available"] = "Disponivel";
|
|
5
|
+
EUserStatus2["pause"] = "Pausa";
|
|
6
|
+
return EUserStatus2;
|
|
7
|
+
})(EUserStatus || {});
|
|
8
|
+
export var EFieldTypes = /* @__PURE__ */ ((EFieldTypes2) => {
|
|
9
|
+
EFieldTypes2["date"] = "date";
|
|
10
|
+
EFieldTypes2["number"] = "number";
|
|
11
|
+
EFieldTypes2["phone"] = "phone";
|
|
12
|
+
EFieldTypes2["select"] = "select";
|
|
13
|
+
EFieldTypes2["text"] = "text";
|
|
14
|
+
EFieldTypes2["textarea"] = "textarea";
|
|
15
|
+
return EFieldTypes2;
|
|
16
|
+
})(EFieldTypes || {});
|
|
17
|
+
export var EFieldStatus = /* @__PURE__ */ ((EFieldStatus2) => {
|
|
18
|
+
EFieldStatus2["none"] = "none";
|
|
19
|
+
EFieldStatus2["warn"] = "warn";
|
|
20
|
+
EFieldStatus2["error"] = "error";
|
|
21
|
+
EFieldStatus2["success"] = "success";
|
|
22
|
+
EFieldStatus2["loading"] = "loading";
|
|
23
|
+
return EFieldStatus2;
|
|
24
|
+
})(EFieldStatus || {});
|
|
25
|
+
export var EChannels = /* @__PURE__ */ ((EChannels2) => {
|
|
26
|
+
EChannels2["whatsapp"] = "whatsapp";
|
|
27
|
+
EChannels2["digital"] = "digital";
|
|
28
|
+
return EChannels2;
|
|
29
|
+
})(EChannels || {});
|
|
30
|
+
export var EChatMessageTypes = /* @__PURE__ */ ((EChatMessageTypes2) => {
|
|
31
|
+
EChatMessageTypes2["text"] = "text";
|
|
32
|
+
EChatMessageTypes2["option"] = "option";
|
|
33
|
+
EChatMessageTypes2["file"] = "file";
|
|
34
|
+
return EChatMessageTypes2;
|
|
35
|
+
})(EChatMessageTypes || {});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
/*! tailwindcss v3.2.7 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.pointer-events-none{pointer-events:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.bottom-0{bottom:0}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.top-0{top:0}.top-1\/2{top:50%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.float-right{float:right}.float-left{float:left}.m-2{margin:.5rem}.m-4{margin:1rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-5{margin-left:1.25rem;margin-right:1.25rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.-mb-1{margin-bottom:-.25rem}.-mb-10{margin-bottom:-2.5rem}.-ml-1{margin-left:-.25rem}.-ml-3{margin-left:-.75rem}.-ml-5{margin-left:-1.25rem}.-mt-1{margin-top:-.25rem}.-mt-10{margin-top:-2.5rem}.-mt-2{margin-top:-.5rem}.-mt-44{margin-top:-11rem}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-14{margin-left:3.5rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.mr-1{margin-right:.25rem}.mr-10{margin-right:2.5rem}.mr-14{margin-right:3.5rem}.mr-2{margin-right:.5rem}.mr-4{margin-right:1rem}.mr-5{margin-right:1.25rem}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-8{margin-top:2rem}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.hidden{display:none}.h-1\/2{height:50%}.h-1\/3{height:33.333333%}.h-1\/4{height:25%}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-fit{height:-moz-fit-content;height:fit-content}.h-full{height:100%}.h-screen{height:100vh}.\!max-h-36{max-height:9rem!important}.max-h-36{max-height:9rem}.max-h-72{max-height:18rem}.max-h-full{max-height:100%}.max-h-none{max-height:none}.max-h-screen{max-height:100vh}.min-h-screen{min-height:100vh}.\!w-full{width:100%!important}.w-1{width:.25rem}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-14{width:3.5rem}.w-2{width:.5rem}.w-24{width:6rem}.w-36{width:9rem}.w-4{width:1rem}.w-40{width:10rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-60{width:15rem}.w-72{width:18rem}.w-8{width:2rem}.w-96{width:24rem}.w-\[60px\]{width:60px}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.max-w-\[150px\]{max-width:150px}.max-w-full{max-width:100%}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-\[2px\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-\[2px\]{--tw-translate-x:-2px}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x:100%}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.text-ellipsis{text-overflow:ellipsis}.\!whitespace-normal{white-space:normal!important}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.\!rounded-none{border-radius:0!important}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.\!rounded-r-md{border-top-right-radius:.375rem!important;border-bottom-right-radius:.375rem!important}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.\!rounded-bl-none{border-bottom-left-radius:0!important}.\!rounded-br-none{border-bottom-right-radius:0!important}.\!rounded-tl-none{border-top-left-radius:0!important}.\!rounded-tr-none{border-top-right-radius:0!important}.rounded-br-md{border-bottom-right-radius:.375rem}.rounded-tr-md{border-top-right-radius:.375rem}.border{border-width:1px}.\!border-r-0{border-right-width:0!important}.border-r-2{border-right-width:2px}.\!border-none{border-style:none!important}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}.border-slate-700{--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity))}.\!bg-transparent{background-color:initial!important}.\!bg-white{--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important}.bg-active{--tw-bg-opacity:1;background-color:rgb(173 89 210/var(--tw-bg-opacity))}.bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity))}.bg-attendance{--tw-bg-opacity:1;background-color:rgb(62 168 255/var(--tw-bg-opacity))}.bg-available{--tw-bg-opacity:1;background-color:rgb(69 215 33/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity))}.bg-pause{--tw-bg-opacity:1;background-color:rgb(235 205 65/var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity))}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity))}.bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity))}.bg-slate-700{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity))}.bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity))}.bg-transparent{background-color:initial}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.\!p-0{padding:0!important}.\!p-1{padding:.25rem!important}.\!p-2{padding:.5rem!important}.p-10{padding:2.5rem}.p-16{padding:4rem}.p-2{padding:.5rem}.p-24{padding:6rem}.p-3{padding:.75rem}.p-4{padding:1rem}.\!px-2{padding-left:.5rem!important;padding-right:.5rem!important}.\!px-3{padding-left:.75rem!important;padding-right:.75rem!important}.\!px-4{padding-left:1rem!important;padding-right:1rem!important}.\!py-0{padding-top:0!important;padding-bottom:0!important}.\!py-0\.5{padding-top:.125rem!important;padding-bottom:.125rem!important}.\!py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.px-0{padding-left:0;padding-right:0}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.\!pr-0{padding-right:0!important}.\!pt-0{padding-top:0!important}.pb-2{padding-bottom:.5rem}.pb-24{padding-bottom:6rem}.pb-5{padding-bottom:1.25rem}.pl-1{padding-left:.25rem}.pl-2{padding-left:.5rem}.pr-3{padding-right:.75rem}.pt-2{padding-top:.5rem}.pt-20{padding-top:5rem}.pt-\[64px\]{padding-top:64px}.pt-\[72px\]{padding-top:72px}.text-center{text-align:center}.\!text-\[11px\]{font-size:11px!important}.text-2xl{font-size:1.5rem;line-height:2rem}.text-8xl{font-size:6rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[6px\]{font-size:6px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.normal-case{text-transform:none}.\!leading-3{line-height:.75rem!important}.leading-3{line-height:.75rem}.leading-none{line-height:1}.\!text-amber-500{--tw-text-opacity:1!important;color:rgb(245 158 11/var(--tw-text-opacity))!important}.text-active{--tw-text-opacity:1;color:rgb(173 89 210/var(--tw-text-opacity))}.text-attendance{--tw-text-opacity:1;color:rgb(62 168 255/var(--tw-text-opacity))}.text-available{--tw-text-opacity:1;color:rgb(69 215 33/var(--tw-text-opacity))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-pause{--tw-text-opacity:1;color:rgb(235 205 65/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\!transition-none{transition-property:none!important}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.dark .dark\:\!border-r-0{border-right-width:0!important}.dark .dark\:border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}.dark .dark\:border-slate-800{--tw-border-opacity:1;border-color:rgb(30 41 59/var(--tw-border-opacity))}.dark .dark\:\!bg-slate-900{--tw-bg-opacity:1!important;background-color:rgb(15 23 42/var(--tw-bg-opacity))!important}.dark .dark\:bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.dark .dark\:bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.dark .dark\:bg-slate-700{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity))}.dark .dark\:bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity))}.dark .dark\:bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity))}.dark .dark\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}@media not all and (min-width:640px){.max-sm\:hidden{display:none}.max-sm\:w-0{width:0}.max-sm\:flex-wrap{flex-wrap:wrap}.max-sm\:px-10{padding-left:2.5rem;padding-right:2.5rem}}@media (min-width:640px){.sm\:mb-40{margin-bottom:10rem}.sm\:hidden{display:none}.sm\:w-1\/4{width:25%}.sm\:w-2\/4{width:50%}.sm\:max-w-\[350px\]{max-width:350px}.sm\:pl-\[60px\]{padding-left:60px}}@media (min-width:768px){.md\:flex-row{flex-direction:row}}.\[\&\:\:after\]\:\!hidden:after{display:none!important}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { defineNuxtPlugin } from "#app";
|
|
2
|
+
export default defineNuxtPlugin((nuxtApp) => {
|
|
3
|
+
nuxtApp.vueApp.directive("click-outside", {
|
|
4
|
+
mounted(el, binding) {
|
|
5
|
+
el.clickOutsideEvent = (event) => {
|
|
6
|
+
if (!(el === event.target || el.contains(event.target))) {
|
|
7
|
+
binding.value(event, el);
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
document.body.addEventListener("click", el.clickOutsideEvent);
|
|
11
|
+
},
|
|
12
|
+
unmounted(el) {
|
|
13
|
+
document.body.removeEventListener("click", el.clickOutsideEvent);
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import mitt from "mitt";
|
|
2
|
+
import { defineNuxtPlugin } from "#app";
|
|
3
|
+
export default defineNuxtPlugin(() => {
|
|
4
|
+
const emitter = mitt();
|
|
5
|
+
const emit = {
|
|
6
|
+
emit: emitter.emit
|
|
7
|
+
};
|
|
8
|
+
const listen = {
|
|
9
|
+
listen: emitter.on
|
|
10
|
+
};
|
|
11
|
+
return {
|
|
12
|
+
provide: {
|
|
13
|
+
emit: emit.emit,
|
|
14
|
+
listen: listen.listen
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
});
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 500"><g id="freepik--background-simple--inject-19"><path d="M104.69,145.88c-15.32,40.81-2.09,95.9,21.58,139,61,111.9,209.44,48.63,206.88-2.19,3.48-48.48-40.12-62.88-54.91-90.06C195.42,39.21,117,111.47,104.69,145.88Z" style="fill:#00D1E0"></path><path d="M104.69,145.88c-15.32,40.81-2.09,95.9,21.58,139,61,111.9,209.44,48.63,206.88-2.19,3.48-48.48-40.12-62.88-54.91-90.06C195.42,39.21,117,111.47,104.69,145.88Z" style="fill:#fff;opacity:0.9"></path></g><g id="freepik--404--inject-19"><path d="M147.68,287.64H86.83V260.17l60.85-72.34H176.8v73.9h15.09v25.91H176.8v22.48H147.68Zm0-25.91V223.89l-32.16,37.84Z" style="fill:#00D1E0"></path><path d="M202.3,249.51q0-34.29,12.34-48t37.61-13.7q12.13,0,19.93,3a36.79,36.79,0,0,1,12.71,7.79,41.59,41.59,0,0,1,7.75,10.09,52.38,52.38,0,0,1,4.55,12.34,115.36,115.36,0,0,1,3.36,28q0,32.72-11.07,47.89t-38.13,15.18q-15.18,0-24.53-4.84a39.76,39.76,0,0,1-15.33-14.19q-4.35-6.64-6.77-18.17A124.33,124.33,0,0,1,202.3,249.51Zm33.14.08q0,23,4.05,31.37t11.77,8.41a12.34,12.34,0,0,0,8.82-3.57q3.74-3.57,5.5-11.28t1.76-24q0-23.94-4.06-32.19t-12.18-8.24q-8.28,0-12,8.41T235.44,249.59Z" style="fill:#00D1E0"></path><path d="M371.74,287.64H310.89V260.17l60.85-72.34h29.12v73.9H416v25.91H400.86v22.48H371.74Zm0-25.91V223.89l-32.15,37.84Z" style="fill:#00D1E0"></path></g><g id="freepik--Planets--inject-19"><g style="opacity:0.30000000000000004"><path d="M201,145.62a1.87,1.87,0,1,1-1.86-1.87A1.86,1.86,0,0,1,201,145.62Z" style="fill:#00D1E0"></path><circle cx="72.97" cy="216.13" r="1.32" style="fill:#00D1E0"></circle><circle cx="291.05" cy="408.33" r="1.89" style="fill:#00D1E0"></circle><circle cx="336.5" cy="332" r="1.32" style="fill:#00D1E0"></circle><path d="M424.17,95.62a1.32,1.32,0,1,1-1.32-1.32A1.32,1.32,0,0,1,424.17,95.62Z" style="fill:#00D1E0"></path><path d="M172.75,69a1.32,1.32,0,1,1-1.32-1.32A1.33,1.33,0,0,1,172.75,69Z" style="fill:#00D1E0"></path><circle cx="277.7" cy="136.94" r="1.32" style="fill:#00D1E0"></circle></g><circle cx="141.23" cy="116.36" r="21.91" style="fill:#00D1E0"></circle><circle cx="141.23" cy="116.36" r="21.91" style="fill:#fff;opacity:0.7000000000000001"></circle><path d="M133.68,99.83A21.84,21.84,0,0,0,125,101.6a21.92,21.92,0,0,0,24.87,34.89h0a21.92,21.92,0,0,0-16.23-36.65Z" style="fill:#00D1E0;opacity:0.2"></path><path d="M131.5,105.62a2,2,0,1,1-2-2A2,2,0,0,1,131.5,105.62Z" style="fill:#00D1E0;opacity:0.2"></path><path d="M155.06,103.62a2,2,0,1,1-2-2A2,2,0,0,1,155.06,103.62Z" style="fill:#00D1E0;opacity:0.2"></path><path d="M151.06,117.9a3.28,3.28,0,1,1-3.28-3.28A3.28,3.28,0,0,1,151.06,117.9Z" style="fill:#00D1E0;opacity:0.2"></path><path d="M140.64,127.25a4.38,4.38,0,1,1-4.38-4.38A4.38,4.38,0,0,1,140.64,127.25Z" style="fill:#00D1E0;opacity:0.2"></path><circle cx="382.2" cy="376.25" r="19.23" transform="translate(-71.8 661.78) rotate(-76.72)" style="fill:#00D1E0"></circle><circle cx="382.2" cy="376.25" r="19.23" transform="translate(-71.8 661.78) rotate(-76.72)" style="fill:#fff;opacity:0.30000000000000004"></circle><path d="M394.33,361.34a19.22,19.22,0,0,0-17.67,33.32,19,19,0,0,0,5.53.82,19.23,19.23,0,0,0,12.14-34.14Z" style="fill:#00D1E0;opacity:0.4"></path><path d="M363.83,382c-20.53,9.66-5.22,17.11,23.71,6.71,26.79-9.63,37-21.77,13-18C401.83,375.76,368.28,388.83,363.83,382Z" style="fill:#00D1E0"></path></g><g id="freepik--Astronaut--inject-19"><path d="M394.1,187.83C367.21,206,332.4,230,322.79,287.64h-2.05c9.35-57,42.89-81.57,69.79-99.81Z" style="opacity:0.2"></path><path d="M255,368.27c-17,0-33.81-7.67-42-20.19-5.05-7.74-10.92-23.95,6.56-45.58l1.55,1.26c-12.36,15.3-14.64,30.65-6.43,43.23,10,15.3,33.59,23,53.73,17.52,20.63-5.61,33.15-23.55,34.36-49.22,4.13-87.81,50.78-114.86,84.84-134.61,21.17-12.27,36.46-21.13,33.1-39.84-.47-2.59-1.5-4.38-3.17-5.48-4.35-2.87-12.85-.88-22.69,1.41-19.31,4.5-45.75,10.66-61.5-16.13l1.73-1c15,25.53,39.57,19.8,59.32,15.2,10.29-2.39,19.17-4.46,24.24-1.13,2.15,1.41,3.47,3.64,4,6.8,3.61,20.08-13,29.72-34.05,41.92-33.67,19.52-79.77,46.25-83.85,133-1.26,26.6-14.32,45.21-35.84,51.06A52.88,52.88,0,0,1,255,368.27Z" style="fill:#00D1E0"></path><path d="M255,368.27c-17,0-33.81-7.67-42-20.19-5.05-7.74-10.92-23.95,6.56-45.58l1.55,1.26c-12.36,15.3-14.64,30.65-6.43,43.23,10,15.3,33.59,23,53.73,17.52,20.63-5.61,33.15-23.55,34.36-49.22,4.13-87.81,50.78-114.86,84.84-134.61,21.17-12.27,36.46-21.13,33.1-39.84-.47-2.59-1.5-4.38-3.17-5.48-4.35-2.87-12.85-.88-22.69,1.41-19.31,4.5-45.75,10.66-61.5-16.13l1.73-1c15,25.53,39.57,19.8,59.32,15.2,10.29-2.39,19.17-4.46,24.24-1.13,2.15,1.41,3.47,3.64,4,6.8,3.61,20.08-13,29.72-34.05,41.92-33.67,19.52-79.77,46.25-83.85,133-1.26,26.6-14.32,45.21-35.84,51.06A52.88,52.88,0,0,1,255,368.27Z" style="fill:#fff;opacity:0.2"></path><path d="M312.76,97a46.05,46.05,0,0,1,13.58,2.13s11,18.77,12.3,23.07c-.46,4.24-7.61,11.19-7.61,11.19Z" style="fill:#00D1E0"></path><path d="M312.76,97a46.05,46.05,0,0,1,13.58,2.13s11,18.77,12.3,23.07c-.46,4.24-7.61,11.19-7.61,11.19Z" style="fill:#fff;opacity:0.30000000000000004"></path><path d="M345.34,188.13a141.41,141.41,0,0,1-11.56-16.38q-1.26-2.17-2.39-4.42c-.43-.85-.84-1.7-1.24-2.56a10.76,10.76,0,0,1-1.21-2.69c-1.2-12.67,3.14-22-1-32.17l-16.48,6.44s1.4,18.12,4.6,29c2,6.73,6.48,12.55,10.81,17.94,1.35,1.68,2.65,3.41,4,5.1s2.71,3.06,4,4.65c1.95,2.41,2.59,4.72,1.12,7.56l-.25.45c-.42.74,1.54,1.58,2.78,0,2-2.58,1.72-2.42,3.46-4.62,1.06-1.33,2.27-2.78,3.32-4A3.37,3.37,0,0,0,345.34,188.13Z" style="fill:#00D1E0"></path><path d="M345.34,188.13a141.41,141.41,0,0,1-11.56-16.38q-1.26-2.17-2.39-4.42c-.43-.85-.84-1.7-1.24-2.56a10.76,10.76,0,0,1-1.21-2.69c-1.2-12.67,3.14-22-1-32.17l-16.48,6.44s1.4,18.12,4.6,29c2,6.73,6.48,12.55,10.81,17.94,1.35,1.68,2.65,3.41,4,5.1s2.71,3.06,4,4.65c1.95,2.41,2.59,4.72,1.12,7.56l-.25.45c-.42.74,1.54,1.58,2.78,0,2-2.58,1.72-2.42,3.46-4.62,1.06-1.33,2.27-2.78,3.32-4A3.37,3.37,0,0,0,345.34,188.13Z" style="fill:#fff;opacity:0.7000000000000001"></path><path d="M341.31,182.92a54.69,54.69,0,0,1-8.66,7.52c.43.48.85,1,1.28,1.46a43.92,43.92,0,0,0,8.5-7.51Z" style="fill:#00D1E0;opacity:0.30000000000000004"></path><path d="M345.34,188.13l-.12-.14a5.18,5.18,0,0,0-1.27,3.17,5,5,0,0,0,.38,2.35l.95-1.13A3.37,3.37,0,0,0,345.34,188.13Z" style="fill:#00D1E0;opacity:0.30000000000000004"></path><path d="M308.84,109a35.38,35.38,0,0,1-6.37,7.19,23.27,23.27,0,0,1-4.42,3,19,19,0,0,1-2.58,1.09l-.68.22-.22.06-.47.13a5.93,5.93,0,0,1-.88.14,7.55,7.55,0,0,1-2.51-.23,12.24,12.24,0,0,1-2.94-1.27,25,25,0,0,1-2.15-1.41,40.31,40.31,0,0,1-3.58-3,53.16,53.16,0,0,1-6-6.74,2.51,2.51,0,0,1,3.35-3.62l.08,0c2.36,1.5,4.74,3.08,7.06,4.49,1.18.69,2.32,1.39,3.45,1.93a15.29,15.29,0,0,0,1.59.72,3.12,3.12,0,0,0,1.07.26c.06,0,0-.07-.37-.06a2.93,2.93,0,0,0-.35,0l-.22.05,0,0,.33-.17a13.53,13.53,0,0,0,1.29-.79,18.4,18.4,0,0,0,2.5-2.12,63.62,63.62,0,0,0,4.9-5.79l0,0a5,5,0,0,1,8,5.93Z" style="fill:#00D1E0"></path><path d="M308.84,109a35.38,35.38,0,0,1-6.37,7.19,23.27,23.27,0,0,1-4.42,3,19,19,0,0,1-2.58,1.09l-.68.22-.22.06-.47.13a5.93,5.93,0,0,1-.88.14,7.55,7.55,0,0,1-2.51-.23,12.24,12.24,0,0,1-2.94-1.27,25,25,0,0,1-2.15-1.41,40.31,40.31,0,0,1-3.58-3,53.16,53.16,0,0,1-6-6.74,2.51,2.51,0,0,1,3.35-3.62l.08,0c2.36,1.5,4.74,3.08,7.06,4.49,1.18.69,2.32,1.39,3.45,1.93a15.29,15.29,0,0,0,1.59.72,3.12,3.12,0,0,0,1.07.26c.06,0,0-.07-.37-.06a2.93,2.93,0,0,0-.35,0l-.22.05,0,0,.33-.17a13.53,13.53,0,0,0,1.29-.79,18.4,18.4,0,0,0,2.5-2.12,63.62,63.62,0,0,0,4.9-5.79l0,0a5,5,0,0,1,8,5.93Z" style="fill:#fff;opacity:0.7000000000000001"></path><path d="M272.29,102.42l1.17,2s.89,2.62,2.68,3.1l4.86-1.57-.25-.41h0c-.62-.94-.55-2.77-.34-4.29s-.57-1.57-1.15-1.19a3.82,3.82,0,0,0-.84,1.65,7.77,7.77,0,0,0-.79-.93l-1.48-1.48a1.72,1.72,0,0,0-2.34-.06l-1.2,1.07A1.71,1.71,0,0,0,272.29,102.42Z" style="fill:#00D1E0"></path><path d="M272.29,102.42l1.17,2s.89,2.62,2.68,3.1l4.86-1.57-.25-.41h0c-.62-.94-.55-2.77-.34-4.29s-.57-1.57-1.15-1.19a3.82,3.82,0,0,0-.84,1.65,7.77,7.77,0,0,0-.79-.93l-1.48-1.48a1.72,1.72,0,0,0-2.34-.06l-1.2,1.07A1.71,1.71,0,0,0,272.29,102.42Z" style="fill:#fff;opacity:0.7000000000000001"></path><path d="M317.67,95.22a59.64,59.64,0,0,0-15.34,6.47,4.32,4.32,0,0,0-1.94,4.53c1.93,9.44,6.32,22.08,11.06,30.13l22.11-9.15c.15-3.9-5.22-16.52-10.69-28.72C321.89,96.29,320,94.66,317.67,95.22Z" style="fill:#00D1E0"></path><path d="M317.67,95.22a59.64,59.64,0,0,0-15.34,6.47,4.32,4.32,0,0,0-1.94,4.53c1.93,9.44,6.32,22.08,11.06,30.13l22.11-9.15c.15-3.9-5.22-16.52-10.69-28.72C321.89,96.29,320,94.66,317.67,95.22Z" style="fill:#fff;opacity:0.8"></path><path d="M326.3,106.21l-4.39-1.47c1,2.57,4.53,5.82,7,7.73C328.11,110.47,327.22,108.37,326.3,106.21Z" style="fill:#00D1E0;opacity:0.30000000000000004"></path><path d="M316.22,85.32c-1.83-3.48-5.78-5.23-10.52-4.84-4,.34-7.54,4.42-7.12,6.62S302.36,90.24,303,91l-2.77,2a3,3,0,0,0-.6,4.29c1.17,1.48,2.71,3,3.6,4.12,7.66-.2,13.33-3.12,15.38-5.93C317.84,91.92,318,88.78,316.22,85.32Z" style="fill:#00D1E0"></path><path d="M316.22,85.32c-1.83-3.48-5.78-5.23-10.52-4.84-4,.34-7.54,4.42-7.12,6.62S302.36,90.24,303,91l-2.77,2a3,3,0,0,0-.6,4.29c1.17,1.48,2.71,3,3.6,4.12,7.66-.2,13.33-3.12,15.38-5.93C317.84,91.92,318,88.78,316.22,85.32Z" style="fill:#fff;opacity:0.8"></path><path d="M312.46,87.48a7.57,7.57,0,1,1-9.81-4.3A7.58,7.58,0,0,1,312.46,87.48Z" style="fill:#263238"></path><path d="M377.39,177.6c-.11-3.29-.26-3-.35-5.77-.06-1.7-.07-3.59-.08-5.22a3.36,3.36,0,0,0-2.7-3.28c-1.32-.27-2.65-.52-4-.8-1.73-.37-3.44-.77-5.13-1.26-1.32-.38-2.62-.8-3.91-1.27s-2.74-1-4.08-1.62c-1.58-.67-3.14-1.39-4.68-2.14-1.73-.82-3.44-1.68-5.15-2.55-6.58-10.89-6.72-18.07-13.78-26.49l-15.16,6.86s11.14,19.76,18.72,28.14c4.37,4.82,11.22,7,17.33,8.58,4.41,1.13,8.88,2,13.35,2.83,1.74.32,3.63.44,5.13,1.48a5.74,5.74,0,0,1,2.14,3.45q.1.42.18.84C375.41,180.22,377.46,179.58,377.39,177.6Z" style="fill:#00D1E0"></path><path d="M377.39,177.6c-.11-3.29-.26-3-.35-5.77-.06-1.7-.07-3.59-.08-5.22a3.36,3.36,0,0,0-2.7-3.28c-1.32-.27-2.65-.52-4-.8-1.73-.37-3.44-.77-5.13-1.26-1.32-.38-2.62-.8-3.91-1.27s-2.74-1-4.08-1.62c-1.58-.67-3.14-1.39-4.68-2.14-1.73-.82-3.44-1.68-5.15-2.55-6.58-10.89-6.72-18.07-13.78-26.49l-15.16,6.86s11.14,19.76,18.72,28.14c4.37,4.82,11.22,7,17.33,8.58,4.41,1.13,8.88,2,13.35,2.83,1.74.32,3.63.44,5.13,1.48a5.74,5.74,0,0,1,2.14,3.45q.1.42.18.84C375.41,180.22,377.46,179.58,377.39,177.6Z" style="fill:#fff;opacity:0.8"></path><path d="M369.7,162.4c-.6-.13-1.2-.26-1.81-.41.05,3.46-1.57,9.42-2.16,11.23l1.9.36A38.11,38.11,0,0,0,369.7,162.4Z" style="fill:#00D1E0;opacity:0.30000000000000004"></path><path d="M377,166.61a3.36,3.36,0,0,0-2.69-3.28l-1-.19a4.58,4.58,0,0,0,1.63,2.9,5.09,5.09,0,0,0,2,1.14C377,167,377,166.8,377,166.61Z" style="fill:#00D1E0;opacity:0.30000000000000004"></path><path d="M311.05,87.54c.4,1.52-1.3,3.11-2.65,1.8a30.83,30.83,0,0,0-4.12-3.69c-1.39-.87.46-2.39,2.65-1.8A5.94,5.94,0,0,1,311.05,87.54Z" style="fill:#fff"></path><path d="M311.16,135.86c-.7.26.58,1.46.58,1.46s14-4.79,22.5-9.72a1.88,1.88,0,0,0-.68-1.58A216,216,0,0,1,311.16,135.86Z" style="fill:#00D1E0"></path><path d="M311.16,135.86c-.7.26.58,1.46.58,1.46s14-4.79,22.5-9.72a1.88,1.88,0,0,0-.68-1.58A216,216,0,0,1,311.16,135.86Z" style="fill:#fff;opacity:0.5"></path><path d="M321.46,94.56c2.76,1.4,5.35,2.87,8,4.5,1.29.82,2.57,1.65,3.84,2.55s2.53,1.82,3.8,2.86l.47.39.59.54a12.74,12.74,0,0,1,1,1c.32.35.59.69.85,1s.54.68.77,1a43.8,43.8,0,0,1,2.58,4,59.05,59.05,0,0,1,4,8.35,2.52,2.52,0,0,1-4.19,2.62l-.05-.06c-2-2.13-3.93-4.37-5.87-6.46s-3.91-4.21-5.54-5.14c-2.27-1.41-4.8-2.82-7.31-4.2l-7.56-4.2h0a5,5,0,0,1,4.68-8.84Z" style="fill:#00D1E0"></path><path d="M321.46,94.56c2.76,1.4,5.35,2.87,8,4.5,1.29.82,2.57,1.65,3.84,2.55s2.53,1.82,3.8,2.86l.47.39.59.54a12.74,12.74,0,0,1,1,1c.32.35.59.69.85,1s.54.68.77,1a43.8,43.8,0,0,1,2.58,4,59.05,59.05,0,0,1,4,8.35,2.52,2.52,0,0,1-4.19,2.62l-.05-.06c-2-2.13-3.93-4.37-5.87-6.46s-3.91-4.21-5.54-5.14c-2.27-1.41-4.8-2.82-7.31-4.2l-7.56-4.2h0a5,5,0,0,1,4.68-8.84Z" style="fill:#fff;opacity:0.8"></path><path d="M349.73,125.74l-.85-2.13s-.47-2.72-2.16-3.48l-5,.79.17.44h0c.46,1,.11,2.83-.34,4.29s.31,1.65.95,1.36c.36-.16.71-.81,1.09-1.5a8.46,8.46,0,0,0,.63,1l1.23,1.69a1.72,1.72,0,0,0,2.3.44l1.36-.87A1.7,1.7,0,0,0,349.73,125.74Z" style="fill:#00D1E0"></path><path d="M349.73,125.74l-.85-2.13s-.47-2.72-2.16-3.48l-5,.79.17.44h0c.46,1,.11,2.83-.34,4.29s.31,1.65.95,1.36c.36-.16.71-.81,1.09-1.5a8.46,8.46,0,0,0,.63,1l1.23,1.69a1.72,1.72,0,0,0,2.3.44l1.36-.87A1.7,1.7,0,0,0,349.73,125.74Z" style="fill:#fff;opacity:0.8"></path><path d="M317.24,106.06l-1.22.1-7.49,18.08a4,4,0,0,0,1.22-.1s9.76-3.64,12.71-5C320.48,115.05,317.24,106.06,317.24,106.06Z" style="fill:#00D1E0;opacity:0.30000000000000004"></path><path d="M303.57,110.8a43.41,43.41,0,0,0,5,13.44c3.66-1.26,9.76-3.64,12.72-5A135.36,135.36,0,0,1,316,106.16C312.87,106.37,306,109,303.57,110.8Z" style="fill:#fff"></path><path d="M311,114.71a2.58,2.58,0,1,1-1.73-3.21A2.58,2.58,0,0,1,311,114.71Z" style="fill:#00D1E0;opacity:0.30000000000000004"></path><path d="M312.91,111.27a.85.85,0,1,1-.56-1A.84.84,0,0,1,312.91,111.27Z" style="fill:#00D1E0;opacity:0.6000000000000001"></path><path d="M315.15,110.4a.85.85,0,1,1-1.62-.49.84.84,0,0,1,1.05-.56A.85.85,0,0,1,315.15,110.4Z" style="fill:#00D1E0;opacity:0.6000000000000001"></path><polygon points="318.29 118.19 309.04 121.84 308.49 120.02 317.73 116.37 318.29 118.19" style="fill:#00D1E0;opacity:0.5"></polygon></g><g id="freepik--Rocket--inject-19"><path d="M267.26,257.17a94,94,0,0,1-1.68,17.35q-1.77,7.71-5.5,11.28a12.3,12.3,0,0,1-8.81,3.57q-7.71,0-11.77-8.41a23.79,23.79,0,0,1-1.21-3.11,144.31,144.31,0,0,0-15.92,16l-5.31,6.26a38.62,38.62,0,0,0,9.77,7.19q9.34,4.83,24.52,4.84c1.78,0,3.5-.05,5.17-.15a143.39,143.39,0,0,0,15.1-29l14.85-38.72Z" style="opacity:0.2"></path><path d="M133.39,310l17.5,17.5,49-46.17C183,274.88,150.16,293.19,133.39,310Z" style="fill:#263238"></path><path d="M194.42,371c-5.59-5.6-17.5-17.5-17.5-17.5l46.17-49C229.5,321.35,211.19,354.22,194.42,371Z" style="fill:#263238"></path><path d="M261.4,260.7l19.09-36.81L243.68,243a144.22,144.22,0,0,0-32.44,23l-62.75,59.07,30.83,30.83,59.07-62.75A144.22,144.22,0,0,0,261.4,260.7Z" style="fill:#00D1E0"></path><path d="M261.4,260.7l19.09-36.81L243.68,243a144.22,144.22,0,0,0-32.44,23l-62.75,59.07,30.83,30.83,59.07-62.75A144.22,144.22,0,0,0,261.4,260.7Z" style="fill:#fff;opacity:0.6000000000000001"></path><circle cx="222.2" cy="282.18" r="12.9" style="fill:#fff"></circle><circle cx="222.2" cy="282.18" r="8.29" style="fill:#00D1E0"></circle><polygon points="189.75 344.82 159.56 314.63 184.28 291.37 213.01 320.11 189.75 344.82" style="fill:#00D1E0;opacity:0.30000000000000004"></polygon><path d="M140.22,337.62c-22.6,1.83-30.09,16.3-32.65,35.53-1.3,9.81-1.88,19.74-10.11,25.48a2.77,2.77,0,0,0,1.63,5.06c30.34-.95,44.49-15.8,46.27-22a43.06,43.06,0,0,1-2.49,9.47,2.76,2.76,0,0,0,4,3.39c8.51-5.33,19.19-15.15,19.9-31.08C160.51,354.6,140.22,337.62,140.22,337.62Z" style="fill:#00D1E0"></path><path d="M140.22,337.62c-22.6,1.83-30.09,16.3-32.65,35.53-1.3,9.81-1.88,19.74-10.11,25.48a2.77,2.77,0,0,0,1.63,5.06c30.34-.95,44.49-15.8,46.27-22a43.06,43.06,0,0,1-2.49,9.47,2.76,2.76,0,0,0,4,3.39c8.51-5.33,19.19-15.15,19.9-31.08C160.51,354.6,140.22,337.62,140.22,337.62Z" style="fill:#fff;opacity:0.2"></path><polygon points="170.28 370.3 134.08 334.1 153.36 329.93 174.45 351.02 170.28 370.3" style="fill:#00D1E0"></polygon></g></svg>
|
|
Binary file
|