@krizaka/ui 2.0.0-beta.5 → 2.0.0-beta.6
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/README.md +37 -22
- package/dist/native.d.ts +38 -0
- package/dist/native.js.map +1 -1
- package/package.json +11 -11
- package/registry/alert.json +141 -3
- package/registry/avatar.json +299 -3
- package/registry/badge.json +233 -3
- package/registry/button.json +496 -3
- package/registry/card.json +411 -3
- package/registry/checkbox.json +127 -3
- package/registry/chip.json +394 -3
- package/registry/cn.json +51 -3
- package/registry/command.json +222 -3
- package/registry/confirm-button.json +170 -3
- package/registry/countdown.json +273 -3
- package/registry/dialog.json +310 -3
- package/registry/dropdown-menu.json +116 -3
- package/registry/empty-state.json +170 -3
- package/registry/examples/alert/danger.d.ts +4 -0
- package/registry/examples/alert/danger.js +22 -0
- package/registry/examples/alert/danger.tsx +25 -0
- package/registry/examples/alert/info.d.ts +4 -0
- package/registry/{demos/alert.js → examples/alert/info.js} +3 -3
- package/registry/{demos/alert.tsx → examples/alert/info.tsx} +1 -1
- package/registry/examples/alert/success.d.ts +4 -0
- package/registry/examples/alert/success.js +12 -0
- package/registry/examples/alert/success.tsx +15 -0
- package/registry/examples/alert/title-only.d.ts +4 -0
- package/registry/examples/alert/title-only.js +11 -0
- package/registry/examples/alert/title-only.tsx +5 -0
- package/registry/examples/alert/warning.d.ts +4 -0
- package/registry/examples/alert/warning.js +13 -0
- package/registry/examples/alert/warning.tsx +17 -0
- package/registry/examples/avatar/fallback.d.ts +4 -0
- package/registry/examples/avatar/fallback.js +11 -0
- package/registry/examples/avatar/fallback.tsx +6 -0
- package/registry/examples/avatar/group.d.ts +4 -0
- package/registry/examples/avatar/group.js +20 -0
- package/registry/examples/avatar/group.tsx +21 -0
- package/registry/examples/avatar/native/group.d.ts +4 -0
- package/registry/examples/avatar/native/group.dark.png +0 -0
- package/registry/examples/avatar/native/group.js +17 -0
- package/registry/examples/avatar/native/group.light.png +0 -0
- package/registry/examples/avatar/native/group.tsx +13 -0
- package/registry/examples/avatar/native/sizes.d.ts +4 -0
- package/registry/examples/avatar/native/sizes.dark.png +0 -0
- package/registry/examples/avatar/native/sizes.js +18 -0
- package/registry/examples/avatar/native/sizes.light.png +0 -0
- package/registry/examples/avatar/native/sizes.tsx +15 -0
- package/registry/examples/avatar/sizes.d.ts +4 -0
- package/registry/examples/avatar/sizes.js +17 -0
- package/registry/examples/avatar/sizes.tsx +13 -0
- package/registry/examples/avatar/with-image.d.ts +4 -0
- package/registry/{demos/avatar.js → examples/avatar/with-image.js} +3 -3
- package/registry/{demos/avatar.tsx → examples/avatar/with-image.tsx} +1 -1
- package/registry/examples/badge/accent.d.ts +4 -0
- package/registry/examples/badge/accent.js +11 -0
- package/registry/examples/badge/accent.tsx +9 -0
- package/registry/examples/badge/danger.d.ts +4 -0
- package/registry/examples/badge/danger.js +11 -0
- package/registry/examples/badge/danger.tsx +9 -0
- package/registry/examples/badge/medium.d.ts +4 -0
- package/registry/examples/badge/medium.js +11 -0
- package/registry/examples/badge/medium.tsx +9 -0
- package/registry/examples/badge/native/dot.d.ts +4 -0
- package/registry/examples/badge/native/dot.dark.png +0 -0
- package/registry/examples/badge/native/dot.js +15 -0
- package/registry/examples/badge/native/dot.light.png +0 -0
- package/registry/examples/badge/native/dot.tsx +16 -0
- package/registry/examples/badge/native/scrim.d.ts +4 -0
- package/registry/examples/badge/native/scrim.dark.png +0 -0
- package/registry/examples/badge/native/scrim.js +13 -0
- package/registry/examples/badge/native/scrim.light.png +0 -0
- package/registry/examples/badge/native/scrim.tsx +14 -0
- package/registry/examples/badge/native/tones.d.ts +4 -0
- package/registry/examples/badge/native/tones.dark.png +0 -0
- package/registry/examples/badge/native/tones.js +18 -0
- package/registry/examples/badge/native/tones.light.png +0 -0
- package/registry/examples/badge/native/tones.tsx +14 -0
- package/registry/examples/badge/neutral.d.ts +4 -0
- package/registry/{demos/badge.js → examples/badge/neutral.js} +3 -3
- package/registry/{demos/badge.tsx → examples/badge/neutral.tsx} +1 -1
- package/registry/examples/badge/scrim.d.ts +4 -0
- package/registry/examples/badge/scrim.js +11 -0
- package/registry/examples/badge/scrim.tsx +10 -0
- package/registry/examples/badge/success.d.ts +4 -0
- package/registry/examples/badge/success.js +11 -0
- package/registry/examples/badge/success.tsx +9 -0
- package/registry/examples/badge/warning.d.ts +4 -0
- package/registry/examples/badge/warning.js +11 -0
- package/registry/examples/badge/warning.tsx +9 -0
- package/registry/examples/button/as-child-link.d.ts +4 -0
- package/registry/examples/button/as-child-link.js +11 -0
- package/registry/examples/button/as-child-link.tsx +10 -0
- package/registry/examples/button/danger.d.ts +4 -0
- package/registry/examples/button/danger.js +11 -0
- package/registry/examples/button/danger.tsx +5 -0
- package/registry/examples/button/disabled.d.ts +4 -0
- package/registry/examples/button/disabled.js +11 -0
- package/registry/examples/button/disabled.tsx +9 -0
- package/registry/examples/button/ghost.d.ts +4 -0
- package/registry/examples/button/ghost.js +11 -0
- package/registry/examples/button/ghost.tsx +5 -0
- package/registry/examples/button/icon.d.ts +4 -0
- package/registry/examples/button/icon.js +14 -0
- package/registry/examples/button/icon.tsx +18 -0
- package/registry/examples/button/loading.d.ts +4 -0
- package/registry/examples/button/loading.js +11 -0
- package/registry/examples/button/loading.tsx +10 -0
- package/registry/examples/button/native/danger.d.ts +4 -0
- package/registry/examples/button/native/danger.dark.png +0 -0
- package/registry/examples/button/native/danger.js +12 -0
- package/registry/examples/button/native/danger.light.png +0 -0
- package/registry/examples/button/native/danger.tsx +5 -0
- package/registry/examples/button/native/disabled.d.ts +4 -0
- package/registry/examples/button/native/disabled.dark.png +0 -0
- package/registry/examples/button/native/disabled.js +11 -0
- package/registry/examples/button/native/disabled.light.png +0 -0
- package/registry/examples/button/native/disabled.tsx +5 -0
- package/registry/examples/button/native/ghost.d.ts +4 -0
- package/registry/examples/button/native/ghost.dark.png +0 -0
- package/registry/examples/button/native/ghost.js +12 -0
- package/registry/examples/button/native/ghost.light.png +0 -0
- package/registry/examples/button/native/ghost.tsx +5 -0
- package/registry/examples/button/native/icon-only.d.ts +4 -0
- package/registry/examples/button/native/icon-only.dark.png +0 -0
- package/registry/examples/button/native/icon-only.js +19 -0
- package/registry/examples/button/native/icon-only.light.png +0 -0
- package/registry/examples/button/native/icon-only.tsx +21 -0
- package/registry/examples/button/native/icon.d.ts +4 -0
- package/registry/examples/button/native/icon.dark.png +0 -0
- package/registry/examples/button/native/icon.js +16 -0
- package/registry/examples/button/native/icon.light.png +0 -0
- package/registry/examples/button/native/icon.tsx +15 -0
- package/registry/examples/button/native/loading.d.ts +4 -0
- package/registry/examples/button/native/loading.dark.png +0 -0
- package/registry/examples/button/native/loading.js +11 -0
- package/registry/examples/button/native/loading.light.png +0 -0
- package/registry/examples/button/native/loading.tsx +6 -0
- package/registry/examples/button/native/outline.d.ts +4 -0
- package/registry/examples/button/native/outline.dark.png +0 -0
- package/registry/examples/button/native/outline.js +12 -0
- package/registry/examples/button/native/outline.light.png +0 -0
- package/registry/examples/button/native/outline.tsx +5 -0
- package/registry/examples/button/native/primary.d.ts +4 -0
- package/registry/examples/button/native/primary.dark.png +0 -0
- package/registry/examples/button/native/primary.js +12 -0
- package/registry/examples/button/native/primary.light.png +0 -0
- package/registry/examples/button/native/primary.tsx +5 -0
- package/registry/examples/button/native/secondary.d.ts +4 -0
- package/registry/examples/button/native/secondary.dark.png +0 -0
- package/registry/examples/button/native/secondary.js +12 -0
- package/registry/examples/button/native/secondary.light.png +0 -0
- package/registry/examples/button/native/secondary.tsx +6 -0
- package/registry/examples/button/native/sizes.d.ts +4 -0
- package/registry/examples/button/native/sizes.dark.png +0 -0
- package/registry/examples/button/native/sizes.js +15 -0
- package/registry/examples/button/native/sizes.light.png +0 -0
- package/registry/examples/button/native/sizes.tsx +11 -0
- package/registry/examples/button/outline.d.ts +4 -0
- package/registry/examples/button/outline.js +11 -0
- package/registry/examples/button/outline.tsx +5 -0
- package/registry/examples/button/pill.d.ts +4 -0
- package/registry/examples/button/pill.js +11 -0
- package/registry/examples/button/pill.tsx +9 -0
- package/registry/examples/button/primary.d.ts +4 -0
- package/registry/{demos/button.js → examples/button/primary.js} +3 -3
- package/registry/{demos/button.tsx → examples/button/primary.tsx} +1 -1
- package/registry/examples/button/secondary.d.ts +4 -0
- package/registry/examples/button/secondary.js +11 -0
- package/registry/examples/button/secondary.tsx +6 -0
- package/registry/examples/button/sizes.d.ts +4 -0
- package/registry/examples/button/sizes.js +15 -0
- package/registry/examples/button/sizes.tsx +17 -0
- package/registry/examples/card/interactive-link.d.ts +4 -0
- package/registry/examples/card/interactive-link.js +15 -0
- package/registry/examples/card/interactive-link.tsx +16 -0
- package/registry/examples/card/media-card.d.ts +4 -0
- package/registry/{demos/card.js → examples/card/media-card.js} +3 -3
- package/registry/{demos/card.tsx → examples/card/media-card.tsx} +1 -1
- package/registry/examples/card/media-fallback.d.ts +4 -0
- package/registry/examples/card/media-fallback.js +18 -0
- package/registry/examples/card/media-fallback.tsx +22 -0
- package/registry/examples/card/native/body.d.ts +4 -0
- package/registry/examples/card/native/body.dark.png +0 -0
- package/registry/examples/card/native/body.js +15 -0
- package/registry/examples/card/native/body.light.png +0 -0
- package/registry/examples/card/native/body.tsx +13 -0
- package/registry/examples/card/native/default.d.ts +4 -0
- package/registry/examples/card/native/default.dark.png +0 -0
- package/registry/examples/card/native/default.js +24 -0
- package/registry/examples/card/native/default.light.png +0 -0
- package/registry/examples/card/native/default.tsx +28 -0
- package/registry/examples/card/native/elevated.d.ts +4 -0
- package/registry/examples/card/native/elevated.dark.png +0 -0
- package/registry/examples/card/native/elevated.js +24 -0
- package/registry/examples/card/native/elevated.light.png +0 -0
- package/registry/examples/card/native/elevated.tsx +28 -0
- package/registry/examples/card/native/pressable.d.ts +4 -0
- package/registry/examples/card/native/pressable.dark.png +0 -0
- package/registry/examples/card/native/pressable.js +15 -0
- package/registry/examples/card/native/pressable.light.png +0 -0
- package/registry/examples/card/native/pressable.tsx +13 -0
- package/registry/examples/card/reveal-grid.d.ts +4 -0
- package/registry/examples/card/reveal-grid.js +28 -0
- package/registry/examples/card/reveal-grid.tsx +31 -0
- package/registry/examples/card/stat-card.d.ts +4 -0
- package/registry/examples/card/stat-card.js +18 -0
- package/registry/examples/card/stat-card.tsx +17 -0
- package/registry/examples/checkbox/checked.d.ts +4 -0
- package/registry/examples/checkbox/checked.js +11 -0
- package/registry/examples/checkbox/checked.tsx +5 -0
- package/registry/examples/checkbox/disabled.d.ts +4 -0
- package/registry/examples/checkbox/disabled.js +14 -0
- package/registry/examples/checkbox/disabled.tsx +12 -0
- package/registry/examples/checkbox/indeterminate.d.ts +4 -0
- package/registry/examples/checkbox/indeterminate.js +11 -0
- package/registry/examples/checkbox/indeterminate.tsx +6 -0
- package/registry/examples/checkbox/invalid.d.ts +4 -0
- package/registry/examples/checkbox/invalid.js +15 -0
- package/registry/examples/checkbox/invalid.tsx +14 -0
- package/registry/examples/checkbox/unchecked.d.ts +4 -0
- package/registry/{demos/checkbox.js → examples/checkbox/unchecked.js} +3 -3
- package/registry/{demos/checkbox.tsx → examples/checkbox/unchecked.tsx} +2 -1
- package/registry/examples/chip/multiple.d.ts +4 -0
- package/registry/examples/chip/multiple.js +16 -0
- package/registry/examples/chip/multiple.tsx +12 -0
- package/registry/examples/chip/native/multiple.d.ts +4 -0
- package/registry/examples/chip/native/multiple.dark.png +0 -0
- package/registry/examples/chip/native/multiple.js +18 -0
- package/registry/examples/chip/native/multiple.light.png +0 -0
- package/registry/examples/chip/native/multiple.tsx +17 -0
- package/registry/examples/chip/native/removable.d.ts +4 -0
- package/registry/examples/chip/native/removable.dark.png +0 -0
- package/registry/examples/chip/native/removable.js +17 -0
- package/registry/examples/chip/native/removable.light.png +0 -0
- package/registry/examples/chip/native/removable.tsx +15 -0
- package/registry/examples/chip/native/single.d.ts +4 -0
- package/registry/examples/chip/native/single.dark.png +0 -0
- package/registry/examples/chip/native/single.js +15 -0
- package/registry/examples/chip/native/single.light.png +0 -0
- package/registry/examples/chip/native/single.tsx +11 -0
- package/registry/examples/chip/native/toggle.d.ts +4 -0
- package/registry/examples/chip/native/toggle.dark.png +0 -0
- package/registry/examples/chip/native/toggle.js +17 -0
- package/registry/examples/chip/native/toggle.light.png +0 -0
- package/registry/examples/chip/native/toggle.tsx +16 -0
- package/registry/examples/chip/removable.d.ts +4 -0
- package/registry/examples/chip/removable.js +16 -0
- package/registry/examples/chip/removable.tsx +15 -0
- package/registry/examples/chip/single.d.ts +4 -0
- package/registry/examples/chip/single.js +16 -0
- package/registry/examples/chip/single.tsx +13 -0
- package/registry/examples/chip/small.d.ts +4 -0
- package/registry/examples/chip/small.js +16 -0
- package/registry/examples/chip/small.tsx +12 -0
- package/registry/examples/chip/toggle.d.ts +4 -0
- package/registry/{demos/chip.js → examples/chip/toggle.js} +3 -3
- package/registry/{demos/chip.tsx → examples/chip/toggle.tsx} +2 -1
- package/registry/examples/cn/merge.d.ts +4 -0
- package/registry/{demos/cn.js → examples/cn/merge.js} +3 -3
- package/registry/{demos/cn.tsx → examples/cn/merge.tsx} +1 -1
- package/registry/examples/command/dialog.d.ts +4 -0
- package/registry/examples/command/dialog.js +40 -0
- package/registry/examples/command/dialog.tsx +36 -0
- package/registry/examples/command/inline.d.ts +4 -0
- package/registry/{demos/command.js → examples/command/inline.js} +3 -3
- package/registry/{demos/command.tsx → examples/command/inline.tsx} +1 -1
- package/registry/examples/confirm-button/armed.d.ts +4 -0
- package/registry/examples/confirm-button/armed.js +12 -0
- package/registry/examples/confirm-button/armed.tsx +14 -0
- package/registry/examples/confirm-button/idle.d.ts +4 -0
- package/registry/{demos/confirm-button.js → examples/confirm-button/idle.js} +3 -3
- package/registry/{demos/confirm-button.tsx → examples/confirm-button/idle.tsx} +1 -1
- package/registry/examples/confirm-button/with-text.d.ts +4 -0
- package/registry/examples/confirm-button/with-text.js +12 -0
- package/registry/examples/confirm-button/with-text.tsx +12 -0
- package/registry/examples/countdown/days.d.ts +4 -0
- package/registry/examples/countdown/days.js +13 -0
- package/registry/examples/countdown/days.tsx +10 -0
- package/registry/examples/countdown/ended.d.ts +4 -0
- package/registry/examples/countdown/ended.js +13 -0
- package/registry/examples/countdown/ended.tsx +10 -0
- package/registry/examples/countdown/hours.d.ts +4 -0
- package/registry/{demos/countdown.js → examples/countdown/hours.js} +3 -3
- package/registry/{demos/countdown.tsx → examples/countdown/hours.tsx} +1 -1
- package/registry/examples/countdown/native/days.d.ts +4 -0
- package/registry/examples/countdown/native/days.dark.png +0 -0
- package/registry/examples/countdown/native/days.js +13 -0
- package/registry/examples/countdown/native/days.light.png +0 -0
- package/registry/examples/countdown/native/days.tsx +7 -0
- package/registry/examples/countdown/native/hours.d.ts +4 -0
- package/registry/examples/countdown/native/hours.dark.png +0 -0
- package/registry/examples/countdown/native/hours.js +13 -0
- package/registry/examples/countdown/native/hours.light.png +0 -0
- package/registry/examples/countdown/native/hours.tsx +7 -0
- package/registry/examples/countdown/native/sizes.d.ts +4 -0
- package/registry/examples/countdown/native/sizes.dark.png +0 -0
- package/registry/examples/countdown/native/sizes.js +18 -0
- package/registry/examples/countdown/native/sizes.light.png +0 -0
- package/registry/examples/countdown/native/sizes.tsx +15 -0
- package/registry/examples/countdown/native/urgent.d.ts +4 -0
- package/registry/examples/countdown/native/urgent.dark.png +0 -0
- package/registry/examples/countdown/native/urgent.js +13 -0
- package/registry/examples/countdown/native/urgent.light.png +0 -0
- package/registry/examples/countdown/native/urgent.tsx +7 -0
- package/registry/examples/countdown/sizes.d.ts +4 -0
- package/registry/examples/countdown/sizes.js +18 -0
- package/registry/examples/countdown/sizes.tsx +17 -0
- package/registry/examples/countdown/urgent.d.ts +4 -0
- package/registry/examples/countdown/urgent.js +13 -0
- package/registry/examples/countdown/urgent.tsx +10 -0
- package/registry/examples/dialog/alert-destructive.d.ts +4 -0
- package/registry/examples/dialog/alert-destructive.js +24 -0
- package/registry/examples/dialog/alert-destructive.tsx +20 -0
- package/registry/examples/dialog/bottom.d.ts +4 -0
- package/registry/examples/dialog/bottom.js +29 -0
- package/registry/examples/dialog/bottom.tsx +32 -0
- package/registry/examples/dialog/center.d.ts +4 -0
- package/registry/{demos/dialog.js → examples/dialog/center.js} +3 -3
- package/registry/{demos/dialog.tsx → examples/dialog/center.tsx} +1 -1
- package/registry/examples/dialog/gate.d.ts +4 -0
- package/registry/examples/dialog/gate.js +24 -0
- package/registry/examples/dialog/gate.tsx +27 -0
- package/registry/examples/dialog/right.d.ts +4 -0
- package/registry/examples/dialog/right.js +29 -0
- package/registry/examples/dialog/right.tsx +32 -0
- package/registry/examples/dialog/sheet-form.d.ts +4 -0
- package/registry/examples/dialog/sheet-form.js +35 -0
- package/registry/examples/dialog/sheet-form.tsx +36 -0
- package/registry/examples/dropdown-menu/actions.d.ts +4 -0
- package/registry/{demos/dropdown-menu.js → examples/dropdown-menu/actions.js} +3 -3
- package/registry/{demos/dropdown-menu.tsx → examples/dropdown-menu/actions.tsx} +1 -1
- package/registry/examples/empty-state/default.d.ts +4 -0
- package/registry/{demos/empty-state.js → examples/empty-state/default.js} +3 -3
- package/registry/{demos/empty-state.tsx → examples/empty-state/default.tsx} +1 -1
- package/registry/examples/empty-state/native/default.d.ts +4 -0
- package/registry/examples/empty-state/native/default.dark.png +0 -0
- package/registry/examples/empty-state/native/default.js +25 -0
- package/registry/examples/empty-state/native/default.light.png +0 -0
- package/registry/examples/empty-state/native/default.tsx +25 -0
- package/registry/examples/empty-state/title-only.d.ts +4 -0
- package/registry/examples/empty-state/title-only.js +11 -0
- package/registry/examples/empty-state/title-only.tsx +5 -0
- package/registry/examples/empty-state/with-action.d.ts +4 -0
- package/registry/examples/empty-state/with-action.js +24 -0
- package/registry/examples/empty-state/with-action.tsx +25 -0
- package/registry/examples/field/default.d.ts +4 -0
- package/registry/{demos/field.js → examples/field/default.js} +3 -3
- package/registry/{demos/field.tsx → examples/field/default.tsx} +1 -1
- package/registry/examples/field/disabled.d.ts +4 -0
- package/registry/examples/field/disabled.js +14 -0
- package/registry/examples/field/disabled.tsx +10 -0
- package/registry/examples/field/invalid.d.ts +4 -0
- package/registry/examples/field/invalid.js +15 -0
- package/registry/examples/field/invalid.tsx +12 -0
- package/registry/examples/field/select.d.ts +4 -0
- package/registry/examples/field/select.js +18 -0
- package/registry/examples/field/select.tsx +15 -0
- package/registry/examples/field/textarea.d.ts +4 -0
- package/registry/examples/field/textarea.js +14 -0
- package/registry/examples/field/textarea.tsx +10 -0
- package/registry/examples/kbd/key.d.ts +4 -0
- package/registry/{demos/kbd.js → examples/kbd/key.js} +3 -3
- package/registry/{demos/kbd.tsx → examples/kbd/key.tsx} +1 -1
- package/registry/examples/kbd/shortcut.d.ts +4 -0
- package/registry/examples/kbd/shortcut.js +15 -0
- package/registry/examples/kbd/shortcut.tsx +11 -0
- package/registry/examples/kbd/small.d.ts +4 -0
- package/registry/examples/kbd/small.js +11 -0
- package/registry/examples/kbd/small.tsx +5 -0
- package/registry/examples/page-header/default.d.ts +4 -0
- package/registry/{demos/page-header.js → examples/page-header/default.js} +3 -3
- package/registry/{demos/page-header.tsx → examples/page-header/default.tsx} +1 -1
- package/registry/examples/page-header/with-actions.d.ts +4 -0
- package/registry/examples/page-header/with-actions.js +22 -0
- package/registry/examples/page-header/with-actions.tsx +17 -0
- package/registry/examples/page-header/with-breadcrumb.d.ts +4 -0
- package/registry/examples/page-header/with-breadcrumb.js +24 -0
- package/registry/examples/page-header/with-breadcrumb.tsx +26 -0
- package/registry/examples/popover/form.d.ts +4 -0
- package/registry/{demos/popover.js → examples/popover/form.js} +3 -3
- package/registry/{demos/popover.tsx → examples/popover/form.tsx} +1 -1
- package/registry/examples/progress/bar-indeterminate.d.ts +4 -0
- package/registry/examples/progress/bar-indeterminate.js +11 -0
- package/registry/examples/progress/bar-indeterminate.tsx +6 -0
- package/registry/examples/progress/bar-sizes.d.ts +4 -0
- package/registry/examples/progress/bar-sizes.js +15 -0
- package/registry/examples/progress/bar-sizes.tsx +11 -0
- package/registry/examples/progress/bar.d.ts +4 -0
- package/registry/{demos/progress.js → examples/progress/bar.js} +3 -3
- package/registry/{demos/progress.tsx → examples/progress/bar.tsx} +1 -1
- package/registry/examples/progress/native/bar.d.ts +4 -0
- package/registry/examples/progress/native/bar.dark.png +0 -0
- package/registry/examples/progress/native/bar.js +16 -0
- package/registry/examples/progress/native/bar.light.png +0 -0
- package/registry/examples/progress/native/bar.tsx +12 -0
- package/registry/examples/progress/native/indeterminate.d.ts +4 -0
- package/registry/examples/progress/native/indeterminate.dark.png +0 -0
- package/registry/examples/progress/native/indeterminate.js +15 -0
- package/registry/examples/progress/native/indeterminate.light.png +0 -0
- package/registry/examples/progress/native/indeterminate.tsx +12 -0
- package/registry/examples/progress/native/ring.d.ts +4 -0
- package/registry/examples/progress/native/ring.dark.png +0 -0
- package/registry/examples/progress/native/ring.js +19 -0
- package/registry/examples/progress/native/ring.light.png +0 -0
- package/registry/examples/progress/native/ring.tsx +19 -0
- package/registry/examples/progress/ring-indeterminate.d.ts +4 -0
- package/registry/examples/progress/ring-indeterminate.js +11 -0
- package/registry/examples/progress/ring-indeterminate.tsx +5 -0
- package/registry/examples/progress/ring.d.ts +4 -0
- package/registry/examples/progress/ring.js +18 -0
- package/registry/examples/progress/ring.tsx +17 -0
- package/registry/examples/radio-group/cards.d.ts +4 -0
- package/registry/examples/radio-group/cards.js +19 -0
- package/registry/examples/radio-group/cards.tsx +21 -0
- package/registry/examples/radio-group/horizontal.d.ts +4 -0
- package/registry/examples/radio-group/horizontal.js +15 -0
- package/registry/examples/radio-group/horizontal.tsx +12 -0
- package/registry/examples/radio-group/items.d.ts +4 -0
- package/registry/{demos/radio-group.js → examples/radio-group/items.js} +3 -3
- package/registry/{demos/radio-group.tsx → examples/radio-group/items.tsx} +1 -1
- package/registry/examples/section-backdrop/depth-of-field.d.ts +4 -0
- package/registry/examples/section-backdrop/depth-of-field.js +18 -0
- package/registry/examples/section-backdrop/depth-of-field.tsx +13 -0
- package/registry/examples/section-backdrop/hero.d.ts +4 -0
- package/registry/{demos/section-backdrop.js → examples/section-backdrop/hero.js} +3 -3
- package/registry/{demos/section-backdrop.tsx → examples/section-backdrop/hero.tsx} +1 -1
- package/registry/examples/section-backdrop/plain.d.ts +4 -0
- package/registry/examples/section-backdrop/plain.js +11 -0
- package/registry/examples/section-backdrop/plain.tsx +10 -0
- package/registry/examples/section-backdrop/sequence.d.ts +4 -0
- package/registry/examples/section-backdrop/sequence.js +14 -0
- package/registry/examples/section-backdrop/sequence.tsx +15 -0
- package/registry/examples/section-backdrop/up.d.ts +4 -0
- package/registry/examples/section-backdrop/up.js +11 -0
- package/registry/examples/section-backdrop/up.tsx +10 -0
- package/registry/examples/segmented/native/default.d.ts +4 -0
- package/registry/examples/segmented/native/default.dark.png +0 -0
- package/registry/examples/segmented/native/default.js +19 -0
- package/registry/examples/segmented/native/default.light.png +0 -0
- package/registry/examples/segmented/native/default.tsx +19 -0
- package/registry/examples/segmented/native/small.d.ts +4 -0
- package/registry/examples/segmented/native/small.dark.png +0 -0
- package/registry/examples/segmented/native/small.js +19 -0
- package/registry/examples/segmented/native/small.light.png +0 -0
- package/registry/examples/segmented/native/small.tsx +19 -0
- package/registry/examples/separator/horizontal.d.ts +4 -0
- package/registry/{demos/separator.js → examples/separator/horizontal.js} +3 -3
- package/registry/{demos/separator.tsx → examples/separator/horizontal.tsx} +1 -1
- package/registry/examples/separator/vertical.d.ts +4 -0
- package/registry/examples/separator/vertical.js +17 -0
- package/registry/examples/separator/vertical.tsx +14 -0
- package/registry/examples/skeleton/circle.d.ts +4 -0
- package/registry/examples/skeleton/circle.js +11 -0
- package/registry/examples/skeleton/circle.tsx +5 -0
- package/registry/examples/skeleton/composition.d.ts +4 -0
- package/registry/{demos/skeleton.js → examples/skeleton/composition.js} +3 -3
- package/registry/{demos/skeleton.tsx → examples/skeleton/composition.tsx} +1 -1
- package/registry/examples/skeleton/native/shapes.d.ts +4 -0
- package/registry/examples/skeleton/native/shapes.dark.png +0 -0
- package/registry/examples/skeleton/native/shapes.js +21 -0
- package/registry/examples/skeleton/native/shapes.light.png +0 -0
- package/registry/examples/skeleton/native/shapes.tsx +18 -0
- package/registry/examples/skeleton/rect.d.ts +4 -0
- package/registry/examples/skeleton/rect.js +11 -0
- package/registry/examples/skeleton/rect.tsx +5 -0
- package/registry/examples/skeleton/text.d.ts +4 -0
- package/registry/examples/skeleton/text.js +11 -0
- package/registry/examples/skeleton/text.tsx +5 -0
- package/registry/examples/slider/centred.d.ts +4 -0
- package/registry/examples/slider/centred.js +11 -0
- package/registry/examples/slider/centred.tsx +8 -0
- package/registry/examples/slider/default.d.ts +4 -0
- package/registry/{demos/slider.js → examples/slider/default.js} +3 -3
- package/registry/{demos/slider.tsx → examples/slider/default.tsx} +1 -1
- package/registry/examples/slider/disabled.d.ts +4 -0
- package/registry/examples/slider/disabled.js +11 -0
- package/registry/examples/slider/disabled.tsx +5 -0
- package/registry/examples/slider/range.d.ts +4 -0
- package/registry/examples/slider/range.js +22 -0
- package/registry/examples/slider/range.tsx +18 -0
- package/registry/examples/slider/with-label.d.ts +4 -0
- package/registry/examples/slider/with-label.js +11 -0
- package/registry/examples/slider/with-label.tsx +8 -0
- package/registry/examples/slot/as-child.d.ts +4 -0
- package/registry/{demos/slot.js → examples/slot/as-child.js} +3 -3
- package/registry/{demos/slot.tsx → examples/slot/as-child.tsx} +1 -1
- package/registry/examples/slot/visually-hidden.d.ts +4 -0
- package/registry/examples/slot/visually-hidden.js +14 -0
- package/registry/examples/slot/visually-hidden.tsx +13 -0
- package/registry/examples/spinner/default.d.ts +4 -0
- package/registry/{demos/spinner.js → examples/spinner/default.js} +3 -3
- package/registry/{demos/spinner.tsx → examples/spinner/default.tsx} +1 -1
- package/registry/examples/spinner/muted.d.ts +4 -0
- package/registry/examples/spinner/muted.js +11 -0
- package/registry/examples/spinner/muted.tsx +6 -0
- package/registry/examples/spinner/native/sizes.d.ts +4 -0
- package/registry/examples/spinner/native/sizes.dark.png +0 -0
- package/registry/examples/spinner/native/sizes.js +16 -0
- package/registry/examples/spinner/native/sizes.light.png +0 -0
- package/registry/examples/spinner/native/sizes.tsx +13 -0
- package/registry/examples/spinner/sizes.d.ts +4 -0
- package/registry/examples/spinner/sizes.js +15 -0
- package/registry/examples/spinner/sizes.tsx +11 -0
- package/registry/examples/stat/down.d.ts +4 -0
- package/registry/examples/stat/down.js +11 -0
- package/registry/examples/stat/down.tsx +5 -0
- package/registry/examples/stat/flat.d.ts +4 -0
- package/registry/examples/stat/flat.js +11 -0
- package/registry/examples/stat/flat.tsx +5 -0
- package/registry/examples/stat/plain.d.ts +4 -0
- package/registry/examples/stat/plain.js +11 -0
- package/registry/examples/stat/plain.tsx +5 -0
- package/registry/examples/stat/row.d.ts +4 -0
- package/registry/examples/stat/row.js +15 -0
- package/registry/examples/stat/row.tsx +12 -0
- package/registry/examples/stat/up.d.ts +4 -0
- package/registry/{demos/stat.js → examples/stat/up.js} +3 -3
- package/registry/{demos/stat.tsx → examples/stat/up.tsx} +1 -1
- package/registry/examples/switch/disabled.d.ts +4 -0
- package/registry/examples/switch/disabled.js +14 -0
- package/registry/examples/switch/disabled.tsx +10 -0
- package/registry/examples/switch/off.d.ts +4 -0
- package/registry/{demos/switch.js → examples/switch/off.js} +3 -3
- package/registry/{demos/switch.tsx → examples/switch/off.tsx} +1 -1
- package/registry/examples/switch/on.d.ts +4 -0
- package/registry/examples/switch/on.js +11 -0
- package/registry/examples/switch/on.tsx +5 -0
- package/registry/examples/switch/small.d.ts +4 -0
- package/registry/examples/switch/small.js +11 -0
- package/registry/examples/switch/small.tsx +5 -0
- package/registry/examples/switch/with-label.d.ts +4 -0
- package/registry/examples/switch/with-label.js +18 -0
- package/registry/examples/switch/with-label.tsx +17 -0
- package/registry/examples/tabs/pills.d.ts +4 -0
- package/registry/examples/tabs/pills.js +20 -0
- package/registry/examples/tabs/pills.tsx +23 -0
- package/registry/examples/tabs/segmented.d.ts +4 -0
- package/registry/examples/tabs/segmented.js +20 -0
- package/registry/examples/tabs/segmented.tsx +23 -0
- package/registry/examples/tabs/underline.d.ts +4 -0
- package/registry/{demos/tabs.js → examples/tabs/underline.js} +3 -3
- package/registry/{demos/tabs.tsx → examples/tabs/underline.tsx} +1 -1
- package/registry/examples/tabs/vertical.d.ts +4 -0
- package/registry/examples/tabs/vertical.js +20 -0
- package/registry/examples/tabs/vertical.tsx +23 -0
- package/registry/examples/theme/native/provider.d.ts +4 -0
- package/registry/examples/theme/native/provider.js +23 -0
- package/registry/examples/theme/native/provider.tsx +21 -0
- package/registry/examples/theme/secondary.d.ts +4 -0
- package/registry/examples/theme/secondary.js +11 -0
- package/registry/examples/theme/secondary.tsx +10 -0
- package/registry/examples/theme/toggle.d.ts +4 -0
- package/registry/{demos/theme.js → examples/theme/toggle.js} +3 -3
- package/registry/{demos/theme.tsx → examples/theme/toggle.tsx} +1 -1
- package/registry/examples/toast/custom.d.ts +4 -0
- package/registry/examples/toast/custom.js +30 -0
- package/registry/examples/toast/custom.tsx +35 -0
- package/registry/examples/toast/native/notification.d.ts +4 -0
- package/registry/examples/toast/native/notification.dark.png +0 -0
- package/registry/examples/toast/native/notification.js +29 -0
- package/registry/examples/toast/native/notification.light.png +0 -0
- package/registry/examples/toast/native/notification.tsx +30 -0
- package/registry/examples/toast/native/tones.d.ts +4 -0
- package/registry/examples/toast/native/tones.dark.png +0 -0
- package/registry/examples/toast/native/tones.js +28 -0
- package/registry/examples/toast/native/tones.light.png +0 -0
- package/registry/examples/toast/native/tones.tsx +25 -0
- package/registry/examples/toast/tones.d.ts +4 -0
- package/registry/{demos/toast.js → examples/toast/tones.js} +3 -3
- package/registry/{demos/toast.tsx → examples/toast/tones.tsx} +1 -1
- package/registry/examples/tooltip/right.d.ts +4 -0
- package/registry/examples/tooltip/right.js +15 -0
- package/registry/examples/tooltip/right.tsx +15 -0
- package/registry/examples/tooltip/top.d.ts +4 -0
- package/registry/{demos/tooltip.js → examples/tooltip/top.js} +3 -3
- package/registry/{demos/tooltip.tsx → examples/tooltip/top.tsx} +1 -1
- package/registry/examples/txt/native/tones.d.ts +4 -0
- package/registry/examples/txt/native/tones.dark.png +0 -0
- package/registry/examples/txt/native/tones.js +16 -0
- package/registry/examples/txt/native/tones.light.png +0 -0
- package/registry/examples/txt/native/tones.tsx +17 -0
- package/registry/examples/txt/native/variants.d.ts +4 -0
- package/registry/examples/txt/native/variants.dark.png +0 -0
- package/registry/examples/txt/native/variants.js +18 -0
- package/registry/examples/txt/native/variants.light.png +0 -0
- package/registry/examples/txt/native/variants.tsx +15 -0
- package/registry/field.json +141 -3
- package/registry/index.json +353 -33
- package/registry/kbd.json +90 -3
- package/registry/page-header.json +121 -3
- package/registry/popover.json +90 -3
- package/registry/progress.json +265 -3
- package/registry/radio-group.json +136 -3
- package/registry/section-backdrop.json +144 -3
- package/registry/segmented.json +125 -0
- package/registry/separator.json +67 -3
- package/registry/skeleton.json +166 -3
- package/registry/slider.json +177 -3
- package/registry/slot.json +79 -3
- package/registry/spinner.json +144 -3
- package/registry/stat.json +140 -3
- package/registry/switch.json +130 -3
- package/registry/tabs.json +117 -3
- package/registry/theme.json +189 -3
- package/registry/toast.json +190 -3
- package/registry/tooltip.json +143 -3
- package/registry/txt.json +97 -0
- package/registry/demos/alert.d.ts +0 -5
- package/registry/demos/avatar.d.ts +0 -5
- package/registry/demos/badge.d.ts +0 -5
- package/registry/demos/button.d.ts +0 -5
- package/registry/demos/card.d.ts +0 -5
- package/registry/demos/checkbox.d.ts +0 -5
- package/registry/demos/chip.d.ts +0 -5
- package/registry/demos/cn.d.ts +0 -7
- package/registry/demos/command.d.ts +0 -5
- package/registry/demos/confirm-button.d.ts +0 -5
- package/registry/demos/countdown.d.ts +0 -5
- package/registry/demos/dialog.d.ts +0 -7
- package/registry/demos/dropdown-menu.d.ts +0 -7
- package/registry/demos/empty-state.d.ts +0 -5
- package/registry/demos/field.d.ts +0 -5
- package/registry/demos/kbd.d.ts +0 -5
- package/registry/demos/page-header.d.ts +0 -5
- package/registry/demos/popover.d.ts +0 -7
- package/registry/demos/progress.d.ts +0 -5
- package/registry/demos/radio-group.d.ts +0 -5
- package/registry/demos/section-backdrop.d.ts +0 -5
- package/registry/demos/separator.d.ts +0 -5
- package/registry/demos/skeleton.d.ts +0 -5
- package/registry/demos/slider.d.ts +0 -5
- package/registry/demos/slot.d.ts +0 -5
- package/registry/demos/spinner.d.ts +0 -5
- package/registry/demos/stat.d.ts +0 -5
- package/registry/demos/switch.d.ts +0 -5
- package/registry/demos/tabs.d.ts +0 -5
- package/registry/demos/theme.d.ts +0 -5
- package/registry/demos/toast.d.ts +0 -8
- package/registry/demos/tooltip.d.ts +0 -7
package/README.md
CHANGED
|
@@ -153,7 +153,7 @@ Colours are roles of the preset (`bg-surface-2`, `text-fg-secondary`, `border-bo
|
|
|
153
153
|
| `@krizaka/ui` | the marks, `MotionObserver`, `RotatingWord`, `cx` (unchanged) | client |
|
|
154
154
|
| `@krizaka/ui/native` | React Native: `ThemeProvider`/`useTheme`, `Txt`, `Button`, `IconButton`, `Card.*`, `Badge`, `Chip` (+ `Group`), `Avatar` (+ `Group`), `Skeleton`, `EmptyState`, `Spinner`, `Countdown`, `Segmented`, `Progress`, `Toaster`/`toast`, the marks — see [React Native](#react-native) | native |
|
|
155
155
|
| `@krizaka/ui/motion.css`, `@krizaka/ui/tailwind.css` | the motion signature; the `@source` of the primitives' classes | CSS |
|
|
156
|
-
| `@krizaka/ui/registry/<name>`, `@krizaka/ui/registry/
|
|
156
|
+
| `@krizaka/ui/registry/<name>`, `@krizaka/ui/registry/examples/<name>/<example>` | the registry (JSON) and the examples — see [Registry](#registry--the-code-drives-the-documentation) | data · client |
|
|
157
157
|
|
|
158
158
|
The theme is one mechanism for every product: dark by default, `html.light` for light, `html.theme-<name>` for a named
|
|
159
159
|
theme, persisted as `kz-theme` (and `kz-theme-name`).
|
|
@@ -168,34 +168,48 @@ theme, persisted as `kz-theme` (and `kz-theme-name`).
|
|
|
168
168
|
<ThemeToggle label={(mode) => t(`theme.${mode}`)} />
|
|
169
169
|
```
|
|
170
170
|
|
|
171
|
-
## Registry
|
|
172
|
-
|
|
173
|
-
Every
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
171
|
+
## Registry — the code drives the documentation
|
|
172
|
+
|
|
173
|
+
Every component is also published as data: **[krizaka.com/docs/ui](https://www.krizaka.com/docs/ui)** is generated
|
|
174
|
+
from it at every build of the site (one page per component: when to use it, live examples with their code for the web
|
|
175
|
+
and React Native, props, accessibility), and, later, a `npx @krizaka/cli add <name>` may copy a primitive into a
|
|
176
|
+
product that forks it knowingly. Built by `scripts/build-registry.mjs` after tsup, from three sources in the code:
|
|
177
|
+
|
|
178
|
+
- **`meta.ts`** beside each component (`src/<name>/meta.ts`, `src/cn.meta.ts`; a React-Native-only component:
|
|
179
|
+
`src/native/meta/<name>.ts`), typed by `src/meta.ts`: title, summary, status (`stable` · `beta`), category,
|
|
180
|
+
platforms (`web` · `native` · `both`), when to use it, when not (and what to use instead), best practices,
|
|
181
|
+
accessibility (keyboard, roles), related components, and per platform the names to import, the named examples and,
|
|
182
|
+
for React Native, what differs from the web API. A typed module rather than JSDoc tags: the fields are lists and
|
|
183
|
+
links between components, which the compiler checks; the file is plain data that Node reads without a build.
|
|
184
|
+
- **Named examples**: `registry/examples/<name>/<example>.tsx` (web) and `registry/examples/<name>/native/<example>.tsx`
|
|
185
|
+
(React Native) — one per significant variant, ≤ 40 lines, importing what a product imports (`@krizaka/ui/<entry>`,
|
|
186
|
+
`@krizaka/ui/native`, `react-native`). The stories render them, so Storybook's visual tests and the docs show the
|
|
187
|
+
same code. An example that opens over the page takes `defaultOpen` (the story opens it; the docs leave it closed).
|
|
188
|
+
- **Props** of the web and native components, read by `react-docgen-typescript` from the JSDoc of their props types:
|
|
189
|
+
own props only (inherited DOM, Radix and `Pressable` props are left out).
|
|
190
|
+
|
|
191
|
+
`scripts/registry.test.mjs` fails when a component has no `meta.ts`, an empty section, an unknown related component, a
|
|
192
|
+
platform that does not match its exports, an example missing or longer than 40 lines, or a prop without a
|
|
193
|
+
description; `src/registry.test.tsx` (Vitest, axe) and `src/native/examples.test.tsx` (Jest) render every example.
|
|
177
194
|
|
|
178
195
|
| Path | What |
|
|
179
196
|
| :-- | :-- |
|
|
180
|
-
| `@krizaka/ui/registry/index` | `{ name, version, items: [{ name, type,
|
|
181
|
-
| `@krizaka/ui/registry/<name>` | `
|
|
182
|
-
| `@krizaka/ui/registry/
|
|
197
|
+
| `@krizaka/ui/registry/index` | `{ name, version, items: [{ name, type, title, summary, status, category, platforms, examples: { web, native }, dependencies, registryDependencies }] }` |
|
|
198
|
+
| `@krizaka/ui/registry/<name>` | the `meta.ts` fields, `web` and `native` (`{ entry, import, props, examples: [{ name, title, description, path, module, code }] }`, `native` adds `differences` and, per example, `screenshots: { dark, light }`), and for a web primitive `files: [{ path, content }]`, `dependencies`, `registryDependencies`, `demo` (its first example) and `props` |
|
|
199
|
+
| `@krizaka/ui/registry/examples/<name>/<example>` | an example, compiled (ESM, `"use client"`, `default` export); its source ships beside it (`.tsx`), and a React Native example its screenshots (`<example>.dark.png`, `<example>.light.png`: the Linux baselines of its story — React Native has no live preview on the web) |
|
|
183
200
|
|
|
184
201
|
- `files` are the sources (paths from `src/`); `dependencies` are npm `name@range` (React aside); `registryDependencies`
|
|
185
|
-
are the other primitives it imports (`cn`, `button`…).
|
|
202
|
+
are the other primitives it imports (`cn`, `button`…). `type` is `primitive` (a web entry) or `native` (React Native
|
|
203
|
+
only: `segmented`, `txt`).
|
|
186
204
|
- `props` is one entry per exported component — `{ component, description, props: [{ name, type, default, description,
|
|
187
|
-
required }] }
|
|
188
|
-
its variants included; inherited DOM and Radix props are left out. A test fails on a prop without a description.
|
|
189
|
-
- A demo is ≤ 40 lines, imports the primitives as a product does (`@krizaka/ui/<name>`) and is the default story of
|
|
190
|
-
the primitive: Storybook and the docs show the same code. A demo that opens over the page takes `defaultOpen` (the
|
|
191
|
-
story opens it for the screenshot; the docs leave it closed).
|
|
205
|
+
required }] }`.
|
|
192
206
|
|
|
193
207
|
```ts
|
|
194
|
-
import
|
|
195
|
-
import
|
|
208
|
+
import button from "@krizaka/ui/registry/button" with { type: "json" };
|
|
209
|
+
import Primary from "@krizaka/ui/registry/examples/button/primary";
|
|
196
210
|
```
|
|
197
211
|
|
|
198
|
-
A site that renders the
|
|
212
|
+
A site that renders the examples adds them to Tailwind's sources: `@source "../node_modules/@krizaka/ui/registry/examples";`.
|
|
199
213
|
|
|
200
214
|
## React Native
|
|
201
215
|
|
|
@@ -267,7 +281,8 @@ import { Button, Card, Countdown, OrochiaMark } from "@krizaka/ui/native";
|
|
|
267
281
|
<OrochiaMark size={72} title="Orochia" neutral={theme.borderDefault} />
|
|
268
282
|
```
|
|
269
283
|
|
|
270
|
-
The native stories (`Native
|
|
284
|
+
The native stories (`Native/*`, rendering the `registry/examples/<name>/native` examples) render through
|
|
285
|
+
react-native-web in the internal Storybook: audited by axe
|
|
271
286
|
and screenshot-compared in dark and light like the web ones. Tests run on Jest with React Native's preset and
|
|
272
287
|
Testing Library (`src/native/*.test.tsx`); `scripts/native-dist.mjs` checks that `dist/native.js` carries no
|
|
273
288
|
`"use client"`, no DOM and no import beyond React, `react-native` and `react-native-svg`.
|
|
@@ -334,8 +349,8 @@ classes the components use are generated in your stylesheet.
|
|
|
334
349
|
@import "@krizaka/ui/tailwind.css";
|
|
335
350
|
```
|
|
336
351
|
|
|
337
|
-
Every component,
|
|
338
|
-
[krizaka.
|
|
352
|
+
Every component, with when to use it, live examples and their code (web and React Native) and its props:
|
|
353
|
+
[krizaka.com/docs/ui](https://www.krizaka.com/docs/ui).
|
|
339
354
|
|
|
340
355
|
## Develop
|
|
341
356
|
|
package/dist/native.d.ts
CHANGED
|
@@ -23,6 +23,7 @@ type BrandId = "krizaka" | "orazaka" | "orochia";
|
|
|
23
23
|
|
|
24
24
|
type AvatarSize = "xs" | "sm" | "md" | "lg" | "xl";
|
|
25
25
|
type AvatarProps = Omit<ViewProps, "children"> & {
|
|
26
|
+
/** The image URI; absent, `null` or failing: the fallback. */
|
|
26
27
|
src?: string | null;
|
|
27
28
|
/** The person's name: the image's accessible name and the source of the default initial. */
|
|
28
29
|
alt?: string;
|
|
@@ -48,7 +49,9 @@ declare const Avatar: typeof AvatarRoot & {
|
|
|
48
49
|
|
|
49
50
|
type BadgeTone = "neutral" | "accent" | "success" | "warning" | "danger" | "scrim";
|
|
50
51
|
type BadgeProps = ViewProps & {
|
|
52
|
+
/** neutral (default) · accent · success · warning · danger · scrim (on a media). */
|
|
51
53
|
tone?: BadgeTone;
|
|
54
|
+
/** sm (default) · md. */
|
|
52
55
|
size?: "sm" | "md";
|
|
53
56
|
/** A small dot before the text, in the tone's colour. */
|
|
54
57
|
dot?: boolean;
|
|
@@ -62,12 +65,15 @@ declare function Badge({ tone, size, dot, pulse, style, children, ...props }: Ba
|
|
|
62
65
|
type ButtonVariant = "primary" | "secondary" | "outline" | "ghost" | "danger";
|
|
63
66
|
type ButtonSize = "sm" | "md" | "lg";
|
|
64
67
|
type BaseProps = Omit<PressableProps, "children" | "style"> & {
|
|
68
|
+
/** The look: `primary`, `secondary` (default), `outline`, `ghost`, `danger` — as on the web. */
|
|
65
69
|
variant?: ButtonVariant;
|
|
70
|
+
/** sm · md (default) · lg: 32, 40 or 48 points high. */
|
|
66
71
|
size?: ButtonSize;
|
|
67
72
|
/** `rounded` (default) or `pill`. */
|
|
68
73
|
shape?: "rounded" | "pill";
|
|
69
74
|
/** Disables, shows a spinner in place of the icon and says busy. */
|
|
70
75
|
loading?: boolean;
|
|
76
|
+
/** Styles merged last, over the button's frame. */
|
|
71
77
|
style?: StyleProp<ViewStyle>;
|
|
72
78
|
};
|
|
73
79
|
type ButtonProps = BaseProps & {
|
|
@@ -81,6 +87,7 @@ declare function Button({ label, icon, variant, size, shape, loading, disabled,
|
|
|
81
87
|
type IconButtonProps = BaseProps & {
|
|
82
88
|
/** The accessible name — required, passed translated. */
|
|
83
89
|
label: string;
|
|
90
|
+
/** The icon (from the app's icon set); the button shows nothing else. */
|
|
84
91
|
icon: React.ReactNode;
|
|
85
92
|
};
|
|
86
93
|
/** A square button holding only an icon: `label` is required, it is its accessible name. */
|
|
@@ -132,6 +139,7 @@ declare const textStyles: {
|
|
|
132
139
|
type CardRootProps = ViewProps & {
|
|
133
140
|
/** `default` (the raised surface) or `elevated` (one step higher, with a shadow). */
|
|
134
141
|
tone?: "default" | "elevated";
|
|
142
|
+
/** The corner radius, from the theme: md · lg · xl (default). */
|
|
135
143
|
radius?: "md" | "lg" | "xl";
|
|
136
144
|
/**
|
|
137
145
|
* Makes the whole card pressable: a button for screen readers, named by its content (an `aria-label`, if any, must
|
|
@@ -147,11 +155,13 @@ declare const ASPECT: {
|
|
|
147
155
|
readonly portrait: number;
|
|
148
156
|
};
|
|
149
157
|
type CardMediaProps = ViewProps & {
|
|
158
|
+
/** video (default, 16:9) · square · portrait, or `auto` (the image's own). */
|
|
150
159
|
aspect?: keyof typeof ASPECT | "auto";
|
|
151
160
|
};
|
|
152
161
|
/** The media area at the top of a card: a fixed ratio, the `media` role behind (what shows while an image loads). */
|
|
153
162
|
declare function CardMedia({ aspect, style, ...props }: CardMediaProps): React.JSX.Element;
|
|
154
163
|
type CardImageProps = Omit<ImageProps, "source" | "src"> & {
|
|
164
|
+
/** The image URI; absent or `null`: the `fallback` on the media colour. */
|
|
155
165
|
src?: string | null;
|
|
156
166
|
/** Shown when there is no image: an icon, an illustration (decorative). */
|
|
157
167
|
fallback?: React.ReactNode;
|
|
@@ -160,6 +170,7 @@ type CardImageProps = Omit<ImageProps, "source" | "src"> & {
|
|
|
160
170
|
declare function CardImage({ src, fallback, alt, style, ...props }: CardImageProps): React.JSX.Element;
|
|
161
171
|
declare const CORNER: Record<"top-left" | "top-right" | "bottom-left" | "bottom-right", ViewStyle>;
|
|
162
172
|
type CardOverlayProps = ViewProps & {
|
|
173
|
+
/** The corner of the media it sits in: top-left (default) · top-right · bottom-left · bottom-right. */
|
|
163
174
|
corner?: keyof typeof CORNER;
|
|
164
175
|
};
|
|
165
176
|
/** What sits on the media (badges, a caption), in a corner. */
|
|
@@ -171,6 +182,7 @@ declare const PADDING: {
|
|
|
171
182
|
readonly lg: 24;
|
|
172
183
|
};
|
|
173
184
|
type CardBodyProps = ViewProps & {
|
|
185
|
+
/** none · sm · md (default) · lg. */
|
|
174
186
|
padding?: keyof typeof PADDING;
|
|
175
187
|
};
|
|
176
188
|
declare function CardBody({ padding, style, ...props }: CardBodyProps): React.JSX.Element;
|
|
@@ -192,7 +204,9 @@ declare const Card: {
|
|
|
192
204
|
|
|
193
205
|
type ChipSize = "sm" | "md";
|
|
194
206
|
type CommonProps = Omit<PressableProps, "children" | "style" | "onPress"> & {
|
|
207
|
+
/** sm · md (default); in a group, the group's size. */
|
|
195
208
|
size?: ChipSize;
|
|
209
|
+
/** Styles merged last. */
|
|
196
210
|
style?: StyleProp<ViewStyle>;
|
|
197
211
|
/** The text (passed translated) or a node (an icon and a text). */
|
|
198
212
|
children: React.ReactNode;
|
|
@@ -202,7 +216,9 @@ type ToggleChipProps = CommonProps & {
|
|
|
202
216
|
value?: string;
|
|
203
217
|
/** Alone: pressed or not (`defaultSelected` uncontrolled), `onSelectedChange` on every press. */
|
|
204
218
|
selected?: boolean;
|
|
219
|
+
/** Uncontrolled: selected at first (alone, outside a group). */
|
|
205
220
|
defaultSelected?: boolean;
|
|
221
|
+
/** Alone: called with the new state when it is pressed. */
|
|
206
222
|
onSelectedChange?: (selected: boolean) => void;
|
|
207
223
|
removable?: false;
|
|
208
224
|
};
|
|
@@ -211,18 +227,21 @@ type RemovableChipProps = CommonProps & {
|
|
|
211
227
|
removable: true;
|
|
212
228
|
/** The accessible name of the remove button — passed translated, e.g. "Remove #night". */
|
|
213
229
|
removeLabel: string;
|
|
230
|
+
/** Called when its remove button is pressed. */
|
|
214
231
|
onRemove: () => void;
|
|
215
232
|
};
|
|
216
233
|
type ChipProps = ToggleChipProps | RemovableChipProps;
|
|
217
234
|
/** A selectable pill (`selected` / `onSelectedChange`), an item of `Chip.Group` (`value`), or `removable`. */
|
|
218
235
|
declare function ChipBase(props: ChipProps): React.JSX.Element;
|
|
219
236
|
type GroupBase = {
|
|
237
|
+
/** sm · md (default); in a group, the group's size. */
|
|
220
238
|
size?: ChipSize;
|
|
221
239
|
disabled?: boolean;
|
|
222
240
|
/** One horizontal scrolling row (a filter bar) instead of wrapping lines. */
|
|
223
241
|
scrollable?: boolean;
|
|
224
242
|
/** The accessible name of the group — passed translated. */
|
|
225
243
|
"aria-label"?: string;
|
|
244
|
+
/** Styles merged last. */
|
|
226
245
|
style?: StyleProp<ViewStyle>;
|
|
227
246
|
children: React.ReactNode;
|
|
228
247
|
};
|
|
@@ -245,6 +264,7 @@ declare const Chip: typeof ChipBase & {
|
|
|
245
264
|
};
|
|
246
265
|
|
|
247
266
|
type CountdownProps = {
|
|
267
|
+
/** The moment it counts down to: a Date, an ISO string or epoch milliseconds. */
|
|
248
268
|
target: Date | string | number;
|
|
249
269
|
/** Server clock − this clock, in milliseconds. */
|
|
250
270
|
skewMs?: number;
|
|
@@ -252,9 +272,11 @@ type CountdownProps = {
|
|
|
252
272
|
units: CountdownUnits;
|
|
253
273
|
/** Below this many milliseconds it turns urgent (the danger role, the last segment breathes). Default 60 s. */
|
|
254
274
|
urgentBelowMs?: number;
|
|
275
|
+
/** sm · md (default) · lg. */
|
|
255
276
|
size?: "sm" | "md" | "lg";
|
|
256
277
|
/** Accessible name, e.g. "Ends in". */
|
|
257
278
|
label: string;
|
|
279
|
+
/** Styles merged last. */
|
|
258
280
|
style?: StyleProp<ViewStyle>;
|
|
259
281
|
};
|
|
260
282
|
/**
|
|
@@ -267,7 +289,9 @@ declare function Countdown({ target, skewMs, units, urgentBelowMs, size, label,
|
|
|
267
289
|
type EmptyStateProps = Omit<ViewProps, "children"> & {
|
|
268
290
|
/** A decorative icon (hidden from screen readers). */
|
|
269
291
|
icon?: React.ReactNode;
|
|
292
|
+
/** What is empty, in a few words ("No notifications yet"). */
|
|
270
293
|
title: string;
|
|
294
|
+
/** Why, or what will fill it. */
|
|
271
295
|
description?: string;
|
|
272
296
|
/** What to do next: a Button. */
|
|
273
297
|
action?: React.ReactNode;
|
|
@@ -314,9 +338,11 @@ declare function ProductMark({ id, ...props }: NativeMarkProps & {
|
|
|
314
338
|
type ProgressProps = {
|
|
315
339
|
/** `bar` (default) or `ring`. */
|
|
316
340
|
variant?: "bar" | "ring";
|
|
341
|
+
/** sm · md (default) · lg: the bar's thickness or the ring's diameter. */
|
|
317
342
|
size?: "sm" | "md" | "lg";
|
|
318
343
|
/** How far, between 0 and `max`. `null` or absent: indeterminate (a wait of unknown length). */
|
|
319
344
|
value?: number | null;
|
|
345
|
+
/** The value of a full bar. Default 100. */
|
|
320
346
|
max?: number;
|
|
321
347
|
/** The accessible name — passed translated ("Upload", "Raised towards the goal"). */
|
|
322
348
|
label: string;
|
|
@@ -324,6 +350,7 @@ type ProgressProps = {
|
|
|
324
350
|
valueText?: string;
|
|
325
351
|
/** A ring's centre: an amount, a percentage, an icon. */
|
|
326
352
|
children?: React.ReactNode;
|
|
353
|
+
/** Styles merged last. */
|
|
327
354
|
style?: StyleProp<ViewStyle>;
|
|
328
355
|
};
|
|
329
356
|
/**
|
|
@@ -340,11 +367,15 @@ type SegmentedOption<T extends string> = {
|
|
|
340
367
|
type SegmentedProps<T extends string> = {
|
|
341
368
|
/** The views, in order; `label` passed translated. */
|
|
342
369
|
options: readonly SegmentedOption<T>[];
|
|
370
|
+
/** The selected view (controlled). */
|
|
343
371
|
value: T;
|
|
372
|
+
/** Called with the view pressed. */
|
|
344
373
|
onValueChange: (value: T) => void;
|
|
374
|
+
/** sm · md (default). */
|
|
345
375
|
size?: "sm" | "md";
|
|
346
376
|
/** The accessible name of the tab list — passed translated. */
|
|
347
377
|
"aria-label"?: string;
|
|
378
|
+
/** Styles merged last. */
|
|
348
379
|
style?: StyleProp<ViewStyle>;
|
|
349
380
|
};
|
|
350
381
|
/**
|
|
@@ -356,9 +387,13 @@ declare function Segmented<T extends string>({ options, value, onValueChange, si
|
|
|
356
387
|
type SkeletonProps = {
|
|
357
388
|
/** `text` (a line), `circle` (an avatar), `rect` (a media, a card). */
|
|
358
389
|
shape?: "text" | "circle" | "rect";
|
|
390
|
+
/** Points or a percentage; default: the shape's. */
|
|
359
391
|
width?: DimensionValue;
|
|
392
|
+
/** Points or a percentage; default: the shape's. */
|
|
360
393
|
height?: DimensionValue;
|
|
394
|
+
/** Styles merged last. */
|
|
361
395
|
style?: StyleProp<ViewStyle>;
|
|
396
|
+
/** The id the tests find it by. */
|
|
362
397
|
testID?: string;
|
|
363
398
|
};
|
|
364
399
|
/** A pulsing placeholder the size of what is loading — hidden from screen readers; still when the system reduces motion. */
|
|
@@ -367,6 +402,7 @@ declare function Skeleton({ shape, width, height, style, testID }: SkeletonProps
|
|
|
367
402
|
type SpinnerProps = Omit<ActivityIndicatorProps, "size" | "color"> & {
|
|
368
403
|
/** The accessible name of the wait, e.g. "Loading" — passed translated. */
|
|
369
404
|
label: string;
|
|
405
|
+
/** sm · md (default) · lg. */
|
|
370
406
|
size?: "sm" | "md" | "lg";
|
|
371
407
|
};
|
|
372
408
|
/** An indeterminate wait: the platform's activity indicator in the accent, named by `label`. */
|
|
@@ -451,6 +487,7 @@ type ThemeProviderProps = {
|
|
|
451
487
|
onModeChange?: (mode: Mode) => void;
|
|
452
488
|
/** The product's roles over the platform's, per theme. */
|
|
453
489
|
overrides?: ThemeOverrides;
|
|
490
|
+
/** Font families the app has loaded (`expo-font`…); absent: the system font. */
|
|
454
491
|
fonts?: ThemeFonts;
|
|
455
492
|
};
|
|
456
493
|
/** Once, at the root of the app. Without it, `useTheme()` follows the system with the platform's roles. */
|
|
@@ -499,6 +536,7 @@ declare const toast: typeof show & {
|
|
|
499
536
|
type ToasterProps = {
|
|
500
537
|
/** The accessible name of each toast's close button — passed translated. */
|
|
501
538
|
closeLabel: string;
|
|
539
|
+
/** Where the toasts stack: `top` (default) or `bottom`. */
|
|
502
540
|
position?: "top" | "bottom";
|
|
503
541
|
/** Distance from the edge, e.g. the safe-area inset + a margin (no safe-area dependency here). */
|
|
504
542
|
offset?: number;
|