@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
|
Binary file
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// registry/examples/search-field/native/default.tsx
|
|
4
|
+
import { SearchField } from "@krizaka/ui/native";
|
|
5
|
+
import * as React from "react";
|
|
6
|
+
import { jsx } from "react/jsx-runtime";
|
|
7
|
+
function NativeSearchFieldDefault() {
|
|
8
|
+
const [query, setQuery] = React.useState("sunset");
|
|
9
|
+
return /* @__PURE__ */ jsx(SearchField, { label: "Search videos", placeholder: "Search videos", value: query, onValueChange: setQuery, clearLabel: "Clear search" });
|
|
10
|
+
}
|
|
11
|
+
export {
|
|
12
|
+
NativeSearchFieldDefault as default
|
|
13
|
+
};
|
|
Binary file
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { SearchField } from "@krizaka/ui/native";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
|
|
4
|
+
export default function NativeSearchFieldDefault() {
|
|
5
|
+
const [query, setQuery] = React.useState("sunset");
|
|
6
|
+
return <SearchField label="Search videos" placeholder="Search videos" value={query} onValueChange={setQuery} clearLabel="Clear search" />;
|
|
7
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// registry/examples/search-field/suggestions.tsx
|
|
4
|
+
import { SearchField } from "@krizaka/ui/search-field";
|
|
5
|
+
import * as React from "react";
|
|
6
|
+
import { jsx } from "react/jsx-runtime";
|
|
7
|
+
var RECENT = [
|
|
8
|
+
{ value: "sunset", label: "sunset timelapse", meta: "Tag" },
|
|
9
|
+
{ value: "eric", label: "Eric Tremblay", meta: "Creator" },
|
|
10
|
+
{ value: "studio", label: "studio lighting", meta: "2 days ago" }
|
|
11
|
+
];
|
|
12
|
+
function SearchFieldSuggestions() {
|
|
13
|
+
const [query, setQuery] = React.useState("");
|
|
14
|
+
const shown = RECENT.filter((s) => s.label.includes(query.toLowerCase()));
|
|
15
|
+
return /* @__PURE__ */ jsx(
|
|
16
|
+
SearchField,
|
|
17
|
+
{
|
|
18
|
+
label: "Search videos",
|
|
19
|
+
placeholder: "Search videos",
|
|
20
|
+
value: query,
|
|
21
|
+
onValueChange: setQuery,
|
|
22
|
+
suggestions: shown,
|
|
23
|
+
suggestionsLabel: "Recent searches",
|
|
24
|
+
onSuggestionSelect: (s) => setQuery(s.label)
|
|
25
|
+
}
|
|
26
|
+
);
|
|
27
|
+
}
|
|
28
|
+
export {
|
|
29
|
+
SearchFieldSuggestions as default
|
|
30
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { SearchField } from "@krizaka/ui/search-field";
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
|
|
6
|
+
const RECENT = [
|
|
7
|
+
{ value: "sunset", label: "sunset timelapse", meta: "Tag" },
|
|
8
|
+
{ value: "eric", label: "Eric Tremblay", meta: "Creator" },
|
|
9
|
+
{ value: "studio", label: "studio lighting", meta: "2 days ago" },
|
|
10
|
+
];
|
|
11
|
+
|
|
12
|
+
// Recent searches under the field: the arrows walk them, Enter picks one.
|
|
13
|
+
export default function SearchFieldSuggestions() {
|
|
14
|
+
const [query, setQuery] = React.useState("");
|
|
15
|
+
const shown = RECENT.filter((s) => s.label.includes(query.toLowerCase()));
|
|
16
|
+
return (
|
|
17
|
+
<SearchField
|
|
18
|
+
label="Search videos"
|
|
19
|
+
placeholder="Search videos"
|
|
20
|
+
value={query}
|
|
21
|
+
onValueChange={setQuery}
|
|
22
|
+
suggestions={shown}
|
|
23
|
+
suggestionsLabel="Recent searches"
|
|
24
|
+
onSuggestionSelect={(s) => setQuery(s.label)}
|
|
25
|
+
/>
|
|
26
|
+
);
|
|
27
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// registry/examples/search-field/toolbar.tsx
|
|
4
|
+
import { SearchField } from "@krizaka/ui/search-field";
|
|
5
|
+
import * as React from "react";
|
|
6
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
|
+
var MODELS = ["Flux 1.1", "Whisper large", "XTTS v2", "Llama 3.3", "Qwen 2.5"];
|
|
8
|
+
function SearchFieldToolbar() {
|
|
9
|
+
const [query, setQuery] = React.useState("");
|
|
10
|
+
return /* @__PURE__ */ jsxs("div", { className: "flex w-72 flex-col gap-2", children: [
|
|
11
|
+
/* @__PURE__ */ jsx(SearchField, { label: "Filter models", placeholder: "Filter models", size: "sm", landmark: false, onSearch: setQuery, debounce: 150 }),
|
|
12
|
+
/* @__PURE__ */ jsx("ul", { className: "text-sm text-fg-secondary", children: MODELS.filter((m) => m.toLowerCase().includes(query.toLowerCase())).map((m) => /* @__PURE__ */ jsx("li", { children: m }, m)) })
|
|
13
|
+
] });
|
|
14
|
+
}
|
|
15
|
+
export {
|
|
16
|
+
SearchFieldToolbar as default
|
|
17
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { SearchField } from "@krizaka/ui/search-field";
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
|
|
6
|
+
const MODELS = ["Flux 1.1", "Whisper large", "XTTS v2", "Llama 3.3", "Qwen 2.5"];
|
|
7
|
+
|
|
8
|
+
// A small field that filters a list as you type (debounced).
|
|
9
|
+
export default function SearchFieldToolbar() {
|
|
10
|
+
const [query, setQuery] = React.useState("");
|
|
11
|
+
return (
|
|
12
|
+
<div className="flex w-72 flex-col gap-2">
|
|
13
|
+
<SearchField label="Filter models" placeholder="Filter models" size="sm" landmark={false} onSearch={setQuery} debounce={150} />
|
|
14
|
+
<ul className="text-sm text-fg-secondary">
|
|
15
|
+
{MODELS.filter((m) => m.toLowerCase().includes(query.toLowerCase())).map((m) => (
|
|
16
|
+
<li key={m}>{m}</li>
|
|
17
|
+
))}
|
|
18
|
+
</ul>
|
|
19
|
+
</div>
|
|
20
|
+
);
|
|
21
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// registry/examples/skeleton/paragraph.tsx
|
|
4
|
+
import { Skeleton, SkeletonText } from "@krizaka/ui/skeleton";
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
function SkeletonParagraph() {
|
|
7
|
+
return /* @__PURE__ */ jsxs("div", { className: "flex w-full max-w-sm flex-col gap-3", children: [
|
|
8
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-5 w-2/3" }),
|
|
9
|
+
/* @__PURE__ */ jsx(SkeletonText, { lines: 4 })
|
|
10
|
+
] });
|
|
11
|
+
}
|
|
12
|
+
export {
|
|
13
|
+
SkeletonParagraph as default
|
|
14
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Skeleton, SkeletonText } from "@krizaka/ui/skeleton";
|
|
2
|
+
|
|
3
|
+
// An article on its way: a title, then `SkeletonText` — lines that wrap, the last one shorter. One reflection crosses
|
|
4
|
+
// all of them together, like light across a page, rather than each one pulsing on its own.
|
|
5
|
+
export default function SkeletonParagraph() {
|
|
6
|
+
return (
|
|
7
|
+
<div className="flex w-full max-w-sm flex-col gap-3">
|
|
8
|
+
<Skeleton className="h-5 w-2/3" />
|
|
9
|
+
<SkeletonText lines={4} />
|
|
10
|
+
</div>
|
|
11
|
+
);
|
|
12
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// registry/examples/skeleton/shape-of-content.tsx
|
|
4
|
+
import { SkeletonShape } from "@krizaka/ui/skeleton";
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
function CreatorCard({ name, line }) {
|
|
7
|
+
return /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 rounded-xl border border-border-default bg-surface-1 p-4", children: [
|
|
8
|
+
/* @__PURE__ */ jsx("span", { "data-skeleton": true, "aria-hidden": true, className: "h-10 w-10 shrink-0 rounded-full bg-accent-soft" }),
|
|
9
|
+
/* @__PURE__ */ jsxs("div", { className: "min-w-0", children: [
|
|
10
|
+
/* @__PURE__ */ jsx("p", { className: "font-semibold text-fg", children: name }),
|
|
11
|
+
/* @__PURE__ */ jsx("p", { className: "text-sm text-fg-secondary", children: line })
|
|
12
|
+
] })
|
|
13
|
+
] });
|
|
14
|
+
}
|
|
15
|
+
function SkeletonShapeOfContent() {
|
|
16
|
+
return /* @__PURE__ */ jsxs("div", { className: "flex w-full max-w-sm flex-col gap-3", children: [
|
|
17
|
+
/* @__PURE__ */ jsx(SkeletonShape, { children: /* @__PURE__ */ jsx(CreatorCard, { name: "Placeholder name", line: "Placeholder supporters line" }) }),
|
|
18
|
+
/* @__PURE__ */ jsx(CreatorCard, { name: "Eric Moreau", line: "1,204 supporters \xB7 Paris" })
|
|
19
|
+
] });
|
|
20
|
+
}
|
|
21
|
+
export {
|
|
22
|
+
SkeletonShapeOfContent as default
|
|
23
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { SkeletonShape } from "@krizaka/ui/skeleton";
|
|
2
|
+
|
|
3
|
+
function CreatorCard({ name, line }: { name: string; line: string }) {
|
|
4
|
+
return (
|
|
5
|
+
<div className="flex items-center gap-3 rounded-xl border border-border-default bg-surface-1 p-4">
|
|
6
|
+
<span data-skeleton aria-hidden className="h-10 w-10 shrink-0 rounded-full bg-accent-soft" />
|
|
7
|
+
<div className="min-w-0">
|
|
8
|
+
<p className="font-semibold text-fg">{name}</p>
|
|
9
|
+
<p className="text-sm text-fg-secondary">{line}</p>
|
|
10
|
+
</div>
|
|
11
|
+
</div>
|
|
12
|
+
);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
// The skeleton of the real card: the same component with placeholder words, its text and media turned into shapes.
|
|
16
|
+
// The layout is exact — nothing drawn twice, nothing jumps when the data arrives. `data-skeleton` marks any other shape.
|
|
17
|
+
export default function SkeletonShapeOfContent() {
|
|
18
|
+
return (
|
|
19
|
+
<div className="flex w-full max-w-sm flex-col gap-3">
|
|
20
|
+
<SkeletonShape>
|
|
21
|
+
<CreatorCard name="Placeholder name" line="Placeholder supporters line" />
|
|
22
|
+
</SkeletonShape>
|
|
23
|
+
<CreatorCard name="Eric Moreau" line="1,204 supporters · Paris" />
|
|
24
|
+
</div>
|
|
25
|
+
);
|
|
26
|
+
}
|
|
@@ -2,9 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
// registry/examples/spinner/default.tsx
|
|
4
4
|
import { Spinner } from "@krizaka/ui/spinner";
|
|
5
|
-
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
6
|
function SpinnerDefault() {
|
|
7
|
-
return /* @__PURE__ */
|
|
7
|
+
return /* @__PURE__ */ jsxs("p", { className: "flex items-center gap-2 text-sm text-fg-secondary", children: [
|
|
8
|
+
/* @__PURE__ */ jsx(Spinner, { label: "Searching", size: "sm" }),
|
|
9
|
+
/* @__PURE__ */ jsx("span", { "aria-hidden": true, children: "Searching your library\u2026" })
|
|
10
|
+
] });
|
|
8
11
|
}
|
|
9
12
|
export {
|
|
10
13
|
SpinnerDefault as default
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import { Spinner } from "@krizaka/ui/spinner";
|
|
2
2
|
|
|
3
|
+
// A short wait in place: light travels around the hexagon, the node breathes. Still and legible under reduced motion.
|
|
3
4
|
export default function SpinnerDefault() {
|
|
4
|
-
return
|
|
5
|
+
return (
|
|
6
|
+
<p className="flex items-center gap-2 text-sm text-fg-secondary">
|
|
7
|
+
<Spinner label="Searching" size="sm" />
|
|
8
|
+
<span aria-hidden>Searching your library…</span>
|
|
9
|
+
</p>
|
|
10
|
+
);
|
|
5
11
|
}
|
|
@@ -7,7 +7,8 @@ function SpinnerSizes() {
|
|
|
7
7
|
return /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-4", children: [
|
|
8
8
|
/* @__PURE__ */ jsx(Spinner, { label: "Loading", size: "sm" }),
|
|
9
9
|
/* @__PURE__ */ jsx(Spinner, { label: "Loading", size: "md" }),
|
|
10
|
-
/* @__PURE__ */ jsx(Spinner, { label: "Loading", size: "lg" })
|
|
10
|
+
/* @__PURE__ */ jsx(Spinner, { label: "Loading", size: "lg" }),
|
|
11
|
+
/* @__PURE__ */ jsx(Spinner, { label: "Loading", size: "lg", className: "text-fg-secondary" })
|
|
11
12
|
] });
|
|
12
13
|
}
|
|
13
14
|
export {
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { Spinner } from "@krizaka/ui/spinner";
|
|
2
2
|
|
|
3
|
+
// The minimal API, last: `size` sm · md · lg; the colour is `currentColor` (the accent by default, or `className`).
|
|
3
4
|
export default function SpinnerSizes() {
|
|
4
5
|
return (
|
|
5
6
|
<div className="flex items-center gap-4">
|
|
6
7
|
<Spinner label="Loading" size="sm" />
|
|
7
8
|
<Spinner label="Loading" size="md" />
|
|
8
9
|
<Spinner label="Loading" size="lg" />
|
|
10
|
+
<Spinner label="Loading" size="lg" className="text-fg-secondary" />
|
|
9
11
|
</div>
|
|
10
12
|
);
|
|
11
13
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// registry/examples/spinner/value.tsx
|
|
4
|
+
import { Spinner } from "@krizaka/ui/spinner";
|
|
5
|
+
import { jsx } from "react/jsx-runtime";
|
|
6
|
+
function SpinnerValue() {
|
|
7
|
+
return /* @__PURE__ */ jsx("div", { className: "flex items-center gap-4", children: [0.25, 0.6, 0.9].map((value) => /* @__PURE__ */ jsx(Spinner, { label: `Uploading, ${Math.round(value * 100)} %`, value, size: "lg" }, value)) });
|
|
8
|
+
}
|
|
9
|
+
export {
|
|
10
|
+
SpinnerValue as default
|
|
11
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Spinner } from "@krizaka/ui/spinner";
|
|
2
|
+
|
|
3
|
+
// `value` (0–1): the trace grows to what is done — a determinate wait in the same small footprint.
|
|
4
|
+
export default function SpinnerValue() {
|
|
5
|
+
return (
|
|
6
|
+
<div className="flex items-center gap-4">
|
|
7
|
+
{[0.25, 0.6, 0.9].map((value) => (
|
|
8
|
+
<Spinner key={value} label={`Uploading, ${Math.round(value * 100)} %`} value={value} size="lg" />
|
|
9
|
+
))}
|
|
10
|
+
</div>
|
|
11
|
+
);
|
|
12
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// registry/examples/stepper/checkout.tsx
|
|
4
|
+
import { Stepper } from "@krizaka/ui/stepper";
|
|
5
|
+
import { jsx } from "react/jsx-runtime";
|
|
6
|
+
var labels = { done: "Done", current: "Current step", upcoming: "Upcoming", error: "Failed" };
|
|
7
|
+
function StepperCheckout() {
|
|
8
|
+
return /* @__PURE__ */ jsx(
|
|
9
|
+
Stepper,
|
|
10
|
+
{
|
|
11
|
+
"aria-label": "Checkout",
|
|
12
|
+
orientation: "horizontal",
|
|
13
|
+
labels,
|
|
14
|
+
current: 1,
|
|
15
|
+
className: "w-full max-w-xl",
|
|
16
|
+
steps: [{ title: "Plan" }, { title: "Payment" }, { title: "Confirmation" }]
|
|
17
|
+
}
|
|
18
|
+
);
|
|
19
|
+
}
|
|
20
|
+
export {
|
|
21
|
+
StepperCheckout as default
|
|
22
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Stepper } from "@krizaka/ui/stepper";
|
|
2
|
+
|
|
3
|
+
const labels = { done: "Done", current: "Current step", upcoming: "Upcoming", error: "Failed" };
|
|
4
|
+
|
|
5
|
+
// A short journey, horizontal: the connectors fill as it advances.
|
|
6
|
+
export default function StepperCheckout() {
|
|
7
|
+
return (
|
|
8
|
+
<Stepper
|
|
9
|
+
aria-label="Checkout"
|
|
10
|
+
orientation="horizontal"
|
|
11
|
+
labels={labels}
|
|
12
|
+
current={1}
|
|
13
|
+
className="w-full max-w-xl"
|
|
14
|
+
steps={[{ title: "Plan" }, { title: "Payment" }, { title: "Confirmation" }]}
|
|
15
|
+
/>
|
|
16
|
+
);
|
|
17
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// registry/examples/stepper/failed.tsx
|
|
4
|
+
import { Button } from "@krizaka/ui/button";
|
|
5
|
+
import { Stepper } from "@krizaka/ui/stepper";
|
|
6
|
+
import { jsx } from "react/jsx-runtime";
|
|
7
|
+
var labels = { done: "Done", current: "In progress", upcoming: "Upcoming", error: "Failed" };
|
|
8
|
+
function StepperFailed() {
|
|
9
|
+
return /* @__PURE__ */ jsx(
|
|
10
|
+
Stepper,
|
|
11
|
+
{
|
|
12
|
+
"aria-label": "Payout",
|
|
13
|
+
labels,
|
|
14
|
+
current: 1,
|
|
15
|
+
className: "w-full max-w-sm",
|
|
16
|
+
steps: [
|
|
17
|
+
{ title: "Requested", description: "\u20AC1,240.00" },
|
|
18
|
+
{ title: "Bank transfer", description: "The bank refused the account number", status: "error", content: /* @__PURE__ */ jsx(Button, { size: "sm", variant: "outline", children: "Update the account" }) },
|
|
19
|
+
{ title: "Received" }
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
);
|
|
23
|
+
}
|
|
24
|
+
export {
|
|
25
|
+
StepperFailed as default
|
|
26
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Button } from "@krizaka/ui/button";
|
|
2
|
+
import { Stepper } from "@krizaka/ui/stepper";
|
|
3
|
+
|
|
4
|
+
const labels = { done: "Done", current: "In progress", upcoming: "Upcoming", error: "Failed" };
|
|
5
|
+
|
|
6
|
+
// A step that failed says so (a cross, the danger colour, “Failed” in words) and offers what to do next.
|
|
7
|
+
export default function StepperFailed() {
|
|
8
|
+
return (
|
|
9
|
+
<Stepper
|
|
10
|
+
aria-label="Payout"
|
|
11
|
+
labels={labels}
|
|
12
|
+
current={1}
|
|
13
|
+
className="w-full max-w-sm"
|
|
14
|
+
steps={[
|
|
15
|
+
{ title: "Requested", description: "€1,240.00" },
|
|
16
|
+
{ title: "Bank transfer", description: "The bank refused the account number", status: "error", content: <Button size="sm" variant="outline">Update the account</Button> },
|
|
17
|
+
{ title: "Received" },
|
|
18
|
+
]}
|
|
19
|
+
/>
|
|
20
|
+
);
|
|
21
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// registry/examples/stepper/job.tsx
|
|
4
|
+
import { Progress } from "@krizaka/ui/progress";
|
|
5
|
+
import { Stepper } from "@krizaka/ui/stepper";
|
|
6
|
+
import { jsx } from "react/jsx-runtime";
|
|
7
|
+
var labels = { done: "Done", current: "In progress", upcoming: "Upcoming", error: "Failed" };
|
|
8
|
+
function StepperJob() {
|
|
9
|
+
return /* @__PURE__ */ jsx(
|
|
10
|
+
Stepper,
|
|
11
|
+
{
|
|
12
|
+
"aria-label": "Publishing \u201CNight walk\u201D",
|
|
13
|
+
labels,
|
|
14
|
+
current: 2,
|
|
15
|
+
className: "w-full max-w-sm",
|
|
16
|
+
steps: [
|
|
17
|
+
{ title: "Uploaded", description: "1.2 GB in 48 s" },
|
|
18
|
+
{ title: "Checked", description: "Format, rights, safety" },
|
|
19
|
+
{
|
|
20
|
+
title: "Transcoding",
|
|
21
|
+
description: "4K, 1080p, 720p",
|
|
22
|
+
value: 0.58,
|
|
23
|
+
content: /* @__PURE__ */ jsx(Progress, { label: "Transcoding", value: 58, eta: "About 2 min left", showLabel: true, size: "sm" })
|
|
24
|
+
},
|
|
25
|
+
{ title: "Published", description: "Visible to your supporters" }
|
|
26
|
+
]
|
|
27
|
+
}
|
|
28
|
+
);
|
|
29
|
+
}
|
|
30
|
+
export {
|
|
31
|
+
StepperJob as default
|
|
32
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Progress } from "@krizaka/ui/progress";
|
|
2
|
+
import { Stepper } from "@krizaka/ui/stepper";
|
|
3
|
+
|
|
4
|
+
const labels = { done: "Done", current: "In progress", upcoming: "Upcoming", error: "Failed" };
|
|
5
|
+
|
|
6
|
+
// A video job in steps: done ones checked, the current one traced and growing to its value with its own progress and
|
|
7
|
+
// time left, the next ones waiting. Every state is said in words for assistive technology.
|
|
8
|
+
export default function StepperJob() {
|
|
9
|
+
return (
|
|
10
|
+
<Stepper
|
|
11
|
+
aria-label="Publishing “Night walk”"
|
|
12
|
+
labels={labels}
|
|
13
|
+
current={2}
|
|
14
|
+
className="w-full max-w-sm"
|
|
15
|
+
steps={[
|
|
16
|
+
{ title: "Uploaded", description: "1.2 GB in 48 s" },
|
|
17
|
+
{ title: "Checked", description: "Format, rights, safety" },
|
|
18
|
+
{
|
|
19
|
+
title: "Transcoding",
|
|
20
|
+
description: "4K, 1080p, 720p",
|
|
21
|
+
value: 0.58,
|
|
22
|
+
content: <Progress label="Transcoding" value={58} eta="About 2 min left" showLabel size="sm" />,
|
|
23
|
+
},
|
|
24
|
+
{ title: "Published", description: "Visible to your supporters" },
|
|
25
|
+
]}
|
|
26
|
+
/>
|
|
27
|
+
);
|
|
28
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// registry/examples/tag-input/recipients.tsx
|
|
4
|
+
import { TagInput } from "@krizaka/ui/tag-input";
|
|
5
|
+
import { jsx } from "react/jsx-runtime";
|
|
6
|
+
var EMAIL = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
|
7
|
+
function TagInputRecipients() {
|
|
8
|
+
return /* @__PURE__ */ jsx(
|
|
9
|
+
TagInput,
|
|
10
|
+
{
|
|
11
|
+
label: "Invite by e-mail",
|
|
12
|
+
placeholder: "name@example.com",
|
|
13
|
+
defaultValue: ["ines@krizaka.com"],
|
|
14
|
+
separators: [",", " "],
|
|
15
|
+
normalize: (value) => value.trim().toLowerCase(),
|
|
16
|
+
validate: (value) => EMAIL.test(value) ? null : `\u201C${value}\u201D is not an e-mail address.`,
|
|
17
|
+
labels: { create: (value) => `Invite ${value}` }
|
|
18
|
+
}
|
|
19
|
+
);
|
|
20
|
+
}
|
|
21
|
+
export {
|
|
22
|
+
TagInputRecipients as default
|
|
23
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { TagInput } from "@krizaka/ui/tag-input";
|
|
4
|
+
|
|
5
|
+
const EMAIL = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
|
6
|
+
|
|
7
|
+
// Paste “a@x.com, b@y.org” and both are added; what is not an address is refused, with the reason.
|
|
8
|
+
export default function TagInputRecipients() {
|
|
9
|
+
return (
|
|
10
|
+
<TagInput
|
|
11
|
+
label="Invite by e-mail"
|
|
12
|
+
placeholder="name@example.com"
|
|
13
|
+
defaultValue={["ines@krizaka.com"]}
|
|
14
|
+
separators={[",", " "]}
|
|
15
|
+
normalize={(value) => value.trim().toLowerCase()}
|
|
16
|
+
validate={(value) => (EMAIL.test(value) ? null : `“${value}” is not an e-mail address.`)}
|
|
17
|
+
labels={{ create: (value) => `Invite ${value}` }}
|
|
18
|
+
/>
|
|
19
|
+
);
|
|
20
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// registry/examples/tag-input/video-tags.tsx
|
|
4
|
+
import { TagInput } from "@krizaka/ui/tag-input";
|
|
5
|
+
import * as React from "react";
|
|
6
|
+
import { jsx } from "react/jsx-runtime";
|
|
7
|
+
function TagInputVideoTags() {
|
|
8
|
+
const [tags, setTags] = React.useState(["montreal", "sunset"]);
|
|
9
|
+
return /* @__PURE__ */ jsx(
|
|
10
|
+
TagInput,
|
|
11
|
+
{
|
|
12
|
+
label: "Tags",
|
|
13
|
+
placeholder: "Add a tag",
|
|
14
|
+
value: tags,
|
|
15
|
+
onValueChange: setTags,
|
|
16
|
+
suggestions: ["timelapse", "travel", "skyline", "golden hour", "drone"],
|
|
17
|
+
normalize: (tag) => tag.trim().toLowerCase().replace(/^#/, ""),
|
|
18
|
+
max: 10,
|
|
19
|
+
hint: "Up to 10 tags, separated by commas.",
|
|
20
|
+
labels: { create: (tag) => `Add \u201C${tag}\u201D`, remove: (tag) => `Remove ${tag}` }
|
|
21
|
+
}
|
|
22
|
+
);
|
|
23
|
+
}
|
|
24
|
+
export {
|
|
25
|
+
TagInputVideoTags as default
|
|
26
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { TagInput } from "@krizaka/ui/tag-input";
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
|
|
6
|
+
// Lower case, no “#”: “#Sunset” and “sunset” are one tag.
|
|
7
|
+
export default function TagInputVideoTags() {
|
|
8
|
+
const [tags, setTags] = React.useState(["montreal", "sunset"]);
|
|
9
|
+
return (
|
|
10
|
+
<TagInput
|
|
11
|
+
label="Tags"
|
|
12
|
+
placeholder="Add a tag"
|
|
13
|
+
value={tags}
|
|
14
|
+
onValueChange={setTags}
|
|
15
|
+
suggestions={["timelapse", "travel", "skyline", "golden hour", "drone"]}
|
|
16
|
+
normalize={(tag) => tag.trim().toLowerCase().replace(/^#/, "")}
|
|
17
|
+
max={10}
|
|
18
|
+
hint="Up to 10 tags, separated by commas."
|
|
19
|
+
labels={{ create: (tag) => `Add “${tag}”`, remove: (tag) => `Remove ${tag}` }}
|
|
20
|
+
/>
|
|
21
|
+
);
|
|
22
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// registry/examples/toast/grouped.tsx
|
|
4
|
+
import { Button } from "@krizaka/ui/button";
|
|
5
|
+
import { groupedToast, Toaster } from "@krizaka/ui/toast";
|
|
6
|
+
import { useEffect } from "react";
|
|
7
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
+
var toasterId = "grouped";
|
|
9
|
+
var message = () => groupedToast("messages", "New message from @maya", { toasterId, countLabel: (n) => `${n} new messages` });
|
|
10
|
+
function ToastGrouped({ defaultOpen = false }) {
|
|
11
|
+
useEffect(() => {
|
|
12
|
+
if (defaultOpen) for (let i = 0; i < 5; i++) message();
|
|
13
|
+
}, [defaultOpen]);
|
|
14
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
15
|
+
/* @__PURE__ */ jsx(Toaster, { id: toasterId, label: "Notifications", closeLabel: "Dismiss" }),
|
|
16
|
+
/* @__PURE__ */ jsx(Button, { variant: "outline", onClick: message, children: "Receive a message" })
|
|
17
|
+
] });
|
|
18
|
+
}
|
|
19
|
+
export {
|
|
20
|
+
ToastGrouped as default
|
|
21
|
+
};
|