@common-origin/design-system 2.20.0 → 2.21.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 (55) hide show
  1. package/dist/client.js +844 -344
  2. package/dist/client.js.map +1 -1
  3. package/dist/components/atoms/AILabel/AILabel.d.mts +30 -0
  4. package/dist/components/atoms/AILabel/AILabel.d.ts +30 -0
  5. package/dist/components/atoms/AILabel/AILabel.mjs +94 -0
  6. package/dist/components/atoms/AILabel/AILabel.mjs.map +1 -0
  7. package/dist/components/atoms/AILabel/index.d.mts +1 -0
  8. package/dist/components/atoms/AILabel/index.d.ts +1 -0
  9. package/dist/components/atoms/Chip/SuggestionChip.d.mts +24 -0
  10. package/dist/components/atoms/Chip/SuggestionChip.d.ts +24 -0
  11. package/dist/components/atoms/Chip/SuggestionChip.mjs +61 -0
  12. package/dist/components/atoms/Chip/SuggestionChip.mjs.map +1 -0
  13. package/dist/components/atoms/Chip/index.d.mts +1 -0
  14. package/dist/components/atoms/Chip/index.d.ts +1 -0
  15. package/dist/components/atoms/index.d.mts +1 -0
  16. package/dist/components/atoms/index.d.ts +1 -0
  17. package/dist/components/molecules/AgentInput/AgentInput.d.mts +63 -1
  18. package/dist/components/molecules/AgentInput/AgentInput.d.ts +63 -1
  19. package/dist/components/molecules/AgentInput/AgentInput.mjs +476 -112
  20. package/dist/components/molecules/AgentInput/agentInputSpeech.d.mts +2 -0
  21. package/dist/components/molecules/AgentInput/agentInputSpeech.d.ts +2 -0
  22. package/dist/components/molecules/AgentInput/agentInputSpeech.mjs +5 -1
  23. package/dist/components/molecules/AgentInput/agentInputSpeech.mjs.map +1 -1
  24. package/dist/components/molecules/AgentInput/index.d.mts +1 -1
  25. package/dist/components/molecules/AgentInput/index.d.ts +1 -1
  26. package/dist/components/molecules/CardLarge/CardLarge.mjs +1 -0
  27. package/dist/components/molecules/ChipGroup/ChipGroup.mjs +2 -0
  28. package/dist/components/molecules/FeatureBlock/FeatureBlock.mjs +1 -0
  29. package/dist/data.js +316 -3
  30. package/dist/data.js.map +1 -1
  31. package/dist/index.js +2 -0
  32. package/dist/index.js.map +1 -1
  33. package/dist/index.mjs +2 -0
  34. package/dist/index.mjs.map +1 -1
  35. package/dist/lib/tokenAliases.mjs +1 -0
  36. package/dist/lib/tokenAliases.mjs.map +1 -1
  37. package/dist/styles/icons.json +30 -1
  38. package/dist/styles/icons.json.mjs +33 -2
  39. package/dist/styles/icons.json.mjs.map +1 -1
  40. package/dist/styles/tokens.d.mts +545 -1
  41. package/dist/styles/tokens.d.ts +545 -1
  42. package/dist/styles/tokens.json +284 -2
  43. package/dist/styles/tokens.json.mjs +284 -2
  44. package/dist/styles/tokens.json.mjs.map +1 -1
  45. package/dist/tokens/index.js +284 -2
  46. package/dist/tokens/index.js.map +1 -1
  47. package/dist/tokens/index.mjs +284 -2
  48. package/dist/tokens/index.mjs.map +1 -1
  49. package/dist/tokens/styles/tokens.d.mts +545 -1
  50. package/dist/tokens/styles/tokens.d.ts +545 -1
  51. package/dist/tokens.css +242 -0
  52. package/dist/types/icons.d.mts +1 -1
  53. package/dist/types/icons.d.ts +1 -1
  54. package/dist/types/icons.mjs.map +1 -1
  55. package/package.json +1 -1
