@spaced-out/ui-design-system 0.6.15 → 0.6.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,38 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ### [0.6.17](https://github.com/spaced-out/ui-design-system/compare/v0.6.16...v0.6.17) (2026-05-13)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * **Voiceorb:** gds-560 use ref to update volume ([#483](https://github.com/spaced-out/ui-design-system/issues/483)) ([2c2ffee](https://github.com/spaced-out/ui-design-system/commit/2c2ffee9243abca31b9ad90df4cb70b28c8ed265))
11
+
12
+ ### [0.6.17](https://github.com/spaced-out/ui-design-system/compare/v0.6.16...v0.6.17) (2026-05-13)
13
+
14
+
15
+ ### Features
16
+
17
+ * **VoiceOrb:** replace `volumeTickEvent` window event API with imperative `VoiceOrbHandle` ref (`setVolume`)
18
+
19
+
20
+ ### BREAKING CHANGES
21
+
22
+ * **VoiceOrb:** `volumeTickEvent` prop removed; callers must pass a `ref` of type `VoiceOrbHandle` and call `ref.current.setVolume(volume)` instead of dispatching a CustomEvent on `window`. The forwarded ref type also changed from `HTMLDivElement` to `VoiceOrbHandle`.
23
+
24
+ ### [0.6.16](https://github.com/spaced-out/ui-design-system/compare/v0.6.15...v0.6.16) (2026-05-12)
25
+
26
+
27
+ ### Features
28
+
29
+ * added loading state (Voice Orb) ([#484](https://github.com/spaced-out/ui-design-system/issues/484)) ([7080cf9](https://github.com/spaced-out/ui-design-system/commit/7080cf9f858b4a8e664c108e514c343a7fec1855))
30
+
31
+ ### [0.6.16](https://github.com/spaced-out/ui-design-system/compare/v0.6.15...v0.6.16) (2026-05-11)
32
+
33
+ ### Features
34
+
35
+ * **VoiceOrb:** Added loading animation for voice orb.
36
+
5
37
  ### [0.6.15](https://github.com/spaced-out/ui-design-system/compare/v0.6.14...v0.6.15) (2026-05-07)
6
38
 
7
39
 
@@ -4,14 +4,16 @@ type ClassNames = Readonly<{
4
4
  orbContainer?: string;
5
5
  orb?: string;
6
6
  }>;
7
+ export interface VoiceOrbHandle {
8
+ setVolume: (volume: number) => void;
9
+ }
7
10
  export interface VoiceOrbProps {
8
11
  classNames?: ClassNames;
9
12
  /** Enable listening to microphone audio input for bar animation */
10
13
  enableMicrophone?: boolean;
11
- /** Custom event name to listen for agent volume updates. Default `'agent_volume_update'`. */
12
- volumeTickEvent?: string;
13
14
  testId?: string;
15
+ loading?: boolean;
14
16
  }
15
- export declare const VoiceOrb: React.ForwardRefExoticComponent<VoiceOrbProps & React.RefAttributes<HTMLDivElement>>;
17
+ export declare const VoiceOrb: React.ForwardRefExoticComponent<VoiceOrbProps & React.RefAttributes<VoiceOrbHandle>>;
16
18
  export {};
17
19
  //# sourceMappingURL=VoiceOrb.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"VoiceOrb.d.ts","sourceRoot":"","sources":["../../../../src/components/VoiceOrb/VoiceOrb/VoiceOrb.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,KAAK,UAAU,GAAG,QAAQ,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC,CAAC;AAEH,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,mEAAmE;IACnE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,6FAA6F;IAC7F,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,QAAQ,sFAmDpB,CAAC"}
1
+ {"version":3,"file":"VoiceOrb.d.ts","sourceRoot":"","sources":["../../../../src/components/VoiceOrb/VoiceOrb/VoiceOrb.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,KAAK,UAAU,GAAG,QAAQ,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC,CAAC;AAEH,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,mEAAmE;IACnE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,QAAQ,sFA+CpB,CAAC"}
@@ -17,28 +17,23 @@ const VoiceOrb = exports.VoiceOrb = /*#__PURE__*/React.forwardRef((_ref, ref) =>
17
17
  let {
18
18
  classNames,
19
19
  enableMicrophone = false,
20
- volumeTickEvent = 'agent_volume_update',
21
- testId
20
+ testId,
21
+ loading = false
22
22
  } = _ref;
23
23
  const orbRef = React.useRef(null);
24
- React.useEffect(() => {
25
- const handleAgentVolumeUpdate = event => {
24
+ React.useImperativeHandle(ref, () => ({
25
+ setVolume(volume) {
26
26
  const el = orbRef.current;
27
27
  if (!el) {
28
28
  return;
29
29
  }
30
- const vars = (0, _constants.calculateOrbShadowVars)(event.detail.volume);
30
+ const vars = (0, _constants.calculateOrbShadowVars)(volume);
31
31
  for (const [key, value] of Object.entries(vars)) {
32
32
  el.style.setProperty(key, value);
33
33
  }
34
- };
35
- window.addEventListener(volumeTickEvent, handleAgentVolumeUpdate);
36
- return () => {
37
- window.removeEventListener(volumeTickEvent, handleAgentVolumeUpdate);
38
- };
39
- }, [volumeTickEvent]);
34
+ }
35
+ }));
40
36
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
41
- ref: ref,
42
37
  "data-testid": (0, _qa.generateTestId)({
43
38
  base: testId,
44
39
  slot: 'container'
@@ -48,7 +43,9 @@ const VoiceOrb = exports.VoiceOrb = /*#__PURE__*/React.forwardRef((_ref, ref) =>
48
43
  className: (0, _classify.default)(_VoiceOrbModule.default.orbContainer, classNames?.orbContainer),
49
44
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
50
45
  ref: orbRef,
51
- className: (0, _classify.default)(_VoiceOrbModule.default.orb, classNames?.orb),
46
+ className: (0, _classify.default)(_VoiceOrbModule.default.orb, {
47
+ [_VoiceOrbModule.default.loading]: loading
48
+ }, classNames?.orb),
52
49
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Microphone.Microphone, {
53
50
  enableMicrophone: enableMicrophone
54
51
  })
@@ -49,3 +49,23 @@
49
49
  );
50
50
  pointer-events: none;
51
51
  }
52
+
53
+ .loading {
54
+ animation: orbPulse 2s ease-in-out infinite;
55
+ box-shadow: 0px 0px 10px rgba(86, 204, 242, 0.3),
56
+ 0px 0px 20px rgba(47, 128, 237, 0.3), 0px 0px 30px rgba(124, 58, 237, 0.3);
57
+ }
58
+
59
+ @keyframes orbPulse {
60
+ 0% {
61
+ transform: scale(1);
62
+ }
63
+
64
+ 50% {
65
+ transform: scale(0.92);
66
+ }
67
+
68
+ 100% {
69
+ transform: scale(1);
70
+ }
71
+ }
package/mcp/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spaced-out/genesis-mcp",
3
- "version": "1.0.28",
3
+ "version": "1.0.30",
4
4
  "description": "MCP server for Genesis UI Design System - provides AI assistants with access to components, hooks, and design tokens",
5
5
  "type": "module",
6
6
  "main": "index.js",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spaced-out/ui-design-system",
3
- "version": "0.6.15",
3
+ "version": "0.6.17",
4
4
  "description": "Sense UI components library",
5
5
  "author": {
6
6
  "name": "Spaced Out"