@digipair/skill-web-chatbot 0.91.0-0 → 0.91.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 (136) hide show
  1. package/SAP-icons.cjs.js +2489 -0
  2. package/SAP-icons.cjs2.js +2489 -0
  3. package/SAP-icons.esm.js +2482 -0
  4. package/SAP-icons.esm2.js +2482 -0
  5. package/Tableau10-558cc280.cjs.js +9 -0
  6. package/Tableau10-558cc280.esm.js +7 -0
  7. package/arc-d1f6357e.cjs.js +88 -0
  8. package/arc-d1f6357e.esm.js +86 -0
  9. package/array-2ff2c7a6.cjs.js +7 -0
  10. package/array-2ff2c7a6.esm.js +5 -0
  11. package/blockDiagram-5dc23a45.cjs.js +2921 -0
  12. package/blockDiagram-5dc23a45.esm.js +2919 -0
  13. package/c4Diagram-1e775db3.cjs.js +4387 -0
  14. package/c4Diagram-1e775db3.esm.js +4385 -0
  15. package/channel-ebbc4130.cjs.js +9 -0
  16. package/channel-ebbc4130.esm.js +7 -0
  17. package/classDiagram-f52caa06.cjs.js +209 -0
  18. package/classDiagram-f52caa06.esm.js +207 -0
  19. package/classDiagram-v2-640c694e.cjs.js +401 -0
  20. package/classDiagram-v2-640c694e.esm.js +399 -0
  21. package/clone-afc2f047.cjs.js +10 -0
  22. package/clone-afc2f047.esm.js +8 -0
  23. package/createText-03b82060.cjs.js +2936 -0
  24. package/createText-03b82060.esm.js +2933 -0
  25. package/edges-16357fde.cjs.js +1998 -0
  26. package/edges-16357fde.esm.js +1981 -0
  27. package/erDiagram-c7ff1bec.cjs.js +1807 -0
  28. package/erDiagram-c7ff1bec.esm.js +1805 -0
  29. package/flowDb-9a89ea33.cjs.js +5542 -0
  30. package/flowDb-9a89ea33.esm.js +5538 -0
  31. package/flowDiagram-aadb13b0.cjs.js +1351 -0
  32. package/flowDiagram-aadb13b0.esm.js +1349 -0
  33. package/flowDiagram-v2-f2119625.cjs.js +31 -0
  34. package/flowDiagram-v2-f2119625.esm.js +29 -0
  35. package/flowchart-elk-definition-cf813a97.cjs.js +50257 -0
  36. package/flowchart-elk-definition-cf813a97.esm.js +50255 -0
  37. package/ganttDiagram-3c2fde2b.cjs.js +3710 -0
  38. package/ganttDiagram-3c2fde2b.esm.js +3708 -0
  39. package/gitGraphDiagram-c3a0619c.cjs.js +3820 -0
  40. package/gitGraphDiagram-c3a0619c.esm.js +3818 -0
  41. package/graph-0ee63739.cjs.js +961 -0
  42. package/graph-0ee63739.esm.js +938 -0
  43. package/index-bb6d8841.cjs.js +648 -0
  44. package/index-bb6d8841.esm.js +646 -0
  45. package/index.cjs.d.ts +1 -0
  46. package/index.cjs.js +17 -0
  47. package/index.cjs2.js +60723 -0
  48. package/index.esm.js +1 -0
  49. package/index.esm2.js +60574 -0
  50. package/infoDiagram-2f5c50c0.cjs.js +460 -0
  51. package/infoDiagram-2f5c50c0.esm.js +458 -0
  52. package/init-f9637058.cjs.js +17 -0
  53. package/init-f9637058.esm.js +15 -0
  54. package/journeyDiagram-14fe341a.cjs.js +1061 -0
  55. package/journeyDiagram-14fe341a.esm.js +1059 -0
  56. package/katex-d90b6d29.cjs.js +25690 -0
  57. package/katex-d90b6d29.esm.js +25688 -0
  58. package/layout-fd473db2.cjs.js +1626 -0
  59. package/layout-fd473db2.esm.js +1619 -0
  60. package/libs/engine/src/index.d.ts +2 -0
  61. package/libs/engine/src/lib/alias.interface.d.ts +9 -0
  62. package/libs/engine/src/lib/engine.d.ts +13 -0
  63. package/libs/engine/src/lib/pins-settings.interface.d.ts +15 -0
  64. package/libs/skill-web-chatbot/src/lib/chat.element.d.ts +28 -0
  65. package/libs/skill-web-chatbot/src/lib/common.data.d.ts +1 -0
  66. package/libs/skill-web-chatbot/src/lib/config.d.ts +9 -0
  67. package/libs/skill-web-chatbot/src/lib/digipair-full.data.d.ts +1 -0
  68. package/libs/skill-web-chatbot/src/lib/digipair-full.element.d.ts +36 -0
  69. package/libs/skill-web-chatbot/src/lib/digipair.data.d.ts +1 -0
  70. package/libs/skill-web-chatbot/src/lib/digipair.element.d.ts +44 -0
  71. package/libs/skill-web-chatbot/src/lib/inputs.element.d.ts +10 -0
  72. package/libs/skill-web-chatbot/src/lib/message.interface.d.ts +10 -0
  73. package/libs/skill-web-chatbot/src/lib/pins/chatbot.actions.d.ts +1 -0
  74. package/libs/skill-web-chatbot/src/lib/tools/css-selector.d.ts +1 -0
  75. package/line-24d93f1b.cjs.js +34 -0
  76. package/line-24d93f1b.esm.js +32 -0
  77. package/linear-9bcf74c4.cjs.js +537 -0
  78. package/linear-9bcf74c4.esm.js +531 -0
  79. package/mindmap-definition-9399c7e6.cjs.js +20489 -0
  80. package/mindmap-definition-9399c7e6.esm.js +20487 -0
  81. package/ordinal-5695958c.cjs.js +331 -0
  82. package/ordinal-5695958c.esm.js +329 -0
  83. package/package.json +7 -22
  84. package/path-428ebac9.cjs.js +317 -0
  85. package/path-428ebac9.esm.js +314 -0
  86. package/pieDiagram-828dae43.cjs.js +951 -0
  87. package/pieDiagram-828dae43.esm.js +949 -0
  88. package/quadrantDiagram-5fa00455.cjs.js +2410 -0
  89. package/quadrantDiagram-5fa00455.esm.js +2408 -0
  90. package/requirementDiagram-03163dc4.cjs.js +2267 -0
  91. package/requirementDiagram-03163dc4.esm.js +2265 -0
  92. package/sankeyDiagram-52ec8976.cjs.js +1848 -0
  93. package/sankeyDiagram-52ec8976.esm.js +1846 -0
  94. package/sequenceDiagram-b517d154.cjs.js +5949 -0
  95. package/sequenceDiagram-b517d154.esm.js +5947 -0
  96. package/stateDiagram-fca82b5b.cjs.js +283 -0
  97. package/stateDiagram-fca82b5b.esm.js +281 -0
  98. package/stateDiagram-v2-ed04200a.cjs.js +373 -0
  99. package/stateDiagram-v2-ed04200a.esm.js +371 -0
  100. package/styles-11e81fdd.cjs.js +3944 -0
  101. package/styles-11e81fdd.esm.js +3940 -0
  102. package/styles-cacbff60.cjs.js +2120 -0
  103. package/styles-cacbff60.esm.js +2111 -0
  104. package/styles-e75131e4.cjs.js +671 -0
  105. package/styles-e75131e4.esm.js +661 -0
  106. package/svgDrawCommon-ecc5f780.cjs.js +68 -0
  107. package/svgDrawCommon-ecc5f780.esm.js +60 -0
  108. package/timeline-definition-4ee9bff4.cjs.js +1161 -0
  109. package/timeline-definition-4ee9bff4.esm.js +1159 -0
  110. package/xychartDiagram-e5e6b652.cjs.js +3150 -0
  111. package/xychartDiagram-e5e6b652.esm.js +3148 -0
  112. package/.swcrc +0 -28
  113. package/README.md +0 -7
  114. package/eslint.config.mjs +0 -22
  115. package/rollup.config.cjs +0 -28
  116. package/src/digipair__engine.d.ts +0 -2
  117. package/src/handlebars.d.ts +0 -1
  118. package/src/index.html +0 -18
  119. package/src/lib/chat.element.ts +0 -603
  120. package/src/lib/common.data.ts +0 -1
  121. package/src/lib/config.ts +0 -30
  122. package/src/lib/digipair-full.data.ts +0 -101
  123. package/src/lib/digipair-full.element.ts +0 -358
  124. package/src/lib/digipair.data.ts +0 -103
  125. package/src/lib/digipair.element.ts +0 -446
  126. package/src/lib/inputs.element.ts +0 -46
  127. package/src/lib/mermaid.d.ts +0 -1
  128. package/src/lib/message.interface.ts +0 -10
  129. package/src/lib/pins/chatbot.actions.ts +0 -32
  130. package/src/lib/tools/css-selector.ts +0 -12
  131. package/tsconfig.json +0 -13
  132. package/tsconfig.lib.json +0 -19
  133. /package/{src/index.d.ts → index.d.ts} +0 -0
  134. /package/{src/index.ts → libs/skill-web-chatbot/src/index.d.ts} +0 -0
  135. /package/{src/schema.fr.json → schema.fr.json} +0 -0
  136. /package/{src/schema.json → schema.json} +0 -0
