@ankhorage/zora 1.0.9 → 1.1.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/CHANGELOG.md +12 -0
- package/README.md +148 -0
- package/dist/components/image/Image.d.ts +4 -0
- package/dist/components/image/Image.d.ts.map +1 -0
- package/dist/components/image/Image.js +8 -0
- package/dist/components/image/Image.js.map +1 -0
- package/dist/components/image/index.d.ts +3 -0
- package/dist/components/image/index.d.ts.map +1 -0
- package/dist/components/image/index.js +2 -0
- package/dist/components/image/index.js.map +1 -0
- package/dist/components/image/types.d.ts +6 -0
- package/dist/components/image/types.d.ts.map +1 -0
- package/dist/components/image/types.js +2 -0
- package/dist/components/image/types.js.map +1 -0
- package/dist/components/navigation-item/NavigationItem.d.ts +4 -0
- package/dist/components/navigation-item/NavigationItem.d.ts.map +1 -0
- package/dist/components/navigation-item/NavigationItem.js +18 -0
- package/dist/components/navigation-item/NavigationItem.js.map +1 -0
- package/dist/components/navigation-item/index.d.ts +3 -0
- package/dist/components/navigation-item/index.d.ts.map +1 -0
- package/dist/components/navigation-item/index.js +2 -0
- package/dist/components/navigation-item/index.js.map +1 -0
- package/dist/components/navigation-item/types.d.ts +23 -0
- package/dist/components/navigation-item/types.d.ts.map +1 -0
- package/dist/components/navigation-item/types.js +2 -0
- package/dist/components/navigation-item/types.js.map +1 -0
- package/dist/components/navigation-list/NavigationList.d.ts +4 -0
- package/dist/components/navigation-list/NavigationList.d.ts.map +1 -0
- package/dist/components/navigation-list/NavigationList.js +26 -0
- package/dist/components/navigation-list/NavigationList.js.map +1 -0
- package/dist/components/navigation-list/index.d.ts +3 -0
- package/dist/components/navigation-list/index.d.ts.map +1 -0
- package/dist/components/navigation-list/index.js +2 -0
- package/dist/components/navigation-list/index.js.map +1 -0
- package/dist/components/navigation-list/types.d.ts +15 -0
- package/dist/components/navigation-list/types.d.ts.map +1 -0
- package/dist/components/navigation-list/types.js +2 -0
- package/dist/components/navigation-list/types.js.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/internal/resolveZoraNavigationItems.d.ts +64 -0
- package/dist/internal/resolveZoraNavigationItems.d.ts.map +1 -0
- package/dist/internal/resolveZoraNavigationItems.js +55 -0
- package/dist/internal/resolveZoraNavigationItems.js.map +1 -0
- package/dist/patterns/image-preview/ImagePreview.d.ts +4 -0
- package/dist/patterns/image-preview/ImagePreview.d.ts.map +1 -0
- package/dist/patterns/image-preview/ImagePreview.js +41 -0
- package/dist/patterns/image-preview/ImagePreview.js.map +1 -0
- package/dist/patterns/image-preview/index.d.ts +3 -0
- package/dist/patterns/image-preview/index.d.ts.map +1 -0
- package/dist/patterns/image-preview/index.js +2 -0
- package/dist/patterns/image-preview/index.js.map +1 -0
- package/dist/patterns/image-preview/types.d.ts +36 -0
- package/dist/patterns/image-preview/types.d.ts.map +1 -0
- package/dist/patterns/image-preview/types.js +2 -0
- package/dist/patterns/image-preview/types.js.map +1 -0
- package/dist/patterns/image-upload-field/ImageUploadField.d.ts +4 -0
- package/dist/patterns/image-upload-field/ImageUploadField.d.ts.map +1 -0
- package/dist/patterns/image-upload-field/ImageUploadField.js +211 -0
- package/dist/patterns/image-upload-field/ImageUploadField.js.map +1 -0
- package/dist/patterns/image-upload-field/index.d.ts +3 -0
- package/dist/patterns/image-upload-field/index.d.ts.map +1 -0
- package/dist/patterns/image-upload-field/index.js +2 -0
- package/dist/patterns/image-upload-field/index.js.map +1 -0
- package/dist/patterns/image-upload-field/types.d.ts +35 -0
- package/dist/patterns/image-upload-field/types.d.ts.map +1 -0
- package/dist/patterns/image-upload-field/types.js +2 -0
- package/dist/patterns/image-upload-field/types.js.map +1 -0
- package/dist/patterns/image-upload-field/uploadFlow.d.ts +18 -0
- package/dist/patterns/image-upload-field/uploadFlow.d.ts.map +1 -0
- package/dist/patterns/image-upload-field/uploadFlow.js +106 -0
- package/dist/patterns/image-upload-field/uploadFlow.js.map +1 -0
- package/dist/patterns/zora-drawer-content/ZoraDrawerContent.d.ts +4 -0
- package/dist/patterns/zora-drawer-content/ZoraDrawerContent.d.ts.map +1 -0
- package/dist/patterns/zora-drawer-content/ZoraDrawerContent.js +26 -0
- package/dist/patterns/zora-drawer-content/ZoraDrawerContent.js.map +1 -0
- package/dist/patterns/zora-drawer-content/index.d.ts +3 -0
- package/dist/patterns/zora-drawer-content/index.d.ts.map +1 -0
- package/dist/patterns/zora-drawer-content/index.js +2 -0
- package/dist/patterns/zora-drawer-content/index.js.map +1 -0
- package/dist/patterns/zora-drawer-content/types.d.ts +15 -0
- package/dist/patterns/zora-drawer-content/types.d.ts.map +1 -0
- package/dist/patterns/zora-drawer-content/types.js +2 -0
- package/dist/patterns/zora-drawer-content/types.js.map +1 -0
- package/dist/patterns/zora-tab-bar/ZoraTabBar.d.ts +4 -0
- package/dist/patterns/zora-tab-bar/ZoraTabBar.d.ts.map +1 -0
- package/dist/patterns/zora-tab-bar/ZoraTabBar.js +33 -0
- package/dist/patterns/zora-tab-bar/ZoraTabBar.js.map +1 -0
- package/dist/patterns/zora-tab-bar/index.d.ts +3 -0
- package/dist/patterns/zora-tab-bar/index.d.ts.map +1 -0
- package/dist/patterns/zora-tab-bar/index.js +2 -0
- package/dist/patterns/zora-tab-bar/index.js.map +1 -0
- package/dist/patterns/zora-tab-bar/types.d.ts +19 -0
- package/dist/patterns/zora-tab-bar/types.d.ts.map +1 -0
- package/dist/patterns/zora-tab-bar/types.js +2 -0
- package/dist/patterns/zora-tab-bar/types.js.map +1 -0
- package/package.json +3 -3
- package/src/audit.test.ts +29 -0
- package/src/components/image/Image.tsx +11 -0
- package/src/components/image/index.ts +2 -0
- package/src/components/image/types.ts +7 -0
- package/src/components/navigation-item/NavigationItem.tsx +36 -0
- package/src/components/navigation-item/index.ts +6 -0
- package/src/components/navigation-item/types.ts +26 -0
- package/src/components/navigation-list/NavigationList.tsx +62 -0
- package/src/components/navigation-list/index.ts +2 -0
- package/src/components/navigation-list/types.ts +17 -0
- package/src/index.ts +26 -0
- package/src/internal/resolveZoraNavigationItems.test.ts +163 -0
- package/src/internal/resolveZoraNavigationItems.ts +156 -0
- package/src/navigationExports.test.ts +15 -0
- package/src/patterns/image-preview/ImagePreview.tsx +76 -0
- package/src/patterns/image-preview/index.ts +2 -0
- package/src/patterns/image-preview/types.ts +41 -0
- package/src/patterns/image-upload-field/ImageUploadField.tsx +293 -0
- package/src/patterns/image-upload-field/index.ts +2 -0
- package/src/patterns/image-upload-field/types.ts +41 -0
- package/src/patterns/image-upload-field/uploadFlow.test.ts +117 -0
- package/src/patterns/image-upload-field/uploadFlow.ts +145 -0
- package/src/patterns/zora-drawer-content/ZoraDrawerContent.tsx +53 -0
- package/src/patterns/zora-drawer-content/index.ts +2 -0
- package/src/patterns/zora-drawer-content/types.ts +20 -0
- package/src/patterns/zora-tab-bar/ZoraTabBar.tsx +55 -0
- package/src/patterns/zora-tab-bar/index.ts +2 -0
- package/src/patterns/zora-tab-bar/types.ts +18 -0
- package/src/showcaseCoverage.test.ts +7 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { TabBar as SurfaceTabBar } from '@ankhorage/surface';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
|
|
4
|
+
import { Surface } from '../../foundation';
|
|
5
|
+
import {
|
|
6
|
+
createTabBarItemPressHandler,
|
|
7
|
+
resolveNavigationItems,
|
|
8
|
+
} from '../../internal/resolveZoraNavigationItems';
|
|
9
|
+
import { withZoraThemeScope } from '../../theme/withZoraThemeScope';
|
|
10
|
+
import type { ZoraTabBarProps } from './types';
|
|
11
|
+
|
|
12
|
+
function ZoraTabBarInner({
|
|
13
|
+
themeId: _themeId,
|
|
14
|
+
mode: _mode,
|
|
15
|
+
state,
|
|
16
|
+
navigation,
|
|
17
|
+
descriptors,
|
|
18
|
+
routeMap,
|
|
19
|
+
compact = false,
|
|
20
|
+
chrome = 'raised',
|
|
21
|
+
testID,
|
|
22
|
+
}: ZoraTabBarProps) {
|
|
23
|
+
const resolved = resolveNavigationItems({
|
|
24
|
+
state,
|
|
25
|
+
descriptors,
|
|
26
|
+
routeMap,
|
|
27
|
+
kind: 'tab',
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
const items = resolved.map((item) => ({
|
|
31
|
+
id: item.route.key,
|
|
32
|
+
label: item.label,
|
|
33
|
+
icon: item.metadata?.icon,
|
|
34
|
+
badge: item.metadata?.badge,
|
|
35
|
+
active: item.active,
|
|
36
|
+
disabled: item.disabled,
|
|
37
|
+
onPress: createTabBarItemPressHandler({ item, navigation }),
|
|
38
|
+
accessibilityLabel: item.metadata?.accessibilityLabel,
|
|
39
|
+
testID: item.metadata?.testID,
|
|
40
|
+
}));
|
|
41
|
+
|
|
42
|
+
const content = <SurfaceTabBar compact={compact} items={items} testID={testID} />;
|
|
43
|
+
|
|
44
|
+
if (chrome === 'none') {
|
|
45
|
+
return content;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
return (
|
|
49
|
+
<Surface variant="raised" testID={testID ? `${testID}-chrome` : undefined}>
|
|
50
|
+
{content}
|
|
51
|
+
</Surface>
|
|
52
|
+
);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export const ZoraTabBar = withZoraThemeScope(ZoraTabBarInner);
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ZoraNavigationRouteMap } from '../../components/navigation-list';
|
|
2
|
+
import type {
|
|
3
|
+
ZoraNavigationDescriptors,
|
|
4
|
+
ZoraNavigationState,
|
|
5
|
+
ZoraTabBarNavigation,
|
|
6
|
+
} from '../../internal/resolveZoraNavigationItems';
|
|
7
|
+
import type { ZoraBaseProps } from '../../theme/ZoraBaseProps';
|
|
8
|
+
|
|
9
|
+
export interface ZoraTabBarProps extends ZoraBaseProps {
|
|
10
|
+
state: ZoraNavigationState;
|
|
11
|
+
navigation: ZoraTabBarNavigation;
|
|
12
|
+
descriptors?: ZoraNavigationDescriptors | undefined;
|
|
13
|
+
insets?: { top?: number; bottom?: number; left?: number; right?: number } | undefined;
|
|
14
|
+
routeMap?: ZoraNavigationRouteMap | undefined;
|
|
15
|
+
compact?: boolean;
|
|
16
|
+
chrome?: 'none' | 'raised';
|
|
17
|
+
testID?: string;
|
|
18
|
+
}
|
|
@@ -34,10 +34,13 @@ const REQUIRED_SHOWCASE_COVERAGE = {
|
|
|
34
34
|
'Heading',
|
|
35
35
|
'Icon',
|
|
36
36
|
'IconButton',
|
|
37
|
+
'Image',
|
|
37
38
|
'Input',
|
|
38
39
|
'MediaCard',
|
|
39
40
|
'MetricCard',
|
|
40
41
|
'Modal',
|
|
42
|
+
'NavigationItem',
|
|
43
|
+
'NavigationList',
|
|
41
44
|
'Progress',
|
|
42
45
|
'Radio',
|
|
43
46
|
'RadioGroup',
|
|
@@ -86,6 +89,8 @@ const REQUIRED_SHOWCASE_COVERAGE = {
|
|
|
86
89
|
'ListRow',
|
|
87
90
|
'ListSection',
|
|
88
91
|
'InspectorField',
|
|
92
|
+
'ImagePreview',
|
|
93
|
+
'ImageUploadField',
|
|
89
94
|
'Notice',
|
|
90
95
|
'Panel',
|
|
91
96
|
'ResponsivePanel',
|
|
@@ -98,6 +103,8 @@ const REQUIRED_SHOWCASE_COVERAGE = {
|
|
|
98
103
|
'TileGrid',
|
|
99
104
|
'TreeItem',
|
|
100
105
|
'TreeView',
|
|
106
|
+
'ZoraDrawerContent',
|
|
107
|
+
'ZoraTabBar',
|
|
101
108
|
],
|
|
102
109
|
} as const;
|
|
103
110
|
|