@krizaka/ui 3.3.0 → 3.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/activity-feed.d.ts +199 -0
- package/dist/activity-feed.js +155 -0
- package/dist/activity-feed.js.map +1 -0
- package/dist/argument-card.js +3 -3
- package/dist/chunk-7Z4KHPFC.js +42 -0
- package/dist/chunk-7Z4KHPFC.js.map +1 -0
- package/dist/data-table.js +98 -131
- package/dist/data-table.js.map +1 -1
- package/dist/description-list.d.ts +105 -0
- package/dist/description-list.js +49 -0
- package/dist/description-list.js.map +1 -0
- package/dist/index.js +13 -66
- package/dist/index.js.map +1 -1
- package/dist/kanban.d.ts +132 -0
- package/dist/kanban.js +187 -0
- package/dist/kanban.js.map +1 -0
- package/dist/list.d.ts +153 -0
- package/dist/list.js +130 -0
- package/dist/list.js.map +1 -0
- package/dist/map.d.ts +463 -0
- package/dist/map.js +952 -0
- package/dist/map.js.map +1 -0
- package/dist/motion.css +12 -1
- package/dist/native/map.d.ts +200 -0
- package/dist/native/map.js +673 -0
- package/dist/native/map.js.map +1 -0
- package/dist/native/media-picker.d.ts +58 -0
- package/dist/native/media-picker.js +63 -0
- package/dist/native/media-picker.js.map +1 -0
- package/dist/native.d.ts +568 -6
- package/dist/native.js +1989 -868
- package/dist/native.js.map +1 -1
- package/dist/page-hero.js +3 -3
- package/dist/stat.d.ts +31 -2
- package/dist/stat.js +21 -4
- package/dist/stat.js.map +1 -1
- package/dist/tree-view.d.ts +111 -0
- package/dist/tree-view.js +154 -0
- package/dist/tree-view.js.map +1 -0
- package/package.json +147 -10
- package/registry/achievement.json +1 -1
- package/registry/action-bar.json +1 -1
- package/registry/action-sheet.json +121 -0
- package/registry/activity-feed.json +468 -0
- package/registry/alert.json +1 -1
- package/registry/app-shell.json +1 -1
- package/registry/argument-card.json +1 -1
- package/registry/audio-player.json +1 -1
- package/registry/auth-layout.json +1 -1
- package/registry/avatar.json +58 -3
- package/registry/badge.json +1 -1
- package/registry/button.json +1 -1
- package/registry/card-grid.json +1 -1
- package/registry/card.json +1 -1
- package/registry/catalogue-page.json +1 -1
- package/registry/changelog-page.json +1 -1
- package/registry/checkbox.json +1 -1
- package/registry/chip-link.json +1 -1
- package/registry/chip.json +1 -1
- package/registry/choice-grid.json +1 -1
- package/registry/code-block.json +1 -1
- package/registry/combobox.json +1 -1
- package/registry/command.json +1 -1
- package/registry/component-page.json +1 -1
- package/registry/confirm-button.json +1 -1
- package/registry/contact-page.json +1 -1
- package/registry/continue-prompt.json +1 -1
- package/registry/countdown.json +1 -1
- package/registry/cta-panel.json +1 -1
- package/registry/dashboard-layout.json +1 -1
- package/registry/data-table.json +1 -1
- package/registry/date-picker.json +2 -2
- package/registry/decision-list.json +1 -1
- package/registry/description-list.json +232 -0
- package/registry/detail-layout.json +1 -1
- package/registry/dialog.json +1 -1
- package/registry/docs-article-page.json +1 -1
- package/registry/docs-hub-page.json +1 -1
- package/registry/docs-layout.json +1 -1
- package/registry/dropdown-menu.json +1 -1
- package/registry/empty-state.json +1 -1
- package/registry/error-page.json +1 -1
- package/registry/examples/action-sheet/native/video-actions.d.ts +4 -0
- package/registry/examples/action-sheet/native/video-actions.dark.png +0 -0
- package/registry/examples/action-sheet/native/video-actions.js +30 -0
- package/registry/examples/action-sheet/native/video-actions.light.png +0 -0
- package/registry/examples/action-sheet/native/video-actions.tsx +24 -0
- package/registry/examples/activity-feed/job-activity.d.ts +4 -0
- package/registry/examples/activity-feed/job-activity.js +21 -0
- package/registry/examples/activity-feed/job-activity.tsx +17 -0
- package/registry/examples/activity-feed/live.d.ts +4 -0
- package/registry/examples/activity-feed/live.js +23 -0
- package/registry/examples/activity-feed/live.tsx +24 -0
- package/registry/examples/activity-feed/native/notifications.d.ts +4 -0
- package/registry/examples/activity-feed/native/notifications.dark.png +0 -0
- package/registry/examples/activity-feed/native/notifications.js +18 -0
- package/registry/examples/activity-feed/native/notifications.light.png +0 -0
- package/registry/examples/activity-feed/native/notifications.tsx +18 -0
- package/registry/examples/activity-feed/timeline.d.ts +4 -0
- package/registry/examples/activity-feed/timeline.js +25 -0
- package/registry/examples/activity-feed/timeline.tsx +19 -0
- package/registry/examples/avatar/native/presence.d.ts +4 -0
- package/registry/examples/avatar/native/presence.dark.png +0 -0
- package/registry/examples/avatar/native/presence.js +18 -0
- package/registry/examples/avatar/native/presence.light.png +0 -0
- package/registry/examples/avatar/native/presence.tsx +15 -0
- package/registry/examples/description-list/job-details.d.ts +4 -0
- package/registry/examples/description-list/job-details.js +23 -0
- package/registry/examples/description-list/job-details.tsx +17 -0
- package/registry/examples/description-list/key-value-grid.d.ts +4 -0
- package/registry/examples/description-list/key-value-grid.js +22 -0
- package/registry/examples/description-list/key-value-grid.tsx +16 -0
- package/registry/examples/description-list/native/job-details.d.ts +4 -0
- package/registry/examples/description-list/native/job-details.dark.png +0 -0
- package/registry/examples/description-list/native/job-details.js +33 -0
- package/registry/examples/description-list/native/job-details.light.png +0 -0
- package/registry/examples/description-list/native/job-details.tsx +24 -0
- package/registry/examples/description-list/receipt.d.ts +4 -0
- package/registry/examples/description-list/receipt.js +23 -0
- package/registry/examples/description-list/receipt.tsx +17 -0
- package/registry/examples/fab/native/extended.d.ts +4 -0
- package/registry/examples/fab/native/extended.dark.png +0 -0
- package/registry/examples/fab/native/extended.js +18 -0
- package/registry/examples/fab/native/extended.light.png +0 -0
- package/registry/examples/fab/native/extended.tsx +23 -0
- package/registry/examples/header/native/large-title.d.ts +4 -0
- package/registry/examples/header/native/large-title.dark.png +0 -0
- package/registry/examples/header/native/large-title.js +23 -0
- package/registry/examples/header/native/large-title.light.png +0 -0
- package/registry/examples/header/native/large-title.tsx +31 -0
- package/registry/examples/image-viewer/native/gallery.d.ts +4 -0
- package/registry/examples/image-viewer/native/gallery.dark.png +0 -0
- package/registry/examples/image-viewer/native/gallery.js +22 -0
- package/registry/examples/image-viewer/native/gallery.light.png +0 -0
- package/registry/examples/image-viewer/native/gallery.tsx +21 -0
- package/registry/examples/kanban/moderation.d.ts +4 -0
- package/registry/examples/kanban/moderation.js +35 -0
- package/registry/examples/kanban/moderation.tsx +37 -0
- package/registry/examples/list/jobs.d.ts +4 -0
- package/registry/examples/list/jobs.js +35 -0
- package/registry/examples/list/jobs.tsx +33 -0
- package/registry/examples/list/selectable.d.ts +4 -0
- package/registry/examples/list/selectable.js +33 -0
- package/registry/examples/list/selectable.tsx +30 -0
- package/registry/examples/list/virtualized.d.ts +4 -0
- package/registry/examples/list/virtualized.js +22 -0
- package/registry/examples/list/virtualized.tsx +17 -0
- package/registry/examples/loader/native/block.d.ts +4 -0
- package/registry/examples/loader/native/block.dark.png +0 -0
- package/registry/examples/loader/native/block.js +12 -0
- package/registry/examples/loader/native/block.light.png +0 -0
- package/registry/examples/loader/native/block.tsx +11 -0
- package/registry/examples/loader/native/job-wait.d.ts +4 -0
- package/registry/examples/loader/native/job-wait.dark.png +0 -0
- package/registry/examples/loader/native/job-wait.js +17 -0
- package/registry/examples/loader/native/job-wait.light.png +0 -0
- package/registry/examples/loader/native/job-wait.tsx +14 -0
- package/registry/examples/map/cluster.d.ts +4 -0
- package/registry/examples/map/cluster.js +16 -0
- package/registry/examples/map/cluster.tsx +18 -0
- package/registry/examples/map/location-picker.d.ts +4 -0
- package/registry/examples/map/location-picker.js +24 -0
- package/registry/examples/map/location-picker.tsx +22 -0
- package/registry/examples/map/native/location-picker.d.ts +4 -0
- package/registry/examples/map/native/location-picker.dark.png +0 -0
- package/registry/examples/map/native/location-picker.js +14 -0
- package/registry/examples/map/native/location-picker.light.png +0 -0
- package/registry/examples/map/native/location-picker.tsx +13 -0
- package/registry/examples/map/native/places.d.ts +4 -0
- package/registry/examples/map/native/places.dark.png +0 -0
- package/registry/examples/map/native/places.js +25 -0
- package/registry/examples/map/native/places.light.png +0 -0
- package/registry/examples/map/native/places.tsx +27 -0
- package/registry/examples/map/places.d.ts +4 -0
- package/registry/examples/map/places.js +28 -0
- package/registry/examples/map/places.tsx +28 -0
- package/registry/examples/map/static.d.ts +4 -0
- package/registry/examples/map/static.js +22 -0
- package/registry/examples/map/static.tsx +18 -0
- package/registry/examples/media-picker/native/story.d.ts +4 -0
- package/registry/examples/media-picker/native/story.dark.png +0 -0
- package/registry/examples/media-picker/native/story.js +30 -0
- package/registry/examples/media-picker/native/story.light.png +0 -0
- package/registry/examples/media-picker/native/story.tsx +26 -0
- package/registry/examples/meter/native/credits.d.ts +4 -0
- package/registry/examples/meter/native/credits.dark.png +0 -0
- package/registry/examples/meter/native/credits.js +15 -0
- package/registry/examples/meter/native/credits.light.png +0 -0
- package/registry/examples/meter/native/credits.tsx +12 -0
- package/registry/examples/meter/native/split-ring.d.ts +4 -0
- package/registry/examples/meter/native/split-ring.dark.png +0 -0
- package/registry/examples/meter/native/split-ring.js +24 -0
- package/registry/examples/meter/native/split-ring.light.png +0 -0
- package/registry/examples/meter/native/split-ring.tsx +19 -0
- package/registry/examples/number-ticker/native/balance.d.ts +4 -0
- package/registry/examples/number-ticker/native/balance.dark.png +0 -0
- package/registry/examples/number-ticker/native/balance.js +18 -0
- package/registry/examples/number-ticker/native/balance.light.png +0 -0
- package/registry/examples/number-ticker/native/balance.tsx +17 -0
- package/registry/examples/onboarding/native/first-launch.d.ts +4 -0
- package/registry/examples/onboarding/native/first-launch.dark.png +0 -0
- package/registry/examples/onboarding/native/first-launch.js +23 -0
- package/registry/examples/onboarding/native/first-launch.light.png +0 -0
- package/registry/examples/onboarding/native/first-launch.tsx +19 -0
- package/registry/examples/otp-input/native/invalid.d.ts +4 -0
- package/registry/examples/otp-input/native/invalid.dark.png +0 -0
- package/registry/examples/otp-input/native/invalid.js +15 -0
- package/registry/examples/otp-input/native/invalid.light.png +0 -0
- package/registry/examples/otp-input/native/invalid.tsx +14 -0
- package/registry/examples/otp-input/native/verify.d.ts +4 -0
- package/registry/examples/otp-input/native/verify.dark.png +0 -0
- package/registry/examples/otp-input/native/verify.js +17 -0
- package/registry/examples/otp-input/native/verify.light.png +0 -0
- package/registry/examples/otp-input/native/verify.tsx +14 -0
- package/registry/examples/permission-prompt/native/blocked.d.ts +4 -0
- package/registry/examples/permission-prompt/native/blocked.dark.png +0 -0
- package/registry/examples/permission-prompt/native/blocked.js +25 -0
- package/registry/examples/permission-prompt/native/blocked.light.png +0 -0
- package/registry/examples/permission-prompt/native/blocked.tsx +21 -0
- package/registry/examples/permission-prompt/native/camera.d.ts +4 -0
- package/registry/examples/permission-prompt/native/camera.dark.png +0 -0
- package/registry/examples/permission-prompt/native/camera.js +25 -0
- package/registry/examples/permission-prompt/native/camera.light.png +0 -0
- package/registry/examples/permission-prompt/native/camera.tsx +21 -0
- package/registry/examples/pull-to-refresh/native/feed.d.ts +4 -0
- package/registry/examples/pull-to-refresh/native/feed.dark.png +0 -0
- package/registry/examples/pull-to-refresh/native/feed.js +14 -0
- package/registry/examples/pull-to-refresh/native/feed.light.png +0 -0
- package/registry/examples/pull-to-refresh/native/feed.tsx +19 -0
- package/registry/examples/search-field/native/cancel.d.ts +4 -0
- package/registry/examples/search-field/native/cancel.dark.png +0 -0
- package/registry/examples/search-field/native/cancel.js +14 -0
- package/registry/examples/search-field/native/cancel.light.png +0 -0
- package/registry/examples/search-field/native/cancel.tsx +13 -0
- package/registry/examples/stat/grid.d.ts +4 -0
- package/registry/examples/stat/grid.js +17 -0
- package/registry/examples/stat/grid.tsx +14 -0
- package/registry/examples/stepper/native/run.d.ts +4 -0
- package/registry/examples/stepper/native/run.dark.png +0 -0
- package/registry/examples/stepper/native/run.js +24 -0
- package/registry/examples/stepper/native/run.light.png +0 -0
- package/registry/examples/stepper/native/run.tsx +20 -0
- package/registry/examples/swipeable-row/native/conversation.d.ts +4 -0
- package/registry/examples/swipeable-row/native/conversation.dark.png +0 -0
- package/registry/examples/swipeable-row/native/conversation.js +30 -0
- package/registry/examples/swipeable-row/native/conversation.light.png +0 -0
- package/registry/examples/swipeable-row/native/conversation.tsx +27 -0
- package/registry/examples/tab-bar/native/main-sections.d.ts +4 -0
- package/registry/examples/tab-bar/native/main-sections.dark.png +0 -0
- package/registry/examples/tab-bar/native/main-sections.js +29 -0
- package/registry/examples/tab-bar/native/main-sections.light.png +0 -0
- package/registry/examples/tab-bar/native/main-sections.tsx +30 -0
- package/registry/examples/tabs/native/sections.d.ts +4 -0
- package/registry/examples/tabs/native/sections.dark.png +0 -0
- package/registry/examples/tabs/native/sections.js +23 -0
- package/registry/examples/tabs/native/sections.light.png +0 -0
- package/registry/examples/tabs/native/sections.tsx +19 -0
- package/registry/examples/tabs/native/segmented.d.ts +4 -0
- package/registry/examples/tabs/native/segmented.dark.png +0 -0
- package/registry/examples/tabs/native/segmented.js +22 -0
- package/registry/examples/tabs/native/segmented.light.png +0 -0
- package/registry/examples/tabs/native/segmented.tsx +18 -0
- package/registry/examples/toast/native/snackbar.d.ts +4 -0
- package/registry/examples/toast/native/snackbar.dark.png +0 -0
- package/registry/examples/toast/native/snackbar.js +23 -0
- package/registry/examples/toast/native/snackbar.light.png +0 -0
- package/registry/examples/toast/native/snackbar.tsx +21 -0
- package/registry/examples/tree-view/docs.d.ts +4 -0
- package/registry/examples/tree-view/docs.js +24 -0
- package/registry/examples/tree-view/docs.tsx +22 -0
- package/registry/examples/tree-view/lazy.d.ts +4 -0
- package/registry/examples/tree-view/lazy.js +21 -0
- package/registry/examples/tree-view/lazy.tsx +19 -0
- package/registry/fab.json +122 -0
- package/registry/field.json +1 -1
- package/registry/file-upload.json +2 -2
- package/registry/filter-bar.json +1 -1
- package/registry/form.json +2 -2
- package/registry/gallery-page.json +1 -1
- package/registry/glow-card.json +1 -1
- package/registry/goal-gauge.json +1 -1
- package/registry/header.json +137 -0
- package/registry/how-it-works-page.json +1 -1
- package/registry/image-cropper.json +1 -1
- package/registry/image-viewer.json +107 -0
- package/registry/index.json +299 -25
- package/registry/iso.json +1 -1
- package/registry/kanban.json +253 -0
- package/registry/kbd.json +1 -1
- package/registry/landing-page.json +1 -1
- package/registry/landscape.json +1 -1
- package/registry/legal-page.json +1 -1
- package/registry/link-card.json +1 -1
- package/registry/list.json +367 -30
- package/registry/loader.json +157 -4
- package/registry/longform-page.json +1 -1
- package/registry/map.json +1368 -0
- package/registry/marketing-layout.json +1 -1
- package/registry/marquee.json +1 -1
- package/registry/mascot-quote.json +1 -1
- package/registry/mascot-state.json +1 -1
- package/registry/mascots.json +1 -1
- package/registry/media-capture.json +1 -1
- package/registry/media-picker.json +129 -0
- package/registry/meter.json +136 -4
- package/registry/nav-bar.json +1 -1
- package/registry/number-ticker.json +96 -4
- package/registry/onboarding.json +95 -0
- package/registry/otp-input.json +150 -0
- package/registry/page-header.json +1 -1
- package/registry/page-hero.json +1 -1
- package/registry/page.json +1 -1
- package/registry/pagination.json +1 -1
- package/registry/permission-prompt.json +172 -0
- package/registry/pointer-light.json +1 -1
- package/registry/popover.json +1 -1
- package/registry/pricing-page.json +1 -1
- package/registry/product-page.json +1 -1
- package/registry/profile-card.json +1 -1
- package/registry/progress.json +2 -2
- package/registry/promise-card.json +1 -1
- package/registry/pull-to-refresh.json +74 -0
- package/registry/radio-group.json +1 -1
- package/registry/scroll-stage.json +1 -1
- package/registry/search-field.json +30 -3
- package/registry/section-backdrop.json +1 -1
- package/registry/separator.json +1 -1
- package/registry/settings-layout.json +1 -1
- package/registry/skeleton.json +1 -1
- package/registry/slider.json +1 -1
- package/registry/slot.json +1 -1
- package/registry/spinner.json +1 -1
- package/registry/split-view.json +1 -1
- package/registry/stage-banner.json +1 -1
- package/registry/stat.json +68 -5
- package/registry/status-page.json +1 -1
- package/registry/stepper.json +75 -4
- package/registry/swipeable-row.json +124 -0
- package/registry/switch.json +1 -1
- package/registry/tab-bar.json +115 -0
- package/registry/tabs.json +94 -4
- package/registry/tag-input.json +1 -1
- package/registry/terminal-replay.json +1 -1
- package/registry/theme.json +8 -1
- package/registry/toast.json +17 -3
- package/registry/toc.json +1 -1
- package/registry/tooltip.json +1 -1
- package/registry/tree-view.json +291 -0
- package/registry/video-player.json +1 -1
- package/registry/video-trimmer.json +1 -1
- package/registry/virtual.json +1 -1
- package/skills/map/SKILL.md +35 -0
package/registry/index.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@krizaka/ui",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.4.0",
|
|
4
4
|
"items": [
|
|
5
5
|
{
|
|
6
6
|
"name": "achievement",
|
|
@@ -39,6 +39,40 @@
|
|
|
39
39
|
"cn"
|
|
40
40
|
]
|
|
41
41
|
},
|
|
42
|
+
{
|
|
43
|
+
"name": "action-sheet",
|
|
44
|
+
"type": "native",
|
|
45
|
+
"title": "Action sheet",
|
|
46
|
+
"summary": "A short list of actions on an item from the bottom edge, the destructive one in danger, cancel apart.",
|
|
47
|
+
"description": "A short list of actions on an item from the bottom edge, the destructive one in danger, cancel apart.",
|
|
48
|
+
"status": "beta",
|
|
49
|
+
"category": "overlays",
|
|
50
|
+
"platforms": "native",
|
|
51
|
+
"examples": {
|
|
52
|
+
"web": 0,
|
|
53
|
+
"native": 1
|
|
54
|
+
},
|
|
55
|
+
"dependencies": [],
|
|
56
|
+
"registryDependencies": []
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"name": "activity-feed",
|
|
60
|
+
"type": "primitive",
|
|
61
|
+
"title": "Activity feed",
|
|
62
|
+
"summary": "What happened, newest first: grouped by day, runs folded (“×3”), “2 min ago” kept fresh, new events announced — and `Timeline`, one thing's history on a rail.",
|
|
63
|
+
"description": "What happened, newest first: grouped by day, runs folded (“×3”), “2 min ago” kept fresh, new events announced — and `Timeline`, one thing's history on a rail.",
|
|
64
|
+
"status": "beta",
|
|
65
|
+
"category": "data-display",
|
|
66
|
+
"platforms": "both",
|
|
67
|
+
"examples": {
|
|
68
|
+
"web": 3,
|
|
69
|
+
"native": 1
|
|
70
|
+
},
|
|
71
|
+
"dependencies": [
|
|
72
|
+
"tailwind-variants@^3.3.1"
|
|
73
|
+
],
|
|
74
|
+
"registryDependencies": []
|
|
75
|
+
},
|
|
42
76
|
{
|
|
43
77
|
"name": "alert",
|
|
44
78
|
"type": "primitive",
|
|
@@ -146,7 +180,7 @@
|
|
|
146
180
|
"platforms": "both",
|
|
147
181
|
"examples": {
|
|
148
182
|
"web": 4,
|
|
149
|
-
"native":
|
|
183
|
+
"native": 3
|
|
150
184
|
},
|
|
151
185
|
"dependencies": [
|
|
152
186
|
"radix-ui@^1.7.0",
|
|
@@ -602,7 +636,7 @@
|
|
|
602
636
|
"native": 7
|
|
603
637
|
},
|
|
604
638
|
"dependencies": [
|
|
605
|
-
"@krizaka/intl@^0.1.
|
|
639
|
+
"@krizaka/intl@^0.1.1",
|
|
606
640
|
"tailwind-variants@^3.3.1"
|
|
607
641
|
],
|
|
608
642
|
"registryDependencies": [
|
|
@@ -628,6 +662,24 @@
|
|
|
628
662
|
"cn"
|
|
629
663
|
]
|
|
630
664
|
},
|
|
665
|
+
{
|
|
666
|
+
"name": "description-list",
|
|
667
|
+
"type": "primitive",
|
|
668
|
+
"title": "Description list",
|
|
669
|
+
"summary": "Facts about one thing as term and value: stacked, inline like a receipt, or a grid of key figures (`KeyValueGrid`).",
|
|
670
|
+
"description": "Facts about one thing as term and value: stacked, inline like a receipt, or a grid of key figures (`KeyValueGrid`).",
|
|
671
|
+
"status": "beta",
|
|
672
|
+
"category": "data-display",
|
|
673
|
+
"platforms": "both",
|
|
674
|
+
"examples": {
|
|
675
|
+
"web": 3,
|
|
676
|
+
"native": 1
|
|
677
|
+
},
|
|
678
|
+
"dependencies": [
|
|
679
|
+
"tailwind-variants@^3.3.1"
|
|
680
|
+
],
|
|
681
|
+
"registryDependencies": []
|
|
682
|
+
},
|
|
631
683
|
{
|
|
632
684
|
"name": "detail-layout",
|
|
633
685
|
"type": "primitive",
|
|
@@ -783,6 +835,22 @@
|
|
|
783
835
|
"cn"
|
|
784
836
|
]
|
|
785
837
|
},
|
|
838
|
+
{
|
|
839
|
+
"name": "fab",
|
|
840
|
+
"type": "native",
|
|
841
|
+
"title": "Floating action button",
|
|
842
|
+
"summary": "The screen's one main action, floating above the content in the accent, clear of the safe area and the tab bar.",
|
|
843
|
+
"description": "The screen's one main action, floating above the content in the accent, clear of the safe area and the tab bar.",
|
|
844
|
+
"status": "beta",
|
|
845
|
+
"category": "actions",
|
|
846
|
+
"platforms": "native",
|
|
847
|
+
"examples": {
|
|
848
|
+
"web": 0,
|
|
849
|
+
"native": 1
|
|
850
|
+
},
|
|
851
|
+
"dependencies": [],
|
|
852
|
+
"registryDependencies": []
|
|
853
|
+
},
|
|
786
854
|
{
|
|
787
855
|
"name": "field",
|
|
788
856
|
"type": "primitive",
|
|
@@ -817,7 +885,7 @@
|
|
|
817
885
|
"native": 0
|
|
818
886
|
},
|
|
819
887
|
"dependencies": [
|
|
820
|
-
"@krizaka/intl@^0.1.
|
|
888
|
+
"@krizaka/intl@^0.1.1",
|
|
821
889
|
"tailwind-variants@^3.3.1"
|
|
822
890
|
],
|
|
823
891
|
"registryDependencies": [
|
|
@@ -860,7 +928,7 @@
|
|
|
860
928
|
"native": 6
|
|
861
929
|
},
|
|
862
930
|
"dependencies": [
|
|
863
|
-
"@krizaka/intl@^0.1.
|
|
931
|
+
"@krizaka/intl@^0.1.1",
|
|
864
932
|
"@tanstack/react-form@1.33.5"
|
|
865
933
|
],
|
|
866
934
|
"registryDependencies": [
|
|
@@ -937,6 +1005,22 @@
|
|
|
937
1005
|
"cn"
|
|
938
1006
|
]
|
|
939
1007
|
},
|
|
1008
|
+
{
|
|
1009
|
+
"name": "header",
|
|
1010
|
+
"type": "native",
|
|
1011
|
+
"title": "Header",
|
|
1012
|
+
"summary": "A screen's header: the bar under the status bar, and a large title that folds into it as the content scrolls.",
|
|
1013
|
+
"description": "A screen's header: the bar under the status bar, and a large title that folds into it as the content scrolls.",
|
|
1014
|
+
"status": "beta",
|
|
1015
|
+
"category": "navigation",
|
|
1016
|
+
"platforms": "native",
|
|
1017
|
+
"examples": {
|
|
1018
|
+
"web": 0,
|
|
1019
|
+
"native": 1
|
|
1020
|
+
},
|
|
1021
|
+
"dependencies": [],
|
|
1022
|
+
"registryDependencies": []
|
|
1023
|
+
},
|
|
940
1024
|
{
|
|
941
1025
|
"name": "how-it-works-page",
|
|
942
1026
|
"type": "primitive",
|
|
@@ -978,6 +1062,22 @@
|
|
|
978
1062
|
"slider"
|
|
979
1063
|
]
|
|
980
1064
|
},
|
|
1065
|
+
{
|
|
1066
|
+
"name": "image-viewer",
|
|
1067
|
+
"type": "native",
|
|
1068
|
+
"title": "Image viewer",
|
|
1069
|
+
"summary": "Images full screen on black: pinch and double tap to zoom, swipe between images, swipe down to close.",
|
|
1070
|
+
"description": "Images full screen on black: pinch and double tap to zoom, swipe between images, swipe down to close.",
|
|
1071
|
+
"status": "beta",
|
|
1072
|
+
"category": "media",
|
|
1073
|
+
"platforms": "native",
|
|
1074
|
+
"examples": {
|
|
1075
|
+
"web": 0,
|
|
1076
|
+
"native": 1
|
|
1077
|
+
},
|
|
1078
|
+
"dependencies": [],
|
|
1079
|
+
"registryDependencies": []
|
|
1080
|
+
},
|
|
981
1081
|
{
|
|
982
1082
|
"name": "iso",
|
|
983
1083
|
"type": "primitive",
|
|
@@ -994,6 +1094,24 @@
|
|
|
994
1094
|
"dependencies": [],
|
|
995
1095
|
"registryDependencies": []
|
|
996
1096
|
},
|
|
1097
|
+
{
|
|
1098
|
+
"name": "kanban",
|
|
1099
|
+
"type": "primitive",
|
|
1100
|
+
"title": "Kanban",
|
|
1101
|
+
"summary": "Cards in columns moved by drag and drop — and by the keyboard (Space, the arrows, Space) — every move announced, column limits in the counts.",
|
|
1102
|
+
"description": "Cards in columns moved by drag and drop — and by the keyboard (Space, the arrows, Space) — every move announced, column limits in the counts.",
|
|
1103
|
+
"status": "beta",
|
|
1104
|
+
"category": "data-display",
|
|
1105
|
+
"platforms": "web",
|
|
1106
|
+
"examples": {
|
|
1107
|
+
"web": 1,
|
|
1108
|
+
"native": 0
|
|
1109
|
+
},
|
|
1110
|
+
"dependencies": [
|
|
1111
|
+
"tailwind-variants@^3.3.1"
|
|
1112
|
+
],
|
|
1113
|
+
"registryDependencies": []
|
|
1114
|
+
},
|
|
997
1115
|
{
|
|
998
1116
|
"name": "kbd",
|
|
999
1117
|
"type": "primitive",
|
|
@@ -1090,19 +1208,23 @@
|
|
|
1090
1208
|
},
|
|
1091
1209
|
{
|
|
1092
1210
|
"name": "list",
|
|
1093
|
-
"type": "
|
|
1211
|
+
"type": "primitive",
|
|
1094
1212
|
"title": "List",
|
|
1095
|
-
"summary": "
|
|
1096
|
-
"description": "
|
|
1213
|
+
"summary": "Records read top to bottom — a leading visual, a title and a line, details and actions beside — dense or comfortable, selectable, windowed when long.",
|
|
1214
|
+
"description": "Records read top to bottom — a leading visual, a title and a line, details and actions beside — dense or comfortable, selectable, windowed when long.",
|
|
1097
1215
|
"status": "beta",
|
|
1098
1216
|
"category": "data-display",
|
|
1099
|
-
"platforms": "
|
|
1217
|
+
"platforms": "both",
|
|
1100
1218
|
"examples": {
|
|
1101
|
-
"web":
|
|
1219
|
+
"web": 3,
|
|
1102
1220
|
"native": 3
|
|
1103
1221
|
},
|
|
1104
|
-
"dependencies": [
|
|
1105
|
-
|
|
1222
|
+
"dependencies": [
|
|
1223
|
+
"tailwind-variants@^3.3.1"
|
|
1224
|
+
],
|
|
1225
|
+
"registryDependencies": [
|
|
1226
|
+
"checkbox"
|
|
1227
|
+
]
|
|
1106
1228
|
},
|
|
1107
1229
|
{
|
|
1108
1230
|
"name": "loader",
|
|
@@ -1112,10 +1234,10 @@
|
|
|
1112
1234
|
"description": "A wait from start to end: nothing for the first instants, then the Krizaka glyph with its words, a percentage and an ETA, held long enough to read, ending on a check or a cross that is drawn and announced — and `LoadingRegion`, which hands a region over to a skeleton of its shape.",
|
|
1113
1235
|
"status": "beta",
|
|
1114
1236
|
"category": "feedback",
|
|
1115
|
-
"platforms": "
|
|
1237
|
+
"platforms": "both",
|
|
1116
1238
|
"examples": {
|
|
1117
1239
|
"web": 6,
|
|
1118
|
-
"native":
|
|
1240
|
+
"native": 2
|
|
1119
1241
|
},
|
|
1120
1242
|
"dependencies": [
|
|
1121
1243
|
"tailwind-variants@^3.3.1"
|
|
@@ -1144,6 +1266,28 @@
|
|
|
1144
1266
|
"page-hero"
|
|
1145
1267
|
]
|
|
1146
1268
|
},
|
|
1269
|
+
{
|
|
1270
|
+
"name": "map",
|
|
1271
|
+
"type": "primitive",
|
|
1272
|
+
"title": "Map",
|
|
1273
|
+
"summary": "Maps that cost nothing per view — MapLibre (open source) over Protomaps tiles on the Krizaka CDN, painted from the tokens in dark or light and in the product's accent — with markers, clusters, the person's position, a radius and a location picker.",
|
|
1274
|
+
"description": "Maps that cost nothing per view — MapLibre (open source) over Protomaps tiles on the Krizaka CDN, painted from the tokens in dark or light and in the product's accent — with markers, clusters, the person's position, a radius and a location picker.",
|
|
1275
|
+
"status": "beta",
|
|
1276
|
+
"category": "data-display",
|
|
1277
|
+
"platforms": "both",
|
|
1278
|
+
"examples": {
|
|
1279
|
+
"web": 4,
|
|
1280
|
+
"native": 2
|
|
1281
|
+
},
|
|
1282
|
+
"dependencies": [
|
|
1283
|
+
"@krizaka/tokens@^3.4.0",
|
|
1284
|
+
"@protomaps/basemaps@5.7.2",
|
|
1285
|
+
"tailwind-variants@^3.3.1"
|
|
1286
|
+
],
|
|
1287
|
+
"registryDependencies": [
|
|
1288
|
+
"cn"
|
|
1289
|
+
]
|
|
1290
|
+
},
|
|
1147
1291
|
{
|
|
1148
1292
|
"name": "marketing-layout",
|
|
1149
1293
|
"type": "primitive",
|
|
@@ -1253,6 +1397,22 @@
|
|
|
1253
1397
|
],
|
|
1254
1398
|
"registryDependencies": []
|
|
1255
1399
|
},
|
|
1400
|
+
{
|
|
1401
|
+
"name": "media-picker",
|
|
1402
|
+
"type": "native",
|
|
1403
|
+
"title": "Media picker",
|
|
1404
|
+
"summary": "Photos and videos picked from the library or the camera, as a grid of tiles with a remove button and a count.",
|
|
1405
|
+
"description": "Photos and videos picked from the library or the camera, as a grid of tiles with a remove button and a count.",
|
|
1406
|
+
"status": "beta",
|
|
1407
|
+
"category": "media",
|
|
1408
|
+
"platforms": "native",
|
|
1409
|
+
"examples": {
|
|
1410
|
+
"web": 0,
|
|
1411
|
+
"native": 1
|
|
1412
|
+
},
|
|
1413
|
+
"dependencies": [],
|
|
1414
|
+
"registryDependencies": []
|
|
1415
|
+
},
|
|
1256
1416
|
{
|
|
1257
1417
|
"name": "meter",
|
|
1258
1418
|
"type": "primitive",
|
|
@@ -1261,10 +1421,10 @@
|
|
|
1261
1421
|
"description": "A measure within a known range — a quota, a balance, a share: thresholds turn it to warning then danger (or the reverse when high is good), and split into parts it becomes a stacked bar or ring with its legend.",
|
|
1262
1422
|
"status": "beta",
|
|
1263
1423
|
"category": "data-display",
|
|
1264
|
-
"platforms": "
|
|
1424
|
+
"platforms": "both",
|
|
1265
1425
|
"examples": {
|
|
1266
1426
|
"web": 3,
|
|
1267
|
-
"native":
|
|
1427
|
+
"native": 2
|
|
1268
1428
|
},
|
|
1269
1429
|
"dependencies": [
|
|
1270
1430
|
"tailwind-variants@^3.3.1"
|
|
@@ -1300,10 +1460,42 @@
|
|
|
1300
1460
|
"description": "A figure that climbs into view once, or rolls digit by digit to each new value — server-rendered at its final value, its width held from the first paint, read once by assistive technology.",
|
|
1301
1461
|
"status": "beta",
|
|
1302
1462
|
"category": "data-display",
|
|
1303
|
-
"platforms": "
|
|
1463
|
+
"platforms": "both",
|
|
1304
1464
|
"examples": {
|
|
1305
1465
|
"web": 3,
|
|
1306
|
-
"native":
|
|
1466
|
+
"native": 1
|
|
1467
|
+
},
|
|
1468
|
+
"dependencies": [],
|
|
1469
|
+
"registryDependencies": []
|
|
1470
|
+
},
|
|
1471
|
+
{
|
|
1472
|
+
"name": "onboarding",
|
|
1473
|
+
"type": "native",
|
|
1474
|
+
"title": "Onboarding",
|
|
1475
|
+
"summary": "A first launch in a few slides: swipe or tap Next, Skip at any time, dots that say where you are.",
|
|
1476
|
+
"description": "A first launch in a few slides: swipe or tap Next, Skip at any time, dots that say where you are.",
|
|
1477
|
+
"status": "beta",
|
|
1478
|
+
"category": "layout",
|
|
1479
|
+
"platforms": "native",
|
|
1480
|
+
"examples": {
|
|
1481
|
+
"web": 0,
|
|
1482
|
+
"native": 1
|
|
1483
|
+
},
|
|
1484
|
+
"dependencies": [],
|
|
1485
|
+
"registryDependencies": []
|
|
1486
|
+
},
|
|
1487
|
+
{
|
|
1488
|
+
"name": "otp-input",
|
|
1489
|
+
"type": "native",
|
|
1490
|
+
"title": "OTP input",
|
|
1491
|
+
"summary": "A one-time code in boxes over one real input: the keyboard's suggestion of the code and pasting fill every box at once.",
|
|
1492
|
+
"description": "A one-time code in boxes over one real input: the keyboard's suggestion of the code and pasting fill every box at once.",
|
|
1493
|
+
"status": "beta",
|
|
1494
|
+
"category": "forms",
|
|
1495
|
+
"platforms": "native",
|
|
1496
|
+
"examples": {
|
|
1497
|
+
"web": 0,
|
|
1498
|
+
"native": 2
|
|
1307
1499
|
},
|
|
1308
1500
|
"dependencies": [],
|
|
1309
1501
|
"registryDependencies": []
|
|
@@ -1383,6 +1575,22 @@
|
|
|
1383
1575
|
],
|
|
1384
1576
|
"registryDependencies": []
|
|
1385
1577
|
},
|
|
1578
|
+
{
|
|
1579
|
+
"name": "permission-prompt",
|
|
1580
|
+
"type": "native",
|
|
1581
|
+
"title": "Permission prompt",
|
|
1582
|
+
"summary": "Before the system's permission dialog, the app says why: a bird, what it is for, the button that asks — and the way to the settings once refused.",
|
|
1583
|
+
"description": "Before the system's permission dialog, the app says why: a bird, what it is for, the button that asks — and the way to the settings once refused.",
|
|
1584
|
+
"status": "beta",
|
|
1585
|
+
"category": "feedback",
|
|
1586
|
+
"platforms": "native",
|
|
1587
|
+
"examples": {
|
|
1588
|
+
"web": 0,
|
|
1589
|
+
"native": 2
|
|
1590
|
+
},
|
|
1591
|
+
"dependencies": [],
|
|
1592
|
+
"registryDependencies": []
|
|
1593
|
+
},
|
|
1386
1594
|
{
|
|
1387
1595
|
"name": "pointer-light",
|
|
1388
1596
|
"type": "primitive",
|
|
@@ -1520,6 +1728,22 @@
|
|
|
1520
1728
|
"cn"
|
|
1521
1729
|
]
|
|
1522
1730
|
},
|
|
1731
|
+
{
|
|
1732
|
+
"name": "pull-to-refresh",
|
|
1733
|
+
"type": "native",
|
|
1734
|
+
"title": "Pull to refresh",
|
|
1735
|
+
"summary": "The platform's pull to refresh in the theme's accent, for any ScrollView or FlatList.",
|
|
1736
|
+
"description": "The platform's pull to refresh in the theme's accent, for any ScrollView or FlatList.",
|
|
1737
|
+
"status": "beta",
|
|
1738
|
+
"category": "feedback",
|
|
1739
|
+
"platforms": "native",
|
|
1740
|
+
"examples": {
|
|
1741
|
+
"web": 0,
|
|
1742
|
+
"native": 1
|
|
1743
|
+
},
|
|
1744
|
+
"dependencies": [],
|
|
1745
|
+
"registryDependencies": []
|
|
1746
|
+
},
|
|
1523
1747
|
{
|
|
1524
1748
|
"name": "radio-group",
|
|
1525
1749
|
"type": "primitive",
|
|
@@ -1570,7 +1794,7 @@
|
|
|
1570
1794
|
"platforms": "both",
|
|
1571
1795
|
"examples": {
|
|
1572
1796
|
"web": 3,
|
|
1573
|
-
"native":
|
|
1797
|
+
"native": 2
|
|
1574
1798
|
},
|
|
1575
1799
|
"dependencies": [
|
|
1576
1800
|
"tailwind-variants@^3.3.1"
|
|
@@ -1771,7 +1995,7 @@
|
|
|
1771
1995
|
"category": "data-display",
|
|
1772
1996
|
"platforms": "web",
|
|
1773
1997
|
"examples": {
|
|
1774
|
-
"web":
|
|
1998
|
+
"web": 6,
|
|
1775
1999
|
"native": 0
|
|
1776
2000
|
},
|
|
1777
2001
|
"dependencies": [
|
|
@@ -1806,10 +2030,10 @@
|
|
|
1806
2030
|
"description": "The steps of a journey or a job: done steps checked, the current one traced by the Krizaka glyph (growing to its value), failures crossed, connectors that fill — and every state said in words.",
|
|
1807
2031
|
"status": "beta",
|
|
1808
2032
|
"category": "navigation",
|
|
1809
|
-
"platforms": "
|
|
2033
|
+
"platforms": "both",
|
|
1810
2034
|
"examples": {
|
|
1811
2035
|
"web": 3,
|
|
1812
|
-
"native":
|
|
2036
|
+
"native": 1
|
|
1813
2037
|
},
|
|
1814
2038
|
"dependencies": [
|
|
1815
2039
|
"tailwind-variants@^3.3.1"
|
|
@@ -1818,6 +2042,22 @@
|
|
|
1818
2042
|
"spinner"
|
|
1819
2043
|
]
|
|
1820
2044
|
},
|
|
2045
|
+
{
|
|
2046
|
+
"name": "swipeable-row",
|
|
2047
|
+
"type": "native",
|
|
2048
|
+
"title": "Swipeable row",
|
|
2049
|
+
"summary": "A row whose actions show under a swipe: left for the trailing ones, right for the leading ones, a full swipe runs the outermost.",
|
|
2050
|
+
"description": "A row whose actions show under a swipe: left for the trailing ones, right for the leading ones, a full swipe runs the outermost.",
|
|
2051
|
+
"status": "beta",
|
|
2052
|
+
"category": "data-display",
|
|
2053
|
+
"platforms": "native",
|
|
2054
|
+
"examples": {
|
|
2055
|
+
"web": 0,
|
|
2056
|
+
"native": 1
|
|
2057
|
+
},
|
|
2058
|
+
"dependencies": [],
|
|
2059
|
+
"registryDependencies": []
|
|
2060
|
+
},
|
|
1821
2061
|
{
|
|
1822
2062
|
"name": "switch",
|
|
1823
2063
|
"type": "primitive",
|
|
@@ -1837,6 +2077,22 @@
|
|
|
1837
2077
|
],
|
|
1838
2078
|
"registryDependencies": []
|
|
1839
2079
|
},
|
|
2080
|
+
{
|
|
2081
|
+
"name": "tab-bar",
|
|
2082
|
+
"type": "native",
|
|
2083
|
+
"title": "Tab bar",
|
|
2084
|
+
"summary": "The app's main sections at the bottom of the screen: an icon and a word each, a badge for what is new, clear of the home indicator.",
|
|
2085
|
+
"description": "The app's main sections at the bottom of the screen: an icon and a word each, a badge for what is new, clear of the home indicator.",
|
|
2086
|
+
"status": "beta",
|
|
2087
|
+
"category": "navigation",
|
|
2088
|
+
"platforms": "native",
|
|
2089
|
+
"examples": {
|
|
2090
|
+
"web": 0,
|
|
2091
|
+
"native": 1
|
|
2092
|
+
},
|
|
2093
|
+
"dependencies": [],
|
|
2094
|
+
"registryDependencies": []
|
|
2095
|
+
},
|
|
1840
2096
|
{
|
|
1841
2097
|
"name": "tabs",
|
|
1842
2098
|
"type": "primitive",
|
|
@@ -1845,10 +2101,10 @@
|
|
|
1845
2101
|
"description": "Views of the same page, one at a time: underlined sections, a segmented switch or pills — one light glides from the active tab to the next, in every variant.",
|
|
1846
2102
|
"status": "beta",
|
|
1847
2103
|
"category": "navigation",
|
|
1848
|
-
"platforms": "
|
|
2104
|
+
"platforms": "both",
|
|
1849
2105
|
"examples": {
|
|
1850
2106
|
"web": 4,
|
|
1851
|
-
"native":
|
|
2107
|
+
"native": 2
|
|
1852
2108
|
},
|
|
1853
2109
|
"dependencies": [
|
|
1854
2110
|
"radix-ui@^1.7.0",
|
|
@@ -1921,7 +2177,7 @@
|
|
|
1921
2177
|
"platforms": "both",
|
|
1922
2178
|
"examples": {
|
|
1923
2179
|
"web": 5,
|
|
1924
|
-
"native":
|
|
2180
|
+
"native": 3
|
|
1925
2181
|
},
|
|
1926
2182
|
"dependencies": [
|
|
1927
2183
|
"sonner@^2.0.8"
|
|
@@ -1969,6 +2225,24 @@
|
|
|
1969
2225
|
"cn"
|
|
1970
2226
|
]
|
|
1971
2227
|
},
|
|
2228
|
+
{
|
|
2229
|
+
"name": "tree-view",
|
|
2230
|
+
"type": "primitive",
|
|
2231
|
+
"title": "Tree view",
|
|
2232
|
+
"summary": "A hierarchy the keyboard walks — the ARIA tree: one tab stop, the arrows move and open, a letter jumps, branches load on demand.",
|
|
2233
|
+
"description": "A hierarchy the keyboard walks — the ARIA tree: one tab stop, the arrows move and open, a letter jumps, branches load on demand.",
|
|
2234
|
+
"status": "beta",
|
|
2235
|
+
"category": "navigation",
|
|
2236
|
+
"platforms": "web",
|
|
2237
|
+
"examples": {
|
|
2238
|
+
"web": 2,
|
|
2239
|
+
"native": 0
|
|
2240
|
+
},
|
|
2241
|
+
"dependencies": [
|
|
2242
|
+
"tailwind-variants@^3.3.1"
|
|
2243
|
+
],
|
|
2244
|
+
"registryDependencies": []
|
|
2245
|
+
},
|
|
1972
2246
|
{
|
|
1973
2247
|
"name": "txt",
|
|
1974
2248
|
"type": "native",
|
package/registry/iso.json
CHANGED
|
@@ -727,7 +727,7 @@
|
|
|
727
727
|
},
|
|
728
728
|
{
|
|
729
729
|
"path": "meta.ts",
|
|
730
|
-
"content": "// The documentation of a component, carried by its code: each primitive has a `meta.ts` beside its source\n// (`src/<name>/meta.ts`; a component that exists only in React Native: `src/native/meta/<name>.ts`). Never built into\n// the package: `scripts/build-registry.mjs` reads them into `registry/<name>.json`, which krizaka.com renders as\n// /docs/ui/<name>, and `scripts/registry.test.mjs` fails when one is missing or incomplete.\n//\n// Why a typed module and not JSDoc tags: the fields are lists and links (`related`, `whenNotToUse[].use`, examples),\n// which a type checks and a comment does not; the file is plain data (erasable TypeScript), so Node reads it without a\n// compiler, and an editor completes it.\n\n/** Every documented component: the web primitives (one entry of the package each) and the native-only ones. */\nexport type ComponentName =\n | \"achievement\"\n | \"action-bar\"\n | \"alert\"\n | \"app-shell\"\n | \"argument-card\"\n | \"audio-player\"\n | \"auth-layout\"\n | \"avatar\"\n | \"badge\"\n | \"button\"\n | \"card\"\n | \"card-grid\"\n | \"catalogue-page\"\n | \"changelog-page\"\n | \"checkbox\"\n | \"chip\"\n | \"chip-link\"\n | \"choice-grid\"\n | \"cn\"\n | \"code-block\"\n | \"combobox\"\n | \"command\"\n | \"component-page\"\n | \"confirm-button\"\n | \"contact-page\"\n | \"continue-prompt\"\n | \"countdown\"\n | \"cta-panel\"\n | \"dashboard-layout\"\n | \"data-table\"\n | \"date-picker\"\n | \"decision-list\"\n | \"detail-layout\"\n | \"dialog\"\n | \"docs-article-page\"\n | \"docs-hub-page\"\n | \"docs-layout\"\n | \"dropdown-menu\"\n | \"empty-state\"\n | \"error-page\"\n | \"field\"\n | \"file-upload\"\n | \"filter-bar\"\n | \"form\"\n | \"gallery-page\"\n | \"glow-card\"\n | \"goal-gauge\"\n | \"how-it-works-page\"\n | \"image-cropper\"\n | \"iso\"\n | \"kbd\"\n | \"landing-page\"\n | \"landscape\"\n | \"legal-page\"\n | \"link-card\"\n | \"list\"\n | \"loader\"\n | \"longform-page\"\n | \"marketing-layout\"\n | \"marquee\"\n | \"mascot-quote\"\n | \"mascot-state\"\n | \"mascots\"\n | \"media-capture\"\n | \"meter\"\n | \"nav-bar\"\n | \"number-ticker\"\n | \"page\"\n | \"page-header\"\n | \"page-hero\"\n | \"pagination\"\n | \"pointer-light\"\n | \"popover\"\n | \"pricing-page\"\n | \"product-page\"\n | \"profile-card\"\n | \"progress\"\n | \"promise-card\"\n | \"radio-group\"\n | \"scroll-stage\"\n | \"search-field\"\n | \"section-backdrop\"\n | \"segmented\"\n | \"separator\"\n | \"settings-layout\"\n | \"skeleton\"\n | \"slider\"\n | \"slot\"\n | \"spinner\"\n | \"split-view\"\n | \"stage-banner\"\n | \"stat\"\n | \"status-page\"\n | \"stepper\"\n | \"switch\"\n | \"tabs\"\n | \"tag-input\"\n | \"terminal-replay\"\n | \"theme\"\n | \"toast\"\n | \"toc\"\n | \"tooltip\"\n | \"txt\"\n | \"video-player\"\n | \"video-trimmer\"\n | \"virtual\";\n\n/** Where a component exists: `@krizaka/ui/<name>` (web), `@krizaka/ui/native` (React Native), or both. */\nexport type Platform = \"web\" | \"native\" | \"both\";\n\n/** `stable`: its API only changes in a major. `beta`: it may still change in a minor. */\nexport type Status = \"stable\" | \"beta\";\n\n/**\n * The group of the catalogue. `media`: video, sound, camera, files, cropping. `blocks`: the page blocks — the frame,\n * the hero, sections, cards that lead or argue, decisions, code, calls to act — that every page of a site is made of.\n * `layouts`: the shells of whole screens — an application, a dashboard, settings, sign-in, an object, a list and its\n * item, a site's page, a documentation page — each with its screens. `templates`: the page templates — whole pages of a\n * site (a landing, a product, a docs hub, a long read, a changelog, pricing, status, an error…), each a distinct\n * composition of the blocks, words and content as props.\n */\nexport type Category = \"actions\" | \"forms\" | \"navigation\" | \"overlays\" | \"feedback\" | \"data-display\" | \"media\" | \"blocks\" | \"layouts\" | \"templates\" | \"layout\" | \"foundations\";\n\n/**\n * A named example: the file `registry/examples/<component>/<name>.tsx` (web) or\n * `registry/examples/<component>/native/<name>.tsx` (React Native) — at most 40 lines, imported by the stories and\n * shown (live, with its code) by the documentation.\n */\nexport interface Example {\n /** The file name, kebab-case (`primary`, `icon-button`). */\n readonly name: string;\n /** A short title (`Primary`, `Icon button`). */\n readonly title: string;\n /** One or two sentences: when this variant is the right one. */\n readonly description: string;\n /**\n * A template: a whole screen of a product composed from the platform (a layout and its blocks, real words, its phone\n * version thought out), copied as a starting point — at most 160 lines, listed on krizaka.com/docs/ui/templates.\n */\n readonly template?: boolean;\n}\n\n/** One platform's side of a component. */\nexport interface PlatformDocs {\n /** The names to import (`[\"Button\", \"IconButton\"]`): from `@krizaka/ui/<name>` on the web, `@krizaka/ui/native` in React Native. */\n readonly imports: readonly string[];\n /** The examples, in reading order; the first one is the component's preview. */\n readonly examples: readonly Example[];\n}\n\n/** The React Native side: the same concept, and what differs from the web API. */\nexport interface NativeDocs extends PlatformDocs {\n /**\n * The entry to import from when it is not `@krizaka/ui/native`: a component that needs an Expo module (an optional\n * peer) has its own, `@krizaka/ui/native/<name>`, so an app that does not use it never installs the module.\n */\n readonly entry?: string;\n /** What differs from the web API (`label` instead of children…); empty for a native-only component. */\n readonly differences: readonly string[];\n}\n\nexport interface KeyboardInteraction {\n /** The keys, as written on a keyboard: `Space`, `Enter`, `Arrow keys`, `Esc`, `Tab`. */\n readonly keys: string;\n /** What they do. */\n readonly action: string;\n}\n\nexport interface ComponentMeta {\n /** The display name: `Button`, `Dropdown menu`. */\n readonly title: string;\n /** One sentence: what it is. */\n readonly summary: string;\n readonly status: Status;\n readonly category: Category;\n /** Must match the sides below: `both` ⇔ `web` and `native`. */\n readonly platforms: Platform;\n /** When to reach for it: concrete situations, one per item. */\n readonly whenToUse: readonly string[];\n /** When not to — and what to use instead (`use`), when another component is the answer. */\n readonly whenNotToUse: readonly { readonly when: string; readonly use?: ComponentName }[];\n /** How to use it well: wording, placement, composition. */\n readonly bestPractices: readonly string[];\n readonly accessibility: {\n /** The keyboard, when it does more than Tab and Enter. */\n readonly keyboard: readonly KeyboardInteraction[];\n /** Roles, names and announcements: what the component does, what the app must provide. */\n readonly notes: readonly string[];\n };\n /** The components a reader of this page should know about. */\n readonly related: readonly ComponentName[];\n readonly web?: PlatformDocs;\n readonly native?: NativeDocs;\n}\n"
|
|
730
|
+
"content": "// The documentation of a component, carried by its code: each primitive has a `meta.ts` beside its source\n// (`src/<name>/meta.ts`; a component that exists only in React Native: `src/native/meta/<name>.ts`). Never built into\n// the package: `scripts/build-registry.mjs` reads them into `registry/<name>.json`, which krizaka.com renders as\n// /docs/ui/<name>, and `scripts/registry.test.mjs` fails when one is missing or incomplete.\n//\n// Why a typed module and not JSDoc tags: the fields are lists and links (`related`, `whenNotToUse[].use`, examples),\n// which a type checks and a comment does not; the file is plain data (erasable TypeScript), so Node reads it without a\n// compiler, and an editor completes it.\n\n/** Every documented component: the web primitives (one entry of the package each) and the native-only ones. */\nexport type ComponentName =\n | \"achievement\"\n | \"action-bar\"\n | \"activity-feed\"\n | \"action-sheet\"\n | \"alert\"\n | \"app-shell\"\n | \"argument-card\"\n | \"audio-player\"\n | \"auth-layout\"\n | \"avatar\"\n | \"badge\"\n | \"button\"\n | \"card\"\n | \"card-grid\"\n | \"catalogue-page\"\n | \"changelog-page\"\n | \"checkbox\"\n | \"chip\"\n | \"chip-link\"\n | \"choice-grid\"\n | \"cn\"\n | \"code-block\"\n | \"combobox\"\n | \"command\"\n | \"component-page\"\n | \"confirm-button\"\n | \"contact-page\"\n | \"continue-prompt\"\n | \"countdown\"\n | \"cta-panel\"\n | \"dashboard-layout\"\n | \"data-table\"\n | \"date-picker\"\n | \"decision-list\"\n | \"description-list\"\n | \"detail-layout\"\n | \"dialog\"\n | \"docs-article-page\"\n | \"docs-hub-page\"\n | \"docs-layout\"\n | \"dropdown-menu\"\n | \"empty-state\"\n | \"error-page\"\n | \"fab\"\n | \"field\"\n | \"file-upload\"\n | \"filter-bar\"\n | \"form\"\n | \"gallery-page\"\n | \"glow-card\"\n | \"goal-gauge\"\n | \"header\"\n | \"how-it-works-page\"\n | \"image-cropper\"\n | \"image-viewer\"\n | \"iso\"\n | \"kanban\"\n | \"kbd\"\n | \"landing-page\"\n | \"landscape\"\n | \"legal-page\"\n | \"link-card\"\n | \"list\"\n | \"loader\"\n | \"map\"\n | \"longform-page\"\n | \"marketing-layout\"\n | \"marquee\"\n | \"mascot-quote\"\n | \"mascot-state\"\n | \"mascots\"\n | \"media-capture\"\n | \"media-picker\"\n | \"meter\"\n | \"nav-bar\"\n | \"number-ticker\"\n | \"onboarding\"\n | \"otp-input\"\n | \"page\"\n | \"page-header\"\n | \"page-hero\"\n | \"pagination\"\n | \"permission-prompt\"\n | \"pointer-light\"\n | \"popover\"\n | \"pricing-page\"\n | \"product-page\"\n | \"profile-card\"\n | \"progress\"\n | \"promise-card\"\n | \"pull-to-refresh\"\n | \"radio-group\"\n | \"scroll-stage\"\n | \"search-field\"\n | \"section-backdrop\"\n | \"segmented\"\n | \"separator\"\n | \"settings-layout\"\n | \"skeleton\"\n | \"slider\"\n | \"slot\"\n | \"spinner\"\n | \"split-view\"\n | \"stage-banner\"\n | \"stat\"\n | \"status-page\"\n | \"stepper\"\n | \"swipeable-row\"\n | \"switch\"\n | \"tab-bar\"\n | \"tabs\"\n | \"tag-input\"\n | \"terminal-replay\"\n | \"theme\"\n | \"toast\"\n | \"toc\"\n | \"tooltip\"\n | \"tree-view\"\n | \"txt\"\n | \"video-player\"\n | \"video-trimmer\"\n | \"virtual\";\n\n/** Where a component exists: `@krizaka/ui/<name>` (web), `@krizaka/ui/native` (React Native), or both. */\nexport type Platform = \"web\" | \"native\" | \"both\";\n\n/** `stable`: its API only changes in a major. `beta`: it may still change in a minor. */\nexport type Status = \"stable\" | \"beta\";\n\n/**\n * The group of the catalogue. `media`: video, sound, camera, files, cropping. `blocks`: the page blocks — the frame,\n * the hero, sections, cards that lead or argue, decisions, code, calls to act — that every page of a site is made of.\n * `layouts`: the shells of whole screens — an application, a dashboard, settings, sign-in, an object, a list and its\n * item, a site's page, a documentation page — each with its screens. `templates`: the page templates — whole pages of a\n * site (a landing, a product, a docs hub, a long read, a changelog, pricing, status, an error…), each a distinct\n * composition of the blocks, words and content as props.\n */\nexport type Category = \"actions\" | \"forms\" | \"navigation\" | \"overlays\" | \"feedback\" | \"data-display\" | \"media\" | \"blocks\" | \"layouts\" | \"templates\" | \"layout\" | \"foundations\";\n\n/**\n * A named example: the file `registry/examples/<component>/<name>.tsx` (web) or\n * `registry/examples/<component>/native/<name>.tsx` (React Native) — at most 40 lines, imported by the stories and\n * shown (live, with its code) by the documentation.\n */\nexport interface Example {\n /** The file name, kebab-case (`primary`, `icon-button`). */\n readonly name: string;\n /** A short title (`Primary`, `Icon button`). */\n readonly title: string;\n /** One or two sentences: when this variant is the right one. */\n readonly description: string;\n /**\n * A template: a whole screen of a product composed from the platform (a layout and its blocks, real words, its phone\n * version thought out), copied as a starting point — at most 160 lines, listed on krizaka.com/docs/ui/templates.\n */\n readonly template?: boolean;\n}\n\n/** One platform's side of a component. */\nexport interface PlatformDocs {\n /** The names to import (`[\"Button\", \"IconButton\"]`): from `@krizaka/ui/<name>` on the web, `@krizaka/ui/native` in React Native. */\n readonly imports: readonly string[];\n /** The examples, in reading order; the first one is the component's preview. */\n readonly examples: readonly Example[];\n}\n\n/** The React Native side: the same concept, and what differs from the web API. */\nexport interface NativeDocs extends PlatformDocs {\n /**\n * The entry to import from when it is not `@krizaka/ui/native`: a component that needs an Expo module (an optional\n * peer) has its own, `@krizaka/ui/native/<name>`, so an app that does not use it never installs the module.\n */\n readonly entry?: string;\n /** What differs from the web API (`label` instead of children…); empty for a native-only component. */\n readonly differences: readonly string[];\n}\n\nexport interface KeyboardInteraction {\n /** The keys, as written on a keyboard: `Space`, `Enter`, `Arrow keys`, `Esc`, `Tab`. */\n readonly keys: string;\n /** What they do. */\n readonly action: string;\n}\n\nexport interface ComponentMeta {\n /** The display name: `Button`, `Dropdown menu`. */\n readonly title: string;\n /** One sentence: what it is. */\n readonly summary: string;\n readonly status: Status;\n readonly category: Category;\n /** Must match the sides below: `both` ⇔ `web` and `native`. */\n readonly platforms: Platform;\n /** When to reach for it: concrete situations, one per item. */\n readonly whenToUse: readonly string[];\n /** When not to — and what to use instead (`use`), when another component is the answer. */\n readonly whenNotToUse: readonly { readonly when: string; readonly use?: ComponentName }[];\n /** How to use it well: wording, placement, composition. */\n readonly bestPractices: readonly string[];\n readonly accessibility: {\n /** The keyboard, when it does more than Tab and Enter. */\n readonly keyboard: readonly KeyboardInteraction[];\n /** Roles, names and announcements: what the component does, what the app must provide. */\n readonly notes: readonly string[];\n };\n /** The components a reader of this page should know about. */\n readonly related: readonly ComponentName[];\n readonly web?: PlatformDocs;\n readonly native?: NativeDocs;\n}\n"
|
|
731
731
|
}
|
|
732
732
|
],
|
|
733
733
|
"dependencies": [],
|