@ankhorage/zora 3.2.0 → 3.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/dist/components/card/meta.d.ts +1 -1
- package/dist/foundation/meta.d.ts +4 -4
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/layout/screen/meta.d.ts +1 -1
- package/dist/layout/screen-section/meta.d.ts +1 -1
- package/dist/metadata/allowedChildren.d.ts +4 -3
- package/dist/metadata/allowedChildren.d.ts.map +1 -1
- package/dist/metadata/allowedChildren.js +14 -0
- package/dist/metadata/allowedChildren.js.map +1 -1
- package/dist/metadata/bindableComponentMeta.d.ts +2 -2
- package/dist/metadata/componentMeta.d.ts.map +1 -1
- package/dist/metadata/componentMeta.js +4 -0
- package/dist/metadata/componentMeta.js.map +1 -1
- package/dist/metadata/index.d.ts +1 -1
- package/dist/metadata/index.d.ts.map +1 -1
- package/dist/metadata/index.js.map +1 -1
- package/dist/metadata/types.d.ts +6 -0
- package/dist/metadata/types.d.ts.map +1 -1
- package/dist/metadata/types.js.map +1 -1
- package/dist/patterns/content-rail/ContentRail.d.ts +10 -0
- package/dist/patterns/content-rail/ContentRail.d.ts.map +1 -0
- package/dist/patterns/content-rail/ContentRail.js +175 -0
- package/dist/patterns/content-rail/ContentRail.js.map +1 -0
- package/dist/patterns/content-rail/index.d.ts +3 -0
- package/dist/patterns/content-rail/index.d.ts.map +1 -0
- package/dist/patterns/content-rail/index.js +2 -0
- package/dist/patterns/content-rail/index.js.map +1 -0
- package/dist/patterns/content-rail/meta.d.ts +143 -0
- package/dist/patterns/content-rail/meta.d.ts.map +1 -0
- package/dist/patterns/content-rail/meta.js +130 -0
- package/dist/patterns/content-rail/meta.js.map +1 -0
- package/dist/patterns/content-rail/resolveContentRailItemWidth.d.ts +10 -0
- package/dist/patterns/content-rail/resolveContentRailItemWidth.d.ts.map +1 -0
- package/dist/patterns/content-rail/resolveContentRailItemWidth.js +25 -0
- package/dist/patterns/content-rail/resolveContentRailItemWidth.js.map +1 -0
- package/dist/patterns/content-rail/resolveContentRailPhysicalOffset.d.ts +6 -0
- package/dist/patterns/content-rail/resolveContentRailPhysicalOffset.d.ts.map +1 -0
- package/dist/patterns/content-rail/resolveContentRailPhysicalOffset.js +5 -0
- package/dist/patterns/content-rail/resolveContentRailPhysicalOffset.js.map +1 -0
- package/dist/patterns/content-rail/resolveContentRailState.d.ts +18 -0
- package/dist/patterns/content-rail/resolveContentRailState.d.ts.map +1 -0
- package/dist/patterns/content-rail/resolveContentRailState.js +21 -0
- package/dist/patterns/content-rail/resolveContentRailState.js.map +1 -0
- package/dist/patterns/content-rail/types.d.ts +31 -0
- package/dist/patterns/content-rail/types.d.ts.map +1 -0
- package/dist/patterns/content-rail/types.js +2 -0
- package/dist/patterns/content-rail/types.js.map +1 -0
- package/dist/patterns/content-rail/useContentRailReducedMotion.d.ts +3 -0
- package/dist/patterns/content-rail/useContentRailReducedMotion.d.ts.map +1 -0
- package/dist/patterns/content-rail/useContentRailReducedMotion.js +21 -0
- package/dist/patterns/content-rail/useContentRailReducedMotion.js.map +1 -0
- package/dist/patterns/message-bubble/meta.d.ts +1 -1
- package/dist/patterns/missing-element/MissingElement.d.ts +10 -0
- package/dist/patterns/missing-element/MissingElement.d.ts.map +1 -0
- package/dist/patterns/missing-element/MissingElement.js +41 -0
- package/dist/patterns/missing-element/MissingElement.js.map +1 -0
- package/dist/patterns/missing-element/index.d.ts +3 -0
- package/dist/patterns/missing-element/index.d.ts.map +1 -0
- package/dist/patterns/missing-element/index.js +2 -0
- package/dist/patterns/missing-element/index.js.map +1 -0
- package/dist/patterns/missing-element/meta.d.ts +68 -0
- package/dist/patterns/missing-element/meta.d.ts.map +1 -0
- package/dist/patterns/missing-element/meta.js +59 -0
- package/dist/patterns/missing-element/meta.js.map +1 -0
- package/dist/patterns/missing-element/types.d.ts +9 -0
- package/dist/patterns/missing-element/types.d.ts.map +1 -0
- package/dist/patterns/missing-element/types.js +2 -0
- package/dist/patterns/missing-element/types.js.map +1 -0
- package/dist/patterns/notice/meta.d.ts +1 -1
- package/dist/patterns/panel/meta.d.ts +1 -1
- package/dist/patterns/post-card/meta.d.ts +1 -1
- package/dist/patterns/reader/meta.d.ts +2 -2
- package/dist/patterns/scanner/meta.d.ts +2 -2
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +4 -0
- package/dist/registry.js.map +1 -1
- package/package.json +3 -3
- package/src/expo57Migration.test.ts +16 -1
- package/src/index.ts +13 -0
- package/src/interactionPolicy.test.ts +22 -0
- package/src/metadata/allowedChildren.ts +15 -0
- package/src/metadata/componentMeta.test.ts +50 -0
- package/src/metadata/componentMeta.ts +4 -0
- package/src/metadata/index.ts +1 -0
- package/src/metadata/types.ts +7 -0
- package/src/patterns/content-rail/ContentRail.test.ts +44 -0
- package/src/patterns/content-rail/ContentRail.tsx +245 -0
- package/src/patterns/content-rail/index.ts +10 -0
- package/src/patterns/content-rail/meta.ts +133 -0
- package/src/patterns/content-rail/resolveContentRailItemWidth.test.ts +77 -0
- package/src/patterns/content-rail/resolveContentRailItemWidth.ts +39 -0
- package/src/patterns/content-rail/resolveContentRailPhysicalOffset.test.ts +29 -0
- package/src/patterns/content-rail/resolveContentRailPhysicalOffset.ts +12 -0
- package/src/patterns/content-rail/resolveContentRailState.test.ts +68 -0
- package/src/patterns/content-rail/resolveContentRailState.ts +36 -0
- package/src/patterns/content-rail/types.ts +35 -0
- package/src/patterns/content-rail/useContentRailReducedMotion.ts +28 -0
- package/src/patterns/missing-element/MissingElement.test.ts +66 -0
- package/src/patterns/missing-element/MissingElement.tsx +73 -0
- package/src/patterns/missing-element/index.ts +2 -0
- package/src/patterns/missing-element/meta.ts +62 -0
- package/src/patterns/missing-element/types.ts +9 -0
- package/src/registry.ts +4 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export function resolveContentRailState({ contentWidth, gap, itemCount, itemWidth, logicalOffset, viewportWidth, }) {
|
|
2
|
+
const maxOffset = Math.max(0, contentWidth - viewportWidth);
|
|
3
|
+
const offset = Math.min(Math.max(0, logicalOffset), maxOffset);
|
|
4
|
+
const stride = itemWidth + gap;
|
|
5
|
+
const firstVisibleIndex = stride > 0 ? Math.min(itemCount - 1, Math.floor(offset / stride)) : 0;
|
|
6
|
+
const lastVisibleIndex = stride > 0
|
|
7
|
+
? Math.min(itemCount - 1, Math.max(0, Math.ceil((offset + viewportWidth) / stride) - 1))
|
|
8
|
+
: 0;
|
|
9
|
+
const anchorIndex = stride > 0 ? Math.round(offset / stride) : 0;
|
|
10
|
+
return {
|
|
11
|
+
anchorIndex: Math.min(Math.max(0, anchorIndex), Math.max(0, itemCount - 1)),
|
|
12
|
+
canGoNext: itemCount > 0 && offset < maxOffset - 1,
|
|
13
|
+
canGoPrevious: itemCount > 0 && offset > 1,
|
|
14
|
+
firstVisibleIndex: itemCount === 0 ? -1 : firstVisibleIndex,
|
|
15
|
+
lastVisibleIndex: itemCount === 0 ? -1 : lastVisibleIndex,
|
|
16
|
+
maxOffset,
|
|
17
|
+
offset,
|
|
18
|
+
stride,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=resolveContentRailState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveContentRailState.js","sourceRoot":"","sources":["../../../src/patterns/content-rail/resolveContentRailState.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,uBAAuB,CAAC,EACtC,YAAY,EACZ,GAAG,EACH,SAAS,EACT,SAAS,EACT,aAAa,EACb,aAAa,GAQd;IACC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,GAAG,aAAa,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,SAAS,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,SAAS,GAAG,GAAG,CAAC;IAC/B,MAAM,iBAAiB,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChG,MAAM,gBAAgB,GACpB,MAAM,GAAG,CAAC;QACR,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,aAAa,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACxF,CAAC,CAAC,CAAC,CAAC;IACR,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjE,OAAO;QACL,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;QAC3E,SAAS,EAAE,SAAS,GAAG,CAAC,IAAI,MAAM,GAAG,SAAS,GAAG,CAAC;QAClD,aAAa,EAAE,SAAS,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC;QAC1C,iBAAiB,EAAE,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB;QAC3D,gBAAgB,EAAE,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB;QACzD,SAAS;QACT,MAAM;QACN,MAAM;KACP,CAAC;AACJ,CAAC","sourcesContent":["export function resolveContentRailState({\n contentWidth,\n gap,\n itemCount,\n itemWidth,\n logicalOffset,\n viewportWidth,\n}: {\n contentWidth: number;\n gap: number;\n itemCount: number;\n itemWidth: number;\n logicalOffset: number;\n viewportWidth: number;\n}) {\n const maxOffset = Math.max(0, contentWidth - viewportWidth);\n const offset = Math.min(Math.max(0, logicalOffset), maxOffset);\n const stride = itemWidth + gap;\n const firstVisibleIndex = stride > 0 ? Math.min(itemCount - 1, Math.floor(offset / stride)) : 0;\n const lastVisibleIndex =\n stride > 0\n ? Math.min(itemCount - 1, Math.max(0, Math.ceil((offset + viewportWidth) / stride) - 1))\n : 0;\n const anchorIndex = stride > 0 ? Math.round(offset / stride) : 0;\n\n return {\n anchorIndex: Math.min(Math.max(0, anchorIndex), Math.max(0, itemCount - 1)),\n canGoNext: itemCount > 0 && offset < maxOffset - 1,\n canGoPrevious: itemCount > 0 && offset > 1,\n firstVisibleIndex: itemCount === 0 ? -1 : firstVisibleIndex,\n lastVisibleIndex: itemCount === 0 ? -1 : lastVisibleIndex,\n maxOffset,\n offset,\n stride,\n };\n}\n"]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { ZoraBaseProps } from '../../theme/ZoraBaseProps';
|
|
3
|
+
export type ContentRailDirection = 'auto' | 'ltr' | 'rtl';
|
|
4
|
+
export type ContentRailItemSize = 'compact' | 'regular' | 'wide' | 'responsive';
|
|
5
|
+
export type ContentRailMotion = 'system' | 'animated' | 'reduced';
|
|
6
|
+
export type ContentRailSpacing = 'none' | 'xs' | 's' | 'm' | 'l' | 'xl';
|
|
7
|
+
export interface ContentRailControlPressEvent {
|
|
8
|
+
direction: 'previous' | 'next';
|
|
9
|
+
targetIndex: number;
|
|
10
|
+
}
|
|
11
|
+
export interface ContentRailVisibleRangeChangeEvent {
|
|
12
|
+
firstVisibleIndex: number;
|
|
13
|
+
lastVisibleIndex: number;
|
|
14
|
+
itemCount: number;
|
|
15
|
+
}
|
|
16
|
+
export interface ContentRailProps extends ZoraBaseProps {
|
|
17
|
+
children?: ReactNode;
|
|
18
|
+
itemSize?: ContentRailItemSize;
|
|
19
|
+
gap?: ContentRailSpacing;
|
|
20
|
+
padding?: ContentRailSpacing;
|
|
21
|
+
peek?: number;
|
|
22
|
+
showControls?: boolean;
|
|
23
|
+
direction?: ContentRailDirection;
|
|
24
|
+
motion?: ContentRailMotion;
|
|
25
|
+
accessibilityLabel?: string;
|
|
26
|
+
previousLabel?: string;
|
|
27
|
+
nextLabel?: string;
|
|
28
|
+
onControlPress?: (event: ContentRailControlPressEvent) => void | Promise<void>;
|
|
29
|
+
onVisibleRangeChange?: (event: ContentRailVisibleRangeChangeEvent) => void | Promise<void>;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/patterns/content-rail/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE/D,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;AAC1D,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,YAAY,CAAC;AAChF,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;AAClE,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;AAExE,MAAM,WAAW,4BAA4B;IAC3C,SAAS,EAAE,UAAU,GAAG,MAAM,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kCAAkC;IACjD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACrD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,GAAG,CAAC,EAAE,kBAAkB,CAAC;IACzB,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,4BAA4B,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/E,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,kCAAkC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5F"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/patterns/content-rail/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ReactNode } from 'react';\n\nimport type { ZoraBaseProps } from '../../theme/ZoraBaseProps';\n\nexport type ContentRailDirection = 'auto' | 'ltr' | 'rtl';\nexport type ContentRailItemSize = 'compact' | 'regular' | 'wide' | 'responsive';\nexport type ContentRailMotion = 'system' | 'animated' | 'reduced';\nexport type ContentRailSpacing = 'none' | 'xs' | 's' | 'm' | 'l' | 'xl';\n\nexport interface ContentRailControlPressEvent {\n direction: 'previous' | 'next';\n targetIndex: number;\n}\n\nexport interface ContentRailVisibleRangeChangeEvent {\n firstVisibleIndex: number;\n lastVisibleIndex: number;\n itemCount: number;\n}\n\nexport interface ContentRailProps extends ZoraBaseProps {\n children?: ReactNode;\n itemSize?: ContentRailItemSize;\n gap?: ContentRailSpacing;\n padding?: ContentRailSpacing;\n peek?: number;\n showControls?: boolean;\n direction?: ContentRailDirection;\n motion?: ContentRailMotion;\n accessibilityLabel?: string;\n previousLabel?: string;\n nextLabel?: string;\n onControlPress?: (event: ContentRailControlPressEvent) => void | Promise<void>;\n onVisibleRangeChange?: (event: ContentRailVisibleRangeChangeEvent) => void | Promise<void>;\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useContentRailReducedMotion.d.ts","sourceRoot":"","sources":["../../../src/patterns/content-rail/useContentRailReducedMotion.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAsB9E"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { AccessibilityInfo } from 'react-native';
|
|
3
|
+
export function useContentRailReducedMotion(motion) {
|
|
4
|
+
const [systemReducedMotion, setSystemReducedMotion] = React.useState(false);
|
|
5
|
+
React.useEffect(() => {
|
|
6
|
+
if (motion !== 'system')
|
|
7
|
+
return;
|
|
8
|
+
let active = true;
|
|
9
|
+
void AccessibilityInfo.isReduceMotionEnabled().then((enabled) => {
|
|
10
|
+
if (active)
|
|
11
|
+
setSystemReducedMotion(enabled);
|
|
12
|
+
});
|
|
13
|
+
const subscription = AccessibilityInfo.addEventListener('reduceMotionChanged', setSystemReducedMotion);
|
|
14
|
+
return () => {
|
|
15
|
+
active = false;
|
|
16
|
+
subscription.remove();
|
|
17
|
+
};
|
|
18
|
+
}, [motion]);
|
|
19
|
+
return motion === 'reduced' || (motion === 'system' && systemReducedMotion);
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=useContentRailReducedMotion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useContentRailReducedMotion.js","sourceRoot":"","sources":["../../../src/patterns/content-rail/useContentRailReducedMotion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAIjD,MAAM,UAAU,2BAA2B,CAAC,MAAyB;IACnE,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5E,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,MAAM,KAAK,QAAQ;YAAE,OAAO;QAEhC,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,KAAK,iBAAiB,CAAC,qBAAqB,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YAC9D,IAAI,MAAM;gBAAE,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,iBAAiB,CAAC,gBAAgB,CACrD,qBAAqB,EACrB,sBAAsB,CACvB,CAAC;QAEF,OAAO,GAAG,EAAE;YACV,MAAM,GAAG,KAAK,CAAC;YACf,YAAY,CAAC,MAAM,EAAE,CAAC;QACxB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,OAAO,MAAM,KAAK,SAAS,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,mBAAmB,CAAC,CAAC;AAC9E,CAAC","sourcesContent":["import React from 'react';\nimport { AccessibilityInfo } from 'react-native';\n\nimport type { ContentRailMotion } from './types';\n\nexport function useContentRailReducedMotion(motion: ContentRailMotion): boolean {\n const [systemReducedMotion, setSystemReducedMotion] = React.useState(false);\n\n React.useEffect(() => {\n if (motion !== 'system') return;\n\n let active = true;\n void AccessibilityInfo.isReduceMotionEnabled().then((enabled) => {\n if (active) setSystemReducedMotion(enabled);\n });\n const subscription = AccessibilityInfo.addEventListener(\n 'reduceMotionChanged',\n setSystemReducedMotion,\n );\n\n return () => {\n active = false;\n subscription.remove();\n };\n }, [motion]);\n\n return motion === 'reduced' || (motion === 'system' && systemReducedMotion);\n}\n"]}
|
|
@@ -3,7 +3,7 @@ export declare const messageBubbleMeta: {
|
|
|
3
3
|
readonly category: "pattern";
|
|
4
4
|
readonly description: "Chat/message bubble with direction, author, text, meta, and delivery status presentation.";
|
|
5
5
|
readonly directManifestNode: true;
|
|
6
|
-
readonly allowedChildren: readonly ["Box", "Stack", "Grid", "Container", "Divider", "Text", "Heading", "Button", "ButtonGroup", "ThemeModeToggle", "Input", "Textarea", "FormField", "Card", "Panel", "Notice", "EmptyState", "SectionHeader", "SettingsRow", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "ReaderSurface"];
|
|
6
|
+
readonly allowedChildren: readonly ["Box", "Stack", "Grid", "Container", "Divider", "Text", "Heading", "Button", "ButtonGroup", "ThemeModeToggle", "Input", "Textarea", "FormField", "Card", "Panel", "Notice", "EmptyState", "SectionHeader", "SettingsRow", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "ReaderSurface", "ContentRail", "MissingElement"];
|
|
7
7
|
readonly blueprint: {
|
|
8
8
|
readonly label: "Message bubble";
|
|
9
9
|
readonly icon: {
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { MissingElementProps } from './types';
|
|
3
|
+
/***
|
|
4
|
+
* Draft-only marker that preserves an unsupported manifest region without faking its capability.
|
|
5
|
+
*
|
|
6
|
+
* `MissingElement` is intentionally non-interactive and release-blocking in component metadata.
|
|
7
|
+
* Replace it with a released semantic ZORA element before publishing a production template.
|
|
8
|
+
*/
|
|
9
|
+
export declare const MissingElement: (props: MissingElementProps) => React.ReactElement | null;
|
|
10
|
+
//# sourceMappingURL=MissingElement.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MissingElement.d.ts","sourceRoot":"","sources":["../../../src/patterns/missing-element/MissingElement.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AA0DnD;;;;;GAKG;AACH,eAAO,MAAM,cAAc,2DAA0C,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { StyleSheet } from 'react-native';
|
|
3
|
+
import { Badge } from '../../components/badge';
|
|
4
|
+
import { Text } from '../../components/text';
|
|
5
|
+
import { Box, Stack } from '../../foundation';
|
|
6
|
+
import { useZoraTheme } from '../../theme/useZoraTheme';
|
|
7
|
+
import { withZoraThemeScope } from '../../theme/withZoraThemeScope';
|
|
8
|
+
/***
|
|
9
|
+
* Renders the visible, non-interactive body of a draft missing-element marker.
|
|
10
|
+
*/
|
|
11
|
+
function MissingElementInner({ themeId: _themeId, mode: _mode, interactionPolicy: _interactionPolicy, requestedCapability, reason, evidenceId, minimumWidth, minimumHeight, testID, }) {
|
|
12
|
+
const { theme } = useZoraTheme();
|
|
13
|
+
const accessibilityLabel = `Missing element: ${requestedCapability}. ${reason}`;
|
|
14
|
+
return (<Box accessibilityLabel={accessibilityLabel} accessibilityRole="text" accessible bg={theme.semantics.warning.softBg} borderColor={theme.semantics.warning.base} borderWidth={1} minHeight={minimumHeight} minWidth={minimumWidth} p="m" radius="m" style={styles.root} testID={testID}>
|
|
15
|
+
<Stack gap="xs">
|
|
16
|
+
<Badge color="warning">Missing element</Badge>
|
|
17
|
+
<Text variant="label" weight="semiBold">
|
|
18
|
+
{requestedCapability}
|
|
19
|
+
</Text>
|
|
20
|
+
<Text emphasis="muted" variant="bodySmall">
|
|
21
|
+
{reason}
|
|
22
|
+
</Text>
|
|
23
|
+
{evidenceId ? (<Text emphasis="subtle" variant="caption">
|
|
24
|
+
Evidence: {evidenceId}
|
|
25
|
+
</Text>) : null}
|
|
26
|
+
</Stack>
|
|
27
|
+
</Box>);
|
|
28
|
+
}
|
|
29
|
+
const styles = StyleSheet.create({
|
|
30
|
+
root: {
|
|
31
|
+
borderStyle: 'dashed',
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
/***
|
|
35
|
+
* Draft-only marker that preserves an unsupported manifest region without faking its capability.
|
|
36
|
+
*
|
|
37
|
+
* `MissingElement` is intentionally non-interactive and release-blocking in component metadata.
|
|
38
|
+
* Replace it with a released semantic ZORA element before publishing a production template.
|
|
39
|
+
*/
|
|
40
|
+
export const MissingElement = withZoraThemeScope(MissingElementInner);
|
|
41
|
+
//# sourceMappingURL=MissingElement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MissingElement.js","sourceRoot":"","sources":["../../../src/patterns/missing-element/MissingElement.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAGpE;;GAEG;AACH,SAAS,mBAAmB,CAAC,EAC3B,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,KAAK,EACX,iBAAiB,EAAE,kBAAkB,EACrC,mBAAmB,EACnB,MAAM,EACN,UAAU,EACV,YAAY,EACZ,aAAa,EACb,MAAM,GACc;IACpB,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,EAAE,CAAC;IACjC,MAAM,kBAAkB,GAAG,oBAAoB,mBAAmB,KAAK,MAAM,EAAE,CAAC;IAEhF,OAAO,CACL,CAAC,GAAG,CACF,kBAAkB,CAAC,CAAC,kBAAkB,CAAC,CACvC,iBAAiB,CAAC,MAAM,CACxB,UAAU,CACV,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CACnC,WAAW,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAC1C,WAAW,CAAC,CAAC,CAAC,CAAC,CACf,SAAS,CAAC,CAAC,aAAa,CAAC,CACzB,QAAQ,CAAC,CAAC,YAAY,CAAC,CACvB,CAAC,CAAC,GAAG,CACL,MAAM,CAAC,GAAG,CACV,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CACnB,MAAM,CAAC,CAAC,MAAM,CAAC,CAEf;MAAA,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CACb;QAAA,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,eAAe,EAAE,KAAK,CAC7C;QAAA,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CACrC;UAAA,CAAC,mBAAmB,CACtB;QAAA,EAAE,IAAI,CACN;QAAA,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CACxC;UAAA,CAAC,MAAM,CACT;QAAA,EAAE,IAAI,CACN;QAAA,CAAC,UAAU,CAAC,CAAC,CAAC,CACZ,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CACvC;sBAAU,CAAC,UAAU,CACvB;UAAA,EAAE,IAAI,CAAC,CACR,CAAC,CAAC,CAAC,IAAI,CACV;MAAA,EAAE,KAAK,CACT;IAAA,EAAE,GAAG,CAAC,CACP,CAAC;AACJ,CAAC;AAED,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,IAAI,EAAE;QACJ,WAAW,EAAE,QAAQ;KACtB;CACF,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,kBAAkB,CAAC,mBAAmB,CAAC,CAAC","sourcesContent":["import React from 'react';\nimport { StyleSheet } from 'react-native';\n\nimport { Badge } from '../../components/badge';\nimport { Text } from '../../components/text';\nimport { Box, Stack } from '../../foundation';\nimport { useZoraTheme } from '../../theme/useZoraTheme';\nimport { withZoraThemeScope } from '../../theme/withZoraThemeScope';\nimport type { MissingElementProps } from './types';\n\n/***\n * Renders the visible, non-interactive body of a draft missing-element marker.\n */\nfunction MissingElementInner({\n themeId: _themeId,\n mode: _mode,\n interactionPolicy: _interactionPolicy,\n requestedCapability,\n reason,\n evidenceId,\n minimumWidth,\n minimumHeight,\n testID,\n}: MissingElementProps) {\n const { theme } = useZoraTheme();\n const accessibilityLabel = `Missing element: ${requestedCapability}. ${reason}`;\n\n return (\n <Box\n accessibilityLabel={accessibilityLabel}\n accessibilityRole=\"text\"\n accessible\n bg={theme.semantics.warning.softBg}\n borderColor={theme.semantics.warning.base}\n borderWidth={1}\n minHeight={minimumHeight}\n minWidth={minimumWidth}\n p=\"m\"\n radius=\"m\"\n style={styles.root}\n testID={testID}\n >\n <Stack gap=\"xs\">\n <Badge color=\"warning\">Missing element</Badge>\n <Text variant=\"label\" weight=\"semiBold\">\n {requestedCapability}\n </Text>\n <Text emphasis=\"muted\" variant=\"bodySmall\">\n {reason}\n </Text>\n {evidenceId ? (\n <Text emphasis=\"subtle\" variant=\"caption\">\n Evidence: {evidenceId}\n </Text>\n ) : null}\n </Stack>\n </Box>\n );\n}\n\nconst styles = StyleSheet.create({\n root: {\n borderStyle: 'dashed',\n },\n});\n\n/***\n * Draft-only marker that preserves an unsupported manifest region without faking its capability.\n *\n * `MissingElement` is intentionally non-interactive and release-blocking in component metadata.\n * Replace it with a released semantic ZORA element before publishing a production template.\n */\nexport const MissingElement = withZoraThemeScope(MissingElementInner);\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/patterns/missing-element/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/patterns/missing-element/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC","sourcesContent":["export { MissingElement } from './MissingElement';\nexport type { MissingElementProps } from './types';\n"]}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
export declare const missingElementMeta: {
|
|
2
|
+
readonly name: "MissingElement";
|
|
3
|
+
readonly category: "pattern";
|
|
4
|
+
readonly description: "Draft-only marker for an unresolved semantic ZORA capability that must be replaced before release.";
|
|
5
|
+
readonly directManifestNode: true;
|
|
6
|
+
readonly allowedChildren: readonly [];
|
|
7
|
+
readonly manifestPolicy: {
|
|
8
|
+
readonly kind: "unresolved-element";
|
|
9
|
+
readonly availability: "draft-only";
|
|
10
|
+
readonly releaseGate: "blocked";
|
|
11
|
+
};
|
|
12
|
+
readonly blueprint: {
|
|
13
|
+
readonly label: "Missing element";
|
|
14
|
+
readonly defaultProps: {
|
|
15
|
+
readonly requestedCapability: "Unresolved interface capability";
|
|
16
|
+
readonly reason: "No matching ZORA element is available.";
|
|
17
|
+
readonly minimumWidth: 240;
|
|
18
|
+
readonly minimumHeight: 160;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
readonly props: {
|
|
22
|
+
readonly requestedCapability: {
|
|
23
|
+
readonly type: "string";
|
|
24
|
+
readonly category: "Gap";
|
|
25
|
+
readonly label: "Requested capability";
|
|
26
|
+
readonly default: "Unresolved interface capability";
|
|
27
|
+
readonly authoring: {
|
|
28
|
+
readonly authority: "instance";
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
readonly reason: {
|
|
32
|
+
readonly type: "string";
|
|
33
|
+
readonly category: "Gap";
|
|
34
|
+
readonly label: "Reason";
|
|
35
|
+
readonly default: "No matching ZORA element is available.";
|
|
36
|
+
readonly authoring: {
|
|
37
|
+
readonly authority: "instance";
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
readonly evidenceId: {
|
|
41
|
+
readonly type: "string";
|
|
42
|
+
readonly category: "Evidence";
|
|
43
|
+
readonly label: "Evidence ID";
|
|
44
|
+
readonly authoring: {
|
|
45
|
+
readonly authority: "instance";
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
readonly minimumWidth: {
|
|
49
|
+
readonly type: "number";
|
|
50
|
+
readonly category: "Layout";
|
|
51
|
+
readonly label: "Minimum width";
|
|
52
|
+
readonly default: 240;
|
|
53
|
+
readonly authoring: {
|
|
54
|
+
readonly authority: "instance";
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
readonly minimumHeight: {
|
|
58
|
+
readonly type: "number";
|
|
59
|
+
readonly category: "Layout";
|
|
60
|
+
readonly label: "Minimum height";
|
|
61
|
+
readonly default: 160;
|
|
62
|
+
readonly authoring: {
|
|
63
|
+
readonly authority: "instance";
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=meta.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/patterns/missing-element/meta.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyDO,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
const instanceAuthoring = { authority: 'instance' };
|
|
2
|
+
export const missingElementMeta = {
|
|
3
|
+
name: 'MissingElement',
|
|
4
|
+
category: 'pattern',
|
|
5
|
+
description: 'Draft-only marker for an unresolved semantic ZORA capability that must be replaced before release.',
|
|
6
|
+
directManifestNode: true,
|
|
7
|
+
allowedChildren: [],
|
|
8
|
+
manifestPolicy: {
|
|
9
|
+
kind: 'unresolved-element',
|
|
10
|
+
availability: 'draft-only',
|
|
11
|
+
releaseGate: 'blocked',
|
|
12
|
+
},
|
|
13
|
+
blueprint: {
|
|
14
|
+
label: 'Missing element',
|
|
15
|
+
defaultProps: {
|
|
16
|
+
requestedCapability: 'Unresolved interface capability',
|
|
17
|
+
reason: 'No matching ZORA element is available.',
|
|
18
|
+
minimumWidth: 240,
|
|
19
|
+
minimumHeight: 160,
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
props: {
|
|
23
|
+
requestedCapability: {
|
|
24
|
+
type: 'string',
|
|
25
|
+
category: 'Gap',
|
|
26
|
+
label: 'Requested capability',
|
|
27
|
+
default: 'Unresolved interface capability',
|
|
28
|
+
authoring: instanceAuthoring,
|
|
29
|
+
},
|
|
30
|
+
reason: {
|
|
31
|
+
type: 'string',
|
|
32
|
+
category: 'Gap',
|
|
33
|
+
label: 'Reason',
|
|
34
|
+
default: 'No matching ZORA element is available.',
|
|
35
|
+
authoring: instanceAuthoring,
|
|
36
|
+
},
|
|
37
|
+
evidenceId: {
|
|
38
|
+
type: 'string',
|
|
39
|
+
category: 'Evidence',
|
|
40
|
+
label: 'Evidence ID',
|
|
41
|
+
authoring: instanceAuthoring,
|
|
42
|
+
},
|
|
43
|
+
minimumWidth: {
|
|
44
|
+
type: 'number',
|
|
45
|
+
category: 'Layout',
|
|
46
|
+
label: 'Minimum width',
|
|
47
|
+
default: 240,
|
|
48
|
+
authoring: instanceAuthoring,
|
|
49
|
+
},
|
|
50
|
+
minimumHeight: {
|
|
51
|
+
type: 'number',
|
|
52
|
+
category: 'Layout',
|
|
53
|
+
label: 'Minimum height',
|
|
54
|
+
default: 160,
|
|
55
|
+
authoring: instanceAuthoring,
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
//# sourceMappingURL=meta.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meta.js","sourceRoot":"","sources":["../../../src/patterns/missing-element/meta.ts"],"names":[],"mappings":"AAEA,MAAM,iBAAiB,GAAG,EAAE,SAAS,EAAE,UAAU,EAAW,CAAC;AAE7D,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,gBAAgB;IACtB,QAAQ,EAAE,SAAS;IACnB,WAAW,EACT,oGAAoG;IACtG,kBAAkB,EAAE,IAAI;IACxB,eAAe,EAAE,EAAE;IACnB,cAAc,EAAE;QACd,IAAI,EAAE,oBAAoB;QAC1B,YAAY,EAAE,YAAY;QAC1B,WAAW,EAAE,SAAS;KACvB;IACD,SAAS,EAAE;QACT,KAAK,EAAE,iBAAiB;QACxB,YAAY,EAAE;YACZ,mBAAmB,EAAE,iCAAiC;YACtD,MAAM,EAAE,wCAAwC;YAChD,YAAY,EAAE,GAAG;YACjB,aAAa,EAAE,GAAG;SACnB;KACF;IACD,KAAK,EAAE;QACL,mBAAmB,EAAE;YACnB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,KAAK;YACf,KAAK,EAAE,sBAAsB;YAC7B,OAAO,EAAE,iCAAiC;YAC1C,SAAS,EAAE,iBAAiB;SAC7B;QACD,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,KAAK;YACf,KAAK,EAAE,QAAQ;YACf,OAAO,EAAE,wCAAwC;YACjD,SAAS,EAAE,iBAAiB;SAC7B;QACD,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,UAAU;YACpB,KAAK,EAAE,aAAa;YACpB,SAAS,EAAE,iBAAiB;SAC7B;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,eAAe;YACtB,OAAO,EAAE,GAAG;YACZ,SAAS,EAAE,iBAAiB;SAC7B;QACD,aAAa,EAAE;YACb,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,gBAAgB;YACvB,OAAO,EAAE,GAAG;YACZ,SAAS,EAAE,iBAAiB;SAC7B;KACF;CACmC,CAAC","sourcesContent":["import type { ZoraComponentMeta } from '../../metadata';\n\nconst instanceAuthoring = { authority: 'instance' } as const;\n\nexport const missingElementMeta = {\n name: 'MissingElement',\n category: 'pattern',\n description:\n 'Draft-only marker for an unresolved semantic ZORA capability that must be replaced before release.',\n directManifestNode: true,\n allowedChildren: [],\n manifestPolicy: {\n kind: 'unresolved-element',\n availability: 'draft-only',\n releaseGate: 'blocked',\n },\n blueprint: {\n label: 'Missing element',\n defaultProps: {\n requestedCapability: 'Unresolved interface capability',\n reason: 'No matching ZORA element is available.',\n minimumWidth: 240,\n minimumHeight: 160,\n },\n },\n props: {\n requestedCapability: {\n type: 'string',\n category: 'Gap',\n label: 'Requested capability',\n default: 'Unresolved interface capability',\n authoring: instanceAuthoring,\n },\n reason: {\n type: 'string',\n category: 'Gap',\n label: 'Reason',\n default: 'No matching ZORA element is available.',\n authoring: instanceAuthoring,\n },\n evidenceId: {\n type: 'string',\n category: 'Evidence',\n label: 'Evidence ID',\n authoring: instanceAuthoring,\n },\n minimumWidth: {\n type: 'number',\n category: 'Layout',\n label: 'Minimum width',\n default: 240,\n authoring: instanceAuthoring,\n },\n minimumHeight: {\n type: 'number',\n category: 'Layout',\n label: 'Minimum height',\n default: 160,\n authoring: instanceAuthoring,\n },\n },\n} as const satisfies ZoraComponentMeta;\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ZoraBaseProps } from '../../theme/ZoraBaseProps';
|
|
2
|
+
export interface MissingElementProps extends ZoraBaseProps {
|
|
3
|
+
requestedCapability: string;
|
|
4
|
+
reason: string;
|
|
5
|
+
evidenceId?: string;
|
|
6
|
+
minimumWidth?: number;
|
|
7
|
+
minimumHeight?: number;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/patterns/missing-element/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE/D,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACxD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/patterns/missing-element/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ZoraBaseProps } from '../../theme/ZoraBaseProps';\n\nexport interface MissingElementProps extends ZoraBaseProps {\n requestedCapability: string;\n reason: string;\n evidenceId?: string;\n minimumWidth?: number;\n minimumHeight?: number;\n}\n"]}
|
|
@@ -2,7 +2,7 @@ export declare const noticeMeta: {
|
|
|
2
2
|
readonly name: "Notice";
|
|
3
3
|
readonly category: "pattern";
|
|
4
4
|
readonly directManifestNode: true;
|
|
5
|
-
readonly allowedChildren: readonly ["Box", "Stack", "Grid", "Container", "Divider", "Text", "Heading", "Button", "ButtonGroup", "ThemeModeToggle", "Input", "Textarea", "FormField", "Card", "Panel", "Notice", "EmptyState", "SectionHeader", "SettingsRow", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "ReaderSurface"];
|
|
5
|
+
readonly allowedChildren: readonly ["Box", "Stack", "Grid", "Container", "Divider", "Text", "Heading", "Button", "ButtonGroup", "ThemeModeToggle", "Input", "Textarea", "FormField", "Card", "Panel", "Notice", "EmptyState", "SectionHeader", "SettingsRow", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "ReaderSurface", "ContentRail", "MissingElement"];
|
|
6
6
|
readonly blueprint: {
|
|
7
7
|
readonly label: "Notice";
|
|
8
8
|
readonly defaultProps: {
|
|
@@ -2,7 +2,7 @@ export declare const panelMeta: {
|
|
|
2
2
|
readonly name: "Panel";
|
|
3
3
|
readonly category: "pattern";
|
|
4
4
|
readonly directManifestNode: true;
|
|
5
|
-
readonly allowedChildren: readonly ["Box", "Stack", "Grid", "Container", "Divider", "Text", "Heading", "Button", "ButtonGroup", "ThemeModeToggle", "Input", "Textarea", "FormField", "Card", "Panel", "Notice", "EmptyState", "SectionHeader", "SettingsRow", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "ReaderSurface"];
|
|
5
|
+
readonly allowedChildren: readonly ["Box", "Stack", "Grid", "Container", "Divider", "Text", "Heading", "Button", "ButtonGroup", "ThemeModeToggle", "Input", "Textarea", "FormField", "Card", "Panel", "Notice", "EmptyState", "SectionHeader", "SettingsRow", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "ReaderSurface", "ContentRail", "MissingElement"];
|
|
6
6
|
readonly blueprint: {
|
|
7
7
|
readonly label: "Panel";
|
|
8
8
|
readonly defaultProps: {
|
|
@@ -3,7 +3,7 @@ export declare const postCardMeta: {
|
|
|
3
3
|
readonly category: "pattern";
|
|
4
4
|
readonly description: "Social/content post card with author identity, body, media, actions, and comment previews.";
|
|
5
5
|
readonly directManifestNode: true;
|
|
6
|
-
readonly allowedChildren: readonly ["Box", "Stack", "Grid", "Container", "Divider", "Text", "Heading", "Button", "ButtonGroup", "ThemeModeToggle", "Input", "Textarea", "FormField", "Card", "Panel", "Notice", "EmptyState", "SectionHeader", "SettingsRow", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "ReaderSurface"];
|
|
6
|
+
readonly allowedChildren: readonly ["Box", "Stack", "Grid", "Container", "Divider", "Text", "Heading", "Button", "ButtonGroup", "ThemeModeToggle", "Input", "Textarea", "FormField", "Card", "Panel", "Notice", "EmptyState", "SectionHeader", "SettingsRow", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "ReaderSurface", "ContentRail", "MissingElement"];
|
|
7
7
|
readonly blueprint: {
|
|
8
8
|
readonly label: "Post card";
|
|
9
9
|
readonly icon: {
|
|
@@ -125,11 +125,11 @@ export declare const readerSurfaceMeta: {
|
|
|
125
125
|
};
|
|
126
126
|
readonly headerActions: {
|
|
127
127
|
readonly label: "Header actions";
|
|
128
|
-
readonly allowedChildren: readonly ["Box", "Stack", "Grid", "Container", "Divider", "Text", "Heading", "Button", "ButtonGroup", "ThemeModeToggle", "Input", "Textarea", "FormField", "Card", "Panel", "Notice", "EmptyState", "SectionHeader", "SettingsRow", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "ReaderSurface"];
|
|
128
|
+
readonly allowedChildren: readonly ["Box", "Stack", "Grid", "Container", "Divider", "Text", "Heading", "Button", "ButtonGroup", "ThemeModeToggle", "Input", "Textarea", "FormField", "Card", "Panel", "Notice", "EmptyState", "SectionHeader", "SettingsRow", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "ReaderSurface", "ContentRail", "MissingElement"];
|
|
129
129
|
};
|
|
130
130
|
readonly footerActions: {
|
|
131
131
|
readonly label: "Footer actions";
|
|
132
|
-
readonly allowedChildren: readonly ["Box", "Stack", "Grid", "Container", "Divider", "Text", "Heading", "Button", "ButtonGroup", "ThemeModeToggle", "Input", "Textarea", "FormField", "Card", "Panel", "Notice", "EmptyState", "SectionHeader", "SettingsRow", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "ReaderSurface"];
|
|
132
|
+
readonly allowedChildren: readonly ["Box", "Stack", "Grid", "Container", "Divider", "Text", "Heading", "Button", "ButtonGroup", "ThemeModeToggle", "Input", "Textarea", "FormField", "Card", "Panel", "Notice", "EmptyState", "SectionHeader", "SettingsRow", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "ReaderSurface", "ContentRail", "MissingElement"];
|
|
133
133
|
};
|
|
134
134
|
};
|
|
135
135
|
readonly props: {
|
|
@@ -105,7 +105,7 @@ export declare const barcodeScannerViewMeta: {
|
|
|
105
105
|
readonly category: "pattern";
|
|
106
106
|
readonly description: "Composed scanner shell with permission, camera slot, scan overlay, and manual entry affordance.";
|
|
107
107
|
readonly directManifestNode: true;
|
|
108
|
-
readonly allowedChildren: readonly ["Box", "Stack", "Grid", "Container", "Divider", "Text", "Heading", "Button", "ButtonGroup", "ThemeModeToggle", "Input", "Textarea", "FormField", "Card", "Panel", "Notice", "EmptyState", "SectionHeader", "SettingsRow", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "ReaderSurface"];
|
|
108
|
+
readonly allowedChildren: readonly ["Box", "Stack", "Grid", "Container", "Divider", "Text", "Heading", "Button", "ButtonGroup", "ThemeModeToggle", "Input", "Textarea", "FormField", "Card", "Panel", "Notice", "EmptyState", "SectionHeader", "SettingsRow", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "ReaderSurface", "ContentRail", "MissingElement"];
|
|
109
109
|
readonly requirements: {
|
|
110
110
|
readonly permissions: readonly [{
|
|
111
111
|
readonly permission: "camera";
|
|
@@ -145,7 +145,7 @@ export declare const barcodeScannerViewMeta: {
|
|
|
145
145
|
};
|
|
146
146
|
readonly children: {
|
|
147
147
|
readonly label: "Scanner footer";
|
|
148
|
-
readonly allowedChildren: readonly ["Box", "Stack", "Grid", "Container", "Divider", "Text", "Heading", "Button", "ButtonGroup", "ThemeModeToggle", "Input", "Textarea", "FormField", "Card", "Panel", "Notice", "EmptyState", "SectionHeader", "SettingsRow", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "ReaderSurface"];
|
|
148
|
+
readonly allowedChildren: readonly ["Box", "Stack", "Grid", "Container", "Divider", "Text", "Heading", "Button", "ButtonGroup", "ThemeModeToggle", "Input", "Textarea", "FormField", "Card", "Panel", "Notice", "EmptyState", "SectionHeader", "SettingsRow", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "ReaderSurface", "ContentRail", "MissingElement"];
|
|
149
149
|
};
|
|
150
150
|
};
|
|
151
151
|
readonly props: {
|
package/dist/registry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAuG/B,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;AA8IhF,eAAO,MAAM,uBAAuB,EAAE,qBAAgD,CAAC"}
|
package/dist/registry.js
CHANGED
|
@@ -51,6 +51,7 @@ import { ForgotPasswordForm, OAuthProviderButton, OAuthProviderList, OtpForm, Si
|
|
|
51
51
|
import { ChatListItem } from './patterns/chat-list-item';
|
|
52
52
|
import { CollectionEditor } from './patterns/collection-editor';
|
|
53
53
|
import { ConfirmDialog } from './patterns/confirm-dialog';
|
|
54
|
+
import { ContentRail } from './patterns/content-rail';
|
|
54
55
|
import { DisclosureSection } from './patterns/disclosure-section';
|
|
55
56
|
import { EmptyState } from './patterns/empty-state';
|
|
56
57
|
import { FilterBar } from './patterns/filter-bar';
|
|
@@ -60,6 +61,7 @@ import { ImageUploadField } from './patterns/image-upload-field';
|
|
|
60
61
|
import { InspectorField } from './patterns/inspector-field';
|
|
61
62
|
import { List, ListRow, ListSection } from './patterns/list';
|
|
62
63
|
import { MessageBubble } from './patterns/message-bubble';
|
|
64
|
+
import { MissingElement } from './patterns/missing-element';
|
|
63
65
|
import { Notice } from './patterns/notice';
|
|
64
66
|
import { Panel } from './patterns/panel';
|
|
65
67
|
import { PostCard } from './patterns/post-card';
|
|
@@ -159,6 +161,7 @@ const _ZORA_COMPONENT_REGISTRY = {
|
|
|
159
161
|
ChatListItem,
|
|
160
162
|
CollectionEditor,
|
|
161
163
|
ConfirmDialog,
|
|
164
|
+
ContentRail,
|
|
162
165
|
DisclosureSection,
|
|
163
166
|
EmptyState,
|
|
164
167
|
FilterBar,
|
|
@@ -170,6 +173,7 @@ const _ZORA_COMPONENT_REGISTRY = {
|
|
|
170
173
|
ListRow,
|
|
171
174
|
ListSection,
|
|
172
175
|
MessageBubble,
|
|
176
|
+
MissingElement,
|
|
173
177
|
Notice,
|
|
174
178
|
Panel,
|
|
175
179
|
PostCard,
|
package/dist/registry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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","sourcesContent":["import type { InteractionPolicyProps } from '@ankhorage/surface';\nimport type React from 'react';\n\nimport { ActionSheet, ActionSheetItem } from './components/action-sheet';\nimport { AppBar } from './components/app-bar';\nimport { Avatar } from './components/avatar';\nimport { AvatarGroup } from './components/avatar-group';\nimport { Badge } from './components/badge';\nimport { Breadcrumbs } from './components/breadcrumbs';\nimport { Button } from './components/button';\nimport { ButtonGroup } from './components/button-group';\nimport { Card } from './components/card';\nimport { Checkbox, CheckboxGroup } from './components/checkbox';\nimport { Chip } from './components/chip';\nimport { ChipGroup } from './components/chip-group';\nimport { DataTable } from './components/data-table';\nimport { DatePicker } from './components/date-picker';\nimport { Drawer } from './components/drawer';\nimport { Form, FormActions, FormError, FormField } from './components/form';\nimport { Gradient } from './components/gradient';\nimport { Heading } from './components/heading';\nimport { Icon } from './components/icon';\nimport { IconButton } from './components/icon-button';\nimport { Image } from './components/image';\nimport { Input } from './components/input';\nimport { MediaCard } from './components/media-card';\nimport { DropdownMenu, Menu } from './components/menu';\nimport { MetricCard } from './components/metric-card';\nimport { Modal } from './components/modal';\nimport { NavigationItem } from './components/navigation-item';\nimport { NavigationList } from './components/navigation-list';\nimport { Pagination } from './components/pagination';\nimport { Progress, ProgressRing } from './components/progress';\nimport { Radio, RadioGroup } from './components/radio';\nimport { Rating } from './components/rating';\nimport { SearchBar } from './components/search-bar';\nimport { Select } from './components/select';\nimport { Skeleton, SkeletonCard, SkeletonList, SkeletonText } from './components/skeleton';\nimport { SplashScreen } from './components/splash-screen';\nimport { Tabs } from './components/tabs';\nimport { Text } from './components/text';\nimport { Textarea } from './components/textarea';\nimport { TimePicker } from './components/time-picker';\nimport { Toast } from './components/toast';\nimport { Toolbar, ToolbarAction } from './components/toolbar';\nimport {\n Box,\n Center,\n Container,\n Divider,\n Grid,\n Inline,\n Show,\n Spacer,\n Stack,\n Surface,\n} from './foundation';\nimport { AppShell } from './layout/app-shell';\nimport { Screen } from './layout/screen';\nimport { ScreenSection } from './layout/screen-section';\nimport { SettingsLayout } from './layout/settings-layout';\nimport { SidebarLayout } from './layout/sidebar-layout';\nimport { TopbarLayout } from './layout/topbar-layout';\nimport {\n ForgotPasswordForm,\n OAuthProviderButton,\n OAuthProviderList,\n OtpForm,\n SignInForm,\n SignUpForm,\n} from './patterns/auth';\nimport { ChatListItem } from './patterns/chat-list-item';\nimport { CollectionEditor } from './patterns/collection-editor';\nimport { ConfirmDialog } from './patterns/confirm-dialog';\nimport { DisclosureSection } from './patterns/disclosure-section';\nimport { EmptyState } from './patterns/empty-state';\nimport { FilterBar } from './patterns/filter-bar';\nimport { Hero } from './patterns/hero';\nimport { ImagePreview } from './patterns/image-preview';\nimport { ImageUploadField } from './patterns/image-upload-field';\nimport { InspectorField } from './patterns/inspector-field';\nimport { List, ListRow, ListSection } from './patterns/list';\nimport { MessageBubble } from './patterns/message-bubble';\nimport { Notice } from './patterns/notice';\nimport { Panel } from './patterns/panel';\nimport { PostCard } from './patterns/post-card';\nimport { ProductCard } from './patterns/product-card';\nimport { ReaderSurface } from './patterns/reader';\nimport { ResponsivePanel } from './patterns/responsive-panel';\nimport { BarcodeScannerView, CameraPermissionView, ScanOverlay } from './patterns/scanner';\nimport { SectionHeader } from './patterns/section-header';\nimport { SelectableItem } from './patterns/selection';\nimport { SettingsRow } from './patterns/settings-row';\nimport { SwitchField } from './patterns/switch-field';\nimport { ThemeComposer } from './patterns/theme-composer';\nimport { PaletteItem, TileGrid } from './patterns/tile-grid';\nimport { Timeline } from './patterns/timeline';\nimport { TreeItem, TreeView } from './patterns/tree-view';\nimport { ZoraDrawerContent } from './patterns/zora-drawer-content';\nimport { ZoraTabBar } from './patterns/zora-tab-bar';\nimport { ThemeModeToggle } from './theme/ThemeModeToggle';\n\nexport type ZoraComponentRegistry = Readonly<Record<string, React.ElementType>>;\n\ntype ComponentPropsFor<K extends keyof typeof _ZORA_COMPONENT_REGISTRY> = React.ComponentProps<\n (typeof _ZORA_COMPONENT_REGISTRY)[K]\n>;\n\ntype AcceptsSurfaceInteractionPolicyProps<P> = 'interactionPolicy' extends keyof P\n ? InteractionPolicyProps extends Pick<P, 'interactionPolicy'>\n ? Pick<P, 'interactionPolicy'> extends InteractionPolicyProps\n ? true\n : false\n : false\n : false;\n\ntype RegistryInteractionPolicyContract = {\n [K in keyof typeof _ZORA_COMPONENT_REGISTRY]: AcceptsSurfaceInteractionPolicyProps<\n ComponentPropsFor<K>\n >;\n};\n\ntype _AssertTrue<T extends true> = T;\ntype _RegistryInteractionPolicyCheck = _AssertTrue<\n RegistryInteractionPolicyContract[keyof typeof _ZORA_COMPONENT_REGISTRY]\n>;\n\nconst _ZORA_COMPONENT_REGISTRY = {\n ActionSheet,\n ActionSheetItem,\n AppBar,\n Avatar,\n AvatarGroup,\n Badge,\n Breadcrumbs,\n Button,\n ButtonGroup,\n Card,\n Checkbox,\n CheckboxGroup,\n Chip,\n ChipGroup,\n DataTable,\n DatePicker,\n Drawer,\n DropdownMenu,\n Form,\n FormActions,\n FormError,\n FormField,\n Gradient,\n Heading,\n Icon,\n IconButton,\n Image,\n Input,\n MediaCard,\n Menu,\n MetricCard,\n Modal,\n NavigationItem,\n NavigationList,\n Pagination,\n Progress,\n ProgressRing,\n Radio,\n RadioGroup,\n Rating,\n SearchBar,\n Select,\n Skeleton,\n SkeletonCard,\n SkeletonList,\n SkeletonText,\n SplashScreen,\n Tabs,\n Text,\n Textarea,\n TimePicker,\n Toast,\n Toolbar,\n ToolbarAction,\n ThemeModeToggle,\n Box,\n Center,\n Container,\n Divider,\n Grid,\n Inline,\n Show,\n Spacer,\n Stack,\n Surface,\n AppShell,\n Screen,\n ScreenSection,\n SettingsLayout,\n SidebarLayout,\n TopbarLayout,\n ForgotPasswordForm,\n OAuthProviderButton,\n OAuthProviderList,\n OtpForm,\n SignInForm,\n SignUpForm,\n ChatListItem,\n CollectionEditor,\n ConfirmDialog,\n DisclosureSection,\n EmptyState,\n FilterBar,\n Hero,\n ImagePreview,\n ImageUploadField,\n InspectorField,\n List,\n ListRow,\n ListSection,\n MessageBubble,\n Notice,\n Panel,\n PostCard,\n ProductCard,\n ResponsivePanel,\n ReaderSurface,\n BarcodeScannerView,\n CameraPermissionView,\n ScanOverlay,\n SectionHeader,\n SelectableItem,\n SettingsRow,\n SwitchField,\n ThemeComposer,\n PaletteItem,\n TileGrid,\n Timeline,\n TreeItem,\n TreeView,\n ZoraDrawerContent,\n ZoraTabBar,\n} as const satisfies ZoraComponentRegistry;\n\nexport const ZORA_COMPONENT_REGISTRY: ZoraComponentRegistry = _ZORA_COMPONENT_REGISTRY;\n"]}
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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","sourcesContent":["import type { InteractionPolicyProps } from '@ankhorage/surface';\nimport type React from 'react';\n\nimport { ActionSheet, ActionSheetItem } from './components/action-sheet';\nimport { AppBar } from './components/app-bar';\nimport { Avatar } from './components/avatar';\nimport { AvatarGroup } from './components/avatar-group';\nimport { Badge } from './components/badge';\nimport { Breadcrumbs } from './components/breadcrumbs';\nimport { Button } from './components/button';\nimport { ButtonGroup } from './components/button-group';\nimport { Card } from './components/card';\nimport { Checkbox, CheckboxGroup } from './components/checkbox';\nimport { Chip } from './components/chip';\nimport { ChipGroup } from './components/chip-group';\nimport { DataTable } from './components/data-table';\nimport { DatePicker } from './components/date-picker';\nimport { Drawer } from './components/drawer';\nimport { Form, FormActions, FormError, FormField } from './components/form';\nimport { Gradient } from './components/gradient';\nimport { Heading } from './components/heading';\nimport { Icon } from './components/icon';\nimport { IconButton } from './components/icon-button';\nimport { Image } from './components/image';\nimport { Input } from './components/input';\nimport { MediaCard } from './components/media-card';\nimport { DropdownMenu, Menu } from './components/menu';\nimport { MetricCard } from './components/metric-card';\nimport { Modal } from './components/modal';\nimport { NavigationItem } from './components/navigation-item';\nimport { NavigationList } from './components/navigation-list';\nimport { Pagination } from './components/pagination';\nimport { Progress, ProgressRing } from './components/progress';\nimport { Radio, RadioGroup } from './components/radio';\nimport { Rating } from './components/rating';\nimport { SearchBar } from './components/search-bar';\nimport { Select } from './components/select';\nimport { Skeleton, SkeletonCard, SkeletonList, SkeletonText } from './components/skeleton';\nimport { SplashScreen } from './components/splash-screen';\nimport { Tabs } from './components/tabs';\nimport { Text } from './components/text';\nimport { Textarea } from './components/textarea';\nimport { TimePicker } from './components/time-picker';\nimport { Toast } from './components/toast';\nimport { Toolbar, ToolbarAction } from './components/toolbar';\nimport {\n Box,\n Center,\n Container,\n Divider,\n Grid,\n Inline,\n Show,\n Spacer,\n Stack,\n Surface,\n} from './foundation';\nimport { AppShell } from './layout/app-shell';\nimport { Screen } from './layout/screen';\nimport { ScreenSection } from './layout/screen-section';\nimport { SettingsLayout } from './layout/settings-layout';\nimport { SidebarLayout } from './layout/sidebar-layout';\nimport { TopbarLayout } from './layout/topbar-layout';\nimport {\n ForgotPasswordForm,\n OAuthProviderButton,\n OAuthProviderList,\n OtpForm,\n SignInForm,\n SignUpForm,\n} from './patterns/auth';\nimport { ChatListItem } from './patterns/chat-list-item';\nimport { CollectionEditor } from './patterns/collection-editor';\nimport { ConfirmDialog } from './patterns/confirm-dialog';\nimport { ContentRail } from './patterns/content-rail';\nimport { DisclosureSection } from './patterns/disclosure-section';\nimport { EmptyState } from './patterns/empty-state';\nimport { FilterBar } from './patterns/filter-bar';\nimport { Hero } from './patterns/hero';\nimport { ImagePreview } from './patterns/image-preview';\nimport { ImageUploadField } from './patterns/image-upload-field';\nimport { InspectorField } from './patterns/inspector-field';\nimport { List, ListRow, ListSection } from './patterns/list';\nimport { MessageBubble } from './patterns/message-bubble';\nimport { MissingElement } from './patterns/missing-element';\nimport { Notice } from './patterns/notice';\nimport { Panel } from './patterns/panel';\nimport { PostCard } from './patterns/post-card';\nimport { ProductCard } from './patterns/product-card';\nimport { ReaderSurface } from './patterns/reader';\nimport { ResponsivePanel } from './patterns/responsive-panel';\nimport { BarcodeScannerView, CameraPermissionView, ScanOverlay } from './patterns/scanner';\nimport { SectionHeader } from './patterns/section-header';\nimport { SelectableItem } from './patterns/selection';\nimport { SettingsRow } from './patterns/settings-row';\nimport { SwitchField } from './patterns/switch-field';\nimport { ThemeComposer } from './patterns/theme-composer';\nimport { PaletteItem, TileGrid } from './patterns/tile-grid';\nimport { Timeline } from './patterns/timeline';\nimport { TreeItem, TreeView } from './patterns/tree-view';\nimport { ZoraDrawerContent } from './patterns/zora-drawer-content';\nimport { ZoraTabBar } from './patterns/zora-tab-bar';\nimport { ThemeModeToggle } from './theme/ThemeModeToggle';\n\nexport type ZoraComponentRegistry = Readonly<Record<string, React.ElementType>>;\n\ntype ComponentPropsFor<K extends keyof typeof _ZORA_COMPONENT_REGISTRY> = React.ComponentProps<\n (typeof _ZORA_COMPONENT_REGISTRY)[K]\n>;\n\ntype AcceptsSurfaceInteractionPolicyProps<P> = 'interactionPolicy' extends keyof P\n ? InteractionPolicyProps extends Pick<P, 'interactionPolicy'>\n ? Pick<P, 'interactionPolicy'> extends InteractionPolicyProps\n ? true\n : false\n : false\n : false;\n\ntype RegistryInteractionPolicyContract = {\n [K in keyof typeof _ZORA_COMPONENT_REGISTRY]: AcceptsSurfaceInteractionPolicyProps<\n ComponentPropsFor<K>\n >;\n};\n\ntype _AssertTrue<T extends true> = T;\ntype _RegistryInteractionPolicyCheck = _AssertTrue<\n RegistryInteractionPolicyContract[keyof typeof _ZORA_COMPONENT_REGISTRY]\n>;\n\nconst _ZORA_COMPONENT_REGISTRY = {\n ActionSheet,\n ActionSheetItem,\n AppBar,\n Avatar,\n AvatarGroup,\n Badge,\n Breadcrumbs,\n Button,\n ButtonGroup,\n Card,\n Checkbox,\n CheckboxGroup,\n Chip,\n ChipGroup,\n DataTable,\n DatePicker,\n Drawer,\n DropdownMenu,\n Form,\n FormActions,\n FormError,\n FormField,\n Gradient,\n Heading,\n Icon,\n IconButton,\n Image,\n Input,\n MediaCard,\n Menu,\n MetricCard,\n Modal,\n NavigationItem,\n NavigationList,\n Pagination,\n Progress,\n ProgressRing,\n Radio,\n RadioGroup,\n Rating,\n SearchBar,\n Select,\n Skeleton,\n SkeletonCard,\n SkeletonList,\n SkeletonText,\n SplashScreen,\n Tabs,\n Text,\n Textarea,\n TimePicker,\n Toast,\n Toolbar,\n ToolbarAction,\n ThemeModeToggle,\n Box,\n Center,\n Container,\n Divider,\n Grid,\n Inline,\n Show,\n Spacer,\n Stack,\n Surface,\n AppShell,\n Screen,\n ScreenSection,\n SettingsLayout,\n SidebarLayout,\n TopbarLayout,\n ForgotPasswordForm,\n OAuthProviderButton,\n OAuthProviderList,\n OtpForm,\n SignInForm,\n SignUpForm,\n ChatListItem,\n CollectionEditor,\n ConfirmDialog,\n ContentRail,\n DisclosureSection,\n EmptyState,\n FilterBar,\n Hero,\n ImagePreview,\n ImageUploadField,\n InspectorField,\n List,\n ListRow,\n ListSection,\n MessageBubble,\n MissingElement,\n Notice,\n Panel,\n PostCard,\n ProductCard,\n ResponsivePanel,\n ReaderSurface,\n BarcodeScannerView,\n CameraPermissionView,\n ScanOverlay,\n SectionHeader,\n SelectableItem,\n SettingsRow,\n SwitchField,\n ThemeComposer,\n PaletteItem,\n TileGrid,\n Timeline,\n TreeItem,\n TreeView,\n ZoraDrawerContent,\n ZoraTabBar,\n} as const satisfies ZoraComponentRegistry;\n\nexport const ZORA_COMPONENT_REGISTRY: ZoraComponentRegistry = _ZORA_COMPONENT_REGISTRY;\n"]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ankhorage/zora",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "3.2
|
|
4
|
+
"version": "3.3.2",
|
|
5
5
|
"description": "Opinionated React Native and React Native Web UI kit built on @ankhorage/surface.",
|
|
6
6
|
"homepage": "https://github.com/ankhorage/zora#readme",
|
|
7
7
|
"bugs": {
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"@ankhorage/color-theory": "^0.0.8",
|
|
40
40
|
"@ankhorage/contracts": "^8.0.1",
|
|
41
|
-
"@ankhorage/surface": "^3.1.
|
|
41
|
+
"@ankhorage/surface": "^3.1.1"
|
|
42
42
|
},
|
|
43
43
|
"files": [
|
|
44
44
|
"dist",
|
|
@@ -86,7 +86,7 @@
|
|
|
86
86
|
"version-packages": "ankhorage-changeset version"
|
|
87
87
|
},
|
|
88
88
|
"devDependencies": {
|
|
89
|
-
"@ankhorage/devtools": "^1.
|
|
89
|
+
"@ankhorage/devtools": "^1.9.4",
|
|
90
90
|
"@ankhorage/paradox": "^0.1.24",
|
|
91
91
|
"@react-native-picker/picker": "2.11.4",
|
|
92
92
|
"@react-native-vector-icons/fontawesome": "^13.1.3",
|