@limetech/lime-elements 39.26.0 → 39.28.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 (286) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/cjs/lime-elements.cjs.js +1 -1
  3. package/dist/cjs/limel-action-bar_3.cjs.entry.js +1 -1
  4. package/dist/cjs/limel-ai-avatar.cjs.entry.js +136 -12
  5. package/dist/cjs/limel-badge.cjs.entry.js +2 -2
  6. package/dist/cjs/limel-banner.cjs.entry.js +1 -1
  7. package/dist/cjs/limel-breadcrumbs_8.cjs.entry.js +8 -8
  8. package/dist/cjs/limel-button-group.cjs.entry.js +1 -1
  9. package/dist/cjs/limel-button.cjs.entry.js +2 -2
  10. package/dist/cjs/limel-callout.cjs.entry.js +2 -2
  11. package/dist/cjs/limel-card.cjs.entry.js +1 -1
  12. package/dist/cjs/limel-chart.cjs.entry.js +1 -1
  13. package/dist/cjs/limel-checkbox.cjs.entry.js +1 -1
  14. package/dist/cjs/limel-chip-set.cjs.entry.js +21 -3
  15. package/dist/cjs/limel-chip_2.cjs.entry.js +2 -2
  16. package/dist/cjs/limel-circular-progress.cjs.entry.js +1 -1
  17. package/dist/cjs/limel-code-diff.cjs.entry.js +2 -2
  18. package/dist/cjs/limel-code-editor.cjs.entry.js +2 -2
  19. package/dist/cjs/limel-collapsible-section.cjs.entry.js +2 -2
  20. package/dist/cjs/limel-color-picker-palette.cjs.entry.js +2 -2
  21. package/dist/cjs/limel-color-picker.cjs.entry.js +1 -1
  22. package/dist/cjs/limel-dialog.cjs.entry.js +2 -2
  23. package/dist/cjs/limel-dock.cjs.entry.js +2 -2
  24. package/dist/cjs/limel-drag-handle.cjs.entry.js +2 -2
  25. package/dist/cjs/limel-email-viewer.cjs.entry.js +2 -2
  26. package/dist/cjs/limel-file-dropzone_2.cjs.entry.js +2 -2
  27. package/dist/cjs/limel-file-viewer.cjs.entry.js +1 -1
  28. package/dist/cjs/limel-file.cjs.entry.js +2 -2
  29. package/dist/cjs/limel-flatpickr-adapter.cjs.entry.js +2 -2
  30. package/dist/cjs/limel-flex-container.cjs.entry.js +1 -1
  31. package/dist/cjs/limel-form.cjs.entry.js +1 -1
  32. package/dist/cjs/limel-grid.cjs.entry.js +1 -1
  33. package/dist/cjs/limel-header.cjs.entry.js +1 -1
  34. package/dist/cjs/limel-help-content.cjs.entry.js +1 -1
  35. package/dist/cjs/limel-help.cjs.entry.js +2 -2
  36. package/dist/cjs/limel-helper-line.cjs.entry.js +2 -2
  37. package/dist/cjs/limel-hotkey_4.cjs.entry.js +5 -5
  38. package/dist/cjs/limel-icon-button.cjs.entry.js +1 -1
  39. package/dist/cjs/limel-icon.cjs.entry.js +23 -1
  40. package/dist/cjs/limel-info-tile.cjs.entry.js +2 -2
  41. package/dist/cjs/limel-list-item.cjs.entry.js +3 -3
  42. package/dist/cjs/limel-markdown.cjs.entry.js +1 -1
  43. package/dist/cjs/limel-masonry-layout.cjs.entry.js +1 -1
  44. package/dist/cjs/limel-menu-item-meta.cjs.entry.js +1 -1
  45. package/dist/cjs/limel-picker.cjs.entry.js +107 -35
  46. package/dist/cjs/limel-popover_2.cjs.entry.js +2 -2
  47. package/dist/cjs/limel-profile-picture.cjs.entry.js +1 -1
  48. package/dist/cjs/limel-prosemirror-adapter.cjs.entry.js +2 -2
  49. package/dist/cjs/limel-radio-button-group.cjs.entry.js +1 -1
  50. package/dist/cjs/limel-radio-button.cjs.entry.js +2 -2
  51. package/dist/cjs/limel-select.cjs.entry.js +1 -1
  52. package/dist/cjs/limel-shortcut.cjs.entry.js +1 -1
  53. package/dist/cjs/limel-slider.cjs.entry.js +2 -2
  54. package/dist/cjs/limel-snackbar.cjs.entry.js +3 -3
  55. package/dist/cjs/limel-split-button.cjs.entry.js +2 -2
  56. package/dist/cjs/limel-switch.cjs.entry.js +1 -1
  57. package/dist/cjs/limel-tab-bar.cjs.entry.js +2 -2
  58. package/dist/cjs/limel-tab-panel.cjs.entry.js +1 -1
  59. package/dist/cjs/limel-table.cjs.entry.js +4 -4
  60. package/dist/cjs/limel-text-editor-link-menu.cjs.entry.js +4 -4
  61. package/dist/cjs/limel-text-editor.cjs.entry.js +1 -1
  62. package/dist/cjs/loader.cjs.js +1 -1
  63. package/dist/cjs/{translations-D4j_eojG.js → translations-VEsa81QY.js} +56 -0
  64. package/dist/collection/components/ai-avatar/ai-avatar.css +363 -124
  65. package/dist/collection/components/ai-avatar/ai-avatar.js +199 -16
  66. package/dist/collection/components/ai-avatar/ai-avatar.types.js +1 -0
  67. package/dist/collection/components/badge/badge.js +2 -2
  68. package/dist/collection/components/banner/banner.js +1 -1
  69. package/dist/collection/components/breadcrumbs/breadcrumbs.js +1 -1
  70. package/dist/collection/components/button/button.js +2 -2
  71. package/dist/collection/components/button-group/button-group.js +1 -1
  72. package/dist/collection/components/callout/callout.js +1 -1
  73. package/dist/collection/components/card/card.js +1 -1
  74. package/dist/collection/components/checkbox/checkbox.js +1 -1
  75. package/dist/collection/components/chip/chip.js +1 -1
  76. package/dist/collection/components/chip-set/chip-set.js +40 -2
  77. package/dist/collection/components/circular-progress/circular-progress.js +1 -1
  78. package/dist/collection/components/code-diff/code-diff.js +1 -1
  79. package/dist/collection/components/code-editor/code-editor.js +1 -1
  80. package/dist/collection/components/collapsible-section/collapsible-section.js +1 -1
  81. package/dist/collection/components/color-picker/color-picker-palette.js +2 -2
  82. package/dist/collection/components/color-picker/color-picker.js +1 -1
  83. package/dist/collection/components/date-picker/flatpickr-adapter/flatpickr-adapter.js +1 -1
  84. package/dist/collection/components/dialog/dialog.js +2 -2
  85. package/dist/collection/components/dock/dock.js +2 -2
  86. package/dist/collection/components/drag-handle/drag-handle.js +1 -1
  87. package/dist/collection/components/email-viewer/email-viewer.js +1 -1
  88. package/dist/collection/components/file/file.js +1 -1
  89. package/dist/collection/components/file-dropzone/file-dropzone.js +1 -1
  90. package/dist/collection/components/file-input/file-input.js +1 -1
  91. package/dist/collection/components/flex-container/flex-container.js +1 -1
  92. package/dist/collection/components/form/form.js +1 -1
  93. package/dist/collection/components/grid/grid.js +1 -1
  94. package/dist/collection/components/header/header.js +1 -1
  95. package/dist/collection/components/help/help-content.js +1 -1
  96. package/dist/collection/components/help/help.js +2 -2
  97. package/dist/collection/components/helper-line/helper-line.js +2 -2
  98. package/dist/collection/components/hotkey/hotkey.js +1 -1
  99. package/dist/collection/components/icon/icon.js +43 -1
  100. package/dist/collection/components/icon-button/icon-button.js +1 -1
  101. package/dist/collection/components/info-tile/info-tile.js +2 -2
  102. package/dist/collection/components/input-field/input-field.js +1 -1
  103. package/dist/collection/components/list/list.js +1 -1
  104. package/dist/collection/components/list-item/list-item.js +2 -2
  105. package/dist/collection/components/list-item/menu-item-meta/menu-item-meta.js +1 -1
  106. package/dist/collection/components/markdown/markdown.js +1 -1
  107. package/dist/collection/components/masonry-layout/masonry-layout.js +1 -1
  108. package/dist/collection/components/menu/menu.js +1 -1
  109. package/dist/collection/components/menu-list/menu-list.js +1 -1
  110. package/dist/collection/components/menu-surface/menu-surface.js +1 -1
  111. package/dist/collection/components/notched-outline/notched-outline.js +1 -1
  112. package/dist/collection/components/picker/picker.js +136 -36
  113. package/dist/collection/components/popover/popover.js +1 -1
  114. package/dist/collection/components/popover-surface/popover-surface.js +1 -1
  115. package/dist/collection/components/portal/portal.js +1 -1
  116. package/dist/collection/components/radio-button-group/radio-button-group.js +1 -1
  117. package/dist/collection/components/radio-button-group/radio-button.js +2 -2
  118. package/dist/collection/components/select/select.js +1 -1
  119. package/dist/collection/components/shortcut/shortcut.js +1 -1
  120. package/dist/collection/components/slider/slider.js +2 -2
  121. package/dist/collection/components/snackbar/snackbar.js +2 -2
  122. package/dist/collection/components/spinner/spinner.js +1 -1
  123. package/dist/collection/components/split-button/split-button.js +2 -2
  124. package/dist/collection/components/switch/switch.js +1 -1
  125. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  126. package/dist/collection/components/tab-panel/tab-panel.js +1 -1
  127. package/dist/collection/components/table/table.js +3 -3
  128. package/dist/collection/components/text-editor/link-menu/editor-link-menu.js +3 -3
  129. package/dist/collection/components/text-editor/prosemirror-adapter/prosemirror-adapter.js +1 -1
  130. package/dist/collection/components/text-editor/text-editor.js +1 -1
  131. package/dist/collection/components/tooltip/tooltip-content.js +1 -1
  132. package/dist/collection/components/tooltip/tooltip.js +2 -2
  133. package/dist/collection/translations/da.js +7 -0
  134. package/dist/collection/translations/de.js +7 -0
  135. package/dist/collection/translations/en.js +7 -0
  136. package/dist/collection/translations/fi.js +7 -0
  137. package/dist/collection/translations/fr.js +7 -0
  138. package/dist/collection/translations/nl.js +7 -0
  139. package/dist/collection/translations/no.js +7 -0
  140. package/dist/collection/translations/sv.js +7 -0
  141. package/dist/esm/lime-elements.js +1 -1
  142. package/dist/esm/limel-action-bar_3.entry.js +1 -1
  143. package/dist/esm/limel-ai-avatar.entry.js +136 -12
  144. package/dist/esm/limel-badge.entry.js +2 -2
  145. package/dist/esm/limel-banner.entry.js +1 -1
  146. package/dist/esm/limel-breadcrumbs_8.entry.js +8 -8
  147. package/dist/esm/limel-button-group.entry.js +1 -1
  148. package/dist/esm/limel-button.entry.js +2 -2
  149. package/dist/esm/limel-callout.entry.js +2 -2
  150. package/dist/esm/limel-card.entry.js +1 -1
  151. package/dist/esm/limel-chart.entry.js +1 -1
  152. package/dist/esm/limel-checkbox.entry.js +1 -1
  153. package/dist/esm/limel-chip-set.entry.js +21 -3
  154. package/dist/esm/limel-chip_2.entry.js +2 -2
  155. package/dist/esm/limel-circular-progress.entry.js +1 -1
  156. package/dist/esm/limel-code-diff.entry.js +2 -2
  157. package/dist/esm/limel-code-editor.entry.js +2 -2
  158. package/dist/esm/limel-collapsible-section.entry.js +2 -2
  159. package/dist/esm/limel-color-picker-palette.entry.js +2 -2
  160. package/dist/esm/limel-color-picker.entry.js +1 -1
  161. package/dist/esm/limel-dialog.entry.js +2 -2
  162. package/dist/esm/limel-dock.entry.js +2 -2
  163. package/dist/esm/limel-drag-handle.entry.js +2 -2
  164. package/dist/esm/limel-email-viewer.entry.js +2 -2
  165. package/dist/esm/limel-file-dropzone_2.entry.js +2 -2
  166. package/dist/esm/limel-file-viewer.entry.js +1 -1
  167. package/dist/esm/limel-file.entry.js +2 -2
  168. package/dist/esm/limel-flatpickr-adapter.entry.js +2 -2
  169. package/dist/esm/limel-flex-container.entry.js +1 -1
  170. package/dist/esm/limel-form.entry.js +1 -1
  171. package/dist/esm/limel-grid.entry.js +1 -1
  172. package/dist/esm/limel-header.entry.js +1 -1
  173. package/dist/esm/limel-help-content.entry.js +1 -1
  174. package/dist/esm/limel-help.entry.js +2 -2
  175. package/dist/esm/limel-helper-line.entry.js +2 -2
  176. package/dist/esm/limel-hotkey_4.entry.js +5 -5
  177. package/dist/esm/limel-icon-button.entry.js +1 -1
  178. package/dist/esm/limel-icon.entry.js +23 -1
  179. package/dist/esm/limel-info-tile.entry.js +2 -2
  180. package/dist/esm/limel-list-item.entry.js +3 -3
  181. package/dist/esm/limel-markdown.entry.js +1 -1
  182. package/dist/esm/limel-masonry-layout.entry.js +1 -1
  183. package/dist/esm/limel-menu-item-meta.entry.js +1 -1
  184. package/dist/esm/limel-picker.entry.js +108 -36
  185. package/dist/esm/limel-popover_2.entry.js +2 -2
  186. package/dist/esm/limel-profile-picture.entry.js +1 -1
  187. package/dist/esm/limel-prosemirror-adapter.entry.js +2 -2
  188. package/dist/esm/limel-radio-button-group.entry.js +1 -1
  189. package/dist/esm/limel-radio-button.entry.js +2 -2
  190. package/dist/esm/limel-select.entry.js +1 -1
  191. package/dist/esm/limel-shortcut.entry.js +1 -1
  192. package/dist/esm/limel-slider.entry.js +2 -2
  193. package/dist/esm/limel-snackbar.entry.js +3 -3
  194. package/dist/esm/limel-split-button.entry.js +2 -2
  195. package/dist/esm/limel-switch.entry.js +1 -1
  196. package/dist/esm/limel-tab-bar.entry.js +2 -2
  197. package/dist/esm/limel-tab-panel.entry.js +1 -1
  198. package/dist/esm/limel-table.entry.js +4 -4
  199. package/dist/esm/limel-text-editor-link-menu.entry.js +4 -4
  200. package/dist/esm/limel-text-editor.entry.js +1 -1
  201. package/dist/esm/loader.js +1 -1
  202. package/dist/esm/{translations-Dv3YcsA7.js → translations-EPnIW0K5.js} +56 -0
  203. package/dist/lime-elements/lime-elements.esm.js +1 -1
  204. package/dist/lime-elements/{p-96ee6090.entry.js → p-08a261ce.entry.js} +1 -1
  205. package/dist/lime-elements/p-122cd39d.entry.js +1 -0
  206. package/dist/lime-elements/{p-469ec146.entry.js → p-140afd9f.entry.js} +1 -1
  207. package/dist/lime-elements/{p-5cc370fe.entry.js → p-1614ad86.entry.js} +1 -1
  208. package/dist/lime-elements/{p-01651634.entry.js → p-19a259ff.entry.js} +1 -1
  209. package/dist/lime-elements/{p-512b2e14.entry.js → p-1a5541f1.entry.js} +1 -1
  210. package/dist/lime-elements/{p-104d0fb3.entry.js → p-1ae8b33a.entry.js} +1 -1
  211. package/dist/lime-elements/{p-95ac0387.entry.js → p-1e155de4.entry.js} +1 -1
  212. package/dist/lime-elements/{p-c8eabc9d.entry.js → p-1efd78ee.entry.js} +1 -1
  213. package/dist/lime-elements/{p-cc17846b.entry.js → p-22f34040.entry.js} +1 -1
  214. package/dist/lime-elements/{p-5442e09e.entry.js → p-263bfd74.entry.js} +1 -1
  215. package/dist/lime-elements/{p-a026cc24.entry.js → p-2a92790c.entry.js} +1 -1
  216. package/dist/lime-elements/{p-42b9b57a.entry.js → p-2a9e7bf5.entry.js} +1 -1
  217. package/dist/lime-elements/{p-05d533b5.entry.js → p-2b0a8066.entry.js} +1 -1
  218. package/dist/lime-elements/{p-aa43c751.entry.js → p-46900c5b.entry.js} +1 -1
  219. package/dist/lime-elements/{p-1c244f85.entry.js → p-49901dd7.entry.js} +1 -1
  220. package/dist/lime-elements/{p-ddd7cb78.entry.js → p-4d948ed5.entry.js} +1 -1
  221. package/dist/lime-elements/{p-60327283.entry.js → p-5017cb3f.entry.js} +1 -1
  222. package/dist/lime-elements/{p-fbdca779.entry.js → p-50f51eb9.entry.js} +1 -1
  223. package/dist/lime-elements/p-59716b48.entry.js +1 -0
  224. package/dist/lime-elements/{p-9caeca33.entry.js → p-5d9adcbb.entry.js} +1 -1
  225. package/dist/lime-elements/{p-da4429a8.entry.js → p-5f121609.entry.js} +1 -1
  226. package/dist/lime-elements/{p-eff0a330.entry.js → p-6015621e.entry.js} +1 -1
  227. package/dist/lime-elements/{p-c4813e26.entry.js → p-60518e6b.entry.js} +1 -1
  228. package/dist/lime-elements/{p-374ec191.entry.js → p-61ec46d5.entry.js} +1 -1
  229. package/dist/lime-elements/{p-cba72cd6.entry.js → p-6b7e58c3.entry.js} +1 -1
  230. package/dist/lime-elements/{p-6a26ea78.entry.js → p-6ca1da96.entry.js} +1 -1
  231. package/dist/lime-elements/{p-f6e58e6c.entry.js → p-730ba357.entry.js} +1 -1
  232. package/dist/lime-elements/{p-e7e2737b.entry.js → p-7b074737.entry.js} +1 -1
  233. package/dist/lime-elements/{p-79c797f5.entry.js → p-8203eea8.entry.js} +1 -1
  234. package/dist/lime-elements/{p-19d0861e.entry.js → p-82fb5c74.entry.js} +1 -1
  235. package/dist/lime-elements/{p-bcf03d4e.entry.js → p-871eb795.entry.js} +1 -1
  236. package/dist/lime-elements/{p-6f6c28f8.entry.js → p-8fde4714.entry.js} +1 -1
  237. package/dist/lime-elements/p-91990c64.entry.js +1 -0
  238. package/dist/lime-elements/{p-80162ba0.entry.js → p-9359e870.entry.js} +1 -1
  239. package/dist/lime-elements/{p-f867b424.entry.js → p-989f4a52.entry.js} +1 -1
  240. package/dist/lime-elements/{p-a435d1c3.entry.js → p-9b3e8f43.entry.js} +1 -1
  241. package/dist/lime-elements/{p-f2f01f2a.entry.js → p-9e1a4d63.entry.js} +1 -1
  242. package/dist/lime-elements/{p-b1645d2d.entry.js → p-9f4f1854.entry.js} +1 -1
  243. package/dist/lime-elements/p-EPnIW0K5.js +1 -0
  244. package/dist/lime-elements/p-a6805c64.entry.js +1 -0
  245. package/dist/lime-elements/{p-97c401f1.entry.js → p-a7764b6d.entry.js} +1 -1
  246. package/dist/lime-elements/{p-d227f4df.entry.js → p-a85b2734.entry.js} +1 -1
  247. package/dist/lime-elements/p-ac5a3f55.entry.js +1 -0
  248. package/dist/lime-elements/{p-d1477eca.entry.js → p-afd4be62.entry.js} +1 -1
  249. package/dist/lime-elements/{p-a712087a.entry.js → p-b61a1d27.entry.js} +1 -1
  250. package/dist/lime-elements/{p-4ecd565b.entry.js → p-bffbd011.entry.js} +1 -1
  251. package/dist/lime-elements/p-c9fa7a09.entry.js +1 -0
  252. package/dist/lime-elements/{p-733ebba6.entry.js → p-cc1e3d79.entry.js} +1 -1
  253. package/dist/lime-elements/{p-72b9d03e.entry.js → p-d0607ba8.entry.js} +1 -1
  254. package/dist/lime-elements/{p-067a13bb.entry.js → p-d09e74b1.entry.js} +1 -1
  255. package/dist/lime-elements/{p-504dcdb6.entry.js → p-d23af300.entry.js} +1 -1
  256. package/dist/lime-elements/{p-eecef02e.entry.js → p-d4a94dce.entry.js} +1 -1
  257. package/dist/lime-elements/{p-e5c7cac0.entry.js → p-d5f189b9.entry.js} +2 -2
  258. package/dist/lime-elements/{p-6eaa9776.entry.js → p-dcffc27b.entry.js} +3 -3
  259. package/dist/lime-elements/{p-92539877.entry.js → p-de203f64.entry.js} +1 -1
  260. package/dist/lime-elements/p-dee5717c.entry.js +1 -0
  261. package/dist/lime-elements/{p-86a001e2.entry.js → p-df0b927e.entry.js} +1 -1
  262. package/dist/lime-elements/{p-d00ec6c2.entry.js → p-f5d60f9c.entry.js} +1 -1
  263. package/dist/lime-elements/{p-d4d4236b.entry.js → p-faceccc0.entry.js} +1 -1
  264. package/dist/types/components/ai-avatar/ai-avatar.d.ts +31 -7
  265. package/dist/types/components/ai-avatar/ai-avatar.types.d.ts +26 -0
  266. package/dist/types/components/chip-set/chip-set.d.ts +16 -0
  267. package/dist/types/components/icon/icon.d.ts +15 -0
  268. package/dist/types/components/picker/picker.d.ts +34 -6
  269. package/dist/types/components.d.ts +87 -20
  270. package/dist/types/translations/da.d.ts +7 -0
  271. package/dist/types/translations/de.d.ts +7 -0
  272. package/dist/types/translations/en.d.ts +7 -0
  273. package/dist/types/translations/fi.d.ts +7 -0
  274. package/dist/types/translations/fr.d.ts +7 -0
  275. package/dist/types/translations/nl.d.ts +7 -0
  276. package/dist/types/translations/no.d.ts +7 -0
  277. package/dist/types/translations/sv.d.ts +7 -0
  278. package/package.json +1 -1
  279. package/dist/lime-elements/p-438652d6.entry.js +0 -1
  280. package/dist/lime-elements/p-56cc6800.entry.js +0 -1
  281. package/dist/lime-elements/p-58615011.entry.js +0 -1
  282. package/dist/lime-elements/p-5eadcd4a.entry.js +0 -1
  283. package/dist/lime-elements/p-7436490f.entry.js +0 -1
  284. package/dist/lime-elements/p-7cfed02f.entry.js +0 -1
  285. package/dist/lime-elements/p-Dv3YcsA7.js +0 -1
  286. package/dist/lime-elements/p-cba2dbb6.entry.js +0 -1
