@wix/ai-assistant-avatar 0.39.0 → 0.41.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.
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  exports.__esModule = true;
5
5
  exports.AiAssistantAvatar = void 0;
6
6
  var _react = _interopRequireWildcard(require("react"));
7
- var _AstroModule = _interopRequireDefault(require("./Astro.module.scss"));
7
+ var _AstroModule = _interopRequireDefault(require("./Astro.module.css"));
8
8
  var _config = require("./config");
9
9
  var _hooks = require("./hooks");
10
10
  var _DotTrail = require("./components/DotTrail");
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_AstroModule","_interopRequireDefault","_config","_hooks","_DotTrail","_ariaAiAvatar","_jsxFileName","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","AiAssistantAvatar","exports","forwardRef","mode","variant","ref","wrapperRef","useRef","typingTimeout","isTyping","setIsTyping","useState","showBg","setShowBg","AriaAvatar","avatarHidden","setAvatarHidden","useAvatarSetup","setCenter","useMovement","ASTRO_SIZE","WIDTH","HEIGHT","leadDotRef","trailRefs","hideDots","moveFromOffsetWithDots","moveToOffsetWithDots","useDotAnimation","setState","onTravelHomeFrom","x","y","options","pos","onTravelAwayTo","onMouseMove","clientX","clientY","lookAt","onUserTyping","caretX","caretY","current","clearTimeout","setTimeout","err","console","error","useEffect","hideAvatar","withDots","showAvatar","useImperativeHandle","trigger","shrink","getState","AvatarState","SMALL","IDLE","smallLoader","SMALL_LOADER","pulse","Promise","resolve","idle","undo","fireEvent","AvatarEvent","UNDO_EVENT","boredom","SLEEPING","bigLoader","BIG_LOADER","ideaSpark","IDEA_SPARK","publish","PUBLISH_EVENT","wrapper","changeAstroColor","color","setAvatarColor","toggleAvatarBackground","hideBg","hide","show","createElement","className","s","avatar","__self","__source","fileName","lineNumber","columnNumber","DotTrail","astro","style","opacity","width","height"],"sources":["../../../src/Astro/Astro.tsx"],"sourcesContent":["import React, {\n forwardRef,\n Ref,\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n} from 'react';\nimport s from './Astro.module.scss';\nimport type { AstroRef, AstroProps, MoveOptions } from './types';\nimport { ASTRO_SIZE } from './config';\nimport { useAvatarSetup, useMovement, useDotAnimation } from './hooks';\nimport { DotTrail } from './components/DotTrail';\nimport { AvatarEvent, AvatarState } from '@wix/aria-ai-avatar';\n\nexport const AiAssistantAvatar = forwardRef<AstroRef, AstroProps>(\n ({ mode, variant }, ref: Ref<AstroRef> | null) => {\n const wrapperRef = useRef<HTMLDivElement | null>(null);\n const typingTimeout = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n const [isTyping, setIsTyping] = useState(false);\n\n const [showBg, setShowBg] = useState(false);\n\n const { AriaAvatar, avatarHidden, setAvatarHidden } = useAvatarSetup({\n mode,\n variant,\n });\n\n const { setCenter } = useMovement(\n wrapperRef,\n ASTRO_SIZE.WIDTH,\n ASTRO_SIZE.HEIGHT,\n );\n\n const {\n leadDotRef,\n trailRefs,\n hideDots,\n moveFromOffsetWithDots,\n moveToOffsetWithDots,\n } = useDotAnimation(setCenter, setAvatarHidden, AriaAvatar.setState);\n\n const onTravelHomeFrom = async (\n x: number,\n y: number,\n options?: MoveOptions,\n ) => {\n const pos = { x, y };\n await moveFromOffsetWithDots(pos, options);\n };\n\n const onTravelAwayTo = async (\n x: number,\n y: number,\n options?: MoveOptions,\n ) => {\n const pos = { x, y };\n await moveToOffsetWithDots(pos, options);\n };\n\n const onMouseMove = (clientX: number, clientY: number) => {\n if (isTyping) {\n return;\n }\n\n AriaAvatar.lookAt(clientX, clientY);\n };\n\n const onUserTyping = (caretX: number, caretY: number) => {\n try {\n setIsTyping(true);\n AriaAvatar.lookAt(caretX, caretY);\n\n if (typingTimeout.current) {\n clearTimeout(typingTimeout.current);\n }\n\n typingTimeout.current = setTimeout(() => {\n setIsTyping(false);\n }, 500);\n } catch (err) {\n console.error('[Astro] Error tracking typing:', err);\n }\n };\n\n useEffect(() => {\n return () => {\n if (typingTimeout.current) {\n clearTimeout(typingTimeout.current);\n }\n };\n }, []);\n\n const hideAvatar = ({ withDots = false }: { withDots?: boolean } = {}) => {\n setAvatarHidden(true);\n\n if (withDots) {\n hideDots();\n }\n };\n\n const showAvatar = () => {\n setAvatarHidden(false);\n };\n\n useImperativeHandle(ref, () => ({\n trigger: {\n shrink: () => {\n if (AriaAvatar.getState() === AvatarState.SMALL) {\n return AriaAvatar.setState(AvatarState.IDLE);\n }\n return AriaAvatar.setState(AvatarState.SMALL);\n },\n smallLoader: () => {\n if (AriaAvatar.getState() === AvatarState.SMALL) {\n return AriaAvatar.setState(AvatarState.SMALL_LOADER);\n }\n return AriaAvatar.setState(AvatarState.SMALL);\n },\n pulse: () => Promise.resolve(),\n idle: async () => {\n if (AriaAvatar.getState() === AvatarState.SMALL_LOADER) {\n await AriaAvatar.setState(AvatarState.SMALL);\n }\n return AriaAvatar.setState(AvatarState.IDLE);\n },\n undo: () => AriaAvatar.fireEvent(AvatarEvent.UNDO_EVENT),\n boredom: () => {\n if (AriaAvatar.getState() === AvatarState.SLEEPING) {\n return AriaAvatar.setState(AvatarState.IDLE);\n }\n return AriaAvatar.setState(AvatarState.SLEEPING);\n },\n bigLoader: () => {\n if (AriaAvatar.getState() === AvatarState.BIG_LOADER) {\n return AriaAvatar.setState(AvatarState.IDLE);\n }\n return AriaAvatar.setState(AvatarState.BIG_LOADER);\n },\n ideaSpark: () => AriaAvatar.fireEvent(AvatarEvent.IDEA_SPARK),\n publish: () => AriaAvatar.fireEvent(AvatarEvent.PUBLISH_EVENT),\n },\n avatarHidden,\n wrapper: wrapperRef.current,\n getState: AriaAvatar.getState,\n\n onMouseMove,\n onUserTyping,\n onTravelHomeFrom,\n onTravelAwayTo,\n\n changeAstroColor: (color: string) => {\n AriaAvatar.setAvatarColor(color);\n },\n\n toggleAvatarBackground: () => {\n if (showBg) {\n setShowBg(false);\n AriaAvatar.hideBg();\n } else {\n setShowBg(true);\n AriaAvatar.showBg();\n }\n },\n\n hide: hideAvatar,\n show: showAvatar,\n }));\n\n return (\n <div className={s.avatar}>\n <DotTrail leadDotRef={leadDotRef} trailRefs={trailRefs} />\n\n <div\n ref={wrapperRef}\n className={s.astro}\n style={{\n opacity: avatarHidden ? 0 : 1,\n }}\n >\n <div style={{ width: ASTRO_SIZE.WIDTH, height: ASTRO_SIZE.HEIGHT }}>\n <AriaAvatar.AriaAvatar />\n </div>\n </div>\n </div>\n );\n },\n);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_AstroModule","_interopRequireDefault","_config","_hooks","_DotTrail","_ariaAiAvatar","_jsxFileName","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","AiAssistantAvatar","exports","forwardRef","mode","variant","ref","wrapperRef","useRef","typingTimeout","isTyping","setIsTyping","useState","showBg","setShowBg","AriaAvatar","avatarHidden","setAvatarHidden","useAvatarSetup","setCenter","useMovement","ASTRO_SIZE","WIDTH","HEIGHT","leadDotRef","trailRefs","hideDots","moveFromOffsetWithDots","moveToOffsetWithDots","useDotAnimation","setState","onTravelHomeFrom","x","y","options","pos","onTravelAwayTo","onMouseMove","clientX","clientY","lookAt","onUserTyping","caretX","caretY","current","clearTimeout","setTimeout","err","console","error","useEffect","hideAvatar","withDots","showAvatar","useImperativeHandle","trigger","shrink","getState","AvatarState","SMALL","IDLE","smallLoader","SMALL_LOADER","pulse","Promise","resolve","idle","undo","fireEvent","AvatarEvent","UNDO_EVENT","boredom","SLEEPING","bigLoader","BIG_LOADER","ideaSpark","IDEA_SPARK","publish","PUBLISH_EVENT","wrapper","changeAstroColor","color","setAvatarColor","toggleAvatarBackground","hideBg","hide","show","createElement","className","s","avatar","__self","__source","fileName","lineNumber","columnNumber","DotTrail","astro","style","opacity","width","height"],"sources":["../../../src/Astro/Astro.tsx"],"sourcesContent":["import React, {\n forwardRef,\n Ref,\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n} from 'react';\nimport s from './Astro.module.css';\nimport type { AstroRef, AstroProps, MoveOptions } from './types';\nimport { ASTRO_SIZE } from './config';\nimport { useAvatarSetup, useMovement, useDotAnimation } from './hooks';\nimport { DotTrail } from './components/DotTrail';\nimport { AvatarEvent, AvatarState } from '@wix/aria-ai-avatar';\n\nexport const AiAssistantAvatar = forwardRef<AstroRef, AstroProps>(\n ({ mode, variant }, ref: Ref<AstroRef> | null) => {\n const wrapperRef = useRef<HTMLDivElement | null>(null);\n const typingTimeout = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n const [isTyping, setIsTyping] = useState(false);\n\n const [showBg, setShowBg] = useState(false);\n\n const { AriaAvatar, avatarHidden, setAvatarHidden } = useAvatarSetup({\n mode,\n variant,\n });\n\n const { setCenter } = useMovement(\n wrapperRef,\n ASTRO_SIZE.WIDTH,\n ASTRO_SIZE.HEIGHT,\n );\n\n const {\n leadDotRef,\n trailRefs,\n hideDots,\n moveFromOffsetWithDots,\n moveToOffsetWithDots,\n } = useDotAnimation(setCenter, setAvatarHidden, AriaAvatar.setState);\n\n const onTravelHomeFrom = async (\n x: number,\n y: number,\n options?: MoveOptions,\n ) => {\n const pos = { x, y };\n await moveFromOffsetWithDots(pos, options);\n };\n\n const onTravelAwayTo = async (\n x: number,\n y: number,\n options?: MoveOptions,\n ) => {\n const pos = { x, y };\n await moveToOffsetWithDots(pos, options);\n };\n\n const onMouseMove = (clientX: number, clientY: number) => {\n if (isTyping) {\n return;\n }\n\n AriaAvatar.lookAt(clientX, clientY);\n };\n\n const onUserTyping = (caretX: number, caretY: number) => {\n try {\n setIsTyping(true);\n AriaAvatar.lookAt(caretX, caretY);\n\n if (typingTimeout.current) {\n clearTimeout(typingTimeout.current);\n }\n\n typingTimeout.current = setTimeout(() => {\n setIsTyping(false);\n }, 500);\n } catch (err) {\n console.error('[Astro] Error tracking typing:', err);\n }\n };\n\n useEffect(() => {\n return () => {\n if (typingTimeout.current) {\n clearTimeout(typingTimeout.current);\n }\n };\n }, []);\n\n const hideAvatar = ({ withDots = false }: { withDots?: boolean } = {}) => {\n setAvatarHidden(true);\n\n if (withDots) {\n hideDots();\n }\n };\n\n const showAvatar = () => {\n setAvatarHidden(false);\n };\n\n useImperativeHandle(ref, () => ({\n trigger: {\n shrink: () => {\n if (AriaAvatar.getState() === AvatarState.SMALL) {\n return AriaAvatar.setState(AvatarState.IDLE);\n }\n return AriaAvatar.setState(AvatarState.SMALL);\n },\n smallLoader: () => {\n if (AriaAvatar.getState() === AvatarState.SMALL) {\n return AriaAvatar.setState(AvatarState.SMALL_LOADER);\n }\n return AriaAvatar.setState(AvatarState.SMALL);\n },\n pulse: () => Promise.resolve(),\n idle: async () => {\n if (AriaAvatar.getState() === AvatarState.SMALL_LOADER) {\n await AriaAvatar.setState(AvatarState.SMALL);\n }\n return AriaAvatar.setState(AvatarState.IDLE);\n },\n undo: () => AriaAvatar.fireEvent(AvatarEvent.UNDO_EVENT),\n boredom: () => {\n if (AriaAvatar.getState() === AvatarState.SLEEPING) {\n return AriaAvatar.setState(AvatarState.IDLE);\n }\n return AriaAvatar.setState(AvatarState.SLEEPING);\n },\n bigLoader: () => {\n if (AriaAvatar.getState() === AvatarState.BIG_LOADER) {\n return AriaAvatar.setState(AvatarState.IDLE);\n }\n return AriaAvatar.setState(AvatarState.BIG_LOADER);\n },\n ideaSpark: () => AriaAvatar.fireEvent(AvatarEvent.IDEA_SPARK),\n publish: () => AriaAvatar.fireEvent(AvatarEvent.PUBLISH_EVENT),\n },\n avatarHidden,\n wrapper: wrapperRef.current,\n getState: AriaAvatar.getState,\n\n onMouseMove,\n onUserTyping,\n onTravelHomeFrom,\n onTravelAwayTo,\n\n changeAstroColor: (color: string) => {\n AriaAvatar.setAvatarColor(color);\n },\n\n toggleAvatarBackground: () => {\n if (showBg) {\n setShowBg(false);\n AriaAvatar.hideBg();\n } else {\n setShowBg(true);\n AriaAvatar.showBg();\n }\n },\n\n hide: hideAvatar,\n show: showAvatar,\n }));\n\n return (\n <div className={s.avatar}>\n <DotTrail leadDotRef={leadDotRef} trailRefs={trailRefs} />\n\n <div\n ref={wrapperRef}\n className={s.astro}\n style={{\n opacity: avatarHidden ? 0 : 1,\n }}\n >\n <div style={{ width: ASTRO_SIZE.WIDTH, height: ASTRO_SIZE.HEIGHT }}>\n <AriaAvatar.AriaAvatar />\n </div>\n </div>\n </div>\n );\n },\n);\n"],"mappings":"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","ignoreList":[]}
@@ -1,24 +1,18 @@
1
- @mixin position {
2
- opacity: 0;
3
- margin: 16px;
4
- border-radius: 50%;
5
- position: absolute;
6
- }
7
-
8
- $astroZIndex: 3;
9
-
10
1
  .avatar {
11
2
  width: 32px;
12
3
  height: 32px;
13
4
  }
