@krizaka/ui 3.2.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-I5RVM5CW.js → chunk-2FRWNSRO.js} +2 -6
- package/dist/chunk-2FRWNSRO.js.map +1 -0
- package/dist/chunk-7Z4KHPFC.js +42 -0
- package/dist/chunk-7Z4KHPFC.js.map +1 -0
- package/dist/chunk-BTMFZ66D.js +135 -0
- package/dist/chunk-BTMFZ66D.js.map +1 -0
- package/dist/chunk-C2BRIFJG.js +13 -0
- package/dist/chunk-C2BRIFJG.js.map +1 -0
- package/dist/chunk-KDXRYUD3.js +39 -0
- package/dist/chunk-KDXRYUD3.js.map +1 -0
- package/dist/{chunk-2PUDI7JS.js → chunk-ZKVQGXLD.js} +5 -3
- package/dist/{chunk-2PUDI7JS.js.map → chunk-ZKVQGXLD.js.map} +1 -1
- package/dist/command.js +1 -1
- package/dist/confirm-button.js +1 -1
- package/dist/data-table.js +101 -133
- package/dist/data-table.js.map +1 -1
- package/dist/date-picker.d.ts +3 -1
- package/dist/date-picker.js +13 -13
- package/dist/date-picker.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/dropdown-menu.js +1 -1
- package/dist/filter-bar.js +3 -2
- package/dist/form.d.ts +23 -12
- package/dist/form.js +11 -47
- package/dist/form.js.map +1 -1
- package/dist/glow-card.js +1 -1
- package/dist/image-cropper.js +3 -1
- package/dist/image-cropper.js.map +1 -1
- 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/marquee.js +1 -1
- package/dist/motion.css +12 -1
- package/dist/native/form.d.ts +60 -15
- package/dist/native/form.js +103 -42
- package/dist/native/form.js.map +1 -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 +772 -6
- package/dist/native.js +2493 -741
- package/dist/native.js.map +1 -1
- package/dist/nav-bar.js +1 -1
- package/dist/page-hero.js +3 -3
- package/dist/popover.js +1 -1
- package/dist/radio-group.d.ts +66 -32
- package/dist/radio-group.js +54 -10
- package/dist/radio-group.js.map +1 -1
- package/dist/slider.d.ts +96 -35
- package/dist/slider.js +67 -13
- package/dist/slider.js.map +1 -1
- package/dist/stat.d.ts +31 -2
- package/dist/stat.js +21 -4
- package/dist/stat.js.map +1 -1
- package/dist/terminal-replay.js +34 -60
- package/dist/terminal-replay.js.map +1 -1
- package/dist/toast.js +1 -1
- package/dist/tooltip.js +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/dist/video-player.js +3 -1
- package/dist/video-player.js.map +1 -1
- package/package.json +148 -11
- 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 +226 -4
- 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 +18 -4
- 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 +75 -4
- 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/combobox/native/multiple.d.ts +4 -0
- package/registry/examples/combobox/native/multiple.dark.png +0 -0
- package/registry/examples/combobox/native/multiple.js +15 -0
- package/registry/examples/combobox/native/multiple.light.png +0 -0
- package/registry/examples/combobox/native/multiple.tsx +15 -0
- package/registry/examples/combobox/native/search.d.ts +4 -0
- package/registry/examples/combobox/native/search.dark.png +0 -0
- package/registry/examples/combobox/native/search.js +15 -0
- package/registry/examples/combobox/native/search.light.png +0 -0
- package/registry/examples/combobox/native/search.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/dialog/native/sheet.d.ts +4 -0
- package/registry/examples/dialog/native/sheet.dark.png +0 -0
- package/registry/examples/dialog/native/sheet.js +21 -0
- package/registry/examples/dialog/native/sheet.light.png +0 -0
- package/registry/examples/dialog/native/sheet.tsx +18 -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/field/native/select.d.ts +4 -0
- package/registry/examples/field/native/select.dark.png +0 -0
- package/registry/examples/field/native/select.js +29 -0
- package/registry/examples/field/native/select.light.png +0 -0
- package/registry/examples/field/native/select.tsx +25 -0
- package/registry/examples/form/native/audience.dark.png +0 -0
- package/registry/examples/form/native/audience.light.png +0 -0
- package/registry/examples/form/native/profile.dark.png +0 -0
- package/registry/examples/form/native/profile.light.png +0 -0
- package/registry/examples/form/native/settings.dark.png +0 -0
- package/registry/examples/form/native/settings.light.png +0 -0
- package/registry/examples/form/native/sign-up.dark.png +0 -0
- package/registry/examples/form/native/sign-up.light.png +0 -0
- package/registry/examples/form/native/upload.dark.png +0 -0
- package/registry/examples/form/native/upload.light.png +0 -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/radio-group/buttons.d.ts +4 -0
- package/registry/examples/radio-group/buttons.js +17 -0
- package/registry/examples/radio-group/buttons.tsx +21 -0
- package/registry/examples/radio-group/cards.js +1 -1
- package/registry/examples/radio-group/cards.tsx +2 -2
- package/registry/examples/radio-group/native/buttons.d.ts +4 -0
- package/registry/examples/radio-group/native/buttons.dark.png +0 -0
- package/registry/examples/radio-group/native/buttons.js +25 -0
- package/registry/examples/radio-group/native/buttons.light.png +0 -0
- package/registry/examples/radio-group/native/buttons.tsx +21 -0
- package/registry/examples/radio-group/native/cards.d.ts +4 -0
- package/registry/examples/radio-group/native/cards.dark.png +0 -0
- package/registry/examples/radio-group/native/cards.js +23 -0
- package/registry/examples/radio-group/native/cards.light.png +0 -0
- package/registry/examples/radio-group/native/cards.tsx +19 -0
- package/registry/examples/radio-group/native/list.d.ts +4 -0
- package/registry/examples/radio-group/native/list.dark.png +0 -0
- package/registry/examples/radio-group/native/list.js +24 -0
- package/registry/examples/radio-group/native/list.light.png +0 -0
- package/registry/examples/radio-group/native/list.tsx +20 -0
- package/registry/examples/radio-group/native/segmented.d.ts +4 -0
- package/registry/examples/radio-group/native/segmented.dark.png +0 -0
- package/registry/examples/radio-group/native/segmented.js +24 -0
- package/registry/examples/radio-group/native/segmented.light.png +0 -0
- package/registry/examples/radio-group/native/segmented.tsx +20 -0
- package/registry/examples/radio-group/segmented.d.ts +4 -0
- package/registry/examples/radio-group/segmented.js +15 -0
- package/registry/examples/radio-group/segmented.tsx +12 -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/slider/floating.d.ts +4 -0
- package/registry/examples/slider/floating.js +11 -0
- package/registry/examples/slider/floating.tsx +12 -0
- package/registry/examples/slider/native/default.d.ts +4 -0
- package/registry/examples/slider/native/default.dark.png +0 -0
- package/registry/examples/slider/native/default.js +14 -0
- package/registry/examples/slider/native/default.light.png +0 -0
- package/registry/examples/slider/native/default.tsx +13 -0
- package/registry/examples/slider/native/range.d.ts +4 -0
- package/registry/examples/slider/native/range.dark.png +0 -0
- package/registry/examples/slider/native/range.js +12 -0
- package/registry/examples/slider/native/range.light.png +0 -0
- package/registry/examples/slider/native/range.tsx +11 -0
- package/registry/examples/slider/native/stepped.d.ts +4 -0
- package/registry/examples/slider/native/stepped.dark.png +0 -0
- package/registry/examples/slider/native/stepped.js +28 -0
- package/registry/examples/slider/native/stepped.light.png +0 -0
- package/registry/examples/slider/native/stepped.tsx +24 -0
- package/registry/examples/slider/native/vertical.d.ts +4 -0
- package/registry/examples/slider/native/vertical.dark.png +0 -0
- package/registry/examples/slider/native/vertical.js +16 -0
- package/registry/examples/slider/native/vertical.light.png +0 -0
- package/registry/examples/slider/native/vertical.tsx +13 -0
- package/registry/examples/slider/price-range.d.ts +4 -0
- package/registry/examples/slider/price-range.js +29 -0
- package/registry/examples/slider/price-range.tsx +27 -0
- package/registry/examples/slider/stepped.d.ts +4 -0
- package/registry/examples/slider/stepped.js +28 -0
- package/registry/examples/slider/stepped.tsx +24 -0
- package/registry/examples/slider/vertical.d.ts +4 -0
- package/registry/examples/slider/vertical.js +15 -0
- package/registry/examples/slider/vertical.tsx +14 -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/switch/native/default.d.ts +4 -0
- package/registry/examples/switch/native/default.dark.png +0 -0
- package/registry/examples/switch/native/default.js +16 -0
- package/registry/examples/switch/native/default.light.png +0 -0
- package/registry/examples/switch/native/default.tsx +13 -0
- package/registry/examples/switch/native/settings.d.ts +4 -0
- package/registry/examples/switch/native/settings.dark.png +0 -0
- package/registry/examples/switch/native/settings.js +20 -0
- package/registry/examples/switch/native/settings.light.png +0 -0
- package/registry/examples/switch/native/settings.tsx +17 -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 +16 -4
- package/registry/file-upload.json +2 -2
- package/registry/filter-bar.json +1 -1
- package/registry/form.json +252 -44
- 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 +322 -44
- 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 +228 -16
- 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 +315 -14
- 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 +116 -4
- package/registry/tab-bar.json +115 -0
- package/registry/tabs.json +96 -6
- 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/choice-controls/SKILL.md +39 -0
- package/skills/form/SKILL.md +3 -0
- package/skills/map/SKILL.md +35 -0
- package/dist/chunk-I5RVM5CW.js.map +0 -1
- package/dist/chunk-RUPRYJ45.js +0 -82
- package/dist/chunk-RUPRYJ45.js.map +0 -1
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { Badge } from "@krizaka/ui/badge";
|
|
4
|
+
import { Kanban, type KanbanMove } from "@krizaka/ui/kanban";
|
|
5
|
+
import { useState } from "react";
|
|
6
|
+
|
|
7
|
+
type Report = { id: string; video: string; reason: string; status: string };
|
|
8
|
+
const columns = [
|
|
9
|
+
{ id: "open", title: "To review", limit: 3 },
|
|
10
|
+
{ id: "reviewing", title: "Reviewing" },
|
|
11
|
+
{ id: "resolved", title: "Resolved" },
|
|
12
|
+
];
|
|
13
|
+
|
|
14
|
+
// The moderation queue: drag a report, or press Space and the arrow keys — every move announced.
|
|
15
|
+
export default function KanbanModeration() {
|
|
16
|
+
const [reports, setReports] = useState<Report[]>([
|
|
17
|
+
{ id: "r1", video: "Backflip on the beach", reason: "Dangerous act", status: "open" },
|
|
18
|
+
{ id: "r2", video: "Cover of the summer hit", reason: "Copyright", status: "open" },
|
|
19
|
+
{ id: "r3", video: "Night drive", reason: "Copyright", status: "reviewing" },
|
|
20
|
+
{ id: "r4", video: "Q&A with fans", reason: "Spam", status: "resolved" },
|
|
21
|
+
]);
|
|
22
|
+
const move = ({ cardId, to, index }: KanbanMove) =>
|
|
23
|
+
setReports((all) => {
|
|
24
|
+
const card = { ...all.find((r) => r.id === cardId)!, status: to };
|
|
25
|
+
const rest = all.filter((r) => r.id !== cardId);
|
|
26
|
+
const before = rest.filter((r) => r.status === to).slice(0, index);
|
|
27
|
+
const at = before.length ? rest.indexOf(before[before.length - 1]!) + 1 : rest.findIndex((r) => r.status === to);
|
|
28
|
+
return [...rest.slice(0, Math.max(0, at)), card, ...rest.slice(Math.max(0, at))];
|
|
29
|
+
});
|
|
30
|
+
const render = (r: Report) => (
|
|
31
|
+
<div className="flex flex-col items-start gap-1.5">
|
|
32
|
+
<span className="font-semibold">{r.video}</span>
|
|
33
|
+
<Badge tone={r.reason === "Copyright" ? "warning" : "neutral"}>{r.reason}</Badge>
|
|
34
|
+
</div>
|
|
35
|
+
);
|
|
36
|
+
return <Kanban aria-label="Moderation queue" columns={columns} cards={reports} getId={(r) => r.id} getColumn={(r) => r.status} getTitle={(r) => r.video} renderCard={render} onMove={move} />;
|
|
37
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// registry/examples/list/jobs.tsx
|
|
4
|
+
import { Badge } from "@krizaka/ui/badge";
|
|
5
|
+
import { List } from "@krizaka/ui/list";
|
|
6
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
7
|
+
var jobs = [
|
|
8
|
+
{ id: "j1", name: "Dub \u201CSunset session\u201D into English", studio: "Dubbing studio", status: "running", when: "now" },
|
|
9
|
+
{ id: "j2", name: "Transcribe the interview with Elena", studio: "Transcript studio", status: "done", when: "14:02" },
|
|
10
|
+
{ id: "j3", name: "Clip the five best moments", studio: "Clips studio", status: "failed", when: "12:15" }
|
|
11
|
+
];
|
|
12
|
+
var TONE = { running: "accent", done: "success", failed: "danger" };
|
|
13
|
+
function ListJobs() {
|
|
14
|
+
return /* @__PURE__ */ jsx(
|
|
15
|
+
List,
|
|
16
|
+
{
|
|
17
|
+
"aria-label": "Jobs",
|
|
18
|
+
items: jobs,
|
|
19
|
+
getId: (j) => j.id,
|
|
20
|
+
chevrons: true,
|
|
21
|
+
row: (j) => ({
|
|
22
|
+
title: j.name,
|
|
23
|
+
description: j.studio,
|
|
24
|
+
href: `#/jobs/${j.id}`,
|
|
25
|
+
meta: /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
26
|
+
/* @__PURE__ */ jsx(Badge, { tone: TONE[j.status], children: j.status }),
|
|
27
|
+
/* @__PURE__ */ jsx("span", { children: j.when })
|
|
28
|
+
] })
|
|
29
|
+
})
|
|
30
|
+
}
|
|
31
|
+
);
|
|
32
|
+
}
|
|
33
|
+
export {
|
|
34
|
+
ListJobs as default
|
|
35
|
+
};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Badge } from "@krizaka/ui/badge";
|
|
2
|
+
import { List } from "@krizaka/ui/list";
|
|
3
|
+
|
|
4
|
+
type Job = { id: string; name: string; studio: string; status: "running" | "done" | "failed"; when: string };
|
|
5
|
+
const jobs: Job[] = [
|
|
6
|
+
{ id: "j1", name: "Dub “Sunset session” into English", studio: "Dubbing studio", status: "running", when: "now" },
|
|
7
|
+
{ id: "j2", name: "Transcribe the interview with Elena", studio: "Transcript studio", status: "done", when: "14:02" },
|
|
8
|
+
{ id: "j3", name: "Clip the five best moments", studio: "Clips studio", status: "failed", when: "12:15" },
|
|
9
|
+
];
|
|
10
|
+
const TONE = { running: "accent", done: "success", failed: "danger" } as const;
|
|
11
|
+
|
|
12
|
+
// Orazaka's jobs: each row opens its run; the status and the time beside it.
|
|
13
|
+
export default function ListJobs() {
|
|
14
|
+
return (
|
|
15
|
+
<List
|
|
16
|
+
aria-label="Jobs"
|
|
17
|
+
items={jobs}
|
|
18
|
+
getId={(j) => j.id}
|
|
19
|
+
chevrons
|
|
20
|
+
row={(j) => ({
|
|
21
|
+
title: j.name,
|
|
22
|
+
description: j.studio,
|
|
23
|
+
href: `#/jobs/${j.id}`,
|
|
24
|
+
meta: (
|
|
25
|
+
<>
|
|
26
|
+
<Badge tone={TONE[j.status]}>{j.status}</Badge>
|
|
27
|
+
<span>{j.when}</span>
|
|
28
|
+
</>
|
|
29
|
+
),
|
|
30
|
+
})}
|
|
31
|
+
/>
|
|
32
|
+
);
|
|
33
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// registry/examples/list/selectable.tsx
|
|
4
|
+
import { Avatar } from "@krizaka/ui/avatar";
|
|
5
|
+
import { Button } from "@krizaka/ui/button";
|
|
6
|
+
import { List } from "@krizaka/ui/list";
|
|
7
|
+
import { useState } from "react";
|
|
8
|
+
import { jsx } from "react/jsx-runtime";
|
|
9
|
+
var viewers = [
|
|
10
|
+
{ id: "u1", name: "Mina Okafor", handle: "@mina", tipped: "$12" },
|
|
11
|
+
{ id: "u2", name: "Alex Moreau", handle: "@alex", tipped: "$5" },
|
|
12
|
+
{ id: "u3", name: "Elena Ruiz", handle: "@elena", tipped: "\u2014" }
|
|
13
|
+
];
|
|
14
|
+
function ListSelectable() {
|
|
15
|
+
const [selected, setSelected] = useState(["u1"]);
|
|
16
|
+
return /* @__PURE__ */ jsx(
|
|
17
|
+
List,
|
|
18
|
+
{
|
|
19
|
+
"aria-label": "Viewers of your story",
|
|
20
|
+
density: "compact",
|
|
21
|
+
items: viewers,
|
|
22
|
+
getId: (v) => v.id,
|
|
23
|
+
selectable: true,
|
|
24
|
+
selected,
|
|
25
|
+
onSelectedChange: setSelected,
|
|
26
|
+
row: (v) => ({ title: v.name, description: v.handle, leading: /* @__PURE__ */ jsx(Avatar, { alt: v.name, fallback: v.name.charAt(0), size: "sm" }), meta: v.tipped }),
|
|
27
|
+
footer: /* @__PURE__ */ jsx(Button, { size: "sm", variant: "primary", disabled: selected.length === 0, children: `Thank ${selected.length}` })
|
|
28
|
+
}
|
|
29
|
+
);
|
|
30
|
+
}
|
|
31
|
+
export {
|
|
32
|
+
ListSelectable as default
|
|
33
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { Avatar } from "@krizaka/ui/avatar";
|
|
4
|
+
import { Button } from "@krizaka/ui/button";
|
|
5
|
+
import { List } from "@krizaka/ui/list";
|
|
6
|
+
import { useState } from "react";
|
|
7
|
+
|
|
8
|
+
const viewers = [
|
|
9
|
+
{ id: "u1", name: "Mina Okafor", handle: "@mina", tipped: "$12" },
|
|
10
|
+
{ id: "u2", name: "Alex Moreau", handle: "@alex", tipped: "$5" },
|
|
11
|
+
{ id: "u3", name: "Elena Ruiz", handle: "@elena", tipped: "—" },
|
|
12
|
+
];
|
|
13
|
+
|
|
14
|
+
// Compact and selectable: who watched a story, a thank-you for the ones you pick.
|
|
15
|
+
export default function ListSelectable() {
|
|
16
|
+
const [selected, setSelected] = useState<string[]>(["u1"]);
|
|
17
|
+
return (
|
|
18
|
+
<List
|
|
19
|
+
aria-label="Viewers of your story"
|
|
20
|
+
density="compact"
|
|
21
|
+
items={viewers}
|
|
22
|
+
getId={(v) => v.id}
|
|
23
|
+
selectable
|
|
24
|
+
selected={selected}
|
|
25
|
+
onSelectedChange={setSelected}
|
|
26
|
+
row={(v) => ({ title: v.name, description: v.handle, leading: <Avatar alt={v.name} fallback={v.name.charAt(0)} size="sm" />, meta: v.tipped })}
|
|
27
|
+
footer={<Button size="sm" variant="primary" disabled={selected.length === 0}>{`Thank ${selected.length}`}</Button>}
|
|
28
|
+
/>
|
|
29
|
+
);
|
|
30
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// registry/examples/list/virtualized.tsx
|
|
4
|
+
import { List } from "@krizaka/ui/list";
|
|
5
|
+
import { jsx } from "react/jsx-runtime";
|
|
6
|
+
var payouts = Array.from({ length: 2e3 }, (_, i) => ({ id: `p${i}`, amount: `$${(120 + i * 37 % 900).toFixed(2)}`, day: `Payout #${2e3 - i}` }));
|
|
7
|
+
function ListVirtualized() {
|
|
8
|
+
return /* @__PURE__ */ jsx(
|
|
9
|
+
List,
|
|
10
|
+
{
|
|
11
|
+
"aria-label": "Payouts",
|
|
12
|
+
density: "compact",
|
|
13
|
+
items: payouts,
|
|
14
|
+
getId: (p) => p.id,
|
|
15
|
+
virtualize: { rowHeight: 44, height: 264 },
|
|
16
|
+
row: (p) => ({ title: p.day, meta: p.amount })
|
|
17
|
+
}
|
|
18
|
+
);
|
|
19
|
+
}
|
|
20
|
+
export {
|
|
21
|
+
ListVirtualized as default
|
|
22
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { List } from "@krizaka/ui/list";
|
|
2
|
+
|
|
3
|
+
const payouts = Array.from({ length: 2_000 }, (_, i) => ({ id: `p${i}`, amount: `$${(120 + ((i * 37) % 900)).toFixed(2)}`, day: `Payout #${2_000 - i}` }));
|
|
4
|
+
|
|
5
|
+
// 2,000 payouts: only the rows in view are rendered, in a region the keyboard scrolls.
|
|
6
|
+
export default function ListVirtualized() {
|
|
7
|
+
return (
|
|
8
|
+
<List
|
|
9
|
+
aria-label="Payouts"
|
|
10
|
+
density="compact"
|
|
11
|
+
items={payouts}
|
|
12
|
+
getId={(p) => p.id}
|
|
13
|
+
virtualize={{ rowHeight: 44, height: 264 }}
|
|
14
|
+
row={(p) => ({ title: p.day, meta: p.amount })}
|
|
15
|
+
/>
|
|
16
|
+
);
|
|
17
|
+
}
|
|
Binary file
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// registry/examples/loader/native/block.tsx
|
|
4
|
+
import { Loader } from "@krizaka/ui/native";
|
|
5
|
+
import { View } from "react-native";
|
|
6
|
+
import { jsx } from "react/jsx-runtime";
|
|
7
|
+
function NativeLoaderBlock() {
|
|
8
|
+
return /* @__PURE__ */ jsx(View, { style: { width: 320 }, children: /* @__PURE__ */ jsx(Loader, { variant: "block", label: "Loading your jobs", delay: 0 }) });
|
|
9
|
+
}
|
|
10
|
+
export {
|
|
11
|
+
NativeLoaderBlock as default
|
|
12
|
+
};
|
|
Binary file
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Loader } from "@krizaka/ui/native";
|
|
2
|
+
import { View } from "react-native";
|
|
3
|
+
|
|
4
|
+
// `block`: the centre of a region whose content is on its way (the Jobs tab's first load).
|
|
5
|
+
export default function NativeLoaderBlock() {
|
|
6
|
+
return (
|
|
7
|
+
<View style={{ width: 320 }}>
|
|
8
|
+
<Loader variant="block" label="Loading your jobs" delay={0} />
|
|
9
|
+
</View>
|
|
10
|
+
);
|
|
11
|
+
}
|
|
Binary file
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// registry/examples/loader/native/job-wait.tsx
|
|
4
|
+
import { Button, Loader } from "@krizaka/ui/native";
|
|
5
|
+
import { useState } from "react";
|
|
6
|
+
import { View } from "react-native";
|
|
7
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
+
function NativeLoaderJobWait() {
|
|
9
|
+
const [status, setStatus] = useState("loading");
|
|
10
|
+
return /* @__PURE__ */ jsxs(View, { style: { gap: 16, width: 320 }, children: [
|
|
11
|
+
/* @__PURE__ */ jsx(Loader, { label: "Dubbing your video", value: 0.42, eta: "About 2 min left", status, successLabel: "Dubbing ready", delay: 0 }),
|
|
12
|
+
/* @__PURE__ */ jsx(Button, { label: "Finish", size: "sm", onPress: () => setStatus("success") })
|
|
13
|
+
] });
|
|
14
|
+
}
|
|
15
|
+
export {
|
|
16
|
+
NativeLoaderJobWait as default
|
|
17
|
+
};
|
|
Binary file
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Button, Loader } from "@krizaka/ui/native";
|
|
2
|
+
import { useState } from "react";
|
|
3
|
+
import { View } from "react-native";
|
|
4
|
+
|
|
5
|
+
// An Orazaka job: shown after 250 ms, never blinking, ending on a check and its words.
|
|
6
|
+
export default function NativeLoaderJobWait() {
|
|
7
|
+
const [status, setStatus] = useState<"loading" | "success">("loading");
|
|
8
|
+
return (
|
|
9
|
+
<View style={{ gap: 16, width: 320 }}>
|
|
10
|
+
<Loader label="Dubbing your video" value={0.42} eta="About 2 min left" status={status} successLabel="Dubbing ready" delay={0} />
|
|
11
|
+
<Button label="Finish" size="sm" onPress={() => setStatus("success")} />
|
|
12
|
+
</View>
|
|
13
|
+
);
|
|
14
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// registry/examples/map/cluster.tsx
|
|
4
|
+
import { Cluster, Map, StaticMap } from "@krizaka/ui/map";
|
|
5
|
+
import { jsx } from "react/jsx-runtime";
|
|
6
|
+
var CREATORS = Array.from({ length: 60 }, (_, i) => ({
|
|
7
|
+
id: String(i),
|
|
8
|
+
label: `Creator ${i + 1}`,
|
|
9
|
+
position: [-73.62 + i * 37 % 60 / 600, 45.48 + i * 53 % 70 / 700]
|
|
10
|
+
}));
|
|
11
|
+
function MapCluster() {
|
|
12
|
+
return /* @__PURE__ */ jsx(Map, { label: "Creators near Montr\xE9al", center: [-73.58, 45.53], zoom: 11, className: "h-80 w-full max-w-xl", fallback: /* @__PURE__ */ jsx(StaticMap, { label: "Creators near Montr\xE9al", center: [-73.58, 45.53], zoom: 11 }), children: /* @__PURE__ */ jsx(Cluster, { points: CREATORS }) });
|
|
13
|
+
}
|
|
14
|
+
export {
|
|
15
|
+
MapCluster as default
|
|
16
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { Cluster, Map, StaticMap } from "@krizaka/ui/map";
|
|
4
|
+
|
|
5
|
+
// 60 creators around Montréal, grouped while they are close; a group opens by zooming in.
|
|
6
|
+
const CREATORS = Array.from({ length: 60 }, (_, i) => ({
|
|
7
|
+
id: String(i),
|
|
8
|
+
label: `Creator ${i + 1}`,
|
|
9
|
+
position: [-73.62 + ((i * 37) % 60) / 600, 45.48 + ((i * 53) % 70) / 700] as const,
|
|
10
|
+
}));
|
|
11
|
+
|
|
12
|
+
export default function MapCluster() {
|
|
13
|
+
return (
|
|
14
|
+
<Map label="Creators near Montréal" center={[-73.58, 45.53]} zoom={11} className="h-80 w-full max-w-xl" fallback={<StaticMap label="Creators near Montréal" center={[-73.58, 45.53]} zoom={11} />}>
|
|
15
|
+
<Cluster points={CREATORS} />
|
|
16
|
+
</Map>
|
|
17
|
+
);
|
|
18
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// registry/examples/map/location-picker.tsx
|
|
4
|
+
import { LocationPicker, StaticMap } from "@krizaka/ui/map";
|
|
5
|
+
import * as React from "react";
|
|
6
|
+
import { jsx } from "react/jsx-runtime";
|
|
7
|
+
function MapLocationPicker() {
|
|
8
|
+
const [point, setPoint] = React.useState([-73.5673, 45.5017]);
|
|
9
|
+
return /* @__PURE__ */ jsx("div", { className: "w-full max-w-xl", children: /* @__PURE__ */ jsx(
|
|
10
|
+
LocationPicker,
|
|
11
|
+
{
|
|
12
|
+
label: "Meeting point",
|
|
13
|
+
locale: "en-CA",
|
|
14
|
+
value: point,
|
|
15
|
+
onValueChange: setPoint,
|
|
16
|
+
origin: [-73.5794, 45.5048],
|
|
17
|
+
radius: 1e3,
|
|
18
|
+
fallback: /* @__PURE__ */ jsx(StaticMap, { label: "Meeting point", center: point, zoom: 14, places: [{ position: point, label: "Meeting point" }] })
|
|
19
|
+
}
|
|
20
|
+
) });
|
|
21
|
+
}
|
|
22
|
+
export {
|
|
23
|
+
MapLocationPicker as default
|
|
24
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { type LngLat, LocationPicker, StaticMap } from "@krizaka/ui/map";
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
|
|
6
|
+
// A meeting point picked by moving the map under the pin: its distance from the person, a 1-km zone, "Near me" on request.
|
|
7
|
+
export default function MapLocationPicker() {
|
|
8
|
+
const [point, setPoint] = React.useState<LngLat>([-73.5673, 45.5017]);
|
|
9
|
+
return (
|
|
10
|
+
<div className="w-full max-w-xl">
|
|
11
|
+
<LocationPicker
|
|
12
|
+
label="Meeting point"
|
|
13
|
+
locale="en-CA"
|
|
14
|
+
value={point}
|
|
15
|
+
onValueChange={setPoint}
|
|
16
|
+
origin={[-73.5794, 45.5048]}
|
|
17
|
+
radius={1000}
|
|
18
|
+
fallback={<StaticMap label="Meeting point" center={point} zoom={14} places={[{ position: point, label: "Meeting point" }]} />}
|
|
19
|
+
/>
|
|
20
|
+
</div>
|
|
21
|
+
);
|
|
22
|
+
}
|
|
Binary file
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// registry/examples/map/native/location-picker.tsx
|
|
4
|
+
import { LocationPicker } from "@krizaka/ui/native/map";
|
|
5
|
+
import * as React from "react";
|
|
6
|
+
import { View } from "react-native";
|
|
7
|
+
import { jsx } from "react/jsx-runtime";
|
|
8
|
+
function NativeMapLocationPicker() {
|
|
9
|
+
const [point, setPoint] = React.useState([-73.5673, 45.5017]);
|
|
10
|
+
return /* @__PURE__ */ jsx(View, { style: { width: 340 }, children: /* @__PURE__ */ jsx(LocationPicker, { label: "Meeting point", locale: "en-CA", value: point, onValueChange: setPoint, origin: [-73.5794, 45.5048], radius: 1e3 }) });
|
|
11
|
+
}
|
|
12
|
+
export {
|
|
13
|
+
NativeMapLocationPicker as default
|
|
14
|
+
};
|
|
Binary file
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type LngLat, LocationPicker } from "@krizaka/ui/native/map";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { View } from "react-native";
|
|
4
|
+
|
|
5
|
+
// A meeting point under the pin; "Near me" asks for the location only when pressed, the distance follows.
|
|
6
|
+
export default function NativeMapLocationPicker() {
|
|
7
|
+
const [point, setPoint] = React.useState<LngLat>([-73.5673, 45.5017]);
|
|
8
|
+
return (
|
|
9
|
+
<View style={{ width: 340 }}>
|
|
10
|
+
<LocationPicker label="Meeting point" locale="en-CA" value={point} onValueChange={setPoint} origin={[-73.5794, 45.5048]} radius={1000} />
|
|
11
|
+
</View>
|
|
12
|
+
);
|
|
13
|
+
}
|
|
Binary file
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// registry/examples/map/native/places.tsx
|
|
4
|
+
import { Button, Sheet, Txt } from "@krizaka/ui/native";
|
|
5
|
+
import { Map, Marker } from "@krizaka/ui/native/map";
|
|
6
|
+
import * as React from "react";
|
|
7
|
+
import { View } from "react-native";
|
|
8
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
|
+
var SPOTS = [
|
|
10
|
+
{ id: "olimpico", label: "Caf\xE9 Olimpico", address: "124 Rue Saint-Viateur O", position: [-73.6005, 45.5229] },
|
|
11
|
+
{ id: "parc", label: "Parc La Fontaine", address: "3933 Av. du Parc-La Fontaine", position: [-73.5695, 45.5268] }
|
|
12
|
+
];
|
|
13
|
+
function NativeMapPlaces() {
|
|
14
|
+
const [open, setOpen] = React.useState(null);
|
|
15
|
+
return /* @__PURE__ */ jsxs(View, { style: { width: 340 }, children: [
|
|
16
|
+
/* @__PURE__ */ jsx(Map, { label: "Pick-up points in Montr\xE9al", center: [-73.585, 45.524], zoom: 12.5, children: SPOTS.map((s) => /* @__PURE__ */ jsx(Marker, { position: s.position, label: s.label, selected: open?.id === s.id, onPress: () => setOpen(s) }, s.id)) }),
|
|
17
|
+
/* @__PURE__ */ jsxs(Sheet, { open: Boolean(open), onOpenChange: (o) => !o && setOpen(null), title: open?.label, children: [
|
|
18
|
+
/* @__PURE__ */ jsx(Txt, { tone: "secondary", children: open?.address }),
|
|
19
|
+
/* @__PURE__ */ jsx(Button, { label: "Choose this point", variant: "primary", onPress: () => setOpen(null) })
|
|
20
|
+
] })
|
|
21
|
+
] });
|
|
22
|
+
}
|
|
23
|
+
export {
|
|
24
|
+
NativeMapPlaces as default
|
|
25
|
+
};
|
|
Binary file
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Button, Sheet, Txt } from "@krizaka/ui/native";
|
|
2
|
+
import { Map, Marker } from "@krizaka/ui/native/map";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { View } from "react-native";
|
|
5
|
+
|
|
6
|
+
const SPOTS = [
|
|
7
|
+
{ id: "olimpico", label: "Café Olimpico", address: "124 Rue Saint-Viateur O", position: [-73.6005, 45.5229] as const },
|
|
8
|
+
{ id: "parc", label: "Parc La Fontaine", address: "3933 Av. du Parc-La Fontaine", position: [-73.5695, 45.5268] as const },
|
|
9
|
+
];
|
|
10
|
+
|
|
11
|
+
// Pick-up points: a marker pressed opens its details in a bottom sheet.
|
|
12
|
+
export default function NativeMapPlaces() {
|
|
13
|
+
const [open, setOpen] = React.useState<(typeof SPOTS)[number] | null>(null);
|
|
14
|
+
return (
|
|
15
|
+
<View style={{ width: 340 }}>
|
|
16
|
+
<Map label="Pick-up points in Montréal" center={[-73.585, 45.524]} zoom={12.5}>
|
|
17
|
+
{SPOTS.map((s) => (
|
|
18
|
+
<Marker key={s.id} position={s.position} label={s.label} selected={open?.id === s.id} onPress={() => setOpen(s)} />
|
|
19
|
+
))}
|
|
20
|
+
</Map>
|
|
21
|
+
<Sheet open={Boolean(open)} onOpenChange={(o) => !o && setOpen(null)} title={open?.label}>
|
|
22
|
+
<Txt tone="secondary">{open?.address}</Txt>
|
|
23
|
+
<Button label="Choose this point" variant="primary" onPress={() => setOpen(null)} />
|
|
24
|
+
</Sheet>
|
|
25
|
+
</View>
|
|
26
|
+
);
|
|
27
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// registry/examples/map/places.tsx
|
|
4
|
+
import { Map, Marker, StaticMap } from "@krizaka/ui/map";
|
|
5
|
+
import * as React from "react";
|
|
6
|
+
import { jsx } from "react/jsx-runtime";
|
|
7
|
+
var SPOTS = [
|
|
8
|
+
{ id: "olimpico", label: "Caf\xE9 Olimpico, Mile End", position: [-73.6005, 45.5229] },
|
|
9
|
+
{ id: "jean-talon", label: "March\xE9 Jean-Talon", position: [-73.6147, 45.5363] },
|
|
10
|
+
{ id: "parc", label: "Parc La Fontaine", position: [-73.5695, 45.5268] }
|
|
11
|
+
];
|
|
12
|
+
function MapPlaces() {
|
|
13
|
+
const [chosen, setChosen] = React.useState("olimpico");
|
|
14
|
+
return /* @__PURE__ */ jsx(
|
|
15
|
+
Map,
|
|
16
|
+
{
|
|
17
|
+
label: "Pick-up points in Montr\xE9al",
|
|
18
|
+
center: [-73.592, 45.528],
|
|
19
|
+
zoom: 12.5,
|
|
20
|
+
className: "h-80 w-full max-w-xl",
|
|
21
|
+
fallback: /* @__PURE__ */ jsx(StaticMap, { label: "Pick-up points in Montr\xE9al", center: [-73.592, 45.528], zoom: 12.5, places: SPOTS }),
|
|
22
|
+
children: SPOTS.map((s) => /* @__PURE__ */ jsx(Marker, { position: s.position, label: s.label, selected: s.id === chosen, onPress: () => setChosen(s.id) }, s.id))
|
|
23
|
+
}
|
|
24
|
+
);
|
|
25
|
+
}
|
|
26
|
+
export {
|
|
27
|
+
MapPlaces as default
|
|
28
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { Map, Marker, StaticMap } from "@krizaka/ui/map";
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
|
|
6
|
+
const SPOTS = [
|
|
7
|
+
{ id: "olimpico", label: "Café Olimpico, Mile End", position: [-73.6005, 45.5229] as const },
|
|
8
|
+
{ id: "jean-talon", label: "Marché Jean-Talon", position: [-73.6147, 45.5363] as const },
|
|
9
|
+
{ id: "parc", label: "Parc La Fontaine", position: [-73.5695, 45.5268] as const },
|
|
10
|
+
];
|
|
11
|
+
|
|
12
|
+
// Pick-up points in Montréal: markers are buttons, the chosen one shows its name; the places are a list for screen readers.
|
|
13
|
+
export default function MapPlaces() {
|
|
14
|
+
const [chosen, setChosen] = React.useState("olimpico");
|
|
15
|
+
return (
|
|
16
|
+
<Map
|
|
17
|
+
label="Pick-up points in Montréal"
|
|
18
|
+
center={[-73.592, 45.528]}
|
|
19
|
+
zoom={12.5}
|
|
20
|
+
className="h-80 w-full max-w-xl"
|
|
21
|
+
fallback={<StaticMap label="Pick-up points in Montréal" center={[-73.592, 45.528]} zoom={12.5} places={SPOTS} />}
|
|
22
|
+
>
|
|
23
|
+
{SPOTS.map((s) => (
|
|
24
|
+
<Marker key={s.id} position={s.position} label={s.label} selected={s.id === chosen} onPress={() => setChosen(s.id)} />
|
|
25
|
+
))}
|
|
26
|
+
</Map>
|
|
27
|
+
);
|
|
28
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// registry/examples/map/static.tsx
|
|
4
|
+
import { StaticMap } from "@krizaka/ui/map";
|
|
5
|
+
import { jsx } from "react/jsx-runtime";
|
|
6
|
+
function MapStatic() {
|
|
7
|
+
return /* @__PURE__ */ jsx("div", { className: "h-56 w-full max-w-md overflow-hidden rounded-2xl border border-border-default", children: /* @__PURE__ */ jsx(
|
|
8
|
+
StaticMap,
|
|
9
|
+
{
|
|
10
|
+
label: "Your two pick-up points",
|
|
11
|
+
center: [-73.585, 45.524],
|
|
12
|
+
zoom: 13,
|
|
13
|
+
places: [
|
|
14
|
+
{ position: [-73.6005, 45.5229], label: "Caf\xE9 Olimpico" },
|
|
15
|
+
{ position: [-73.5695, 45.5268], label: "Parc La Fontaine" }
|
|
16
|
+
]
|
|
17
|
+
}
|
|
18
|
+
) });
|
|
19
|
+
}
|
|
20
|
+
export {
|
|
21
|
+
MapStatic as default
|
|
22
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { StaticMap } from "@krizaka/ui/map";
|
|
2
|
+
|
|
3
|
+
// A still map without an engine: the places projected on the map's paper — a card, a list item, the fallback of a Map.
|
|
4
|
+
export default function MapStatic() {
|
|
5
|
+
return (
|
|
6
|
+
<div className="h-56 w-full max-w-md overflow-hidden rounded-2xl border border-border-default">
|
|
7
|
+
<StaticMap
|
|
8
|
+
label="Your two pick-up points"
|
|
9
|
+
center={[-73.585, 45.524]}
|
|
10
|
+
zoom={13}
|
|
11
|
+
places={[
|
|
12
|
+
{ position: [-73.6005, 45.5229], label: "Café Olimpico" },
|
|
13
|
+
{ position: [-73.5695, 45.5268], label: "Parc La Fontaine" },
|
|
14
|
+
]}
|
|
15
|
+
/>
|
|
16
|
+
</div>
|
|
17
|
+
);
|
|
18
|
+
}
|