@websolutespa/bom-mixer-llm 1.8.6 → 1.8.8

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 (131) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/cjs/index.css +343 -49
  3. package/dist/cjs/index.js +596 -339
  4. package/dist/cjs/index.js.map +1 -1
  5. package/dist/esm/index.css +343 -49
  6. package/dist/esm/index.js +1 -1
  7. package/dist/esm/llm/components/Canvas/canvas.js +2 -1
  8. package/dist/esm/llm/components/Canvas/canvas.js.map +1 -1
  9. package/dist/esm/llm/components/Card/card.js +2 -2
  10. package/dist/esm/llm/components/Card/card.js.map +1 -1
  11. package/dist/esm/llm/components/Chunk/chunk.js +43 -18
  12. package/dist/esm/llm/components/Chunk/chunk.js.map +1 -1
  13. package/dist/esm/llm/components/Event/event.js +1 -1
  14. package/dist/esm/llm/components/Event/event.js.map +1 -1
  15. package/dist/esm/llm/components/Font/font.js +45 -0
  16. package/dist/esm/llm/components/Font/font.js.map +1 -0
  17. package/dist/esm/llm/components/Header/header.js +7 -1
  18. package/dist/esm/llm/components/Header/header.js.map +1 -1
  19. package/dist/esm/llm/components/Hints/hints.js +5 -3
  20. package/dist/esm/llm/components/Hints/hints.js.map +1 -1
  21. package/dist/esm/llm/components/Intro/intro.js +48 -40
  22. package/dist/esm/llm/components/Intro/intro.js.map +1 -1
  23. package/dist/esm/llm/components/Main/main.js +8 -1
  24. package/dist/esm/llm/components/Main/main.js.map +1 -1
  25. package/dist/esm/llm/components/Poi/poi.js +1 -1
  26. package/dist/esm/llm/components/Poi/poi.js.map +1 -1
  27. package/dist/esm/llm/components/Product/product.js +1 -1
  28. package/dist/esm/llm/components/Product/product.js.map +1 -1
  29. package/dist/esm/llm/components/Prompt/prompt.js +74 -52
  30. package/dist/esm/llm/components/Prompt/prompt.js.map +1 -1
  31. package/dist/esm/llm/components/Prompt/suggestions.js +2 -1
  32. package/dist/esm/llm/components/Prompt/suggestions.js.map +1 -1
  33. package/dist/esm/llm/components/Stream/stream.js +6 -0
  34. package/dist/esm/llm/components/Stream/stream.js.map +1 -1
  35. package/dist/esm/llm/components/Text/text.js +29 -5
  36. package/dist/esm/llm/components/Text/text.js.map +1 -1
  37. package/dist/esm/llm/components/Thread/thread.js +8 -1
  38. package/dist/esm/llm/components/Thread/thread.js.map +1 -1
  39. package/dist/esm/llm/components/Trigger/blob.js +1 -0
  40. package/dist/esm/llm/components/Trigger/blob.js.map +1 -1
  41. package/dist/esm/llm/components/Trigger/trigger.js +11 -11
  42. package/dist/esm/llm/components/Trigger/trigger.js.map +1 -1
  43. package/dist/esm/llm/components/Tripadvisor/tripadvisor.js +1 -1
  44. package/dist/esm/llm/components/Tripadvisor/tripadvisor.js.map +1 -1
  45. package/dist/esm/llm/hooks/useFocusTrap.js +47 -0
  46. package/dist/esm/llm/hooks/useFocusTrap.js.map +1 -0
  47. package/dist/esm/llm/llm.js +5 -3
  48. package/dist/esm/llm/llm.js.map +1 -1
  49. package/dist/esm/llm/theme.json.js +46 -14
  50. package/dist/esm/llm/theme.json.js.map +1 -1
  51. package/dist/esm/llm/utils.js +43 -9
  52. package/dist/esm/llm/utils.js.map +1 -1
  53. package/dist/esm/useLlm/message.service.js +44 -38
  54. package/dist/esm/useLlm/message.service.js.map +1 -1
  55. package/dist/esm/useLlm/mock-app.default.js +138 -138
  56. package/dist/esm/useLlm/mock-app.default.js.map +1 -1
  57. package/dist/esm/useLlm/useLlmView.js +1 -1
  58. package/dist/esm/useLlm/useLlmView.js.map +1 -1
  59. package/dist/types/llm/components/Chunk/chunk.d.ts +1 -0
  60. package/dist/types/llm/components/Chunk/chunk.d.ts.map +1 -1
  61. package/dist/types/llm/components/Font/font.d.ts +3 -0
  62. package/dist/types/llm/components/Font/font.d.ts.map +1 -0
  63. package/dist/types/llm/components/FormRecap/FormRecap.d.ts +1 -1
  64. package/dist/types/llm/components/FormRecap/FormRecap.d.ts.map +1 -1
  65. package/dist/types/llm/components/Header/header.d.ts.map +1 -1
  66. package/dist/types/llm/components/Intro/intro.d.ts.map +1 -1
  67. package/dist/types/llm/components/Main/main.d.ts.map +1 -1
  68. package/dist/types/llm/components/Prompt/prompt.d.ts.map +1 -1
  69. package/dist/types/llm/components/Stream/stream.d.ts.map +1 -1
  70. package/dist/types/llm/components/Text/text.d.ts +2 -1
  71. package/dist/types/llm/components/Text/text.d.ts.map +1 -1
  72. package/dist/types/llm/components/Thread/thread.d.ts.map +1 -1
  73. package/dist/types/llm/components/Trigger/trigger.d.ts.map +1 -1
  74. package/dist/types/llm/hooks/useFocusTrap.d.ts +6 -0
  75. package/dist/types/llm/hooks/useFocusTrap.d.ts.map +1 -0
  76. package/dist/types/llm/llm.d.ts.map +1 -1
  77. package/dist/types/llm/theme.d.ts +36 -8
  78. package/dist/types/llm/theme.d.ts.map +1 -1
  79. package/dist/types/llm/utils.d.ts +5 -2
  80. package/dist/types/llm/utils.d.ts.map +1 -1
  81. package/dist/types/useLlm/message.service.d.ts +6 -3
  82. package/dist/types/useLlm/message.service.d.ts.map +1 -1
  83. package/dist/types/useLlm/mock-app.default.d.ts +1 -1
  84. package/dist/types/useLlm/mock-app.gs1.d.ts +3 -0
  85. package/dist/types/useLlm/mock-app.gs1.d.ts.map +1 -0
  86. package/dist/types/useLlm/mock-app.lfo.d.ts.map +1 -1
  87. package/dist/types/useLlm/mock-app.pesaro.d.ts +1 -1
  88. package/dist/types/useLlm/mock-app.silicon.d.ts.map +1 -1
  89. package/dist/types/useLlm/mock-thread.gs1.d.ts +3 -0
  90. package/dist/types/useLlm/mock-thread.gs1.d.ts.map +1 -0
  91. package/package.json +1 -1
  92. package/src/llm/components/Canvas/canvas.tsx +1 -1
  93. package/src/llm/components/Card/card.tsx +2 -2
  94. package/src/llm/components/Chunk/chunk.tsx +26 -13
  95. package/src/llm/components/Event/event.tsx +1 -1
  96. package/src/llm/components/Font/font.tsx +55 -0
  97. package/src/llm/components/FormRecap/FormRecap.tsx +2 -2
  98. package/src/llm/components/Header/_style.scss +8 -3
  99. package/src/llm/components/Header/header.tsx +4 -3
  100. package/src/llm/components/Hints/_style.scss +6 -4
  101. package/src/llm/components/Hints/hints.tsx +5 -5
  102. package/src/llm/components/Intro/_style.scss +1 -0
  103. package/src/llm/components/Intro/intro.tsx +54 -47
  104. package/src/llm/components/Main/main.tsx +8 -2
  105. package/src/llm/components/Poi/poi.tsx +1 -1
  106. package/src/llm/components/Product/product.tsx +1 -1
  107. package/src/llm/components/Prompt/_style.scss +37 -15
  108. package/src/llm/components/Prompt/prompt.tsx +48 -32
  109. package/src/llm/components/Prompt/suggestions.tsx +2 -2
  110. package/src/llm/components/Stream/stream.tsx +9 -3
  111. package/src/llm/components/Text/_style.scss +20 -9
  112. package/src/llm/components/Text/text.tsx +25 -6
  113. package/src/llm/components/Thread/thread.tsx +11 -5
  114. package/src/llm/components/Trigger/_style.scss +7 -7
  115. package/src/llm/components/Trigger/blob.tsx +1 -1
  116. package/src/llm/components/Trigger/trigger.tsx +12 -9
  117. package/src/llm/components/Tripadvisor/tripadvisor.tsx +1 -1
  118. package/src/llm/hooks/useFocusTrap.tsx +47 -0
  119. package/src/llm/llm.tsx +4 -2
  120. package/src/llm/scss/_fonts.scss +2 -0
  121. package/src/llm/scss/_mixin.scss +62 -0
  122. package/src/llm/theme.json +38 -10
  123. package/src/llm/utils.tsx +44 -3
  124. package/src/useLlm/message.service.ts +44 -53
  125. package/src/useLlm/mock-app.default.ts +139 -139
  126. package/src/useLlm/mock-app.gs1.ts +244 -0
  127. package/src/useLlm/mock-app.lfo.ts +3 -14
  128. package/src/useLlm/mock-app.pesaro.ts +139 -139
  129. package/src/useLlm/mock-app.silicon.ts +2 -1
  130. package/src/useLlm/mock-thread.gs1.ts +122 -0
  131. package/src/useLlm/useLlmView.tsx +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @websolutespa/bom-mixer-llm
