even-toolkit 0.5.2 → 1.0.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 +113 -71
- package/dist/glasses/action-bar.d.ts.map +1 -0
- package/dist/glasses/action-bar.js.map +1 -0
- package/dist/glasses/action-map.d.ts.map +1 -0
- package/dist/glasses/action-map.js.map +1 -0
- package/dist/glasses/bridge.d.ts.map +1 -0
- package/dist/glasses/bridge.js.map +1 -0
- package/dist/glasses/canvas-renderer.d.ts.map +1 -0
- package/dist/glasses/canvas-renderer.js.map +1 -0
- package/dist/glasses/composer.d.ts.map +1 -0
- package/dist/glasses/composer.js.map +1 -0
- package/dist/glasses/gestures.d.ts.map +1 -0
- package/dist/glasses/gestures.js.map +1 -0
- package/dist/glasses/index.d.ts.map +1 -0
- package/dist/glasses/index.js.map +1 -0
- package/dist/glasses/keep-alive.d.ts.map +1 -0
- package/dist/glasses/keep-alive.js.map +1 -0
- package/dist/glasses/keyboard.d.ts.map +1 -0
- package/dist/glasses/keyboard.js.map +1 -0
- package/dist/glasses/layout.d.ts.map +1 -0
- package/dist/glasses/layout.js.map +1 -0
- package/dist/glasses/paginate-text.d.ts.map +1 -0
- package/dist/glasses/paginate-text.js.map +1 -0
- package/dist/glasses/png-utils.d.ts.map +1 -0
- package/dist/glasses/png-utils.js.map +1 -0
- package/dist/glasses/splash.d.ts.map +1 -0
- package/dist/glasses/splash.js.map +1 -0
- package/dist/glasses/text-clean.d.ts.map +1 -0
- package/dist/glasses/text-clean.js.map +1 -0
- package/dist/glasses/text-utils.d.ts.map +1 -0
- package/dist/glasses/text-utils.js.map +1 -0
- package/dist/glasses/timer-display.d.ts.map +1 -0
- package/dist/glasses/timer-display.js.map +1 -0
- package/dist/glasses/types.d.ts.map +1 -0
- package/dist/glasses/types.js.map +1 -0
- package/dist/glasses/useFlashPhase.d.ts.map +1 -0
- package/dist/glasses/useFlashPhase.js.map +1 -0
- package/dist/glasses/useGlasses.d.ts.map +1 -0
- package/dist/glasses/useGlasses.js.map +1 -0
- package/dist/web/components/app-shell.d.ts +15 -0
- package/dist/web/components/app-shell.d.ts.map +1 -0
- package/dist/web/components/app-shell.js +11 -0
- package/dist/web/components/app-shell.js.map +1 -0
- package/dist/web/components/audio-player.d.ts +9 -0
- package/dist/web/components/audio-player.d.ts.map +1 -0
- package/dist/web/components/audio-player.js +54 -0
- package/dist/web/components/audio-player.js.map +1 -0
- package/dist/web/components/badge.d.ts +11 -0
- package/dist/web/components/badge.d.ts.map +1 -0
- package/dist/web/components/badge.js +21 -0
- package/dist/web/components/badge.js.map +1 -0
- package/dist/web/components/bottom-sheet.d.ts +11 -0
- package/dist/web/components/bottom-sheet.d.ts.map +1 -0
- package/dist/web/components/bottom-sheet.js +33 -0
- package/dist/web/components/bottom-sheet.js.map +1 -0
- package/dist/web/components/button.d.ts +12 -0
- package/dist/web/components/button.d.ts.map +1 -0
- package/dist/web/components/button.js +29 -0
- package/dist/web/components/button.js.map +1 -0
- package/dist/web/components/calendar.d.ts +48 -0
- package/dist/web/components/calendar.d.ts.map +1 -0
- package/dist/web/components/calendar.js +86 -0
- package/dist/web/components/calendar.js.map +1 -0
- package/dist/web/components/card.d.ts +12 -0
- package/dist/web/components/card.d.ts.map +1 -0
- package/dist/web/components/card.js +27 -0
- package/dist/web/components/card.js.map +1 -0
- package/dist/web/components/category-filter.d.ts +10 -0
- package/dist/web/components/category-filter.d.ts.map +1 -0
- package/dist/web/components/category-filter.js +9 -0
- package/dist/web/components/category-filter.js.map +1 -0
- package/dist/web/components/chart.d.ts +65 -0
- package/dist/web/components/chart.d.ts.map +1 -0
- package/dist/web/components/chart.js +62 -0
- package/dist/web/components/chart.js.map +1 -0
- package/dist/web/components/chat.d.ts +79 -0
- package/dist/web/components/chat.d.ts.map +1 -0
- package/dist/web/components/chat.js +166 -0
- package/dist/web/components/chat.js.map +1 -0
- package/dist/web/components/checkbox.d.ts +11 -0
- package/dist/web/components/checkbox.d.ts.map +1 -0
- package/dist/web/components/checkbox.js +7 -0
- package/dist/web/components/checkbox.js.map +1 -0
- package/dist/web/components/confirm-dialog.d.ts +14 -0
- package/dist/web/components/confirm-dialog.d.ts.map +1 -0
- package/dist/web/components/confirm-dialog.js +37 -0
- package/dist/web/components/confirm-dialog.js.map +1 -0
- package/dist/web/components/cta-group.d.ts +16 -0
- package/dist/web/components/cta-group.d.ts.map +1 -0
- package/dist/web/components/cta-group.js +22 -0
- package/dist/web/components/cta-group.js.map +1 -0
- package/dist/web/components/dialog.d.ts +19 -0
- package/dist/web/components/dialog.d.ts.map +1 -0
- package/dist/web/components/dialog.js +35 -0
- package/dist/web/components/dialog.js.map +1 -0
- package/dist/web/components/divider.d.ts +11 -0
- package/dist/web/components/divider.d.ts.map +1 -0
- package/dist/web/components/divider.js +19 -0
- package/dist/web/components/divider.js.map +1 -0
- package/dist/web/components/empty-state.d.ts +15 -0
- package/dist/web/components/empty-state.d.ts.map +1 -0
- package/dist/web/components/empty-state.js +7 -0
- package/dist/web/components/empty-state.js.map +1 -0
- package/dist/web/components/file-upload.d.ts +12 -0
- package/dist/web/components/file-upload.d.ts.map +1 -0
- package/dist/web/components/file-upload.js +38 -0
- package/dist/web/components/file-upload.js.map +1 -0
- package/dist/web/components/image-viewer.d.ts +23 -0
- package/dist/web/components/image-viewer.d.ts.map +1 -0
- package/dist/web/components/image-viewer.js +29 -0
- package/dist/web/components/image-viewer.js.map +1 -0
- package/dist/web/components/indicator.d.ts +15 -0
- package/dist/web/components/indicator.d.ts.map +1 -0
- package/dist/web/components/indicator.js +12 -0
- package/dist/web/components/indicator.js.map +1 -0
- package/dist/web/components/input-group.d.ts +9 -0
- package/dist/web/components/input-group.d.ts.map +1 -0
- package/dist/web/components/input-group.js +27 -0
- package/dist/web/components/input-group.js.map +1 -0
- package/dist/web/components/input.d.ts +7 -0
- package/dist/web/components/input.d.ts.map +1 -0
- package/dist/web/components/input.js +7 -0
- package/dist/web/components/input.js.map +1 -0
- package/dist/web/components/kbd.d.ts +9 -0
- package/dist/web/components/kbd.d.ts.map +1 -0
- package/dist/web/components/kbd.js +7 -0
- package/dist/web/components/kbd.js.map +1 -0
- package/dist/web/components/list-item.d.ts +14 -0
- package/dist/web/components/list-item.d.ts.map +1 -0
- package/dist/web/components/list-item.js +57 -0
- package/dist/web/components/list-item.js.map +1 -0
- package/dist/web/components/loading.d.ts +8 -0
- package/dist/web/components/loading.d.ts.map +1 -0
- package/dist/web/components/loading.js +41 -0
- package/dist/web/components/loading.js.map +1 -0
- package/dist/web/components/nav-bar.d.ts +14 -0
- package/dist/web/components/nav-bar.d.ts.map +1 -0
- package/dist/web/components/nav-bar.js +9 -0
- package/dist/web/components/nav-bar.js.map +1 -0
- package/dist/web/components/nav-header.d.ts +11 -0
- package/dist/web/components/nav-header.d.ts.map +1 -0
- package/dist/web/components/nav-header.js +7 -0
- package/dist/web/components/nav-header.js.map +1 -0
- package/dist/web/components/page.d.ts +9 -0
- package/dist/web/components/page.d.ts.map +1 -0
- package/dist/web/components/page.js +7 -0
- package/dist/web/components/page.js.map +1 -0
- package/dist/web/components/pill.d.ts +9 -0
- package/dist/web/components/pill.d.ts.map +1 -0
- package/dist/web/components/pill.js +7 -0
- package/dist/web/components/pill.js.map +1 -0
- package/dist/web/components/progress.d.ts +8 -0
- package/dist/web/components/progress.d.ts.map +1 -0
- package/dist/web/components/progress.js +7 -0
- package/dist/web/components/progress.js.map +1 -0
- package/dist/web/components/radio-group.d.ts +16 -0
- package/dist/web/components/radio-group.d.ts.map +1 -0
- package/dist/web/components/radio-group.js +10 -0
- package/dist/web/components/radio-group.js.map +1 -0
- package/dist/web/components/screen-header.d.ts +11 -0
- package/dist/web/components/screen-header.d.ts.map +1 -0
- package/dist/web/components/screen-header.js +7 -0
- package/dist/web/components/screen-header.js.map +1 -0
- package/dist/web/components/scroll-picker.d.ts +66 -0
- package/dist/web/components/scroll-picker.d.ts.map +1 -0
- package/dist/web/components/scroll-picker.js +243 -0
- package/dist/web/components/scroll-picker.js.map +1 -0
- package/dist/web/components/search-bar.d.ts +9 -0
- package/dist/web/components/search-bar.d.ts.map +1 -0
- package/dist/web/components/search-bar.js +8 -0
- package/dist/web/components/search-bar.js.map +1 -0
- package/dist/web/components/section-header.d.ts +10 -0
- package/dist/web/components/section-header.d.ts.map +1 -0
- package/dist/web/components/section-header.js +7 -0
- package/dist/web/components/section-header.js.map +1 -0
- package/dist/web/components/segmented-control.d.ts +15 -0
- package/dist/web/components/segmented-control.d.ts.map +1 -0
- package/dist/web/components/segmented-control.js +9 -0
- package/dist/web/components/segmented-control.js.map +1 -0
- package/dist/web/components/select.d.ts +13 -0
- package/dist/web/components/select.d.ts.map +1 -0
- package/dist/web/components/select.js +7 -0
- package/dist/web/components/select.js.map +1 -0
- package/dist/web/components/settings-group.d.ts +10 -0
- package/dist/web/components/settings-group.d.ts.map +1 -0
- package/dist/web/components/settings-group.js +7 -0
- package/dist/web/components/settings-group.js.map +1 -0
- package/dist/web/components/skeleton.d.ts +13 -0
- package/dist/web/components/skeleton.d.ts.map +1 -0
- package/dist/web/components/skeleton.js +23 -0
- package/dist/web/components/skeleton.js.map +1 -0
- package/dist/web/components/slider.d.ts +16 -0
- package/dist/web/components/slider.d.ts.map +1 -0
- package/dist/web/components/slider.js +8 -0
- package/dist/web/components/slider.js.map +1 -0
- package/dist/web/components/stat-grid.d.ts +14 -0
- package/dist/web/components/stat-grid.d.ts.map +1 -0
- package/dist/web/components/stat-grid.js +7 -0
- package/dist/web/components/stat-grid.js.map +1 -0
- package/dist/web/components/status-dot.d.ts +8 -0
- package/dist/web/components/status-dot.d.ts.map +1 -0
- package/dist/web/components/status-dot.js +7 -0
- package/dist/web/components/status-dot.js.map +1 -0
- package/dist/web/components/status-progress.d.ts +13 -0
- package/dist/web/components/status-progress.d.ts.map +1 -0
- package/dist/web/components/status-progress.js +7 -0
- package/dist/web/components/status-progress.js.map +1 -0
- package/dist/web/components/step-indicator.d.ts +13 -0
- package/dist/web/components/step-indicator.d.ts.map +1 -0
- package/dist/web/components/step-indicator.js +10 -0
- package/dist/web/components/step-indicator.js.map +1 -0
- package/dist/web/components/table.d.ts +9 -0
- package/dist/web/components/table.d.ts.map +1 -0
- package/dist/web/components/table.js +17 -0
- package/dist/web/components/table.js.map +1 -0
- package/dist/web/components/tag.d.ts +25 -0
- package/dist/web/components/tag.d.ts.map +1 -0
- package/dist/web/components/tag.js +15 -0
- package/dist/web/components/tag.js.map +1 -0
- package/dist/web/components/textarea.d.ts +7 -0
- package/dist/web/components/textarea.d.ts.map +1 -0
- package/dist/web/components/textarea.js +7 -0
- package/dist/web/components/textarea.js.map +1 -0
- package/dist/web/components/timeline.d.ts +17 -0
- package/dist/web/components/timeline.d.ts.map +1 -0
- package/dist/web/components/timeline.js +7 -0
- package/dist/web/components/timeline.js.map +1 -0
- package/dist/web/components/timer-ring.d.ts +12 -0
- package/dist/web/components/timer-ring.d.ts.map +1 -0
- package/dist/web/components/timer-ring.js +15 -0
- package/dist/web/components/timer-ring.js.map +1 -0
- package/dist/web/components/toast.d.ts +14 -0
- package/dist/web/components/toast.d.ts.map +1 -0
- package/dist/web/components/toast.js +21 -0
- package/dist/web/components/toast.js.map +1 -0
- package/dist/web/components/toggle.d.ts +10 -0
- package/dist/web/components/toggle.d.ts.map +1 -0
- package/dist/web/components/toggle.js +21 -0
- package/dist/web/components/toggle.js.map +1 -0
- package/dist/web/components/voice-input.d.ts +17 -0
- package/dist/web/components/voice-input.d.ts.map +1 -0
- package/dist/web/components/voice-input.js +60 -0
- package/dist/web/components/voice-input.js.map +1 -0
- package/dist/web/icons/index.d.ts +29 -0
- package/dist/web/icons/index.d.ts.map +1 -0
- package/dist/web/icons/index.js +47 -0
- package/dist/web/icons/index.js.map +1 -0
- package/dist/web/icons/svg-catalog.d.ts +7 -0
- package/dist/web/icons/svg-catalog.d.ts.map +1 -0
- package/dist/web/icons/svg-catalog.js +1389 -0
- package/dist/web/icons/svg-catalog.js.map +1 -0
- package/dist/web/icons/svg-icons.d.ts +207 -0
- package/dist/web/icons/svg-icons.d.ts.map +1 -0
- package/dist/web/icons/svg-icons.js +398 -0
- package/dist/web/icons/svg-icons.js.map +1 -0
- package/dist/web/index.d.ts +107 -0
- package/dist/web/index.d.ts.map +1 -0
- package/dist/web/index.js +69 -0
- package/dist/web/index.js.map +1 -0
- package/dist/web/utils/cn.d.ts +3 -0
- package/dist/web/utils/cn.d.ts.map +1 -0
- package/dist/web/utils/cn.js +6 -0
- package/dist/web/utils/cn.js.map +1 -0
- package/package.json +289 -46
- package/web/components/app-shell.tsx +29 -0
- package/web/components/audio-player.tsx +117 -0
- package/web/components/badge.tsx +39 -0
- package/web/components/bottom-sheet.tsx +61 -0
- package/web/components/button.tsx +48 -0
- package/web/components/calendar.tsx +333 -0
- package/web/components/card.tsx +42 -0
- package/web/components/category-filter.tsx +33 -0
- package/web/components/chart.tsx +411 -0
- package/web/components/chat.tsx +494 -0
- package/web/components/checkbox.tsx +52 -0
- package/web/components/confirm-dialog.tsx +100 -0
- package/web/components/cta-group.tsx +85 -0
- package/web/components/dialog.tsx +94 -0
- package/web/components/divider.tsx +25 -0
- package/web/components/empty-state.tsx +32 -0
- package/web/components/file-upload.tsx +100 -0
- package/web/components/image-viewer.tsx +131 -0
- package/web/components/indicator.tsx +50 -0
- package/web/components/input-group.tsx +39 -0
- package/web/components/input.tsx +23 -0
- package/web/components/kbd.tsx +22 -0
- package/web/components/list-item.tsx +106 -0
- package/web/components/loading.tsx +79 -0
- package/web/components/nav-bar.tsx +43 -0
- package/web/components/nav-header.tsx +24 -0
- package/web/components/page.tsx +14 -0
- package/web/components/pill.tsx +32 -0
- package/web/components/progress.tsx +26 -0
- package/web/components/radio-group.tsx +59 -0
- package/web/components/screen-header.tsx +26 -0
- package/web/components/scroll-picker.tsx +508 -0
- package/web/components/search-bar.tsx +28 -0
- package/web/components/section-header.tsx +20 -0
- package/web/components/segmented-control.tsx +50 -0
- package/web/components/select.tsx +37 -0
- package/web/components/settings-group.tsx +22 -0
- package/web/components/skeleton.tsx +36 -0
- package/web/components/slider.tsx +69 -0
- package/web/components/stat-grid.tsx +40 -0
- package/web/components/status-dot.tsx +21 -0
- package/web/components/status-progress.tsx +56 -0
- package/web/components/step-indicator.tsx +52 -0
- package/web/components/table.tsx +70 -0
- package/web/components/tag.tsx +72 -0
- package/web/components/textarea.tsx +23 -0
- package/web/components/timeline.tsx +52 -0
- package/web/components/timer-ring.tsx +69 -0
- package/web/components/toast.tsx +38 -0
- package/web/components/toggle.tsx +58 -0
- package/web/components/voice-input.tsx +165 -0
- package/web/icons/README.md +38 -0
- package/web/icons/index.ts +61 -0
- package/web/icons/svg/edit-add.svg +13 -0
- package/web/icons/svg/edit-checklist.svg +3 -0
- package/web/icons/svg/edit-copy.svg +12 -0
- package/web/icons/svg/edit-cross-small.svg +10 -0
- package/web/icons/svg/edit-cross.svg +10 -0
- package/web/icons/svg/edit-cut.svg +10 -0
- package/web/icons/svg/edit-display-adj.svg +3 -0
- package/web/icons/svg/edit-dist-adj.svg +3 -0
- package/web/icons/svg/edit-dot-lists.svg +3 -0
- package/web/icons/svg/edit-edit.svg +3 -0
- package/web/icons/svg/edit-hight-adj.svg +3 -0
- package/web/icons/svg/edit-import.svg +10 -0
- package/web/icons/svg/edit-layout-settings.svg +10 -0
- package/web/icons/svg/edit-multi-selection.svg +10 -0
- package/web/icons/svg/edit-new.svg +3 -0
- package/web/icons/svg/edit-number-list.svg +3 -0
- package/web/icons/svg/edit-options.svg +10 -0
- package/web/icons/svg/edit-paste.svg +10 -0
- package/web/icons/svg/edit-pause.svg +10 -0
- package/web/icons/svg/edit-pin.svg +10 -0
- package/web/icons/svg/edit-play.svg +10 -0
- package/web/icons/svg/edit-redo.svg +10 -0
- package/web/icons/svg/edit-restore.svg +10 -0
- package/web/icons/svg/edit-settings.svg +3 -0
- package/web/icons/svg/edit-share.svg +3 -0
- package/web/icons/svg/edit-sweep.svg +10 -0
- package/web/icons/svg/edit-switch.svg +3 -0
- package/web/icons/svg/edit-trash.svg +10 -0
- package/web/icons/svg/edit-undo.svg +10 -0
- package/web/icons/svg/edit-unpin.svg +3 -0
- package/web/icons/svg/edit-upload-to-cloud.svg +3 -0
- package/web/icons/svg/edit-width.svg +3 -0
- package/web/icons/svg/feat-access-control.svg +10 -0
- package/web/icons/svg/feat-account.svg +10 -0
- package/web/icons/svg/feat-calendar.svg +3 -0
- package/web/icons/svg/feat-camera.svg +3 -0
- package/web/icons/svg/feat-direct-push.svg +3 -0
- package/web/icons/svg/feat-eis.svg +10 -0
- package/web/icons/svg/feat-email.svg +10 -0
- package/web/icons/svg/feat-even-ai.svg +3 -0
- package/web/icons/svg/feat-facial-scan.svg +3 -0
- package/web/icons/svg/feat-feedback.svg +3 -0
- package/web/icons/svg/feat-headup-angle.svg +10 -0
- package/web/icons/svg/feat-inbox.svg +10 -0
- package/web/icons/svg/feat-interface-settings.svg +3 -0
- package/web/icons/svg/feat-languages.svg +10 -0
- package/web/icons/svg/feat-learn-explore.svg +3 -0
- package/web/icons/svg/feat-menu.svg +3 -0
- package/web/icons/svg/feat-message.svg +10 -0
- package/web/icons/svg/feat-navigate.svg +10 -0
- package/web/icons/svg/feat-news.svg +10 -0
- package/web/icons/svg/feat-notification.svg +10 -0
- package/web/icons/svg/feat-personal-info.svg +10 -0
- package/web/icons/svg/feat-phone-call.svg +10 -0
- package/web/icons/svg/feat-phone-voice-input.svg +3 -0
- package/web/icons/svg/feat-privacy.svg +3 -0
- package/web/icons/svg/feat-qr-code.svg +3 -0
- package/web/icons/svg/feat-quick-note.svg +3 -0
- package/web/icons/svg/feat-scan.svg +3 -0
- package/web/icons/svg/feat-screen-off.svg +16 -0
- package/web/icons/svg/feat-services.svg +3 -0
- package/web/icons/svg/feat-stocks.svg +10 -0
- package/web/icons/svg/feat-study.svg +10 -0
- package/web/icons/svg/feat-teleprompt.svg +3 -0
- package/web/icons/svg/feat-theme.svg +10 -0
- package/web/icons/svg/feat-time-counting.svg +10 -0
- package/web/icons/svg/feat-transcribe.svg +3 -0
- package/web/icons/svg/feat-translate.svg +3 -0
- package/web/icons/svg/feat-voice-print.svg +10 -0
- package/web/icons/svg/feat-wear-detect.svg +3 -0
- package/web/icons/svg/feat-weather.svg +10 -0
- package/web/icons/svg/feat-wiki.svg +3 -0
- package/web/icons/svg/guide-back.svg +10 -0
- package/web/icons/svg/guide-chevron-drill-back.svg +10 -0
- package/web/icons/svg/guide-chevron-drill-down.svg +10 -0
- package/web/icons/svg/guide-chevron-drill-up.svg +10 -0
- package/web/icons/svg/guide-chevron-small-back.svg +10 -0
- package/web/icons/svg/guide-chevron-small-drill-back.svg +3 -0
- package/web/icons/svg/guide-chevron-small-drill-down.svg +10 -0
- package/web/icons/svg/guide-chevron-small-drill-in.svg +3 -0
- package/web/icons/svg/guide-chevron-small-drill-up.svg +10 -0
- package/web/icons/svg/guide-double-tap.svg +3 -0
- package/web/icons/svg/guide-go.svg +10 -0
- package/web/icons/svg/guide-long-press.svg +3 -0
- package/web/icons/svg/guide-maximize-card.svg +10 -0
- package/web/icons/svg/guide-maximize.svg +10 -0
- package/web/icons/svg/guide-minimize-card.svg +10 -0
- package/web/icons/svg/guide-minimize.svg +3 -0
- package/web/icons/svg/guide-search.svg +3 -0
- package/web/icons/svg/guide-shift-to-top.svg +10 -0
- package/web/icons/svg/guide-single-tap.svg +3 -0
- package/web/icons/svg/guide-swip.svg +3 -0
- package/web/icons/svg/health-HRV.svg +3 -0
- package/web/icons/svg/health-heart-rate.svg +3 -0
- package/web/icons/svg/health-lift-2.svg +3 -0
- package/web/icons/svg/health-lift-3.svg +3 -0
- package/web/icons/svg/health-lift.svg +3 -0
- package/web/icons/svg/health-run.svg +3 -0
- package/web/icons/svg/health-sleep.svg +10 -0
- package/web/icons/svg/health-spo2.svg +7 -0
- package/web/icons/svg/health-stand.svg +3 -0
- package/web/icons/svg/health-steps.svg +10 -0
- package/web/icons/svg/health-temperature.svg +3 -0
- package/web/icons/svg/health-walk.svg +3 -0
- package/web/icons/svg/menu-even-hub-highlighted.svg +10 -0
- package/web/icons/svg/menu-even-hub.svg +10 -0
- package/web/icons/svg/menu-gear-highlighted.svg +10 -0
- package/web/icons/svg/menu-gear.svg +10 -0
- package/web/icons/svg/menu-healt-highlighted.svg +10 -0
- package/web/icons/svg/menu-healt.svg +10 -0
- package/web/icons/svg/menu-home-highlighted.svg +10 -0
- package/web/icons/svg/menu-home.svg +10 -0
- package/web/icons/svg/nav-bicycle.svg +10 -0
- package/web/icons/svg/nav-bus.svg +10 -0
- package/web/icons/svg/nav-business.svg +10 -0
- package/web/icons/svg/nav-cloth-shop.svg +10 -0
- package/web/icons/svg/nav-coffee-shop.svg +10 -0
- package/web/icons/svg/nav-compass.svg +3 -0
- package/web/icons/svg/nav-crown.svg +3 -0
- package/web/icons/svg/nav-direction.svg +10 -0
- package/web/icons/svg/nav-end-location.svg +3 -0
- package/web/icons/svg/nav-flag.svg +3 -0
- package/web/icons/svg/nav-gift.svg +3 -0
- package/web/icons/svg/nav-groceries.svg +10 -0
- package/web/icons/svg/nav-home-address.svg +10 -0
- package/web/icons/svg/nav-hotel.svg +10 -0
- package/web/icons/svg/nav-location.svg +3 -0
- package/web/icons/svg/nav-office-address.svg +10 -0
- package/web/icons/svg/nav-relocate.svg +10 -0
- package/web/icons/svg/nav-restaurant.svg +10 -0
- package/web/icons/svg/nav-shopping.svg +3 -0
- package/web/icons/svg/nav-train.svg +10 -0
- package/web/icons/svg/nav-walk.svg +3 -0
- package/web/icons/svg/nav-zoom-in.svg +3 -0
- package/web/icons/svg/nav-zoom-out.svg +3 -0
- package/web/icons/svg/status-alert.svg +5 -0
- package/web/icons/svg/status-archived-file.svg +3 -0
- package/web/icons/svg/status-bad-pressed.svg +23 -0
- package/web/icons/svg/status-bad.svg +20 -0
- package/web/icons/svg/status-battery-50.svg +10 -0
- package/web/icons/svg/status-battery-75.svg +10 -0
- package/web/icons/svg/status-battery-dying.svg +15 -0
- package/web/icons/svg/status-battery-full.svg +10 -0
- package/web/icons/svg/status-battery-low.svg +10 -0
- package/web/icons/svg/status-bluetooth-disconnected.svg +3 -0
- package/web/icons/svg/status-bluetooth.svg +10 -0
- package/web/icons/svg/status-brightness-auto.svg +3 -0
- package/web/icons/svg/status-brightness.svg +3 -0
- package/web/icons/svg/status-case-battery.svg +3 -0
- package/web/icons/svg/status-case-charging.svg +14 -0
- package/web/icons/svg/status-case.svg +3 -0
- package/web/icons/svg/status-checkbox.svg +3 -0
- package/web/icons/svg/status-checkmark.svg +3 -0
- package/web/icons/svg/status-clickbox.svg +3 -0
- package/web/icons/svg/status-complete.svg +10 -0
- package/web/icons/svg/status-disconnected.svg +10 -0
- package/web/icons/svg/status-display-adj-off.svg +11 -0
- package/web/icons/svg/status-dot.svg +10 -0
- package/web/icons/svg/status-eye-closed.svg +3 -0
- package/web/icons/svg/status-eye-open.svg +3 -0
- package/web/icons/svg/status-faqs.svg +10 -0
- package/web/icons/svg/status-fast.svg +3 -0
- package/web/icons/svg/status-fav.svg +29 -0
- package/web/icons/svg/status-file.svg +10 -0
- package/web/icons/svg/status-first-floor.svg +3 -0
- package/web/icons/svg/status-glasses-battery.svg +3 -0
- package/web/icons/svg/status-glasses-charging.svg +17 -0
- package/web/icons/svg/status-glasses.svg +3 -0
- package/web/icons/svg/status-good-pressed.svg +29 -0
- package/web/icons/svg/status-good.svg +20 -0
- package/web/icons/svg/status-grabber.svg +10 -0
- package/web/icons/svg/status-head-up.svg +3 -0
- package/web/icons/svg/status-hint.svg +14 -0
- package/web/icons/svg/status-info.svg +10 -0
- package/web/icons/svg/status-login.svg +10 -0
- package/web/icons/svg/status-logout.svg +10 -0
- package/web/icons/svg/status-more.svg +3 -0
- package/web/icons/svg/status-network-error.svg +3 -0
- package/web/icons/svg/status-reset.svg +3 -0
- package/web/icons/svg/status-saved.svg +10 -0
- package/web/icons/svg/status-second-floor.svg +3 -0
- package/web/icons/svg/status-sele.svg +3 -0
- package/web/icons/svg/status-selected-box.svg +3 -0
- package/web/icons/svg/status-selected.svg +3 -0
- package/web/icons/svg/status-slow.svg +3 -0
- package/web/icons/svg/status-speaker-off.svg +3 -0
- package/web/icons/svg/status-speaker-on.svg +3 -0
- package/web/icons/svg/status-text-sizing.svg +3 -0
- package/web/icons/svg/status-unbind.svg +10 -0
- package/web/icons/svg/status-undisturb.svg +10 -0
- package/web/icons/svg/status-unfav.svg +3 -0
- package/web/icons/svg-catalog.ts +1390 -0
- package/web/icons/svg-icons.tsx +2166 -0
- package/web/index.ts +172 -0
- package/web/theme/tokens-dark.css +46 -0
- package/web/theme/tokens-light.css +46 -0
- package/web/theme/typography.css +57 -0
- package/web/theme/utilities.css +46 -0
- package/web/utils/cn.ts +6 -0
- package/dist/action-bar.d.ts.map +0 -1
- package/dist/action-bar.js.map +0 -1
- package/dist/action-map.d.ts.map +0 -1
- package/dist/action-map.js.map +0 -1
- package/dist/bridge.d.ts.map +0 -1
- package/dist/bridge.js.map +0 -1
- package/dist/canvas-renderer.d.ts.map +0 -1
- package/dist/canvas-renderer.js.map +0 -1
- package/dist/composer.d.ts.map +0 -1
- package/dist/composer.js.map +0 -1
- package/dist/gestures.d.ts.map +0 -1
- package/dist/gestures.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/keep-alive.d.ts.map +0 -1
- package/dist/keep-alive.js.map +0 -1
- package/dist/keyboard.d.ts.map +0 -1
- package/dist/keyboard.js.map +0 -1
- package/dist/layout.d.ts.map +0 -1
- package/dist/layout.js.map +0 -1
- package/dist/paginate-text.d.ts.map +0 -1
- package/dist/paginate-text.js.map +0 -1
- package/dist/png-utils.d.ts.map +0 -1
- package/dist/png-utils.js.map +0 -1
- package/dist/splash.d.ts.map +0 -1
- package/dist/splash.js.map +0 -1
- package/dist/text-clean.d.ts.map +0 -1
- package/dist/text-clean.js.map +0 -1
- package/dist/text-utils.d.ts.map +0 -1
- package/dist/text-utils.js.map +0 -1
- package/dist/timer-display.d.ts.map +0 -1
- package/dist/timer-display.js.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/useFlashPhase.d.ts.map +0 -1
- package/dist/useFlashPhase.js.map +0 -1
- package/dist/useGlasses.d.ts.map +0 -1
- package/dist/useGlasses.js.map +0 -1
- /package/dist/{action-bar.d.ts → glasses/action-bar.d.ts} +0 -0
- /package/dist/{action-bar.js → glasses/action-bar.js} +0 -0
- /package/dist/{action-map.d.ts → glasses/action-map.d.ts} +0 -0
- /package/dist/{action-map.js → glasses/action-map.js} +0 -0
- /package/dist/{bridge.d.ts → glasses/bridge.d.ts} +0 -0
- /package/dist/{bridge.js → glasses/bridge.js} +0 -0
- /package/dist/{canvas-renderer.d.ts → glasses/canvas-renderer.d.ts} +0 -0
- /package/dist/{canvas-renderer.js → glasses/canvas-renderer.js} +0 -0
- /package/dist/{composer.d.ts → glasses/composer.d.ts} +0 -0
- /package/dist/{composer.js → glasses/composer.js} +0 -0
- /package/dist/{gestures.d.ts → glasses/gestures.d.ts} +0 -0
- /package/dist/{gestures.js → glasses/gestures.js} +0 -0
- /package/dist/{index.d.ts → glasses/index.d.ts} +0 -0
- /package/dist/{index.js → glasses/index.js} +0 -0
- /package/dist/{keep-alive.d.ts → glasses/keep-alive.d.ts} +0 -0
- /package/dist/{keep-alive.js → glasses/keep-alive.js} +0 -0
- /package/dist/{keyboard.d.ts → glasses/keyboard.d.ts} +0 -0
- /package/dist/{keyboard.js → glasses/keyboard.js} +0 -0
- /package/dist/{layout.d.ts → glasses/layout.d.ts} +0 -0
- /package/dist/{layout.js → glasses/layout.js} +0 -0
- /package/dist/{paginate-text.d.ts → glasses/paginate-text.d.ts} +0 -0
- /package/dist/{paginate-text.js → glasses/paginate-text.js} +0 -0
- /package/dist/{png-utils.d.ts → glasses/png-utils.d.ts} +0 -0
- /package/dist/{png-utils.js → glasses/png-utils.js} +0 -0
- /package/dist/{splash.d.ts → glasses/splash.d.ts} +0 -0
- /package/dist/{splash.js → glasses/splash.js} +0 -0
- /package/dist/{text-clean.d.ts → glasses/text-clean.d.ts} +0 -0
- /package/dist/{text-clean.js → glasses/text-clean.js} +0 -0
- /package/dist/{text-utils.d.ts → glasses/text-utils.d.ts} +0 -0
- /package/dist/{text-utils.js → glasses/text-utils.js} +0 -0
- /package/dist/{timer-display.d.ts → glasses/timer-display.d.ts} +0 -0
- /package/dist/{timer-display.js → glasses/timer-display.js} +0 -0
- /package/dist/{types.d.ts → glasses/types.d.ts} +0 -0
- /package/dist/{types.js → glasses/types.js} +0 -0
- /package/dist/{useFlashPhase.d.ts → glasses/useFlashPhase.d.ts} +0 -0
- /package/dist/{useFlashPhase.js → glasses/useFlashPhase.js} +0 -0
- /package/dist/{useGlasses.d.ts → glasses/useGlasses.d.ts} +0 -0
- /package/dist/{useGlasses.js → glasses/useGlasses.js} +0 -0
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { cn } from '../utils/cn';
|
|
3
|
+
|
|
4
|
+
// ─── WaveformVisualizer ─────────────────────────────────────────
|
|
5
|
+
|
|
6
|
+
interface WaveformVisualizerProps {
|
|
7
|
+
active: boolean;
|
|
8
|
+
barCount?: number;
|
|
9
|
+
color?: string;
|
|
10
|
+
className?: string;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
function WaveformVisualizer({ active, barCount = 5, color, className }: WaveformVisualizerProps) {
|
|
14
|
+
return (
|
|
15
|
+
<div className={cn('flex items-center gap-[3px] h-6', className)}>
|
|
16
|
+
{Array.from({ length: barCount }).map((_, i) => (
|
|
17
|
+
<div
|
|
18
|
+
key={i}
|
|
19
|
+
className="w-[3px] rounded-full transition-all"
|
|
20
|
+
style={{
|
|
21
|
+
backgroundColor: color ?? 'var(--color-accent)',
|
|
22
|
+
height: active ? undefined : '4px',
|
|
23
|
+
animation: active ? `waveform-bar 0.8s ease-in-out ${i * 0.1}s infinite alternate` : 'none',
|
|
24
|
+
}}
|
|
25
|
+
/>
|
|
26
|
+
))}
|
|
27
|
+
{active && (
|
|
28
|
+
<style>{`
|
|
29
|
+
@keyframes waveform-bar {
|
|
30
|
+
0% { height: 4px; }
|
|
31
|
+
100% { height: 20px; }
|
|
32
|
+
}
|
|
33
|
+
`}</style>
|
|
34
|
+
)}
|
|
35
|
+
</div>
|
|
36
|
+
);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// ─── VoiceInput ─────────────────────────────────────────────────
|
|
40
|
+
|
|
41
|
+
type VoiceState = 'idle' | 'listening' | 'processing' | 'result';
|
|
42
|
+
|
|
43
|
+
interface VoiceInputProps {
|
|
44
|
+
onTranscript: (text: string) => void;
|
|
45
|
+
onAudioBlob?: (blob: Blob) => void;
|
|
46
|
+
language?: string;
|
|
47
|
+
className?: string;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
function VoiceInput({ onTranscript, language = 'en-US', className }: VoiceInputProps) {
|
|
51
|
+
const [state, setState] = React.useState<VoiceState>('idle');
|
|
52
|
+
const [transcript, setTranscript] = React.useState('');
|
|
53
|
+
const recognitionRef = React.useRef<any>(null);
|
|
54
|
+
|
|
55
|
+
const SpeechRecognition = typeof window !== 'undefined'
|
|
56
|
+
? (window as any).SpeechRecognition || (window as any).webkitSpeechRecognition
|
|
57
|
+
: null;
|
|
58
|
+
|
|
59
|
+
const startListening = () => {
|
|
60
|
+
if (!SpeechRecognition) return;
|
|
61
|
+
|
|
62
|
+
const recognition = new SpeechRecognition();
|
|
63
|
+
recognition.lang = language;
|
|
64
|
+
recognition.continuous = false;
|
|
65
|
+
recognition.interimResults = true;
|
|
66
|
+
|
|
67
|
+
recognition.onstart = () => setState('listening');
|
|
68
|
+
recognition.onresult = (e: any) => {
|
|
69
|
+
const text = Array.from(e.results)
|
|
70
|
+
.map((r: any) => r[0].transcript)
|
|
71
|
+
.join('');
|
|
72
|
+
setTranscript(text);
|
|
73
|
+
};
|
|
74
|
+
recognition.onend = () => {
|
|
75
|
+
setState('result');
|
|
76
|
+
if (transcript) onTranscript(transcript);
|
|
77
|
+
};
|
|
78
|
+
recognition.onerror = () => setState('idle');
|
|
79
|
+
|
|
80
|
+
recognitionRef.current = recognition;
|
|
81
|
+
recognition.start();
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
const stopListening = () => {
|
|
85
|
+
recognitionRef.current?.stop();
|
|
86
|
+
setState('processing');
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
const reset = () => {
|
|
90
|
+
setTranscript('');
|
|
91
|
+
setState('idle');
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
if (!SpeechRecognition) {
|
|
95
|
+
return (
|
|
96
|
+
<div className={cn('text-[13px] tracking-[-0.13px] text-text-dim', className)}>
|
|
97
|
+
Voice input not supported in this browser.
|
|
98
|
+
</div>
|
|
99
|
+
);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
return (
|
|
103
|
+
<div className={cn('flex flex-col items-center gap-3', className)}>
|
|
104
|
+
{/* Mic button */}
|
|
105
|
+
<button
|
|
106
|
+
type="button"
|
|
107
|
+
onClick={state === 'listening' ? stopListening : state === 'result' ? reset : startListening}
|
|
108
|
+
className={cn(
|
|
109
|
+
'w-14 h-14 rounded-full flex items-center justify-center cursor-pointer transition-all',
|
|
110
|
+
state === 'listening' && 'bg-accent animate-pulse scale-110',
|
|
111
|
+
state === 'idle' && 'bg-surface hover:bg-surface-light',
|
|
112
|
+
state === 'processing' && 'bg-surface-lighter',
|
|
113
|
+
state === 'result' && 'bg-surface hover:bg-surface-light',
|
|
114
|
+
)}
|
|
115
|
+
>
|
|
116
|
+
{state === 'processing' ? (
|
|
117
|
+
<div className="w-5 h-5 animate-spin rounded-full border-2 border-surface-lighter border-t-accent" />
|
|
118
|
+
) : (
|
|
119
|
+
<svg viewBox="0 0 24 24" className={cn('w-6 h-6', state === 'listening' ? 'text-text-highlight' : 'text-text')}>
|
|
120
|
+
{/* Mic body (centered at x=12) */}
|
|
121
|
+
<rect x={10} y={3} width={4} height={2} fill="currentColor" />
|
|
122
|
+
<rect x={10} y={5} width={4} height={2} fill="currentColor" />
|
|
123
|
+
<rect x={10} y={7} width={4} height={2} fill="currentColor" />
|
|
124
|
+
<rect x={10} y={9} width={4} height={2} fill="currentColor" />
|
|
125
|
+
{/* Mic sides */}
|
|
126
|
+
<rect x={8} y={9} width={2} height={2} fill="currentColor" />
|
|
127
|
+
<rect x={14} y={9} width={2} height={2} fill="currentColor" />
|
|
128
|
+
{/* Outer arc */}
|
|
129
|
+
<rect x={6} y={7} width={2} height={2} fill="currentColor" />
|
|
130
|
+
<rect x={16} y={7} width={2} height={2} fill="currentColor" />
|
|
131
|
+
<rect x={6} y={11} width={2} height={2} fill="currentColor" />
|
|
132
|
+
<rect x={16} y={11} width={2} height={2} fill="currentColor" />
|
|
133
|
+
{/* Bottom of arc */}
|
|
134
|
+
<rect x={8} y={13} width={8} height={2} fill="currentColor" />
|
|
135
|
+
{/* Stand */}
|
|
136
|
+
<rect x={11} y={15} width={2} height={2} fill="currentColor" />
|
|
137
|
+
{/* Base */}
|
|
138
|
+
<rect x={8} y={17} width={8} height={2} fill="currentColor" />
|
|
139
|
+
</svg>
|
|
140
|
+
)}
|
|
141
|
+
</button>
|
|
142
|
+
|
|
143
|
+
{/* Waveform */}
|
|
144
|
+
{state === 'listening' && <WaveformVisualizer active={true} />}
|
|
145
|
+
|
|
146
|
+
{/* Status text */}
|
|
147
|
+
<span className="text-[13px] tracking-[-0.13px] text-text-dim">
|
|
148
|
+
{state === 'idle' && 'Tap to speak'}
|
|
149
|
+
{state === 'listening' && 'Listening...'}
|
|
150
|
+
{state === 'processing' && 'Processing...'}
|
|
151
|
+
{state === 'result' && 'Tap to try again'}
|
|
152
|
+
</span>
|
|
153
|
+
|
|
154
|
+
{/* Transcript */}
|
|
155
|
+
{transcript && (
|
|
156
|
+
<div className="bg-surface rounded-[6px] p-3 text-[15px] tracking-[-0.15px] text-text w-full">
|
|
157
|
+
{transcript}
|
|
158
|
+
</div>
|
|
159
|
+
)}
|
|
160
|
+
</div>
|
|
161
|
+
);
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
export { VoiceInput, WaveformVisualizer };
|
|
165
|
+
export type { VoiceInputProps, WaveformVisualizerProps };
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Even Toolkit — Icon System
|
|
2
|
+
|
|
3
|
+
## Adding Icons
|
|
4
|
+
|
|
5
|
+
1. **Export SVGs from Figma**: Select the icon layer → Export as SVG → optimize with SVGO if desired.
|
|
6
|
+
|
|
7
|
+
2. **Create a React component** (or use your bundler's SVG import):
|
|
8
|
+
```tsx
|
|
9
|
+
// icons/arrow-right.tsx
|
|
10
|
+
export default (props: React.SVGProps<SVGSVGElement>) => (
|
|
11
|
+
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth={2} {...props}>
|
|
12
|
+
<path d="M5 12h14M12 5l7 7-7 7" />
|
|
13
|
+
</svg>
|
|
14
|
+
);
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
3. **Register the icon** in your app's entry point:
|
|
18
|
+
```tsx
|
|
19
|
+
import { registerIcon } from 'even-toolkit/web/icons';
|
|
20
|
+
import ArrowRight from './icons/arrow-right';
|
|
21
|
+
registerIcon('arrow-right', ArrowRight);
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
4. **Use it anywhere**:
|
|
25
|
+
```tsx
|
|
26
|
+
import { Icon } from 'even-toolkit/web/icons';
|
|
27
|
+
<Icon name="arrow-right" size={20} className="text-accent" />
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Icon Categories (from Design Guidelines)
|
|
31
|
+
|
|
32
|
+
- **Menu Bar** — app navigation icons
|
|
33
|
+
- **Feature & Function** — action icons (add, edit, delete, share, etc.)
|
|
34
|
+
- **Guide System** — onboarding / tutorial icons
|
|
35
|
+
- **Edit & Settings** — configuration icons
|
|
36
|
+
- **Status** — connection, battery, sync indicators
|
|
37
|
+
- **Navigate** — arrows, chevrons, back/forward
|
|
38
|
+
- **Health** — heart rate, steps, workout icons
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
type IconComponent = React.FC<React.SVGProps<SVGSVGElement>>;
|
|
4
|
+
|
|
5
|
+
const registry = new Map<string, IconComponent>();
|
|
6
|
+
|
|
7
|
+
/** Register an SVG icon component under a name. */
|
|
8
|
+
export function registerIcon(name: string, component: IconComponent) {
|
|
9
|
+
registry.set(name, component);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/** Register multiple icons at once. */
|
|
13
|
+
export function registerIcons(icons: Record<string, IconComponent>) {
|
|
14
|
+
for (const [name, component] of Object.entries(icons)) {
|
|
15
|
+
registry.set(name, component);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/** Register all built-in Even Realities pixel-art icons. */
|
|
20
|
+
export async function registerAllIcons() {
|
|
21
|
+
const { allIcons } = await import('./svg-icons');
|
|
22
|
+
registerIcons(allIcons);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/** Get all registered icon names. */
|
|
26
|
+
export function getIconNames(): string[] {
|
|
27
|
+
return Array.from(registry.keys());
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
interface IconProps extends React.SVGProps<SVGSVGElement> {
|
|
31
|
+
name: string;
|
|
32
|
+
size?: number;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Renders a registered SVG icon by name.
|
|
37
|
+
*
|
|
38
|
+
* Usage:
|
|
39
|
+
* ```tsx
|
|
40
|
+
* import { Icon, registerIcons } from 'even-toolkit/web/icons';
|
|
41
|
+
* import { allIcons } from 'even-toolkit/web/icons/svg-icons';
|
|
42
|
+
* registerIcons(allIcons);
|
|
43
|
+
* <Icon name="ic_search" size={24} />
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
46
|
+
function Icon({ name, size = 24, className, ...props }: IconProps) {
|
|
47
|
+
const SvgComponent = registry.get(name);
|
|
48
|
+
if (!SvgComponent) {
|
|
49
|
+
console.warn(`[even-toolkit] Icon "${name}" not found in registry.`);
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
return React.createElement(SvgComponent, {
|
|
53
|
+
width: size,
|
|
54
|
+
height: size,
|
|
55
|
+
className,
|
|
56
|
+
...props,
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export { Icon };
|
|
61
|
+
export type { IconProps, IconComponent };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<g clip-path="url(#clip0_10001_76610)">
|
|
3
|
+
<rect x="15" y="4" width="2" height="10" fill="currentColor"/>
|
|
4
|
+
<rect x="5" y="16" width="2" height="10" transform="rotate(-90 5 16)" fill="currentColor"/>
|
|
5
|
+
<rect x="17" y="26" width="2" height="10" transform="rotate(-180 17 26)" fill="currentColor"/>
|
|
6
|
+
<rect x="27" y="14" width="2" height="10" transform="rotate(90 27 14)" fill="currentColor"/>
|
|
7
|
+
</g>
|
|
8
|
+
<defs>
|
|
9
|
+
<clipPath id="clip0_10001_76610">
|
|
10
|
+
<rect width="32" height="32" fill="white"/>
|
|
11
|
+
</clipPath>
|
|
12
|
+
</defs>
|
|
13
|
+
</svg>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M6 27H4V25H6V27ZM4 25H2V23H4V25ZM8 25H6V23H8V25ZM30 24H12V22H30V24ZM10 23H8V21H10V23ZM12 21H10V19H12V21ZM8 13H4V11H8V13ZM4 11H2V7H4V11ZM10 11H8V7H10V11ZM30 10H12V8H30V10ZM8 7H4V5H8V7Z" fill="currentColor"/>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<rect x="26" y="25" width="5" height="2" transform="rotate(-180 26 25)" fill="currentColor"/>
|
|
3
|
+
<rect x="6" y="7" width="9" height="2" fill="currentColor"/>
|
|
4
|
+
<rect x="17" y="11" width="2" height="2" fill="currentColor"/>
|
|
5
|
+
<rect x="15" y="13" width="4" height="2" transform="rotate(-90 15 13)" fill="currentColor"/>
|
|
6
|
+
<rect x="11" y="7" width="2" height="2" transform="rotate(-90 11 7)" fill="currentColor"/>
|
|
7
|
+
<rect x="21" y="13" width="14" height="2" transform="rotate(90 21 13)" fill="currentColor"/>
|
|
8
|
+
<rect x="5" y="27" width="14" height="2" fill="currentColor"/>
|
|
9
|
+
<rect x="13" y="3" width="13" height="2" fill="currentColor"/>
|
|
10
|
+
<rect x="4" y="9" width="2" height="18" fill="currentColor"/>
|
|
11
|
+
<rect x="26" y="5" width="2" height="18" fill="currentColor"/>
|
|
12
|
+
</svg>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<g clip-path="url(#clip0_10001_76618)">
|
|
3
|
+
<path d="M7 27H5V25H7V27ZM27 27H25V25H27V27ZM9 25H7V23H9V25ZM25 25H23V23H25V25ZM11 23H9V21H11V23ZM23 23H21V21H23V23ZM13 21H11V19H13V21ZM21 21H19V19H21V21ZM15 19H13V17H15V19ZM19 19H17V17H19V19ZM15 15H13V13H15V15ZM19 15H17V13H19V15ZM13 13H11V11H13V13ZM21 13H19V11H21V13ZM11 11H9V9H11V11ZM23 11H21V9H23V11ZM9 9H7V7H9V9ZM25 9H23V7H25V9ZM7 5V7H5V5H7ZM27 7H25V5H27V7Z" fill="currentColor"/>
|
|
4
|
+
</g>
|
|
5
|
+
<defs>
|
|
6
|
+
<clipPath id="clip0_10001_76618">
|
|
7
|
+
<rect width="32" height="32" fill="white"/>
|
|
8
|
+
</clipPath>
|
|
9
|
+
</defs>
|
|
10
|
+
</svg>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<g clip-path="url(#clip0_10001_76614)">
|
|
3
|
+
<path d="M5 29H3V27H5V29ZM29 29H27V27H29V29ZM7 27H5V25H7V27ZM27 27H25V25H27V27ZM9 25H7V23H9V25ZM25 25H23V23H25V25ZM11 23H9V21H11V23ZM23 23H21V21H23V23ZM13 21H11V19H13V21ZM21 21H19V19H21V21ZM15 19H13V17H15V19ZM19 19H17V17H19V19ZM15 15H13V13H15V15ZM19 15H17V13H19V15ZM13 13H11V11H13V13ZM21 13H19V11H21V13ZM11 11H9V9H11V11ZM23 11H21V9H23V11ZM9 9H7V7H9V9ZM25 9H23V7H25V9ZM7 7H5V5H7V7ZM27 7H25V5H27V7ZM5 3V5H3V3H5ZM29 5H27V3H29V5Z" fill="currentColor"/>
|
|
4
|
+
</g>
|
|
5
|
+
<defs>
|
|
6
|
+
<clipPath id="clip0_10001_76614">
|
|
7
|
+
<rect width="32" height="32" fill="white"/>
|
|
8
|
+
</clipPath>
|
|
9
|
+
</defs>
|
|
10
|
+
</svg>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<g clip-path="url(#clip0_10001_76590)">
|
|
3
|
+
<path d="M30 27H28V25H30V27ZM13 26H4V24H13V26ZM28 25H26V23H28V25ZM4 24H2V19H4V24ZM13 19H4V17H18V19H15V24H13V19ZM26 23H24V21H26V23ZM24 21H22V19H24V21ZM22 19H20V17H22V19ZM20 17H18V15H20V17ZM15 13H18V15H4V13H13V8H15V13ZM22 15H20V13H22V15ZM4 13H2V8H4V13ZM24 13H22V11H24V13ZM26 11H24V9H26V11ZM28 9H26V7H28V9ZM13 8H4V6H13V8ZM30 7H28V5H30V7Z" fill="currentColor"/>
|
|
4
|
+
</g>
|
|
5
|
+
<defs>
|
|
6
|
+
<clipPath id="clip0_10001_76590">
|
|
7
|
+
<rect width="32" height="32" fill="white"/>
|
|
8
|
+
</clipPath>
|
|
9
|
+
</defs>
|
|
10
|
+
</svg>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M8 25H24V27H8V28H6V27H2V25H6V24H8V25ZM23 22H3V20H23V22ZM30 16H31V18H30V21H28V18H27V16H28V7H30V16ZM3 20H1V8H3V20ZM25 20H23V8H25V20ZM23 8H3V6H23V8Z" fill="currentColor"/>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M6 25H10V27H4V21H6V25ZM9 24H7V22H9V24ZM22 23H13V21H22V23ZM11 22H9V20H11V22ZM24 21H22V12H24V21ZM13 20H11V18H13V20ZM8 19H6V12H8V19ZM15 18H13V16H15V18ZM22 12H8V10H22V12ZM27 11H25V7H21V5H27V11ZM24 10H22V8H24V10Z" fill="currentColor"/>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M5 27H9V29H3V23H5V27ZM30 29H15V27H30V29ZM11 27H9V25H11V27ZM13 25H11V23H13V25ZM7 23H5V21H7V23ZM15 23H13V21H15V23ZM9 21H7V19H9V21ZM17 21H15V19H17V21ZM11 19H9V17H11V19ZM19 19H17V17H19V19ZM13 17H11V15H13V17ZM21 17H19V15H21V17ZM15 15H13V13H15V15ZM23 15H21V13H23V15ZM17 13H15V11H17V13ZM25 13H23V11H25V13ZM19 11H17V9H19V11ZM23 11H21V9H23V11ZM27 11H25V9H27V11ZM21 9H19V7H21V9ZM29 9H27V7H29V9ZM23 7H21V5H23V7ZM27 7H25V5H27V7ZM25 5H23V3H25V5Z" fill="currentColor"/>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M17 31H15V29H17V31ZM15 29H13V27H15V29ZM19 29H17V27H19V29ZM13 27H11V25H13V27ZM17 27H15V23H17V27ZM21 27H19V25H21V27ZM24 22H8V20H24V22ZM8 20H6V12H8V20ZM26 20H24V12H26V20ZM24 12H8V10H24V12ZM17 9H15V5H17V9ZM13 7H11V5H13V7ZM21 7H19V5H21V7ZM15 5H13V3H15V5ZM19 5H17V3H19V5ZM17 3H15V1H17V3Z" fill="currentColor"/>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<g clip-path="url(#clip0_10001_76574)">
|
|
3
|
+
<path d="M5 27.998H27V18H29V28H27V29.998H5V28H3V18H5V27.998ZM17 25.001H15V23.001H17V25.001ZM15 23.001H13V21.001H15V23.001ZM19 23.001H17V21.001H19V23.001ZM13 21.001H11V19.001H13V21.001ZM21 21.001H19V19.001H21V21.001ZM17 21H15V2H17V21ZM11 19.001H9V17.001H11V19.001ZM23 19.001H21V17.001H23V19.001ZM9 17H7V15H9V17ZM25 17H23V15H25V17ZM7 15H5V13H7V15ZM27 15H25V13H27V15Z" fill="currentColor"/>
|
|
4
|
+
</g>
|
|
5
|
+
<defs>
|
|
6
|
+
<clipPath id="clip0_10001_76574">
|
|
7
|
+
<rect width="32" height="32" fill="white"/>
|
|
8
|
+
</clipPath>
|
|
9
|
+
</defs>
|
|
10
|
+
</svg>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<g clip-path="url(#clip0_10001_76654)">
|
|
3
|
+
<path d="M26 30.0029H6V28.0029H26V30.0029ZM6 28.0029H4V4.00293H6V28.0029ZM28 28.0029H26V8.00293H28V28.0029ZM22 23.0029H20V21.0029H22V23.0029ZM20 21.0029H8V19.0029H20V21.0029ZM24 21.0029H22V19.0029H24V21.0029ZM22 19.0029H20V17.0029H22V19.0029ZM12 15.0029H10V13.0029H12V15.0029ZM10 13.0029H8V11.0029H10V13.0029ZM24 13.0029H12V11.0029H24V13.0029ZM12 11.0029H10V9.00293H12V11.0029ZM24 6.00293H26V8.00293H22V4.00293H24V6.00293ZM22 4.00293H6V2.00293H22V4.00293Z" fill="currentColor"/>
|
|
4
|
+
</g>
|
|
5
|
+
<defs>
|
|
6
|
+
<clipPath id="clip0_10001_76654">
|
|
7
|
+
<rect width="32" height="32" fill="white"/>
|
|
8
|
+
</clipPath>
|
|
9
|
+
</defs>
|
|
10
|
+
</svg>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<g clip-path="url(#clip0_10001_76670)">
|
|
3
|
+
<path d="M25 28H23V26H25V28ZM7 26H3V24H7V26ZM19 26H10V24H19V26ZM23 26H21V24H23V26ZM27 26H25V24H27V26ZM29 24H27V22H29V24ZM31 22H29V20H31V22ZM7 17H3V15H7V17ZM28 17H10V15H28V17ZM7 8H3V6H7V8ZM28 8H10V6H28V8Z" fill="currentColor"/>
|
|
4
|
+
</g>
|
|
5
|
+
<defs>
|
|
6
|
+
<clipPath id="clip0_10001_76670">
|
|
7
|
+
<rect width="32" height="32" fill="white"/>
|
|
8
|
+
</clipPath>
|
|
9
|
+
</defs>
|
|
10
|
+
</svg>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M26 30H6V28H26V30ZM6 28H4V4H6V28ZM28 28H26V8H28V28ZM17 22.0049H15V17.0049H17V22.0049ZM17 15.0049H15.0049V17H10.0049V15H15V10.0049H17V15.0049ZM22.0049 17H17.0049V15H22.0049V17ZM24 6H26V8H22V4H24V6ZM22 4H6V2H22V4Z" fill="currentColor"/>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<g clip-path="url(#clip0_10001_76674)">
|
|
3
|
+
<path d="M6 25H2V23H6V25ZM30 25H9V23H30V25ZM6 17H2V15H6V17ZM30 17H9V15H30V17ZM6 9H2V7H6V9ZM30 9H9V7H30V9Z" fill="currentColor"/>
|
|
4
|
+
</g>
|
|
5
|
+
<defs>
|
|
6
|
+
<clipPath id="clip0_10001_76674">
|
|
7
|
+
<rect width="32" height="32" fill="white"/>
|
|
8
|
+
</clipPath>
|
|
9
|
+
</defs>
|
|
10
|
+
</svg>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<g clip-path="url(#clip0_10001_76598)">
|
|
3
|
+
<path d="M20 30H4V28H20V30ZM4 28H2V8H4V28ZM28 26H22V28H20V26H12V24H28V26ZM12 24H10V8H4V6H10V4H12V24ZM30 24H28V4H30V24ZM26 19H14V17H26V19ZM26 15H14V13H26V15ZM26 11H14V9H26V11ZM28 4H12V2H28V4Z" fill="currentColor"/>
|
|
4
|
+
</g>
|
|
5
|
+
<defs>
|
|
6
|
+
<clipPath id="clip0_10001_76598">
|
|
7
|
+
<rect width="32" height="32" fill="white"/>
|
|
8
|
+
</clipPath>
|
|
9
|
+
</defs>
|
|
10
|
+
</svg>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<g clip-path="url(#clip0_10001_76646)">
|
|
3
|
+
<path d="M11 28H9V4H11V28ZM23 28H21V4H23V28Z" fill="currentColor"/>
|
|
4
|
+
</g>
|
|
5
|
+
<defs>
|
|
6
|
+
<clipPath id="clip0_10001_76646">
|
|
7
|
+
<rect width="32" height="32" fill="white"/>
|
|
8
|
+
</clipPath>
|
|
9
|
+
</defs>
|
|
10
|
+
</svg>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<g clip-path="url(#clip0_10001_76630)">
|
|
3
|
+
<path d="M17 31H15V20H17V31ZM6 18H15V20H4V16H6V18ZM28 20H17V18H26V16H28V20ZM8 16H6V14H8V16ZM26 16H24V14H26V16ZM10 14H8V12H10V14ZM24 14H22V12H24V14ZM13 10H19V5H21V10H22V12H10V10H11V5H13V10ZM11 5H9V3H11V5ZM23 5H21V3H23V5ZM21 3H11V1H21V3Z" fill="currentColor"/>
|
|
4
|
+
</g>
|
|
5
|
+
<defs>
|
|
6
|
+
<clipPath id="clip0_10001_76630">
|
|
7
|
+
<rect width="32" height="32" fill="white"/>
|
|
8
|
+
</clipPath>
|
|
9
|
+
</defs>
|
|
10
|
+
</svg>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<g clip-path="url(#clip0_10001_76642)">
|
|
3
|
+
<path d="M12 29H9V27H12V29ZM9 27H7V5H9V27ZM15 27H12V25H15V27ZM18 25H15V23H18V25ZM21 23H18V21H21V23ZM24 21H21V19H24V21ZM26 19H24V17H26V19ZM28 17H26V15H28V17ZM26 15H24V13H26V15ZM24 13H21V11H24V13ZM21 11H18V9H21V11ZM18 9H15V7H18V9ZM15 7H12V5H15V7ZM12 5H9V3H12V5Z" fill="currentColor"/>
|
|
4
|
+
</g>
|
|
5
|
+
<defs>
|
|
6
|
+
<clipPath id="clip0_10001_76642">
|
|
7
|
+
<rect width="32" height="32" fill="white"/>
|
|
8
|
+
</clipPath>
|
|
9
|
+
</defs>
|
|
10
|
+
</svg>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<g clip-path="url(#clip0_10001_76626)">
|
|
3
|
+
<path d="M22 25V27H10V25H22ZM10 25H8V23H10V25ZM8 23H6V15H8V23ZM20 19H18V17H20V19ZM22 17H20V15H22V17ZM10 15H8V13H10V15ZM24 15H22V13H24V15ZM22 13H10V11H22V13ZM26 13H24V11H26V13ZM24 11H22V9H24V11ZM22 9H20V7H22V9ZM20 7H18V5H20V7Z" fill="currentColor"/>
|
|
4
|
+
</g>
|
|
5
|
+
<defs>
|
|
6
|
+
<clipPath id="clip0_10001_76626">
|
|
7
|
+
<rect width="32" height="32" fill="white"/>
|
|
8
|
+
</clipPath>
|
|
9
|
+
</defs>
|
|
10
|
+
</svg>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<g clip-path="url(#clip0_10001_76650)">
|
|
3
|
+
<path d="M24 29H8V27H24V29ZM8 27H6V25H8V27ZM26 27H24V25H26V27ZM6 25H4V15H6V25ZM28 25H26V11H28V25ZM14 13H12V11H14V13ZM12 11H10V9H12V11ZM26 11H24V9H26V11ZM10 9H8V7H10V9ZM24 9H12V7H24V9ZM12 7H10V5H12V7ZM14 5H12V3H14V5Z" fill="currentColor"/>
|
|
4
|
+
</g>
|
|
5
|
+
<defs>
|
|
6
|
+
<clipPath id="clip0_10001_76650">
|
|
7
|
+
<rect width="32" height="32" fill="white"/>
|
|
8
|
+
</clipPath>
|
|
9
|
+
</defs>
|
|
10
|
+
</svg>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M25 28H21V26H25V28ZM21 26H3V24H21V26ZM29 26H25V24H29V26ZM25 24H21V22H25V24ZM18 19H14V17H18V19ZM14 17H3V15H14V17ZM29 17H18V15H29V17ZM18 15H14V13H18V15ZM11 10H7V8H11V10ZM7 8H3V6H7V8ZM29 8H11V6H29V8ZM11 6H7V4H11V6Z" fill="currentColor"/>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M27 29H5V27H27V29ZM5 27H3V5H5V27ZM29 27H27V19H29V27ZM12 22H10V18H12V22ZM14 18H12V14H14V18ZM24 16H22V14H24V16ZM16 14H14V12H16V14ZM26 14H24V12H26V14ZM20 12H16V10H20V12ZM28 12H26V10H28V12ZM26 10H20V8H26V10ZM30 10H28V8H30V10ZM28 8H26V6H28V8ZM26 6H24V4H26V6ZM13 5H5V3H13V5ZM24 4H22V2H24V4Z" fill="currentColor"/>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<g clip-path="url(#clip0_10001_76606)">
|
|
3
|
+
<path d="M12 27H15V18H17V27H20V29H7V27H10V18H12V27ZM25 29H22V27H25V29ZM4 13H28V11H30V15H27V27H25V15H7V27H5V15H2V11H4V13ZM22 27H20V18H22V27ZM22 9H28V11H20V5H12V11H4V9H10V3H22V9Z" fill="currentColor"/>
|
|
4
|
+
</g>
|
|
5
|
+
<defs>
|
|
6
|
+
<clipPath id="clip0_10001_76606">
|
|
7
|
+
<rect width="32" height="32" fill="white"/>
|
|
8
|
+
</clipPath>
|
|
9
|
+
</defs>
|
|
10
|
+
</svg>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M18 30H16V28H18V30ZM16 28H14V26H16V28ZM14 26H12V24H14V26ZM26 26H16V24H26V26ZM16 24H14V22H16V24ZM28 22V24H26V22H28ZM4 22H2V10H4V22ZM18 22H16V20H18V22ZM30 22H28V10H30V22ZM16 12H14V10H16V12ZM6 10H4V8H6V10ZM18 10H16V8H18V10ZM16 8H6V6H16V8ZM20 8H18V6H20V8ZM18 6H16V4H18V6ZM16 4H14V2H16V4Z" fill="currentColor"/>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<g clip-path="url(#clip0_10001_76602)">
|
|
3
|
+
<path d="M24 30H8V28H24V30ZM8 28H6V10H8V28ZM26 28H24V10H26V28ZM14 26H12V10H14V26ZM20 26H18V10H20V26ZM12 6H20V4H22V6H28V8H4V6H10V4H12V6ZM20 4H12V2H20V4Z" fill="currentColor"/>
|
|
4
|
+
</g>
|
|
5
|
+
<defs>
|
|
6
|
+
<clipPath id="clip0_10001_76602">
|
|
7
|
+
<rect width="32" height="32" fill="white"/>
|
|
8
|
+
</clipPath>
|
|
9
|
+
</defs>
|
|
10
|
+
</svg>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<g clip-path="url(#clip0_10001_76622)">
|
|
3
|
+
<path d="M22 27H10V25H22V27ZM24 25H22V23H24V25ZM26 23H24V15H26V23ZM14 19H12V17H14V19ZM12 17H10V15H12V17ZM10 15H8V13H10V15ZM24 15H22V13H24V15ZM8 13H6V11H8V13ZM22 13H10V11H22V13ZM10 11H8V9H10V11ZM12 9H10V7H12V9ZM14 7H12V5H14V7Z" fill="currentColor"/>
|
|
4
|
+
</g>
|
|
5
|
+
<defs>
|
|
6
|
+
<clipPath id="clip0_10001_76622">
|
|
7
|
+
<rect width="32" height="32" fill="white"/>
|
|
8
|
+
</clipPath>
|
|
9
|
+
</defs>
|
|
10
|
+
</svg>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M17 31H15V20H17V31ZM28 28H26V26H28V28ZM26 26H24V24H26V26ZM24 24H22V22H24V24ZM22 22H20V20H22V22ZM6 18H15V20H4V16H6V18ZM20 20H18V18H20V20ZM28 20H22V18H26V16H28V20ZM18 18H16V16H18V18ZM8 16H6V14H8V16ZM16 16H14V14H16V16ZM26 16H24V14H26V16ZM10 14H8V12H10V14ZM14 14H12V12H14V14ZM24 14H22V12H24V14ZM12 12H10V10H12V12ZM21 10H22V12H14V10H19V5H21V10ZM10 10H8V8H10V10ZM13 9H11V5H13V9ZM8 8H6V6H8V8ZM6 6H4V4H6V6ZM11 5H9V3H11V5ZM23 5H21V3H23V5ZM21 3H11V1H21V3Z" fill="currentColor"/>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M17 28H15V18H17V28ZM6 22H3V20H6V22ZM11 22H9V20H11V22ZM23 22H21V20H23V22ZM29 22H26V20H29V22ZM3 20H1V13H3V20ZM13 20H11V18H13V20ZM21 20H19V18H21V20ZM31 20H29V13H31V20ZM15 18H13V16H15V18ZM19 18H17V16H19V18ZM17 16H15V14H17V16ZM5 13H3V11H5V13ZM29 13H25V11H29V13ZM9 11H5V9H9V11ZM25 11H23V9H25V11ZM11 9H9V7H11V9ZM23 9H20V7H23V9ZM20 7H11V5H20V7Z" fill="currentColor"/>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M2 27H0V5H2V27ZM32 27H30V5H32V27ZM9 21H7V19H9V21ZM25 21H23V19H25V21ZM7 19H5V17H7V19ZM27 19H25V17H27V19ZM5 17H3V15H5V17ZM25 15V17H7V15H25ZM29 17H27V15H29V17ZM7 15H5V13H7V15ZM27 15H25V13H27V15ZM9 13H7V11H9V13ZM25 13H23V11H25V13Z" fill="currentColor"/>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<g clip-path="url(#clip0_10001_76400)">
|
|
3
|
+
<path d="M26 29H6V27H26V29ZM6 27H4V14H6V27ZM28 27H26V14H28V27ZM17 24H15V22H17V24ZM15 22H13V19H15V22ZM19 22H17V19H19V22ZM17 19H15V17H17V19ZM12 12H26V14H6V12H10V5H12V12ZM22 9H20V5H22V9ZM20 5H12V3H20V5Z" fill="#232323"/>
|
|
4
|
+
</g>
|
|
5
|
+
<defs>
|
|
6
|
+
<clipPath id="clip0_10001_76400">
|
|
7
|
+
<rect width="32" height="32" fill="white"/>
|
|
8
|
+
</clipPath>
|
|
9
|
+
</defs>
|
|
10
|
+
</svg>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<g clip-path="url(#clip0_10001_76452)">
|
|
3
|
+
<path d="M7 29H5V21H7V29ZM27 29H25V21H27V29ZM9 21H7V19H9V21ZM25 21H23V19H25V21ZM23 19H9V17H23V19ZM20 15H12V13H20V15ZM12 13H10V5H12V13ZM22 13H20V5H22V13ZM20 5H12V3H20V5Z" fill="#232323"/>
|
|
4
|
+
</g>
|
|
5
|
+
<defs>
|
|
6
|
+
<clipPath id="clip0_10001_76452">
|
|
7
|
+
<rect width="32" height="32" fill="white"/>
|
|
8
|
+
</clipPath>
|
|
9
|
+
</defs>
|
|
10
|
+
</svg>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M27 29H5V27H27V29ZM5 9H27V7H29V27H27V11H5V27H3V7H5V9ZM11 23H9V21H11V23ZM17 23H15V21H17V23ZM23 23H21V21H23V23ZM11 17H9V15H11V17ZM17 17H15V15H17V17ZM23 17H21V15H23V17ZM11 5H21V2H23V5H27V7H5V5H9V2H11V5Z" fill="#232323"/>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M27 26H5V24H27V26ZM5 24H3V10H5V24ZM29 24H27V10H29V24ZM19 22H13V20H19V22ZM13 20H11V14H13V20ZM21 20H19V14H21V20ZM9 14H7V12H9V14ZM19 14H13V12H19V14ZM11 10H5V8H11V10ZM27 10H21V8H27V10ZM21 8H11V6H21V8Z" fill="#232323"/>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M28 26H4V24H28V26ZM4 24H2V8H4V24ZM30 24H28V8H30V24ZM17 20H15V18H17V20ZM15 18H13V16H15V18ZM19 18H17V16H19V18ZM13 16H11V14H13V16ZM17 16H15V4H17V16ZM21 16H19V14H21V16ZM11 14H9V12H11V14ZM23 14H21V12H23V14ZM11 8H4V6H11V8ZM28 8H21V6H28V8Z" fill="#232323"/>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<g clip-path="url(#clip0_10001_76392)">
|
|
3
|
+
<path d="M15.0088 31.9912L13.0088 32L13 30L15 29.9912L15.0088 31.9912ZM19.0088 31.9912L17.0088 32L17 30L19 29.9912L19.0088 31.9912ZM13.0088 29.9912L11.0088 30L11 28L13 27.9912L13.0088 29.9912ZM17.0088 29.9912L15.0088 30L15 28L17 27.9912L17.0088 29.9912ZM21.0088 29.9912L19.0088 30L19 28L21 27.9912L21.0088 29.9912ZM23 25H9V23H23V25ZM9 23H7V9H9V23ZM25 23H23V9H25V23ZM18.0176 17.9814L14.0088 18L13.9912 14.0088L18 13.9912L18.0176 17.9814ZM23 9H9V7H23V9ZM13.0088 3.99023L11.0098 4L11 2L13 1.99121L13.0088 3.99023ZM17.0088 3.99023L15.0098 4L15 2L17 1.99121L17.0088 3.99023ZM21.0088 3.99023L19.0098 4L19 2L21 1.99121L21.0088 3.99023ZM15.0088 1.99023L13.0098 2L13 0L15 -0.00878906L15.0088 1.99023ZM19.0088 1.99023L17.0098 2L17 0L19 -0.00878906L19.0088 1.99023Z" fill="#232323"/>
|
|
4
|
+
</g>
|
|
5
|
+
<defs>
|
|
6
|
+
<clipPath id="clip0_10001_76392">
|
|
7
|
+
<rect width="32" height="32" fill="white"/>
|
|
8
|
+
</clipPath>
|
|
9
|
+
</defs>
|
|
10
|
+
</svg>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<g clip-path="url(#clip0_10001_76368)">
|
|
3
|
+
<path d="M28 26H4V24H28V26ZM28 8H30V24H28V10H26V8H6V10H4V24H2V8H4V6H28V8ZM20 18H12V16H20V18ZM12 16H10V14H12V16ZM22 16H20V14H22V16ZM10 14H8V12H10V14ZM24 14H22V12H24V14ZM8 12H6V10H8V12ZM26 12H24V10H26V12Z" fill="#232323"/>
|
|
4
|
+
</g>
|
|
5
|
+
<defs>
|
|
6
|
+
<clipPath id="clip0_10001_76368">
|
|
7
|
+
<rect width="32" height="32" fill="white"/>
|
|
8
|
+
</clipPath>
|
|
9
|
+
</defs>
|
|
10
|
+
</svg>
|