@@ -39,5 +39,7 @@ export interface SpeechRecognitionLike {
39
39
  export type SpeechRecognitionConstructorLike = new () => SpeechRecognitionLike;
40
40
  export declare function detectSpeechRecognitionConstructor(targetWindow?: Window): SpeechRecognitionConstructorLike | null;
41
41
  export declare function normalizeTranscript(input: string): string;
42
+ /** Typed text: like a transcript, but line breaks are kept (spaces around them are dropped). */
43
+ export declare function normalizeMessage(input: string): string;
42
44
  export declare function mapSpeechErrorCode(error?: string): AgentInputVoiceErrorCode;
43
45
  export declare function defaultVoiceErrorMessage(code: AgentInputVoiceErrorCode): string;
@@ -39,5 +39,7 @@ export interface SpeechRecognitionLike {
39
39
  export type SpeechRecognitionConstructorLike = new () => SpeechRecognitionLike;
40
40
  export declare function detectSpeechRecognitionConstructor(targetWindow?: Window): SpeechRecognitionConstructorLike | null;
41
41
  export declare function normalizeTranscript(input: string): string;
42
+ /** Typed text: like a transcript, but line breaks are kept (spaces around them are dropped). */
43
+ export declare function normalizeMessage(input: string): string;
42
44
  export declare function mapSpeechErrorCode(error?: string): AgentInputVoiceErrorCode;
43
45
  export declare function defaultVoiceErrorMessage(code: AgentInputVoiceErrorCode): string;
@@ -13,6 +13,10 @@ function detectSpeechRecognitionConstructor(targetWindow) {
13
13
  function normalizeTranscript(input) {
14
14
  return input.replace(/\s+/g, ' ').trim();
15
15
  }
16
+ /** Typed text: like a transcript, but line breaks are kept (spaces around them are dropped). */
17
+ function normalizeMessage(input) {
18
+ return input.replace(/[^\S\n]+/g, ' ').replace(/ ?\n ?/g, '\n').trim();
19
+ }
16
20
  function mapSpeechErrorCode(error) {
17
21
  switch (error) {
18
22
  case 'not-allowed':
@@ -45,5 +49,5 @@ function defaultVoiceErrorMessage(code) {
45
49
  }
46
50
  }
47
51
 
48
- export { defaultVoiceErrorMessage, detectSpeechRecognitionConstructor, mapSpeechErrorCode, normalizeTranscript };
52
+ export { defaultVoiceErrorMessage, detectSpeechRecognitionConstructor, mapSpeechErrorCode, normalizeMessage, normalizeTranscript };
49
53
  //# sourceMappingURL=agentInputSpeech.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"agentInputSpeech.mjs","sources":["../../../../src/components/molecules/AgentInput/agentInputSpeech.ts"],"sourcesContent":["export type AgentInputSubmitSource = 'text' | 'voice-final'\n\nexport type AgentInputVoiceErrorCode =\n | 'not-supported'\n | 'not-allowed'\n | 'no-speech'\n | 'audio-capture'\n | 'aborted'\n | 'unknown'\n\nexport interface AgentInputVoiceError {\n code: AgentInputVoiceErrorCode\n message: string\n}\n\nexport interface SpeechRecognitionAlternativeLike {\n transcript: string\n confidence: number\n}\n\nexport interface SpeechRecognitionResultLike {\n isFinal: boolean\n length: number\n [index: number]: SpeechRecognitionAlternativeLike\n}\n\nexport interface SpeechRecognitionResultListLike {\n length: number\n [index: number]: SpeechRecognitionResultLike\n}\n\nexport interface SpeechRecognitionEventLike {\n resultIndex: number\n results: SpeechRecognitionResultListLike\n}\n\nexport interface SpeechRecognitionErrorEventLike {\n error?: string\n message?: string\n}\n\nexport interface SpeechRecognitionLike {\n lang: string\n interimResults: boolean\n continuous: boolean\n onresult: ((event: SpeechRecognitionEventLike) => void) | null\n onerror: ((event: SpeechRecognitionErrorEventLike) => void) | null\n onend: (() => void) | null\n start: () => void\n stop: () => void\n abort: () => void\n}\n\nexport type SpeechRecognitionConstructorLike = new () => SpeechRecognitionLike\n\ntype BrowserWindowWithSpeech = Window & {\n SpeechRecognition?: SpeechRecognitionConstructorLike\n webkitSpeechRecognition?: SpeechRecognitionConstructorLike\n}\n\nexport function detectSpeechRecognitionConstructor(\n targetWindow?: Window\n): SpeechRecognitionConstructorLike | null {\n if (!targetWindow) return null\n\n const candidateWindow = targetWindow as BrowserWindowWithSpeech\n if (candidateWindow.SpeechRecognition) {\n return candidateWindow.SpeechRecognition\n }\n\n if (candidateWindow.webkitSpeechRecognition) {\n return candidateWindow.webkitSpeechRecognition\n }\n\n return null\n}\n\nexport function normalizeTranscript(input: string): string {\n return input.replace(/\\s+/g, ' ').trim()\n}\n\nexport function mapSpeechErrorCode(error?: string): AgentInputVoiceErrorCode {\n switch (error) {\n case 'not-allowed':\n case 'service-not-allowed':\n return 'not-allowed'\n case 'no-speech':\n return 'no-speech'\n case 'audio-capture':\n return 'audio-capture'\n case 'aborted':\n return 'aborted'\n default:\n return 'unknown'\n }\n}\n\nexport function defaultVoiceErrorMessage(code: AgentInputVoiceErrorCode): string {\n switch (code) {\n case 'not-supported':\n return 'Voice input is not supported in this browser. Use Chrome or Edge.'\n case 'not-allowed':\n return 'Microphone permission denied. Allow access and try again.'\n case 'no-speech':\n return 'No speech detected. Try again.'\n case 'audio-capture':\n return 'No microphone device detected. Check your microphone and try again.'\n case 'aborted':\n return 'Voice input was stopped.'\n default:\n return 'Voice input failed. Try again.'\n }\n}\n"],"names":["detectSpeechRecognitionConstructor","targetWindow","candidateWindow","SpeechRecognition","webkitSpeechRecognition","normalizeTranscript","input","replace","trim","mapSpeechErrorCode","error","defaultVoiceErrorMessage","code"],"mappings":";AA4DM,SAAUA,kCAAkCA,CAChDC,YAAqB,EAAA;AAErB,EAAA,IAAI,CAACA,YAAY,EAAE,OAAO,IAAI,CAAA;EAE9B,IAAMC,eAAe,GAAGD,YAAuC,CAAA;EAC/D,IAAIC,eAAe,CAACC,iBAAiB,EAAE;IACrC,OAAOD,eAAe,CAACC,iBAAiB,CAAA;AAC1C,GAAA;EAEA,IAAID,eAAe,CAACE,uBAAuB,EAAE;IAC3C,OAAOF,eAAe,CAACE,uBAAuB,CAAA;AAChD,GAAA;AAEA,EAAA,OAAO,IAAI,CAAA;AACb,CAAA;AAEM,SAAUC,mBAAmBA,CAACC,KAAa,EAAA;EAC/C,OAAOA,KAAK,CAACC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAACC,IAAI,EAAE,CAAA;AAC1C,CAAA;AAEM,SAAUC,kBAAkBA,CAACC,KAAc,EAAA;AAC/C,EAAA,QAAQA,KAAK;AACX,IAAA,KAAK,aAAa,CAAA;AAClB,IAAA,KAAK,qBAAqB;AACxB,MAAA,OAAO,aAAa,CAAA;AACtB,IAAA,KAAK,WAAW;AACd,MAAA,OAAO,WAAW,CAAA;AACpB,IAAA,KAAK,eAAe;AAClB,MAAA,OAAO,eAAe,CAAA;AACxB,IAAA,KAAK,SAAS;AACZ,MAAA,OAAO,SAAS,CAAA;AAClB,IAAA;AACE,MAAA,OAAO,SAAS,CAAA;AACpB,GAAA;AACF,CAAA;AAEM,SAAUC,wBAAwBA,CAACC,IAA8B,EAAA;AACrE,EAAA,QAAQA,IAAI;AACV,IAAA,KAAK,eAAe;AAClB,MAAA,OAAO,mEAAmE,CAAA;AAC5E,IAAA,KAAK,aAAa;AAChB,MAAA,OAAO,2DAA2D,CAAA;AACpE,IAAA,KAAK,WAAW;AACd,MAAA,OAAO,gCAAgC,CAAA;AACzC,IAAA,KAAK,eAAe;AAClB,MAAA,OAAO,qEAAqE,CAAA;AAC9E,IAAA,KAAK,SAAS;AACZ,MAAA,OAAO,0BAA0B,CAAA;AACnC,IAAA;AACE,MAAA,OAAO,gCAAgC,CAAA;AAC3C,GAAA;AACF;;;;"}
1
+ {"version":3,"file":"agentInputSpeech.mjs","sources":["../../../../src/components/molecules/AgentInput/agentInputSpeech.ts"],"sourcesContent":["export type AgentInputSubmitSource = 'text' | 'voice-final'\n\nexport type AgentInputVoiceErrorCode =\n | 'not-supported'\n | 'not-allowed'\n | 'no-speech'\n | 'audio-capture'\n | 'aborted'\n | 'unknown'\n\nexport interface AgentInputVoiceError {\n code: AgentInputVoiceErrorCode\n message: string\n}\n\nexport interface SpeechRecognitionAlternativeLike {\n transcript: string\n confidence: number\n}\n\nexport interface SpeechRecognitionResultLike {\n isFinal: boolean\n length: number\n [index: number]: SpeechRecognitionAlternativeLike\n}\n\nexport interface SpeechRecognitionResultListLike {\n length: number\n [index: number]: SpeechRecognitionResultLike\n}\n\nexport interface SpeechRecognitionEventLike {\n resultIndex: number\n results: SpeechRecognitionResultListLike\n}\n\nexport interface SpeechRecognitionErrorEventLike {\n error?: string\n message?: string\n}\n\nexport interface SpeechRecognitionLike {\n lang: string\n interimResults: boolean\n continuous: boolean\n onresult: ((event: SpeechRecognitionEventLike) => void) | null\n onerror: ((event: SpeechRecognitionErrorEventLike) => void) | null\n onend: (() => void) | null\n start: () => void\n stop: () => void\n abort: () => void\n}\n\nexport type SpeechRecognitionConstructorLike = new () => SpeechRecognitionLike\n\ntype BrowserWindowWithSpeech = Window & {\n SpeechRecognition?: SpeechRecognitionConstructorLike\n webkitSpeechRecognition?: SpeechRecognitionConstructorLike\n}\n\nexport function detectSpeechRecognitionConstructor(\n targetWindow?: Window\n): SpeechRecognitionConstructorLike | null {\n if (!targetWindow) return null\n\n const candidateWindow = targetWindow as BrowserWindowWithSpeech\n if (candidateWindow.SpeechRecognition) {\n return candidateWindow.SpeechRecognition\n }\n\n if (candidateWindow.webkitSpeechRecognition) {\n return candidateWindow.webkitSpeechRecognition\n }\n\n return null\n}\n\nexport function normalizeTranscript(input: string): string {\n return input.replace(/\\s+/g, ' ').trim()\n}\n\n/** Typed text: like a transcript, but line breaks are kept (spaces around them are dropped). */\nexport function normalizeMessage(input: string): string {\n return input\n .replace(/[^\\S\\n]+/g, ' ')\n .replace(/ ?\\n ?/g, '\\n')\n .trim()\n}\n\nexport function mapSpeechErrorCode(error?: string): AgentInputVoiceErrorCode {\n switch (error) {\n case 'not-allowed':\n case 'service-not-allowed':\n return 'not-allowed'\n case 'no-speech':\n return 'no-speech'\n case 'audio-capture':\n return 'audio-capture'\n case 'aborted':\n return 'aborted'\n default:\n return 'unknown'\n }\n}\n\nexport function defaultVoiceErrorMessage(code: AgentInputVoiceErrorCode): string {\n switch (code) {\n case 'not-supported':\n return 'Voice input is not supported in this browser. Use Chrome or Edge.'\n case 'not-allowed':\n return 'Microphone permission denied. Allow access and try again.'\n case 'no-speech':\n return 'No speech detected. Try again.'\n case 'audio-capture':\n return 'No microphone device detected. Check your microphone and try again.'\n case 'aborted':\n return 'Voice input was stopped.'\n default:\n return 'Voice input failed. Try again.'\n }\n}\n"],"names":["detectSpeechRecognitionConstructor","targetWindow","candidateWindow","SpeechRecognition","webkitSpeechRecognition","normalizeTranscript","input","replace","trim","normalizeMessage","mapSpeechErrorCode","error","defaultVoiceErrorMessage","code"],"mappings":";AA4DM,SAAUA,kCAAkCA,CAChDC,YAAqB,EAAA;AAErB,EAAA,IAAI,CAACA,YAAY,EAAE,OAAO,IAAI,CAAA;EAE9B,IAAMC,eAAe,GAAGD,YAAuC,CAAA;EAC/D,IAAIC,eAAe,CAACC,iBAAiB,EAAE;IACrC,OAAOD,eAAe,CAACC,iBAAiB,CAAA;AAC1C,GAAA;EAEA,IAAID,eAAe,CAACE,uBAAuB,EAAE;IAC3C,OAAOF,eAAe,CAACE,uBAAuB,CAAA;AAChD,GAAA;AAEA,EAAA,OAAO,IAAI,CAAA;AACb,CAAA;AAEM,SAAUC,mBAAmBA,CAACC,KAAa,EAAA;EAC/C,OAAOA,KAAK,CAACC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAACC,IAAI,EAAE,CAAA;AAC1C,CAAA;AAEA;AACM,SAAUC,gBAAgBA,CAACH,KAAa,EAAA;AAC5C,EAAA,OAAOA,KAAK,CACTC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CACzBA,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CACxBC,IAAI,EAAE,CAAA;AACX,CAAA;AAEM,SAAUE,kBAAkBA,CAACC,KAAc,EAAA;AAC/C,EAAA,QAAQA,KAAK;AACX,IAAA,KAAK,aAAa,CAAA;AAClB,IAAA,KAAK,qBAAqB;AACxB,MAAA,OAAO,aAAa,CAAA;AACtB,IAAA,KAAK,WAAW;AACd,MAAA,OAAO,WAAW,CAAA;AACpB,IAAA,KAAK,eAAe;AAClB,MAAA,OAAO,eAAe,CAAA;AACxB,IAAA,KAAK,SAAS;AACZ,MAAA,OAAO,SAAS,CAAA;AAClB,IAAA;AACE,MAAA,OAAO,SAAS,CAAA;AACpB,GAAA;AACF,CAAA;AAEM,SAAUC,wBAAwBA,CAACC,IAA8B,EAAA;AACrE,EAAA,QAAQA,IAAI;AACV,IAAA,KAAK,eAAe;AAClB,MAAA,OAAO,mEAAmE,CAAA;AAC5E,IAAA,KAAK,aAAa;AAChB,MAAA,OAAO,2DAA2D,CAAA;AACpE,IAAA,KAAK,WAAW;AACd,MAAA,OAAO,gCAAgC,CAAA;AACzC,IAAA,KAAK,eAAe;AAClB,MAAA,OAAO,qEAAqE,CAAA;AAC9E,IAAA,KAAK,SAAS;AACZ,MAAA,OAAO,0BAA0B,CAAA;AACnC,IAAA;AACE,MAAA,OAAO,gCAAgC,CAAA;AAC3C,GAAA;AACF;;;;"}
@@ -1,3 +1,3 @@
1
1
  export { AgentInput } from './AgentInput.mjs';
2
- export type { AgentInputProps } from './AgentInput.mjs';
2
+ export type { AgentInputProps, AgentInputHandle, AgentInputFocusOptions } from './AgentInput.mjs';
3
3
  export type { AgentInputSubmitSource, AgentInputVoiceErrorCode } from './agentInputSpeech.mjs';
@@ -1,3 +1,3 @@
1
1
  export { AgentInput } from './AgentInput';
2
- export type { AgentInputProps } from './AgentInput';
2
+ export type { AgentInputProps, AgentInputHandle, AgentInputFocusOptions } from './AgentInput';
3
3
  export type { AgentInputSubmitSource, AgentInputVoiceErrorCode } from './agentInputSpeech';
@@ -6,6 +6,7 @@ const styled = styled$module.default || styled$module;
6
6
  import { Chip } from '../../atoms/Chip/Chip.mjs';
7
7
  import '../../atoms/Icon/Icon.mjs';
8
8
  import '../../atoms/Chip/shared/ChipBase.mjs';
9
+ import '../../atoms/Chip/SuggestionChip.mjs';
9
10
  import { Picture } from '../../atoms/Picture/Picture.mjs';
10
11
  import { Stack } from '../../atoms/Stack/Stack.mjs';
11
12
  import { Typography } from '../../atoms/Typography/Typography.mjs';
@@ -12,6 +12,7 @@ import '../../atoms/CategoryLabel/CategoryLabel.mjs';
12
12
  import { Chip } from '../../atoms/Chip/Chip.mjs';
13
13
  import '../../atoms/Icon/Icon.mjs';
14
14
  import '../../atoms/Chip/shared/ChipBase.mjs';
15
+ import '../../atoms/Chip/SuggestionChip.mjs';
15
16
  import '../../atoms/Container/Container.mjs';
16
17
  import '../../atoms/Picture/Picture.mjs';
17
18
  import '../../atoms/DateFormatter/DateFormatter.mjs';
@@ -24,6 +25,7 @@ import '../../atoms/StatusBadge/StatusBadge.mjs';
24
25
  import '../../atoms/StatusLabel/StatusLabel.mjs';
25
26
  import '../../atoms/Tag/Tag.mjs';
26
27
  import '../../atoms/Typography/Typography.mjs';
28
+ import '../../atoms/AILabel/AILabel.mjs';
27
29
 
28
30
  var ChipGroupWrapper = /*#__PURE__*/styled.div.withConfig({
29
31
  displayName: "ChipGroup__ChipGroupWrapper",
@@ -6,6 +6,7 @@ const styled = styled$module.default || styled$module;
6
6
  import { Chip } from '../../atoms/Chip/Chip.mjs';
7
7
  import '../../atoms/Icon/Icon.mjs';
8
8
  import '../../atoms/Chip/shared/ChipBase.mjs';
9
+ import '../../atoms/Chip/SuggestionChip.mjs';
9
10
  import { Button } from '../../atoms/Button/Button.mjs';
10
11
  import { Picture } from '../../atoms/Picture/Picture.mjs';
11
12
  import { Divider } from '../../atoms/Divider/Divider.mjs';
package/dist/data.js CHANGED
@@ -173,6 +173,286 @@ var base = {
173
173
  "1100": "rgba(34, 34, 34, 0.706)",
174
174
  "1200": "rgba(34, 34, 34, 1)"
175
175
  },
176
+ accent: {
177
+ "100": "#fbfcfd",
178
+ "200": "#f7f9fc",
179
+ "300": "#edf3fa",
180
+ "400": "#e3ecf8",
181
+ "500": "#d8e5f6",
182
+ "600": "#cbdef7",
183
+ "700": "#b9d3f5",
184
+ "800": "#3190fe",
185
+ "900": "#0082fc",
186
+ "1000": "#0278e7",
187
+ "1100": "#0162bf",
188
+ "1200": "#0f2339"
189
+ },
190
+ "accent-alpha": {
191
+ "100": "rgba(5, 68, 130, 0.016)",
192
+ "200": "rgba(5, 68, 161, 0.032)",
193
+ "300": "rgba(1, 86, 185, 0.071)",
194
+ "400": "rgba(0, 82, 191, 0.11)",
195
+ "500": "rgba(0, 85, 196, 0.153)",
196
+ "600": "rgba(0, 93, 216, 0.204)",
197
+ "700": "rgba(0, 95, 219, 0.275)",
198
+ "800": "rgba(0, 118, 254, 0.808)",
199
+ "900": "rgba(0, 130, 252, 1)",
200
+ "1000": "rgba(0, 119, 231, 0.993)",
201
+ "1100": "rgba(0, 98, 191, 0.997)",
202
+ "1200": "rgba(0, 21, 45, 0.942)"
203
+ },
204
+ success: {
205
+ "100": "#f9fdfa",
206
+ "200": "#f0fcf5",
207
+ "300": "#dbf9e8",
208
+ "400": "#c4f7da",
209
+ "500": "#aff3ce",
210
+ "600": "#98eec0",
211
+ "700": "#77e6af",
212
+ "800": "#02a56c",
213
+ "900": "#009762",
214
+ "1000": "#018b5a",
215
+ "1100": "#017249",
216
+ "1200": "#12261b"
217
+ },
218
+ "success-alpha": {
219
+ "100": "rgba(5, 172, 47, 0.024)",
220
+ "200": "rgba(1, 204, 86, 0.059)",
221
+ "300": "rgba(1, 213, 93, 0.142)",
222
+ "400": "rgba(1, 221, 96, 0.232)",
223
+ "500": "rgba(0, 217, 99, 0.314)",
224
+ "600": "rgba(0, 213, 99, 0.404)",
225
+ "700": "rgba(0, 208, 105, 0.534)",
226
+ "800": "rgba(0, 164, 107, 0.993)",
227
+ "900": "rgba(0, 151, 98, 1)",
228
+ "1000": "rgba(0, 139, 90, 0.997)",
229
+ "1100": "rgba(0, 114, 72, 0.997)",
230
+ "1200": "rgba(0, 22, 10, 0.93)"
231
+ },
232
+ warning: {
233
+ "100": "#fdfcfa",
234
+ "200": "#fcf9f4",
235
+ "300": "#faf1e3",
236
+ "400": "#f8e9d1",
237
+ "500": "#f7e1be",
238
+ "600": "#f7d8a5",
239
+ "700": "#f7cb80",
240
+ "800": "#bd8600",
241
+ "900": "#ad7b00",
242
+ "1000": "#9f7102",
243
+ "1100": "#835c00",
244
+ "1200": "#292111"
245
+ },
246
+ "warning-alpha": {
247
+ "100": "rgba(155, 105, 5, 0.02)",
248
+ "200": "rgba(187, 119, 5, 0.044)",
249
+ "300": "rgba(210, 128, 0, 0.11)",
250
+ "400": "rgba(216, 133, 1, 0.181)",
251
+ "500": "rgba(224, 137, 0, 0.255)",
252
+ "600": "rgba(232, 145, 0, 0.353)",
253
+ "700": "rgba(239, 151, 0, 0.499)",
254
+ "800": "rgba(189, 134, 0, 1)",
255
+ "900": "rgba(173, 123, 0, 1)",
256
+ "1000": "rgba(158, 112, 0, 0.993)",
257
+ "1100": "rgba(131, 92, 0, 1)",
258
+ "1200": "rgba(26, 17, 0, 0.934)"
259
+ },
260
+ serious: {
261
+ "100": "#fefcfb",
262
+ "200": "#fcf8f6",
263
+ "300": "#faf0eb",
264
+ "400": "#f8e8e0",
265
+ "500": "#f7dfd4",
266
+ "600": "#f6d5c5",
267
+ "700": "#f7c7b0",
268
+ "800": "#ed6800",
269
+ "900": "#da5f00",
270
+ "1000": "#c85701",
271
+ "1100": "#a54703",
272
+ "1200": "#341c10"
273
+ },
274
+ "serious-alpha": {
275
+ "100": "rgba(193, 68, 5, 0.016)",
276
+ "200": "rgba(172, 61, 5, 0.036)",
277
+ "300": "rgba(192, 65, 2, 0.079)",
278
+ "400": "rgba(198, 66, 1, 0.122)",
279
+ "500": "rgba(208, 66, 1, 0.169)",
280
+ "600": "rgba(216, 71, 1, 0.228)",
281
+ "700": "rgba(229, 74, 0, 0.31)",
282
+ "800": "rgba(237, 104, 0, 1)",
283
+ "900": "rgba(218, 95, 0, 1)",
284
+ "1000": "rgba(200, 86, 0, 0.997)",
285
+ "1100": "rgba(164, 69, 0, 0.989)",
286
+ "1200": "rgba(39, 13, 0, 0.938)"
287
+ },
288
+ danger: {
289
+ "100": "#fefcfc",
290
+ "200": "#fcf8f7",
291
+ "300": "#faf0ee",
292
+ "400": "#f8e7e4",
293
+ "500": "#f8dfdb",
294
+ "600": "#f7d4ce",
295
+ "700": "#f7c6be",
296
+ "800": "#ff5444",
297
+ "900": "#ff2b21",
298
+ "1000": "#f30004",
299
+ "1100": "#c90002",
300
+ "1200": "#3d1611"
301
+ },
302
+ "danger-alpha": {
303
+ "100": "rgba(172, 5, 5, 0.012)",
304
+ "200": "rgba(161, 36, 5, 0.032)",
305
+ "300": "rgba(180, 31, 1, 0.067)",
306
+ "400": "rgba(189, 29, 0, 0.106)",
307
+ "500": "rgba(206, 30, 1, 0.142)",
308
+ "600": "rgba(214, 32, 1, 0.193)",
309
+ "700": "rgba(224, 31, 0, 0.255)",
310
+ "800": "rgba(255, 22, 0, 0.734)",
311
+ "900": "rgba(255, 12, 0, 0.871)",
312
+ "1000": "rgba(243, 0, 4, 1)",
313
+ "1100": "rgba(201, 0, 2, 1)",
314
+ "1200": "rgba(47, 6, 0, 0.934)"
315
+ },
316
+ ai: {
317
+ "100": "#fdfcfe",
318
+ "200": "#faf8fc",
319
+ "300": "#f4f0fa",
320
+ "400": "#efe8f8",
321
+ "500": "#eae0f7",
322
+ "600": "#e4d6f6",
323
+ "700": "#ddc9f7",
324
+ "800": "#b76bff",
325
+ "900": "#b056ff",
326
+ "1000": "#aa3dff",
327
+ "1100": "#9602eb",
328
+ "1200": "#2e1743"
329
+ },
330
+ "ai-alpha": {
331
+ "100": "rgba(88, 5, 172, 0.012)",
332
+ "200": "rgba(76, 5, 148, 0.028)",
333
+ "300": "rgba(69, 1, 170, 0.059)",
334
+ "400": "rgba(79, 2, 178, 0.091)",
335
+ "500": "rgba(83, 1, 189, 0.122)",
336
+ "600": "rgba(87, 0, 199, 0.161)",
337
+ "700": "rgba(95, 0, 217, 0.212)",
338
+ "800": "rgba(131, 0, 255, 0.581)",
339
+ "900": "rgba(136, 0, 255, 0.663)",
340
+ "1000": "rgba(143, 0, 255, 0.761)",
341
+ "1100": "rgba(149, 0, 235, 0.993)",
342
+ "1200": "rgba(25, 0, 48, 0.91)"
343
+ },
344
+ olive: {
345
+ "100": "#fbfdf4",
346
+ "200": "#f7fbe8",
347
+ "300": "#eff6d4",
348
+ "400": "#e6f0bf",
349
+ "500": "#deebaa",
350
+ "600": "#d5e493",
351
+ "700": "#c9da73",
352
+ "800": "#889903",
353
+ "900": "#7d8c02",
354
+ "1000": "#738000",
355
+ "1100": "#5d6900",
356
+ "1200": "#202410"
357
+ },
358
+ "olive-alpha": {
359
+ "100": "rgba(164, 210, 5, 0.044)",
360
+ "200": "rgba(167, 211, 2, 0.091)",
361
+ "300": "rgba(160, 202, 1, 0.169)",
362
+ "400": "rgba(155, 195, 0, 0.251)",
363
+ "500": "rgba(156, 195, 1, 0.334)",
364
+ "600": "rgba(156, 191, 0, 0.424)",
365
+ "700": "rgba(157, 188, 0, 0.55)",
366
+ "800": "rgba(135, 152, 0, 0.989)",
367
+ "900": "rgba(124, 139, 0, 0.993)",
368
+ "1000": "rgba(115, 128, 0, 1)",
369
+ "1100": "rgba(93, 105, 0, 1)",
370
+ "1200": "rgba(17, 22, 0, 0.938)"
371
+ },
372
+ periwinkle: {
373
+ "100": "#fcfcfd",
374
+ "200": "#f8f9fc",
375
+ "300": "#f0f2fa",
376
+ "400": "#e8ebf9",
377
+ "500": "#dfe3f7",
378
+ "600": "#d6dbf7",
379
+ "700": "#c8cff6",
380
+ "800": "#7a84ff",
381
+ "900": "#6e74fe",
382
+ "1000": "#6464ff",
383
+ "1100": "#533eff",
384
+ "1200": "#1a1b51"
385
+ },
386
+ "periwinkle-alpha": {
387
+ "100": "rgba(5, 5, 88, 0.012)",
388
+ "200": "rgba(5, 41, 148, 0.028)",
389
+ "300": "rgba(1, 35, 170, 0.059)",
390
+ "400": "rgba(2, 35, 189, 0.091)",
391
+ "500": "rgba(1, 33, 192, 0.126)",
392
+ "600": "rgba(0, 31, 205, 0.161)",
393
+ "700": "rgba(0, 33, 213, 0.216)",
394
+ "800": "rgba(0, 19, 255, 0.522)",
395
+ "900": "rgba(0, 11, 253, 0.569)",
396
+ "1000": "rgba(0, 0, 255, 0.608)",
397
+ "1100": "rgba(28, 0, 255, 0.757)",
398
+ "1200": "rgba(0, 1, 61, 0.899)"
399
+ },
400
+ rose: {
401
+ "100": "#fefcfc",
402
+ "200": "#fcf8f9",
403
+ "300": "#faeff1",
404
+ "400": "#f8e7ea",
405
+ "500": "#f8dee3",
406
+ "600": "#f7d3da",
407
+ "700": "#f7c4cf",
408
+ "800": "#ff4989",
409
+ "900": "#ff0f7c",
410
+ "1000": "#ec0071",
411
+ "1100": "#c4005d",
412
+ "1200": "#3c1520"
413
+ },
414
+ "rose-alpha": {
415
+ "100": "rgba(172, 5, 5, 0.012)",
416
+ "200": "rgba(148, 5, 41, 0.028)",
417
+ "300": "rgba(176, 1, 33, 0.063)",
418
+ "400": "rgba(181, 2, 34, 0.095)",
419
+ "500": "rgba(201, 1, 40, 0.13)",
420
+ "600": "rgba(209, 1, 41, 0.173)",
421
+ "700": "rgba(221, 1, 48, 0.232)",
422
+ "800": "rgba(255, 0, 90, 0.714)",
423
+ "900": "rgba(255, 0, 116, 0.942)",
424
+ "1000": "rgba(236, 0, 113, 1)",
425
+ "1100": "rgba(196, 0, 93, 1)",
426
+ "1200": "rgba(43, 0, 12, 0.918)"
427
+ },
428
+ magenta: {
429
+ "100": "#fdfbfd",
430
+ "200": "#fdf8fc",
431
+ "300": "#faeff9",
432
+ "400": "#f9e6f7",
433
+ "500": "#f8dcf5",
434
+ "600": "#f7d0f3",
435
+ "700": "#f7bff2",
436
+ "800": "#fd00fa",
437
+ "900": "#e900e6",
438
+ "1000": "#d700d4",
439
+ "1100": "#b100af",
440
+ "1200": "#371535"
441
+ },
442
+ "magenta-alpha": {
443
+ "100": "rgba(130, 5, 130, 0.016)",
444
+ "200": "rgba(184, 5, 148, 0.028)",
445
+ "300": "rgba(176, 1, 160, 0.063)",
446
+ "400": "rgba(194, 2, 174, 0.099)",
447
+ "500": "rgba(204, 1, 183, 0.138)",
448
+ "600": "rgba(212, 1, 190, 0.185)",
449
+ "700": "rgba(223, 0, 203, 0.251)",
450
+ "800": "rgba(253, 0, 250, 1)",
451
+ "900": "rgba(233, 0, 230, 1)",
452
+ "1000": "rgba(215, 0, 212, 1)",
453
+ "1100": "rgba(177, 0, 175, 1)",
454
+ "1200": "rgba(37, 0, 35, 0.918)"
455
+ },
176
456
  neutral: {
177
457
  "100": "#f8f9fa",
178
458
  "200": "#e9ecef",
@@ -1175,7 +1455,8 @@ var semantic = {
1175
1455
  accent: "#0265DC",
1176
1456
  "accent-hover": "#0054B6",
1177
1457
  "accent-pressed": "#004491",
1178
- danger: "#D31510"
1458
+ danger: "#D31510",
1459
+ ai: "#9602eb"
1179
1460
  },
1180
1461
  background: {
1181
1462
  "default": "#f8f9fa",
@@ -1244,7 +1525,8 @@ var semantic = {
1244
1525
  accent: "#0265DC",
1245
1526
  "accent-hover": "#0054B6",
1246
1527
  "accent-pressed": "#004491",
1247
- danger: "#D31510"
1528
+ danger: "#D31510",
1529
+ ai: "#9602eb"
1248
1530
  },
1249
1531
  financial: {
1250
1532
  credit: "#15A46E",
@@ -1452,6 +1734,22 @@ var tokensJson = {
1452
1734
  semantic: semantic
1453
1735
  };
1454
1736
 
1737
+ var ai = {
1738
+ path: "M10 6C10.6 11 13 13.4 18 14C13 14.6 10.6 17 10 22C9.4 17 7 14.6 2 14C7 13.4 9.4 11 10 6Z M18 2C18.3 4.5 19.5 5.7 22 6C19.5 6.3 18.3 7.5 18 10C17.7 7.5 16.5 6.3 14 6C16.5 5.7 17.7 4.5 18 2Z",
1739
+ name: "ai",
1740
+ description: "Two solid four-point sparkles, one large and one small",
1741
+ category: "content",
1742
+ aliases: [
1743
+ "sparkle",
1744
+ "sparkles",
1745
+ "generated",
1746
+ "agent",
1747
+ "magic"
1748
+ ],
1749
+ intent: "Use to mark AI-generated content and agent actions, always with a text label (decisions 0043 and 0046)",
1750
+ decorativeDefault: false,
1751
+ ariaLabelDefault: "AI"
1752
+ };
1455
1753
  var add = {
1456
1754
  path: "M13 11H19V13H13V19H11V13H5V11H11V5H13V11Z",
1457
1755
  name: "add",
@@ -1826,7 +2124,6 @@ var pause = {
1826
2124
  description: "Two vertical bars",
1827
2125
  category: "media",
1828
2126
  aliases: [
1829
- "stop",
1830
2127
  "halt",
1831
2128
  "break"
1832
2129
  ],
@@ -1834,6 +2131,20 @@ var pause = {
1834
2131
  decorativeDefault: false,
1835
2132
  ariaLabelDefault: "Pause"
1836
2133
  };
2134
+ var stop = {
2135
+ path: "M8 6H16C17.1046 6 18 6.89543 18 8V16C18 17.1046 17.1046 18 16 18H8C6.89543 18 6 17.1046 6 16V8C6 6.89543 6.89543 6 8 6Z",
2136
+ name: "stop",
2137
+ description: "Filled square with rounded corners",
2138
+ category: "media",
2139
+ aliases: [
2140
+ "halt",
2141
+ "end",
2142
+ "cancel-generation"
2143
+ ],
2144
+ intent: "Use to stop something in progress, such as an agent generating a response or media playback",
2145
+ decorativeDefault: false,
2146
+ ariaLabelDefault: "Stop"
2147
+ };
1837
2148
  var play = {
1838
2149
  path: "M16.138 10.569 9.605 7.303A1.8 1.8 0 0 0 7 8.913v6.175a1.8 1.8 0 0 0 2.605 1.61l6.533-3.267c1.18-.59 1.18-2.272 0-2.862Z",
1839
2150
  name: "play",
@@ -2179,6 +2490,7 @@ var move = {
2179
2490
  ariaLabelDefault: "Move"
2180
2491
  };
2181
2492
  var iconsJson = {
2493
+ ai: ai,
2182
2494
  add: add,
2183
2495
  addRing: addRing,
2184
2496
  arrowDown: arrowDown,
@@ -2219,6 +2531,7 @@ var iconsJson = {
2219
2531
  menu: menu,
2220
2532
  paper: paper,
2221
2533
  pause: pause,
2534
+ stop: stop,
2222
2535
  play: play,
2223
2536
  playBack: playBack,
2224
2537
  lineOut: lineOut,
package/dist/data.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"data.js","sources":["../src/types/tokens.ts","../src/types/icons.ts"],"sourcesContent":["import tokensJson from '../styles/tokens.json'\nimport type { Tokens } from '../styles/tokens'\n\n// The published types come from the generated `src/styles/tokens.ts`, which carries each token's\n// description as JSDoc and `@deprecated` on deprecated tokens (decision 0033, #199). Declaring the\n// constant with that type also keeps emitted .d.ts files free of JSON imports, which consumers can\n// only resolve with `resolveJsonModule`.\nexport const tokens: Tokens = tokensJson\n\nexport type { Tokens }\nexport type TokensBase = Tokens['base']\nexport type TokensSemantic = Tokens['semantic']\nexport type TokensComponent = Tokens['component']\n","// Icon type definitions for external consumption\n// This is a self-contained type that doesn't depend on JSON imports\n// to ensure it works correctly in consuming projects\n\nimport iconsJson from '../styles/icons.json'\n\nexport type IconName =\n | 'add'\n | 'addRing'\n | 'arrowDown'\n | 'arrowLeft'\n | 'arrowRight'\n | 'arrowUp'\n | 'back'\n | 'bell'\n | 'cancel'\n | 'caret'\n | 'caretDown'\n | 'caretUp'\n | 'check'\n | 'checkRing'\n | 'close'\n | 'copy'\n | 'creditCard'\n | 'crossCircle'\n | 'directionRight'\n | 'directionUp'\n | 'edit'\n | 'export'\n | 'fileDocSearch'\n | 'filter'\n | 'info'\n | 'kebab'\n | 'lamp'\n | 'lineOut'\n | 'link'\n | 'meatballs'\n | 'menu'\n | 'message'\n | 'move'\n | 'mic'\n | 'order'\n | 'paper'\n | 'pause'\n | 'play'\n | 'playBack'\n | 'refresh'\n | 'remove'\n | 'search'\n | 'star'\n | 'starFilled'\n | 'table'\n | 'trash'\n | 'userBox'\n | 'view'\n | 'viewHide'\n | 'wallet'\n\n/** Semantic category for grouping icons by purpose */\nexport type IconCategory =\n | 'action'\n | 'communication'\n | 'content'\n | 'feedback'\n | 'media'\n | 'navigation'\n | 'object'\n | 'status'\n | 'user'\n\n/** Enriched metadata for each icon entry in icons.json */\nexport interface IconMetadata {\n /** SVG path data */\n path: string\n /** Display name of the icon */\n name: string\n /** What the icon visually depicts */\n description: string\n /** Semantic category for grouping */\n category: IconCategory\n /** Alternative names and search terms */\n aliases: string[]\n /** When and why to use this icon */\n intent: string\n /** Whether the icon is typically decorative (true) or informative (false) */\n decorativeDefault: boolean\n /** Suggested accessible label when the icon conveys meaning */\n ariaLabelDefault: string\n}\n\n/** The full icon registry keyed by IconName */\nexport type IconRegistry = Record<IconName, IconMetadata>\n\n// Typed as IconRegistry so emitted .d.ts files don't import JSON (needs `resolveJsonModule` in consumers).\nexport const iconsData = iconsJson as IconRegistry\n"],"names":["tokens","tokensJson","iconsData","iconsJson"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA;AACA;AACA;AACO,IAAMA,MAAM,GAAWC;;ACP9B;AACA;AACA;AA2FA;AACO,IAAMC,SAAS,GAAGC;;;;;;;"}
1
+ {"version":3,"file":"data.js","sources":["../src/types/tokens.ts","../src/types/icons.ts"],"sourcesContent":["import tokensJson from '../styles/tokens.json'\nimport type { Tokens } from '../styles/tokens'\n\n// The published types come from the generated `src/styles/tokens.ts`, which carries each token's\n// description as JSDoc and `@deprecated` on deprecated tokens (decision 0033, #199). Declaring the\n// constant with that type also keeps emitted .d.ts files free of JSON imports, which consumers can\n// only resolve with `resolveJsonModule`.\nexport const tokens: Tokens = tokensJson\n\nexport type { Tokens }\nexport type TokensBase = Tokens['base']\nexport type TokensSemantic = Tokens['semantic']\nexport type TokensComponent = Tokens['component']\n","// Icon type definitions for external consumption\n// This is a self-contained type that doesn't depend on JSON imports\n// to ensure it works correctly in consuming projects\n\nimport iconsJson from '../styles/icons.json'\n\nexport type IconName =\n | 'add'\n | 'ai'\n | 'addRing'\n | 'arrowDown'\n | 'arrowLeft'\n | 'arrowRight'\n | 'arrowUp'\n | 'back'\n | 'bell'\n | 'cancel'\n | 'caret'\n | 'caretDown'\n | 'caretUp'\n | 'check'\n | 'checkRing'\n | 'close'\n | 'copy'\n | 'creditCard'\n | 'crossCircle'\n | 'directionRight'\n | 'directionUp'\n | 'edit'\n | 'export'\n | 'fileDocSearch'\n | 'filter'\n | 'info'\n | 'kebab'\n | 'lamp'\n | 'lineOut'\n | 'link'\n | 'meatballs'\n | 'menu'\n | 'message'\n | 'move'\n | 'mic'\n | 'order'\n | 'paper'\n | 'pause'\n | 'play'\n | 'playBack'\n | 'refresh'\n | 'remove'\n | 'search'\n | 'star'\n | 'starFilled'\n | 'stop'\n | 'table'\n | 'trash'\n | 'userBox'\n | 'view'\n | 'viewHide'\n | 'wallet'\n\n/** Semantic category for grouping icons by purpose */\nexport type IconCategory =\n | 'action'\n | 'communication'\n | 'content'\n | 'feedback'\n | 'media'\n | 'navigation'\n | 'object'\n | 'status'\n | 'user'\n\n/** Enriched metadata for each icon entry in icons.json */\nexport interface IconMetadata {\n /** SVG path data */\n path: string\n /** Display name of the icon */\n name: string\n /** What the icon visually depicts */\n description: string\n /** Semantic category for grouping */\n category: IconCategory\n /** Alternative names and search terms */\n aliases: string[]\n /** When and why to use this icon */\n intent: string\n /** Whether the icon is typically decorative (true) or informative (false) */\n decorativeDefault: boolean\n /** Suggested accessible label when the icon conveys meaning */\n ariaLabelDefault: string\n}\n\n/** The full icon registry keyed by IconName */\nexport type IconRegistry = Record<IconName, IconMetadata>\n\n// Typed as IconRegistry so emitted .d.ts files don't import JSON (needs `resolveJsonModule` in consumers).\nexport const iconsData = iconsJson as IconRegistry\n"],"names":["tokens","tokensJson","iconsData","iconsJson"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA;AACA;AACA;AACO,IAAMA,MAAM,GAAWC;;ACP9B;AACA;AACA;AA6FA;AACO,IAAMC,SAAS,GAAGC;;;;;;;"}
package/dist/index.js CHANGED
@@ -10,6 +10,7 @@ require('react-dom');
10
10
 
11
11
 
12
12
 
13
+ exports.AILabel = client.AILabel;
13
14
  exports.AccountCard = client.AccountCard;
14
15
  exports.ActionSheet = client.ActionSheet;
15
16
  exports.AgentInput = client.AgentInput;
@@ -61,6 +62,7 @@ exports.StatusBadge = client.StatusBadge;
61
62
  exports.StatusLabel = client.StatusLabel;
62
63
  exports.StyledInputBase = client.StyledInputBase;
63
64
  exports.StyledTextAreaBase = client.StyledTextAreaBase;
65
+ exports.SuggestionChip = client.SuggestionChip;
64
66
  exports.TabBar = client.TabBar;
65
67
  exports.Tag = client.Tag;
66
68
  exports.TextField = client.TextField;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/index.mjs CHANGED
@@ -8,6 +8,7 @@ export { Chip, LegacyChip } from './components/atoms/Chip/Chip.mjs';
8
8
  export { InputChip } from './components/atoms/Chip/InputChip.mjs';
9
9
  export { FilterChip } from './components/atoms/Chip/FilterChip.mjs';
10
10
  export { BooleanChip } from './components/atoms/Chip/BooleanChip.mjs';
11
+ export { SuggestionChip } from './components/atoms/Chip/SuggestionChip.mjs';
11
12
  export { Container } from './components/atoms/Container/Container.mjs';
12
13
  export { Picture } from './components/atoms/Picture/Picture.mjs';
13
14
  export { DateFormatter } from './components/atoms/DateFormatter/DateFormatter.mjs';
@@ -21,6 +22,7 @@ export { StatusBadge } from './components/atoms/StatusBadge/StatusBadge.mjs';
21
22
  export { StatusLabel } from './components/atoms/StatusLabel/StatusLabel.mjs';
22
23
  export { Tag } from './components/atoms/Tag/Tag.mjs';
23
24
  export { Typography } from './components/atoms/Typography/Typography.mjs';
25
+ export { AILabel } from './components/atoms/AILabel/AILabel.mjs';
24
26
  export { AccountCard } from './components/molecules/AccountCard/AccountCard.mjs';
25
27
  export { ActionSheet } from './components/molecules/ActionSheet/ActionSheet.mjs';
26
28
  export { AgentInput } from './components/molecules/AgentInput/AgentInput.mjs';
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -91,6 +91,7 @@ var textColorByKey = {
91
91
  'accent-hover': color.text['accent-hover'],
92
92
  'accent-pressed': color.text['accent-pressed'],
93
93
  danger: color.text.danger,
94
+ ai: color.text.ai,
94
95
  subdued: color.text.muted,
95
96
  interactive: color.text.accent,
96
97
  'interactive-hover': color.text['accent-hover'],
@@ -1 +1 @@
1
- {"version":3,"file":"tokenAliases.mjs","sources":["../../src/lib/tokenAliases.ts"],"sourcesContent":["import tokens from './cssTokens'\nimport type { Tokens } from '../types/tokens'\n\n// Props whose values are token keys keep their published vocabulary in 2.x (P7), but read the\n// semantic grammar's names (decision 0031, #189). Each map covers every key the prop type allows,\n// so TypeScript fails here if a key is added without a mapping.\nconst { semantic } = tokens\nconst { color, space, radius, surface } = semantic\n\ntype Semantic = Tokens['semantic']\n\n/** Box's spacing props (`p`, `m`, `gap`…): the old layout scale's keys, read from `space`. */\nexport const spaceByLayoutKey: Record<keyof Semantic['spacing']['layout'], string> = {\n none: space[0],\n xs: space[100],\n sm: space[200],\n md: space[300],\n lg: space[400],\n xl: space[500],\n '2xl': space[600],\n '3xl': space[700],\n '4xl': space[800],\n '5xl': space[900],\n '6xl': space[1000],\n '7xl': space[1200],\n '8xl': space[1400],\n '9xl': space[1600],\n '10xl': space[2000],\n '11xl': space[2400],\n // A keyword, not a step: it stays until the keyword question is settled (0031)\n auto: semantic.spacing.layout.auto,\n}\n\n/** Box's `borderRadius` prop: the old radius keys, read from `radius`. */\nexport const radiusByKey: Record<keyof Semantic['border']['radius'], string> = {\n none: radius.none,\n xs: radius.xs,\n sm: radius.sm,\n md: radius.md,\n lg: radius.lg,\n xl: radius.xl,\n '2xl': radius['2xl'],\n '3xl': radius['3xl'],\n circle: radius.full,\n}\n\n/** Box's `bg` prop: the old background keys, read from `surface` and `color.fill`. */\nexport const backgroundByKey: Record<keyof Semantic['color']['background'], string> = {\n default: surface.base,\n page: surface.base,\n subtle: surface.raised,\n overlay: surface.scrim,\n emphasis: color.fill.emphasis,\n 'emphasis-hover': color.fill['emphasis-hover'],\n 'emphasis-active': color.fill['emphasis-pressed'],\n surface: color.fill.muted,\n inverse: color.fill.inverse,\n interactive: color.fill.accent,\n 'interactive-hover': color.fill['accent-hover'],\n 'interactive-active': color.fill['accent-pressed'],\n 'interactive-subtle': color.fill['accent-muted'],\n 'interactive-subtle-hover': color.fill['accent-muted-hover'],\n 'interactive-subtle-active': color.fill['accent-muted-pressed'],\n error: color.fill.danger,\n 'error-hover': color.fill['danger-hover'],\n 'error-active': color.fill['danger-pressed'],\n 'error-subtle': color.fill['danger-muted'],\n success: color.fill.success,\n 'success-subtle': color.fill['success-muted'],\n warning: color.fill.warning,\n 'warning-subtle': color.fill['warning-muted'],\n disabled: color.fill.disabled,\n neutral: color.fill.default,\n 'neutral-hover': color.fill['default-hover'],\n 'neutral-active': color.fill['default-pressed'],\n transparent: color.fill.none,\n 'hover-overlay': color.fill['none-hover'],\n 'active-overlay': color.fill['none-pressed'],\n 'inverse-overlay': color.fill['inverse-none-hover'],\n // Moved to the component tier (decision 0031 §6)\n progressTrack: tokens.component.track.background,\n}\n\n/** Box's `color` prop: text colours, old and new keys. */\nexport const textColorByKey: Record<keyof Semantic['color']['text'], string> = {\n default: color.text.default,\n emphasis: color.text.emphasis,\n inverse: color.text.inverse,\n disabled: color.text.disabled,\n success: color.text.success,\n warning: color.text.warning,\n muted: color.text.muted,\n accent: color.text.accent,\n 'accent-hover': color.text['accent-hover'],\n 'accent-pressed': color.text['accent-pressed'],\n danger: color.text.danger,\n subdued: color.text.muted,\n interactive: color.text.accent,\n 'interactive-hover': color.text['accent-hover'],\n 'interactive-active': color.text['accent-pressed'],\n error: color.text.danger,\n}\n\n/** Box's border props: border colours, old and new keys. */\nexport const borderColorByKey: Record<keyof Semantic['color']['border'], string> = {\n default: color.border.default,\n success: color.border.success,\n warning: color.border.warning,\n none: color.border.none,\n emphasis: color.border.emphasis,\n input: color.border.input,\n 'input-hover': color.border['input-hover'],\n focus: color.border.focus,\n accent: color.border.accent,\n danger: color.border.danger,\n subtle: color.border.emphasis,\n control: color.border.input,\n // `strong` split by use (0031); as a generic firm outline it is the hovered-input border\n strong: color.border['input-hover'],\n interactive: color.border.accent,\n error: color.border.danger,\n}\n"],"names":["semantic","tokens","color","space","radius","surface","spaceByLayoutKey","none","xs","sm","md","lg","xl","auto","spacing","layout","radiusByKey","circle","full","backgroundByKey","base","page","subtle","raised","overlay","scrim","emphasis","fill","muted","inverse","interactive","accent","error","danger","success","warning","disabled","neutral","transparent","progressTrack","component","track","background","textColorByKey","text","subdued","borderColorByKey","border","input","focus","control","strong"],"mappings":"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"}
1
+ {"version":3,"file":"tokenAliases.mjs","sources":["../../src/lib/tokenAliases.ts"],"sourcesContent":["import tokens from './cssTokens'\nimport type { Tokens } from '../types/tokens'\n\n// Props whose values are token keys keep their published vocabulary in 2.x (P7), but read the\n// semantic grammar's names (decision 0031, #189). Each map covers every key the prop type allows,\n// so TypeScript fails here if a key is added without a mapping.\nconst { semantic } = tokens\nconst { color, space, radius, surface } = semantic\n\ntype Semantic = Tokens['semantic']\n\n/** Box's spacing props (`p`, `m`, `gap`…): the old layout scale's keys, read from `space`. */\nexport const spaceByLayoutKey: Record<keyof Semantic['spacing']['layout'], string> = {\n none: space[0],\n xs: space[100],\n sm: space[200],\n md: space[300],\n lg: space[400],\n xl: space[500],\n '2xl': space[600],\n '3xl': space[700],\n '4xl': space[800],\n '5xl': space[900],\n '6xl': space[1000],\n '7xl': space[1200],\n '8xl': space[1400],\n '9xl': space[1600],\n '10xl': space[2000],\n '11xl': space[2400],\n // A keyword, not a step: it stays until the keyword question is settled (0031)\n auto: semantic.spacing.layout.auto,\n}\n\n/** Box's `borderRadius` prop: the old radius keys, read from `radius`. */\nexport const radiusByKey: Record<keyof Semantic['border']['radius'], string> = {\n none: radius.none,\n xs: radius.xs,\n sm: radius.sm,\n md: radius.md,\n lg: radius.lg,\n xl: radius.xl,\n '2xl': radius['2xl'],\n '3xl': radius['3xl'],\n circle: radius.full,\n}\n\n/** Box's `bg` prop: the old background keys, read from `surface` and `color.fill`. */\nexport const backgroundByKey: Record<keyof Semantic['color']['background'], string> = {\n default: surface.base,\n page: surface.base,\n subtle: surface.raised,\n overlay: surface.scrim,\n emphasis: color.fill.emphasis,\n 'emphasis-hover': color.fill['emphasis-hover'],\n 'emphasis-active': color.fill['emphasis-pressed'],\n surface: color.fill.muted,\n inverse: color.fill.inverse,\n interactive: color.fill.accent,\n 'interactive-hover': color.fill['accent-hover'],\n 'interactive-active': color.fill['accent-pressed'],\n 'interactive-subtle': color.fill['accent-muted'],\n 'interactive-subtle-hover': color.fill['accent-muted-hover'],\n 'interactive-subtle-active': color.fill['accent-muted-pressed'],\n error: color.fill.danger,\n 'error-hover': color.fill['danger-hover'],\n 'error-active': color.fill['danger-pressed'],\n 'error-subtle': color.fill['danger-muted'],\n success: color.fill.success,\n 'success-subtle': color.fill['success-muted'],\n warning: color.fill.warning,\n 'warning-subtle': color.fill['warning-muted'],\n disabled: color.fill.disabled,\n neutral: color.fill.default,\n 'neutral-hover': color.fill['default-hover'],\n 'neutral-active': color.fill['default-pressed'],\n transparent: color.fill.none,\n 'hover-overlay': color.fill['none-hover'],\n 'active-overlay': color.fill['none-pressed'],\n 'inverse-overlay': color.fill['inverse-none-hover'],\n // Moved to the component tier (decision 0031 §6)\n progressTrack: tokens.component.track.background,\n}\n\n/** Box's `color` prop: text colours, old and new keys. */\nexport const textColorByKey: Record<keyof Semantic['color']['text'], string> = {\n default: color.text.default,\n emphasis: color.text.emphasis,\n inverse: color.text.inverse,\n disabled: color.text.disabled,\n success: color.text.success,\n warning: color.text.warning,\n muted: color.text.muted,\n accent: color.text.accent,\n 'accent-hover': color.text['accent-hover'],\n 'accent-pressed': color.text['accent-pressed'],\n danger: color.text.danger,\n ai: color.text.ai,\n subdued: color.text.muted,\n interactive: color.text.accent,\n 'interactive-hover': color.text['accent-hover'],\n 'interactive-active': color.text['accent-pressed'],\n error: color.text.danger,\n}\n\n/** Box's border props: border colours, old and new keys. */\nexport const borderColorByKey: Record<keyof Semantic['color']['border'], string> = {\n default: color.border.default,\n success: color.border.success,\n warning: color.border.warning,\n none: color.border.none,\n emphasis: color.border.emphasis,\n input: color.border.input,\n 'input-hover': color.border['input-hover'],\n focus: color.border.focus,\n accent: color.border.accent,\n danger: color.border.danger,\n subtle: color.border.emphasis,\n control: color.border.input,\n // `strong` split by use (0031); as a generic firm outline it is the hovered-input border\n strong: color.border['input-hover'],\n interactive: color.border.accent,\n error: color.border.danger,\n}\n"],"names":["semantic","tokens","color","space","radius","surface","spaceByLayoutKey","none","xs","sm","md","lg","xl","auto","spacing","layout","radiusByKey","circle","full","backgroundByKey","base","page","subtle","raised","overlay","scrim","emphasis","fill","muted","inverse","interactive","accent","error","danger","success","warning","disabled","neutral","transparent","progressTrack","component","track","background","textColorByKey","text","ai","subdued","borderColorByKey","border","input","focus","control","strong"],"mappings":"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"}