@@ -1,104 +1,316 @@
1
+ @charset "UTF-8";
1
2
  /**
2
- * @prop --ai-avatar-animation-play-state: Set it to `running` to start the animation.
3
- * @prop --ai-avatar-core-blend-mode: Controls the blend mode for the core and orbitals. Defaults to `plus-lighter`.
4
- * @prop --ai-avatar-rings-blend-mode: Controls the blend mode for the SVG circles. Defaults to `screen`.
5
- * @prop --ai-avatar-color-one: Controls the color of the first ring. Defaults to `var(--color-red-default)`.
6
- * @prop --ai-avatar-color-two: Controls the color of the second ring. Defaults to `var(--color-green-default)`.
7
- * @prop --ai-avatar-color-three: Controls the color of the third ring. Defaults to `var(--color-blue-default)`.
8
- * @prop --ai-avatar-color-four: Controls the color of the fourth ring. Defaults to `var(--color-orange-default)`.
9
- */
3
+ * @prop --ai-avatar-primary-color: Dominant color of the avatar the body of the orb and the bulk of most gradients. Highest visual impact.
4
+ * @prop --ai-avatar-accent-color: Secondary color used throughout the outline ring, internal reflections, and as the endpoints of the hover ring.
5
+ * @prop --ai-avatar-orb-edge-color: Deep tint applied at the orb's outer edge, used to suggest depth where the body falls off.
6
+ * @prop --ai-avatar-orb-inner-highlight-color: Color of the bright spot inside the orb. This spot rotates around the orb's interior during `thinking` mode.
7
+ * @prop --ai-avatar-hover-ring-accent-color: Bright stop within the hover ring's gradient — the warm highlight that appears in the middle of the ring on hover.
8
+ * @prop --ai-avatar-hover-glow-color: Color of the soft halo that fades in around the avatar on hover.
9
+ * @prop --ai-avatar-stars-eyes-mouth-color: Color of the avatar's facial features (the two star-shaped eyes and the mouth). For the `minimal` variant, these default to `--contrast-100` when the color is defined (in Lime's apps, which are using Lime Elements). For the `outlined` variant they default to `currentColor`. Otherwise they fall back to white.
10
+ */
10
11
  :host(limel-ai-avatar) {
11
- display: flex;
12
+ display: inline-flex;
12
13
  justify-content: center;
13
- align-self: center;
14
+ align-items: center;
14
15
  position: relative;
15
16
  aspect-ratio: 1;
16
- max-width: 10rem;
17
- max-height: 8rem;
17
+ max-width: 20rem;
18
+ max-height: 20rem;
18
19
  min-width: 1.75rem;
19
20
  min-height: 1.75rem;
20
- border-radius: 0.5rem;
21
+ content-visibility: auto;
22
+ contain-intrinsic-size: auto 5rem;
21
23
  }