@@ -1,101 +0,0 @@
1
- import { css } from 'lit';
2
-
3
- export const styles = css`
4
- @keyframes bounce {
5
- from {
6
- width: 50px;
7
- height: 50px;
8
- }
9
- 50% {
10
- width: 55px;
11
- height: 55px;
12
- }
13
- to {
14
- width: 50px;
15
- height: 50px;
16
- }
17
- }
18
-
19
- .container {
20
- position: absolute;
21
- top: 20px;
22
- bottom: 20px;
23
- right: 20px;
24
- left: 20px;
25
- line-height: 0.8;
26
- }
27
-
28
- .panel {
29
- position: absolute;
30
- top: -5px;
31
- right: -5px;
32
- height: 50px;
33
- border-radius: 20px 0 20px 20px;
34
- transition-property: width, background-color;
35
- transition-duration: 0.3s, 0.3s;
36
- transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275),
37
- cubic-bezier(0.175, 0.885, 0.32, 1.275);
38
- transition-delay: 0s, 0s;
39
- box-shadow: rgba(0, 0, 0, 0.25) 4px 0.25rem 0.25rem;
40
- border: 1px solid rgb(134, 255, 0);
41
- width: 50px;
42
- background-color: rgb(255, 255, 255);
43
- }
44
-
45
- .logo {
46
- width: 70px;
47
- height: 70px;
48
- position: absolute;
49
- right: -15px;
50
- top: -15px;
51
- transition: scale 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0s;
52
- }
53
-
54
- .logo {
55
- cursor: pointer;
56
- }
57
- .logo:hover {
58
- scale: 1.1;
59
- }
60
-
61
- .actions {
62
- position: absolute;
63
- right: -5px;
64
- top: 62px;
65
- text-align: right;
66
- }
67
-
68
- .actions.loading {
69
- display: none;
70
- }
71
-
72
- .actions .action {
73
- background-color: rgba(255, 255, 255, 0.9);
74
- border-radius: 20px;
75
- font-size: 12px;
76
- color: rgb(60, 60, 60);
77
- padding: 8px 14px;
78
- cursor: pointer;
79
- display: inline-block;
80
- transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0s;
81
- transform: scale(0.95);
82
- margin-bottom: 4px;
83
- }
84
-
85
- .actions .action:hover {
86
- transform: scale(1);
87
- }
88
-
89
- .result {
90
- position: absolute;
91
- left: 0;
92
- right: 0;
93
- top: 0;
94
- bottom: 0;
95
- border-radius: 20px 5px 0px 20px;
96
- background-color: rgb(255, 255, 255);
97
- box-shadow: rgba(0, 0, 0, 0.05) 0px 0.25rem 0.75rem;
98
- border: 1px solid rgb(134, 255, 0);
99
- color: rgb(60, 60, 60);
100
- }
101
- `;
@@ -1,358 +0,0 @@
1
- import { fetchEventSource } from '@microsoft/fetch-event-source';
2
- import '@ui5/webcomponents-icons/dist/AllIcons';
3
- import '@ui5/webcomponents/dist/BusyIndicator';
4
- import '@ui5/webcomponents/dist/Icon';
5
- import { executePinsList } from '@digipair/engine';
6
- import { html, LitElement, nothing, TemplateResult } from 'lit';
7
- import { customElement, property, query, state } from 'lit/decorators.js';
8
- import './chat.element';
9
- import { ChatElement } from './chat.element';
10
- import { styles } from './digipair-full.data';
11
- import { _config } from './config';
12
- import { Message } from './message.interface';
13
-
14
- @customElement('digipair-chatbot-full')
15
- export class DigipairFullElement extends LitElement {
16
- @property()
17
- code = 'common';
18
-
19
- @property()
20
- apiUrl = _config.API_URL;
21
-
22
- @property()
23
- userId: string | null = null;
24
-
25
- @state()
26
- private boosters: any[] = [];
27
-
28
- @state()
29
- private loading = false;
30
-
31
- @state()
32
- private currentBoost: any = null;
33
-
34
- @state()
35
- private messages: Message[] = [];
36
-
37
- @state()
38
- private loadingStep = '';
39
-
40
- @query('digipair-chatbot-chat')
41
- private chatbot!: ChatElement;
42
- private cacheBoosters: any[] = [];
43
- private isDigipairLoading = false;
44
- private metadata!: {
45
- id: string;
46
- config: { VERSIONS: { [key: string]: string } };
47
- variables: { [key: string]: any };
48
- avatar: string;
49
- primary: string;
50
- secondary: string;
51
- textPrimary: string;
52
- textSecondary: string;
53
- };
54
-
55
- private CHAT_COMMAND(digipair: string, reasoning: string) {
56
- return {
57
- library: '@digipair/actions-chatbot',
58
- element: 'executeRemoteReasoning',
59
- properties: {
60
- digipair,
61
- reasoning: reasoning ?? 'conversation',
62
- apiUrl: this.apiUrl,
63
- },
64
- };
65
- }
66
-
67
- override connectedCallback(): void {
68
- super.connectedCallback();
69
-
70
- this.loadUser();
71
- this.loadBoosters();
72
- this.initializeSSE();
73
- }
74
-
75
- private initializeSSE() {
76
- const digipair = this.code;
77
- const reasoning = 'notification';
78
-
79
- fetchEventSource(`${this.apiUrl}/${digipair}/${reasoning}`, {
80
- method: 'POST',
81
- headers: {
82
- 'Content-Type': 'application/json',
83
- },
84
- onmessage: (message: any) => {
85
- if (message.event !== 'message') {
86
- return;
87
- }
88
-
89
- const data = JSON.parse(message.data);
90
-
91
- if (data.type === 'step') {
92
- this.loadingStep = data.content;
93
- }
94
-
95
- if (data.type === 'message') {
96
- this.pushMessage(data.content);
97
- }
98
- },
99
- body: JSON.stringify({
100
- userId: this.userId,
101
- }),
102
- onerror(err) {
103
- console.error('[Digipair] SSE Error:', err);
104
- },
105
- });
106
- }
107
-
108
- private loadUser(): void {
109
- if (this.userId) {
110
- return;
111
- }
112
-
113
- this.userId = localStorage.getItem('digipair-user');
114
-
115
- if (!this.userId) {
116
- // set uuid
117
- this.userId = Math.random().toString(36).substring(2, 15);
118
- localStorage.setItem('digipair-user', this.userId);
119
- }
120
- }
121
- private async loadBoosters(): Promise<void> {
122
- this.cacheBoosters = (await this.executeScene('boosts'))
123
- .map((boost: any) => ({
124
- ...boost,
125
- checkUrl: new RegExp(boost.url),
126
- }))
127
- .filter((boost: any) => boost.standalone);
128
- }
129
-
130
- private async loadDigipair(): Promise<void> {
131
- this.isDigipairLoading = true;
132
-
133
- const digipair = this.code;
134
- const reasoning = 'metadata';
135
- const metadata = await this.executeScene(reasoning);
136
-
137
- this.metadata = { ...metadata, id: digipair, config: { VERSIONS: metadata.config.VERSIONS } };
138
- await this.loadHistory();
139
-
140
- setTimeout(() => {
141
- this.scrollDown();
142
- }, 1);
143
-
144
- this.isDigipairLoading = false;
145
- }
146
-
147
- private async loadHistory(): Promise<void> {
148
- const userId = this.userId;
149
- const reasoning = 'history';
150
- const messages = (
151
- await this.executeScene(reasoning, {
152
- userId,
153
- })
154
- ).map((message: any) => ({
155
- ...message,
156
- boost: message.boost
157
- ? {
158
- ...message.boost,
159
- checkUrl: message.boost.url ? new RegExp(message.boost.url) : null,
160
- }
161
- : null,
162
- }));
163
-
164
- if (messages.length > 0) {
165
- this.messages = messages;
166
- }
167
- }
168
-
169
- private scrollDown(): void {
170
- const container = (this.shadowRoot as unknown as HTMLElement).querySelector(
171
- '.container',
172
- ) as HTMLElement;
173
- container.scrollTop = container.scrollHeight;
174
- }
175
-
176
- async execute(boost: any, message?: string): Promise<void> {
177
- this.loadingStep = '';
178
- this.loading = true;
179
-
180
- if (message || boost?.command?.properties?.input?.prompt) {
181
- this.messages.push({
182
- role: 'user',
183
- content: message || boost.command.properties.input.prompt,
184
- });
185
- }
186
- this.chatbot.requestUpdate();
187
-
188
- const command = boost?.command ? boost.command : this.CHAT_COMMAND(this.code, boost?.reasoning);
189
- try {
190
- const pins = JSON.parse(JSON.stringify(command));
191
- pins.properties = pins.properties || {};
192
- pins.properties.input = {
193
- ...(pins.properties.input || {}),
194
- prompt: message || pins.properties.input?.prompt,
195
- inputs: this.chatbot.inputs,
196
- userId: this.userId,
197
- step: boost?.step,
198
- parent_history: boost?.parent_history,
199
- parent_conversation: boost?.parent_conversation,
200
- context: boost?.context || {},
201
- ...(!boost
202
- ? {}
203
- : {
204
- boost: {
205
- name: boost.name,
206
- text: boost.text,
207
- },
208
- }),
209
- };
210
-
211
- const detail = await executePinsList(
212
- [pins],
213
- {
214
- config: { VERSIONS: this.metadata.config.VERSIONS },
215
- },
216
- 'boost',
217
- );
218
-
219
- this.currentBoost = detail.boost
220
- ? {
221
- parent_history: detail.uuid,
222
- parent_conversation: detail.parent_conversation || detail.uuid,
223
- ...detail.boost,
224
- }
225
- : null;
226
- this.pushMessage({
227
- role: 'assistant',
228
- content: detail.assistant,
229
- uuid: detail.uuid,
230
- boost: detail.boost,
231
- boosts: detail.boosts,
232
- sources: detail.sources,
233
- parent_conversation: detail.parent_conversation,
234
- parent_history: detail.parent_history,
235
- });
236
-
237
- if (detail.command && detail.command.length > 0) {
238
- executePinsList(
239
- detail.command,
240
- { config: { VERSIONS: this.metadata.config.VERSIONS } },
241
- 'boost.command',
242
- );
243
- }
244
- } catch (error) {
245
- this.pushMessage({
246
- role: 'assistant',
247
- content: 'Oops...',
248
- });
249
- }
250
-
251
- this.loadingStep = '';
252
- this.loading = false;
253
- }
254
-
255
- private executeBoost(boost: any): void {
256
- this.execute(boost);
257
- this.closeMenu();
258
-
259
- setTimeout(() => {
260
- (this.chatbot?.shadowRoot?.querySelector('#messageInput') as any).focus();
261
- }, 1);
262
- }
263
-
264
- private pushMessage(message: Message): void {
265
- this.messages.push(message);
266
- this.chatbot.requestUpdate();
267
- }
268
-
269
- private async openMenu(): Promise<void> {
270
- this.boosters = this.cacheBoosters;
271
- }
272
-
273
- private closeMenu(): void {
274
- this.boosters = [];
275
- }
276
-
277
- private setBoost(boost: any): void {
278
- this.currentBoost = boost;
279
- this.boosters = [];
280
- }
281
-
282
- private executeScene = async (reasoning: string, input: any = {}): Promise<any> => {
283
- const digipair = this.code;
284
- const response = await fetch(`${this.apiUrl}/${digipair}/${reasoning}`, {
285
- method: 'POST',
286
- headers: {
287
- 'Content-Type': 'application/json',
288
- },
289
- body: JSON.stringify(input),
290
- });
291
-
292
- return await response.json();
293
- };
294
-
295
- static override styles = styles;
296
- override render(): TemplateResult {
297
- if (this.metadata?.id !== this.code) {
298
- if (!this.isDigipairLoading) {
299
- this.loadDigipair();
300
- }
301
- return html``;
302
- }
303
-
304
- return html`
305
- <style>
306
- @import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
307
- font-family: 'Poppins', sans-serif;
308
- font-weight: 300;
309
- font-style: normal;
310
-
311
- --digipair-color-primary: ${this.metadata.primary};
312
- --digipair-color-primary: ${this.metadata.secondary};
313
- --digipair-color-text-primary: ${this.metadata.textPrimary};
314
- --digipair-color-text-primary: ${this.metadata.textSecondary};
315
- </style>
316
-
317
- <section class="container">
318
- <section class="result" style="border: 1px solid var(--digipair-color-primary, #52DFDB)">
319
- <digipair-chatbot-chat
320
- ?loading=${this.loading}
321
- .messages=${this.messages}
322
- .currentBoost=${this.currentBoost}
323
- .context=${{ config: this.metadata.config, variables: this.metadata.variables }}
324
- loadingStep=${this.loadingStep}
325
- @prompt=${(event: any) => this.execute(this.currentBoost, event.detail.prompt)}
326
- @boost=${(event: any) => this.setBoost(event.detail)}
327
- @executeboost=${(event: any) => this.executeBoost(event.detail)}
328
- ></digipair-chatbot-chat>
329
- </section>
330
-
331
- <section class="actions ${this.loading ? 'loading' : ''}">
332
- ${this.boosters.map(
333
- boost => html`
334
- <div>
335
- <span
336
- class="action"
337
- style="border: 1px solid var(--digipair-color-primary, #52DFDB)"
338
- @click=${() => this.executeBoost(boost)}
339
- >${boost.summary}</span
340
- >
341
- </div>
342
- `,
343
- )}
344
- </section>
345
-
346
- <section
347
- class="panel"
348
- style="border: 1px solid var(--digipair-color-primary, #52DFDB)"
349
- ></section>
350
- <img
351
- class="logo ${this.loading ? 'loading' : ''}"
352
- src=${this.metadata.avatar}
353
- @click=${() => (this.boosters.length <= 0 ? this.openMenu() : this.closeMenu())}
354
- />
355
- </section>
356
- `;
357
- }
358
- }
@@ -1,103 +0,0 @@
1
- import { css } from 'lit';
2
-
3
- export const styles = css`
4
- @keyframes bounce {
5
- from {
6
- width: 50px;
7
- height: 50px;
8
- }
9
- 50% {
10
- width: 55px;
11
- height: 55px;
12
- }
13
- to {
14
- width: 50px;
15
- height: 50px;
16
- }
17
- }
18
-
19
- .container {
20
- position: fixed;
21
- z-index: 9999;
22
- right: 20px;
23
- bottom: 20px;
24
- line-height: 0.8;
25
- }
26
-
27
- .panel {
28
- position: absolute;
29
- top: -50px;
30
- right: 0px;
31
- height: 50px;
32
- border-radius: 20px 0 20px 20px;
33
- transition-property: width, background-color;
34
- transition-duration: 0.3s, 0.3s;
35
- transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275),
36
- cubic-bezier(0.175, 0.885, 0.32, 1.275);
37
- transition-delay: 0s, 0s;
38
- box-shadow: rgba(0, 0, 0, 0.25) 4px 0.25rem 0.25rem;
39
- border: 1px solid rgb(134, 255, 0);
40
- width: 50px;
41
- background-color: rgb(255, 255, 255);
42
- }
43
-
44
- .logo {
45
- width: 70px;
46
- height: 70px;
47
- position: absolute;
48
- right: -10px;
49
- top: -58px;
50
- transition: scale 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0s;
51
- }
52
-
53
- .logo {
54
- cursor: pointer;
55
- }
56
- .logo:hover {
57
- scale: 1.1;
58
- }
59
-
60
- .actions {
61
- float: right;
62
- margin-right: 60px;
63
- margin-top: -38px;
64
- }
65
-
66
- .actions.loading {
67
- display: none;
68
- }
69
-
70
- .actions > .action {
71
- background-color: rgba(255, 255, 255, 0.9);
72
- border-radius: 20px;
73
- font-size: 12px;
74
- color: rgb(60, 60, 60);
75
- padding: 8px 14px;
76
- cursor: pointer;
77
- display: inline-block;
78
- transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0s;
79
- transform: scale(0.95);
80
- margin-bottom: 4px;
81
- }
82
-
83
- .actions > .action:hover {
84
- transform: scale(1);
85
- }
86
-
87
- .result {
88
- position: absolute;
89
- right: 0px;
90
- top: -500px;
91
- width: 340px;
92
- height: 440px;
93
- border-radius: 20px 5px 0px 20px;
94
- background-color: rgb(255, 255, 255);
95
- box-shadow: rgba(0, 0, 0, 0.05) 0px 0.25rem 0.75rem;
96
- border: 1px solid rgb(134, 255, 0);
97
- color: rgb(60, 60, 60);
98
- }
99
-
100
- .result-closed .result {
101
- display: none;
102
- }
103
- `;