@hjmds/design-contracts 1.19.0 → 1.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.
- package/dist/authoring-tools.d.ts +38 -0
- package/dist/authoring-tools.d.ts.map +1 -0
- package/dist/authoring-tools.js +35 -0
- package/dist/authoring-tools.js.map +1 -0
- package/dist/behaviors.d.ts +34 -3
- package/dist/behaviors.d.ts.map +1 -1
- package/dist/behaviors.js +2 -0
- package/dist/behaviors.js.map +1 -1
- package/dist/bottom-navigation.d.ts +10 -0
- package/dist/bottom-navigation.d.ts.map +1 -1
- package/dist/bottom-navigation.js +10 -0
- package/dist/bottom-navigation.js.map +1 -1
- package/dist/calendar.d.ts +9 -1
- package/dist/calendar.d.ts.map +1 -1
- package/dist/calendar.js +4 -2
- package/dist/calendar.js.map +1 -1
- package/dist/catalog.d.ts +148 -2
- package/dist/catalog.d.ts.map +1 -1
- package/dist/catalog.js +6 -2
- package/dist/catalog.js.map +1 -1
- package/dist/chart.d.ts +398 -0
- package/dist/chart.d.ts.map +1 -0
- package/dist/chart.js +414 -0
- package/dist/chart.js.map +1 -0
- package/dist/collection-editing.d.ts +38 -0
- package/dist/collection-editing.d.ts.map +1 -0
- package/dist/collection-editing.js +53 -0
- package/dist/collection-editing.js.map +1 -0
- package/dist/communication.d.ts +29 -0
- package/dist/communication.d.ts.map +1 -0
- package/dist/communication.js +11 -0
- package/dist/communication.js.map +1 -0
- package/dist/component-definitions.d.ts +1 -0
- package/dist/component-definitions.d.ts.map +1 -1
- package/dist/component-definitions.js +1 -0
- package/dist/component-definitions.js.map +1 -1
- package/dist/component-recipes.d.ts +25 -0
- package/dist/component-recipes.d.ts.map +1 -1
- package/dist/component-recipes.js +13 -0
- package/dist/component-recipes.js.map +1 -1
- package/dist/data-table.d.ts +229 -5
- package/dist/data-table.d.ts.map +1 -1
- package/dist/data-table.js +242 -6
- package/dist/data-table.js.map +1 -1
- package/dist/data-workflows.d.ts +70 -0
- package/dist/data-workflows.d.ts.map +1 -0
- package/dist/data-workflows.js +109 -0
- package/dist/data-workflows.js.map +1 -0
- package/dist/dataviz.d.ts +7 -6
- package/dist/dataviz.d.ts.map +1 -1
- package/dist/dataviz.js +7 -6
- package/dist/dataviz.js.map +1 -1
- package/dist/gooey-navigation.d.ts +7 -0
- package/dist/gooey-navigation.d.ts.map +1 -1
- package/dist/gooey-navigation.js +10 -0
- package/dist/gooey-navigation.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/media-transport.d.ts +16 -0
- package/dist/media-transport.d.ts.map +1 -0
- package/dist/media-transport.js +17 -0
- package/dist/media-transport.js.map +1 -0
- package/dist/recipes.d.ts +1 -0
- package/dist/recipes.d.ts.map +1 -1
- package/dist/recipes.js +1 -0
- package/dist/recipes.js.map +1 -1
- package/dist/semantic-colors.d.ts +9 -0
- package/dist/semantic-colors.d.ts.map +1 -1
- package/dist/semantic-colors.js +5 -0
- package/dist/semantic-colors.js.map +1 -1
- package/dist/showcase.d.ts.map +1 -1
- package/dist/showcase.js +3 -1
- package/dist/showcase.js.map +1 -1
- package/dist/social-compositions.d.ts +19 -0
- package/dist/social-compositions.d.ts.map +1 -0
- package/dist/social-compositions.js +33 -0
- package/dist/social-compositions.js.map +1 -0
- package/dist/streaming-answer.d.ts +18 -0
- package/dist/streaming-answer.d.ts.map +1 -0
- package/dist/streaming-answer.js +61 -0
- package/dist/streaming-answer.js.map +1 -0
- package/dist/task-controls.d.ts +31 -0
- package/dist/task-controls.d.ts.map +1 -0
- package/dist/task-controls.js +25 -0
- package/dist/task-controls.js.map +1 -0
- package/dist/toggle-feedback.d.ts +22 -0
- package/dist/toggle-feedback.d.ts.map +1 -0
- package/dist/toggle-feedback.js +32 -0
- package/dist/toggle-feedback.js.map +1 -0
- package/dist/transfer-task.d.ts +13 -0
- package/dist/transfer-task.d.ts.map +1 -0
- package/dist/transfer-task.js +13 -0
- package/dist/transfer-task.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/docs/authoring-tools.md +31 -0
- package/docs/bottom-navigation.md +11 -0
- package/docs/calendar.md +3 -1
- package/docs/catalog-freeze.json +5 -0
- package/docs/chart.md +206 -0
- package/docs/collection-editing.md +83 -0
- package/docs/communication.md +35 -0
- package/docs/data-table.md +56 -6
- package/docs/data-workflows.md +26 -0
- package/docs/generated/component-maturity.md +6 -5
- package/docs/generated/renderer-evidence.json +95 -5
- package/docs/generated/renderer-evidence.md +6 -3
- package/docs/generated/showcase-manifest.json +66 -3
- package/docs/gooey-navigation.md +20 -0
- package/docs/library-gap-analysis.md +4 -2
- package/docs/media-transport.md +37 -0
- package/docs/social-compositions.md +51 -0
- package/docs/streaming-answer.md +57 -0
- package/docs/task-controls.md +38 -0
- package/docs/toggle-feedback.md +56 -0
- package/docs/transfer-task.md +33 -0
- package/docs/usage/README.md +15 -4
- package/docs/usage/components/activity-chip.md +2 -2
- package/docs/usage/components/bottom-navigation.md +14 -1
- package/docs/usage/components/button.md +39 -0
- package/docs/usage/components/calendar.md +4 -2
- package/docs/usage/components/chart.md +277 -0
- package/docs/usage/components/data-table.md +92 -18
- package/docs/usage/components/screen-layout.md +3 -1
- package/docs/usage/components/tabs.md +25 -0
- package/docs/usage/components/toast.md +1 -1
- package/docs/usage/compositions/action-feedback.md +18 -2
- package/docs/usage/compositions/activity-status.md +2 -2
- package/docs/usage/compositions/authoring-tools.md +90 -0
- package/docs/usage/compositions/collection-editing.md +110 -0
- package/docs/usage/compositions/communication.md +100 -0
- package/docs/usage/compositions/data-workflows.md +91 -0
- package/docs/usage/compositions/media-transport.md +87 -0
- package/docs/usage/compositions/social-compositions.md +91 -0
- package/docs/usage/compositions/streaming-answer.md +97 -0
- package/docs/usage/compositions/task-controls.md +93 -0
- package/docs/usage/compositions/toggle-feedback.md +84 -0
- package/docs/usage/compositions/transfer-task.md +86 -0
- package/docs/usage/compositions/web-additions.md +2 -2
- package/docs/usage/screens/common-shell.md +4 -0
- package/package.json +67 -1
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lucian #033/#092/#131/#144/#178 informed these compositions, not their demo state engines.
|
|
3
|
+
* Reuse FieldGroup, ActionSession and controlled table columns; products own data and persistence.
|
|
4
|
+
*/
|
|
5
|
+
export const collectionEditingRecipe = { gap: "md", actionGap: "sm" };
|
|
6
|
+
export function assertDistinctIds(items) {
|
|
7
|
+
const ids = new Set();
|
|
8
|
+
for (const { id } of items) {
|
|
9
|
+
if (!id.trim() || ids.has(id))
|
|
10
|
+
throw new TypeError("Collection editing requires distinct nonempty ids");
|
|
11
|
+
ids.add(id);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
/** A mutation gets its own immutable scope; a later selection never changes an in-flight request. */
|
|
15
|
+
export function snapshotSelection(ids) {
|
|
16
|
+
assertDistinctIds(ids.map(id => ({ id })));
|
|
17
|
+
return Object.freeze([...ids]);
|
|
18
|
+
}
|
|
19
|
+
/** Focus the next surviving row, then the preceding row, then the add action. */
|
|
20
|
+
export function focusAfterRemoval(ids, removed, disabledIds = []) {
|
|
21
|
+
const index = ids.indexOf(removed);
|
|
22
|
+
if (index < 0)
|
|
23
|
+
return undefined;
|
|
24
|
+
const enabled = (id) => !disabledIds.includes(id);
|
|
25
|
+
return ids.slice(index + 1).find(enabled) ?? ids.slice(0, index).reverse().find(enabled);
|
|
26
|
+
}
|
|
27
|
+
export function recoverableFilters(options) {
|
|
28
|
+
assertDistinctIds(options);
|
|
29
|
+
if (options.some(option => !Number.isSafeInteger(option.resultCount) || option.resultCount < 0)) {
|
|
30
|
+
throw new RangeError("Filter recovery counts must be nonnegative safe integers from product data");
|
|
31
|
+
}
|
|
32
|
+
return options.filter(option => option.resultCount > 0);
|
|
33
|
+
}
|
|
34
|
+
/** Locked columns are barriers: a visibility/order UI must not silently move a fixed column. */
|
|
35
|
+
export function changeColumnSettings(columns, id, action) {
|
|
36
|
+
assertDistinctIds(columns);
|
|
37
|
+
const index = columns.findIndex(column => column.id === id), column = columns[index];
|
|
38
|
+
if (!column || column.locked)
|
|
39
|
+
return columns;
|
|
40
|
+
if (action === "toggle") {
|
|
41
|
+
if (column.visible && columns.filter(item => item.visible).length <= 1)
|
|
42
|
+
return columns;
|
|
43
|
+
return columns.map(item => item.id === id ? { ...item, visible: !item.visible } : item);
|
|
44
|
+
}
|
|
45
|
+
const nextIndex = index + (action === "earlier" ? -1 : 1), neighbor = columns[nextIndex];
|
|
46
|
+
if (!neighbor || neighbor.locked)
|
|
47
|
+
return columns;
|
|
48
|
+
const next = [...columns];
|
|
49
|
+
next[index] = neighbor;
|
|
50
|
+
next[nextIndex] = column;
|
|
51
|
+
return next;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=collection-editing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collection-editing.js","sourceRoot":"","sources":["../src/collection-editing.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Lucian #033/#092/#131/#144/#178 informed these compositions, not their demo state engines.\n * Reuse FieldGroup, ActionSession and controlled table columns; products own data and persistence.\n */\nexport const collectionEditingRecipe = { gap: \"md\", actionGap: \"sm\" } as const;\nexport type ColumnSetting = Readonly<{ id: string; label: string; visible: boolean; locked?: boolean }>;\nexport type FilterRecoveryOption = Readonly<{ id: string; label: string; resultCount: number }>;\nexport type SelectionAction = Readonly<{ id: string; label: string; destructive?: boolean }>;\nexport type FocusTarget = { focus(): void };\n\nexport function assertDistinctIds(items: readonly Readonly<{ id: string }>[]): void {\n const ids = new Set<string>();\n for (const { id } of items) {\n if (!id.trim() || ids.has(id)) throw new TypeError(\"Collection editing requires distinct nonempty ids\");\n ids.add(id);\n }\n}\n\n/** A mutation gets its own immutable scope; a later selection never changes an in-flight request. */\nexport function snapshotSelection(ids: readonly string[]): readonly string[] {\n assertDistinctIds(ids.map(id => ({ id })));\n return Object.freeze([...ids]);\n}\n\n/** Focus the next surviving row, then the preceding row, then the add action. */\nexport function focusAfterRemoval(ids: readonly string[], removed: string, disabledIds: readonly string[] = []): string | undefined {\n const index = ids.indexOf(removed);\n if (index < 0) return undefined;\n const enabled = (id: string) => !disabledIds.includes(id);\n return ids.slice(index + 1).find(enabled) ?? ids.slice(0, index).reverse().find(enabled);\n}\n\nexport function recoverableFilters(options: readonly FilterRecoveryOption[]): readonly FilterRecoveryOption[] {\n assertDistinctIds(options);\n if (options.some(option => !Number.isSafeInteger(option.resultCount) || option.resultCount < 0)) {\n throw new RangeError(\"Filter recovery counts must be nonnegative safe integers from product data\");\n }\n return options.filter(option => option.resultCount > 0);\n}\n\n/** Locked columns are barriers: a visibility/order UI must not silently move a fixed column. */\nexport function changeColumnSettings(columns: readonly ColumnSetting[], id: string, action: \"toggle\" | \"earlier\" | \"later\"): readonly ColumnSetting[] {\n assertDistinctIds(columns);\n const index = columns.findIndex(column => column.id === id), column = columns[index];\n if (!column || column.locked) return columns;\n if (action === \"toggle\") {\n if (column.visible && columns.filter(item => item.visible).length <= 1) return columns;\n return columns.map(item => item.id === id ? { ...item, visible: !item.visible } : item);\n }\n const nextIndex = index + (action === \"earlier\" ? -1 : 1), neighbor = columns[nextIndex];\n if (!neighbor || neighbor.locked) return columns;\n const next = [...columns];\n next[index] = neighbor; next[nextIndex] = column;\n return next;\n}\n"]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export type ComposerLengthFeedback = Readonly<{
|
|
2
|
+
label: string;
|
|
3
|
+
formatCount: (used: number, max: number) => string;
|
|
4
|
+
threshold?: number;
|
|
5
|
+
}>;
|
|
6
|
+
/** Match the controlled text/maxLength UTF-16 unit; do not silently trim a user's draft. */
|
|
7
|
+
export declare function resolveComposerLimit(value: string, max: number, threshold?: number): {
|
|
8
|
+
used: number;
|
|
9
|
+
max: number;
|
|
10
|
+
near: boolean;
|
|
11
|
+
exceeded: boolean;
|
|
12
|
+
};
|
|
13
|
+
export type ReplyTarget = Readonly<{
|
|
14
|
+
id: string;
|
|
15
|
+
author: string;
|
|
16
|
+
excerpt: string;
|
|
17
|
+
}>;
|
|
18
|
+
export declare function validateReplyTarget(target: ReplyTarget | null): void;
|
|
19
|
+
export type SearchResponse<T> = Readonly<{
|
|
20
|
+
result: T;
|
|
21
|
+
suggestions: readonly Readonly<{
|
|
22
|
+
query: string;
|
|
23
|
+
match?: Readonly<{
|
|
24
|
+
start: number;
|
|
25
|
+
end: number;
|
|
26
|
+
}>;
|
|
27
|
+
}>[];
|
|
28
|
+
}>;
|
|
29
|
+
//# sourceMappingURL=communication.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"communication.d.ts","sourceRoot":"","sources":["../src/communication.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,sBAAsB,GAAG,QAAQ,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AACzI,4FAA4F;AAC5F,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,SAAK;;;;;EAG9E;AACD,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AACpF,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAC,IAAI,GAAE,IAAI,CAEjE;AACD,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,QAAQ,CAAC;IAAE,MAAM,EAAE,CAAC,CAAC;IAAC,WAAW,EAAE,SAAS,QAAQ,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAA,KAAK,CAAC,EAAC,QAAQ,CAAC;YAAC,KAAK,EAAC,MAAM,CAAC;YAAA,GAAG,EAAC,MAAM,CAAA;SAAC,CAAC,CAAA;KAAC,CAAC,EAAE,CAAA;CAAE,CAAC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** Match the controlled text/maxLength UTF-16 unit; do not silently trim a user's draft. */
|
|
2
|
+
export function resolveComposerLimit(value, max, threshold = .8) {
|
|
3
|
+
if (!Number.isSafeInteger(max) || max <= 0 || !Number.isFinite(threshold) || threshold < 0 || threshold > 1)
|
|
4
|
+
throw new RangeError("Composer limit must be positive and threshold in [0,1]");
|
|
5
|
+
return { used: value.length, max, near: value.length / max >= threshold, exceeded: value.length > max };
|
|
6
|
+
}
|
|
7
|
+
export function validateReplyTarget(target) {
|
|
8
|
+
if (target !== null && !target.id.trim())
|
|
9
|
+
throw new TypeError("Reply target requires the actual message ID");
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=communication.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"communication.js","sourceRoot":"","sources":["../src/communication.ts"],"names":[],"mappings":"AACA,4FAA4F;AAC5F,MAAM,UAAU,oBAAoB,CAAC,KAAa,EAAE,GAAW,EAAE,SAAS,GAAG,EAAE;IAC9E,IAAG,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,IAAE,GAAG,IAAE,CAAC,IAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAE,SAAS,GAAC,CAAC,IAAE,SAAS,GAAC,CAAC;QAAC,MAAM,IAAI,UAAU,CAAC,wDAAwD,CAAC,CAAC;IAC5K,OAAO,EAAE,IAAI,EAAC,KAAK,CAAC,MAAM,EAAC,GAAG,EAAC,IAAI,EAAC,KAAK,CAAC,MAAM,GAAC,GAAG,IAAE,SAAS,EAAC,QAAQ,EAAC,KAAK,CAAC,MAAM,GAAC,GAAG,EAAE,CAAC;AAC7F,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAwB;IAC3D,IAAG,MAAM,KAAG,IAAI,IAAE,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE;QAAC,MAAM,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;AACxG,CAAC","sourcesContent":["export type ComposerLengthFeedback = Readonly<{ label: string; formatCount: (used: number, max: number) => string; threshold?: number }>;\n/** Match the controlled text/maxLength UTF-16 unit; do not silently trim a user's draft. */\nexport function resolveComposerLimit(value: string, max: number, threshold = .8) {\n if(!Number.isSafeInteger(max)||max<=0||!Number.isFinite(threshold)||threshold<0||threshold>1)throw new RangeError(\"Composer limit must be positive and threshold in [0,1]\");\n return { used:value.length,max,near:value.length/max>=threshold,exceeded:value.length>max };\n}\nexport type ReplyTarget = Readonly<{ id: string; author: string; excerpt: string }>;\nexport function validateReplyTarget(target: ReplyTarget|null):void {\n if(target!==null&&!target.id.trim())throw new TypeError(\"Reply target requires the actual message ID\");\n}\nexport type SearchResponse<T> = Readonly<{ result: T; suggestions: readonly Readonly<{query: string;match?:Readonly<{start:number;end:number}>}>[] }>;\n"]}
|
|
@@ -80,6 +80,7 @@ export declare const componentIds: {
|
|
|
80
80
|
readonly Statistic: "statistic";
|
|
81
81
|
readonly Timeline: "timeline";
|
|
82
82
|
readonly DataTable: "data-table";
|
|
83
|
+
readonly Chart: "chart";
|
|
83
84
|
readonly Tree: "tree";
|
|
84
85
|
readonly Calendar: "calendar";
|
|
85
86
|
readonly Carousel: "carousel";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-definitions.d.ts","sourceRoot":"","sources":["../src/component-definitions.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,gBAAgB,IAAI,uBAAuB,EAChD,KAAK,sBAAsB,IAAI,6BAA6B,EAC5D,KAAK,UAAU,EAChB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,CAAC;AAC/E,2EAA2E;AAC3E,MAAM,MAAM,gBAAgB,GAAG,uBAAuB,CAAC;AACvD,MAAM,MAAM,sBAAsB,GAAG,6BAA6B,CAAC;AAEnE,4DAA4D;AAC5D,eAAO,MAAM,YAAY
|
|
1
|
+
{"version":3,"file":"component-definitions.d.ts","sourceRoot":"","sources":["../src/component-definitions.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,gBAAgB,IAAI,uBAAuB,EAChD,KAAK,sBAAsB,IAAI,6BAA6B,EAC5D,KAAK,UAAU,EAChB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,CAAC;AAC/E,2EAA2E;AAC3E,MAAM,MAAM,gBAAgB,GAAG,uBAAuB,CAAC;AACvD,MAAM,MAAM,sBAAsB,GAAG,6BAA6B,CAAC;AAEnE,4DAA4D;AAC5D,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyGmC,CAAC;AAE7D,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,aAAa,CAAC,CAAC;AAE/D,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CAAC;IACzC,EAAE,EAAE,WAAW,CAAC;IAChB,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,EAAE,QAAQ,CAAC;QACjB,MAAM,EAAE,eAAe,CAAC;QACxB,OAAO,EAAE,SAAS,UAAU,EAAE,CAAC;QAC/B,SAAS,EAAE,SAAS,YAAY,EAAE,CAAC;QACnC,OAAO,CAAC,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAC;KAC5C,CAAC,CAAC;IACH,QAAQ,EAAE,QAAQ,CAAC;QACjB,MAAM,EAAE,iBAAiB,CAAC;QAC1B,GAAG,EAAE,QAAQ,CAAC;YAAE,MAAM,EAAE,sBAAsB,CAAA;SAAE,CAAC,CAAC;QAClD,MAAM,EAAE,QAAQ,CAAC;YAAE,MAAM,EAAE,sBAAsB,CAAA;SAAE,CAAC,CAAC;KACtD,CAAC,CAAC;IACH,IAAI,EAAE,QAAQ,CAAC;QACb,2GAA2G;QAC3G,OAAO,EAAE,cAAc,WAAW,EAAE,CAAC;QACrC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;KAC5B,CAAC,CAAC;CACJ,CAAC,CAAC;AAeH;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,SAAS,mBAAmB,EAyB7D,CAAC;AAEH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,WAAW,GAAG,aAAa,GACpC,mBAAmB,GAAG,SAAS,CAIjC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-definitions.js","sourceRoot":"","sources":["../src/component-definitions.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n componentCatalog,\n getComponentSurfaceStatus,\n type ComponentCatalogEntry,\n type ComponentCategory,\n type ComponentName,\n type ComponentPlatform,\n type ComponentStatus,\n type ComponentSurface as CatalogComponentSurface,\n type ComponentSurfaceStatus as CatalogComponentSurfaceStatus,\n type RecipeName,\n} from \"./catalog.js\";\nimport type { BehaviorName } from \"./behaviors.js\";\n\nexport type ComponentKind = \"primitive\" | \"component\" | \"provider\" | \"utility\";\n/** Kept here as aliases for existing `component-definitions` consumers. */\nexport type ComponentSurface = CatalogComponentSurface;\nexport type ComponentSurfaceStatus = CatalogComponentSurfaceStatus;\n\n/** Stable IDs survive display-name and category changes. */\nexport const componentIds = {\n Text: \"text\",\n TextFormat: \"text-format\",\n Heading: \"heading\",\n Icon: \"icon\",\n Surface: \"surface\",\n Divider: \"divider\",\n Section: \"section\",\n Stack: \"stack\",\n Container: \"container\",\n AspectRatio: \"aspect-ratio\",\n Grid: \"grid\",\n Layout: \"layout\",\n Top: \"top\",\n Masonry: \"masonry\",\n Splitter: \"splitter\",\n Button: \"button\",\n IconButton: \"icon-button\",\n Link: \"link\",\n BottomCTA: \"bottom-cta\",\n FloatingActionButton: \"floating-action-button\",\n AuthProviderButton: \"auth-provider-button\",\n AuthScreenLayout: \"auth-screen\",\n Field: \"field\",\n SearchField: \"search-field\",\n TextArea: \"text-area\",\n PasswordField: \"password-field\",\n OtpField: \"otp-field\",\n Checkbox: \"checkbox\",\n Radio: \"radio\",\n CheckboxGroup: \"checkbox-group\",\n RadioGroup: \"radio-group\",\n Switch: \"switch\",\n Chip: \"chip\",\n SegmentedControl: \"segmented-control\",\n ToggleGroup: \"toggle-group\",\n TagsInput: \"tags-input\",\n Slider: \"slider\",\n NumberField: \"number-field\",\n Select: \"select\",\n Combobox: \"combobox\",\n DatePicker: \"date-picker\",\n DateRangePicker: \"date-range-picker\",\n ColorPicker: \"color-picker\",\n FilePicker: \"file-picker\",\n Form: \"form\",\n Agreement: \"agreement\",\n Mentions: \"mentions\",\n TransferList: \"transfer-list\",\n UploadItem: \"upload-item\",\n Tabs: \"tabs\",\n TopBar: \"top-bar\",\n Sidebar: \"sidebar\",\n BottomNavigation: \"bottom-navigation\",\n Breadcrumb: \"breadcrumb\",\n Pagination: \"pagination\",\n LoadMore: \"load-more\",\n Steps: \"steps\",\n Menubar: \"menubar\",\n ContextMenu: \"context-menu\",\n Menu: \"menu\",\n Anchor: \"anchor\",\n Avatar: \"avatar\",\n Badge: \"badge\",\n CounterBadge: \"counter-badge\",\n Card: \"card\",\n List: \"list\",\n ListRow: \"list-row\",\n VirtualList: \"virtual-list\",\n Collapsible: \"collapsible\",\n Asset: \"asset\",\n Accordion: \"accordion\",\n Statistic: \"statistic\",\n Timeline: \"timeline\",\n DataTable: \"data-table\",\n Tree: \"tree\",\n Calendar: \"calendar\",\n Carousel: \"carousel\",\n DescriptionList: \"description-list\",\n Image: \"image\",\n QRCode: \"qr-code\",\n Tag: \"tag\",\n Tour: \"tour\",\n EmptyState: \"empty-state\",\n Notice: \"notice\",\n Progress: \"progress\",\n ThinkingOrb: \"thinking-orb\",\n Spinner: \"spinner\",\n Skeleton: \"skeleton\",\n Result: \"result\",\n BottomInfo: \"bottom-info\",\n Toast: \"toast\",\n Watermark: \"watermark\",\n Dialog: \"dialog\",\n AlertDialog: \"alert-dialog\",\n Sheet: \"sheet\",\n SidePanel: \"side-panel\",\n Popover: \"popover\",\n Tooltip: \"tooltip\",\n CommandPalette: \"command-palette\",\n Affix: \"affix\",\n DesignSystemProvider: \"design-system-provider\",\n SkipNav: \"skip-nav\",\n VisuallyHidden: \"visually-hidden\",\n} as const satisfies Readonly<Record<ComponentName, string>>;\n\nexport type ComponentId = (typeof componentIds)[ComponentName];\n\nexport type ComponentDefinition = Readonly<{\n id: ComponentId;\n name: ComponentName;\n category: ComponentCategory;\n kind: ComponentKind;\n contract: Readonly<{\n status: ComponentStatus;\n recipes: readonly RecipeName[];\n behaviors: readonly BehaviorName[];\n roadmap?: ComponentCatalogEntry[\"roadmap\"];\n }>;\n surfaces: Readonly<{\n parity: ComponentPlatform;\n web: Readonly<{ status: ComponentSurfaceStatus }>;\n native: Readonly<{ status: ComponentSurfaceStatus }>;\n }>;\n docs: Readonly<{\n /** Stable documentation key; aliases are catalog search terms, not alternate component implementations. */\n storyId: `components/${ComponentId}`;\n aliases: readonly string[];\n }>;\n}>;\n\nconst kindByCategory: Readonly<Record<ComponentCategory, ComponentKind>> = {\n foundation: \"primitive\",\n layout: \"primitive\",\n action: \"component\",\n input: \"component\",\n navigation: \"component\",\n \"data-display\": \"component\",\n feedback: \"component\",\n overlay: \"component\",\n provider: \"provider\",\n utility: \"utility\",\n};\n\n/**\n * Normalized catalog view. Consumers should prefer this shape so a component can evolve to multiple recipes,\n * behaviors, and different Web/Native maturity without another API rewrite.\n */\nexport const componentDefinitions: readonly ComponentDefinition[] = componentCatalog.map((rawEntry) => {\n const entry: ComponentCatalogEntry = rawEntry;\n const name = entry.name as ComponentName;\n const id = componentIds[name];\n return {\n id,\n name,\n category: entry.category,\n kind: kindByCategory[entry.category],\n contract: {\n status: entry.status,\n recipes: entry.recipe ? [entry.recipe] : [],\n behaviors: entry.behavior ? [entry.behavior] : [],\n roadmap: entry.roadmap,\n },\n surfaces: {\n parity: entry.platform,\n web: { status: getComponentSurfaceStatus(entry, \"web\") },\n native: { status: getComponentSurfaceStatus(entry, \"native\") },\n },\n docs: {\n storyId: `components/${id}`,\n aliases: entry.aliases ?? [],\n },\n };\n});\n\nexport function getComponentDefinition(\n idOrName: ComponentId | ComponentName,\n): ComponentDefinition | undefined {\n return componentDefinitions.find(\n (definition) => definition.id === idOrName || definition.name === idOrName,\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"component-definitions.js","sourceRoot":"","sources":["../src/component-definitions.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n componentCatalog,\n getComponentSurfaceStatus,\n type ComponentCatalogEntry,\n type ComponentCategory,\n type ComponentName,\n type ComponentPlatform,\n type ComponentStatus,\n type ComponentSurface as CatalogComponentSurface,\n type ComponentSurfaceStatus as CatalogComponentSurfaceStatus,\n type RecipeName,\n} from \"./catalog.js\";\nimport type { BehaviorName } from \"./behaviors.js\";\n\nexport type ComponentKind = \"primitive\" | \"component\" | \"provider\" | \"utility\";\n/** Kept here as aliases for existing `component-definitions` consumers. */\nexport type ComponentSurface = CatalogComponentSurface;\nexport type ComponentSurfaceStatus = CatalogComponentSurfaceStatus;\n\n/** Stable IDs survive display-name and category changes. */\nexport const componentIds = {\n Text: \"text\",\n TextFormat: \"text-format\",\n Heading: \"heading\",\n Icon: \"icon\",\n Surface: \"surface\",\n Divider: \"divider\",\n Section: \"section\",\n Stack: \"stack\",\n Container: \"container\",\n AspectRatio: \"aspect-ratio\",\n Grid: \"grid\",\n Layout: \"layout\",\n Top: \"top\",\n Masonry: \"masonry\",\n Splitter: \"splitter\",\n Button: \"button\",\n IconButton: \"icon-button\",\n Link: \"link\",\n BottomCTA: \"bottom-cta\",\n FloatingActionButton: \"floating-action-button\",\n AuthProviderButton: \"auth-provider-button\",\n AuthScreenLayout: \"auth-screen\",\n Field: \"field\",\n SearchField: \"search-field\",\n TextArea: \"text-area\",\n PasswordField: \"password-field\",\n OtpField: \"otp-field\",\n Checkbox: \"checkbox\",\n Radio: \"radio\",\n CheckboxGroup: \"checkbox-group\",\n RadioGroup: \"radio-group\",\n Switch: \"switch\",\n Chip: \"chip\",\n SegmentedControl: \"segmented-control\",\n ToggleGroup: \"toggle-group\",\n TagsInput: \"tags-input\",\n Slider: \"slider\",\n NumberField: \"number-field\",\n Select: \"select\",\n Combobox: \"combobox\",\n DatePicker: \"date-picker\",\n DateRangePicker: \"date-range-picker\",\n ColorPicker: \"color-picker\",\n FilePicker: \"file-picker\",\n Form: \"form\",\n Agreement: \"agreement\",\n Mentions: \"mentions\",\n TransferList: \"transfer-list\",\n UploadItem: \"upload-item\",\n Tabs: \"tabs\",\n TopBar: \"top-bar\",\n Sidebar: \"sidebar\",\n BottomNavigation: \"bottom-navigation\",\n Breadcrumb: \"breadcrumb\",\n Pagination: \"pagination\",\n LoadMore: \"load-more\",\n Steps: \"steps\",\n Menubar: \"menubar\",\n ContextMenu: \"context-menu\",\n Menu: \"menu\",\n Anchor: \"anchor\",\n Avatar: \"avatar\",\n Badge: \"badge\",\n CounterBadge: \"counter-badge\",\n Card: \"card\",\n List: \"list\",\n ListRow: \"list-row\",\n VirtualList: \"virtual-list\",\n Collapsible: \"collapsible\",\n Asset: \"asset\",\n Accordion: \"accordion\",\n Statistic: \"statistic\",\n Timeline: \"timeline\",\n DataTable: \"data-table\",\n Chart: \"chart\",\n Tree: \"tree\",\n Calendar: \"calendar\",\n Carousel: \"carousel\",\n DescriptionList: \"description-list\",\n Image: \"image\",\n QRCode: \"qr-code\",\n Tag: \"tag\",\n Tour: \"tour\",\n EmptyState: \"empty-state\",\n Notice: \"notice\",\n Progress: \"progress\",\n ThinkingOrb: \"thinking-orb\",\n Spinner: \"spinner\",\n Skeleton: \"skeleton\",\n Result: \"result\",\n BottomInfo: \"bottom-info\",\n Toast: \"toast\",\n Watermark: \"watermark\",\n Dialog: \"dialog\",\n AlertDialog: \"alert-dialog\",\n Sheet: \"sheet\",\n SidePanel: \"side-panel\",\n Popover: \"popover\",\n Tooltip: \"tooltip\",\n CommandPalette: \"command-palette\",\n Affix: \"affix\",\n DesignSystemProvider: \"design-system-provider\",\n SkipNav: \"skip-nav\",\n VisuallyHidden: \"visually-hidden\",\n} as const satisfies Readonly<Record<ComponentName, string>>;\n\nexport type ComponentId = (typeof componentIds)[ComponentName];\n\nexport type ComponentDefinition = Readonly<{\n id: ComponentId;\n name: ComponentName;\n category: ComponentCategory;\n kind: ComponentKind;\n contract: Readonly<{\n status: ComponentStatus;\n recipes: readonly RecipeName[];\n behaviors: readonly BehaviorName[];\n roadmap?: ComponentCatalogEntry[\"roadmap\"];\n }>;\n surfaces: Readonly<{\n parity: ComponentPlatform;\n web: Readonly<{ status: ComponentSurfaceStatus }>;\n native: Readonly<{ status: ComponentSurfaceStatus }>;\n }>;\n docs: Readonly<{\n /** Stable documentation key; aliases are catalog search terms, not alternate component implementations. */\n storyId: `components/${ComponentId}`;\n aliases: readonly string[];\n }>;\n}>;\n\nconst kindByCategory: Readonly<Record<ComponentCategory, ComponentKind>> = {\n foundation: \"primitive\",\n layout: \"primitive\",\n action: \"component\",\n input: \"component\",\n navigation: \"component\",\n \"data-display\": \"component\",\n feedback: \"component\",\n overlay: \"component\",\n provider: \"provider\",\n utility: \"utility\",\n};\n\n/**\n * Normalized catalog view. Consumers should prefer this shape so a component can evolve to multiple recipes,\n * behaviors, and different Web/Native maturity without another API rewrite.\n */\nexport const componentDefinitions: readonly ComponentDefinition[] = componentCatalog.map((rawEntry) => {\n const entry: ComponentCatalogEntry = rawEntry;\n const name = entry.name as ComponentName;\n const id = componentIds[name];\n return {\n id,\n name,\n category: entry.category,\n kind: kindByCategory[entry.category],\n contract: {\n status: entry.status,\n recipes: entry.recipe ? [entry.recipe] : [],\n behaviors: entry.behavior ? [entry.behavior] : [],\n roadmap: entry.roadmap,\n },\n surfaces: {\n parity: entry.platform,\n web: { status: getComponentSurfaceStatus(entry, \"web\") },\n native: { status: getComponentSurfaceStatus(entry, \"native\") },\n },\n docs: {\n storyId: `components/${id}`,\n aliases: entry.aliases ?? [],\n },\n };\n});\n\nexport function getComponentDefinition(\n idOrName: ComponentId | ComponentName,\n): ComponentDefinition | undefined {\n return componentDefinitions.find(\n (definition) => definition.id === idOrName || definition.name === idOrName,\n );\n}\n"]}
|
|
@@ -2224,6 +2224,31 @@ export declare const bottomNavigationRecipe: {
|
|
|
2224
2224
|
readonly gap: 4;
|
|
2225
2225
|
readonly radius: "lg";
|
|
2226
2226
|
};
|
|
2227
|
+
/**
|
|
2228
|
+
* Opt-in thick plank for tile selection (Spint wooden sign, 2026-10-13). The
|
|
2229
|
+
* lower edges replace the floating shadow so the bar reads as one flat object.
|
|
2230
|
+
* The selected edge darkens the brand fill with `interaction.depth` because no
|
|
2231
|
+
* palette role names a "pressed brand" shade.
|
|
2232
|
+
*/
|
|
2233
|
+
readonly raisedSurface: {
|
|
2234
|
+
readonly background: Readonly<{
|
|
2235
|
+
source: "theme";
|
|
2236
|
+
key: "surfaceAlt";
|
|
2237
|
+
alpha?: number;
|
|
2238
|
+
}>;
|
|
2239
|
+
readonly border: Readonly<{
|
|
2240
|
+
source: "theme";
|
|
2241
|
+
key: "borderControl";
|
|
2242
|
+
alpha?: number;
|
|
2243
|
+
}>;
|
|
2244
|
+
readonly depth: 4;
|
|
2245
|
+
readonly selectedDepth: 3;
|
|
2246
|
+
readonly selectedDepthColor: Readonly<{
|
|
2247
|
+
source: "theme";
|
|
2248
|
+
key: "text";
|
|
2249
|
+
alpha?: number;
|
|
2250
|
+
}>;
|
|
2251
|
+
};
|
|
2227
2252
|
readonly adaptive: {
|
|
2228
2253
|
readonly web: "fixed-compact-viewport";
|
|
2229
2254
|
readonly native: "navigator-tab-bar";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-recipes.d.ts","sourceRoot":"","sources":["../src/component-recipes.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"component-recipes.d.ts","sourceRoot":"","sources":["../src/component-recipes.ts"],"names":[],"mappings":"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"}
|
|
@@ -861,6 +861,19 @@ export const bottomNavigationRecipe = {
|
|
|
861
861
|
gap: spacing.xxs,
|
|
862
862
|
radius: "lg",
|
|
863
863
|
},
|
|
864
|
+
/**
|
|
865
|
+
* Opt-in thick plank for tile selection (Spint wooden sign, 2026-10-13). The
|
|
866
|
+
* lower edges replace the floating shadow so the bar reads as one flat object.
|
|
867
|
+
* The selected edge darkens the brand fill with `interaction.depth` because no
|
|
868
|
+
* palette role names a "pressed brand" shade.
|
|
869
|
+
*/
|
|
870
|
+
raisedSurface: {
|
|
871
|
+
background: semanticColors.surface.sunken,
|
|
872
|
+
border: semanticColors.border.control,
|
|
873
|
+
depth: 4,
|
|
874
|
+
selectedDepth: 3,
|
|
875
|
+
selectedDepthColor: semanticColors.interaction.depth,
|
|
876
|
+
},
|
|
864
877
|
adaptive: {
|
|
865
878
|
web: "fixed-compact-viewport",
|
|
866
879
|
native: "navigator-tab-bar",
|