base-paint 0.1.0 → 0.2.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.
- package/dist/charts.d.ts +62 -0
- package/dist/charts.d.ts.map +1 -0
- package/dist/charts.js +1677 -0
- package/dist/charts.js.map +1 -0
- package/dist/contract.d.ts.map +1 -1
- package/dist/contract.js +7 -1
- package/dist/contract.js.map +1 -1
- package/dist/controls.d.ts +114 -0
- package/dist/controls.d.ts.map +1 -0
- package/dist/controls.js +724 -0
- package/dist/controls.js.map +1 -0
- package/dist/help.d.ts +24 -0
- package/dist/help.d.ts.map +1 -0
- package/dist/help.js +604 -0
- package/dist/help.js.map +1 -0
- package/dist/index.d.ts +21 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +21 -1
- package/dist/index.js.map +1 -1
- package/dist/spec/charts.d.ts +222 -0
- package/dist/spec/charts.d.ts.map +1 -0
- package/dist/spec/charts.js +35 -0
- package/dist/spec/charts.js.map +1 -0
- package/dist/spec/controls.d.ts +329 -0
- package/dist/spec/controls.d.ts.map +1 -0
- package/dist/spec/controls.js +119 -0
- package/dist/spec/controls.js.map +1 -0
- package/dist/spec/help.d.ts +353 -0
- package/dist/spec/help.d.ts.map +1 -0
- package/dist/spec/help.js +167 -0
- package/dist/spec/help.js.map +1 -0
- package/dist/spec/index.d.ts +40 -0
- package/dist/spec/index.d.ts.map +1 -0
- package/dist/spec/index.js +164 -0
- package/dist/spec/index.js.map +1 -0
- package/dist/spec/style.d.ts +46 -0
- package/dist/spec/style.d.ts.map +1 -0
- package/dist/spec/style.js +39 -0
- package/dist/spec/style.js.map +1 -0
- package/dist/spec/template.d.ts +363 -0
- package/dist/spec/template.d.ts.map +1 -0
- package/dist/spec/template.js +252 -0
- package/dist/spec/template.js.map +1 -0
- package/dist/spec/text.d.ts +157 -0
- package/dist/spec/text.d.ts.map +1 -0
- package/dist/spec/text.js +83 -0
- package/dist/spec/text.js.map +1 -0
- package/dist/style.d.ts +19 -0
- package/dist/style.d.ts.map +1 -1
- package/dist/style.js +923 -0
- package/dist/style.js.map +1 -1
- package/dist/template.d.ts +27 -0
- package/dist/template.d.ts.map +1 -0
- package/dist/template.js +362 -0
- package/dist/template.js.map +1 -0
- package/dist/text.d.ts +19 -0
- package/dist/text.d.ts.map +1 -0
- package/dist/text.js +448 -0
- package/dist/text.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
/** base-paint/spec:冻结的共享层契约类型汇总(#92 / 79a)。
|
|
2
|
+
*
|
|
3
|
+
* 本目录 = **冻结的共享层契约类型**;`src/contract.ts` = **既有渲染契约**
|
|
4
|
+
*(envelope→HTML)。两者不同物:前者是 #74–#78 的施工图,后者是既有运行时。
|
|
5
|
+
*
|
|
6
|
+
* 纪律:spec/ 内只许类型与纯数据常量,禁函数体实现、禁副作用、
|
|
7
|
+
* 禁第三方 import、禁 `node:`、禁运行时 import base-link-core(只许 `import type`)。
|
|
8
|
+
*
|
|
9
|
+
* `SPEC_FROZEN_SURFACE` 是**冻结面清单**(机器可读唯一真相源):
|
|
10
|
+
* 文档 §3 的签名表是它的投影,`test-d/contract-signatures.ts` 与
|
|
11
|
+
* `test/contract-signatures.test.mjs` 把清单/文档/类型三者绑死。
|
|
12
|
+
*
|
|
13
|
+
* 覆盖面口径(V1 洞 15):清单锁**主签名**(每条 = 一个对外名字);
|
|
14
|
+
* 被主签名引用但未单列的类型(`ClipboardChannel`/`CopyButtonInput`/`ToastAction`/8 个 `*ChartInput`/
|
|
15
|
+
* `SceneGroup` 等)以 `src/spec/*.ts` 为唯一真相源,其形状变更视同签名变更(须走 changeset + 三处同步)。
|
|
16
|
+
*/
|
|
17
|
+
export * from './template.js';
|
|
18
|
+
export * from './style.js';
|
|
19
|
+
export * from './controls.js';
|
|
20
|
+
export * from './text.js';
|
|
21
|
+
export * from './charts.js';
|
|
22
|
+
export * from './help.js';
|
|
23
|
+
/** 契约版本(与 RENDER_CONTRACT_VERSION/ENVELOPE_VERSION 同值,漂移由签名测试钉死)。 */
|
|
24
|
+
export const BASE_PAINT_CONTRACT_VERSION = '0.1.0';
|
|
25
|
+
export const SPEC_FROZEN_SURFACE = Object.freeze([
|
|
26
|
+
// ── §3.1 占位符契约与统一填充器(#74;#118 补遗:CONTENT 槽位/载荷槽/包裹约定/分型) ──
|
|
27
|
+
{ name: 'TEMPLATE_MARKERS', kind: 'runtime', ticket: '#74', status: 'implemented', section: '3.1', signature: "{ injectData: '<!--INJECT-DATA-->'; content: '<!--CONTENT-->'; sharedHelpers: '<!--SHARED-HELPERS-->'; sharedCss: '<!--SHARED-CSS-->'; chartsHelpers: '<!--CHARTS-HELPERS-->'; noShared: '<!--NO-SHARED-->' }" },
|
|
28
|
+
{ name: 'MARKER_RULES', kind: 'runtime', ticket: '#74', status: 'implemented', section: '3.1', signature: 'Record<TemplateMarkerKey, MarkerRuleSpec>' },
|
|
29
|
+
{ name: 'PAYLOAD_SLOT_RULE', kind: 'runtime', ticket: '#74', status: 'implemented', section: '3.1', signature: "{ members: readonly ['injectData', 'content']; rule: 'exactly-one'; conflictCode: 'marker-conflict'; missingCode: 'marker-missing' }" },
|
|
30
|
+
{ name: 'TEMPLATE_KINDS', kind: 'runtime', ticket: '#74', status: 'implemented', section: '3.1', signature: "readonly ['data-page', 'content-page', 'legacy']" },
|
|
31
|
+
{ name: 'TemplateKind', kind: 'type', ticket: '#74', status: 'implemented', section: '3.1', signature: "'data-page' | 'content-page' | 'legacy'" },
|
|
32
|
+
{ name: 'TEMPLATE_KIND_RULE', kind: 'runtime', ticket: '#74', status: 'implemented', section: '3.1', signature: "{ 'data-page': { required: readonly ['injectData']; forbidden: readonly ['content']; noKindCode: 'marker-conflict' }; 'content-page': { required: readonly ['content']; forbidden: readonly ['injectData']; noKindCode: 'marker-conflict' }; legacy: { required: readonly []; forbidden: readonly ['injectData', 'content']; noKindCode: 'marker-conflict' } }" },
|
|
33
|
+
{ name: 'INJECTION_ORDER', kind: 'runtime', ticket: '#74', status: 'implemented', section: '3.1', signature: "readonly ['sharedHelpers', 'sharedCss', 'chartsHelpers', 'injectData']" },
|
|
34
|
+
{ name: 'ASSET_WRAP_RULE', kind: 'runtime', ticket: '#74', status: 'implemented', section: '3.1', signature: "{ assetsBare: true; fillerWraps: true; forbidPreWrappedMarker: true; assetWrappedCode: 'asset-missing'; markerPreWrappedCode: 'marker-conflict' }" },
|
|
35
|
+
{ name: 'ASSET_WRAPPERS', kind: 'runtime', ticket: '#74', status: 'implemented', section: '3.1', signature: "{ sharedCssText: { openTag: '<style>'; closeTag: '</style>' }; sharedHelpersJs: { openTag: '<script>'; closeTag: '</script>' }; chartsHelpersJs: { openTag: '<script>'; closeTag: '</script>' } }" },
|
|
36
|
+
{ name: 'ASSET_MARKER_KEYS', kind: 'runtime', ticket: '#74', status: 'implemented', section: '3.1', signature: "{ sharedCssText: 'sharedCss'; sharedHelpersJs: 'sharedHelpers'; chartsHelpersJs: 'chartsHelpers' }" },
|
|
37
|
+
{ name: 'WRAP_PREDICATES', kind: 'runtime', ticket: '#74', status: 'implemented', section: '3.1', signature: "{ assetsBare: { scope: readonly ['sharedCssText', 'sharedHelpersJs', 'chartsHelpersJs']; method: 'trim-prefix-or-suffix'; code: 'asset-missing' }; forbidPreWrappedMarker: { scope: readonly ['sharedCss', 'sharedHelpers', 'chartsHelpers']; excludes: readonly ['injectData']; method: 'enclosing-open-tag'; code: 'marker-conflict' } }" },
|
|
38
|
+
{ name: 'DEFAULT_DATA_SCRIPT_ID', kind: 'runtime', ticket: '#74', status: 'implemented', section: '3.1', signature: "'payload'" },
|
|
39
|
+
{ name: 'DATA_SCRIPT_TYPE', kind: 'runtime', ticket: '#74', status: 'implemented', section: '3.1', signature: "'application/json'" },
|
|
40
|
+
{ name: 'CONTAINER_CHECK_RULE', kind: 'runtime', ticket: '#74', status: 'implemented', section: '3.1', signature: "{ appliesWhenMarker: 'injectData'; openTag: '<script>'; closeTag: '</script>'; id: 'payload'; type: 'application/json'; code: 'container-missing' }" },
|
|
41
|
+
{ name: 'STRICT_ENVELOPE_FIELDS', kind: 'runtime', ticket: '#74', status: 'implemented', section: '3.1', signature: "readonly ['version', 'skill', 'shape', 'key', 'data']" },
|
|
42
|
+
{ name: 'STRICT_ENVELOPE_SHAPES', kind: 'runtime', ticket: '#74', status: 'implemented', section: '3.1', signature: "readonly ['list', 'detail', 'stat', 'receipt', 'analysis', 'fallback']" },
|
|
43
|
+
{ name: 'TEMPLATE_ERROR_CODES', kind: 'runtime', ticket: '#74', status: 'implemented', section: '3.1', signature: "readonly ['marker-missing', 'marker-duplicate', 'marker-conflict', 'data-missing', 'container-missing', 'asset-missing', 'strict-invalid', 'content-missing']" },
|
|
44
|
+
{ name: 'TEMPLATE_CHECK_ORDER', kind: 'runtime', ticket: '#74', status: 'implemented', section: '3.1', signature: "readonly ['marker-duplicate', 'marker-missing', 'marker-conflict', 'container-missing', 'asset-missing', 'data-missing', 'content-missing', 'strict-invalid']" },
|
|
45
|
+
{ name: 'TemplateAssets', kind: 'type', ticket: '#74', status: 'implemented', section: '3.1', signature: '{ sharedHelpersJs: string; sharedCssText: string; chartsHelpersJs?: string }' },
|
|
46
|
+
{ name: 'FillTemplateInput', kind: 'type', ticket: '#74', status: 'implemented', section: '3.1', signature: '{ template: string; assets: TemplateAssets; data?: unknown; strict?: boolean; dataScriptId?: string; content?: string }' },
|
|
47
|
+
{ name: 'FillTemplateReport', kind: 'type', ticket: '#74', status: 'implemented', section: '3.1', signature: '{ markers: readonly MarkerReport[]; strict: boolean; exempt: boolean; bytes: number }' },
|
|
48
|
+
{ name: 'FillTemplateOutput', kind: 'type', ticket: '#74', status: 'implemented', section: '3.1', signature: '{ html: string; report: FillTemplateReport }' },
|
|
49
|
+
{ name: 'FillTemplate', kind: 'type', ticket: '#74', status: 'implemented', section: '3.1', signature: '(input: FillTemplateInput) => FillTemplateOutput' },
|
|
50
|
+
{ name: 'fillTemplate', kind: 'runtime', ticket: '#74', status: 'implemented', section: '3.1', signature: '(input: FillTemplateInput): FillTemplateOutput' },
|
|
51
|
+
{ name: 'TemplateErrorShape', kind: 'type', ticket: '#74', status: 'implemented', section: '3.1', signature: "{ name: 'TemplateError'; code: TemplateErrorCode; marker?: TemplateMarkerKey; message: string }" },
|
|
52
|
+
// ── §3.2 共享样式资产(#75) ──
|
|
53
|
+
{ name: 'CSS_VAR_TOKENS', kind: 'runtime', ticket: '#75', status: 'implemented', section: '3.2', signature: "{ '--fg': '#1d1d1f'; '--fg2': '#6e6e73'; '--fg3': '#86868b'; '--bg': '#f5f5f7'; '--card': '#ffffff'; '--line': '#d2d2d7'; '--blue': '#007aff'; '--blue2': '#0a63ce'; '--soft': '#f5f8ff'; '--ok': '#34c759'; '--shadow': '0 1px 2px rgba(0,0,0,.04), 0 12px 36px rgba(0,0,0,.06)' }" },
|
|
54
|
+
{ name: 'STYLE_SHEET_ID', kind: 'runtime', ticket: '#75', status: 'implemented', section: '3.2', signature: "'ilife-base'" },
|
|
55
|
+
{ name: 'CONTROL_STYLE_SECTIONS', kind: 'runtime', ticket: '#75', status: 'implemented', section: '3.2', signature: "readonly ['toast', 'actionBar', 'copyButton', 'statusBadge', 'emptyState', 'errorReceipt', 'charts', 'helpShell']" },
|
|
56
|
+
{ name: 'STYLE_FORBIDDEN_TOKENS', kind: 'runtime', ticket: '#75', status: 'implemented', section: '3.2', signature: "readonly ['--r-xl', '--pink']" },
|
|
57
|
+
{ name: 'StyleSheetInput', kind: 'type', ticket: '#75', status: 'implemented', section: '3.2', signature: '{ prefix?: string; extraCss?: string }' },
|
|
58
|
+
{ name: 'StyleSheetOutput', kind: 'type', ticket: '#75', status: 'implemented', section: '3.2', signature: '{ css: string; tokens: readonly CssVarName[]; prefix: string; version: string }' },
|
|
59
|
+
{ name: 'BuildStyleSheet', kind: 'type', ticket: '#75', status: 'implemented', section: '3.2', signature: '(input?: StyleSheetInput) => StyleSheetOutput' },
|
|
60
|
+
{ name: 'buildStyleSheet', kind: 'runtime', ticket: '#75', status: 'implemented', section: '3.2', signature: '(input?: StyleSheetInput): StyleSheetOutput' },
|
|
61
|
+
// ── §3.3 控件层(#76) ──
|
|
62
|
+
{ name: 'ESCAPE_HTML_CHARS', kind: 'runtime', ticket: '#76', status: 'implemented', section: '3.3', signature: "readonly ['&', '<', '>', '\"', \"'\"]" },
|
|
63
|
+
{ name: 'ESCAPE_HTML_ENTITIES', kind: 'runtime', ticket: '#76', status: 'implemented', section: '3.3', signature: "{ '&': '&'; '<': '<'; '>': '>'; '\"': '"'; \"'\": ''' }" },
|
|
64
|
+
{ name: 'COPY_CHANNELS', kind: 'runtime', ticket: '#76', status: 'implemented', section: '3.3', signature: "readonly ['clipboard', 'fallback']" },
|
|
65
|
+
{ name: 'COPY_TEXT_DEFAULTS', kind: 'runtime', ticket: '#76', status: 'implemented', section: '3.3', signature: "{ emptyTextShortCircuit: true; failBadgeAlwaysOn: true; okMessage: '已复制'; okDetail: '粘贴给 AI'; failMessage: '复制失败'; failDetail: '长按选择文本手动复制' }" },
|
|
66
|
+
{ name: 'TOAST_ICONS', kind: 'runtime', ticket: '#76', status: 'implemented', section: '3.3', signature: "readonly ['copy', 'ok', 'warn', 'danger', 'info']" },
|
|
67
|
+
{ name: 'TOAST_DEFAULTS', kind: 'runtime', ticket: '#76', status: 'implemented', section: '3.3', signature: "{ timeoutMs: 4500; maxStack: 5; mobileMaxStack: 3; mobileMaxPx: 820; gapPx: 8; role: 'status'; ariaLive: 'polite'; defaultIcon: 'copy' }" },
|
|
68
|
+
{ name: 'ACTION_BAR_KINDS', kind: 'runtime', ticket: '#76', status: 'implemented', section: '3.3', signature: "readonly ['primary', 'red', 'ghost']" },
|
|
69
|
+
{ name: 'ACTION_BAR_DEFAULTS', kind: 'runtime', ticket: '#76', status: 'implemented', section: '3.3', signature: "{ copyDataLabel: '复制数据'; copyLogLabel: '复制日志'; ghostOwnRow: true; evenRowPairs: 2; minHeightPx: 40; fontSizePx: 12; fontWeight: 600; ghostBorderAlpha: 0.38 }" },
|
|
70
|
+
{ name: 'STATUS_KINDS', kind: 'runtime', ticket: '#76', status: 'implemented', section: '3.3', signature: "readonly ['ok', 'warn', 'danger', 'empty']" },
|
|
71
|
+
{ name: 'STATUS_DEFAULT_TEXT', kind: 'runtime', ticket: '#76', status: 'implemented', section: '3.3', signature: "{ ok: '成功'; warn: '警告'; danger: '失败'; empty: '无数据' }" },
|
|
72
|
+
{ name: 'CONTROLS_ERROR_CODES', kind: 'runtime', ticket: '#76', status: 'implemented', section: '3.3', signature: "readonly ['bad-input', 'bad-format']" },
|
|
73
|
+
{ name: 'CONTROL_NAMES', kind: 'runtime', ticket: '#76', status: 'implemented', section: '3.3', signature: "readonly ['toast', 'copyText', 'actionBar', 'statusBadge', 'emptyState', 'errorReceipt']" },
|
|
74
|
+
{ name: 'CONTROLS_HOST_REQUIREMENT', kind: 'runtime', ticket: '#76', status: 'implemented', section: '3.3', signature: "'none'" },
|
|
75
|
+
{ name: 'CONTROL_AVAILABILITY', kind: 'runtime', ticket: '#76', status: 'implemented', section: '3.3', signature: 'Record<ControlName, ControlAvailability>' },
|
|
76
|
+
{ name: 'CopyPorts', kind: 'type', ticket: '#76', status: 'implemented', section: '3.3', signature: '{ clipboard: ClipboardChannel | null; fallback: (text: string) => boolean; toast?: ToastHostPort }' },
|
|
77
|
+
{ name: 'CopyTextOptions', kind: 'type', ticket: '#76', status: 'implemented', section: '3.3', signature: '{ silent?: boolean; toast?: { ok?: CopyToastText; fail?: CopyToastText }; onOk?: (channel: CopyChannel) => void; onFail?: (reason: string) => void }' },
|
|
78
|
+
{ name: 'CopyTextOutcome', kind: 'type', ticket: '#76', status: 'implemented', section: '3.3', signature: '{ ok: boolean; channel: CopyChannel | null; reason?: string }' },
|
|
79
|
+
{ name: 'CopyText', kind: 'type', ticket: '#76', status: 'implemented', section: '3.3', signature: '(text: string, ports: CopyPorts, opts?: CopyTextOptions) => Promise<CopyTextOutcome>' },
|
|
80
|
+
{ name: 'copyText', kind: 'runtime', ticket: '#76', status: 'implemented', section: '3.3', signature: '(text: string, ports: CopyPorts, opts?: CopyTextOptions): Promise<CopyTextOutcome>' },
|
|
81
|
+
{ name: 'CopyRuntime', kind: 'type', ticket: '#76', status: 'implemented', section: '3.3', signature: '{ copyText(text: string, opts?: CopyTextOptions): Promise<CopyTextOutcome>; dispose(): void }' },
|
|
82
|
+
{ name: 'createCopyRuntime', kind: 'runtime', ticket: '#76', status: 'implemented', section: '3.3', signature: '(ports: CopyPorts): CopyRuntime' },
|
|
83
|
+
{ name: 'CopyActionHostPort', kind: 'type', ticket: '#76', status: 'implemented', section: '3.3', signature: '{ listActionIds(): readonly string[]; readDataText(actionId: string): string | undefined; onActivate(actionId: string, handler: () => void): () => void }' },
|
|
84
|
+
{ name: 'ACTION_ID_ATTR', kind: 'runtime', ticket: '#76', status: 'implemented', section: '3.3', signature: "'data-action-id'" },
|
|
85
|
+
{ name: 'COPY_ACTION_IDS', kind: 'runtime', ticket: '#76', status: 'implemented', section: '3.3', signature: "{ actionBar: { copyData: 'ilife-copy-data'; copyLog: 'ilife-copy-log' }; errorReceipt: { copyData: 'ilife-error-copy-data'; copyLog: 'ilife-error-copy-log' } }" },
|
|
86
|
+
{ name: 'BindCopyAction', kind: 'type', ticket: '#76', status: 'implemented', section: '3.3', signature: '(port: CopyActionHostPort, ports: CopyPorts, opts?: CopyTextOptions) => { dispose(): void }' },
|
|
87
|
+
{ name: 'bindCopyAction', kind: 'runtime', ticket: '#76', status: 'implemented', section: '3.3', signature: '(port: CopyActionHostPort, ports: CopyPorts, opts?: CopyTextOptions): { dispose(): void }' },
|
|
88
|
+
{ name: 'SharedHelpersInput', kind: 'type', ticket: '#76', status: 'implemented', section: '3.3', signature: '{ prefix?: string; dataAttr?: string }' },
|
|
89
|
+
{ name: 'DEFAULT_DATA_ATTR', kind: 'runtime', ticket: '#76', status: 'implemented', section: '3.3', signature: "'data-t'" },
|
|
90
|
+
{ name: 'BuildSharedHelpersJs', kind: 'type', ticket: '#76', status: 'implemented', section: '3.3', signature: '(input?: SharedHelpersInput) => string' },
|
|
91
|
+
{ name: 'buildSharedHelpersJs', kind: 'runtime', ticket: '#76', status: 'implemented', section: '3.3', signature: '(input?: SharedHelpersInput): string' },
|
|
92
|
+
{ name: 'SHARED_HELPERS_JS_RULE', kind: 'runtime', ticket: '#76', status: 'implemented', section: '3.3', signature: '{ selfContained: true; idempotent: true; domAllowed: true; forbidGlobalAssignment: true; forbidNodeBuiltins: true }' },
|
|
93
|
+
{ name: 'ToastInput', kind: 'type', ticket: '#76', status: 'implemented', section: '3.3', signature: '{ msg: string; detail?: string; icon?: ToastIcon; badge?: ToastBadge; actions?: readonly ToastAction[]; count?: string; lines?: readonly string[]; code?: string; timeoutMs?: number; maxStack?: number }' },
|
|
94
|
+
{ name: 'ToastHostPort', kind: 'type', ticket: '#76', status: 'implemented', section: '3.3', signature: '{ mount(html: string): { remove(): void } }' },
|
|
95
|
+
{ name: 'ToastController', kind: 'type', ticket: '#76', status: 'implemented', section: '3.3', signature: '{ show(input: ToastInput): void; flush(): void; dispose(): void }' },
|
|
96
|
+
{ name: 'renderToast', kind: 'runtime', ticket: '#76', status: 'implemented', section: '3.3', signature: '(input: ToastInput): string' },
|
|
97
|
+
{ name: 'createToastController', kind: 'runtime', ticket: '#76', status: 'implemented', section: '3.3', signature: '(port: ToastHostPort): ToastController' },
|
|
98
|
+
{ name: 'ActionBarInput', kind: 'type', ticket: '#76', status: 'implemented', section: '3.3', signature: '{ buttons?: readonly ActionBarButton[]; copyData?: CopyButtonInput; copyLog?: CopyButtonInput }' },
|
|
99
|
+
{ name: 'renderActionBar', kind: 'runtime', ticket: '#76', status: 'implemented', section: '3.3', signature: '(input: ActionBarInput): string' },
|
|
100
|
+
{ name: 'StatusBadgeInput', kind: 'type', ticket: '#76', status: 'implemented', section: '3.3', signature: '{ status: StatusKind; text?: string }' },
|
|
101
|
+
{ name: 'renderStatusBadge', kind: 'runtime', ticket: '#76', status: 'implemented', section: '3.3', signature: '(input: StatusBadgeInput): string' },
|
|
102
|
+
{ name: 'EmptyStateInput', kind: 'type', ticket: '#76', status: 'implemented', section: '3.3', signature: '{ icon?: string; text: string; hint?: string; actionHtml?: string }' },
|
|
103
|
+
{ name: 'renderEmptyState', kind: 'runtime', ticket: '#76', status: 'implemented', section: '3.3', signature: '(input: EmptyStateInput): string' },
|
|
104
|
+
{ name: 'ErrorReceiptInput', kind: 'type', ticket: '#76', status: 'implemented', section: '3.3', signature: '{ message: string; retryPrompt?: string; dataText?: string; logText?: string; dataActionId?: string; logActionId?: string }' },
|
|
105
|
+
{ name: 'renderErrorReceipt', kind: 'runtime', ticket: '#76', status: 'implemented', section: '3.3', signature: '(input: ErrorReceiptInput): string' },
|
|
106
|
+
// ── §3.4 复制文本序列化(#77) ──
|
|
107
|
+
{ name: 'COPY_FORMATS', kind: 'runtime', ticket: '#77', status: 'implemented', section: '3.4', signature: "readonly ['text', 'json', 'csv']" },
|
|
108
|
+
{ name: 'SERIALIZABLE_SHAPES', kind: 'runtime', ticket: '#77', status: 'implemented', section: '3.4', signature: "readonly ['stat', 'list', 'detail', 'analysis', 'receipt']" },
|
|
109
|
+
{ name: 'LOG_SECTIONS', kind: 'runtime', ticket: '#77', status: 'implemented', section: '3.4', signature: "readonly ['scene', 'thinking', 'dataStructure', 'callChain', 'timestampVersion', 'exception']" },
|
|
110
|
+
{ name: 'LOG_SECTION_TITLES', kind: 'runtime', ticket: '#77', status: 'implemented', section: '3.4', signature: "{ scene: '场景标识'; thinking: 'AI 思考链'; dataStructure: '数据结构'; callChain: '调用链'; timestampVersion: '时间戳版本'; exception: '异常' }" },
|
|
111
|
+
{ name: 'LOG_UNKNOWN_PLACEHOLDER', kind: 'runtime', ticket: '#77', status: 'implemented', section: '3.4', signature: "'(未知)'" },
|
|
112
|
+
{ name: 'TEXT_EMPTY_PLACEHOLDER', kind: 'runtime', ticket: '#77', status: 'implemented', section: '3.4', signature: "'未填写'" },
|
|
113
|
+
{ name: 'TEXT_SENSITIVE_MASK', kind: 'runtime', ticket: '#77', status: 'implemented', section: '3.4', signature: "'****'" },
|
|
114
|
+
{ name: 'TEXT_HEADER_TEMPLATE', kind: 'runtime', ticket: '#77', status: 'implemented', section: '3.4', signature: "'【{skill} · {key}】'" },
|
|
115
|
+
{ name: 'TEXT_JSON_INDENT', kind: 'runtime', ticket: '#77', status: 'implemented', section: '3.4', signature: '2' },
|
|
116
|
+
{ name: 'TEXT_JSON_LT_RULE', kind: 'runtime', ticket: '#77', status: 'implemented', section: '3.4', signature: "'u003c'" },
|
|
117
|
+
{ name: 'CSV_DIALECT', kind: 'runtime', ticket: '#77', status: 'implemented', section: '3.4', signature: "{ delimiter: ','; quote: '\"'; quoteEscape: '\"\"'; lineEnding: 'LF'; header: readonly ['section', 'row'] }" },
|
|
118
|
+
{ name: 'TEXT_ERROR_CODES', kind: 'runtime', ticket: '#77', status: 'implemented', section: '3.4', signature: "readonly ['shape-unsupported', 'structure-invalid', 'format-unknown']" },
|
|
119
|
+
{ name: 'SerializableEnvelope', kind: 'type', ticket: '#77', status: 'implemented', section: '3.4', signature: 'Envelope<SerializableShape>' },
|
|
120
|
+
{ name: 'DataTextInput', kind: 'type', ticket: '#77', status: 'implemented', section: '3.4', signature: '{ envelope: SerializableEnvelope; format?: CopyFormat; title?: string; occurredAt?: string }' },
|
|
121
|
+
{ name: 'LogTextInput', kind: 'type', ticket: '#77', status: 'implemented', section: '3.4', signature: '{ envelope: SerializableEnvelope; format?: CopyFormat; copyLog?: CopyLogFields }' },
|
|
122
|
+
{ name: 'CopyLogFields', kind: 'type', ticket: '#77', status: 'implemented', section: '3.4', signature: '{ thinking?: string; dataStructure?: string; callChain?: string; timestamp?: string; exception?: string }' },
|
|
123
|
+
{ name: 'LOG_SECTION_SOURCES', kind: 'runtime', ticket: '#77', status: 'implemented', section: '3.4', signature: "{ scene: 'envelope'; thinking: 'copyLog.thinking'; dataStructure: 'copyLog.dataStructure'; callChain: 'copyLog.callChain'; timestampVersion: 'copyLog.timestamp'; exception: 'copyLog.exception' }" },
|
|
124
|
+
{ name: 'DataProjectionSpec', kind: 'type', ticket: '#77', status: 'implemented', section: '3.4', signature: '{ header: string; body: string; tail: string | null; csvSections: readonly string[] }' },
|
|
125
|
+
{ name: 'DATA_TEXT_PROJECTIONS', kind: 'runtime', ticket: '#77', status: 'implemented', section: '3.4', signature: "{ stat: { header: '【{skill} · {key}】'; body: 'metrics'; tail: null; csvSections: readonly ['metrics'] }; list: { header: '【{skill} · {key}】'; body: 'items'; tail: 'total'; csvSections: readonly ['items', 'total'] }; detail: { header: '【{skill} · {key}】'; body: 'item'; tail: null; csvSections: readonly ['item'] }; receipt: { header: '【{skill} · {key}】'; body: 'ok'; tail: 'message'; csvSections: readonly ['status', 'message'] }; analysis: { header: '【{skill} · {key}】'; body: 'summary'; tail: null; csvSections: readonly ['summary'] } }" },
|
|
126
|
+
{ name: 'BuildDataText', kind: 'type', ticket: '#77', status: 'implemented', section: '3.4', signature: '(input: DataTextInput) => string' },
|
|
127
|
+
{ name: 'buildDataText', kind: 'runtime', ticket: '#77', status: 'implemented', section: '3.4', signature: '(input: DataTextInput): string' },
|
|
128
|
+
{ name: 'BuildLogText', kind: 'type', ticket: '#77', status: 'implemented', section: '3.4', signature: '(input: LogTextInput) => string' },
|
|
129
|
+
{ name: 'buildLogText', kind: 'runtime', ticket: '#77', status: 'implemented', section: '3.4', signature: '(input: LogTextInput): string' },
|
|
130
|
+
{ name: 'SENSITIVE_ROW_RULE', kind: 'runtime', ticket: '#77', status: 'implemented', section: '3.4', signature: "{ textField: 'text'; flagField: 'sensitive'; flagValue: true; mask: '****'; textNotice: '(敏感字段已脱敏)' }" },
|
|
131
|
+
// ── §3.5 图表层与 HELP 壳(#78) ──
|
|
132
|
+
{ name: 'CHART_KINDS', kind: 'runtime', ticket: '#78', status: 'implemented', section: '3.5', signature: "readonly ['bar', 'line', 'donut', 'progress', 'combo', 'sparkline', 'gauge', 'scatter']" },
|
|
133
|
+
{ name: 'CHARTS_STYLE_ID', kind: 'runtime', ticket: '#78', status: 'implemented', section: '3.5', signature: "'ilife-charts'" },
|
|
134
|
+
{ name: 'CHART_STRUCTURE_RULE', kind: 'runtime', ticket: '#78', status: 'implemented', section: '3.5', signature: "'throw'" },
|
|
135
|
+
{ name: 'CHART_EMPTY_RULE', kind: 'runtime', ticket: '#78', status: 'implemented', section: '3.5', signature: "'emptyState'" },
|
|
136
|
+
{ name: 'CHART_COORD_RULE', kind: 'runtime', ticket: '#78', status: 'implemented', section: '3.5', signature: "'viewBox-only'" },
|
|
137
|
+
{ name: 'CHART_BREAKPOINTS', kind: 'runtime', ticket: '#78', status: 'implemented', section: '3.5', signature: '{ mobileMaxPx: 720; dotSizeMobilePx: 8; lineHeightMobilePx: 150; stackedGapPx: 3 }' },
|
|
138
|
+
{ name: 'CHART_PALETTE', kind: 'runtime', ticket: '#78', status: 'implemented', section: '3.5', signature: "readonly ['#007aff', '#34c759', '#ff9500', '#ff3b30', '#af52de', '#5ac8fa', '#ffcc00', '#8e8e93', '#ff2d55', '#00c7be']" },
|
|
139
|
+
{ name: 'CHART_ERROR_CODES', kind: 'runtime', ticket: '#78', status: 'implemented', section: '3.5', signature: "readonly ['structure-invalid', 'pct-invalid', 'kind-unknown']" },
|
|
140
|
+
{ name: 'SCENE_STATUS', kind: 'runtime', ticket: '#78', status: 'implemented', section: '3.5', signature: "readonly ['', '【待开发】']" },
|
|
141
|
+
{ name: 'SCENE_TYPE_FIELD', kind: 'runtime', ticket: '#78', status: 'implemented', section: '3.5', signature: "'types'" },
|
|
142
|
+
{ name: 'SCENE_DATA_SCHEMA', kind: 'runtime', ticket: '#78', status: 'implemented', section: '3.5', signature: "object(draft-07;$id: 'ilife://base-paint/scene-data.schema.json')" },
|
|
143
|
+
{ name: 'HELP_SHELL_ID', kind: 'runtime', ticket: '#78', status: 'implemented', section: '3.5', signature: "'ilife-help-shell'" },
|
|
144
|
+
{ name: 'HELP_COPY_TARGETS', kind: 'runtime', ticket: '#78', status: 'implemented', section: '3.5', signature: "readonly ['prompt', 'wakeWord', 'params']" },
|
|
145
|
+
{ name: 'HELP_COPY_ACTIONS', kind: 'runtime', ticket: '#78', status: 'implemented', section: '3.5', signature: "{ prompt: { actionId: 'ilife-help-copy-prompt'; label: '复制指令' }; wakeWord: { actionId: 'ilife-help-copy-wakeWord'; label: '复制唤醒词' }; params: { actionId: 'ilife-help-copy-params'; label: '复制参数' } }" },
|
|
146
|
+
{ name: 'HELP_SCHEMA_ERROR_CODES', kind: 'runtime', ticket: '#78', status: 'implemented', section: '3.5', signature: "readonly ['schema-invalid', 'duplicate-id', 'status-invalid', 'types-invalid']" },
|
|
147
|
+
{ name: 'ChartItem', kind: 'type', ticket: '#78', status: 'implemented', section: '3.5', signature: '{ label: string; value: number | null; color?: string; values?: readonly number[]; anomaly?: boolean }' },
|
|
148
|
+
{ name: 'ChartOutput', kind: 'type', ticket: '#78', status: 'implemented', section: '3.5', signature: '{ kind: ChartKind; html: string; empty: boolean; points: number }' },
|
|
149
|
+
{ name: 'ChartsApi', kind: 'type', ticket: '#78', status: 'implemented', section: '3.5', signature: '{ bar(input: BarChartInput): ChartOutput; line(input: LineChartInput): ChartOutput; donut(input: DonutChartInput): ChartOutput; progress(input: ProgressChartInput): ChartOutput; combo(input: ComboChartInput): ChartOutput; sparkline(input: SparklineChartInput): ChartOutput; gauge(input: GaugeChartInput): ChartOutput; scatter(input: ScatterChartInput): ChartOutput }' },
|
|
150
|
+
{ name: 'charts', kind: 'runtime', ticket: '#78', status: 'implemented', section: '3.5', signature: 'ChartsApi' },
|
|
151
|
+
{ name: 'SceneData', kind: 'type', ticket: '#78', status: 'implemented', section: '3.5', signature: '{ skill_name: string; title: string; subtitle?: string; meta_blocks?: readonly SceneMetaBlock[]; groups: readonly SceneGroup[]; init_banner?: SceneInitBanner; contact?: SceneContact; version?: string; recommendations?: readonly SceneRecommendation[] }' },
|
|
152
|
+
{ name: 'Scene', kind: 'type', ticket: '#78', status: 'implemented', section: '3.5', signature: "{ id: string; title: string; wake_word: string; types?: readonly (string | SceneTypeBadge)[]; status: SceneStatus; prompt_template: string; editable_fields?: readonly SceneEditableField[] }" },
|
|
153
|
+
{ name: 'HelpShellInput', kind: 'type', ticket: '#78', status: 'implemented', section: '3.5', signature: '{ sceneData: SceneData; assets: TemplateAssets; strict?: boolean; template?: string }' },
|
|
154
|
+
{ name: 'RenderHelpShell', kind: 'type', ticket: '#78', status: 'implemented', section: '3.5', signature: '(input: HelpShellInput) => FillTemplateOutput' },
|
|
155
|
+
{ name: 'renderHelpShell', kind: 'runtime', ticket: '#78', status: 'implemented', section: '3.5', signature: '(input: HelpShellInput): FillTemplateOutput' },
|
|
156
|
+
{ name: 'ChartsHelpersInput', kind: 'type', ticket: '#78', status: 'implemented', section: '3.5', signature: '{ prefix?: string; styleId?: string }' },
|
|
157
|
+
{ name: 'BuildChartsHelpersJs', kind: 'type', ticket: '#78', status: 'implemented', section: '3.5', signature: '(input?: ChartsHelpersInput) => string' },
|
|
158
|
+
{ name: 'buildChartsHelpersJs', kind: 'runtime', ticket: '#78', status: 'implemented', section: '3.5', signature: '(input?: ChartsHelpersInput): string' },
|
|
159
|
+
// ── §5 版本机制 ──
|
|
160
|
+
{ name: 'BASE_PAINT_CONTRACT_VERSION', kind: 'runtime', ticket: '#92', status: 'implemented', section: '5', signature: "'0.1.0'" },
|
|
161
|
+
// ── §7 签名测试 ──
|
|
162
|
+
{ name: 'SPEC_FROZEN_SURFACE', kind: 'runtime', ticket: '#92', status: 'implemented', section: '7', signature: 'readonly FrozenSurfaceEntry[]' },
|
|
163
|
+
]);
|
|
164
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/spec/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/** base-paint/spec/style:共享样式资产契约(#75 冻结面)。
|
|
2
|
+
*
|
|
3
|
+
* 冻结的**旧 token A 组 11 个**(AC-9,来源旧 `assets/base.css:13-23` 实测);
|
|
4
|
+
* 与既有 `src/style.ts` 的 9 个深色 JS token(`STYLE_TOKENS`)**不同物**:
|
|
5
|
+
* 后者是既有渲染契约,前者是注入 HTML 的 CSS 变量表。
|
|
6
|
+
*
|
|
7
|
+
* 红线:样式只抖 base-paint;类名前缀 `ilife-`;单品包禁自带样式常量。
|
|
8
|
+
* Q14:不得引入 `--r-xl`/`--pink`/深色区。
|
|
9
|
+
*/
|
|
10
|
+
/** 旧 token A 组逐值(11 个;`--blue: #007aff` 与 Q12 锁定的 B1 主色一致)。 */
|
|
11
|
+
export declare const CSS_VAR_TOKENS: Readonly<{
|
|
12
|
+
readonly '--fg': "#1d1d1f";
|
|
13
|
+
readonly '--fg2': "#6e6e73";
|
|
14
|
+
readonly '--fg3': "#86868b";
|
|
15
|
+
readonly '--bg': "#f5f5f7";
|
|
16
|
+
readonly '--card': "#ffffff";
|
|
17
|
+
readonly '--line': "#d2d2d7";
|
|
18
|
+
readonly '--blue': "#007aff";
|
|
19
|
+
readonly '--blue2': "#0a63ce";
|
|
20
|
+
readonly '--soft': "#f5f8ff";
|
|
21
|
+
readonly '--ok': "#34c759";
|
|
22
|
+
readonly '--shadow': "0 1px 2px rgba(0,0,0,.04), 0 12px 36px rgba(0,0,0,.06)";
|
|
23
|
+
}>;
|
|
24
|
+
export type CssVarName = keyof typeof CSS_VAR_TOKENS;
|
|
25
|
+
/** 样式表版本(B8 统一版本口径由 §5 机制决定)。 */
|
|
26
|
+
export declare const STYLE_SHEET_ID = "ilife-base";
|
|
27
|
+
/** 控件样式区边界:每个区一个类名命名空间(自动加 `STYLE_PREFIX`)。 */
|
|
28
|
+
export declare const CONTROL_STYLE_SECTIONS: readonly ["toast", "actionBar", "copyButton", "statusBadge", "emptyState", "errorReceipt", "charts", "helpShell"];
|
|
29
|
+
export type ControlStyleSection = (typeof CONTROL_STYLE_SECTIONS)[number];
|
|
30
|
+
/** Q14 禁入 token(出现即契约缺陷)。 */
|
|
31
|
+
export declare const STYLE_FORBIDDEN_TOKENS: readonly ["--r-xl", "--pink"];
|
|
32
|
+
export interface StyleSheetInput {
|
|
33
|
+
/** 缺省既有 `STYLE_PREFIX`(`ilife-`)。 */
|
|
34
|
+
readonly prefix?: string;
|
|
35
|
+
/** 附加 CSS 文本;不得重定义 token、不得出现禁入 token。 */
|
|
36
|
+
readonly extraCss?: string;
|
|
37
|
+
}
|
|
38
|
+
export interface StyleSheetOutput {
|
|
39
|
+
readonly css: string;
|
|
40
|
+
readonly tokens: readonly CssVarName[];
|
|
41
|
+
readonly prefix: string;
|
|
42
|
+
readonly version: string;
|
|
43
|
+
}
|
|
44
|
+
/** 冻结签名:`buildStyleSheet(input?: StyleSheetInput): StyleSheetOutput`。 */
|
|
45
|
+
export type BuildStyleSheet = (input?: StyleSheetInput) => StyleSheetOutput;
|
|
46
|
+
//# sourceMappingURL=style.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../src/spec/style.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,+DAA+D;AAC/D,eAAO,MAAM,cAAc;;;;;;;;;;;;EAYhB,CAAC;AAEZ,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,cAAc,CAAC;AAErD,iCAAiC;AACjC,eAAO,MAAM,cAAc,eAAe,CAAC;AAE3C,+CAA+C;AAC/C,eAAO,MAAM,sBAAsB,mHASzB,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1E,6BAA6B;AAC7B,eAAO,MAAM,sBAAsB,+BAAgC,CAAC;AAEpE,MAAM,WAAW,eAAe;IAC9B,qCAAqC;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,0CAA0C;IAC1C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,yEAAyE;AACzE,MAAM,MAAM,eAAe,GAAG,CAAC,KAAK,CAAC,EAAE,eAAe,KAAK,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/** base-paint/spec/style:共享样式资产契约(#75 冻结面)。
|
|
2
|
+
*
|
|
3
|
+
* 冻结的**旧 token A 组 11 个**(AC-9,来源旧 `assets/base.css:13-23` 实测);
|
|
4
|
+
* 与既有 `src/style.ts` 的 9 个深色 JS token(`STYLE_TOKENS`)**不同物**:
|
|
5
|
+
* 后者是既有渲染契约,前者是注入 HTML 的 CSS 变量表。
|
|
6
|
+
*
|
|
7
|
+
* 红线:样式只抖 base-paint;类名前缀 `ilife-`;单品包禁自带样式常量。
|
|
8
|
+
* Q14:不得引入 `--r-xl`/`--pink`/深色区。
|
|
9
|
+
*/
|
|
10
|
+
/** 旧 token A 组逐值(11 个;`--blue: #007aff` 与 Q12 锁定的 B1 主色一致)。 */
|
|
11
|
+
export const CSS_VAR_TOKENS = Object.freeze({
|
|
12
|
+
'--fg': '#1d1d1f',
|
|
13
|
+
'--fg2': '#6e6e73',
|
|
14
|
+
'--fg3': '#86868b',
|
|
15
|
+
'--bg': '#f5f5f7',
|
|
16
|
+
'--card': '#ffffff',
|
|
17
|
+
'--line': '#d2d2d7',
|
|
18
|
+
'--blue': '#007aff',
|
|
19
|
+
'--blue2': '#0a63ce',
|
|
20
|
+
'--soft': '#f5f8ff',
|
|
21
|
+
'--ok': '#34c759',
|
|
22
|
+
'--shadow': '0 1px 2px rgba(0,0,0,.04), 0 12px 36px rgba(0,0,0,.06)',
|
|
23
|
+
});
|
|
24
|
+
/** 样式表版本(B8 统一版本口径由 §5 机制决定)。 */
|
|
25
|
+
export const STYLE_SHEET_ID = 'ilife-base';
|
|
26
|
+
/** 控件样式区边界:每个区一个类名命名空间(自动加 `STYLE_PREFIX`)。 */
|
|
27
|
+
export const CONTROL_STYLE_SECTIONS = [
|
|
28
|
+
'toast',
|
|
29
|
+
'actionBar',
|
|
30
|
+
'copyButton',
|
|
31
|
+
'statusBadge',
|
|
32
|
+
'emptyState',
|
|
33
|
+
'errorReceipt',
|
|
34
|
+
'charts',
|
|
35
|
+
'helpShell',
|
|
36
|
+
];
|
|
37
|
+
/** Q14 禁入 token(出现即契约缺陷)。 */
|
|
38
|
+
export const STYLE_FORBIDDEN_TOKENS = ['--r-xl', '--pink'];
|
|
39
|
+
//# sourceMappingURL=style.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style.js","sourceRoot":"","sources":["../../src/spec/style.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,+DAA+D;AAC/D,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;IAC1C,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,SAAS;IACjB,QAAQ,EAAE,SAAS;IACnB,QAAQ,EAAE,SAAS;IACnB,QAAQ,EAAE,SAAS;IACnB,SAAS,EAAE,SAAS;IACpB,QAAQ,EAAE,SAAS;IACnB,MAAM,EAAE,SAAS;IACjB,UAAU,EAAE,wDAAwD;CAC5D,CAAC,CAAC;AAIZ,iCAAiC;AACjC,MAAM,CAAC,MAAM,cAAc,GAAG,YAAY,CAAC;AAE3C,+CAA+C;AAC/C,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,OAAO;IACP,WAAW;IACX,YAAY;IACZ,aAAa;IACb,YAAY;IACZ,cAAc;IACd,QAAQ;IACR,WAAW;CACH,CAAC;AAIX,6BAA6B;AAC7B,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAU,CAAC"}
|