@ankhorage/zora 0.0.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 +11 -0
- package/LICENSE +21 -0
- package/README.md +198 -0
- package/dist/components/badge/Badge.d.ts +4 -0
- package/dist/components/badge/Badge.d.ts.map +1 -0
- package/dist/components/badge/Badge.js +8 -0
- package/dist/components/badge/Badge.js.map +1 -0
- package/dist/components/badge/index.d.ts +3 -0
- package/dist/components/badge/index.d.ts.map +1 -0
- package/dist/components/badge/index.js +2 -0
- package/dist/components/badge/index.js.map +1 -0
- package/dist/components/badge/types.d.ts +10 -0
- package/dist/components/badge/types.d.ts.map +1 -0
- package/dist/components/badge/types.js +2 -0
- package/dist/components/badge/types.js.map +1 -0
- package/dist/components/button/Button.d.ts +4 -0
- package/dist/components/button/Button.d.ts.map +1 -0
- package/dist/components/button/Button.js +8 -0
- package/dist/components/button/Button.js.map +1 -0
- package/dist/components/button/index.d.ts +3 -0
- package/dist/components/button/index.d.ts.map +1 -0
- package/dist/components/button/index.js +2 -0
- package/dist/components/button/index.js.map +1 -0
- package/dist/components/button/types.d.ts +12 -0
- package/dist/components/button/types.d.ts.map +1 -0
- package/dist/components/button/types.js +2 -0
- package/dist/components/button/types.js.map +1 -0
- package/dist/components/card/Card.d.ts +4 -0
- package/dist/components/card/Card.d.ts.map +1 -0
- package/dist/components/card/Card.js +31 -0
- package/dist/components/card/Card.js.map +1 -0
- package/dist/components/card/index.d.ts +3 -0
- package/dist/components/card/index.d.ts.map +1 -0
- package/dist/components/card/index.js +2 -0
- package/dist/components/card/index.js.map +1 -0
- package/dist/components/card/types.d.ts +14 -0
- package/dist/components/card/types.d.ts.map +1 -0
- package/dist/components/card/types.js +2 -0
- package/dist/components/card/types.js.map +1 -0
- package/dist/components/drawer/Drawer.d.ts +4 -0
- package/dist/components/drawer/Drawer.d.ts.map +1 -0
- package/dist/components/drawer/Drawer.js +18 -0
- package/dist/components/drawer/Drawer.js.map +1 -0
- package/dist/components/drawer/index.d.ts +3 -0
- package/dist/components/drawer/index.d.ts.map +1 -0
- package/dist/components/drawer/index.js +2 -0
- package/dist/components/drawer/index.js.map +1 -0
- package/dist/components/drawer/types.d.ts +9 -0
- package/dist/components/drawer/types.d.ts.map +1 -0
- package/dist/components/drawer/types.js +2 -0
- package/dist/components/drawer/types.js.map +1 -0
- package/dist/components/input/Input.d.ts +4 -0
- package/dist/components/input/Input.d.ts.map +1 -0
- package/dist/components/input/Input.js +10 -0
- package/dist/components/input/Input.js.map +1 -0
- package/dist/components/input/index.d.ts +3 -0
- package/dist/components/input/index.d.ts.map +1 -0
- package/dist/components/input/index.js +2 -0
- package/dist/components/input/index.js.map +1 -0
- package/dist/components/input/types.d.ts +8 -0
- package/dist/components/input/types.d.ts.map +1 -0
- package/dist/components/input/types.js +2 -0
- package/dist/components/input/types.js.map +1 -0
- package/dist/components/modal/Modal.d.ts +4 -0
- package/dist/components/modal/Modal.d.ts.map +1 -0
- package/dist/components/modal/Modal.js +21 -0
- package/dist/components/modal/Modal.js.map +1 -0
- package/dist/components/modal/index.d.ts +3 -0
- package/dist/components/modal/index.d.ts.map +1 -0
- package/dist/components/modal/index.js +2 -0
- package/dist/components/modal/index.js.map +1 -0
- package/dist/components/modal/types.d.ts +11 -0
- package/dist/components/modal/types.d.ts.map +1 -0
- package/dist/components/modal/types.js +2 -0
- package/dist/components/modal/types.js.map +1 -0
- package/dist/components/textarea/Textarea.d.ts +4 -0
- package/dist/components/textarea/Textarea.d.ts.map +1 -0
- package/dist/components/textarea/Textarea.js +10 -0
- package/dist/components/textarea/Textarea.js.map +1 -0
- package/dist/components/textarea/index.d.ts +3 -0
- package/dist/components/textarea/index.d.ts.map +1 -0
- package/dist/components/textarea/index.js +2 -0
- package/dist/components/textarea/index.js.map +1 -0
- package/dist/components/textarea/types.d.ts +8 -0
- package/dist/components/textarea/types.d.ts.map +1 -0
- package/dist/components/textarea/types.js +2 -0
- package/dist/components/textarea/types.js.map +1 -0
- package/dist/index.d.ts +44 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +23 -0
- package/dist/index.js.map +1 -0
- package/dist/internal/deepMerge.d.ts +2 -0
- package/dist/internal/deepMerge.d.ts.map +1 -0
- package/dist/internal/deepMerge.js +20 -0
- package/dist/internal/deepMerge.js.map +1 -0
- package/dist/internal/recipes.d.ts +22 -0
- package/dist/internal/recipes.d.ts.map +1 -0
- package/dist/internal/recipes.js +59 -0
- package/dist/internal/recipes.js.map +1 -0
- package/dist/layout/auth-layout/AuthLayout.d.ts +4 -0
- package/dist/layout/auth-layout/AuthLayout.d.ts.map +1 -0
- package/dist/layout/auth-layout/AuthLayout.js +11 -0
- package/dist/layout/auth-layout/AuthLayout.js.map +1 -0
- package/dist/layout/auth-layout/index.d.ts +3 -0
- package/dist/layout/auth-layout/index.d.ts.map +1 -0
- package/dist/layout/auth-layout/index.js +2 -0
- package/dist/layout/auth-layout/index.js.map +1 -0
- package/dist/layout/auth-layout/types.d.ts +10 -0
- package/dist/layout/auth-layout/types.d.ts.map +1 -0
- package/dist/layout/auth-layout/types.js +2 -0
- package/dist/layout/auth-layout/types.js.map +1 -0
- package/dist/layout/page/Page.d.ts +4 -0
- package/dist/layout/page/Page.d.ts.map +1 -0
- package/dist/layout/page/Page.js +13 -0
- package/dist/layout/page/Page.js.map +1 -0
- package/dist/layout/page/index.d.ts +3 -0
- package/dist/layout/page/index.d.ts.map +1 -0
- package/dist/layout/page/index.js +2 -0
- package/dist/layout/page/index.js.map +1 -0
- package/dist/layout/page/types.d.ts +10 -0
- package/dist/layout/page/types.d.ts.map +1 -0
- package/dist/layout/page/types.js +2 -0
- package/dist/layout/page/types.js.map +1 -0
- package/dist/layout/page-header/PageHeader.d.ts +4 -0
- package/dist/layout/page-header/PageHeader.d.ts.map +1 -0
- package/dist/layout/page-header/PageHeader.js +20 -0
- package/dist/layout/page-header/PageHeader.js.map +1 -0
- package/dist/layout/page-header/index.d.ts +3 -0
- package/dist/layout/page-header/index.d.ts.map +1 -0
- package/dist/layout/page-header/index.js +2 -0
- package/dist/layout/page-header/index.js.map +1 -0
- package/dist/layout/page-header/types.d.ts +10 -0
- package/dist/layout/page-header/types.d.ts.map +1 -0
- package/dist/layout/page-header/types.js +2 -0
- package/dist/layout/page-header/types.js.map +1 -0
- package/dist/layout/page-section/PageSection.d.ts +4 -0
- package/dist/layout/page-section/PageSection.d.ts.map +1 -0
- package/dist/layout/page-section/PageSection.js +10 -0
- package/dist/layout/page-section/PageSection.js.map +1 -0
- package/dist/layout/page-section/index.d.ts +3 -0
- package/dist/layout/page-section/index.d.ts.map +1 -0
- package/dist/layout/page-section/index.js +2 -0
- package/dist/layout/page-section/index.js.map +1 -0
- package/dist/layout/page-section/types.d.ts +9 -0
- package/dist/layout/page-section/types.d.ts.map +1 -0
- package/dist/layout/page-section/types.js +2 -0
- package/dist/layout/page-section/types.js.map +1 -0
- package/dist/layout/settings-layout/SettingsLayout.d.ts +4 -0
- package/dist/layout/settings-layout/SettingsLayout.d.ts.map +1 -0
- package/dist/layout/settings-layout/SettingsLayout.js +10 -0
- package/dist/layout/settings-layout/SettingsLayout.js.map +1 -0
- package/dist/layout/settings-layout/index.d.ts +3 -0
- package/dist/layout/settings-layout/index.d.ts.map +1 -0
- package/dist/layout/settings-layout/index.js +2 -0
- package/dist/layout/settings-layout/index.js.map +1 -0
- package/dist/layout/settings-layout/types.d.ts +10 -0
- package/dist/layout/settings-layout/types.d.ts.map +1 -0
- package/dist/layout/settings-layout/types.js +2 -0
- package/dist/layout/settings-layout/types.js.map +1 -0
- package/dist/layout/sidebar-layout/SidebarLayout.d.ts +4 -0
- package/dist/layout/sidebar-layout/SidebarLayout.d.ts.map +1 -0
- package/dist/layout/sidebar-layout/SidebarLayout.js +12 -0
- package/dist/layout/sidebar-layout/SidebarLayout.js.map +1 -0
- package/dist/layout/sidebar-layout/index.d.ts +3 -0
- package/dist/layout/sidebar-layout/index.d.ts.map +1 -0
- package/dist/layout/sidebar-layout/index.js +2 -0
- package/dist/layout/sidebar-layout/index.js.map +1 -0
- package/dist/layout/sidebar-layout/types.d.ts +10 -0
- package/dist/layout/sidebar-layout/types.d.ts.map +1 -0
- package/dist/layout/sidebar-layout/types.js +2 -0
- package/dist/layout/sidebar-layout/types.js.map +1 -0
- package/dist/layout/topbar-layout/TopbarLayout.d.ts +4 -0
- package/dist/layout/topbar-layout/TopbarLayout.d.ts.map +1 -0
- package/dist/layout/topbar-layout/TopbarLayout.js +10 -0
- package/dist/layout/topbar-layout/TopbarLayout.js.map +1 -0
- package/dist/layout/topbar-layout/index.d.ts +3 -0
- package/dist/layout/topbar-layout/index.d.ts.map +1 -0
- package/dist/layout/topbar-layout/index.js +2 -0
- package/dist/layout/topbar-layout/index.js.map +1 -0
- package/dist/layout/topbar-layout/types.d.ts +8 -0
- package/dist/layout/topbar-layout/types.d.ts.map +1 -0
- package/dist/layout/topbar-layout/types.js +2 -0
- package/dist/layout/topbar-layout/types.js.map +1 -0
- package/dist/patterns/confirm-dialog/ConfirmDialog.d.ts +4 -0
- package/dist/patterns/confirm-dialog/ConfirmDialog.d.ts.map +1 -0
- package/dist/patterns/confirm-dialog/ConfirmDialog.js +17 -0
- package/dist/patterns/confirm-dialog/ConfirmDialog.js.map +1 -0
- package/dist/patterns/confirm-dialog/index.d.ts +3 -0
- package/dist/patterns/confirm-dialog/index.d.ts.map +1 -0
- package/dist/patterns/confirm-dialog/index.js +2 -0
- package/dist/patterns/confirm-dialog/index.js.map +1 -0
- package/dist/patterns/confirm-dialog/types.d.ts +18 -0
- package/dist/patterns/confirm-dialog/types.d.ts.map +1 -0
- package/dist/patterns/confirm-dialog/types.js +2 -0
- package/dist/patterns/confirm-dialog/types.js.map +1 -0
- package/dist/patterns/empty-state/EmptyState.d.ts +4 -0
- package/dist/patterns/empty-state/EmptyState.d.ts.map +1 -0
- package/dist/patterns/empty-state/EmptyState.js +20 -0
- package/dist/patterns/empty-state/EmptyState.js.map +1 -0
- package/dist/patterns/empty-state/index.d.ts +3 -0
- package/dist/patterns/empty-state/index.d.ts.map +1 -0
- package/dist/patterns/empty-state/index.js +2 -0
- package/dist/patterns/empty-state/index.js.map +1 -0
- package/dist/patterns/empty-state/types.d.ts +18 -0
- package/dist/patterns/empty-state/types.d.ts.map +1 -0
- package/dist/patterns/empty-state/types.js +2 -0
- package/dist/patterns/empty-state/types.js.map +1 -0
- package/dist/patterns/form-field/FormField.d.ts +4 -0
- package/dist/patterns/form-field/FormField.d.ts.map +1 -0
- package/dist/patterns/form-field/FormField.js +15 -0
- package/dist/patterns/form-field/FormField.js.map +1 -0
- package/dist/patterns/form-field/index.d.ts +3 -0
- package/dist/patterns/form-field/index.d.ts.map +1 -0
- package/dist/patterns/form-field/index.js +2 -0
- package/dist/patterns/form-field/index.js.map +1 -0
- package/dist/patterns/form-field/types.d.ts +8 -0
- package/dist/patterns/form-field/types.d.ts.map +1 -0
- package/dist/patterns/form-field/types.js +2 -0
- package/dist/patterns/form-field/types.js.map +1 -0
- package/dist/patterns/notice/Notice.d.ts +4 -0
- package/dist/patterns/notice/Notice.d.ts.map +1 -0
- package/dist/patterns/notice/Notice.js +13 -0
- package/dist/patterns/notice/Notice.js.map +1 -0
- package/dist/patterns/notice/index.d.ts +3 -0
- package/dist/patterns/notice/index.d.ts.map +1 -0
- package/dist/patterns/notice/index.js +2 -0
- package/dist/patterns/notice/index.js.map +1 -0
- package/dist/patterns/notice/types.d.ts +11 -0
- package/dist/patterns/notice/types.d.ts.map +1 -0
- package/dist/patterns/notice/types.js +2 -0
- package/dist/patterns/notice/types.js.map +1 -0
- package/dist/patterns/panel/Panel.d.ts +4 -0
- package/dist/patterns/panel/Panel.d.ts.map +1 -0
- package/dist/patterns/panel/Panel.js +6 -0
- package/dist/patterns/panel/Panel.js.map +1 -0
- package/dist/patterns/panel/index.d.ts +3 -0
- package/dist/patterns/panel/index.d.ts.map +1 -0
- package/dist/patterns/panel/index.js +2 -0
- package/dist/patterns/panel/index.js.map +1 -0
- package/dist/patterns/panel/types.d.ts +14 -0
- package/dist/patterns/panel/types.d.ts.map +1 -0
- package/dist/patterns/panel/types.js +2 -0
- package/dist/patterns/panel/types.js.map +1 -0
- package/dist/patterns/section-header/SectionHeader.d.ts +4 -0
- package/dist/patterns/section-header/SectionHeader.d.ts.map +1 -0
- package/dist/patterns/section-header/SectionHeader.js +19 -0
- package/dist/patterns/section-header/SectionHeader.js.map +1 -0
- package/dist/patterns/section-header/index.d.ts +3 -0
- package/dist/patterns/section-header/index.d.ts.map +1 -0
- package/dist/patterns/section-header/index.js +2 -0
- package/dist/patterns/section-header/index.js.map +1 -0
- package/dist/patterns/section-header/types.d.ts +9 -0
- package/dist/patterns/section-header/types.d.ts.map +1 -0
- package/dist/patterns/section-header/types.js +2 -0
- package/dist/patterns/section-header/types.js.map +1 -0
- package/dist/patterns/settings-row/SettingsRow.d.ts +4 -0
- package/dist/patterns/settings-row/SettingsRow.d.ts.map +1 -0
- package/dist/patterns/settings-row/SettingsRow.js +13 -0
- package/dist/patterns/settings-row/SettingsRow.js.map +1 -0
- package/dist/patterns/settings-row/index.d.ts +3 -0
- package/dist/patterns/settings-row/index.d.ts.map +1 -0
- package/dist/patterns/settings-row/index.js +2 -0
- package/dist/patterns/settings-row/index.js.map +1 -0
- package/dist/patterns/settings-row/types.d.ts +11 -0
- package/dist/patterns/settings-row/types.d.ts.map +1 -0
- package/dist/patterns/settings-row/types.js +2 -0
- package/dist/patterns/settings-row/types.js.map +1 -0
- package/dist/theme/ZoraProvider.d.ts +9 -0
- package/dist/theme/ZoraProvider.d.ts.map +1 -0
- package/dist/theme/ZoraProvider.js +9 -0
- package/dist/theme/ZoraProvider.js.map +1 -0
- package/dist/theme/createZoraTheme.d.ts +4 -0
- package/dist/theme/createZoraTheme.d.ts.map +1 -0
- package/dist/theme/createZoraTheme.js +6 -0
- package/dist/theme/createZoraTheme.js.map +1 -0
- package/dist/theme/index.d.ts +6 -0
- package/dist/theme/index.d.ts.map +1 -0
- package/dist/theme/index.js +4 -0
- package/dist/theme/index.js.map +1 -0
- package/dist/theme/zoraTheme.d.ts +3 -0
- package/dist/theme/zoraTheme.d.ts.map +1 -0
- package/dist/theme/zoraTheme.js +15 -0
- package/dist/theme/zoraTheme.js.map +1 -0
- package/package.json +87 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## 0.0.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Bootstrap the initial ZORA package with theme preset, opinionated Surface wrappers, composition patterns, and app-shell layouts.
|
|
8
|
+
|
|
9
|
+
All notable changes to this project will be documented in this file.
|
|
10
|
+
|
|
11
|
+
The format is based on Changesets and the package changelog generated during release.
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 ankhorage
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
# ZORA
|
|
2
|
+
|
|
3
|
+
**ZORA** = **ZerO-config React-native design system Architecture**
|
|
4
|
+
|
|
5
|
+
An opinionated UI kit for **React Native + Web**, built on top of `@ankhorage/surface`.
|
|
6
|
+
|
|
7
|
+
ZORA gives you ready-to-use, production-grade UI patterns with a consistent design language — without forcing a complex setup.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## What is ZORA?
|
|
12
|
+
|
|
13
|
+
ZORA is the **design system layer** on top of Surface.
|
|
14
|
+
|
|
15
|
+
- **Surface** → foundation (primitives, tokens, interactions)
|
|
16
|
+
- **ZORA** → UI kit (patterns, layouts, polished components)
|
|
17
|
+
|
|
18
|
+
Think:
|
|
19
|
+
|
|
20
|
+
- Surface = engine
|
|
21
|
+
- ZORA = car
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Why the name "Zora"?
|
|
26
|
+
|
|
27
|
+
**Zora** is a Slavic name meaning **dawn**, **sunrise**, or **aurora**.
|
|
28
|
+
|
|
29
|
+
That fits the package well: Surface is the foundation, while ZORA is the layer where that foundation becomes visible, expressive, and product-ready.
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Why use it?
|
|
34
|
+
|
|
35
|
+
Surface gives you flexibility.
|
|
36
|
+
ZORA gives you **speed and consistency**.
|
|
37
|
+
|
|
38
|
+
With ZORA you get:
|
|
39
|
+
|
|
40
|
+
- prebuilt UI patterns
|
|
41
|
+
- opinionated defaults
|
|
42
|
+
- consistent spacing, colors, and typography
|
|
43
|
+
- ready-to-use layouts
|
|
44
|
+
- production-ready components
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Quick example
|
|
49
|
+
|
|
50
|
+
```tsx
|
|
51
|
+
import { Page, PageHeader, FormField, Input, Button } from '@ankhorage/zora'
|
|
52
|
+
|
|
53
|
+
export function Login() {
|
|
54
|
+
return (
|
|
55
|
+
<Page>
|
|
56
|
+
<PageHeader title="Sign in" />
|
|
57
|
+
|
|
58
|
+
<FormField label="Email">
|
|
59
|
+
<Input placeholder="you@example.com" />
|
|
60
|
+
</FormField>
|
|
61
|
+
|
|
62
|
+
<FormField label="Password">
|
|
63
|
+
<Input secureTextEntry />
|
|
64
|
+
</FormField>
|
|
65
|
+
|
|
66
|
+
<Button tone="primary">Sign in</Button>
|
|
67
|
+
</Page>
|
|
68
|
+
)
|
|
69
|
+
}
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## What you get
|
|
75
|
+
|
|
76
|
+
### Core components
|
|
77
|
+
|
|
78
|
+
- Button
|
|
79
|
+
- Input / Textarea
|
|
80
|
+
- Card
|
|
81
|
+
- Modal / Drawer
|
|
82
|
+
- Badge
|
|
83
|
+
|
|
84
|
+
### Patterns
|
|
85
|
+
|
|
86
|
+
- FormField
|
|
87
|
+
- Panel
|
|
88
|
+
- Notice
|
|
89
|
+
- EmptyState
|
|
90
|
+
- ConfirmDialog
|
|
91
|
+
- SettingsRow
|
|
92
|
+
|
|
93
|
+
### Layouts
|
|
94
|
+
|
|
95
|
+
- Page
|
|
96
|
+
- PageHeader
|
|
97
|
+
- PageSection
|
|
98
|
+
- SidebarLayout
|
|
99
|
+
- TopbarLayout
|
|
100
|
+
- SettingsLayout
|
|
101
|
+
- AuthLayout
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## Philosophy
|
|
106
|
+
|
|
107
|
+
### 1. Opinionated by default
|
|
108
|
+
|
|
109
|
+
ZORA reduces decision fatigue with strong defaults.
|
|
110
|
+
|
|
111
|
+
### 2. Built on Surface
|
|
112
|
+
|
|
113
|
+
No duplicated logic — everything composes on `@ankhorage/surface`.
|
|
114
|
+
|
|
115
|
+
### 3. Cross-platform first
|
|
116
|
+
|
|
117
|
+
Works with:
|
|
118
|
+
|
|
119
|
+
- React Native
|
|
120
|
+
- Expo
|
|
121
|
+
- React Native Web
|
|
122
|
+
|
|
123
|
+
### 4. Composable
|
|
124
|
+
|
|
125
|
+
You can always drop down to Surface if needed.
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## What ZORA is NOT
|
|
130
|
+
|
|
131
|
+
- ❌ Not a low-code system
|
|
132
|
+
- ❌ Not a backend framework
|
|
133
|
+
- ❌ Not a navigation/router solution
|
|
134
|
+
- ❌ Not tied to a specific product
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## Relationship to Studio
|
|
139
|
+
|
|
140
|
+
ZORA is designed to be used by Studio as a **design-system preset**, not as a hard dependency.
|
|
141
|
+
|
|
142
|
+
Studio can:
|
|
143
|
+
|
|
144
|
+
- render Surface-based apps
|
|
145
|
+
- render ZORA-based apps
|
|
146
|
+
- switch between design systems
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
## Installation
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
bun add @ankhorage/zora @ankhorage/surface
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## Expo example
|
|
159
|
+
|
|
160
|
+
There is a runnable Expo showcase app in [`examples/expo-showcase`](./examples/expo-showcase).
|
|
161
|
+
|
|
162
|
+
Because the example uses the local repo package via `file:../..`, build ZORA first so the package `dist/` exists, then install and start the Expo app:
|
|
163
|
+
|
|
164
|
+
```bash
|
|
165
|
+
bun install
|
|
166
|
+
bun run build
|
|
167
|
+
|
|
168
|
+
cd examples/expo-showcase
|
|
169
|
+
npm install
|
|
170
|
+
npm run start
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
Useful variants:
|
|
174
|
+
|
|
175
|
+
```bash
|
|
176
|
+
npm run ios
|
|
177
|
+
npm run android
|
|
178
|
+
npm run web
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
The showcase uses all current ZORA exports:
|
|
182
|
+
|
|
183
|
+
- core components
|
|
184
|
+
- patterns
|
|
185
|
+
- layouts
|
|
186
|
+
- `ZoraProvider` with `createZoraTheme(...)`
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
## Status
|
|
191
|
+
|
|
192
|
+
- v0.0.1 – Bootstrap phase
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
## License
|
|
197
|
+
|
|
198
|
+
MIT
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../../src/components/badge/Badge.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,wBAAgB,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,UAAU,qBAY7E"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Badge as SurfaceBadge } from '@ankhorage/surface';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { resolveBadgeRecipe } from '../../internal/recipes';
|
|
4
|
+
export function Badge({ children, tone, emphasis, size, ...props }) {
|
|
5
|
+
const recipe = resolveBadgeRecipe({ tone, emphasis, size });
|
|
6
|
+
return (<SurfaceBadge {...props} content={children} size={recipe.size} tone={recipe.tone} variant={recipe.variant}/>);
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=Badge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Badge.js","sourceRoot":"","sources":["../../../src/components/badge/Badge.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG5D,MAAM,UAAU,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,KAAK,EAAc;IAC5E,MAAM,MAAM,GAAG,kBAAkB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAE5D,OAAO,CACL,CAAC,YAAY,CACX,IAAI,KAAK,CAAC,CACV,OAAO,CAAC,CAAC,QAAQ,CAAC,CAClB,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAClB,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAClB,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EACxB,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/badge/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/badge/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { BadgeProps as SurfaceBadgeProps } from '@ankhorage/surface';
|
|
2
|
+
import type React from 'react';
|
|
3
|
+
import type { ZoraBadgeEmphasis, ZoraControlSize, ZoraTone } from '../../internal/recipes';
|
|
4
|
+
export interface BadgeProps extends Omit<SurfaceBadgeProps, 'content' | 'size' | 'tone' | 'variant'> {
|
|
5
|
+
children?: React.ReactNode;
|
|
6
|
+
tone?: ZoraTone;
|
|
7
|
+
emphasis?: ZoraBadgeEmphasis;
|
|
8
|
+
size?: ZoraControlSize;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/badge/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,IAAI,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAE3F,MAAM,WAAW,UAAW,SAAQ,IAAI,CACtC,iBAAiB,EACjB,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CACxC;IACC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,IAAI,CAAC,EAAE,eAAe,CAAC;CACxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/badge/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/components/button/Button.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,wBAAgB,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,WAAW,qBAMrE"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Button as SurfaceButton } from '@ankhorage/surface';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { resolveButtonRecipe } from '../../internal/recipes';
|
|
4
|
+
export function Button({ tone, emphasis, size, ...props }) {
|
|
5
|
+
const recipe = resolveButtonRecipe({ tone, emphasis, size });
|
|
6
|
+
return (<SurfaceButton {...props} size={recipe.size} tone={recipe.tone} variant={recipe.variant}/>);
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=Button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../src/components/button/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAG7D,MAAM,UAAU,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,KAAK,EAAe;IACpE,MAAM,MAAM,GAAG,mBAAmB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAE7D,OAAO,CACL,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAG,CAC5F,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/button/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/button/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ButtonIconSpec, ButtonProps as SurfaceButtonProps } from '@ankhorage/surface';
|
|
2
|
+
import type React from 'react';
|
|
3
|
+
import type { ZoraControlSize, ZoraEmphasis, ZoraTone } from '../../internal/recipes';
|
|
4
|
+
export interface ButtonProps extends Omit<SurfaceButtonProps, 'children' | 'size' | 'tone' | 'variant'> {
|
|
5
|
+
children?: React.ReactNode;
|
|
6
|
+
tone?: ZoraTone;
|
|
7
|
+
emphasis?: ZoraEmphasis;
|
|
8
|
+
size?: ZoraControlSize;
|
|
9
|
+
leadingIcon?: ButtonIconSpec;
|
|
10
|
+
trailingIcon?: ButtonIconSpec;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/button/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,IAAI,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC5F,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEtF,MAAM,WAAW,WAAY,SAAQ,IAAI,CACvC,kBAAkB,EAClB,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CACzC;IACC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,WAAW,CAAC,EAAE,cAAc,CAAC;IAC7B,YAAY,CAAC,EAAE,cAAc,CAAC;CAC/B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/button/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../../src/components/card/Card.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,wBAAgB,IAAI,CAAC,EACnB,QAAQ,EACR,KAAK,EACL,WAAW,EACX,OAAO,EACP,OAAO,EACP,MAAM,EACN,IAAgB,EAChB,OAAe,EACf,GAAG,KAAK,EACT,EAAE,SAAS,qBAwCX"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Box, Card as SurfaceCard, Heading, Stack, Text } from '@ankhorage/surface';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { resolveCardVariant } from '../../internal/recipes';
|
|
4
|
+
export function Card({ children, title, description, eyebrow, actions, footer, tone = 'default', compact = false, ...props }) {
|
|
5
|
+
const hasHeader = [eyebrow, title, description, actions].some((item) => item != null);
|
|
6
|
+
const hasFooter = footer !== undefined;
|
|
7
|
+
const gap = compact ? 's' : 'm';
|
|
8
|
+
return (<SurfaceCard {...props} p={compact ? 'm' : 'l'} radius="l" variant={resolveCardVariant(tone)}>
|
|
9
|
+
<Stack gap={gap}>
|
|
10
|
+
{hasHeader ? (<Stack align={{ base: 'flex-start', md: 'center' }} direction={{ base: 'column', md: 'row' }} gap="m" justify="space-between">
|
|
11
|
+
<Box flex={1}>
|
|
12
|
+
<Stack gap="xs">
|
|
13
|
+
{eyebrow ? (<Text tone="muted" variant="caption" weight="semiBold">
|
|
14
|
+
{eyebrow}
|
|
15
|
+
</Text>) : null}
|
|
16
|
+
{title ? <Heading level={compact ? 4 : 3}>{title}</Heading> : null}
|
|
17
|
+
{description ? (<Text tone="muted" variant="bodySmall">
|
|
18
|
+
{description}
|
|
19
|
+
</Text>) : null}
|
|
20
|
+
</Stack>
|
|
21
|
+
</Box>
|
|
22
|
+
{actions ? <Box>{actions}</Box> : null}
|
|
23
|
+
</Stack>) : null}
|
|
24
|
+
|
|
25
|
+
{children ? <Box>{children}</Box> : null}
|
|
26
|
+
|
|
27
|
+
{hasFooter ? <Box pt="xs">{footer}</Box> : null}
|
|
28
|
+
</Stack>
|
|
29
|
+
</SurfaceCard>);
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=Card.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Card.js","sourceRoot":"","sources":["../../../src/components/card/Card.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/card/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/card/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { CardProps as SurfaceCardProps } from '@ankhorage/surface';
|
|
2
|
+
import type React from 'react';
|
|
3
|
+
import type { ZoraCardTone } from '../../internal/recipes';
|
|
4
|
+
export interface CardProps extends Omit<SurfaceCardProps, 'children' | 'p' | 'radius' | 'style' | 'variant'> {
|
|
5
|
+
children?: React.ReactNode;
|
|
6
|
+
title?: React.ReactNode;
|
|
7
|
+
description?: React.ReactNode;
|
|
8
|
+
eyebrow?: React.ReactNode;
|
|
9
|
+
actions?: React.ReactNode;
|
|
10
|
+
footer?: React.ReactNode;
|
|
11
|
+
tone?: ZoraCardTone;
|
|
12
|
+
compact?: boolean;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/card/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,WAAW,SAAU,SAAQ,IAAI,CACrC,gBAAgB,EAChB,UAAU,GAAG,GAAG,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAClD;IACC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/card/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Drawer.d.ts","sourceRoot":"","sources":["../../../src/components/drawer/Drawer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,wBAAgB,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,EAAE,WAAW,qBAqBrF"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Box, Drawer as SurfaceDrawer, Heading, Stack, Text } from '@ankhorage/surface';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
export function Drawer({ children, title, description, footer, ...props }) {
|
|
4
|
+
const hasHeader = title != null || description != null;
|
|
5
|
+
return (<SurfaceDrawer {...props}>
|
|
6
|
+
<Stack gap="m">
|
|
7
|
+
{hasHeader ? (<Stack gap="xs">
|
|
8
|
+
{title ? <Heading level={3}>{title}</Heading> : null}
|
|
9
|
+
{description ? (<Text tone="muted" variant="bodySmall">
|
|
10
|
+
{description}
|
|
11
|
+
</Text>) : null}
|
|
12
|
+
</Stack>) : null}
|
|
13
|
+
{children ? <Box flex={1}>{children}</Box> : null}
|
|
14
|
+
{footer ? <Box pt="xs">{footer}</Box> : null}
|
|
15
|
+
</Stack>
|
|
16
|
+
</SurfaceDrawer>);
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=Drawer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Drawer.js","sourceRoot":"","sources":["../../../src/components/drawer/Drawer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,IAAI,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AACxF,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,UAAU,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,KAAK,EAAe;IACpF,MAAM,SAAS,GAAG,KAAK,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,CAAC;IAEvD,OAAO,CACL,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,CACvB;MAAA,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CACZ;QAAA,CAAC,SAAS,CAAC,CAAC,CAAC,CACX,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CACb;YAAA,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CACpD;YAAA,CAAC,WAAW,CAAC,CAAC,CAAC,CACb,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CACpC;gBAAA,CAAC,WAAW,CACd;cAAA,EAAE,IAAI,CAAC,CACR,CAAC,CAAC,CAAC,IAAI,CACV;UAAA,EAAE,KAAK,CAAC,CACT,CAAC,CAAC,CAAC,IAAI,CACR;QAAA,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CACjD;QAAA,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAC9C;MAAA,EAAE,KAAK,CACT;IAAA,EAAE,aAAa,CAAC,CACjB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/drawer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/drawer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { DrawerProps as SurfaceDrawerProps } from '@ankhorage/surface';
|
|
2
|
+
import type React from 'react';
|
|
3
|
+
export interface DrawerProps extends Pick<SurfaceDrawerProps, 'closeOnBackdrop' | 'onDismiss' | 'position' | 'testID' | 'visible'> {
|
|
4
|
+
children?: React.ReactNode;
|
|
5
|
+
title?: React.ReactNode;
|
|
6
|
+
description?: React.ReactNode;
|
|
7
|
+
footer?: React.ReactNode;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/drawer/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,IAAI,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,WAAW,WAAY,SAAQ,IAAI,CACvC,kBAAkB,EAClB,iBAAiB,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CACpE;IACC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/drawer/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/components/input/Input.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,wBAAgB,KAAK,CAAC,EAAE,IAAU,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,KAAK,EAAE,EAAE,UAAU,qBA+BpF"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Icon, TextInput as SurfaceTextInput, useTheme } from '@ankhorage/surface';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { resolveIconSize } from '../../internal/recipes';
|
|
4
|
+
export function Input({ size = 'l', leadingIcon, trailingIcon, ...props }) {
|
|
5
|
+
const { theme } = useTheme();
|
|
6
|
+
const iconSize = resolveIconSize(size);
|
|
7
|
+
const iconColor = theme.semantics.content.muted;
|
|
8
|
+
return (<SurfaceTextInput {...props} leadingAccessory={leadingIcon ? (<Icon color={iconColor} name={leadingIcon.name} provider={leadingIcon.provider} size={iconSize}/>) : undefined} size={size} trailingAccessory={trailingIcon ? (<Icon color={iconColor} name={trailingIcon.name} provider={trailingIcon.provider} size={iconSize}/>) : undefined}/>);
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=Input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Input.js","sourceRoot":"","sources":["../../../src/components/input/Input.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,SAAS,IAAI,gBAAgB,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGzD,MAAM,UAAU,KAAK,CAAC,EAAE,IAAI,GAAG,GAAG,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,KAAK,EAAc;IACnF,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;IAEhD,OAAO,CACL,CAAC,gBAAgB,CACf,IAAI,KAAK,CAAC,CACV,gBAAgB,CAAC,CACf,WAAW,CAAC,CAAC,CAAC,CACZ,CAAC,IAAI,CACH,KAAK,CAAC,CAAC,SAAS,CAAC,CACjB,IAAI,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CACvB,QAAQ,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAC/B,IAAI,CAAC,CAAC,QAAQ,CAAC,EACf,CACH,CAAC,CAAC,CAAC,SACN,CAAC,CACD,IAAI,CAAC,CAAC,IAAI,CAAC,CACX,iBAAiB,CAAC,CAChB,YAAY,CAAC,CAAC,CAAC,CACb,CAAC,IAAI,CACH,KAAK,CAAC,CAAC,SAAS,CAAC,CACjB,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CACxB,QAAQ,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAChC,IAAI,CAAC,CAAC,QAAQ,CAAC,EACf,CACH,CAAC,CAAC,CAAC,SACN,CAAC,EACD,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/input/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/input/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ButtonIconSpec, TextInputProps as SurfaceTextInputProps } from '@ankhorage/surface';
|
|
2
|
+
import type { ZoraControlSize } from '../../internal/recipes';
|
|
3
|
+
export interface InputProps extends Omit<SurfaceTextInputProps, 'leadingAccessory' | 'size' | 'trailingAccessory'> {
|
|
4
|
+
size?: ZoraControlSize;
|
|
5
|
+
leadingIcon?: ButtonIconSpec;
|
|
6
|
+
trailingIcon?: ButtonIconSpec;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/input/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,IAAI,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAElG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,WAAW,UAAW,SAAQ,IAAI,CACtC,qBAAqB,EACrB,kBAAkB,GAAG,MAAM,GAAG,mBAAmB,CAClD;IACC,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,WAAW,CAAC,EAAE,cAAc,CAAC;IAC7B,YAAY,CAAC,EAAE,cAAc,CAAC;CAC/B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/input/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../src/components/modal/Modal.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,wBAAgB,KAAK,CAAC,EACpB,QAAQ,EACR,KAAK,EACL,WAAW,EACX,MAAM,EACN,KAAiB,EACjB,GAAG,KAAK,EACT,EAAE,UAAU,qBAuBZ"}
|