2
2
 
3
+ ## 1.8.8
4
+
5
+ ### Patch Changes
6
+
7
+ - 8024a99: Added: useFocusTrap, regExpMapper, a11y
8
+
9
+ ## 1.8.7
10
+
11
+ ### Patch Changes
12
+
13
+ - Modified: theme settings, Added: Font component
14
+
3
15
  ## 1.8.6
4
16
 
5
17
  ### Patch Changes
@@ -1,33 +1,43 @@
1
- @import url("https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap");
2
- @import url("https://fonts.googleapis.com/css2?family=Work+Sans:ital,wght@0,100..900;1,100..900&display=swap");
1
+ /*
2
+ @import url('https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap');
3
+ @import url('https://fonts.googleapis.com/css2?family=Work+Sans:ital,wght@0,100..900;1,100..900&display=swap');
4
+
3
5
  @font-face {
4
- font-family: "Aeonik";
5
- src: url("https://design.wslabs.it/llm/fonts/Aeonik-Medium.woff2") format("woff2"), url("https://design.wslabs.it/llm/fonts/Aeonik-Medium.woff2") format("woff");
6
+ font-family: 'Aeonik';
7
+ src:
8
+ url('https://design.wslabs.it/llm/fonts/Aeonik-Medium.woff2') format('woff2'),
9
+ url('https://design.wslabs.it/llm/fonts/Aeonik-Medium.woff2') format('woff');
6
10
  font-weight: 500;
7
11
  font-style: normal;
8
12
  font-display: swap;
9
13
  }
14
+
10
15
  @font-face {
11
- font-family: "Aeonik";
12
- src: url("https://design.wslabs.it/llm/fonts/Aeonik-Bold.woff2") format("woff2"), url("https://design.wslabs.it/llm/fonts/Aeonik-Bold.woff") format("woff");
16
+ font-family: 'Aeonik';
17
+ src:
18
+ url('https://design.wslabs.it/llm/fonts/Aeonik-Bold.woff2') format('woff2'),
19
+ url('https://design.wslabs.it/llm/fonts/Aeonik-Bold.woff') format('woff');
13
20
  font-weight: 700;
14
21
  font-style: normal;
15
22
  font-display: swap;
16
23
  }
24
+
17
25
  @font-face {
18
- font-family: "Capraia";
19
- src: url("https://design.wslabs.it/llm/fonts/Capraia-Regular.woff2") format("woff2");
26
+ font-family: 'Capraia';
27
+ src: url('https://design.wslabs.it/llm/fonts/Capraia-Regular.woff2') format('woff2');
20
28
  font-style: normal;
21
29
  font-weight: 400;
22
30
  font-display: swap;
23
31
  }
32
+
24
33
  @font-face {
25
- font-family: "Capraia";
26
- src: url("https://design.wslabs.it/llm/fonts/Capraia-Light_W.woff2") format("woff2");
34
+ font-family: 'Capraia';
35
+ src: url('https://design.wslabs.it/llm/fonts/Capraia-Light_W.woff2') format('woff2');
27
36
  font-weight: 300;
28
37
  font-style: normal;
29
38
  font-display: swap;
30
39
  }
40
+ */
31
41
  /*
32
42
  @font-face {
33
43
  font-family: 'Capraia';
@@ -853,6 +863,32 @@ llm-embed {
853
863
  cursor: pointer;
854
864
  }
855
865
  .llm .llm__trigger-btn {
866
+ margin: 0;
867
+ padding: 0;
868
+ border: none;
869
+ text-decoration: none;
870
+ background: none;
871
+ appearance: none;
872
+ font-family: inherit;
873
+ font-style: inherit;
874
+ font-variant-ligatures: inherit;
875
+ font-variant-caps: inherit;
876
+ font-variant-numeric: inherit;
877
+ font-variant-east-asian: inherit;
878
+ font-weight: inherit;
879
+ font-stretch: inherit;
880
+ text-rendering: inherit;
881
+ letter-spacing: inherit;
882
+ word-spacing: inherit;
883
+ line-height: inherit;
884
+ text-transform: none;
885
+ text-indent: inherit;
886
+ text-shadow: none;
887
+ text-align: inherit;
888
+ pointer-events: auto;
889
+ cursor: pointer;
890
+ outline: 2px solid transparent;
891
+ outline-offset: 2px;
856
892
  position: relative;
857
893
  width: var(--llm-trigger-size);
858
894
  height: var(--llm-trigger-size);
@@ -863,8 +899,9 @@ llm-embed {
863
899
  will-change: transform;
864
900
  transition: 0.4s;
865
901
  box-shadow: var(--llm-trigger-box-shadow);
866
- pointer-events: auto;
867
- cursor: pointer;
902
+ }
903
+ .llm .llm__trigger-btn:focus {
904
+ outline-color: currentColor;
868
905
  }
869
906
  .llm .llm__trigger-btn > span {
870
907
  line-height: 1;
@@ -881,16 +918,16 @@ llm-embed {
881
918
  }
882
919
  }
883
920
  @media (hover: hover) {
884
- .llm .llm__trigger-btn--hover:hover + .llm__trigger-welcome > div {
921
+ .llm .llm__trigger-btn--hover:hover + .llm__trigger-popup > div {
885
922
  opacity: 0;
886
923
  translate: -50% 10%;
887
924
  }
888
- .llm .llm__trigger-btn--hover:hover + .llm__trigger-welcome > div + div {
925
+ .llm .llm__trigger-btn--hover:hover + .llm__trigger-popup > div + div {
889
926
  opacity: 1;
890
927
  translate: -50% 0%;
891
928
  }
892
929
  }
893
- .llm .llm__trigger-welcome > div {
930
+ .llm .llm__trigger-popup > div {
894
931
  position: absolute;
895
932
  padding: clamp(16px, 16px + (100vw - 375px) / 1545 * 8, 24px);
896
933
  width: calc(100vw - 40px);
@@ -900,23 +937,24 @@ llm-embed {
900
937
  translate: -50% 0%;
901
938
  border-radius: 12px;
902
939
  text-align: center;
903
- background: var(--llm-color-background);
904
- color: var(--llm-color-foreground);
940
+ background: var(--llm-popup-background);
941
+ color: var(--llm-popup-foreground);
942
+ border: var(--llm-popup-border, none);
905
943
  transition: 0.4s;
906
944
  pointer-events: auto;
907
945
  overflow: hidden;
908
946
  cursor: pointer;
909
947
  }
910
- .llm .llm__trigger-welcome > div > span {
948
+ .llm .llm__trigger-popup > div > span {
911
949
  position: relative;
912
950
  }
913
- .llm .llm__trigger-welcome > div + div {
951
+ .llm .llm__trigger-popup > div + div {
914
952
  width: calc(100vw - 40px);
915
953
  max-width: var(--llm-popup-max-width);
916
954
  translate: -50% 10%;
917
955
  opacity: 0;
918
956
  }
919
- .llm .llm__trigger-welcome-cta {
957
+ .llm .llm__trigger-cta {
920
958
  position: relative;
921
959
  display: block;
922
960
  margin: 12px auto 0 auto;
@@ -1163,15 +1201,93 @@ llm-embed {
1163
1201
  .llm .llm__header-logo-mini > img {
1164
1202
  object-fit: contain;
1165
1203
  }
1204
+ .llm .llm__header-skip {
1205
+ margin: 0;
1206
+ padding: 0;
1207
+ border: none;
1208
+ text-decoration: none;
1209
+ background: none;
1210
+ appearance: none;
1211
+ font-family: inherit;
1212
+ font-style: inherit;
1213
+ font-variant-ligatures: inherit;
1214
+ font-variant-caps: inherit;
1215
+ font-variant-numeric: inherit;
1216
+ font-variant-east-asian: inherit;
1217
+ font-weight: inherit;
1218
+ font-stretch: inherit;
1219
+ text-rendering: inherit;
1220
+ letter-spacing: inherit;
1221
+ word-spacing: inherit;
1222
+ line-height: inherit;
1223
+ text-transform: none;
1224
+ text-indent: inherit;
1225
+ text-shadow: none;
1226
+ text-align: inherit;
1227
+ pointer-events: auto;
1228
+ cursor: pointer;
1229
+ outline: 2px solid transparent;
1230
+ outline-offset: 2px;
1231
+ background-color: var(--llm-color-background);
1232
+ border: 0 !important;
1233
+ clip: rect(1px, 1px, 1px, 1px) !important;
1234
+ clip-path: inset(50%) !important;
1235
+ height: 1px !important;
1236
+ margin: -1px !important;
1237
+ overflow: hidden !important;
1238
+ padding: 0 !important;
1239
+ position: absolute !important;
1240
+ width: 1px !important;
1241
+ white-space: nowrap !important;
1242
+ }
1243
+ .llm .llm__header-skip:focus {
1244
+ outline-color: currentColor;
1245
+ }
1246
+ .llm .llm__header-skip:focus, .llm .llm__header-skip:active {
1247
+ clip: auto !important;
1248
+ clip-path: none !important;
1249
+ height: auto !important;
1250
+ margin: auto !important;
1251
+ overflow: visible !important;
1252
+ width: auto !important;
1253
+ white-space: normal !important;
1254
+ }
1166
1255
  .llm .llm__header-back {
1256
+ margin: 0;
1257
+ padding: 0;
1258
+ border: none;
1259
+ text-decoration: none;
1260
+ background: none;
1261
+ appearance: none;
1262
+ font-family: inherit;
1263
+ font-style: inherit;
1264
+ font-variant-ligatures: inherit;
1265
+ font-variant-caps: inherit;
1266
+ font-variant-numeric: inherit;
1267
+ font-variant-east-asian: inherit;
1268
+ font-weight: inherit;
1269
+ font-stretch: inherit;
1270
+ text-rendering: inherit;
1271
+ letter-spacing: inherit;
1272
+ word-spacing: inherit;
1273
+ line-height: inherit;
1274
+ text-transform: none;
1275
+ text-indent: inherit;
1276
+ text-shadow: none;
1277
+ text-align: inherit;
1278
+ pointer-events: auto;
1279
+ cursor: pointer;
1280
+ outline: 2px solid transparent;
1281
+ outline-offset: 2px;
1167
1282
  display: inline-flex;
1168
1283
  align-items: center;
1169
1284
  gap: clamp(8px, 8px + (100vw - 375px) / 1545 * 0, 8px);
1170
1285
  text-transform: uppercase;
1171
1286
  user-select: none;
1172
- color: var(--llm-color-foreground);
1173
- pointer-events: auto;
1174
- cursor: pointer;
1287
+ color: var(--llm-color-title-foreground);
1288
+ }
1289
+ .llm .llm__header-back:focus {
1290
+ outline-color: currentColor;
1175
1291
  }
1176
1292
 
1177
1293
  .llm .llm__scroller {
@@ -1245,6 +1361,7 @@ llm-embed {
1245
1361
  display: flex;
1246
1362
  flex-direction: column;
1247
1363
  gap: clamp(24px, 24px + (100vw - 375px) / 1545 * 16, 40px);
1364
+ color: var(--llm-color-title-foreground);
1248
1365
  }
1249
1366
  .llm .llm__intro-hints {
1250
1367
  margin-top: clamp(24px, 24px + (100vw - 375px) / 1545 * 16, 40px);
@@ -1286,6 +1403,32 @@ llm-embed {
1286
1403
  height: auto;
1287
1404
  }
1288
1405
  .llm .llm__hint {
1406
+ margin: 0;
1407
+ padding: 0;
1408
+ border: none;
1409
+ text-decoration: none;
1410
+ background: none;
1411
+ appearance: none;
1412
+ font-family: inherit;
1413
+ font-style: inherit;
1414
+ font-variant-ligatures: inherit;
1415
+ font-variant-caps: inherit;
1416
+ font-variant-numeric: inherit;
1417
+ font-variant-east-asian: inherit;
1418
+ font-weight: inherit;
1419
+ font-stretch: inherit;
1420
+ text-rendering: inherit;
1421
+ letter-spacing: inherit;
1422
+ word-spacing: inherit;
1423
+ line-height: inherit;
1424
+ text-transform: none;
1425
+ text-indent: inherit;
1426
+ text-shadow: none;
1427
+ text-align: inherit;
1428
+ pointer-events: auto;
1429
+ cursor: pointer;
1430
+ outline: 2px solid transparent;
1431
+ outline-offset: 2px;
1289
1432
  display: flex;
1290
1433
  flex-direction: column;
1291
1434
  gap: clamp(8px, 8px + (100vw - 375px) / 1545 * 8, 16px);
@@ -1297,8 +1440,9 @@ llm-embed {
1297
1440
  border: var(--llm-hint-border);
1298
1441
  font-family: var(--llm-hint-font-family);
1299
1442
  backdrop-filter: blur(20px);
1300
- pointer-events: auto;
1301
- cursor: pointer;
1443
+ }
1444
+ .llm .llm__hint:focus {
1445
+ outline-color: currentColor;
1302
1446
  }
1303
1447
  @media (min-width: 768px) {
1304
1448
  .llm .llm__hint:first-child {
@@ -1310,11 +1454,14 @@ llm-embed {
1310
1454
  align-items: center;
1311
1455
  gap: clamp(8px, 8px + (100vw - 375px) / 1545 * 8, 16px);
1312
1456
  text-transform: uppercase;
1457
+ color: var(--llm-hint-title-color, inherit);
1313
1458
  }
1314
1459
  .llm .llm__hint-title i {
1460
+ flex-shrink: 0;
1315
1461
  display: block;
1316
- width: 18px;
1317
- height: 18px;
1462
+ width: var(--llm-hint-icon-width, 18px);
1463
+ height: var(--llm-hint-icon-height, 18px);
1464
+ color: var(--llm-hint-icon-color, inherit);
1318
1465
  }
1319
1466
  .llm .llm__hint-title i svg {
1320
1467
  fill: currentColor;
@@ -1333,7 +1480,7 @@ llm-embed {
1333
1480
  position: relative;
1334
1481
  box-shadow: -4px 4px 50px 0px rgba(8, 20, 62, 0.08);
1335
1482
  border-radius: 8px;
1336
- overflow: hidden;
1483
+ overflow: visible;
1337
1484
  background: var(--llm-input-background);
1338
1485
  width: 100%;
1339
1486
  }
@@ -1345,6 +1492,18 @@ llm-embed {
1345
1492
  padding: 18px 40px;
1346
1493
  }
1347
1494
  }
1495
+ .llm .llm__prompt-label {
1496
+ border: 0 !important;
1497
+ clip: rect(1px, 1px, 1px, 1px) !important;
1498
+ clip-path: inset(50%) !important;
1499
+ height: 1px !important;
1500
+ margin: -1px !important;
1501
+ overflow: hidden !important;
1502
+ padding: 0 !important;
1503
+ position: absolute !important;
1504
+ width: 1px !important;
1505
+ white-space: nowrap !important;
1506
+ }
1348
1507
  .llm .llm__prompt-textarea {
1349
1508
  appearance: none;
1350
1509
  display: block;
@@ -1353,7 +1512,6 @@ llm-embed {
1353
1512
  width: 100%;
1354
1513
  max-height: 120px;
1355
1514
  min-height: 45px;
1356
- outline: none;
1357
1515
  border: none;
1358
1516
  resize: none;
1359
1517
  border-radius: 0;
@@ -1366,8 +1524,16 @@ llm-embed {
1366
1524
  font-family: var(--llm-input-font-family);
1367
1525
  font-size: 16px;
1368
1526
  line-height: 1.3;
1527
+ border-radius: 8px;
1369
1528
  background: transparent;
1370
1529
  color: var(--llm-input-foreground);
1530
+ pointer-events: auto;
1531
+ cursor: pointer;
1532
+ outline: 2px solid transparent;
1533
+ outline-offset: 2px;
1534
+ }
1535
+ .llm .llm__prompt-textarea:focus {
1536
+ outline-color: currentColor;
1371
1537
  }
1372
1538
  .llm .llm__prompt-textarea::placeholder {
1373
1539
  font-family: var(--llm-input-font-family);
@@ -1383,6 +1549,32 @@ llm-embed {
1383
1549
  }
1384
1550
  }
1385
1551
  .llm .llm__prompt-speak, .llm .llm__prompt-microphone {
1552
+ margin: 0;
1553
+ padding: 0;
1554
+ border: none;
1555
+ text-decoration: none;
1556
+ background: none;
1557
+ appearance: none;
1558
+ font-family: inherit;
1559
+ font-style: inherit;
1560
+ font-variant-ligatures: inherit;
1561
+ font-variant-caps: inherit;
1562
+ font-variant-numeric: inherit;
1563
+ font-variant-east-asian: inherit;
1564
+ font-weight: inherit;
1565
+ font-stretch: inherit;
1566
+ text-rendering: inherit;
1567
+ letter-spacing: inherit;
1568
+ word-spacing: inherit;
1569
+ line-height: inherit;
1570
+ text-transform: none;
1571
+ text-indent: inherit;
1572
+ text-shadow: none;
1573
+ text-align: inherit;
1574
+ pointer-events: auto;
1575
+ cursor: pointer;
1576
+ outline: 2px solid transparent;
1577
+ outline-offset: 2px;
1386
1578
  position: absolute;
1387
1579
  display: flex;
1388
1580
  align-items: center;
@@ -1394,8 +1586,9 @@ llm-embed {
1394
1586
  border-radius: 50%;
1395
1587
  font-size: 16px;
1396
1588
  color: var(--llm-input-accent);
1397
- pointer-events: auto;
1398
- cursor: pointer;
1589
+ }
1590
+ .llm .llm__prompt-speak:focus, .llm .llm__prompt-microphone:focus {
1591
+ outline-color: currentColor;
1399
1592
  }
1400
1593
  .llm .llm__prompt-speak svg, .llm .llm__prompt-microphone svg {
1401
1594
  width: 18px;
@@ -1412,6 +1605,32 @@ llm-embed {
1412
1605
  outline: 2px solid var(--llm-color-base-100);
1413
1606
  }
1414
1607
  .llm .llm__prompt-submit, .llm .llm__prompt-stop {
1608
+ margin: 0;
1609
+ padding: 0;
1610
+ border: none;
1611
+ text-decoration: none;
1612
+ background: none;
1613
+ appearance: none;
1614
+ font-family: inherit;
1615
+ font-style: inherit;
1616
+ font-variant-ligatures: inherit;
1617
+ font-variant-caps: inherit;
1618
+ font-variant-numeric: inherit;
1619
+ font-variant-east-asian: inherit;
1620
+ font-weight: inherit;
1621
+ font-stretch: inherit;
1622
+ text-rendering: inherit;
1623
+ letter-spacing: inherit;
1624
+ word-spacing: inherit;
1625
+ line-height: inherit;
1626
+ text-transform: none;
1627
+ text-indent: inherit;
1628
+ text-shadow: none;
1629
+ text-align: inherit;
1630
+ pointer-events: auto;
1631
+ cursor: pointer;
1632
+ outline: 2px solid transparent;
1633
+ outline-offset: 2px;
1415
1634
  flex-shrink: 0;
1416
1635
  width: 45px;
1417
1636
  height: 45px;
@@ -1422,8 +1641,9 @@ llm-embed {
1422
1641
  background: var(--llm-trigger-background);
1423
1642
  color: var(--llm-trigger-foreground);
1424
1643
  border-radius: 50%;
1425
- pointer-events: auto;
1426
- cursor: pointer;
1644
+ }
1645
+ .llm .llm__prompt-submit:focus, .llm .llm__prompt-stop:focus {
1646
+ outline-color: currentColor;
1427
1647
  }
1428
1648
  @media (min-width: 1024px) {
1429
1649
  .llm .llm__prompt-submit, .llm .llm__prompt-stop {
@@ -1466,10 +1686,39 @@ llm-embed {
1466
1686
  .llm .llm__prompt-suggestions .llm__suggestions {
1467
1687
  margin: 0 calc(clamp(20px, 20px + (100vw - 375px) / 1545 * 90, 110px) * -1);
1468
1688
  }
1689
+ .llm .llm__prompt-suggestions .swiper {
1690
+ overflow: visible;
1691
+ }
1469
1692
  .llm .llm__prompt-suggestions .swiper-slide {
1470
1693
  width: auto;
1471
1694
  }
1472
1695
  .llm .llm__pill {
1696
+ margin: 0;
1697
+ padding: 0;
1698
+ border: none;
1699
+ text-decoration: none;
1700
+ background: none;
1701
+ appearance: none;
1702
+ font-family: inherit;
1703
+ font-style: inherit;
1704
+ font-variant-ligatures: inherit;
1705
+ font-variant-caps: inherit;
1706
+ font-variant-numeric: inherit;
1707
+ font-variant-east-asian: inherit;
1708
+ font-weight: inherit;
1709
+ font-stretch: inherit;
1710
+ text-rendering: inherit;
1711
+ letter-spacing: inherit;
1712
+ word-spacing: inherit;
1713
+ line-height: inherit;
1714
+ text-transform: none;
1715
+ text-indent: inherit;
1716
+ text-shadow: none;
1717
+ text-align: inherit;
1718
+ pointer-events: auto;
1719
+ cursor: pointer;
1720
+ outline: 2px solid transparent;
1721
+ outline-offset: 2px;
1473
1722
  line-height: 1;
1474
1723
  font-family: var(--llm-font-primary);
1475
1724
  font-weight: var(--llm-typography-cta2-font-weight);
@@ -1483,28 +1732,66 @@ llm-embed {
1483
1732
  color: var(--llm-pill-foreground);
1484
1733
  font-family: var(--llm-pill-font-family);
1485
1734
  backdrop-filter: blur(20px);
1486
- pointer-events: auto;
1487
- cursor: pointer;
1488
1735
  }
1489
- .llm .llm__prompt-powered-by {
1736
+ .llm .llm__pill:focus {
1737
+ outline-color: currentColor;
1738
+ }
1739
+ .llm .llm__prompt-footer {
1490
1740
  position: absolute;
1491
1741
  display: flex;
1492
1742
  justify-content: center;
1493
1743
  align-items: center;
1494
- column-gap: 4px;
1495
1744
  right: 0;
1496
1745
  left: 0;
1746
+ padding: 4px 0 0 0;
1747
+ }
1748
+ @media (min-width: 1024px) {
1749
+ .llm .llm__prompt-footer {
1750
+ padding: 6px 0;
1751
+ }
1752
+ }
1753
+ .llm .llm__prompt-powered-by {
1754
+ margin: 0;
1755
+ padding: 0;
1756
+ border: none;
1757
+ text-decoration: none;
1758
+ background: none;
1759
+ appearance: none;
1760
+ font-family: inherit;
1761
+ font-style: inherit;
1762
+ font-variant-ligatures: inherit;
1763
+ font-variant-caps: inherit;
1764
+ font-variant-numeric: inherit;
1765
+ font-variant-east-asian: inherit;
1766
+ font-weight: inherit;
1767
+ font-stretch: inherit;
1768
+ text-rendering: inherit;
1769
+ letter-spacing: inherit;
1770
+ word-spacing: inherit;
1771
+ line-height: inherit;
1772
+ text-transform: none;
1773
+ text-indent: inherit;
1774
+ text-shadow: none;
1775
+ text-align: inherit;
1776
+ pointer-events: auto;
1777
+ cursor: pointer;
1778
+ outline: 2px solid transparent;
1779
+ outline-offset: 2px;
1780
+ display: flex;
1781
+ justify-content: center;
1782
+ align-items: center;
1783
+ column-gap: 4px;
1497
1784
  color: var(--llm-color-foreground);
1498
1785
  opacity: 0.4;
1499
1786
  transition: opacity ease-in-out 250ms;
1500
- pointer-events: auto;
1501
- cursor: pointer;
1502
- padding: 4px 0 0 0;
1503
1787
  font-size: 11px;
1788
+ padding: 0 0.3em;
1789
+ }
1790
+ .llm .llm__prompt-powered-by:focus {
1791
+ outline-color: currentColor;
1504
1792
  }
1505
1793
  @media (min-width: 1024px) {
1506
1794
  .llm .llm__prompt-powered-by {
1507
- padding: 6px 0;
1508
1795
  font-size: 12px;
1509
1796
  }
1510
1797
  }
@@ -1519,19 +1806,21 @@ llm-embed {
1519
1806
  line-height: var(--llm-typography-body1-line-height);
1520
1807
  letter-spacing: var(--llm-typography-body1-letter-spacing);
1521
1808
  font-size: clamp(var(--llm-typography-body1-font-size-min) * 1px, var(--llm-typography-body1-font-size-min) * 1px + (100vw - 375px) / 1545 * (var(--llm-typography-body1-font-size-max) - var(--llm-typography-body1-font-size-min)), var(--llm-typography-body1-font-size-max) * 1px);
1522
- background: linear-gradient(rgba(154, 154, 154, 0.2) 10%, rgba(221, 221, 221, 0.1) 80%);
1523
- border: 1px solid rgba(237, 237, 237, 0.3);
1809
+ background: var(--llm-user-background);
1810
+ color: var(--llm-user-foreground);
1811
+ border: var(--llm-user-border);
1524
1812
  backdrop-filter: blur(20px);
1525
1813
  border-radius: 12px;
1526
1814
  padding: clamp(16px, 16px + (100vw - 375px) / 1545 * 8, 24px) clamp(24px, 24px + (100vw - 375px) / 1545 * 8, 32px);
1527
1815
  }
1528
- .llm .llm__message--assistant .llm__inner--string:first-child .llm__text .llm__text-body {
1816
+ .llm .llm__message--assistant .llm__inner--string:first-child .llm__text .llm__text-body, .llm .llm__message--assistant .llm__inner--string:first-child .llm__text .llm__text-body > p, .llm .llm__message--assistant .llm__inner--string:first-child .llm__text .llm__text-body > h2 {
1529
1817
  line-height: 1;
1530
1818
  font-family: var(--llm-font-primary);
1531
1819
  font-weight: var(--llm-typography-display3-font-weight);
1532
1820
  line-height: var(--llm-typography-display3-line-height);
1533
1821
  letter-spacing: var(--llm-typography-display3-letter-spacing);
1534
1822
  font-size: clamp(var(--llm-typography-display3-font-size-min) * 1px, var(--llm-typography-display3-font-size-min) * 1px + (100vw - 375px) / 1545 * (var(--llm-typography-display3-font-size-max) - var(--llm-typography-display3-font-size-min)), var(--llm-typography-display3-font-size-max) * 1px);
1823
+ margin: 0;
1535
1824
  }
1536
1825
  .llm .llm__message--assistant .llm__inner--string:not(:first-child) .llm__text .llm__text-body {
1537
1826
  line-height: 1;
@@ -1543,6 +1832,9 @@ llm-embed {
1543
1832
  }
1544
1833
  .llm .llm__message--assistant .llm__inner--string .llm__text .llm__text-body {
1545
1834
  font-family: var(--llm-font-primary);
1835
+ background: var(--llm-assistant-background);
1836
+ color: var(--llm-assistant-foreground);
1837
+ border: var(--llm-assistant-border);
1546
1838
  /*
1547
1839
  &,
1548
1840
  p {
@@ -1618,7 +1910,7 @@ llm-embed {
1618
1910
  }
1619
1911
  .llm .llm__message--assistant .llm__inner--string .llm__text .llm__text-body b,
1620
1912
  .llm .llm__message--assistant .llm__inner--string .llm__text .llm__text-body strong {
1621
- font-weight: 900;
1913
+ font-weight: var(--llm-typography-cta2-font-weight);
1622
1914
  }
1623
1915
  .llm .llm__message--assistant .llm__inner--string .llm__text .llm__text-body h1,
1624
1916
  .llm .llm__message--assistant .llm__inner--string .llm__text .llm__text-body h2,
@@ -1654,11 +1946,11 @@ llm-embed {
1654
1946
  .llm .llm__message--assistant .llm__inner--string .llm__text .llm__text-body blockquote {
1655
1947
  margin-bottom: var(--llm-markdown-margin-bottom);
1656
1948
  padding-left: 0.5em;
1657
- border-left: 4px solid rgba(255, 255, 255, 0.2);
1949
+ border-left: var(--llm-markdown-border);
1658
1950
  }
1659
1951
  .llm .llm__message--assistant .llm__inner--string .llm__text .llm__text-body hr {
1660
1952
  border: none;
1661
- border-top: 2px solid rgba(255, 255, 255, 0.2);
1953
+ border-top: var(--llm-markdown-border);
1662
1954
  margin-top: var(--llm-markdown-margin-top);
1663
1955
  margin-bottom: var(--llm-markdown-margin-bottom);
1664
1956
  }
@@ -1666,13 +1958,13 @@ llm-embed {
1666
1958
  text-decoration: underline;
1667
1959
  }
1668
1960
  .llm .llm__message--assistant .llm__inner--string .llm__text .llm__text-body a:link, .llm .llm__message--assistant .llm__inner--string .llm__text .llm__text-body a:active, .llm .llm__message--assistant .llm__inner--string .llm__text .llm__text-body a:visited, .llm .llm__message--assistant .llm__inner--string .llm__text .llm__text-body a:hover {
1669
- color: var(--llm-color-neutral-100);
1961
+ color: var(--llm-markdown-accent);
1670
1962
  }
1671
1963
  .llm .llm__message--assistant .llm__inner--string .llm__text .llm__text-body img {
1672
1964
  max-width: 320px;
1673
1965
  padding: 8px;
1674
1966
  border-radius: 8px;
1675
- border: var(--llm-pill-border);
1967
+ border: var(--llm-markdown-border);
1676
1968
  }
1677
1969
  .llm .llm__message--assistant .llm__inner--string .llm__text .llm__text-body .llm__text-img {
1678
1970
  display: block;
@@ -1703,6 +1995,7 @@ llm-embed {
1703
1995
  display: flex;
1704
1996
  gap: clamp(8px, 8px + (100vw - 375px) / 1545 * 8, 16px);
1705
1997
  padding-top: clamp(16px, 16px + (100vw - 375px) / 1545 * 8, 24px);
1998
+ color: var(--llm-color-foreground);
1706
1999
  }
1707
2000
  .llm .llm__text-disclaimer a {
1708
2001
  text-decoration: underline;
@@ -1712,6 +2005,7 @@ llm-embed {
1712
2005
  width: 18px;
1713
2006
  height: 18px;
1714
2007
  flex-shrink: 0;
2008
+ color: var(--llm-color-accent-foreground);
1715
2009
  }
1716
2010
  .llm .llm__text-disclaimer i svg {
1717
2011
  display: block;