@ankhorage/zora 1.4.12 → 1.5.1
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 +14 -0
- package/README.md +7 -8
- package/dist/index.d.ts +4 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -3
- package/dist/index.js.map +1 -1
- package/dist/layout/auth-layout/meta.js +2 -2
- package/dist/layout/auth-layout/meta.js.map +1 -1
- package/dist/layout/screen/Screen.d.ts +4 -0
- package/dist/layout/screen/Screen.d.ts.map +1 -0
- package/dist/layout/screen/Screen.js +23 -0
- package/dist/layout/screen/Screen.js.map +1 -0
- package/dist/layout/screen/index.d.ts +3 -0
- package/dist/layout/screen/index.d.ts.map +1 -0
- package/dist/layout/screen/index.js +2 -0
- package/dist/layout/screen/index.js.map +1 -0
- package/dist/layout/screen/meta.d.ts +25 -0
- package/dist/layout/screen/meta.d.ts.map +1 -0
- package/dist/layout/screen/meta.js +26 -0
- package/dist/layout/screen/meta.js.map +1 -0
- package/dist/layout/{page → screen}/types.d.ts +2 -2
- package/dist/layout/screen/types.d.ts.map +1 -0
- package/dist/layout/screen/types.js.map +1 -0
- package/dist/layout/screen-section/ScreenSection.d.ts +4 -0
- package/dist/layout/screen-section/ScreenSection.d.ts.map +1 -0
- package/dist/layout/{page-section/PageSection.js → screen-section/ScreenSection.js} +3 -3
- package/dist/layout/screen-section/ScreenSection.js.map +1 -0
- package/dist/layout/screen-section/index.d.ts +3 -0
- package/dist/layout/screen-section/index.d.ts.map +1 -0
- package/dist/layout/screen-section/index.js +2 -0
- package/dist/layout/screen-section/index.js.map +1 -0
- package/dist/layout/{page-section → screen-section}/meta.d.ts +3 -3
- package/dist/layout/screen-section/meta.d.ts.map +1 -0
- package/dist/layout/{page-section → screen-section}/meta.js +5 -5
- package/dist/layout/screen-section/meta.js.map +1 -0
- package/dist/layout/{page-section → screen-section}/types.d.ts +1 -1
- package/dist/layout/screen-section/types.d.ts.map +1 -0
- package/dist/layout/screen-section/types.js.map +1 -0
- package/dist/layout/settings-layout/SettingsLayout.d.ts.map +1 -1
- package/dist/layout/settings-layout/SettingsLayout.js +8 -5
- package/dist/layout/settings-layout/SettingsLayout.js.map +1 -1
- package/dist/metadata/allowedChildren.d.ts +2 -2
- package/dist/metadata/allowedChildren.d.ts.map +1 -1
- package/dist/metadata/allowedChildren.js +2 -6
- package/dist/metadata/allowedChildren.js.map +1 -1
- package/dist/metadata/componentMeta.d.ts.map +1 -1
- package/dist/metadata/componentMeta.js +4 -6
- package/dist/metadata/componentMeta.js.map +1 -1
- package/dist/patterns/zora-tab-bar/ZoraTabBar.d.ts.map +1 -1
- package/dist/patterns/zora-tab-bar/ZoraTabBar.js +64 -15
- package/dist/patterns/zora-tab-bar/ZoraTabBar.js.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +4 -6
- package/src/layout/auth-layout/meta.ts +2 -2
- package/src/layout/screen/Screen.tsx +42 -0
- package/src/layout/screen/index.ts +2 -0
- package/src/layout/{page → screen}/meta.ts +11 -5
- package/src/layout/{page → screen}/types.ts +2 -2
- package/src/layout/{page-section/PageSection.tsx → screen-section/ScreenSection.tsx} +4 -4
- package/src/layout/screen-section/index.ts +2 -0
- package/src/layout/{page-section → screen-section}/meta.ts +5 -5
- package/src/layout/{page-section → screen-section}/types.ts +1 -1
- package/src/layout/settings-layout/SettingsLayout.tsx +8 -10
- package/src/metadata/allowedChildren.ts +2 -6
- package/src/metadata/componentMeta.test.ts +2 -3
- package/src/metadata/componentMeta.ts +4 -6
- package/src/patterns/zora-tab-bar/ZoraTabBar.tsx +104 -15
- package/src/showcaseCoverage.test.ts +2 -3
- package/src/theme/themeScopeStructure.test.ts +4 -6
- package/dist/layout/page/Page.d.ts +0 -4
- package/dist/layout/page/Page.d.ts.map +0 -1
- package/dist/layout/page/Page.js +0 -15
- package/dist/layout/page/Page.js.map +0 -1
- package/dist/layout/page/index.d.ts +0 -3
- package/dist/layout/page/index.d.ts.map +0 -1
- package/dist/layout/page/index.js +0 -2
- package/dist/layout/page/index.js.map +0 -1
- package/dist/layout/page/meta.d.ts +0 -19
- package/dist/layout/page/meta.d.ts.map +0 -1
- package/dist/layout/page/meta.js +0 -20
- package/dist/layout/page/meta.js.map +0 -1
- package/dist/layout/page/types.d.ts.map +0 -1
- package/dist/layout/page/types.js +0 -2
- package/dist/layout/page/types.js.map +0 -1
- package/dist/layout/page-header/PageHeader.d.ts +0 -4
- package/dist/layout/page-header/PageHeader.d.ts.map +0 -1
- package/dist/layout/page-header/PageHeader.js +0 -24
- package/dist/layout/page-header/PageHeader.js.map +0 -1
- package/dist/layout/page-header/index.d.ts +0 -3
- package/dist/layout/page-header/index.d.ts.map +0 -1
- package/dist/layout/page-header/index.js +0 -2
- package/dist/layout/page-header/index.js.map +0 -1
- package/dist/layout/page-header/meta.d.ts +0 -38
- package/dist/layout/page-header/meta.d.ts.map +0 -1
- package/dist/layout/page-header/meta.js +0 -38
- package/dist/layout/page-header/meta.js.map +0 -1
- package/dist/layout/page-header/types.d.ts +0 -10
- package/dist/layout/page-header/types.d.ts.map +0 -1
- package/dist/layout/page-header/types.js.map +0 -1
- package/dist/layout/page-section/PageSection.d.ts +0 -4
- package/dist/layout/page-section/PageSection.d.ts.map +0 -1
- package/dist/layout/page-section/PageSection.js.map +0 -1
- package/dist/layout/page-section/index.d.ts +0 -3
- package/dist/layout/page-section/index.d.ts.map +0 -1
- package/dist/layout/page-section/index.js +0 -2
- package/dist/layout/page-section/index.js.map +0 -1
- package/dist/layout/page-section/meta.d.ts.map +0 -1
- package/dist/layout/page-section/meta.js.map +0 -1
- package/dist/layout/page-section/types.d.ts.map +0 -1
- package/dist/layout/page-section/types.js.map +0 -1
- package/src/layout/page/Page.tsx +0 -28
- package/src/layout/page/index.ts +0 -2
- package/src/layout/page-header/PageHeader.tsx +0 -48
- package/src/layout/page-header/index.ts +0 -2
- package/src/layout/page-header/meta.ts +0 -39
- package/src/layout/page-header/types.ts +0 -11
- package/src/layout/page-section/index.ts +0 -2
- /package/dist/layout/{page-section → screen}/types.js +0 -0
- /package/dist/layout/{page-header → screen-section}/types.js +0 -0
|
@@ -31,9 +31,8 @@ import { toolbarActionMeta, toolbarMeta } from '../components/toolbar/meta';
|
|
|
31
31
|
import { foundationMetas } from '../foundation/meta';
|
|
32
32
|
import { appShellMeta } from '../layout/app-shell/meta';
|
|
33
33
|
import { authLayoutMeta } from '../layout/auth-layout/meta';
|
|
34
|
-
import {
|
|
35
|
-
import {
|
|
36
|
-
import { pageSectionMeta } from '../layout/page-section/meta';
|
|
34
|
+
import { screenMeta } from '../layout/screen/meta';
|
|
35
|
+
import { screenSectionMeta } from '../layout/screen-section/meta';
|
|
37
36
|
import { settingsLayoutMeta } from '../layout/settings-layout/meta';
|
|
38
37
|
import { sidebarLayoutMeta } from '../layout/sidebar-layout/meta';
|
|
39
38
|
import { topbarLayoutMeta } from '../layout/topbar-layout/meta';
|
|
@@ -104,9 +103,8 @@ export const ZORA_COMPONENT_META = {
|
|
|
104
103
|
ToolbarAction: toolbarActionMeta,
|
|
105
104
|
AppShell: appShellMeta,
|
|
106
105
|
AuthLayout: authLayoutMeta,
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
PageSection: pageSectionMeta,
|
|
106
|
+
Screen: screenMeta,
|
|
107
|
+
ScreenSection: screenSectionMeta,
|
|
110
108
|
SettingsLayout: settingsLayoutMeta,
|
|
111
109
|
SidebarLayout: sidebarLayoutMeta,
|
|
112
110
|
TopbarLayout: topbarLayoutMeta,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"componentMeta.js","sourceRoot":"","sources":["../../src/metadata/componentMeta.ts"],"names":[],"mappings":"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","sourcesContent":["import { appBarMeta } from '../components/app-bar/meta';\nimport { avatarMeta } from '../components/avatar/meta';\nimport { avatarGroupMeta } from '../components/avatar-group/meta';\nimport { badgeMeta } from '../components/badge/meta';\nimport { buttonMeta } from '../components/button/meta';\nimport { cardMeta } from '../components/card/meta';\nimport { checkboxGroupMeta, checkboxMeta } from '../components/checkbox/meta';\nimport { chipMeta } from '../components/chip/meta';\nimport { chipGroupMeta } from '../components/chip-group/meta';\nimport { drawerMeta } from '../components/drawer/meta';\nimport { formActionsMeta, formErrorMeta, formFieldMeta, formMeta } from '../components/form/meta';\nimport { headingMeta } from '../components/heading/meta';\nimport { iconMeta } from '../components/icon/meta';\nimport { iconButtonMeta } from '../components/icon-button/meta';\nimport { imageMeta } from '../components/image/meta';\nimport { inputMeta } from '../components/input/meta';\nimport { mediaCardMeta } from '../components/media-card/meta';\nimport { metricCardMeta } from '../components/metric-card/meta';\nimport { modalMeta } from '../components/modal/meta';\nimport { navigationItemMeta } from '../components/navigation-item/meta';\nimport { navigationListMeta } from '../components/navigation-list/meta';\nimport { progressMeta } from '../components/progress/meta';\nimport { radioGroupMeta, radioMeta } from '../components/radio/meta';\nimport { ratingMeta } from '../components/rating/meta';\nimport { searchBarMeta } from '../components/search-bar/meta';\nimport { selectMeta } from '../components/select/meta';\nimport { tabsMeta } from '../components/tabs/meta';\nimport { textMeta } from '../components/text/meta';\nimport { textareaMeta } from '../components/textarea/meta';\nimport { toolbarActionMeta, toolbarMeta } from '../components/toolbar/meta';\nimport { foundationMetas } from '../foundation/meta';\nimport { appShellMeta } from '../layout/app-shell/meta';\nimport { authLayoutMeta } from '../layout/auth-layout/meta';\nimport { pageMeta } from '../layout/page/meta';\nimport { pageHeaderMeta } from '../layout/page-header/meta';\nimport { pageSectionMeta } from '../layout/page-section/meta';\nimport { settingsLayoutMeta } from '../layout/settings-layout/meta';\nimport { sidebarLayoutMeta } from '../layout/sidebar-layout/meta';\nimport { topbarLayoutMeta } from '../layout/topbar-layout/meta';\nimport {\n forgotPasswordFormMeta,\n otpFormMeta,\n signInFormMeta,\n signUpFormMeta,\n} from '../patterns/auth/meta';\nimport { chatListItemMeta } from '../patterns/chat-list-item/meta';\nimport { collectionEditorMeta } from '../patterns/collection-editor/meta';\nimport { confirmDialogMeta } from '../patterns/confirm-dialog/meta';\nimport { disclosureSectionMeta } from '../patterns/disclosure-section/meta';\nimport { emptyStateMeta } from '../patterns/empty-state/meta';\nimport { filterBarMeta } from '../patterns/filter-bar/meta';\nimport { heroMeta } from '../patterns/hero/meta';\nimport { imagePreviewMeta } from '../patterns/image-preview/meta';\nimport { imageUploadFieldMeta } from '../patterns/image-upload-field/meta';\nimport { inspectorFieldMeta } from '../patterns/inspector-field/meta';\nimport { listMeta, listRowMeta, listSectionMeta } from '../patterns/list/meta';\nimport { messageBubbleMeta } from '../patterns/message-bubble/meta';\nimport { noticeMeta } from '../patterns/notice/meta';\nimport { panelMeta } from '../patterns/panel/meta';\nimport { postCardMeta } from '../patterns/post-card/meta';\nimport { responsivePanelMeta } from '../patterns/responsive-panel/meta';\nimport { sectionHeaderMeta } from '../patterns/section-header/meta';\nimport { selectableItemMeta, selectionProviderMeta } from '../patterns/selection/meta';\nimport { settingsRowMeta } from '../patterns/settings-row/meta';\nimport { switchFieldMeta } from '../patterns/switch-field/meta';\nimport { themeComposerMeta } from '../patterns/theme-composer/meta';\nimport { paletteItemMeta, tileGridMeta } from '../patterns/tile-grid/meta';\nimport { timelineMeta } from '../patterns/timeline/meta';\nimport { treeItemMeta, treeViewMeta } from '../patterns/tree-view/meta';\nimport { zoraDrawerContentMeta } from '../patterns/zora-drawer-content/meta';\nimport { zoraTabBarMeta } from '../patterns/zora-tab-bar/meta';\nimport type { ZoraComponentMetaRegistry } from './types';\n\nexport const ZORA_COMPONENT_META: ZoraComponentMetaRegistry = {\n ...foundationMetas,\n AppBar: appBarMeta,\n Avatar: avatarMeta,\n AvatarGroup: avatarGroupMeta,\n Badge: badgeMeta,\n Button: buttonMeta,\n Card: cardMeta,\n Checkbox: checkboxMeta,\n CheckboxGroup: checkboxGroupMeta,\n Chip: chipMeta,\n ChipGroup: chipGroupMeta,\n Drawer: drawerMeta,\n Form: formMeta,\n FormActions: formActionsMeta,\n FormError: formErrorMeta,\n FormField: formFieldMeta,\n Heading: headingMeta,\n Icon: iconMeta,\n IconButton: iconButtonMeta,\n Image: imageMeta,\n Input: inputMeta,\n MediaCard: mediaCardMeta,\n MetricCard: metricCardMeta,\n Modal: modalMeta,\n NavigationItem: navigationItemMeta,\n NavigationList: navigationListMeta,\n Progress: progressMeta,\n Radio: radioMeta,\n RadioGroup: radioGroupMeta,\n Rating: ratingMeta,\n SearchBar: searchBarMeta,\n Select: selectMeta,\n Tabs: tabsMeta,\n Text: textMeta,\n Textarea: textareaMeta,\n Toolbar: toolbarMeta,\n ToolbarAction: toolbarActionMeta,\n AppShell: appShellMeta,\n AuthLayout: authLayoutMeta,\n Page: pageMeta,\n PageHeader: pageHeaderMeta,\n PageSection: pageSectionMeta,\n SettingsLayout: settingsLayoutMeta,\n SidebarLayout: sidebarLayoutMeta,\n TopbarLayout: topbarLayoutMeta,\n ForgotPasswordForm: forgotPasswordFormMeta,\n OtpForm: otpFormMeta,\n SignInForm: signInFormMeta,\n SignUpForm: signUpFormMeta,\n ChatListItem: chatListItemMeta,\n CollectionEditor: collectionEditorMeta,\n ConfirmDialog: confirmDialogMeta,\n DisclosureSection: disclosureSectionMeta,\n EmptyState: emptyStateMeta,\n FilterBar: filterBarMeta,\n Hero: heroMeta,\n ImagePreview: imagePreviewMeta,\n ImageUploadField: imageUploadFieldMeta,\n InspectorField: inspectorFieldMeta,\n List: listMeta,\n ListRow: listRowMeta,\n ListSection: listSectionMeta,\n MessageBubble: messageBubbleMeta,\n Notice: noticeMeta,\n Panel: panelMeta,\n PostCard: postCardMeta,\n ResponsivePanel: responsivePanelMeta,\n SectionHeader: sectionHeaderMeta,\n SelectableItem: selectableItemMeta,\n SelectionProvider: selectionProviderMeta,\n SettingsRow: settingsRowMeta,\n SwitchField: switchFieldMeta,\n ThemeComposer: themeComposerMeta,\n PaletteItem: paletteItemMeta,\n TileGrid: tileGridMeta,\n Timeline: timelineMeta,\n TreeItem: treeItemMeta,\n TreeView: treeViewMeta,\n ZoraDrawerContent: zoraDrawerContentMeta,\n ZoraTabBar: zoraTabBarMeta,\n};\n"]}
|
|
1
|
+
{"version":3,"file":"componentMeta.js","sourceRoot":"","sources":["../../src/metadata/componentMeta.ts"],"names":[],"mappings":"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","sourcesContent":["import { appBarMeta } from '../components/app-bar/meta';\nimport { avatarMeta } from '../components/avatar/meta';\nimport { avatarGroupMeta } from '../components/avatar-group/meta';\nimport { badgeMeta } from '../components/badge/meta';\nimport { buttonMeta } from '../components/button/meta';\nimport { cardMeta } from '../components/card/meta';\nimport { checkboxGroupMeta, checkboxMeta } from '../components/checkbox/meta';\nimport { chipMeta } from '../components/chip/meta';\nimport { chipGroupMeta } from '../components/chip-group/meta';\nimport { drawerMeta } from '../components/drawer/meta';\nimport { formActionsMeta, formErrorMeta, formFieldMeta, formMeta } from '../components/form/meta';\nimport { headingMeta } from '../components/heading/meta';\nimport { iconMeta } from '../components/icon/meta';\nimport { iconButtonMeta } from '../components/icon-button/meta';\nimport { imageMeta } from '../components/image/meta';\nimport { inputMeta } from '../components/input/meta';\nimport { mediaCardMeta } from '../components/media-card/meta';\nimport { metricCardMeta } from '../components/metric-card/meta';\nimport { modalMeta } from '../components/modal/meta';\nimport { navigationItemMeta } from '../components/navigation-item/meta';\nimport { navigationListMeta } from '../components/navigation-list/meta';\nimport { progressMeta } from '../components/progress/meta';\nimport { radioGroupMeta, radioMeta } from '../components/radio/meta';\nimport { ratingMeta } from '../components/rating/meta';\nimport { searchBarMeta } from '../components/search-bar/meta';\nimport { selectMeta } from '../components/select/meta';\nimport { tabsMeta } from '../components/tabs/meta';\nimport { textMeta } from '../components/text/meta';\nimport { textareaMeta } from '../components/textarea/meta';\nimport { toolbarActionMeta, toolbarMeta } from '../components/toolbar/meta';\nimport { foundationMetas } from '../foundation/meta';\nimport { appShellMeta } from '../layout/app-shell/meta';\nimport { authLayoutMeta } from '../layout/auth-layout/meta';\nimport { screenMeta } from '../layout/screen/meta';\nimport { screenSectionMeta } from '../layout/screen-section/meta';\nimport { settingsLayoutMeta } from '../layout/settings-layout/meta';\nimport { sidebarLayoutMeta } from '../layout/sidebar-layout/meta';\nimport { topbarLayoutMeta } from '../layout/topbar-layout/meta';\nimport {\n forgotPasswordFormMeta,\n otpFormMeta,\n signInFormMeta,\n signUpFormMeta,\n} from '../patterns/auth/meta';\nimport { chatListItemMeta } from '../patterns/chat-list-item/meta';\nimport { collectionEditorMeta } from '../patterns/collection-editor/meta';\nimport { confirmDialogMeta } from '../patterns/confirm-dialog/meta';\nimport { disclosureSectionMeta } from '../patterns/disclosure-section/meta';\nimport { emptyStateMeta } from '../patterns/empty-state/meta';\nimport { filterBarMeta } from '../patterns/filter-bar/meta';\nimport { heroMeta } from '../patterns/hero/meta';\nimport { imagePreviewMeta } from '../patterns/image-preview/meta';\nimport { imageUploadFieldMeta } from '../patterns/image-upload-field/meta';\nimport { inspectorFieldMeta } from '../patterns/inspector-field/meta';\nimport { listMeta, listRowMeta, listSectionMeta } from '../patterns/list/meta';\nimport { messageBubbleMeta } from '../patterns/message-bubble/meta';\nimport { noticeMeta } from '../patterns/notice/meta';\nimport { panelMeta } from '../patterns/panel/meta';\nimport { postCardMeta } from '../patterns/post-card/meta';\nimport { responsivePanelMeta } from '../patterns/responsive-panel/meta';\nimport { sectionHeaderMeta } from '../patterns/section-header/meta';\nimport { selectableItemMeta, selectionProviderMeta } from '../patterns/selection/meta';\nimport { settingsRowMeta } from '../patterns/settings-row/meta';\nimport { switchFieldMeta } from '../patterns/switch-field/meta';\nimport { themeComposerMeta } from '../patterns/theme-composer/meta';\nimport { paletteItemMeta, tileGridMeta } from '../patterns/tile-grid/meta';\nimport { timelineMeta } from '../patterns/timeline/meta';\nimport { treeItemMeta, treeViewMeta } from '../patterns/tree-view/meta';\nimport { zoraDrawerContentMeta } from '../patterns/zora-drawer-content/meta';\nimport { zoraTabBarMeta } from '../patterns/zora-tab-bar/meta';\nimport type { ZoraComponentMetaRegistry } from './types';\n\nexport const ZORA_COMPONENT_META: ZoraComponentMetaRegistry = {\n ...foundationMetas,\n AppBar: appBarMeta,\n Avatar: avatarMeta,\n AvatarGroup: avatarGroupMeta,\n Badge: badgeMeta,\n Button: buttonMeta,\n Card: cardMeta,\n Checkbox: checkboxMeta,\n CheckboxGroup: checkboxGroupMeta,\n Chip: chipMeta,\n ChipGroup: chipGroupMeta,\n Drawer: drawerMeta,\n Form: formMeta,\n FormActions: formActionsMeta,\n FormError: formErrorMeta,\n FormField: formFieldMeta,\n Heading: headingMeta,\n Icon: iconMeta,\n IconButton: iconButtonMeta,\n Image: imageMeta,\n Input: inputMeta,\n MediaCard: mediaCardMeta,\n MetricCard: metricCardMeta,\n Modal: modalMeta,\n NavigationItem: navigationItemMeta,\n NavigationList: navigationListMeta,\n Progress: progressMeta,\n Radio: radioMeta,\n RadioGroup: radioGroupMeta,\n Rating: ratingMeta,\n SearchBar: searchBarMeta,\n Select: selectMeta,\n Tabs: tabsMeta,\n Text: textMeta,\n Textarea: textareaMeta,\n Toolbar: toolbarMeta,\n ToolbarAction: toolbarActionMeta,\n AppShell: appShellMeta,\n AuthLayout: authLayoutMeta,\n Screen: screenMeta,\n ScreenSection: screenSectionMeta,\n SettingsLayout: settingsLayoutMeta,\n SidebarLayout: sidebarLayoutMeta,\n TopbarLayout: topbarLayoutMeta,\n ForgotPasswordForm: forgotPasswordFormMeta,\n OtpForm: otpFormMeta,\n SignInForm: signInFormMeta,\n SignUpForm: signUpFormMeta,\n ChatListItem: chatListItemMeta,\n CollectionEditor: collectionEditorMeta,\n ConfirmDialog: confirmDialogMeta,\n DisclosureSection: disclosureSectionMeta,\n EmptyState: emptyStateMeta,\n FilterBar: filterBarMeta,\n Hero: heroMeta,\n ImagePreview: imagePreviewMeta,\n ImageUploadField: imageUploadFieldMeta,\n InspectorField: inspectorFieldMeta,\n List: listMeta,\n ListRow: listRowMeta,\n ListSection: listSectionMeta,\n MessageBubble: messageBubbleMeta,\n Notice: noticeMeta,\n Panel: panelMeta,\n PostCard: postCardMeta,\n ResponsivePanel: responsivePanelMeta,\n SectionHeader: sectionHeaderMeta,\n SelectableItem: selectableItemMeta,\n SelectionProvider: selectionProviderMeta,\n SettingsRow: settingsRowMeta,\n SwitchField: switchFieldMeta,\n ThemeComposer: themeComposerMeta,\n PaletteItem: paletteItemMeta,\n TileGrid: tileGridMeta,\n Timeline: timelineMeta,\n TreeItem: treeItemMeta,\n TreeView: treeViewMeta,\n ZoraDrawerContent: zoraDrawerContentMeta,\n ZoraTabBar: zoraTabBarMeta,\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ZoraTabBar.d.ts","sourceRoot":"","sources":["../../../src/patterns/zora-tab-bar/ZoraTabBar.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ZoraTabBar.d.ts","sourceRoot":"","sources":["../../../src/patterns/zora-tab-bar/ZoraTabBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAW1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAoI/C,eAAO,MAAM,UAAU,uDAAsC,CAAC"}
|
|
@@ -1,27 +1,76 @@
|
|
|
1
|
-
import { TabBar as SurfaceTabBar } from '@ankhorage/surface';
|
|
2
1
|
import React from 'react';
|
|
3
|
-
import {
|
|
2
|
+
import { Pressable, Text as ReactNativeText } from 'react-native';
|
|
3
|
+
import { Icon } from '../../components/icon';
|
|
4
|
+
import { Box, Surface } from '../../foundation';
|
|
4
5
|
import { createTabBarItemPressHandler, resolveNavigationItems, } from '../../internal/resolveZoraNavigationItems';
|
|
6
|
+
import { useZoraTheme } from '../../theme/useZoraTheme';
|
|
5
7
|
import { withZoraThemeScope } from '../../theme/withZoraThemeScope';
|
|
6
|
-
function
|
|
8
|
+
function resolveAccessibilityLabel(label, explicitLabel) {
|
|
9
|
+
if (explicitLabel !== undefined) {
|
|
10
|
+
return explicitLabel;
|
|
11
|
+
}
|
|
12
|
+
if (typeof label === 'string') {
|
|
13
|
+
return label;
|
|
14
|
+
}
|
|
15
|
+
if (typeof label === 'number') {
|
|
16
|
+
return String(label);
|
|
17
|
+
}
|
|
18
|
+
return undefined;
|
|
19
|
+
}
|
|
20
|
+
function ZoraTabBarInner({ themeId: _themeId, mode: _mode, state, navigation, descriptors, insets, routeMap, compact = false, chrome = 'raised', testID, }) {
|
|
21
|
+
const { theme } = useZoraTheme();
|
|
7
22
|
const resolved = resolveNavigationItems({
|
|
8
23
|
state,
|
|
9
24
|
descriptors,
|
|
10
25
|
routeMap,
|
|
11
26
|
kind: 'tab',
|
|
12
27
|
});
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
28
|
+
const bottomInset = insets?.bottom ?? 0;
|
|
29
|
+
const minHeight = compact ? 56 : 64;
|
|
30
|
+
const labelSize = compact ? theme.typography.sizes.xs : theme.typography.sizes.s;
|
|
31
|
+
const labelWeight = theme.typography.weights.medium;
|
|
32
|
+
const content = (<Box bg="surface" style={{
|
|
33
|
+
borderTopColor: theme.semantics.border.default,
|
|
34
|
+
borderTopWidth: 1,
|
|
35
|
+
flexDirection: 'row',
|
|
36
|
+
minHeight: minHeight + bottomInset,
|
|
37
|
+
paddingBottom: bottomInset,
|
|
38
|
+
}} testID={testID}>
|
|
39
|
+
{resolved.map((item) => {
|
|
40
|
+
const { active } = item;
|
|
41
|
+
const { disabled } = item;
|
|
42
|
+
const contentColor = disabled
|
|
43
|
+
? theme.semantics.content.subtle
|
|
44
|
+
: active
|
|
45
|
+
? theme.semantics.action.primary.base
|
|
46
|
+
: theme.semantics.content.muted;
|
|
47
|
+
const backgroundColor = active
|
|
48
|
+
? theme.semantics.action.primary.softBg
|
|
49
|
+
: theme.semantics.surface.default;
|
|
50
|
+
return (<Pressable accessibilityLabel={resolveAccessibilityLabel(item.label, item.metadata?.accessibilityLabel)} accessibilityRole="tab" accessibilityState={{ selected: active, disabled }} disabled={disabled} key={item.route.key} onPress={createTabBarItemPressHandler({ item, navigation })} style={{
|
|
51
|
+
alignItems: 'center',
|
|
52
|
+
backgroundColor,
|
|
53
|
+
flex: 1,
|
|
54
|
+
justifyContent: 'center',
|
|
55
|
+
minHeight,
|
|
56
|
+
opacity: disabled ? 0.48 : 1,
|
|
57
|
+
paddingHorizontal: theme.spacing.s,
|
|
58
|
+
paddingVertical: compact ? theme.spacing.xs : theme.spacing.s,
|
|
59
|
+
}} testID={item.metadata?.testID ?? (testID ? `${testID}-item-${item.route.key}` : undefined)}>
|
|
60
|
+
{item.metadata?.icon ? (<Icon color={contentColor} name={item.metadata.icon.name} provider={item.metadata.icon.provider} size={compact ? theme.spacing.m : theme.spacing.l}/>) : null}
|
|
61
|
+
<ReactNativeText numberOfLines={1} style={{
|
|
62
|
+
color: contentColor,
|
|
63
|
+
fontSize: labelSize,
|
|
64
|
+
fontWeight: labelWeight,
|
|
65
|
+
lineHeight: compact ? 16 : 20,
|
|
66
|
+
marginTop: item.metadata?.icon ? theme.spacing.xs : 0,
|
|
67
|
+
textAlign: 'center',
|
|
68
|
+
}}>
|
|
69
|
+
{item.label}
|
|
70
|
+
</ReactNativeText>
|
|
71
|
+
</Pressable>);
|
|
72
|
+
})}
|
|
73
|
+
</Box>);
|
|
25
74
|
if (chrome === 'none') {
|
|
26
75
|
return content;
|
|
27
76
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ZoraTabBar.js","sourceRoot":"","sources":["../../../src/patterns/zora-tab-bar/ZoraTabBar.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"ZoraTabBar.js","sourceRoot":"","sources":["../../../src/patterns/zora-tab-bar/ZoraTabBar.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Pressable, Text as ReactNativeText } from 'react-native';\n\nimport { Icon } from '../../components/icon';\nimport { Box, Surface } from '../../foundation';\nimport {\n createTabBarItemPressHandler,\n resolveNavigationItems,\n} from '../../internal/resolveZoraNavigationItems';\nimport { useZoraTheme } from '../../theme/useZoraTheme';\nimport { withZoraThemeScope } from '../../theme/withZoraThemeScope';\nimport type { ZoraTabBarProps } from './types';\n\nfunction resolveAccessibilityLabel(\n label: React.ReactNode,\n explicitLabel?: string,\n): string | undefined {\n if (explicitLabel !== undefined) {\n return explicitLabel;\n }\n\n if (typeof label === 'string') {\n return label;\n }\n\n if (typeof label === 'number') {\n return String(label);\n }\n\n return undefined;\n}\n\nfunction ZoraTabBarInner({\n themeId: _themeId,\n mode: _mode,\n state,\n navigation,\n descriptors,\n insets,\n routeMap,\n compact = false,\n chrome = 'raised',\n testID,\n}: ZoraTabBarProps) {\n const { theme } = useZoraTheme();\n const resolved = resolveNavigationItems({\n state,\n descriptors,\n routeMap,\n kind: 'tab',\n });\n\n const bottomInset = insets?.bottom ?? 0;\n const minHeight = compact ? 56 : 64;\n const labelSize = compact ? theme.typography.sizes.xs : theme.typography.sizes.s;\n const labelWeight = theme.typography.weights.medium;\n const content = (\n <Box\n bg=\"surface\"\n style={{\n borderTopColor: theme.semantics.border.default,\n borderTopWidth: 1,\n flexDirection: 'row',\n minHeight: minHeight + bottomInset,\n paddingBottom: bottomInset,\n }}\n testID={testID}\n >\n {resolved.map((item) => {\n const { active } = item;\n const { disabled } = item;\n const contentColor = disabled\n ? theme.semantics.content.subtle\n : active\n ? theme.semantics.action.primary.base\n : theme.semantics.content.muted;\n const backgroundColor = active\n ? theme.semantics.action.primary.softBg\n : theme.semantics.surface.default;\n\n return (\n <Pressable\n accessibilityLabel={resolveAccessibilityLabel(\n item.label,\n item.metadata?.accessibilityLabel,\n )}\n accessibilityRole=\"tab\"\n accessibilityState={{ selected: active, disabled }}\n disabled={disabled}\n key={item.route.key}\n onPress={createTabBarItemPressHandler({ item, navigation })}\n style={{\n alignItems: 'center',\n backgroundColor,\n flex: 1,\n justifyContent: 'center',\n minHeight,\n opacity: disabled ? 0.48 : 1,\n paddingHorizontal: theme.spacing.s,\n paddingVertical: compact ? theme.spacing.xs : theme.spacing.s,\n }}\n testID={\n item.metadata?.testID ?? (testID ? `${testID}-item-${item.route.key}` : undefined)\n }\n >\n {item.metadata?.icon ? (\n <Icon\n color={contentColor}\n name={item.metadata.icon.name}\n provider={item.metadata.icon.provider}\n size={compact ? theme.spacing.m : theme.spacing.l}\n />\n ) : null}\n <ReactNativeText\n numberOfLines={1}\n style={{\n color: contentColor,\n fontSize: labelSize,\n fontWeight: labelWeight,\n lineHeight: compact ? 16 : 20,\n marginTop: item.metadata?.icon ? theme.spacing.xs : 0,\n textAlign: 'center',\n }}\n >\n {item.label}\n </ReactNativeText>\n </Pressable>\n );\n })}\n </Box>\n );\n\n if (chrome === 'none') {\n return content;\n }\n\n return (\n <Surface variant=\"raised\" testID={testID ? `${testID}-chrome` : undefined}>\n {content}\n </Surface>\n );\n}\n\nexport const ZoraTabBar = withZoraThemeScope(ZoraTabBarInner);\n"]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ankhorage/zora",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.5.1",
|
|
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": {
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"dependencies": {
|
|
46
46
|
"@ankhorage/color-theory": "^0.0.7",
|
|
47
47
|
"@ankhorage/contracts": "^1.3.1",
|
|
48
|
-
"@ankhorage/surface": "^1.
|
|
48
|
+
"@ankhorage/surface": "^1.4.0"
|
|
49
49
|
},
|
|
50
50
|
"files": [
|
|
51
51
|
"dist",
|
package/src/index.ts
CHANGED
|
@@ -124,12 +124,10 @@ export type { AppShellProps } from './layout/app-shell';
|
|
|
124
124
|
export { AppShell } from './layout/app-shell';
|
|
125
125
|
export type { AuthLayoutProps } from './layout/auth-layout';
|
|
126
126
|
export { AuthLayout } from './layout/auth-layout';
|
|
127
|
-
export type {
|
|
128
|
-
export {
|
|
129
|
-
export type {
|
|
130
|
-
export {
|
|
131
|
-
export type { PageSectionProps } from './layout/page-section';
|
|
132
|
-
export { PageSection } from './layout/page-section';
|
|
127
|
+
export type { ScreenProps } from './layout/screen';
|
|
128
|
+
export { Screen } from './layout/screen';
|
|
129
|
+
export type { ScreenSectionProps } from './layout/screen-section';
|
|
130
|
+
export { ScreenSection } from './layout/screen-section';
|
|
133
131
|
export type { SettingsLayoutProps } from './layout/settings-layout';
|
|
134
132
|
export { SettingsLayout } from './layout/settings-layout';
|
|
135
133
|
export type { SidebarLayoutProps } from './layout/sidebar-layout';
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { ZoraComponentMeta } from '../../metadata';
|
|
2
|
-
import {
|
|
2
|
+
import { SCREEN_SECTION_ALLOWED_CHILDREN } from '../../metadata/allowedChildren';
|
|
3
3
|
|
|
4
4
|
export const authLayoutMeta = {
|
|
5
5
|
name: 'AuthLayout',
|
|
6
6
|
category: 'layout',
|
|
7
7
|
directManifestNode: true,
|
|
8
|
-
allowedChildren: [...
|
|
8
|
+
allowedChildren: [...SCREEN_SECTION_ALLOWED_CHILDREN],
|
|
9
9
|
blueprint: {
|
|
10
10
|
label: 'Auth layout',
|
|
11
11
|
defaultProps: {
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { ScrollArea } from '@ankhorage/surface';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
|
|
4
|
+
import { Box, Container, Stack } from '../../foundation';
|
|
5
|
+
import { resolvePageMaxWidth } from '../../internal/recipes';
|
|
6
|
+
import { withZoraThemeScope } from '../../theme/withZoraThemeScope';
|
|
7
|
+
import type { ScreenProps } from './types';
|
|
8
|
+
|
|
9
|
+
function ScreenInner({
|
|
10
|
+
themeId: _themeId,
|
|
11
|
+
mode: _mode,
|
|
12
|
+
children,
|
|
13
|
+
footer,
|
|
14
|
+
scroll = true,
|
|
15
|
+
width = 'default',
|
|
16
|
+
testID,
|
|
17
|
+
}: ScreenProps) {
|
|
18
|
+
const content = (
|
|
19
|
+
<Container maxWidth={resolvePageMaxWidth(width)} py="xl" testID={testID}>
|
|
20
|
+
<Stack gap="l">
|
|
21
|
+
{children}
|
|
22
|
+
{footer}
|
|
23
|
+
</Stack>
|
|
24
|
+
</Container>
|
|
25
|
+
);
|
|
26
|
+
|
|
27
|
+
if (!scroll) {
|
|
28
|
+
return (
|
|
29
|
+
<Box bg="background" flex={1}>
|
|
30
|
+
{content}
|
|
31
|
+
</Box>
|
|
32
|
+
);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return (
|
|
36
|
+
<ScrollArea bg="background" style={{ flex: 1 }}>
|
|
37
|
+
{content}
|
|
38
|
+
</ScrollArea>
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export const Screen = withZoraThemeScope(ScreenInner);
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import type { ZoraComponentMeta } from '../../metadata';
|
|
2
|
-
import {
|
|
2
|
+
import { SCREEN_ALLOWED_CHILDREN } from '../../metadata/allowedChildren';
|
|
3
3
|
|
|
4
|
-
export const
|
|
5
|
-
name: '
|
|
4
|
+
export const screenMeta = {
|
|
5
|
+
name: 'Screen',
|
|
6
6
|
category: 'layout',
|
|
7
7
|
directManifestNode: true,
|
|
8
|
-
allowedChildren: [...
|
|
8
|
+
allowedChildren: [...SCREEN_ALLOWED_CHILDREN],
|
|
9
9
|
blueprint: {
|
|
10
|
-
label: '
|
|
10
|
+
label: 'Screen',
|
|
11
11
|
},
|
|
12
12
|
props: {
|
|
13
13
|
width: {
|
|
@@ -17,5 +17,11 @@ export const pageMeta = {
|
|
|
17
17
|
enum: ['narrow', 'default', 'wide'],
|
|
18
18
|
default: 'default',
|
|
19
19
|
},
|
|
20
|
+
scroll: {
|
|
21
|
+
type: 'boolean',
|
|
22
|
+
category: 'Layout',
|
|
23
|
+
label: 'Scroll',
|
|
24
|
+
default: true,
|
|
25
|
+
},
|
|
20
26
|
},
|
|
21
27
|
} as const satisfies ZoraComponentMeta;
|
|
@@ -3,9 +3,9 @@ import type React from 'react';
|
|
|
3
3
|
import type { ZoraContentWidth } from '../../internal/recipes';
|
|
4
4
|
import type { ZoraBaseProps } from '../../theme/ZoraBaseProps';
|
|
5
5
|
|
|
6
|
-
export interface
|
|
6
|
+
export interface ScreenProps extends ZoraBaseProps {
|
|
7
7
|
children?: React.ReactNode;
|
|
8
|
-
header?: React.ReactNode;
|
|
9
8
|
footer?: React.ReactNode;
|
|
9
|
+
scroll?: boolean;
|
|
10
10
|
width?: ZoraContentWidth;
|
|
11
11
|
}
|
|
@@ -3,9 +3,9 @@ import React from 'react';
|
|
|
3
3
|
import { Stack } from '../../foundation';
|
|
4
4
|
import { SectionHeader } from '../../patterns/section-header';
|
|
5
5
|
import { withZoraThemeScope } from '../../theme/withZoraThemeScope';
|
|
6
|
-
import type {
|
|
6
|
+
import type { ScreenSectionProps } from './types';
|
|
7
7
|
|
|
8
|
-
function
|
|
8
|
+
function ScreenSectionInner({
|
|
9
9
|
themeId: _themeId,
|
|
10
10
|
mode: _mode,
|
|
11
11
|
title,
|
|
@@ -13,7 +13,7 @@ function PageSectionInner({
|
|
|
13
13
|
actions,
|
|
14
14
|
children,
|
|
15
15
|
testID,
|
|
16
|
-
}:
|
|
16
|
+
}: ScreenSectionProps) {
|
|
17
17
|
return (
|
|
18
18
|
<Stack gap="m" testID={testID}>
|
|
19
19
|
{title ? <SectionHeader actions={actions} description={description} title={title} /> : null}
|
|
@@ -22,4 +22,4 @@ function PageSectionInner({
|
|
|
22
22
|
);
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
export const
|
|
25
|
+
export const ScreenSection = withZoraThemeScope(ScreenSectionInner);
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import type { ZoraComponentMeta } from '../../metadata';
|
|
2
|
-
import {
|
|
2
|
+
import { SCREEN_SECTION_ALLOWED_CHILDREN } from '../../metadata/allowedChildren';
|
|
3
3
|
|
|
4
|
-
export const
|
|
5
|
-
name: '
|
|
4
|
+
export const screenSectionMeta = {
|
|
5
|
+
name: 'ScreenSection',
|
|
6
6
|
category: 'layout',
|
|
7
7
|
directManifestNode: true,
|
|
8
|
-
allowedChildren: [...
|
|
8
|
+
allowedChildren: [...SCREEN_SECTION_ALLOWED_CHILDREN],
|
|
9
9
|
blueprint: {
|
|
10
|
-
label: '
|
|
10
|
+
label: 'Screen section',
|
|
11
11
|
defaultProps: {
|
|
12
12
|
title: 'Section',
|
|
13
13
|
description: 'Section description.',
|
|
@@ -2,7 +2,7 @@ import type React from 'react';
|
|
|
2
2
|
|
|
3
3
|
import type { ZoraBaseProps } from '../../theme/ZoraBaseProps';
|
|
4
4
|
|
|
5
|
-
export interface
|
|
5
|
+
export interface ScreenSectionProps extends ZoraBaseProps {
|
|
6
6
|
title?: React.ReactNode;
|
|
7
7
|
description?: React.ReactNode;
|
|
8
8
|
actions?: React.ReactNode;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
|
|
3
|
+
import { AppBar } from '../../components/app-bar';
|
|
3
4
|
import { withZoraThemeScope } from '../../theme/withZoraThemeScope';
|
|
4
|
-
import {
|
|
5
|
-
import { PageHeader } from '../page-header';
|
|
5
|
+
import { Screen } from '../screen';
|
|
6
6
|
import { SidebarLayout } from '../sidebar-layout';
|
|
7
7
|
import type { SettingsLayoutProps } from './types';
|
|
8
8
|
|
|
@@ -17,14 +17,12 @@ function SettingsLayoutInner({
|
|
|
17
17
|
testID,
|
|
18
18
|
}: SettingsLayoutProps) {
|
|
19
19
|
return (
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
<SidebarLayout sidebar={sidebar}>{children}</SidebarLayout>
|
|
27
|
-
</Page>
|
|
20
|
+
<>
|
|
21
|
+
{title ? <AppBar actions={actions} subtitle={description} title={title} /> : null}
|
|
22
|
+
<Screen testID={testID}>
|
|
23
|
+
<SidebarLayout sidebar={sidebar}>{children}</SidebarLayout>
|
|
24
|
+
</Screen>
|
|
25
|
+
</>
|
|
28
26
|
);
|
|
29
27
|
}
|
|
30
28
|
|
|
@@ -21,10 +21,6 @@ export const CONTAINER_ALLOWED_CHILDREN = [
|
|
|
21
21
|
'MessageBubble',
|
|
22
22
|
] as const;
|
|
23
23
|
|
|
24
|
-
export const
|
|
24
|
+
export const SCREEN_SECTION_ALLOWED_CHILDREN = [...CONTAINER_ALLOWED_CHILDREN] as const;
|
|
25
25
|
|
|
26
|
-
export const
|
|
27
|
-
'PageHeader',
|
|
28
|
-
'PageSection',
|
|
29
|
-
...CONTAINER_ALLOWED_CHILDREN,
|
|
30
|
-
] as const;
|
|
26
|
+
export const SCREEN_ALLOWED_CHILDREN = ['ScreenSection', ...CONTAINER_ALLOWED_CHILDREN] as const;
|
|
@@ -130,7 +130,6 @@ describe('ZORA_COMPONENT_META invariants', () => {
|
|
|
130
130
|
|
|
131
131
|
test('direct manifest node leaf/container rules', () => {
|
|
132
132
|
const expectedLeafNodes = new Set([
|
|
133
|
-
'PageHeader',
|
|
134
133
|
'SectionHeader',
|
|
135
134
|
'SettingsRow',
|
|
136
135
|
'EmptyState',
|
|
@@ -146,8 +145,8 @@ describe('ZORA_COMPONENT_META invariants', () => {
|
|
|
146
145
|
|
|
147
146
|
const expectedContainerNodes = new Set([
|
|
148
147
|
'FormField',
|
|
149
|
-
'
|
|
150
|
-
'
|
|
148
|
+
'Screen',
|
|
149
|
+
'ScreenSection',
|
|
151
150
|
'AuthLayout',
|
|
152
151
|
'Card',
|
|
153
152
|
'Panel',
|
|
@@ -31,9 +31,8 @@ import { toolbarActionMeta, toolbarMeta } from '../components/toolbar/meta';
|
|
|
31
31
|
import { foundationMetas } from '../foundation/meta';
|
|
32
32
|
import { appShellMeta } from '../layout/app-shell/meta';
|
|
33
33
|
import { authLayoutMeta } from '../layout/auth-layout/meta';
|
|
34
|
-
import {
|
|
35
|
-
import {
|
|
36
|
-
import { pageSectionMeta } from '../layout/page-section/meta';
|
|
34
|
+
import { screenMeta } from '../layout/screen/meta';
|
|
35
|
+
import { screenSectionMeta } from '../layout/screen-section/meta';
|
|
37
36
|
import { settingsLayoutMeta } from '../layout/settings-layout/meta';
|
|
38
37
|
import { sidebarLayoutMeta } from '../layout/sidebar-layout/meta';
|
|
39
38
|
import { topbarLayoutMeta } from '../layout/topbar-layout/meta';
|
|
@@ -111,9 +110,8 @@ export const ZORA_COMPONENT_META: ZoraComponentMetaRegistry = {
|
|
|
111
110
|
ToolbarAction: toolbarActionMeta,
|
|
112
111
|
AppShell: appShellMeta,
|
|
113
112
|
AuthLayout: authLayoutMeta,
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
PageSection: pageSectionMeta,
|
|
113
|
+
Screen: screenMeta,
|
|
114
|
+
ScreenSection: screenSectionMeta,
|
|
117
115
|
SettingsLayout: settingsLayoutMeta,
|
|
118
116
|
SidebarLayout: sidebarLayoutMeta,
|
|
119
117
|
TopbarLayout: topbarLayoutMeta,
|