@krizaka/ui 2.2.0 → 2.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/README.md +33 -8
- package/dist/audio-player.d.ts +113 -0
- package/dist/audio-player.js +207 -0
- package/dist/audio-player.js.map +1 -0
- package/dist/{button-Cgfkg_3y.d.ts → button-BMAO7dKF.d.ts} +29 -2
- package/dist/button.d.ts +32 -5
- package/dist/button.js +62 -9
- package/dist/button.js.map +1 -1
- package/dist/chip-link.d.ts +53 -0
- package/dist/chip-link.js +32 -0
- package/dist/chip-link.js.map +1 -0
- package/dist/chunk-2USC2YT6.js +17 -0
- package/dist/chunk-2USC2YT6.js.map +1 -0
- package/dist/chunk-43PTCDTL.js +31 -0
- package/dist/chunk-43PTCDTL.js.map +1 -0
- package/dist/chunk-6ISW63JI.js +11 -0
- package/dist/chunk-6ISW63JI.js.map +1 -0
- package/dist/chunk-EUPTXKH7.js +95 -0
- package/dist/chunk-EUPTXKH7.js.map +1 -0
- package/dist/chunk-HAQWKORZ.js +117 -0
- package/dist/chunk-HAQWKORZ.js.map +1 -0
- package/dist/{chunk-FHYZSO2S.js → chunk-R6SDS7JM.js} +5 -3
- package/dist/chunk-R6SDS7JM.js.map +1 -0
- package/dist/chunk-RUPNPMP3.js +103 -0
- package/dist/chunk-RUPNPMP3.js.map +1 -0
- package/dist/chunk-RUPRYJ45.js +82 -0
- package/dist/chunk-RUPRYJ45.js.map +1 -0
- package/dist/chunk-VDR2EP6K.js +49 -0
- package/dist/chunk-VDR2EP6K.js.map +1 -0
- package/dist/chunk-WEVYKZIF.js +33 -0
- package/dist/chunk-WEVYKZIF.js.map +1 -0
- package/dist/chunk-XUMJA5ZI.js +283 -0
- package/dist/chunk-XUMJA5ZI.js.map +1 -0
- package/dist/chunk-YH4LMWRU.js +92 -0
- package/dist/chunk-YH4LMWRU.js.map +1 -0
- package/dist/chunk-YX6CNVJA.js +94 -0
- package/dist/chunk-YX6CNVJA.js.map +1 -0
- package/dist/chunk-ZIXB33X7.js +95 -0
- package/dist/chunk-ZIXB33X7.js.map +1 -0
- package/dist/combobox.d.ts +188 -0
- package/dist/combobox.js +16 -0
- package/dist/combobox.js.map +1 -0
- package/dist/command.d.ts +7 -7
- package/dist/command.js +3 -2
- package/dist/command.js.map +1 -1
- package/dist/confirm-button.d.ts +1 -1
- package/dist/confirm-button.js +2 -1
- package/dist/confirm-button.js.map +1 -1
- package/dist/data-table.d.ts +246 -0
- package/dist/data-table.js +290 -0
- package/dist/data-table.js.map +1 -0
- package/dist/date-picker.d.ts +288 -0
- package/dist/date-picker.js +364 -0
- package/dist/date-picker.js.map +1 -0
- package/dist/{dialog-GQ4Nvuyf.d.ts → dialog-D42QwYb_.d.ts} +11 -1
- package/dist/dialog.d.ts +1 -1
- package/dist/dialog.js +3 -2
- package/dist/dialog.js.map +1 -1
- package/dist/file-upload.d.ts +238 -0
- package/dist/file-upload.js +437 -0
- package/dist/file-upload.js.map +1 -0
- package/dist/filter-bar.d.ts +139 -0
- package/dist/filter-bar.js +155 -0
- package/dist/filter-bar.js.map +1 -0
- package/dist/glow-card.d.ts +20 -0
- package/dist/glow-card.js +30 -0
- package/dist/glow-card.js.map +1 -0
- package/dist/image-cropper.d.ts +115 -0
- package/dist/image-cropper.js +166 -0
- package/dist/image-cropper.js.map +1 -0
- package/dist/index.d.ts +2 -20
- package/dist/index.js +7 -64
- package/dist/index.js.map +1 -1
- package/dist/iso.d.ts +400 -0
- package/dist/iso.js +363 -0
- package/dist/iso.js.map +1 -0
- package/dist/loader.d.ts +206 -0
- package/dist/loader.js +138 -0
- package/dist/loader.js.map +1 -0
- package/dist/marquee.d.ts +33 -0
- package/dist/marquee.js +52 -0
- package/dist/marquee.js.map +1 -0
- package/dist/media-capture.d.ts +155 -0
- package/dist/media-capture.js +242 -0
- package/dist/media-capture.js.map +1 -0
- package/dist/meter.d.ts +146 -0
- package/dist/meter.js +107 -0
- package/dist/meter.js.map +1 -0
- package/dist/motion.css +394 -3
- package/dist/motion.d.ts +46 -0
- package/dist/motion.js +10 -0
- package/dist/motion.js.map +1 -0
- package/dist/native/media-capture.d.ts +49 -0
- package/dist/native/media-capture.js +113 -0
- package/dist/native/media-capture.js.map +1 -0
- package/dist/native/video-player.d.ts +50 -0
- package/dist/native/video-player.js +69 -0
- package/dist/native/video-player.js.map +1 -0
- package/dist/native.d.ts +66 -2
- package/dist/native.js +166 -68
- package/dist/native.js.map +1 -1
- package/dist/nav-bar.d.ts +178 -0
- package/dist/nav-bar.js +157 -0
- package/dist/nav-bar.js.map +1 -0
- package/dist/number-ticker.d.ts +32 -0
- package/dist/number-ticker.js +61 -0
- package/dist/number-ticker.js.map +1 -0
- package/dist/pagination.d.ts +141 -0
- package/dist/pagination.js +165 -0
- package/dist/pagination.js.map +1 -0
- package/dist/progress.d.ts +56 -1
- package/dist/progress.js +72 -25
- package/dist/progress.js.map +1 -1
- package/dist/search-field.d.ts +100 -0
- package/dist/search-field.js +167 -0
- package/dist/search-field.js.map +1 -0
- package/dist/skeleton.d.ts +18 -3
- package/dist/skeleton.js +9 -1
- package/dist/skeleton.js.map +1 -1
- package/dist/spinner.d.ts +21 -5
- package/dist/spinner.js +13 -12
- package/dist/spinner.js.map +1 -1
- package/dist/stepper.d.ts +112 -0
- package/dist/stepper.js +67 -0
- package/dist/stepper.js.map +1 -0
- package/dist/tabs.d.ts +1 -1
- package/dist/tabs.js +14 -8
- package/dist/tabs.js.map +1 -1
- package/dist/tag-input.d.ts +44 -0
- package/dist/tag-input.js +67 -0
- package/dist/tag-input.js.map +1 -0
- package/dist/theme.d.ts +1 -1
- package/dist/theme.js +2 -1
- package/dist/theme.js.map +1 -1
- package/dist/toast.d.ts +39 -4
- package/dist/toast.js +81 -7
- package/dist/toast.js.map +1 -1
- package/dist/video-player.d.ts +204 -0
- package/dist/video-player.js +371 -0
- package/dist/video-player.js.map +1 -0
- package/dist/video-trimmer.d.ts +142 -0
- package/dist/video-trimmer.js +193 -0
- package/dist/video-trimmer.js.map +1 -0
- package/package.json +375 -7
- package/registry/alert.json +1 -1
- package/registry/audio-player.json +282 -0
- package/registry/avatar.json +1 -1
- package/registry/badge.json +1 -1
- package/registry/button.json +232 -26
- package/registry/card.json +1 -1
- package/registry/checkbox.json +1 -1
- package/registry/chip-link.json +158 -0
- package/registry/chip.json +1 -1
- package/registry/combobox.json +475 -0
- package/registry/command.json +1 -1
- package/registry/confirm-button.json +91 -7
- package/registry/countdown.json +1 -1
- package/registry/data-table.json +500 -0
- package/registry/date-picker.json +978 -0
- package/registry/dialog.json +15 -7
- package/registry/dropdown-menu.json +1 -1
- package/registry/empty-state.json +1 -1
- package/registry/examples/audio-player/podcast.js +22 -0
- package/registry/examples/audio-player/podcast.tsx +19 -0
- package/registry/examples/audio-player/voice-note.d.ts +4 -0
- package/registry/examples/audio-player/voice-note.js +12 -0
- package/registry/examples/audio-player/voice-note.tsx +12 -0
- package/registry/examples/button/error.d.ts +4 -0
- package/registry/examples/button/error.js +11 -0
- package/registry/examples/button/error.tsx +10 -0
- package/registry/examples/button/loading.tsx +1 -1
- package/registry/examples/button/save-flow.d.ts +4 -0
- package/registry/examples/button/save-flow.js +28 -0
- package/registry/examples/button/save-flow.tsx +24 -0
- package/registry/examples/button/signature.d.ts +4 -0
- package/registry/examples/button/signature.js +17 -0
- package/registry/examples/button/signature.tsx +19 -0
- package/registry/examples/button/upload-progress.d.ts +4 -0
- package/registry/examples/button/upload-progress.js +23 -0
- package/registry/examples/button/upload-progress.tsx +26 -0
- package/registry/examples/chip-link/filters.d.ts +4 -0
- package/registry/examples/chip-link/filters.js +12 -0
- package/registry/examples/chip-link/filters.tsx +17 -0
- package/registry/examples/combobox/async.d.ts +4 -0
- package/registry/examples/combobox/async.js +23 -0
- package/registry/examples/combobox/async.tsx +22 -0
- package/registry/examples/combobox/creatable.d.ts +4 -0
- package/registry/examples/combobox/creatable.js +32 -0
- package/registry/examples/combobox/creatable.tsx +28 -0
- package/registry/examples/combobox/invalid.d.ts +4 -0
- package/registry/examples/combobox/invalid.js +23 -0
- package/registry/examples/combobox/invalid.tsx +17 -0
- package/registry/examples/combobox/multiple.d.ts +4 -0
- package/registry/examples/combobox/multiple.js +29 -0
- package/registry/examples/combobox/multiple.tsx +26 -0
- package/registry/examples/data-table/cards.d.ts +4 -0
- package/registry/examples/data-table/cards.js +21 -0
- package/registry/examples/data-table/cards.tsx +20 -0
- package/registry/examples/data-table/empty.d.ts +4 -0
- package/registry/examples/data-table/empty.js +26 -0
- package/registry/examples/data-table/empty.tsx +21 -0
- package/registry/examples/data-table/error.d.ts +4 -0
- package/registry/examples/data-table/error.js +28 -0
- package/registry/examples/data-table/error.tsx +29 -0
- package/registry/examples/data-table/jobs.d.ts +4 -0
- package/registry/examples/data-table/jobs.js +37 -0
- package/registry/examples/data-table/jobs.tsx +36 -0
- package/registry/examples/data-table/loading.d.ts +4 -0
- package/registry/examples/data-table/loading.js +16 -0
- package/registry/examples/data-table/loading.tsx +12 -0
- package/registry/examples/data-table/virtualized.d.ts +4 -0
- package/registry/examples/data-table/virtualized.js +21 -0
- package/registry/examples/data-table/virtualized.tsx +20 -0
- package/registry/examples/date-picker/calendar.d.ts +4 -0
- package/registry/examples/date-picker/calendar.js +14 -0
- package/registry/examples/date-picker/calendar.tsx +16 -0
- package/registry/examples/date-picker/french.d.ts +4 -0
- package/registry/examples/date-picker/french.js +20 -0
- package/registry/examples/date-picker/french.tsx +14 -0
- package/registry/examples/date-picker/open.d.ts +4 -0
- package/registry/examples/date-picker/open.js +11 -0
- package/registry/examples/date-picker/open.tsx +8 -0
- package/registry/examples/date-picker/range.d.ts +4 -0
- package/registry/examples/date-picker/range.js +29 -0
- package/registry/examples/date-picker/range.tsx +25 -0
- package/registry/examples/date-picker/schedule.d.ts +4 -0
- package/registry/examples/date-picker/schedule.js +26 -0
- package/registry/examples/date-picker/schedule.tsx +22 -0
- package/registry/examples/dialog/left.d.ts +4 -0
- package/registry/examples/dialog/left.js +22 -0
- package/registry/examples/dialog/left.tsx +32 -0
- package/registry/examples/file-upload/images.d.ts +4 -0
- package/registry/examples/file-upload/images.js +32 -0
- package/registry/examples/file-upload/images.tsx +25 -0
- package/registry/examples/file-upload/states.d.ts +4 -0
- package/registry/examples/file-upload/states.js +28 -0
- package/registry/examples/file-upload/states.tsx +23 -0
- package/registry/examples/file-upload/tus.d.ts +4 -0
- package/registry/examples/file-upload/tus.js +23 -0
- package/registry/examples/file-upload/tus.tsx +26 -0
- package/registry/examples/file-upload/video.d.ts +4 -0
- package/registry/examples/file-upload/video.js +39 -0
- package/registry/examples/file-upload/video.tsx +36 -0
- package/registry/examples/filter-bar/address.d.ts +4 -0
- package/registry/examples/filter-bar/address.js +29 -0
- package/registry/examples/filter-bar/address.tsx +27 -0
- package/registry/examples/filter-bar/jobs.d.ts +4 -0
- package/registry/examples/filter-bar/jobs.js +37 -0
- package/registry/examples/filter-bar/jobs.tsx +37 -0
- package/registry/examples/filter-bar/menu.d.ts +4 -0
- package/registry/examples/filter-bar/menu.js +27 -0
- package/registry/examples/filter-bar/menu.tsx +23 -0
- package/registry/examples/glow-card/link-card.d.ts +4 -0
- package/registry/examples/glow-card/link-card.js +14 -0
- package/registry/examples/glow-card/link-card.tsx +13 -0
- package/registry/examples/glow-card/plans.d.ts +4 -0
- package/registry/examples/glow-card/plans.js +25 -0
- package/registry/examples/glow-card/plans.tsx +26 -0
- package/registry/examples/glow-card/spotlight.d.ts +4 -0
- package/registry/examples/glow-card/spotlight.js +14 -0
- package/registry/examples/glow-card/spotlight.tsx +15 -0
- package/registry/examples/image-cropper/avatar.d.ts +4 -0
- package/registry/examples/image-cropper/avatar.js +13 -0
- package/registry/examples/image-cropper/avatar.tsx +14 -0
- package/registry/examples/image-cropper/banner.d.ts +4 -0
- package/registry/examples/image-cropper/banner.js +11 -0
- package/registry/examples/image-cropper/banner.tsx +10 -0
- package/registry/examples/image-cropper/vertical-video.d.ts +4 -0
- package/registry/examples/image-cropper/vertical-video.js +12 -0
- package/registry/examples/image-cropper/vertical-video.tsx +16 -0
- package/registry/examples/iso/compose.d.ts +4 -0
- package/registry/examples/iso/compose.js +22 -0
- package/registry/examples/iso/compose.tsx +19 -0
- package/registry/examples/iso/orazaka-hero.d.ts +4 -0
- package/registry/examples/iso/orazaka-hero.js +26 -0
- package/registry/examples/iso/orazaka-hero.tsx +21 -0
- package/registry/examples/iso/orochia-hero.d.ts +4 -0
- package/registry/examples/iso/orochia-hero.js +29 -0
- package/registry/examples/iso/orochia-hero.tsx +23 -0
- package/registry/examples/iso/still.d.ts +4 -0
- package/registry/examples/iso/still.js +21 -0
- package/registry/examples/iso/still.tsx +15 -0
- package/registry/examples/loader/endings.d.ts +4 -0
- package/registry/examples/loader/endings.js +14 -0
- package/registry/examples/loader/endings.tsx +11 -0
- package/registry/examples/loader/fetch-flow.d.ts +4 -0
- package/registry/examples/loader/fetch-flow.js +24 -0
- package/registry/examples/loader/fetch-flow.tsx +24 -0
- package/registry/examples/loader/minimal.d.ts +4 -0
- package/registry/examples/loader/minimal.js +11 -0
- package/registry/examples/loader/minimal.tsx +6 -0
- package/registry/examples/loader/overlay.d.ts +4 -0
- package/registry/examples/loader/overlay.js +16 -0
- package/registry/examples/loader/overlay.tsx +13 -0
- package/registry/examples/loader/region-handover.d.ts +4 -0
- package/registry/examples/loader/region-handover.js +42 -0
- package/registry/examples/loader/region-handover.tsx +29 -0
- package/registry/examples/loader/upload-eta.d.ts +4 -0
- package/registry/examples/loader/upload-eta.js +11 -0
- package/registry/examples/loader/upload-eta.tsx +10 -0
- package/registry/examples/marquee/cards.d.ts +4 -0
- package/registry/examples/marquee/cards.js +23 -0
- package/registry/examples/marquee/cards.tsx +21 -0
- package/registry/examples/marquee/logos.d.ts +4 -0
- package/registry/examples/marquee/logos.js +12 -0
- package/registry/examples/marquee/logos.tsx +17 -0
- package/registry/examples/media-capture/clip.d.ts +4 -0
- package/registry/examples/media-capture/clip.js +20 -0
- package/registry/examples/media-capture/clip.tsx +18 -0
- package/registry/examples/media-capture/native/photo.d.ts +4 -0
- package/registry/examples/media-capture/native/photo.dark.png +0 -0
- package/registry/examples/media-capture/native/photo.js +27 -0
- package/registry/examples/media-capture/native/photo.light.png +0 -0
- package/registry/examples/media-capture/native/photo.tsx +20 -0
- package/registry/examples/media-capture/profile-photo.d.ts +4 -0
- package/registry/examples/media-capture/profile-photo.js +24 -0
- package/registry/examples/media-capture/profile-photo.tsx +20 -0
- package/registry/examples/meter/balance.d.ts +4 -0
- package/registry/examples/meter/balance.js +14 -0
- package/registry/examples/meter/balance.tsx +15 -0
- package/registry/examples/meter/quota.d.ts +4 -0
- package/registry/examples/meter/quota.js +15 -0
- package/registry/examples/meter/quota.tsx +12 -0
- package/registry/examples/meter/split.d.ts +4 -0
- package/registry/examples/meter/split.js +18 -0
- package/registry/examples/meter/split.tsx +18 -0
- package/registry/examples/nav-bar/app-bar.d.ts +4 -0
- package/registry/examples/nav-bar/app-bar.js +22 -0
- package/registry/examples/nav-bar/app-bar.tsx +21 -0
- package/registry/examples/nav-bar/menu-open.d.ts +4 -0
- package/registry/examples/nav-bar/menu-open.js +26 -0
- package/registry/examples/nav-bar/menu-open.tsx +26 -0
- package/registry/examples/nav-bar/site.d.ts +4 -0
- package/registry/examples/nav-bar/site.js +31 -0
- package/registry/examples/nav-bar/site.tsx +36 -0
- package/registry/examples/number-ticker/gradient.d.ts +4 -0
- package/registry/examples/number-ticker/gradient.js +11 -0
- package/registry/examples/number-ticker/gradient.tsx +10 -0
- package/registry/examples/number-ticker/live-total.d.ts +4 -0
- package/registry/examples/number-ticker/live-total.js +17 -0
- package/registry/examples/number-ticker/live-total.tsx +21 -0
- package/registry/examples/number-ticker/stats.d.ts +4 -0
- package/registry/examples/number-ticker/stats.js +19 -0
- package/registry/examples/number-ticker/stats.tsx +23 -0
- package/registry/examples/pagination/cursor.d.ts +4 -0
- package/registry/examples/pagination/cursor.js +24 -0
- package/registry/examples/pagination/cursor.tsx +20 -0
- package/registry/examples/pagination/links.d.ts +4 -0
- package/registry/examples/pagination/links.js +11 -0
- package/registry/examples/pagination/links.tsx +6 -0
- package/registry/examples/pagination/native/cursor.d.ts +4 -0
- package/registry/examples/pagination/native/cursor.dark.png +0 -0
- package/registry/examples/pagination/native/cursor.js +19 -0
- package/registry/examples/pagination/native/cursor.light.png +0 -0
- package/registry/examples/pagination/native/cursor.tsx +13 -0
- package/registry/examples/pagination/native/pages.d.ts +4 -0
- package/registry/examples/pagination/native/pages.dark.png +0 -0
- package/registry/examples/pagination/native/pages.js +21 -0
- package/registry/examples/pagination/native/pages.light.png +0 -0
- package/registry/examples/pagination/native/pages.tsx +14 -0
- package/registry/examples/pagination/results.d.ts +4 -0
- package/registry/examples/pagination/results.js +23 -0
- package/registry/examples/pagination/results.tsx +19 -0
- package/registry/examples/pagination/table-footer.d.ts +4 -0
- package/registry/examples/pagination/table-footer.js +31 -0
- package/registry/examples/pagination/table-footer.tsx +27 -0
- package/registry/examples/progress/buffer.d.ts +4 -0
- package/registry/examples/progress/buffer.js +11 -0
- package/registry/examples/progress/buffer.tsx +10 -0
- package/registry/examples/progress/statuses.d.ts +4 -0
- package/registry/examples/progress/statuses.js +14 -0
- package/registry/examples/progress/statuses.tsx +11 -0
- package/registry/examples/progress/steps.d.ts +4 -0
- package/registry/examples/progress/steps.js +14 -0
- package/registry/examples/progress/steps.tsx +13 -0
- package/registry/examples/progress/upload.d.ts +4 -0
- package/registry/examples/progress/upload.js +11 -0
- package/registry/examples/progress/upload.tsx +10 -0
- package/registry/examples/search-field/global.d.ts +4 -0
- package/registry/examples/search-field/global.js +19 -0
- package/registry/examples/search-field/global.tsx +15 -0
- package/registry/examples/search-field/native/default.d.ts +4 -0
- package/registry/examples/search-field/native/default.dark.png +0 -0
- package/registry/examples/search-field/native/default.js +13 -0
- package/registry/examples/search-field/native/default.light.png +0 -0
- package/registry/examples/search-field/native/default.tsx +7 -0
- package/registry/examples/search-field/suggestions.d.ts +4 -0
- package/registry/examples/search-field/suggestions.js +30 -0
- package/registry/examples/search-field/suggestions.tsx +27 -0
- package/registry/examples/search-field/toolbar.d.ts +4 -0
- package/registry/examples/search-field/toolbar.js +17 -0
- package/registry/examples/search-field/toolbar.tsx +21 -0
- package/registry/examples/skeleton/paragraph.d.ts +4 -0
- package/registry/examples/skeleton/paragraph.js +14 -0
- package/registry/examples/skeleton/paragraph.tsx +12 -0
- package/registry/examples/skeleton/shape-of-content.d.ts +4 -0
- package/registry/examples/skeleton/shape-of-content.js +23 -0
- package/registry/examples/skeleton/shape-of-content.tsx +26 -0
- package/registry/examples/spinner/default.js +5 -2
- package/registry/examples/spinner/default.tsx +7 -1
- package/registry/examples/spinner/sizes.js +2 -1
- package/registry/examples/spinner/sizes.tsx +2 -0
- package/registry/examples/spinner/value.d.ts +4 -0
- package/registry/examples/spinner/value.js +11 -0
- package/registry/examples/spinner/value.tsx +12 -0
- package/registry/examples/stepper/checkout.d.ts +4 -0
- package/registry/examples/stepper/checkout.js +22 -0
- package/registry/examples/stepper/checkout.tsx +17 -0
- package/registry/examples/stepper/failed.d.ts +4 -0
- package/registry/examples/stepper/failed.js +26 -0
- package/registry/examples/stepper/failed.tsx +21 -0
- package/registry/examples/stepper/job.d.ts +4 -0
- package/registry/examples/stepper/job.js +32 -0
- package/registry/examples/stepper/job.tsx +28 -0
- package/registry/examples/tag-input/recipients.d.ts +4 -0
- package/registry/examples/tag-input/recipients.js +23 -0
- package/registry/examples/tag-input/recipients.tsx +20 -0
- package/registry/examples/tag-input/video-tags.d.ts +4 -0
- package/registry/examples/tag-input/video-tags.js +26 -0
- package/registry/examples/tag-input/video-tags.tsx +22 -0
- package/registry/examples/toast/grouped.d.ts +4 -0
- package/registry/examples/toast/grouped.js +21 -0
- package/registry/examples/toast/grouped.tsx +23 -0
- package/registry/examples/toast/undo.d.ts +4 -0
- package/registry/examples/toast/undo.js +29 -0
- package/registry/examples/toast/undo.tsx +30 -0
- package/registry/examples/toast/upload-progress.d.ts +4 -0
- package/registry/examples/toast/upload-progress.js +29 -0
- package/registry/examples/toast/upload-progress.tsx +31 -0
- package/registry/examples/video-player/default.d.ts +4 -0
- package/registry/examples/video-player/default.js +12 -0
- package/registry/examples/video-player/default.tsx +8 -0
- package/registry/examples/video-player/gated.d.ts +4 -0
- package/registry/examples/video-player/gated.js +26 -0
- package/registry/examples/video-player/gated.tsx +23 -0
- package/registry/examples/video-player/native/default.d.ts +4 -0
- package/registry/examples/video-player/native/default.dark.png +0 -0
- package/registry/examples/video-player/native/default.js +18 -0
- package/registry/examples/video-player/native/default.light.png +0 -0
- package/registry/examples/video-player/native/default.tsx +12 -0
- package/registry/examples/video-player/signed-source.d.ts +4 -0
- package/registry/examples/video-player/signed-source.js +16 -0
- package/registry/examples/video-player/signed-source.tsx +15 -0
- package/registry/examples/video-player/vertical.d.ts +4 -0
- package/registry/examples/video-player/vertical.js +12 -0
- package/registry/examples/video-player/vertical.tsx +12 -0
- package/registry/examples/video-trimmer/custom.d.ts +4 -0
- package/registry/examples/video-trimmer/custom.js +24 -0
- package/registry/examples/video-trimmer/custom.tsx +26 -0
- package/registry/examples/video-trimmer/filmstrip.d.ts +4 -0
- package/registry/examples/video-trimmer/filmstrip.js +15 -0
- package/registry/examples/video-trimmer/filmstrip.tsx +13 -0
- package/registry/examples/video-trimmer/playhead.d.ts +4 -0
- package/registry/examples/video-trimmer/playhead.js +15 -0
- package/registry/examples/video-trimmer/playhead.tsx +13 -0
- package/registry/field.json +1 -1
- package/registry/file-upload.json +471 -0
- package/registry/filter-bar.json +347 -0
- package/registry/glow-card.json +162 -0
- package/registry/image-cropper.json +313 -0
- package/registry/index.json +445 -20
- package/registry/iso.json +1355 -0
- package/registry/kbd.json +1 -1
- package/registry/loader.json +399 -0
- package/registry/marquee.json +225 -0
- package/registry/mascots.json +3 -3
- package/registry/media-capture.json +347 -0
- package/registry/meter.json +324 -0
- package/registry/nav-bar.json +480 -0
- package/registry/number-ticker.json +219 -0
- package/registry/page-header.json +1 -1
- package/registry/pagination.json +475 -0
- package/registry/popover.json +1 -1
- package/registry/progress.json +114 -9
- package/registry/radio-group.json +1 -1
- package/registry/search-field.json +436 -0
- package/registry/section-backdrop.json +1 -1
- package/registry/separator.json +1 -1
- package/registry/skeleton.json +69 -13
- package/registry/slider.json +1 -1
- package/registry/slot.json +1 -1
- package/registry/spinner.json +91 -27
- package/registry/stat.json +1 -1
- package/registry/stepper.json +174 -0
- package/registry/switch.json +1 -1
- package/registry/tabs.json +11 -7
- package/registry/tag-input.json +363 -0
- package/registry/theme.json +3 -3
- package/registry/toast.json +41 -13
- package/registry/tooltip.json +1 -1
- package/registry/video-player.json +598 -0
- package/registry/video-trimmer.json +385 -0
- package/dist/chunk-FHYZSO2S.js.map +0 -1
- package/dist/chunk-PESA2R4U.js +0 -51
- package/dist/chunk-PESA2R4U.js.map +0 -1
- package/registry/examples/spinner/muted.js +0 -11
- package/registry/examples/spinner/muted.tsx +0 -6
- /package/registry/examples/{spinner/muted.d.ts → audio-player/podcast.d.ts} +0 -0
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// registry/examples/loader/region-handover.tsx
|
|
4
|
+
import { Button } from "@krizaka/ui/button";
|
|
5
|
+
import { LoadingRegion } from "@krizaka/ui/loader";
|
|
6
|
+
import { Skeleton } from "@krizaka/ui/skeleton";
|
|
7
|
+
import { useState } from "react";
|
|
8
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
|
+
function LoaderRegionHandover() {
|
|
10
|
+
const [loading, setLoading] = useState(false);
|
|
11
|
+
const card = "flex items-center gap-3 rounded-xl border border-border-default bg-surface-1 p-4";
|
|
12
|
+
return /* @__PURE__ */ jsxs("div", { className: "flex w-full max-w-sm flex-col gap-3", children: [
|
|
13
|
+
/* @__PURE__ */ jsx(
|
|
14
|
+
LoadingRegion,
|
|
15
|
+
{
|
|
16
|
+
loading,
|
|
17
|
+
label: "Loading the creator",
|
|
18
|
+
slowLabel: "Still loading \u2014 the server is busy",
|
|
19
|
+
slowAfter: 2500,
|
|
20
|
+
delay: 0,
|
|
21
|
+
skeleton: /* @__PURE__ */ jsxs("div", { className: card, children: [
|
|
22
|
+
/* @__PURE__ */ jsx(Skeleton, { shape: "circle" }),
|
|
23
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-1 flex-col gap-2", children: [
|
|
24
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "w-1/2" }),
|
|
25
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "w-3/4" })
|
|
26
|
+
] })
|
|
27
|
+
] }),
|
|
28
|
+
children: /* @__PURE__ */ jsxs("div", { className: card, children: [
|
|
29
|
+
/* @__PURE__ */ jsx("span", { "aria-hidden": true, className: "h-10 w-10 rounded-full bg-accent-soft" }),
|
|
30
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
31
|
+
/* @__PURE__ */ jsx("p", { className: "font-semibold text-fg", children: "Eric Moreau" }),
|
|
32
|
+
/* @__PURE__ */ jsx("p", { className: "text-sm text-fg-secondary", children: "1,204 supporters" })
|
|
33
|
+
] })
|
|
34
|
+
] })
|
|
35
|
+
}
|
|
36
|
+
),
|
|
37
|
+
/* @__PURE__ */ jsx(Button, { size: "sm", onClick: () => setLoading((l) => !l), children: loading ? "Finish loading" : "Load again" })
|
|
38
|
+
] });
|
|
39
|
+
}
|
|
40
|
+
export {
|
|
41
|
+
LoaderRegionHandover as default
|
|
42
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { Button } from "@krizaka/ui/button";
|
|
3
|
+
import { LoadingRegion } from "@krizaka/ui/loader";
|
|
4
|
+
import { Skeleton } from "@krizaka/ui/skeleton";
|
|
5
|
+
import { useState } from "react";
|
|
6
|
+
|
|
7
|
+
// Press “Load again”: the region hands over — a skeleton of its shape → words when it lasts → the content, fading in.
|
|
8
|
+
export default function LoaderRegionHandover() {
|
|
9
|
+
const [loading, setLoading] = useState(false);
|
|
10
|
+
const card = "flex items-center gap-3 rounded-xl border border-border-default bg-surface-1 p-4";
|
|
11
|
+
return (
|
|
12
|
+
<div className="flex w-full max-w-sm flex-col gap-3">
|
|
13
|
+
<LoadingRegion
|
|
14
|
+
loading={loading}
|
|
15
|
+
label="Loading the creator"
|
|
16
|
+
slowLabel="Still loading — the server is busy"
|
|
17
|
+
slowAfter={2500}
|
|
18
|
+
delay={0}
|
|
19
|
+
skeleton={<div className={card}><Skeleton shape="circle" /><div className="flex flex-1 flex-col gap-2"><Skeleton className="w-1/2" /><Skeleton className="w-3/4" /></div></div>}
|
|
20
|
+
>
|
|
21
|
+
<div className={card}>
|
|
22
|
+
<span aria-hidden className="h-10 w-10 rounded-full bg-accent-soft" />
|
|
23
|
+
<div><p className="font-semibold text-fg">Eric Moreau</p><p className="text-sm text-fg-secondary">1,204 supporters</p></div>
|
|
24
|
+
</div>
|
|
25
|
+
</LoadingRegion>
|
|
26
|
+
<Button size="sm" onClick={() => setLoading((l) => !l)}>{loading ? "Finish loading" : "Load again"}</Button>
|
|
27
|
+
</div>
|
|
28
|
+
);
|
|
29
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// registry/examples/loader/upload-eta.tsx
|
|
4
|
+
import { Loader } from "@krizaka/ui/loader";
|
|
5
|
+
import { jsx } from "react/jsx-runtime";
|
|
6
|
+
function LoaderUploadEta() {
|
|
7
|
+
return /* @__PURE__ */ jsx("div", { className: "w-full max-w-sm rounded-xl border border-border-default bg-surface-1 p-4", children: /* @__PURE__ */ jsx(Loader, { label: "Uploading \u201CNight walk.mp4\u201D", value: 0.62, eta: "About 40 s left", delay: 0 }) });
|
|
8
|
+
}
|
|
9
|
+
export {
|
|
10
|
+
LoaderUploadEta as default
|
|
11
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Loader } from "@krizaka/ui/loader";
|
|
2
|
+
|
|
3
|
+
// A determinate wait with its time left: the trace grows, the percentage and the ETA read in tabular figures.
|
|
4
|
+
export default function LoaderUploadEta() {
|
|
5
|
+
return (
|
|
6
|
+
<div className="w-full max-w-sm rounded-xl border border-border-default bg-surface-1 p-4">
|
|
7
|
+
<Loader label="Uploading “Night walk.mp4”" value={0.62} eta="About 40 s left" delay={0} />
|
|
8
|
+
</div>
|
|
9
|
+
);
|
|
10
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// registry/examples/marquee/cards.tsx
|
|
4
|
+
import { Marquee } from "@krizaka/ui/marquee";
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
var quotes = [
|
|
7
|
+
{ who: "Maya, illustrator", text: "My supporters see exactly where their tip goes." },
|
|
8
|
+
{ who: "Eric, filmmaker", text: "I sold a cut to the highest bidder, live." },
|
|
9
|
+
{ who: "Sam, musician", text: "90 % to me \u2014 and it shows on every payout." }
|
|
10
|
+
];
|
|
11
|
+
function MarqueeCards() {
|
|
12
|
+
return /* @__PURE__ */ jsx(Marquee, { label: "What creators say", pauseLabel: "Pause", playLabel: "Play", direction: "right", speed: 24, className: "w-full max-w-2xl", children: quotes.map((q) => /* @__PURE__ */ jsxs("figure", { className: "w-72 rounded-xl border border-border-default bg-surface-1 p-4", children: [
|
|
13
|
+
/* @__PURE__ */ jsxs("blockquote", { className: "text-sm text-fg", children: [
|
|
14
|
+
"\u201C",
|
|
15
|
+
q.text,
|
|
16
|
+
"\u201D"
|
|
17
|
+
] }),
|
|
18
|
+
/* @__PURE__ */ jsx("figcaption", { className: "mt-2 text-xs text-fg-secondary", children: q.who })
|
|
19
|
+
] }, q.who)) });
|
|
20
|
+
}
|
|
21
|
+
export {
|
|
22
|
+
MarqueeCards as default
|
|
23
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Marquee } from "@krizaka/ui/marquee";
|
|
2
|
+
|
|
3
|
+
const quotes = [
|
|
4
|
+
{ who: "Maya, illustrator", text: "My supporters see exactly where their tip goes." },
|
|
5
|
+
{ who: "Eric, filmmaker", text: "I sold a cut to the highest bidder, live." },
|
|
6
|
+
{ who: "Sam, musician", text: "90 % to me — and it shows on every payout." },
|
|
7
|
+
];
|
|
8
|
+
|
|
9
|
+
// Cards sliding the other way, slower; each card's text is read once (the copy is hidden from assistive technology).
|
|
10
|
+
export default function MarqueeCards() {
|
|
11
|
+
return (
|
|
12
|
+
<Marquee label="What creators say" pauseLabel="Pause" playLabel="Play" direction="right" speed={24} className="w-full max-w-2xl">
|
|
13
|
+
{quotes.map((q) => (
|
|
14
|
+
<figure key={q.who} className="w-72 rounded-xl border border-border-default bg-surface-1 p-4">
|
|
15
|
+
<blockquote className="text-sm text-fg">“{q.text}”</blockquote>
|
|
16
|
+
<figcaption className="mt-2 text-xs text-fg-secondary">{q.who}</figcaption>
|
|
17
|
+
</figure>
|
|
18
|
+
))}
|
|
19
|
+
</Marquee>
|
|
20
|
+
);
|
|
21
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// registry/examples/marquee/logos.tsx
|
|
4
|
+
import { Marquee } from "@krizaka/ui/marquee";
|
|
5
|
+
import { jsx } from "react/jsx-runtime";
|
|
6
|
+
var names = ["Postgres", "Ollama", "Spring", "Kafka", "Keycloak", "Qdrant", "MinIO", "Grafana"];
|
|
7
|
+
function MarqueeLogos() {
|
|
8
|
+
return /* @__PURE__ */ jsx(Marquee, { label: "Built on open source", pauseLabel: "Pause the band", playLabel: "Play the band", className: "w-full max-w-2xl", children: names.map((name) => /* @__PURE__ */ jsx("span", { className: "font-display text-lg font-semibold text-fg-secondary", children: name }, name)) });
|
|
9
|
+
}
|
|
10
|
+
export {
|
|
11
|
+
MarqueeLogos as default
|
|
12
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Marquee } from "@krizaka/ui/marquee";
|
|
2
|
+
|
|
3
|
+
const names = ["Postgres", "Ollama", "Spring", "Kafka", "Keycloak", "Qdrant", "MinIO", "Grafana"];
|
|
4
|
+
|
|
5
|
+
// A band of names at 40 px/s: it pauses under the pointer or the focus, and its pause button (top right, on hover or
|
|
6
|
+
// focus) stops it for good. Under reduced motion it is a still row you scroll.
|
|
7
|
+
export default function MarqueeLogos() {
|
|
8
|
+
return (
|
|
9
|
+
<Marquee label="Built on open source" pauseLabel="Pause the band" playLabel="Play the band" className="w-full max-w-2xl">
|
|
10
|
+
{names.map((name) => (
|
|
11
|
+
<span key={name} className="font-display text-lg font-semibold text-fg-secondary">
|
|
12
|
+
{name}
|
|
13
|
+
</span>
|
|
14
|
+
))}
|
|
15
|
+
</Marquee>
|
|
16
|
+
);
|
|
17
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// registry/examples/media-capture/clip.tsx
|
|
4
|
+
import { MediaCapture } from "@krizaka/ui/media-capture";
|
|
5
|
+
import { jsx } from "react/jsx-runtime";
|
|
6
|
+
function MediaCaptureClip() {
|
|
7
|
+
return /* @__PURE__ */ jsx("div", { className: "w-72", children: /* @__PURE__ */ jsx(
|
|
8
|
+
MediaCapture,
|
|
9
|
+
{
|
|
10
|
+
mode: "both",
|
|
11
|
+
maxDuration: 60,
|
|
12
|
+
aspectRatio: "9 / 16",
|
|
13
|
+
onCapture: (result) => console.info(result.kind, result.blob.size),
|
|
14
|
+
labels: { prompt: "Film a story of up to 60 seconds, or take a photo." }
|
|
15
|
+
}
|
|
16
|
+
) });
|
|
17
|
+
}
|
|
18
|
+
export {
|
|
19
|
+
MediaCaptureClip as default
|
|
20
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { MediaCapture } from "@krizaka/ui/media-capture";
|
|
4
|
+
|
|
5
|
+
// A photo or a clip of 60 seconds at most, for a story; the blob goes to the upload queue.
|
|
6
|
+
export default function MediaCaptureClip() {
|
|
7
|
+
return (
|
|
8
|
+
<div className="w-72">
|
|
9
|
+
<MediaCapture
|
|
10
|
+
mode="both"
|
|
11
|
+
maxDuration={60}
|
|
12
|
+
aspectRatio="9 / 16"
|
|
13
|
+
onCapture={(result) => console.info(result.kind, result.blob.size)}
|
|
14
|
+
labels={{ prompt: "Film a story of up to 60 seconds, or take a photo." }}
|
|
15
|
+
/>
|
|
16
|
+
</div>
|
|
17
|
+
);
|
|
18
|
+
}
|
|
Binary file
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// registry/examples/media-capture/native/photo.tsx
|
|
4
|
+
import { MediaCapture } from "@krizaka/ui/native/media-capture";
|
|
5
|
+
import { jsx } from "react/jsx-runtime";
|
|
6
|
+
function NativeMediaCapturePhoto() {
|
|
7
|
+
return /* @__PURE__ */ jsx(
|
|
8
|
+
MediaCapture,
|
|
9
|
+
{
|
|
10
|
+
mode: "photo",
|
|
11
|
+
onCapture: ({ uri }) => console.info(uri),
|
|
12
|
+
labels: {
|
|
13
|
+
prompt: "Take a profile picture with your camera.",
|
|
14
|
+
start: "Turn on the camera",
|
|
15
|
+
denied: "Camera access is off. Turn it on in Settings.",
|
|
16
|
+
settings: "Open Settings",
|
|
17
|
+
takePhoto: "Take photo",
|
|
18
|
+
startRecording: "Start recording",
|
|
19
|
+
stopRecording: "Stop recording",
|
|
20
|
+
switchCamera: "Switch camera"
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
);
|
|
24
|
+
}
|
|
25
|
+
export {
|
|
26
|
+
NativeMediaCapturePhoto as default
|
|
27
|
+
};
|
|
Binary file
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { MediaCapture } from "@krizaka/ui/native/media-capture";
|
|
2
|
+
|
|
3
|
+
export default function NativeMediaCapturePhoto() {
|
|
4
|
+
return (
|
|
5
|
+
<MediaCapture
|
|
6
|
+
mode="photo"
|
|
7
|
+
onCapture={({ uri }) => console.info(uri)}
|
|
8
|
+
labels={{
|
|
9
|
+
prompt: "Take a profile picture with your camera.",
|
|
10
|
+
start: "Turn on the camera",
|
|
11
|
+
denied: "Camera access is off. Turn it on in Settings.",
|
|
12
|
+
settings: "Open Settings",
|
|
13
|
+
takePhoto: "Take photo",
|
|
14
|
+
startRecording: "Start recording",
|
|
15
|
+
stopRecording: "Stop recording",
|
|
16
|
+
switchCamera: "Switch camera",
|
|
17
|
+
}}
|
|
18
|
+
/>
|
|
19
|
+
);
|
|
20
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// registry/examples/media-capture/profile-photo.tsx
|
|
4
|
+
import { MediaCapture } from "@krizaka/ui/media-capture";
|
|
5
|
+
import * as React from "react";
|
|
6
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
|
+
function MediaCaptureProfilePhoto() {
|
|
8
|
+
const [photo, setPhoto] = React.useState(null);
|
|
9
|
+
return /* @__PURE__ */ jsxs("div", { className: "flex w-72 flex-col gap-3", children: [
|
|
10
|
+
/* @__PURE__ */ jsx(
|
|
11
|
+
MediaCapture,
|
|
12
|
+
{
|
|
13
|
+
mode: "photo",
|
|
14
|
+
facing: "user",
|
|
15
|
+
onCapture: (result) => setPhoto(result.url),
|
|
16
|
+
labels: { prompt: "Take a profile picture with your camera.", start: "Turn on the camera" }
|
|
17
|
+
}
|
|
18
|
+
),
|
|
19
|
+
photo && /* @__PURE__ */ jsx("img", { src: photo, alt: "Your new profile picture", className: "h-20 w-20 rounded-full object-cover" })
|
|
20
|
+
] });
|
|
21
|
+
}
|
|
22
|
+
export {
|
|
23
|
+
MediaCaptureProfilePhoto as default
|
|
24
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { MediaCapture } from "@krizaka/ui/media-capture";
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
|
|
6
|
+
// The front camera, a photo; the browser asks only when the button is pressed.
|
|
7
|
+
export default function MediaCaptureProfilePhoto() {
|
|
8
|
+
const [photo, setPhoto] = React.useState<string | null>(null);
|
|
9
|
+
return (
|
|
10
|
+
<div className="flex w-72 flex-col gap-3">
|
|
11
|
+
<MediaCapture
|
|
12
|
+
mode="photo"
|
|
13
|
+
facing="user"
|
|
14
|
+
onCapture={(result) => setPhoto(result.url)}
|
|
15
|
+
labels={{ prompt: "Take a profile picture with your camera.", start: "Turn on the camera" }}
|
|
16
|
+
/>
|
|
17
|
+
{photo && <img src={photo} alt="Your new profile picture" className="h-20 w-20 rounded-full object-cover" />}
|
|
18
|
+
</div>
|
|
19
|
+
);
|
|
20
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// registry/examples/meter/balance.tsx
|
|
4
|
+
import { Meter, MeterValue } from "@krizaka/ui/meter";
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
function MeterBalance() {
|
|
7
|
+
return /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-6", children: [
|
|
8
|
+
/* @__PURE__ */ jsx(Meter, { variant: "ring", label: "Credits left", value: 12, max: 100, valueText: "12 credits of 100", thresholds: { low: 0.25, high: 0.6 }, optimum: "high", children: /* @__PURE__ */ jsx(MeterValue, { value: "12", caption: "credits" }) }),
|
|
9
|
+
/* @__PURE__ */ jsx(Meter, { variant: "ring", label: "Credits left", value: 80, max: 100, valueText: "80 credits of 100", thresholds: { low: 0.25, high: 0.6 }, optimum: "high", children: /* @__PURE__ */ jsx(MeterValue, { value: "80", caption: "credits" }) })
|
|
10
|
+
] });
|
|
11
|
+
}
|
|
12
|
+
export {
|
|
13
|
+
MeterBalance as default
|
|
14
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Meter, MeterValue } from "@krizaka/ui/meter";
|
|
2
|
+
|
|
3
|
+
// A balance, where high is good (`optimum="high"`): it turns to danger as it runs low.
|
|
4
|
+
export default function MeterBalance() {
|
|
5
|
+
return (
|
|
6
|
+
<div className="flex items-center gap-6">
|
|
7
|
+
<Meter variant="ring" label="Credits left" value={12} max={100} valueText="12 credits of 100" thresholds={{ low: 0.25, high: 0.6 }} optimum="high">
|
|
8
|
+
<MeterValue value="12" caption="credits" />
|
|
9
|
+
</Meter>
|
|
10
|
+
<Meter variant="ring" label="Credits left" value={80} max={100} valueText="80 credits of 100" thresholds={{ low: 0.25, high: 0.6 }} optimum="high">
|
|
11
|
+
<MeterValue value="80" caption="credits" />
|
|
12
|
+
</Meter>
|
|
13
|
+
</div>
|
|
14
|
+
);
|
|
15
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// registry/examples/meter/quota.tsx
|
|
4
|
+
import { Meter } from "@krizaka/ui/meter";
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
function MeterQuota() {
|
|
7
|
+
return /* @__PURE__ */ jsxs("div", { className: "flex w-full max-w-sm flex-col gap-4", children: [
|
|
8
|
+
/* @__PURE__ */ jsx(Meter, { label: "Storage", value: 18, max: 50, valueText: "18 GB of 50 GB", thresholds: { low: 0.7, high: 0.9 }, showLabel: true }),
|
|
9
|
+
/* @__PURE__ */ jsx(Meter, { label: "GPU minutes", value: 41, max: 50, valueText: "41 of 50 min", thresholds: { low: 0.7, high: 0.9 }, showLabel: true }),
|
|
10
|
+
/* @__PURE__ */ jsx(Meter, { label: "API calls", value: 970, max: 1e3, valueText: "970 of 1,000", thresholds: { low: 0.7, high: 0.9 }, showLabel: true })
|
|
11
|
+
] });
|
|
12
|
+
}
|
|
13
|
+
export {
|
|
14
|
+
MeterQuota as default
|
|
15
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Meter } from "@krizaka/ui/meter";
|
|
2
|
+
|
|
3
|
+
// Quotas: the tone turns to warning past 70 %, to danger past 90 % — and the value is said in words.
|
|
4
|
+
export default function MeterQuota() {
|
|
5
|
+
return (
|
|
6
|
+
<div className="flex w-full max-w-sm flex-col gap-4">
|
|
7
|
+
<Meter label="Storage" value={18} max={50} valueText="18 GB of 50 GB" thresholds={{ low: 0.7, high: 0.9 }} showLabel />
|
|
8
|
+
<Meter label="GPU minutes" value={41} max={50} valueText="41 of 50 min" thresholds={{ low: 0.7, high: 0.9 }} showLabel />
|
|
9
|
+
<Meter label="API calls" value={970} max={1000} valueText="970 of 1,000" thresholds={{ low: 0.7, high: 0.9 }} showLabel />
|
|
10
|
+
</div>
|
|
11
|
+
);
|
|
12
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// registry/examples/meter/split.tsx
|
|
4
|
+
import { Meter, MeterValue } from "@krizaka/ui/meter";
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
var parts = [
|
|
7
|
+
{ label: "To the creator", value: 90, valueText: "\u20AC9.00" },
|
|
8
|
+
{ label: "Platform", value: 10, valueText: "\u20AC1.00" }
|
|
9
|
+
];
|
|
10
|
+
function MeterSplit() {
|
|
11
|
+
return /* @__PURE__ */ jsxs("div", { className: "flex w-full max-w-md flex-wrap items-center gap-8", children: [
|
|
12
|
+
/* @__PURE__ */ jsx(Meter, { variant: "ring", label: "Split of a \u20AC10 tip", parts, children: /* @__PURE__ */ jsx(MeterValue, { value: "90 %", caption: "creator" }) }),
|
|
13
|
+
/* @__PURE__ */ jsx(Meter, { label: "Split of a \u20AC10 tip", parts, showLabel: true, className: "min-w-48 flex-1" })
|
|
14
|
+
] });
|
|
15
|
+
}
|
|
16
|
+
export {
|
|
17
|
+
MeterSplit as default
|
|
18
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Meter, MeterValue } from "@krizaka/ui/meter";
|
|
2
|
+
|
|
3
|
+
// Where a €10 tip goes: a split drawn as a ring and a bar, each with its legend — the text version of what it draws.
|
|
4
|
+
const parts = [
|
|
5
|
+
{ label: "To the creator", value: 90, valueText: "€9.00" },
|
|
6
|
+
{ label: "Platform", value: 10, valueText: "€1.00" },
|
|
7
|
+
];
|
|
8
|
+
|
|
9
|
+
export default function MeterSplit() {
|
|
10
|
+
return (
|
|
11
|
+
<div className="flex w-full max-w-md flex-wrap items-center gap-8">
|
|
12
|
+
<Meter variant="ring" label="Split of a €10 tip" parts={parts}>
|
|
13
|
+
<MeterValue value="90 %" caption="creator" />
|
|
14
|
+
</Meter>
|
|
15
|
+
<Meter label="Split of a €10 tip" parts={parts} showLabel className="min-w-48 flex-1" />
|
|
16
|
+
</div>
|
|
17
|
+
);
|
|
18
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// registry/examples/nav-bar/app-bar.tsx
|
|
4
|
+
import { NavBar } from "@krizaka/ui/nav-bar";
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
function NavBarAppBar() {
|
|
7
|
+
return /* @__PURE__ */ jsxs(NavBar.Root, { label: "Studio", floating: false, compactAfter: false, children: [
|
|
8
|
+
/* @__PURE__ */ jsx(NavBar.Brand, { href: "#studio", children: "Studio" }),
|
|
9
|
+
/* @__PURE__ */ jsxs(NavBar.Items, { children: [
|
|
10
|
+
/* @__PURE__ */ jsx(NavBar.Link, { href: "#videos", active: true, children: "Videos" }),
|
|
11
|
+
/* @__PURE__ */ jsx(NavBar.Link, { href: "#earnings", children: "Earnings" }),
|
|
12
|
+
/* @__PURE__ */ jsx(NavBar.Link, { href: "#auctions", children: "Auctions" })
|
|
13
|
+
] }),
|
|
14
|
+
/* @__PURE__ */ jsx(NavBar.Actions, { children: /* @__PURE__ */ jsxs(NavBar.Mobile, { openLabel: "Open the menu", closeLabel: "Close the menu", children: [
|
|
15
|
+
/* @__PURE__ */ jsx(NavBar.MobileLink, { href: "#videos", active: true, children: "Videos" }),
|
|
16
|
+
/* @__PURE__ */ jsx(NavBar.MobileLink, { href: "#earnings", children: "Earnings" })
|
|
17
|
+
] }) })
|
|
18
|
+
] });
|
|
19
|
+
}
|
|
20
|
+
export {
|
|
21
|
+
NavBarAppBar as default
|
|
22
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { NavBar } from "@krizaka/ui/nav-bar";
|
|
2
|
+
|
|
3
|
+
// Inside an app: `floating={false}` — a full-width bar with a hairline, the same light between sections.
|
|
4
|
+
export default function NavBarAppBar() {
|
|
5
|
+
return (
|
|
6
|
+
<NavBar.Root label="Studio" floating={false} compactAfter={false}>
|
|
7
|
+
<NavBar.Brand href="#studio">Studio</NavBar.Brand>
|
|
8
|
+
<NavBar.Items>
|
|
9
|
+
<NavBar.Link href="#videos" active>Videos</NavBar.Link>
|
|
10
|
+
<NavBar.Link href="#earnings">Earnings</NavBar.Link>
|
|
11
|
+
<NavBar.Link href="#auctions">Auctions</NavBar.Link>
|
|
12
|
+
</NavBar.Items>
|
|
13
|
+
<NavBar.Actions>
|
|
14
|
+
<NavBar.Mobile openLabel="Open the menu" closeLabel="Close the menu">
|
|
15
|
+
<NavBar.MobileLink href="#videos" active>Videos</NavBar.MobileLink>
|
|
16
|
+
<NavBar.MobileLink href="#earnings">Earnings</NavBar.MobileLink>
|
|
17
|
+
</NavBar.Mobile>
|
|
18
|
+
</NavBar.Actions>
|
|
19
|
+
</NavBar.Root>
|
|
20
|
+
);
|
|
21
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// registry/examples/nav-bar/menu-open.tsx
|
|
4
|
+
import { NavBar } from "@krizaka/ui/nav-bar";
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
var icon = /* @__PURE__ */ jsxs("svg", { "data-kz-icon": true, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.8", "aria-hidden": true, children: [
|
|
7
|
+
/* @__PURE__ */ jsx("path", { d: "M12 3 19.8 7.5v9L12 21l-7.8-4.5v-9Z" }),
|
|
8
|
+
/* @__PURE__ */ jsx("circle", { "data-node": true, cx: "12", cy: "12", r: "2.4", fill: "currentColor" })
|
|
9
|
+
] });
|
|
10
|
+
function NavBarMenuOpen({ defaultOpen = false }) {
|
|
11
|
+
return /* @__PURE__ */ jsxs(NavBar.Root, { label: "Main", className: "mb-72", children: [
|
|
12
|
+
/* @__PURE__ */ jsx(NavBar.Brand, { href: "#home", children: "Krizaka" }),
|
|
13
|
+
/* @__PURE__ */ jsxs(NavBar.Items, { defaultValue: defaultOpen ? "products" : void 0, children: [
|
|
14
|
+
/* @__PURE__ */ jsxs(NavBar.Menu, { value: "products", label: "Products", columns: 2, active: true, children: [
|
|
15
|
+
/* @__PURE__ */ jsx(NavBar.MenuLink, { href: "#overview", icon, title: "Overview", description: "What it does, in one page.", active: true }),
|
|
16
|
+
/* @__PURE__ */ jsx(NavBar.MenuLink, { href: "#how", icon, title: "How it works", description: "The request journey, step by step." }),
|
|
17
|
+
/* @__PURE__ */ jsx(NavBar.MenuLink, { href: "#demo", icon, title: "Demo", description: "Try it on the real application." }),
|
|
18
|
+
/* @__PURE__ */ jsx(NavBar.MenuLink, { href: "#signature", icon, title: "Signature", description: "What only it does." })
|
|
19
|
+
] }),
|
|
20
|
+
/* @__PURE__ */ jsx(NavBar.Link, { href: "#docs", children: "Docs" })
|
|
21
|
+
] })
|
|
22
|
+
] });
|
|
23
|
+
}
|
|
24
|
+
export {
|
|
25
|
+
NavBarMenuOpen as default
|
|
26
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { NavBar } from "@krizaka/ui/nav-bar";
|
|
2
|
+
|
|
3
|
+
const icon = (
|
|
4
|
+
<svg data-kz-icon viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" aria-hidden>
|
|
5
|
+
<path d="M12 3 19.8 7.5v9L12 21l-7.8-4.5v-9Z" />
|
|
6
|
+
<circle data-node cx="12" cy="12" r="2.4" fill="currentColor" />
|
|
7
|
+
</svg>
|
|
8
|
+
);
|
|
9
|
+
|
|
10
|
+
// A menu in two columns, open: icons whose node lights up under the pointer, the current page tinted.
|
|
11
|
+
export default function NavBarMenuOpen({ defaultOpen = false }: { defaultOpen?: boolean }) {
|
|
12
|
+
return (
|
|
13
|
+
<NavBar.Root label="Main" className="mb-72">
|
|
14
|
+
<NavBar.Brand href="#home">Krizaka</NavBar.Brand>
|
|
15
|
+
<NavBar.Items defaultValue={defaultOpen ? "products" : undefined}>
|
|
16
|
+
<NavBar.Menu value="products" label="Products" columns={2} active>
|
|
17
|
+
<NavBar.MenuLink href="#overview" icon={icon} title="Overview" description="What it does, in one page." active />
|
|
18
|
+
<NavBar.MenuLink href="#how" icon={icon} title="How it works" description="The request journey, step by step." />
|
|
19
|
+
<NavBar.MenuLink href="#demo" icon={icon} title="Demo" description="Try it on the real application." />
|
|
20
|
+
<NavBar.MenuLink href="#signature" icon={icon} title="Signature" description="What only it does." />
|
|
21
|
+
</NavBar.Menu>
|
|
22
|
+
<NavBar.Link href="#docs">Docs</NavBar.Link>
|
|
23
|
+
</NavBar.Items>
|
|
24
|
+
</NavBar.Root>
|
|
25
|
+
);
|
|
26
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// registry/examples/nav-bar/site.tsx
|
|
4
|
+
import { Button } from "@krizaka/ui/button";
|
|
5
|
+
import { NavBar } from "@krizaka/ui/nav-bar";
|
|
6
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
|
+
var products = [
|
|
8
|
+
{ href: "#orazaka", title: "Orazaka", description: "Sovereign AI, on your own servers." },
|
|
9
|
+
{ href: "#orochia", title: "Orochia", description: "Creators keep 90 % of every support." },
|
|
10
|
+
{ href: "#ui", title: "Krizaka UI", description: "The components behind both." }
|
|
11
|
+
];
|
|
12
|
+
function NavBarSite() {
|
|
13
|
+
return /* @__PURE__ */ jsxs(NavBar.Root, { label: "Main", children: [
|
|
14
|
+
/* @__PURE__ */ jsx(NavBar.Brand, { href: "#home", children: "Krizaka" }),
|
|
15
|
+
/* @__PURE__ */ jsxs(NavBar.Items, { children: [
|
|
16
|
+
/* @__PURE__ */ jsx(NavBar.Menu, { label: "Products", children: products.map((p) => /* @__PURE__ */ jsx(NavBar.MenuLink, { ...p }, p.href)) }),
|
|
17
|
+
/* @__PURE__ */ jsx(NavBar.Link, { href: "#docs", children: "Docs" }),
|
|
18
|
+
/* @__PURE__ */ jsx(NavBar.Link, { href: "#story", active: true, children: "Our story" })
|
|
19
|
+
] }),
|
|
20
|
+
/* @__PURE__ */ jsxs(NavBar.Actions, { children: [
|
|
21
|
+
/* @__PURE__ */ jsx(Button, { variant: "primary", size: "sm", shape: "pill", className: "hidden sm:inline-flex", children: "Contact" }),
|
|
22
|
+
/* @__PURE__ */ jsxs(NavBar.Mobile, { openLabel: "Open the menu", closeLabel: "Close the menu", children: [
|
|
23
|
+
products.map((p) => /* @__PURE__ */ jsx(NavBar.MobileLink, { href: p.href, children: p.title }, p.href)),
|
|
24
|
+
/* @__PURE__ */ jsx(NavBar.MobileLink, { href: "#story", active: true, children: "Our story" })
|
|
25
|
+
] })
|
|
26
|
+
] })
|
|
27
|
+
] });
|
|
28
|
+
}
|
|
29
|
+
export {
|
|
30
|
+
NavBarSite as default
|
|
31
|
+
};
|