@genesislcap/ai-assistant 14.461.0 → 14.461.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"flowing-waves-indicator.d.ts","sourceRoot":"","sources":["../../../src/components/flowing-waves-indicator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,cAAc,EAAQ,MAAM,uBAAuB,CAAC;AA6GjF;;;;;;;;;;;;;;;GAeG;AACH,qBAwDa,uBAAwB,SAAQ,cAAc;IAKzD,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAC,CAAmB;IAErC,iBAAiB;IAQjB,oBAAoB;IAQpB,OAAO,CAAC,IAAI;IAmBZ;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,SAAS;CA6BzB"}
1
+ {"version":3,"file":"flowing-waves-indicator.d.ts","sourceRoot":"","sources":["../../../src/components/flowing-waves-indicator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,cAAc,EAAQ,MAAM,uBAAuB,CAAC;AAiHjF;;;;;;;;;;;;;;;GAeG;AACH,qBA0Da,uBAAwB,SAAQ,cAAc;IAKzD,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAC,CAAmB;IAErC,iBAAiB;IAQjB,oBAAoB;IAQpB,OAAO,CAAC,IAAI;IAmBZ;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,SAAS;CA6BzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"main.styles.d.ts","sourceRoot":"","sources":["../../../src/main/main.styles.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,MAAM,iDA83BlB,CAAC"}
1
+ {"version":3,"file":"main.styles.d.ts","sourceRoot":"","sources":["../../../src/main/main.styles.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,MAAM,iDAq4BlB,CAAC"}
@@ -2,9 +2,15 @@ var AiFlowingWavesIndicator_1;
2
2
  import { __decorate } from "tslib";
3
3
  import { css, customElement, GenesisElement, html } from '@genesislcap/web-core';
4
4
  import { AI_COLOUR_AMBER, AI_COLOUR_CYAN, AI_COLOUR_PINK, AI_COLOUR_VIOLET, } from '../styles/ai-colours';
5
- /** SVG coordinate space the bands are drawn in (aspect matches the host box). */
5
+ /**
6
+ * SVG coordinate space the bands are drawn in. The bands stretch to fill the
7
+ * host box (the band SVGs use `preserveAspectRatio="none"`), so this aspect need
8
+ * not match the host's. `VIEW_H` is kept just tall enough to bound the crests,
9
+ * leaving minimal dead space above/below the line — otherwise the waves float in
10
+ * the vertical middle of the host and read as sitting too low beside the avatar.
11
+ */
6
12
  const VIEW_W = 225;
7
- const VIEW_H = 90;
13
+ const VIEW_H = 50;
8
14
  const CENTRE_Y = VIEW_H / 2;
9
15
  /** Number of samples traced across each band. */
10
16
  const POINTS = 90;
@@ -64,9 +70,7 @@ const BANDS = [
64
70
  // `mix-blend-mode: screen`, which composites reliably between HTML-level layers
65
71
  // but NOT between sibling SVG <path>/<g> elements in many browsers — hence one
66
72
  // svg per band rather than four paths in a single svg.
67
- const bandLayersMarkup = BANDS.map((_b, i) => `<svg class="layer band-layer" viewBox="0 0 ${VIEW_W} ${VIEW_H}">` +
68
- `<path class="band b${i + 1}" data-band="${i}" />` +
69
- `</svg>`).join('');
73
+ const bandLayersMarkup = BANDS.map((_b, i) => `<svg class="layer band-layer" viewBox="0 0 ${VIEW_W} ${VIEW_H}" preserveAspectRatio="none"><path class="band b${i + 1}" data-band="${i}" /></svg>`).join('');
70
74
  /**
71
75
  * Animated "flowing waves" loading indicator — coloured organic waves (in the
72
76
  * four brand colours) whose bumps swell, shrink, merge and split across a line,
@@ -171,7 +175,9 @@ AiFlowingWavesIndicator = AiFlowingWavesIndicator_1 = __decorate([
171
175
  :host {
172
176
  display: inline-block;
173
177
  width: 180px;
174
- height: 72px;
178
+ /* Height matches the message avatar (32px) so the wave line sits level
179
+ with it. The bands stretch to fill via preserveAspectRatio="none". */
180
+ height: 32px;
175
181
  }
176
182
 
177
183
  /* Transparent — sits directly on the chat surface (no backdrop). 'isolation:
@@ -851,6 +851,13 @@ export const styles = css `
851
851
  padding: calc(var(--design-unit) * 2px) calc(var(--design-unit) * 3px);
852
852
  }
853
853
 
854
+ /* The flowing-waves host is the avatar's height (32px), so drop the top padding
855
+ the shared rule adds — that keeps the wave line level with the avatar instead
856
+ of dropping it toward the row's vertical centre. */
857
+ .thinking-flowing-waves {
858
+ padding-top: 0;
859
+ }
860
+
854
861
  .thinking-caption {
855
862
  font-size: var(--type-ramp-minus-1-font-size, 12px);
856
863
  line-height: var(--type-ramp-minus-1-line-height, 16px);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@genesislcap/ai-assistant",
3
3
  "description": "Genesis AI Assistant micro-frontend",
4
- "version": "14.461.0",
4
+ "version": "14.461.2",
5
5
  "license": "SEE LICENSE IN license.txt",
6
6
  "main": "dist/esm/index.js",
7
7
  "types": "dist/ai-assistant.d.ts",
@@ -64,24 +64,24 @@
64
64
  }
65
65
  },
66
66
  "devDependencies": {
67
- "@genesislcap/foundation-testing": "14.461.0",
68
- "@genesislcap/genx": "14.461.0",
69
- "@genesislcap/rollup-builder": "14.461.0",
70
- "@genesislcap/ts-builder": "14.461.0",
71
- "@genesislcap/uvu-playwright-builder": "14.461.0",
72
- "@genesislcap/vite-builder": "14.461.0",
73
- "@genesislcap/webpack-builder": "14.461.0",
67
+ "@genesislcap/foundation-testing": "14.461.2",
68
+ "@genesislcap/genx": "14.461.2",
69
+ "@genesislcap/rollup-builder": "14.461.2",
70
+ "@genesislcap/ts-builder": "14.461.2",
71
+ "@genesislcap/uvu-playwright-builder": "14.461.2",
72
+ "@genesislcap/vite-builder": "14.461.2",
73
+ "@genesislcap/webpack-builder": "14.461.2",
74
74
  "@types/dompurify": "^3.0.5",
75
75
  "@types/marked": "^5.0.2"
76
76
  },
77
77
  "dependencies": {
78
- "@genesislcap/foundation-ai": "14.461.0",
79
- "@genesislcap/foundation-logger": "14.461.0",
80
- "@genesislcap/foundation-redux": "14.461.0",
81
- "@genesislcap/foundation-ui": "14.461.0",
82
- "@genesislcap/foundation-utils": "14.461.0",
83
- "@genesislcap/rapid-design-system": "14.461.0",
84
- "@genesislcap/web-core": "14.461.0",
78
+ "@genesislcap/foundation-ai": "14.461.2",
79
+ "@genesislcap/foundation-logger": "14.461.2",
80
+ "@genesislcap/foundation-redux": "14.461.2",
81
+ "@genesislcap/foundation-ui": "14.461.2",
82
+ "@genesislcap/foundation-utils": "14.461.2",
83
+ "@genesislcap/rapid-design-system": "14.461.2",
84
+ "@genesislcap/web-core": "14.461.2",
85
85
  "dompurify": "^3.3.1",
86
86
  "marked": "^17.0.3"
87
87
  },
@@ -93,5 +93,5 @@
93
93
  "publishConfig": {
94
94
  "access": "public"
95
95
  },
96
- "gitHead": "d87c27bf9e91f6f5d1cf51992e7892df9434c9be"
96
+ "gitHead": "7999f5af9df17157002c463d10fe75a14ac43521"
97
97
  }
@@ -6,9 +6,15 @@ import {
6
6
  AI_COLOUR_VIOLET,
7
7
  } from '../styles/ai-colours';
8
8
 
9
- /** SVG coordinate space the bands are drawn in (aspect matches the host box). */
9
+ /**
10
+ * SVG coordinate space the bands are drawn in. The bands stretch to fill the
11
+ * host box (the band SVGs use `preserveAspectRatio="none"`), so this aspect need
12
+ * not match the host's. `VIEW_H` is kept just tall enough to bound the crests,
13
+ * leaving minimal dead space above/below the line — otherwise the waves float in
14
+ * the vertical middle of the host and read as sitting too low beside the avatar.
15
+ */
10
16
  const VIEW_W = 225;
11
- const VIEW_H = 90;
17
+ const VIEW_H = 50;
12
18
  const CENTRE_Y = VIEW_H / 2;
13
19
  /** Number of samples traced across each band. */
14
20
  const POINTS = 90;
@@ -102,9 +108,7 @@ const BANDS: BandConfig[] = [
102
108
  // svg per band rather than four paths in a single svg.
103
109
  const bandLayersMarkup = BANDS.map(
104
110
  (_b, i) =>
105
- `<svg class="layer band-layer" viewBox="0 0 ${VIEW_W} ${VIEW_H}">` +
106
- `<path class="band b${i + 1}" data-band="${i}" />` +
107
- `</svg>`,
111
+ `<svg class="layer band-layer" viewBox="0 0 ${VIEW_W} ${VIEW_H}" preserveAspectRatio="none"><path class="band b${i + 1}" data-band="${i}" /></svg>`,
108
112
  ).join('');
109
113
 
110
114
  /**
@@ -132,7 +136,9 @@ const bandLayersMarkup = BANDS.map(
132
136
  :host {
133
137
  display: inline-block;
134
138
  width: 180px;
135
- height: 72px;
139
+ /* Height matches the message avatar (32px) so the wave line sits level
140
+ with it. The bands stretch to fill via preserveAspectRatio="none". */
141
+ height: 32px;
136
142
  }
137
143
 
138
144
  /* Transparent — sits directly on the chat surface (no backdrop). 'isolation:
@@ -857,6 +857,13 @@ export const styles = css`
857
857
  padding: calc(var(--design-unit) * 2px) calc(var(--design-unit) * 3px);
858
858
  }
859
859
 
860
+ /* The flowing-waves host is the avatar's height (32px), so drop the top padding
861
+ the shared rule adds — that keeps the wave line level with the avatar instead
862
+ of dropping it toward the row's vertical centre. */
863
+ .thinking-flowing-waves {
864
+ padding-top: 0;
865
+ }
866
+
860
867
  .thinking-caption {
861
868
  font-size: var(--type-ramp-minus-1-font-size, 12px);
862
869
  line-height: var(--type-ramp-minus-1-line-height, 16px);