14
5
 
15
6
  .astro {
16
- @include position;
17
- z-index: $astroZIndex;
7
+ opacity: 0;
8
+ margin: 16px;
9
+ border-radius: 50%;
10
+ position: absolute;
11
+ z-index: 3;
18
12
  transition: opacity 80ms linear;
19
13
  transform: translate3d(0, 0, 0);
20
14
 
21
- clip-path: inset(23px 23px 23px 23px); // cut off the edges to stop hijacking mouse events. maybe we need to reduce canvas size itself instead of this.
15
+ clip-path: inset(23px 23px 23px 23px); /* cut off the edges to stop hijacking mouse events. maybe we need to reduce canvas size itself instead of this. */
22
16
 
23
17
  @starting-style {
24
18
  opacity: 0;
@@ -26,8 +20,11 @@ $astroZIndex: 3;
26
20
  }
27
21
 
28
22
  .leadDot {
29
- @include position;
30
- z-index: $astroZIndex - 1;
23
+ opacity: 0;
24
+ margin: 16px;
25
+ border-radius: 50%;
26
+ position: absolute;
27
+ z-index: 2;
31
28
  transition: opacity 150ms ease-in-out;
32
29
 
33
30
  @starting-style {
@@ -36,8 +33,11 @@ $astroZIndex: 3;
36
33
  }
37
34
 
38
35
  .trailDot {
39
- @include position;
40
- z-index: $astroZIndex - 2;
36
+ opacity: 0;
37
+ margin: 16px;
38
+ border-radius: 50%;
39
+ position: absolute;
40
+ z-index: 1;
41
41
  transition: opacity 150ms ease-in-out;
42
42
 
43
43
  @starting-style {
@@ -5,7 +5,7 @@ exports.__esModule = true;
5
5
  exports.DotTrail = void 0;
6
6
  var _react = _interopRequireDefault(require("react"));
7
7
  var _config = require("../config");
8
- var _AstroModule = _interopRequireDefault(require("../Astro.module.scss"));
8
+ var _AstroModule = _interopRequireDefault(require("../Astro.module.css"));
9
9
  var _jsxFileName = "/home/builduser/work/4baef6c1cf3e5e6a/packages/ai-assistant-avatar/dist/cjs/Astro/components/DotTrail.tsx";
10
10
  const DotTrail = ({
11
11
  leadDotRef,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_config","_AstroModule","_jsxFileName","DotTrail","leadDotRef","trailRefs","default","createElement","Fragment","ref","className","s","leadDot","style","width","ANIMATION_CONFIG","DOT_SIZE","height","background","DOT_COLOR","__self","__source","fileName","lineNumber","columnNumber","Array","from","length","TRAIL_COUNT","map","_","i","key","el","current","trailDot","filter","TRAIL_BLUR","exports"],"sources":["../../../../src/Astro/components/DotTrail.tsx"],"sourcesContent":["import React, { MutableRefObject } from 'react';\nimport { ANIMATION_CONFIG } from '../config';\nimport s from '../Astro.module.scss';\n\ntype DotTrailProps = {\n leadDotRef: MutableRefObject<HTMLDivElement | null>;\n trailRefs: MutableRefObject<(HTMLDivElement | null)[]>;\n};\n\nexport const DotTrail = ({ leadDotRef, trailRefs }: DotTrailProps) => (\n <>\n <div\n ref={leadDotRef}\n className={s.leadDot}\n style={{\n width: ANIMATION_CONFIG.DOT_SIZE,\n height: ANIMATION_CONFIG.DOT_SIZE,\n background: ANIMATION_CONFIG.DOT_COLOR,\n }}\n />\n\n {Array.from({ length: ANIMATION_CONFIG.TRAIL_COUNT }).map((_, i) => (\n <div\n key={i}\n ref={(el) => (trailRefs.current[i] = el)}\n className={s.trailDot}\n style={{\n width: ANIMATION_CONFIG.DOT_SIZE,\n height: ANIMATION_CONFIG.DOT_SIZE,\n background: ANIMATION_CONFIG.DOT_COLOR,\n filter: ANIMATION_CONFIG.TRAIL_BLUR\n ? `blur(${ANIMATION_CONFIG.TRAIL_BLUR}px)`\n : 'none',\n }}\n />\n ))}\n </>\n);\n"],"mappings":";;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAH,sBAAA,CAAAC,OAAA;AAAqC,IAAAG,YAAA;AAO9B,MAAMC,QAAQ,GAAGA,CAAC;EAAEC,UAAU;EAAEC;AAAyB,CAAC,kBAC/DR,MAAA,CAAAS,OAAA,CAAAC,aAAA,CAAAV,MAAA,CAAAS,OAAA,CAAAE,QAAA,qBACEX,MAAA,CAAAS,OAAA,CAAAC,aAAA;EACEE,GAAG,EAAEL,UAAW;EAChBM,SAAS,EAAEC,oBAAC,CAACC,OAAQ;EACrBC,KAAK,EAAE;IACLC,KAAK,EAAEC,wBAAgB,CAACC,QAAQ;IAChCC,MAAM,EAAEF,wBAAgB,CAACC,QAAQ;IACjCE,UAAU,EAAEH,wBAAgB,CAACI;EAC/B,CAAE;EAAAC,MAAA;EAAAC,QAAA;IAAAC,QAAA,EAAApB,YAAA;IAAAqB,UAAA;IAAAC,YAAA;EAAA;AAAA,CACH,CAAC,EAEDC,KAAK,CAACC,IAAI,CAAC;EAAEC,MAAM,EAAEZ,wBAAgB,CAACa;AAAY,CAAC,CAAC,CAACC,GAAG,CAAC,CAACC,CAAC,EAAEC,CAAC,kBAC7DlC,MAAA,CAAAS,OAAA,CAAAC,aAAA;EACEyB,GAAG,EAAED,CAAE;EACPtB,GAAG,EAAGwB,EAAE,IAAM5B,SAAS,CAAC6B,OAAO,CAACH,CAAC,CAAC,GAAGE,EAAI;EACzCvB,SAAS,EAAEC,oBAAC,CAACwB,QAAS;EACtBtB,KAAK,EAAE;IACLC,KAAK,EAAEC,wBAAgB,CAACC,QAAQ;IAChCC,MAAM,EAAEF,wBAAgB,CAACC,QAAQ;IACjCE,UAAU,EAAEH,wBAAgB,CAACI,SAAS;IACtCiB,MAAM,EAAErB,wBAAgB,CAACsB,UAAU,GAC/B,QAAQtB,wBAAgB,CAACsB,UAAU,KAAK,GACxC;EACN,CAAE;EAAAjB,MAAA;EAAAC,QAAA;IAAAC,QAAA,EAAApB,YAAA;IAAAqB,UAAA;IAAAC,YAAA;EAAA;AAAA,CACH,CACF,CACD,CACH;AAACc,OAAA,CAAAnC,QAAA,GAAAA,QAAA","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_config","_AstroModule","_jsxFileName","DotTrail","leadDotRef","trailRefs","default","createElement","Fragment","ref","className","s","leadDot","style","width","ANIMATION_CONFIG","DOT_SIZE","height","background","DOT_COLOR","__self","__source","fileName","lineNumber","columnNumber","Array","from","length","TRAIL_COUNT","map","_","i","key","el","current","trailDot","filter","TRAIL_BLUR","exports"],"sources":["../../../../src/Astro/components/DotTrail.tsx"],"sourcesContent":["import React, { MutableRefObject } from 'react';\nimport { ANIMATION_CONFIG } from '../config';\nimport s from '../Astro.module.css';\n\ntype DotTrailProps = {\n leadDotRef: MutableRefObject<HTMLDivElement | null>;\n trailRefs: MutableRefObject<(HTMLDivElement | null)[]>;\n};\n\nexport const DotTrail = ({ leadDotRef, trailRefs }: DotTrailProps) => (\n <>\n <div\n ref={leadDotRef}\n className={s.leadDot}\n style={{\n width: ANIMATION_CONFIG.DOT_SIZE,\n height: ANIMATION_CONFIG.DOT_SIZE,\n background: ANIMATION_CONFIG.DOT_COLOR,\n }}\n />\n\n {Array.from({ length: ANIMATION_CONFIG.TRAIL_COUNT }).map((_, i) => (\n <div\n key={i}\n ref={(el) => (trailRefs.current[i] = el)}\n className={s.trailDot}\n style={{\n width: ANIMATION_CONFIG.DOT_SIZE,\n height: ANIMATION_CONFIG.DOT_SIZE,\n background: ANIMATION_CONFIG.DOT_COLOR,\n filter: ANIMATION_CONFIG.TRAIL_BLUR\n ? `blur(${ANIMATION_CONFIG.TRAIL_BLUR}px)`\n : 'none',\n }}\n />\n ))}\n </>\n);\n"],"mappings":";;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAH,sBAAA,CAAAC,OAAA;AAAoC,IAAAG,YAAA;AAO7B,MAAMC,QAAQ,GAAGA,CAAC;EAAEC,UAAU;EAAEC;AAAyB,CAAC,kBAC/DR,MAAA,CAAAS,OAAA,CAAAC,aAAA,CAAAV,MAAA,CAAAS,OAAA,CAAAE,QAAA,qBACEX,MAAA,CAAAS,OAAA,CAAAC,aAAA;EACEE,GAAG,EAAEL,UAAW;EAChBM,SAAS,EAAEC,oBAAC,CAACC,OAAQ;EACrBC,KAAK,EAAE;IACLC,KAAK,EAAEC,wBAAgB,CAACC,QAAQ;IAChCC,MAAM,EAAEF,wBAAgB,CAACC,QAAQ;IACjCE,UAAU,EAAEH,wBAAgB,CAACI;EAC/B,CAAE;EAAAC,MAAA;EAAAC,QAAA;IAAAC,QAAA,EAAApB,YAAA;IAAAqB,UAAA;IAAAC,YAAA;EAAA;AAAA,CACH,CAAC,EAEDC,KAAK,CAACC,IAAI,CAAC;EAAEC,MAAM,EAAEZ,wBAAgB,CAACa;AAAY,CAAC,CAAC,CAACC,GAAG,CAAC,CAACC,CAAC,EAAEC,CAAC,kBAC7DlC,MAAA,CAAAS,OAAA,CAAAC,aAAA;EACEyB,GAAG,EAAED,CAAE;EACPtB,GAAG,EAAGwB,EAAE,IAAM5B,SAAS,CAAC6B,OAAO,CAACH,CAAC,CAAC,GAAGE,EAAI;EACzCvB,SAAS,EAAEC,oBAAC,CAACwB,QAAS;EACtBtB,KAAK,EAAE;IACLC,KAAK,EAAEC,wBAAgB,CAACC,QAAQ;IAChCC,MAAM,EAAEF,wBAAgB,CAACC,QAAQ;IACjCE,UAAU,EAAEH,wBAAgB,CAACI,SAAS;IACtCiB,MAAM,EAAErB,wBAAgB,CAACsB,UAAU,GAC/B,QAAQtB,wBAAgB,CAACsB,UAAU,KAAK,GACxC;EACN,CAAE;EAAAjB,MAAA;EAAAC,QAAA;IAAAC,QAAA,EAAApB,YAAA;IAAAqB,UAAA;IAAAC,YAAA;EAAA;AAAA,CACH,CACF,CACD,CACH;AAACc,OAAA,CAAAnC,QAAA,GAAAA,QAAA","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import React, { forwardRef, useEffect, useImperativeHandle, useRef, useState } from 'react';
2
- import s from './Astro.module.scss';
2
+ import s from './Astro.module.css';
3
3
  import { ASTRO_SIZE } from './config';
4
4
  import { useAvatarSetup, useMovement, useDotAnimation } from './hooks';
5
5
  import { DotTrail } from './components/DotTrail';
@@ -1 +1 @@
1
- {"version":3,"names":["React","forwardRef","useEffect","useImperativeHandle","useRef","useState","s","ASTRO_SIZE","useAvatarSetup","useMovement","useDotAnimation","DotTrail","AvatarEvent","AvatarState","AiAssistantAvatar","_ref","ref","mode","variant","wrapperRef","typingTimeout","_useState","isTyping","setIsTyping","_useState2","showBg","setShowBg","_useAvatarSetup","AriaAvatar","avatarHidden","setAvatarHidden","_useMovement","WIDTH","HEIGHT","setCenter","_useDotAnimation","setState","leadDotRef","trailRefs","hideDots","moveFromOffsetWithDots","moveToOffsetWithDots","onTravelHomeFrom","x","y","options","pos","onTravelAwayTo","onMouseMove","clientX","clientY","lookAt","onUserTyping","caretX","caretY","current","clearTimeout","setTimeout","err","console","error","hideAvatar","_temp","_ref2","_ref2$withDots","withDots","showAvatar","trigger","shrink","getState","SMALL","IDLE","smallLoader","SMALL_LOADER","pulse","Promise","resolve","idle","undo","fireEvent","UNDO_EVENT","boredom","SLEEPING","bigLoader","BIG_LOADER","ideaSpark","IDEA_SPARK","publish","PUBLISH_EVENT","wrapper","changeAstroColor","color","setAvatarColor","toggleAvatarBackground","hideBg","hide","show","createElement","className","avatar","astro","style","opacity","width","height"],"sources":["../../../src/Astro/Astro.tsx"],"sourcesContent":["import React, {\n forwardRef,\n Ref,\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n} from 'react';\nimport s from './Astro.module.scss';\nimport type { AstroRef, AstroProps, MoveOptions } from './types';\nimport { ASTRO_SIZE } from './config';\nimport { useAvatarSetup, useMovement, useDotAnimation } from './hooks';\nimport { DotTrail } from './components/DotTrail';\nimport { AvatarEvent, AvatarState } from '@wix/aria-ai-avatar';\n\nexport const AiAssistantAvatar = forwardRef<AstroRef, AstroProps>(\n ({ mode, variant }, ref: Ref<AstroRef> | null) => {\n const wrapperRef = useRef<HTMLDivElement | null>(null);\n const typingTimeout = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n const [isTyping, setIsTyping] = useState(false);\n\n const [showBg, setShowBg] = useState(false);\n\n const { AriaAvatar, avatarHidden, setAvatarHidden } = useAvatarSetup({\n mode,\n variant,\n });\n\n const { setCenter } = useMovement(\n wrapperRef,\n ASTRO_SIZE.WIDTH,\n ASTRO_SIZE.HEIGHT,\n );\n\n const {\n leadDotRef,\n trailRefs,\n hideDots,\n moveFromOffsetWithDots,\n moveToOffsetWithDots,\n } = useDotAnimation(setCenter, setAvatarHidden, AriaAvatar.setState);\n\n const onTravelHomeFrom = async (\n x: number,\n y: number,\n options?: MoveOptions,\n ) => {\n const pos = { x, y };\n await moveFromOffsetWithDots(pos, options);\n };\n\n const onTravelAwayTo = async (\n x: number,\n y: number,\n options?: MoveOptions,\n ) => {\n const pos = { x, y };\n await moveToOffsetWithDots(pos, options);\n };\n\n const onMouseMove = (clientX: number, clientY: number) => {\n if (isTyping) {\n return;\n }\n\n AriaAvatar.lookAt(clientX, clientY);\n };\n\n const onUserTyping = (caretX: number, caretY: number) => {\n try {\n setIsTyping(true);\n AriaAvatar.lookAt(caretX, caretY);\n\n if (typingTimeout.current) {\n clearTimeout(typingTimeout.current);\n }\n\n typingTimeout.current = setTimeout(() => {\n setIsTyping(false);\n }, 500);\n } catch (err) {\n console.error('[Astro] Error tracking typing:', err);\n }\n };\n\n useEffect(() => {\n return () => {\n if (typingTimeout.current) {\n clearTimeout(typingTimeout.current);\n }\n };\n }, []);\n\n const hideAvatar = ({ withDots = false }: { withDots?: boolean } = {}) => {\n setAvatarHidden(true);\n\n if (withDots) {\n hideDots();\n }\n };\n\n const showAvatar = () => {\n setAvatarHidden(false);\n };\n\n useImperativeHandle(ref, () => ({\n trigger: {\n shrink: () => {\n if (AriaAvatar.getState() === AvatarState.SMALL) {\n return AriaAvatar.setState(AvatarState.IDLE);\n }\n return AriaAvatar.setState(AvatarState.SMALL);\n },\n smallLoader: () => {\n if (AriaAvatar.getState() === AvatarState.SMALL) {\n return AriaAvatar.setState(AvatarState.SMALL_LOADER);\n }\n return AriaAvatar.setState(AvatarState.SMALL);\n },\n pulse: () => Promise.resolve(),\n idle: async () => {\n if (AriaAvatar.getState() === AvatarState.SMALL_LOADER) {\n await AriaAvatar.setState(AvatarState.SMALL);\n }\n return AriaAvatar.setState(AvatarState.IDLE);\n },\n undo: () => AriaAvatar.fireEvent(AvatarEvent.UNDO_EVENT),\n boredom: () => {\n if (AriaAvatar.getState() === AvatarState.SLEEPING) {\n return AriaAvatar.setState(AvatarState.IDLE);\n }\n return AriaAvatar.setState(AvatarState.SLEEPING);\n },\n bigLoader: () => {\n if (AriaAvatar.getState() === AvatarState.BIG_LOADER) {\n return AriaAvatar.setState(AvatarState.IDLE);\n }\n return AriaAvatar.setState(AvatarState.BIG_LOADER);\n },\n ideaSpark: () => AriaAvatar.fireEvent(AvatarEvent.IDEA_SPARK),\n publish: () => AriaAvatar.fireEvent(AvatarEvent.PUBLISH_EVENT),\n },\n avatarHidden,\n wrapper: wrapperRef.current,\n getState: AriaAvatar.getState,\n\n onMouseMove,\n onUserTyping,\n onTravelHomeFrom,\n onTravelAwayTo,\n\n changeAstroColor: (color: string) => {\n AriaAvatar.setAvatarColor(color);\n },\n\n toggleAvatarBackground: () => {\n if (showBg) {\n setShowBg(false);\n AriaAvatar.hideBg();\n } else {\n setShowBg(true);\n AriaAvatar.showBg();\n }\n },\n\n hide: hideAvatar,\n show: showAvatar,\n }));\n\n return (\n <div className={s.avatar}>\n <DotTrail leadDotRef={leadDotRef} trailRefs={trailRefs} />\n\n <div\n ref={wrapperRef}\n className={s.astro}\n style={{\n opacity: avatarHidden ? 0 : 1,\n }}\n >\n <div style={{ width: ASTRO_SIZE.WIDTH, height: ASTRO_SIZE.HEIGHT }}>\n <AriaAvatar.AriaAvatar />\n </div>\n </div>\n </div>\n );\n },\n);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","forwardRef","useEffect","useImperativeHandle","useRef","useState","s","ASTRO_SIZE","useAvatarSetup","useMovement","useDotAnimation","DotTrail","AvatarEvent","AvatarState","AiAssistantAvatar","_ref","ref","mode","variant","wrapperRef","typingTimeout","_useState","isTyping","setIsTyping","_useState2","showBg","setShowBg","_useAvatarSetup","AriaAvatar","avatarHidden","setAvatarHidden","_useMovement","WIDTH","HEIGHT","setCenter","_useDotAnimation","setState","leadDotRef","trailRefs","hideDots","moveFromOffsetWithDots","moveToOffsetWithDots","onTravelHomeFrom","x","y","options","pos","onTravelAwayTo","onMouseMove","clientX","clientY","lookAt","onUserTyping","caretX","caretY","current","clearTimeout","setTimeout","err","console","error","hideAvatar","_temp","_ref2","_ref2$withDots","withDots","showAvatar","trigger","shrink","getState","SMALL","IDLE","smallLoader","SMALL_LOADER","pulse","Promise","resolve","idle","undo","fireEvent","UNDO_EVENT","boredom","SLEEPING","bigLoader","BIG_LOADER","ideaSpark","IDEA_SPARK","publish","PUBLISH_EVENT","wrapper","changeAstroColor","color","setAvatarColor","toggleAvatarBackground","hideBg","hide","show","createElement","className","avatar","astro","style","opacity","width","height"],"sources":["../../../src/Astro/Astro.tsx"],"sourcesContent":["import React, {\n forwardRef,\n Ref,\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n} from 'react';\nimport s from './Astro.module.css';\nimport type { AstroRef, AstroProps, MoveOptions } from './types';\nimport { ASTRO_SIZE } from './config';\nimport { useAvatarSetup, useMovement, useDotAnimation } from './hooks';\nimport { DotTrail } from './components/DotTrail';\nimport { AvatarEvent, AvatarState } from '@wix/aria-ai-avatar';\n\nexport const AiAssistantAvatar = forwardRef<AstroRef, AstroProps>(\n ({ mode, variant }, ref: Ref<AstroRef> | null) => {\n const wrapperRef = useRef<HTMLDivElement | null>(null);\n const typingTimeout = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n const [isTyping, setIsTyping] = useState(false);\n\n const [showBg, setShowBg] = useState(false);\n\n const { AriaAvatar, avatarHidden, setAvatarHidden } = useAvatarSetup({\n mode,\n variant,\n });\n\n const { setCenter } = useMovement(\n wrapperRef,\n ASTRO_SIZE.WIDTH,\n ASTRO_SIZE.HEIGHT,\n );\n\n const {\n leadDotRef,\n trailRefs,\n hideDots,\n moveFromOffsetWithDots,\n moveToOffsetWithDots,\n } = useDotAnimation(setCenter, setAvatarHidden, AriaAvatar.setState);\n\n const onTravelHomeFrom = async (\n x: number,\n y: number,\n options?: MoveOptions,\n ) => {\n const pos = { x, y };\n await moveFromOffsetWithDots(pos, options);\n };\n\n const onTravelAwayTo = async (\n x: number,\n y: number,\n options?: MoveOptions,\n ) => {\n const pos = { x, y };\n await moveToOffsetWithDots(pos, options);\n };\n\n const onMouseMove = (clientX: number, clientY: number) => {\n if (isTyping) {\n return;\n }\n\n AriaAvatar.lookAt(clientX, clientY);\n };\n\n const onUserTyping = (caretX: number, caretY: number) => {\n try {\n setIsTyping(true);\n AriaAvatar.lookAt(caretX, caretY);\n\n if (typingTimeout.current) {\n clearTimeout(typingTimeout.current);\n }\n\n typingTimeout.current = setTimeout(() => {\n setIsTyping(false);\n }, 500);\n } catch (err) {\n console.error('[Astro] Error tracking typing:', err);\n }\n };\n\n useEffect(() => {\n return () => {\n if (typingTimeout.current) {\n clearTimeout(typingTimeout.current);\n }\n };\n }, []);\n\n const hideAvatar = ({ withDots = false }: { withDots?: boolean } = {}) => {\n setAvatarHidden(true);\n\n if (withDots) {\n hideDots();\n }\n };\n\n const showAvatar = () => {\n setAvatarHidden(false);\n };\n\n useImperativeHandle(ref, () => ({\n trigger: {\n shrink: () => {\n if (AriaAvatar.getState() === AvatarState.SMALL) {\n return AriaAvatar.setState(AvatarState.IDLE);\n }\n return AriaAvatar.setState(AvatarState.SMALL);\n },\n smallLoader: () => {\n if (AriaAvatar.getState() === AvatarState.SMALL) {\n return AriaAvatar.setState(AvatarState.SMALL_LOADER);\n }\n return AriaAvatar.setState(AvatarState.SMALL);\n },\n pulse: () => Promise.resolve(),\n idle: async () => {\n if (AriaAvatar.getState() === AvatarState.SMALL_LOADER) {\n await AriaAvatar.setState(AvatarState.SMALL);\n }\n return AriaAvatar.setState(AvatarState.IDLE);\n },\n undo: () => AriaAvatar.fireEvent(AvatarEvent.UNDO_EVENT),\n boredom: () => {\n if (AriaAvatar.getState() === AvatarState.SLEEPING) {\n return AriaAvatar.setState(AvatarState.IDLE);\n }\n return AriaAvatar.setState(AvatarState.SLEEPING);\n },\n bigLoader: () => {\n if (AriaAvatar.getState() === AvatarState.BIG_LOADER) {\n return AriaAvatar.setState(AvatarState.IDLE);\n }\n return AriaAvatar.setState(AvatarState.BIG_LOADER);\n },\n ideaSpark: () => AriaAvatar.fireEvent(AvatarEvent.IDEA_SPARK),\n publish: () => AriaAvatar.fireEvent(AvatarEvent.PUBLISH_EVENT),\n },\n avatarHidden,\n wrapper: wrapperRef.current,\n getState: AriaAvatar.getState,\n\n onMouseMove,\n onUserTyping,\n onTravelHomeFrom,\n onTravelAwayTo,\n\n changeAstroColor: (color: string) => {\n AriaAvatar.setAvatarColor(color);\n },\n\n toggleAvatarBackground: () => {\n if (showBg) {\n setShowBg(false);\n AriaAvatar.hideBg();\n } else {\n setShowBg(true);\n AriaAvatar.showBg();\n }\n },\n\n hide: hideAvatar,\n show: showAvatar,\n }));\n\n return (\n <div className={s.avatar}>\n <DotTrail leadDotRef={leadDotRef} trailRefs={trailRefs} />\n\n <div\n ref={wrapperRef}\n className={s.astro}\n style={{\n opacity: avatarHidden ? 0 : 1,\n }}\n >\n <div style={{ width: ASTRO_SIZE.WIDTH, height: ASTRO_SIZE.HEIGHT }}>\n <AriaAvatar.AriaAvatar />\n </div>\n </div>\n </div>\n );\n },\n);\n"],"mappings":"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","ignoreList":[]}
@@ -1,24 +1,18 @@
1
- @mixin position {
2
- opacity: 0;
3
- margin: 16px;
4
- border-radius: 50%;
5
- position: absolute;
6
- }
7
-
8
- $astroZIndex: 3;
9
-
10
1
  .avatar {
11
2
  width: 32px;
12
3
  height: 32px;
13
4
  }
14
5
 
15
6
  .astro {
16
- @include position;
17
- z-index: $astroZIndex;
7
+ opacity: 0;
8
+ margin: 16px;
9
+ border-radius: 50%;
10
+ position: absolute;
11
+ z-index: 3;
18
12
  transition: opacity 80ms linear;
19
13
  transform: translate3d(0, 0, 0);
20
14
 
21
- clip-path: inset(23px 23px 23px 23px); // cut off the edges to stop hijacking mouse events. maybe we need to reduce canvas size itself instead of this.
15
+ clip-path: inset(23px 23px 23px 23px); /* cut off the edges to stop hijacking mouse events. maybe we need to reduce canvas size itself instead of this. */
22
16
 
23
17
  @starting-style {
24
18
  opacity: 0;
@@ -26,8 +20,11 @@ $astroZIndex: 3;
26
20
  }
27
21
 
28
22
  .leadDot {
29
- @include position;
30
- z-index: $astroZIndex - 1;
23
+ opacity: 0;
24
+ margin: 16px;
25
+ border-radius: 50%;
26
+ position: absolute;
27
+ z-index: 2;
31
28
  transition: opacity 150ms ease-in-out;
32
29
 
33
30
  @starting-style {
@@ -36,8 +33,11 @@ $astroZIndex: 3;
36
33
  }
37
34
 
38
35
  .trailDot {
39
- @include position;
40
- z-index: $astroZIndex - 2;
36
+ opacity: 0;
37
+ margin: 16px;
38
+ border-radius: 50%;
39
+ position: absolute;
40
+ z-index: 1;
41
41
  transition: opacity 150ms ease-in-out;
42
42
 
43
43
  @starting-style {
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { ANIMATION_CONFIG } from '../config';
3
- import s from '../Astro.module.scss';
3
+ import s from '../Astro.module.css';
4
4
  export const DotTrail = _ref => {
5
5
  let leadDotRef = _ref.leadDotRef,
6
6
  trailRefs = _ref.trailRefs;
@@ -1 +1 @@
1
- {"version":3,"names":["React","ANIMATION_CONFIG","s","DotTrail","_ref","leadDotRef","trailRefs","createElement","Fragment","ref","className","leadDot","style","width","DOT_SIZE","height","background","DOT_COLOR","Array","from","length","TRAIL_COUNT","map","_","i","key","el","current","trailDot","filter","TRAIL_BLUR"],"sources":["../../../../src/Astro/components/DotTrail.tsx"],"sourcesContent":["import React, { MutableRefObject } from 'react';\nimport { ANIMATION_CONFIG } from '../config';\nimport s from '../Astro.module.scss';\n\ntype DotTrailProps = {\n leadDotRef: MutableRefObject<HTMLDivElement | null>;\n trailRefs: MutableRefObject<(HTMLDivElement | null)[]>;\n};\n\nexport const DotTrail = ({ leadDotRef, trailRefs }: DotTrailProps) => (\n <>\n <div\n ref={leadDotRef}\n className={s.leadDot}\n style={{\n width: ANIMATION_CONFIG.DOT_SIZE,\n height: ANIMATION_CONFIG.DOT_SIZE,\n background: ANIMATION_CONFIG.DOT_COLOR,\n }}\n />\n\n {Array.from({ length: ANIMATION_CONFIG.TRAIL_COUNT }).map((_, i) => (\n <div\n key={i}\n ref={(el) => (trailRefs.current[i] = el)}\n className={s.trailDot}\n style={{\n width: ANIMATION_CONFIG.DOT_SIZE,\n height: ANIMATION_CONFIG.DOT_SIZE,\n background: ANIMATION_CONFIG.DOT_COLOR,\n filter: ANIMATION_CONFIG.TRAIL_BLUR\n ? `blur(${ANIMATION_CONFIG.TRAIL_BLUR}px)`\n : 'none',\n }}\n />\n ))}\n </>\n);\n"],"mappings":"AAAA,OAAOA,KAAK,MAA4B,OAAO;AAC/C,SAASC,gBAAgB,QAAQ,WAAW;AAC5C,OAAOC,CAAC,MAAM,sBAAsB;AAOpC,OAAO,MAAMC,QAAQ,GAAGC,IAAA;EAAA,IAAGC,UAAU,GAAAD,IAAA,CAAVC,UAAU;IAAEC,SAAS,GAAAF,IAAA,CAATE,SAAS;EAAA,oBAC9CN,KAAA,CAAAO,aAAA,CAAAP,KAAA,CAAAQ,QAAA,qBACER,KAAA,CAAAO,aAAA;IACEE,GAAG,EAAEJ,UAAW;IAChBK,SAAS,EAAER,CAAC,CAACS,OAAQ;IACrBC,KAAK,EAAE;MACLC,KAAK,EAAEZ,gBAAgB,CAACa,QAAQ;MAChCC,MAAM,EAAEd,gBAAgB,CAACa,QAAQ;MACjCE,UAAU,EAAEf,gBAAgB,CAACgB;IAC/B;EAAE,CACH,CAAC,EAEDC,KAAK,CAACC,IAAI,CAAC;IAAEC,MAAM,EAAEnB,gBAAgB,CAACoB;EAAY,CAAC,CAAC,CAACC,GAAG,CAAC,CAACC,CAAC,EAAEC,CAAC,kBAC7DxB,KAAA,CAAAO,aAAA;IACEkB,GAAG,EAAED,CAAE;IACPf,GAAG,EAAGiB,EAAE,IAAMpB,SAAS,CAACqB,OAAO,CAACH,CAAC,CAAC,GAAGE,EAAI;IACzChB,SAAS,EAAER,CAAC,CAAC0B,QAAS;IACtBhB,KAAK,EAAE;MACLC,KAAK,EAAEZ,gBAAgB,CAACa,QAAQ;MAChCC,MAAM,EAAEd,gBAAgB,CAACa,QAAQ;MACjCE,UAAU,EAAEf,gBAAgB,CAACgB,SAAS;MACtCY,MAAM,EAAE5B,gBAAgB,CAAC6B,UAAU,GAC/B,QAAQ7B,gBAAgB,CAAC6B,UAAU,KAAK,GACxC;IACN;EAAE,CACH,CACF,CACD,CAAC;AAAA,CACJ","ignoreList":[]}
1
+ {"version":3,"names":["React","ANIMATION_CONFIG","s","DotTrail","_ref","leadDotRef","trailRefs","createElement","Fragment","ref","className","leadDot","style","width","DOT_SIZE","height","background","DOT_COLOR","Array","from","length","TRAIL_COUNT","map","_","i","key","el","current","trailDot","filter","TRAIL_BLUR"],"sources":["../../../../src/Astro/components/DotTrail.tsx"],"sourcesContent":["import React, { MutableRefObject } from 'react';\nimport { ANIMATION_CONFIG } from '../config';\nimport s from '../Astro.module.css';\n\ntype DotTrailProps = {\n leadDotRef: MutableRefObject<HTMLDivElement | null>;\n trailRefs: MutableRefObject<(HTMLDivElement | null)[]>;\n};\n\nexport const DotTrail = ({ leadDotRef, trailRefs }: DotTrailProps) => (\n <>\n <div\n ref={leadDotRef}\n className={s.leadDot}\n style={{\n width: ANIMATION_CONFIG.DOT_SIZE,\n height: ANIMATION_CONFIG.DOT_SIZE,\n background: ANIMATION_CONFIG.DOT_COLOR,\n }}\n />\n\n {Array.from({ length: ANIMATION_CONFIG.TRAIL_COUNT }).map((_, i) => (\n <div\n key={i}\n ref={(el) => (trailRefs.current[i] = el)}\n className={s.trailDot}\n style={{\n width: ANIMATION_CONFIG.DOT_SIZE,\n height: ANIMATION_CONFIG.DOT_SIZE,\n background: ANIMATION_CONFIG.DOT_COLOR,\n filter: ANIMATION_CONFIG.TRAIL_BLUR\n ? `blur(${ANIMATION_CONFIG.TRAIL_BLUR}px)`\n : 'none',\n }}\n />\n ))}\n </>\n);\n"],"mappings":"AAAA,OAAOA,KAAK,MAA4B,OAAO;AAC/C,SAASC,gBAAgB,QAAQ,WAAW;AAC5C,OAAOC,CAAC,MAAM,qBAAqB;AAOnC,OAAO,MAAMC,QAAQ,GAAGC,IAAA;EAAA,IAAGC,UAAU,GAAAD,IAAA,CAAVC,UAAU;IAAEC,SAAS,GAAAF,IAAA,CAATE,SAAS;EAAA,oBAC9CN,KAAA,CAAAO,aAAA,CAAAP,KAAA,CAAAQ,QAAA,qBACER,KAAA,CAAAO,aAAA;IACEE,GAAG,EAAEJ,UAAW;IAChBK,SAAS,EAAER,CAAC,CAACS,OAAQ;IACrBC,KAAK,EAAE;MACLC,KAAK,EAAEZ,gBAAgB,CAACa,QAAQ;MAChCC,MAAM,EAAEd,gBAAgB,CAACa,QAAQ;MACjCE,UAAU,EAAEf,gBAAgB,CAACgB;IAC/B;EAAE,CACH,CAAC,EAEDC,KAAK,CAACC,IAAI,CAAC;IAAEC,MAAM,EAAEnB,gBAAgB,CAACoB;EAAY,CAAC,CAAC,CAACC,GAAG,CAAC,CAACC,CAAC,EAAEC,CAAC,kBAC7DxB,KAAA,CAAAO,aAAA;IACEkB,GAAG,EAAED,CAAE;IACPf,GAAG,EAAGiB,EAAE,IAAMpB,SAAS,CAACqB,OAAO,CAACH,CAAC,CAAC,GAAGE,EAAI;IACzChB,SAAS,EAAER,CAAC,CAAC0B,QAAS;IACtBhB,KAAK,EAAE;MACLC,KAAK,EAAEZ,gBAAgB,CAACa,QAAQ;MAChCC,MAAM,EAAEd,gBAAgB,CAACa,QAAQ;MACjCE,UAAU,EAAEf,gBAAgB,CAACgB,SAAS;MACtCY,MAAM,EAAE5B,gBAAgB,CAAC6B,UAAU,GAC/B,QAAQ7B,gBAAgB,CAAC6B,UAAU,KAAK,GACxC;IACN;EAAE,CACH,CACF,CACD,CAAC;AAAA,CACJ","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wix/ai-assistant-avatar",
3
- "version": "0.39.0",
3
+ "version": "0.41.0",
4
4
  "main": "dist/cjs/index.js",
5
5
  "module": "dist/esm/index.js",
6
6
  "types": "dist/types/index.d.ts",
@@ -31,7 +31,7 @@
31
31
  },
32
32
  "dependencies": {
33
33
  "@babel/runtime": "^7.27.6",
34
- "@wix/aria-ai-avatar": "^0.10.0"
34
+ "@wix/aria-ai-avatar": "^0.11.0"
35
35
  },
36
36
  "devDependencies": {
37
37
  "@testing-library/react": "^14.3.1",
@@ -83,5 +83,5 @@
83
83
  "yoshiFlowLibrary": {
84
84
  "buildEsmWithBabel": true
85
85
  },
86
- "falconPackageHash": "541365210ab0c62ae5a15c82215fd923070f07f0ea03c56dc8db85be"
86
+ "falconPackageHash": "3391edda4bca98f151fcbd9ce8a3607c61213e04f474b1126197ea82"
87
87
  }