22
24
 
23
25
  * {
24
26
  box-sizing: border-box;
25
27
  }
26
28
 
27
- :host(limel-ai-avatar[is-thinking]:not([is-thinking=false])) {
28
- --ai-avatar-animation-play-state: running;
29
- --ai-avatar-orbitals-opacity: 0.6;
30
- --ai-avatar-orbitals-animation-play-state: running;
29
+ svg {
30
+ display: block;
31
+ width: 100%;
32
+ height: 100%;
33
+ overflow: visible;
31
34
  }
32
35
 
33
- .core,
34
- .orbitals {
35
- position: absolute;
36
- inset: 0;
37
- margin: auto;
38
- display: flex;
39
- align-items: center;
40
- justify-content: center;
41
- aspect-ratio: 1;
42
- border-radius: 50%;
36
+ svg.variant-minimal {
37
+ --limel-ai-avatar-stars-eyes-mouth-color: rgb(var(--contrast-100));
38
+ }
39
+
40
+ svg.variant-outlined {
41
+ --limel-ai-avatar-stars-eyes-mouth-color: currentColor;
42
+ }
43
+
44
+ svg.variant-detailed .dark-ball,
45
+ svg.variant-detailed .light-ball {
46
+ opacity: 0.8;
47
+ }
48
+
49
+ .variant-detailed .variant-minimal-body,
50
+ .variant-detailed .variant-solid-body {
51
+ display: none;
52
+ }
53
+
54
+ .variant-minimal .ring-group {
55
+ display: none;
56
+ }
57
+ .variant-minimal .variant-detailed-body,
58
+ .variant-minimal .variant-solid-body {
59
+ display: none;
60
+ }
61
+
62
+ .variant-solid .ring-group,
63
+ .variant-outlined .ring-group {
64
+ display: none;
65
+ }
66
+ .variant-solid .variant-detailed-body,
67
+ .variant-solid .variant-minimal-body,
68
+ .variant-outlined .variant-detailed-body,
69
+ .variant-outlined .variant-minimal-body {
70
+ display: none;
71
+ }
72
+ .variant-solid .outer-ring,
73
+ .variant-outlined .outer-ring {
74
+ fill: none;
75
+ stroke: currentColor;
76
+ stroke-width: 31;
77
+ }
78
+ .variant-solid .typing-ellipsis .circle,
79
+ .variant-outlined .typing-ellipsis .circle {
80
+ fill: currentColor;
81
+ --limel-ai-avatar-typing-dot-flash-color: currentColor;
82
+ }
83
+
84
+ .variant-solid .dark-ball {
85
+ fill: currentColor;
86
+ }
87
+
88
+ .variant-outlined .dark-ball {
89
+ fill: none;
90
+ stroke: currentColor;
91
+ stroke-width: 15;
92
+ }
93
+
94
+ .variant-minimal .glow-minimal {
95
+ opacity: 0;
96
+ transform: scale(0.9);
97
+ }
98
+ .variant-minimal .light-ball {
99
+ opacity: 0;
100
+ }
101
+
102
+ .eye {
103
+ transform-origin: 298px 360px;
104
+ transition: transform 600ms cubic-bezier(0.2, 0.8, 0.2, 1);
105
+ will-change: transform, rotate;
106
+ }
107
+
108
+ .mouth {
109
+ transform-origin: 379px 457px;
110
+ opacity: 0;
111
+ transform: scale(0.2);
112
+ transition: transform 600ms cubic-bezier(0.2, 0.8, 0.2, 1), opacity 300ms ease;
113
+ will-change: transform, opacity;
43
114
  }
44
115
 
45
- .core {
116
+ .eye-left {
117
+ transform: translate(48px, 34px) scale(1.48);
118
+ }
119
+
120
+ .eye-right {
121
+ transform: translate(152px, -74px) scale(0.66);
122
+ }
123
+
124
+ .glow-minimal,
125
+ .light-ball {
126
+ transition: transform 1s ease, opacity 300ms ease;
127
+ will-change: transform, opacity;
128
+ transform-origin: 370px 370px;
129
+ transform-box: view-box;
130
+ }
131
+
132
+ .outer-ring,
133
+ .ring,
134
+ .glow,
135
+ .glow-minimal {
136
+ transform-origin: 370px 370px;
137
+ transform-box: view-box;
138
+ }
139
+
140
+ .outer-ring {
141
+ transform: scale(0.9);
142
+ opacity: 0;
143
+ transition: opacity 600ms ease, transform 700ms cubic-bezier(0.55, 0.3, 0.22, 1.54);
144
+ }
145
+
146
+ .ring,
147
+ .glow {
148
+ scale: 0.95;
149
+ opacity: 0;
150
+ transition: opacity 600ms ease;
151
+ }
152
+
153
+ svg:hover .outer-ring {
154
+ opacity: 0.9;
155
+ transform: scale(1);
156
+ }
157
+ svg:hover .ring,
158
+ svg:hover .glow {
159
+ opacity: 0.5;
160
+ }
161
+
162
+ .mode-active .eye-left,
163
+ .mode-thinking .eye-left,
164
+ .mode-typing .eye-left,
165
+ .mode-waiting .eye-left {
166
+ transform: translate(0) scale(0.96);
167
+ }
168
+ .mode-active .eye-right,
169
+ .mode-thinking .eye-right,
170
+ .mode-typing .eye-right,
171
+ .mode-waiting .eye-right {
172
+ transform: translate(156px, -20px) scale(0.8);
173
+ }
174
+ .mode-active .mouth,
175
+ .mode-thinking .mouth,
176
+ .mode-typing .mouth,
177
+ .mode-waiting .mouth {
178
+ opacity: 1;
179
+ transform: scale(1);
180
+ }
181
+ .mode-active.variant-minimal .light-ball,
182
+ .mode-thinking.variant-minimal .light-ball,
183
+ .mode-typing.variant-minimal .light-ball,
184
+ .mode-waiting.variant-minimal .light-ball {
185
+ opacity: 0.16;
186
+ }
187
+
188
+ .mode-active .eye,
189
+ .mode-thinking .eye,
190
+ .mode-waiting .eye {
191
+ animation: ai-avatar-blink 4.5s ease-in-out infinite;
192
+ }
193
+
194
+ .mode-thinking .eye-left {
195
+ animation: ai-avatar-blink 4.5s ease-in-out infinite, ai-avatar-look-around-left-eye 9s ease-in-out infinite;
196
+ }
197
+ .mode-thinking .eye-right {
198
+ animation: ai-avatar-blink 4.5s ease-in-out infinite, ai-avatar-look-around-right-eye 9s ease-in-out infinite;
199
+ }
200
+ .mode-thinking .mouth {
201
+ animation: ai-avatar-mouth-look-around 9s ease-in-out infinite;
202
+ }
203
+ .mode-thinking .light-ball {
204
+ animation: ai-avatar-light-ball-swirl 3s linear infinite;
205
+ }
206
+ .mode-thinking .glow-minimal {
46
207
  opacity: 0.3;
47
- width: 70%;
48
- animation: breathe 3s ease infinite var(--ai-avatar-animation-play-state, paused);
49
- background-color: rgb(var(--color-glaucous-darker), 0.6);
50
- mix-blend-mode: var(--ai-avatar-core-blend-mode, plus-lighter);
208
+ animation: ai-avatar-breathing 5s ease-in-out infinite;
51
209
  }
52
210
 
53
- .orbitals {
54
- mix-blend-mode: var(--ai-avatar-core-blend-mode, plus-lighter);
55
- width: clamp(0.375rem, 20%, 3.5rem);
56
- animation: rotate 5s linear infinite var(--ai-avatar-orbitals-animation-play-state, paused);
57
- transition: opacity 0.2s ease;
58
- opacity: var(--ai-avatar-orbitals-opacity, 0);
211
+ .mode-waiting .glow,
212
+ .mode-waiting .glow-minimal {
213
+ animation: ai-avatar-breathing 5s ease-in-out infinite;
59
214
  }
60
- .orbitals:after, .orbitals:before {
61
- content: "";
62
- display: block;
63
- position: absolute;
64
- inset: 0;
65
- margin: auto;
66
- width: clamp(0.125rem, 50%, 0.75rem);
67
- aspect-ratio: 1;
68
- border-radius: 50%;
69
- background-color: rgb(var(--color-glaucous-lighter));
215
+ .mode-waiting .glow-minimal {
216
+ opacity: 0.3;
217
+ }
218
+ .mode-waiting .outer-ring {
219
+ animation: ai-avatar-mode-active-ring 2s ease-out infinite;
220
+ }
221
+ .mode-waiting.variant-minimal .outer-ring, .mode-waiting.variant-solid .outer-ring, .mode-waiting.variant-outlined .outer-ring {
222
+ scale: 1.1;
70
223
  }
71
- .orbitals:before {
72
- animation: orbit 1s linear infinite var(--ai-avatar-orbitals-animation-play-state, paused);
73
- opacity: 0.6;
74
- transform-origin: -220% 0;
75
- margin-right: -70%;
224
+
225
+ .mode-active .glow-minimal {
226
+ opacity: 0.3;
227
+ transform: scale(1);
228
+ }
229
+
230
+ .mode-typing .eye-left {
231
+ animation: ai-avatar-typing-left-eye 2.5s ease-in-out infinite;
232
+ }
233
+ .mode-typing .eye-right {
234
+ animation: ai-avatar-typing-right-eye 2.5s ease-in-out infinite;
235
+ }
236
+ .mode-typing .mouth {
237
+ animation: ai-avatar-typing-mouth 2.5s ease-in-out infinite;
238
+ }
239
+ .mode-typing .typing-ellipsis {
240
+ opacity: 1;
241
+ transform: scale(1);
242
+ }
243
+ .mode-typing .typing-ellipsis .circle {
244
+ animation: ai-avatar-typing-dot 1.2s infinite;
76
245
  }
77
- .orbitals:after {
78
- animation: orbit 2s linear infinite var(--ai-avatar-orbitals-animation-play-state, paused);
246
+ .mode-typing .typing-ellipsis .circle:nth-of-type(2) {
247
+ animation-delay: 0.2s;
248
+ }
249
+ .mode-typing .typing-ellipsis .circle:nth-of-type(3) {
250
+ animation-delay: 0.4s;
251
+ }
252
+ .mode-typing.variant-minimal .light-ball {
253
+ animation: ai-avatar-breathing 5s ease-in-out infinite;
254
+ }
255
+
256
+ .mode-working .eye-left {
257
+ animation: ai-avatar-working-left-star 12s steps(50, end) infinite;
258
+ }
259
+ .mode-working .eye-right {
260
+ animation: ai-avatar-working-right-star 4s steps(30, end) infinite reverse;
261
+ }
262
+ .mode-working .light-ball {
263
+ animation: ai-avatar-light-ball-swirl 6s linear infinite;
264
+ }
265
+ .mode-working .outer-ring {
79
266
  opacity: 0.8;
80
- scale: 0.7;
81
- transform-origin: 0% -250%;
82
- margin-bottom: -70%;
267
+ animation: ai-avatar-breathing 5s ease-in-out infinite;
268
+ }
269
+ .mode-working.variant-minimal .outer-ring, .mode-working.variant-solid .outer-ring, .mode-working.variant-outlined .outer-ring {
270
+ scale: 1.1;
271
+ }
272
+ .mode-working.variant-minimal .light-ball {
273
+ opacity: 0.16;
274
+ }
275
+
276
+ .typing-ellipsis {
277
+ opacity: 0;
278
+ transform-origin: 370px 620px;
279
+ transform-box: view-box;
280
+ scale: 2.2;
281
+ transition: opacity 300ms ease, transform 300ms ease;
282
+ }
283
+ .typing-ellipsis .circle {
284
+ fill: var(--ai-avatar-primary-color, rgb(var(--lime-brand-color-ocean-teal, 111, 205, 182)));
83
285
  }
84
286
 
85
- @keyframes orbit {
287
+ @keyframes ai-avatar-typing-dot {
86
288
  0% {
87
- transform: rotateZ(0deg) translate3d(0, 0, 0);
289
+ transform: translateY(0);
88
290
  }
89
- 100% {
90
- transform: rotateZ(360deg) translate3d(0, 0, 0);
291
+ 6.25% {
292
+ transform: translateY(-3px);
293
+ }
294
+ 12.5% {
295
+ transform: translateY(0);
296
+ fill: var(--limel-ai-avatar-typing-dot-flash-color, var(--ai-avatar-accent-color, rgb(var(--lime-brand-color-aqua, 166, 239, 255))));
297
+ }
298
+ 18.75% {
299
+ transform: translateY(3px);
300
+ }
301
+ 25% {
302
+ transform: translateY(0);
91
303
  }
92
304
  }
93
- @keyframes breathe {
94
- 1%, 100% {
95
- transform: scale(1);
305
+ @keyframes ai-avatar-blink {
306
+ 0%, 93%, 99%, 100% {
307
+ rotate: x 0deg;
96
308
  }
97
- 50% {
98
- transform: scale(0.86);
309
+ 96% {
310
+ rotate: x 85deg;
99
311
  }
100
312
  }
101
- @keyframes rotate {
313
+ @keyframes ai-avatar-light-ball-swirl {
102
314
  0% {
103
315
  transform: rotate(0deg);
104
316
  }
@@ -106,80 +318,107 @@
106
318
  transform: rotate(360deg);
107
319
  }
108
320
  }
109
- svg {
110
- position: absolute;
111
- margin: auto;
112
- mix-blend-mode: var(--ai-avatar-rings-blend-mode, screen);
113
- animation-iteration-count: infinite;
114
- animation-play-state: var(--ai-avatar-animation-play-state, paused);
115
- }
116
-
117
- .red {
118
- rotate: 20deg;
119
- color: var(--ai-avatar-color-one, rgb(var(--color-red-default)));
120
- animation-name: rotate, scale-circle-one;
121
- animation-duration: 5s;
122
- }
123
-
124
- .green {
125
- rotate: 36deg;
126
- color: var(--ai-avatar-color-two, rgb(var(--color-green-default)));
127
- animation-name: rotate, scale-circle-two;
128
- animation-duration: 5.5s;
321
+ @keyframes ai-avatar-look-around-left-eye {
322
+ 0%, 15%, 95%, 100% {
323
+ transform: translate(0) scale(0.96);
324
+ }
325
+ 25%, 40% {
326
+ transform: translate(65px, -40px) scale(1.004) rotate(-13deg);
327
+ }
328
+ 55%, 70% {
329
+ transform: translate(-67px, -91px) scale(0.72) rotate(29deg);
330
+ }
129
331
  }
130
-
131
- .blue {
132
- rotate: 100deg;
133
- color: var(--ai-avatar-color-three, rgb(var(--color-blue-default)));
134
- animation-name: rotate, scale-circle-three;
135
- animation-duration: 4.5s;
332
+ @keyframes ai-avatar-look-around-right-eye {
333
+ 0%, 15%, 95%, 100% {
334
+ transform: translate(156px, -20px) scale(0.8);
335
+ }
336
+ 25%, 40% {
337
+ transform: translate(203px, -92px) scale(0.76) rotate(-24deg);
338
+ }
339
+ 55%, 70% {
340
+ transform: translate(80px, -45px) scale(1) rotate(12deg);
341
+ }
136
342
  }
137
-
138
- .orange {
139
- rotate: 165deg;
140
- color: var(--ai-avatar-color-four, rgb(var(--color-orange-default)));
141
- animation-name: rotate, scale-circle-four;
142
- animation-duration: 6.5s;
343
+ @keyframes ai-avatar-mouth-look-around {
344
+ 0%, 15%, 95%, 100% {
345
+ transform: scale(1);
346
+ }
347
+ 25%, 40% {
348
+ transform: translate(75px, -40px) scale(1.004) rotate(-9deg);
349
+ }
350
+ 55%, 70% {
351
+ transform: translate(-99px, -45px) scale(1) rotate(9deg);
352
+ }
143
353
  }
144
-
145
- @keyframes scale-circle-one {
354
+ @keyframes ai-avatar-typing-left-eye {
146
355
  0%, 100% {
147
- transform: scaleX(1) scaleY(0.8);
356
+ transform: translate(0, 80px) scale(0.94);
148
357
  }
149
- 25%, 75% {
150
- transform: scaleX(0.8) scaleY(0.9);
358
+ 25% {
359
+ transform: translate(12px, 80px) scale(0.94) rotate(-4deg);
151
360
  }
152
- 50% {
153
- transform: scaleX(1) scaleY(0.7);
361
+ 75% {
362
+ transform: translate(-12px, 80px) scale(0.94) rotate(4deg);
154
363
  }
155
364
  }
156
- @keyframes scale-circle-two {
365
+ @keyframes ai-avatar-typing-right-eye {
157
366
  0%, 100% {
158
- transform: scaleX(0.8) scaleY(1);
367
+ transform: translate(156px, 60px) scale(0.78);
159
368
  }
160
- 25%, 75% {
161
- transform: scaleX(0.9) scaleY(0.75);
369
+ 25% {
370
+ transform: translate(168px, 60px) scale(0.78) rotate(-5deg);
162
371
  }
163
- 50% {
164
- transform: scaleX(0.72) scaleY(1);
372
+ 75% {
373
+ transform: translate(144px, 60px) scale(0.78) rotate(5deg);
165
374
  }
166
375
  }
167
- @keyframes scale-circle-three {
376
+ @keyframes ai-avatar-typing-mouth {
168
377
  0%, 100% {
169
- transform: scaleX(0.9) scaleY(0.8);
378
+ transform: translate(0, 70px) scale(1);
379
+ }
380
+ 25% {
381
+ transform: translate(6px, 70px) scale(1);
170
382
  }
171
- 50% {
172
- transform: scaleX(0.75) scaleY(0.9);
383
+ 75% {
384
+ transform: translate(-6px, 70px) scale(1);
173
385
  }
174
386
  }
175
- @keyframes scale-circle-four {
176
- 0%, 100% {
177
- transform: scaleX(0.8) scaleY(0.95);
387
+ @keyframes ai-avatar-working-left-star {
388
+ 0% {
389
+ transform: translate(48px, 34px) scale(1.48) rotate(0deg);
178
390
  }
179
- 25%, 75% {
180
- transform: scaleX(0.95) scaleY(0.75);
391
+ 100% {
392
+ transform: translate(48px, 34px) scale(1.48) rotate(360deg);
181
393
  }
182
- 50% {
183
- transform: scaleX(0.75) scaleY(0.95);
394
+ }
395
+ @keyframes ai-avatar-working-right-star {
396
+ 0% {
397
+ transform: translate(152px, -74px) scale(0.66) rotate(0deg);
398
+ }
399
+ 100% {
400
+ transform: translate(152px, -74px) scale(0.66) rotate(360deg);
401
+ }
402
+ }
403
+ @keyframes ai-avatar-mode-active-ring {
404
+ 0% {
405
+ transform: scale(0.9);
406
+ opacity: 0;
407
+ }
408
+ 30% {
409
+ transform: scale(1);
410
+ opacity: 1;
411
+ }
412
+ 100% {
413
+ transform: scale(1);
414
+ opacity: 0;
415
+ }
416
+ }
417
+ @keyframes ai-avatar-breathing {
418
+ 0%, 60%, 100% {
419
+ transform: scale(0.9);
420
+ }
421
+ 25% {
422
+ transform: scale(1);
184
423
  }
185
424
  }