@kortix/ui 0.0.0-bootstrap.0 → 0.14.3
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 +153 -2
- package/dist/_vendor/kortix-shared.js +341 -0
- package/dist/chat/agent-picker.d.ts +8 -0
- package/dist/chat/agent-picker.js +18 -0
- package/dist/chat/composer.d.ts +31 -0
- package/dist/chat/composer.js +114 -0
- package/dist/chat/index.d.ts +22 -0
- package/dist/chat/index.js +22 -0
- package/dist/chat/markdown.d.ts +10 -0
- package/dist/chat/markdown.js +36 -0
- package/dist/chat/message-list.d.ts +25 -0
- package/dist/chat/message-list.js +73 -0
- package/dist/chat/message-view.d.ts +17 -0
- package/dist/chat/message-view.js +86 -0
- package/dist/chat/model-picker.d.ts +10 -0
- package/dist/chat/model-picker.js +68 -0
- package/dist/chat/permission-prompt.d.ts +10 -0
- package/dist/chat/permission-prompt.js +40 -0
- package/dist/chat/question-prompt.d.ts +8 -0
- package/dist/chat/question-prompt.js +60 -0
- package/dist/chat/send-failure.d.ts +9 -0
- package/dist/chat/send-failure.js +21 -0
- package/dist/chat/session-thread.d.ts +28 -0
- package/dist/chat/session-thread.js +47 -0
- package/dist/chat/streaming-markdown.d.ts +21 -0
- package/dist/chat/streaming-markdown.js +59 -0
- package/dist/chat/tool-call.d.ts +4 -0
- package/dist/chat/tool-call.js +150 -0
- package/dist/chat/user-message-parts.d.ts +6 -0
- package/dist/chat/user-message-parts.js +11 -0
- package/dist/components/ui/accordion.d.ts +7 -0
- package/dist/components/ui/accordion.js +18 -0
- package/dist/components/ui/alert-dialog.d.ts +19 -0
- package/dist/components/ui/alert-dialog.js +48 -0
- package/dist/components/ui/alert.d.ts +13 -0
- package/dist/components/ui/alert.js +67 -0
- package/dist/components/ui/avatar.d.ts +11 -0
- package/dist/components/ui/avatar.js +23 -0
- package/dist/components/ui/back-pill.d.ts +13 -0
- package/dist/components/ui/back-pill.js +18 -0
- package/dist/components/ui/badge.d.ts +10 -0
- package/dist/components/ui/badge.js +42 -0
- package/dist/components/ui/breadcrumb.d.ts +11 -0
- package/dist/components/ui/breadcrumb.js +28 -0
- package/dist/components/ui/bubble.d.ts +20 -0
- package/dist/components/ui/bubble.js +38 -0
- package/dist/components/ui/button-group.d.ts +9 -0
- package/dist/components/ui/button-group.js +32 -0
- package/dist/components/ui/button.d.ts +13 -0
- package/dist/components/ui/button.js +67 -0
- package/dist/components/ui/calendar.d.ts +4 -0
- package/dist/components/ui/calendar.js +39 -0
- package/dist/components/ui/card.d.ts +96 -0
- package/dist/components/ui/card.js +291 -0
- package/dist/components/ui/chain-of-thought.d.ts +75 -0
- package/dist/components/ui/chain-of-thought.js +66 -0
- package/dist/components/ui/chart.d.ts +65 -0
- package/dist/components/ui/chart.js +118 -0
- package/dist/components/ui/checkbox-group.d.ts +19 -0
- package/dist/components/ui/checkbox-group.js +41 -0
- package/dist/components/ui/checkbox.d.ts +14 -0
- package/dist/components/ui/checkbox.js +27 -0
- package/dist/components/ui/collapsible.d.ts +5 -0
- package/dist/components/ui/collapsible.js +14 -0
- package/dist/components/ui/command.d.ts +58 -0
- package/dist/components/ui/command.js +135 -0
- package/dist/components/ui/confirm-dialog.d.ts +19 -0
- package/dist/components/ui/confirm-dialog.js +30 -0
- package/dist/components/ui/context-menu.d.ts +45 -0
- package/dist/components/ui/context-menu.js +93 -0
- package/dist/components/ui/count-badge.d.ts +26 -0
- package/dist/components/ui/count-badge.js +26 -0
- package/dist/components/ui/data-grid.d.ts +24 -0
- package/dist/components/ui/data-grid.js +107 -0
- package/dist/components/ui/date-range-picker.d.ts +119 -0
- package/dist/components/ui/date-range-picker.js +190 -0
- package/dist/components/ui/definition-list.d.ts +15 -0
- package/dist/components/ui/definition-list.js +26 -0
- package/dist/components/ui/dialog.d.ts +29 -0
- package/dist/components/ui/dialog.js +52 -0
- package/dist/components/ui/disclosure.d.ts +121 -0
- package/dist/components/ui/disclosure.js +138 -0
- package/dist/components/ui/dot-matrix/dotm-3x3-10.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-3x3-10.js +29 -0
- package/dist/components/ui/dot-matrix/dotm-3x3-12.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-3x3-12.js +19 -0
- package/dist/components/ui/dot-matrix/dotm-3x3-13.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-3x3-13.js +19 -0
- package/dist/components/ui/dot-matrix/dotm-3x3-15.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-3x3-15.js +22 -0
- package/dist/components/ui/dot-matrix/dotm-3x3-16.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-3x3-16.js +5 -0
- package/dist/components/ui/dot-matrix/dotm-3x3-18.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-3x3-18.js +5 -0
- package/dist/components/ui/dot-matrix/dotm-3x3-19.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-3x3-19.js +5 -0
- package/dist/components/ui/dot-matrix/dotm-3x3-2.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-3x3-2.js +3 -0
- package/dist/components/ui/dot-matrix/dotm-3x3-20.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-3x3-20.js +5 -0
- package/dist/components/ui/dot-matrix/dotm-3x3-21.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-3x3-21.js +5 -0
- package/dist/components/ui/dot-matrix/dotm-3x3-3.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-3x3-3.js +3 -0
- package/dist/components/ui/dot-matrix/dotm-3x3-4.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-3x3-4.js +3 -0
- package/dist/components/ui/dot-matrix/dotm-3x3-5.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-3x3-5.js +3 -0
- package/dist/components/ui/dot-matrix/dotm-3x3-6.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-3x3-6.js +19 -0
- package/dist/components/ui/dot-matrix/dotm-3x3-7.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-3x3-7.js +19 -0
- package/dist/components/ui/dot-matrix/dotm-3x3-8.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-3x3-8.js +19 -0
- package/dist/components/ui/dot-matrix/dotm-3x3-9.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-3x3-9.js +23 -0
- package/dist/components/ui/dot-matrix/dotm-circular-1.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-circular-1.js +28 -0
- package/dist/components/ui/dot-matrix/dotm-circular-10.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-circular-10.js +40 -0
- package/dist/components/ui/dot-matrix/dotm-circular-11.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-circular-11.js +37 -0
- package/dist/components/ui/dot-matrix/dotm-circular-12.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-circular-12.js +42 -0
- package/dist/components/ui/dot-matrix/dotm-circular-14.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-circular-14.js +37 -0
- package/dist/components/ui/dot-matrix/dotm-circular-15.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-circular-15.js +49 -0
- package/dist/components/ui/dot-matrix/dotm-circular-17.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-circular-17.js +31 -0
- package/dist/components/ui/dot-matrix/dotm-circular-2.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-circular-2.js +37 -0
- package/dist/components/ui/dot-matrix/dotm-circular-3.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-circular-3.js +54 -0
- package/dist/components/ui/dot-matrix/dotm-circular-4.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-circular-4.js +35 -0
- package/dist/components/ui/dot-matrix/dotm-circular-5.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-circular-5.js +30 -0
- package/dist/components/ui/dot-matrix/dotm-circular-6.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-circular-6.js +37 -0
- package/dist/components/ui/dot-matrix/dotm-circular-7.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-circular-7.js +25 -0
- package/dist/components/ui/dot-matrix/dotm-circular-8.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-circular-8.js +26 -0
- package/dist/components/ui/dot-matrix/dotm-circular-9.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-circular-9.js +41 -0
- package/dist/components/ui/dot-matrix/dotm-square-1.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-square-1.js +27 -0
- package/dist/components/ui/dot-matrix/dotm-square-10.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-square-10.js +27 -0
- package/dist/components/ui/dot-matrix/dotm-square-11.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-square-11.js +25 -0
- package/dist/components/ui/dot-matrix/dotm-square-12.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-square-12.js +28 -0
- package/dist/components/ui/dot-matrix/dotm-square-13.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-square-13.js +45 -0
- package/dist/components/ui/dot-matrix/dotm-square-14.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-square-14.js +38 -0
- package/dist/components/ui/dot-matrix/dotm-square-15.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-square-15.js +31 -0
- package/dist/components/ui/dot-matrix/dotm-square-16.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-square-16.js +33 -0
- package/dist/components/ui/dot-matrix/dotm-square-17.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-square-17.js +27 -0
- package/dist/components/ui/dot-matrix/dotm-square-18.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-square-18.js +29 -0
- package/dist/components/ui/dot-matrix/dotm-square-19.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-square-19.js +74 -0
- package/dist/components/ui/dot-matrix/dotm-square-2.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-square-2.js +72 -0
- package/dist/components/ui/dot-matrix/dotm-square-20.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-square-20.js +79 -0
- package/dist/components/ui/dot-matrix/dotm-square-3.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-square-3.js +23 -0
- package/dist/components/ui/dot-matrix/dotm-square-4.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-square-4.js +41 -0
- package/dist/components/ui/dot-matrix/dotm-square-5.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-square-5.js +23 -0
- package/dist/components/ui/dot-matrix/dotm-square-6.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-square-6.js +20 -0
- package/dist/components/ui/dot-matrix/dotm-square-7.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-square-7.js +43 -0
- package/dist/components/ui/dot-matrix/dotm-square-8.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-square-8.js +57 -0
- package/dist/components/ui/dot-matrix/dotm-square-9.d.ts +4 -0
- package/dist/components/ui/dot-matrix/dotm-square-9.js +89 -0
- package/dist/components/ui/dot-matrix/session-dot-matrix.d.ts +46 -0
- package/dist/components/ui/dot-matrix/session-dot-matrix.js +153 -0
- package/dist/components/ui/drawer.d.ts +15 -0
- package/dist/components/ui/drawer.js +35 -0
- package/dist/components/ui/dropdown-menu.d.ts +49 -0
- package/dist/components/ui/dropdown-menu.js +113 -0
- package/dist/components/ui/emoji-picker.d.ts +15 -0
- package/dist/components/ui/emoji-picker.js +137 -0
- package/dist/components/ui/emoji-tint.d.ts +41 -0
- package/dist/components/ui/emoji-tint.js +131 -0
- package/dist/components/ui/empty.d.ts +11 -0
- package/dist/components/ui/empty.js +33 -0
- package/dist/components/ui/entity-avatar.d.ts +84 -0
- package/dist/components/ui/entity-avatar.js +106 -0
- package/dist/components/ui/faded-scroll-area.d.ts +8 -0
- package/dist/components/ui/faded-scroll-area.js +80 -0
- package/dist/components/ui/favicon-avatar.d.ts +32 -0
- package/dist/components/ui/favicon-avatar.js +18 -0
- package/dist/components/ui/field.d.ts +15 -0
- package/dist/components/ui/field.js +48 -0
- package/dist/components/ui/file-tree.d.ts +32 -0
- package/dist/components/ui/file-tree.js +30 -0
- package/dist/components/ui/glyph-face.d.ts +18 -0
- package/dist/components/ui/glyph-face.js +37 -0
- package/dist/components/ui/glyph-paths-source.d.ts +2 -0
- package/dist/components/ui/glyph-paths-source.js +40 -0
- package/dist/components/ui/glyph-paths.generated.d.ts +2 -0
- package/dist/components/ui/glyph-paths.generated.js +207 -0
- package/dist/components/ui/glyph-picker.d.ts +22 -0
- package/dist/components/ui/glyph-picker.js +118 -0
- package/dist/components/ui/glyph-registry.d.ts +36 -0
- package/dist/components/ui/glyph-registry.js +479 -0
- package/dist/components/ui/glyph-tint.d.ts +6 -0
- package/dist/components/ui/glyph-tint.js +93 -0
- package/dist/components/ui/hint.d.ts +14 -0
- package/dist/components/ui/hint.js +12 -0
- package/dist/components/ui/histogram-bars.d.ts +38 -0
- package/dist/components/ui/histogram-bars.js +93 -0
- package/dist/components/ui/hover-card.d.ts +28 -0
- package/dist/components/ui/hover-card.js +35 -0
- package/dist/components/ui/icon-provider.d.ts +23 -0
- package/dist/components/ui/icon-provider.js +30 -0
- package/dist/components/ui/info-banner.d.ts +14 -0
- package/dist/components/ui/info-banner.js +72 -0
- package/dist/components/ui/inline-meta.d.ts +6 -0
- package/dist/components/ui/inline-meta.js +8 -0
- package/dist/components/ui/input-group.d.ts +19 -0
- package/dist/components/ui/input-group.js +73 -0
- package/dist/components/ui/input.d.ts +26 -0
- package/dist/components/ui/input.js +23 -0
- package/dist/components/ui/item.d.ts +23 -0
- package/dist/components/ui/item.js +67 -0
- package/dist/components/ui/kbd.d.ts +3 -0
- package/dist/components/ui/kbd.js +20 -0
- package/dist/components/ui/kortix-asterisk.d.ts +6 -0
- package/dist/components/ui/kortix-asterisk.js +17 -0
- package/dist/components/ui/kortix-icons.d.ts +2 -0
- package/dist/components/ui/kortix-icons.js +17 -0
- package/dist/components/ui/kortix-loader.d.ts +76 -0
- package/dist/components/ui/kortix-loader.js +74 -0
- package/dist/components/ui/kortix-logo.d.ts +30 -0
- package/dist/components/ui/kortix-logo.js +47 -0
- package/dist/components/ui/label.d.ts +4 -0
- package/dist/components/ui/label.js +9 -0
- package/dist/components/ui/list.d.ts +15 -0
- package/dist/components/ui/list.js +25 -0
- package/dist/components/ui/loading.d.ts +19 -0
- package/dist/components/ui/loading.js +31 -0
- package/dist/components/ui/local-time.d.ts +34 -0
- package/dist/components/ui/local-time.js +60 -0
- package/dist/components/ui/map.d.ts +101 -0
- package/dist/components/ui/map.js +257 -0
- package/dist/components/ui/marker.d.ts +14 -0
- package/dist/components/ui/marker.js +28 -0
- package/dist/components/ui/menu-recipe.d.ts +102 -0
- package/dist/components/ui/menu-recipe.js +129 -0
- package/dist/components/ui/mermaid-render.d.ts +51 -0
- package/dist/components/ui/mermaid-render.js +65 -0
- package/dist/components/ui/mermaid-renderer.d.ts +13 -0
- package/dist/components/ui/mermaid-renderer.js +340 -0
- package/dist/components/ui/message.d.ts +15 -0
- package/dist/components/ui/message.js +26 -0
- package/dist/components/ui/modal.d.ts +104 -0
- package/dist/components/ui/modal.js +180 -0
- package/dist/components/ui/navigation-menu.d.ts +16 -0
- package/dist/components/ui/navigation-menu.js +35 -0
- package/dist/components/ui/page-search-bar.d.ts +11 -0
- package/dist/components/ui/page-search-bar.js +13 -0
- package/dist/components/ui/phone-input.d.ts +7 -0
- package/dist/components/ui/phone-input.js +59 -0
- package/dist/components/ui/pixel-kortix-mark.d.ts +13 -0
- package/dist/components/ui/pixel-kortix-mark.js +40 -0
- package/dist/components/ui/popover.d.ts +10 -0
- package/dist/components/ui/popover.js +38 -0
- package/dist/components/ui/portal.d.ts +5 -0
- package/dist/components/ui/portal.js +15 -0
- package/dist/components/ui/preview-image.d.ts +14 -0
- package/dist/components/ui/preview-image.js +58 -0
- package/dist/components/ui/progress-ring.d.ts +6 -0
- package/dist/components/ui/progress-ring.js +9 -0
- package/dist/components/ui/progress.d.ts +6 -0
- package/dist/components/ui/progress.js +8 -0
- package/dist/components/ui/radio-group.d.ts +12 -0
- package/dist/components/ui/radio-group.js +20 -0
- package/dist/components/ui/resizable.d.ts +24 -0
- package/dist/components/ui/resizable.js +16 -0
- package/dist/components/ui/scroll-area.d.ts +5 -0
- package/dist/components/ui/scroll-area.js +11 -0
- package/dist/components/ui/section-card.d.ts +37 -0
- package/dist/components/ui/section-card.js +14 -0
- package/dist/components/ui/section.d.ts +10 -0
- package/dist/components/ui/section.js +22 -0
- package/dist/components/ui/select.d.ts +25 -0
- package/dist/components/ui/select.js +59 -0
- package/dist/components/ui/separator.d.ts +4 -0
- package/dist/components/ui/separator.js +8 -0
- package/dist/components/ui/shader-safe.d.ts +48 -0
- package/dist/components/ui/shader-safe.js +74 -0
- package/dist/components/ui/sheet.d.ts +32 -0
- package/dist/components/ui/sheet.js +55 -0
- package/dist/components/ui/sidebar-context.d.ts +72 -0
- package/dist/components/ui/sidebar-context.js +36 -0
- package/dist/components/ui/sidebar-menu-primitives.d.ts +38 -0
- package/dist/components/ui/sidebar-menu-primitives.js +97 -0
- package/dist/components/ui/sidebar-panel.d.ts +36 -0
- package/dist/components/ui/sidebar-panel.js +265 -0
- package/dist/components/ui/sidebar-peek.d.ts +27 -0
- package/dist/components/ui/sidebar-peek.js +70 -0
- package/dist/components/ui/sidebar-width.d.ts +48 -0
- package/dist/components/ui/sidebar-width.js +62 -0
- package/dist/components/ui/sidebar.d.ts +18 -0
- package/dist/components/ui/sidebar.js +194 -0
- package/dist/components/ui/skeleton.d.ts +3 -0
- package/dist/components/ui/skeleton.js +6 -0
- package/dist/components/ui/slider-native.d.ts +7 -0
- package/dist/components/ui/slider-native.js +16 -0
- package/dist/components/ui/slider.d.ts +14 -0
- package/dist/components/ui/slider.js +48 -0
- package/dist/components/ui/sliding-tab-indicator.d.ts +61 -0
- package/dist/components/ui/sliding-tab-indicator.js +128 -0
- package/dist/components/ui/split-sheet.d.ts +61 -0
- package/dist/components/ui/split-sheet.js +239 -0
- package/dist/components/ui/spotlight-card.d.ts +8 -0
- package/dist/components/ui/spotlight-card.js +43 -0
- package/dist/components/ui/status-ring.d.ts +38 -0
- package/dist/components/ui/status-ring.js +38 -0
- package/dist/components/ui/status.d.ts +58 -0
- package/dist/components/ui/status.js +76 -0
- package/dist/components/ui/stepper.d.ts +28 -0
- package/dist/components/ui/stepper.js +73 -0
- package/dist/components/ui/switch.d.ts +8 -0
- package/dist/components/ui/switch.js +131 -0
- package/dist/components/ui/system-message.d.ts +23 -0
- package/dist/components/ui/system-message.js +51 -0
- package/dist/components/ui/table.d.ts +10 -0
- package/dist/components/ui/table.js +28 -0
- package/dist/components/ui/tabs.d.ts +73 -0
- package/dist/components/ui/tabs.js +207 -0
- package/dist/components/ui/tag.d.ts +7 -0
- package/dist/components/ui/tag.js +22 -0
- package/dist/components/ui/text-shimmer.d.ts +13 -0
- package/dist/components/ui/text-shimmer.js +91 -0
- package/dist/components/ui/textarea.d.ts +33 -0
- package/dist/components/ui/textarea.js +87 -0
- package/dist/components/ui/toast.d.ts +105 -0
- package/dist/components/ui/toast.js +233 -0
- package/dist/components/ui/toggle.d.ts +12 -0
- package/dist/components/ui/toggle.js +26 -0
- package/dist/components/ui/tooltip.d.ts +9 -0
- package/dist/components/ui/tooltip.js +16 -0
- package/dist/components/ui/trigger-variants.d.ts +14 -0
- package/dist/components/ui/trigger-variants.js +67 -0
- package/dist/components/ui/type-to-confirm-dialog.d.ts +88 -0
- package/dist/components/ui/type-to-confirm-dialog.js +101 -0
- package/dist/components/ui/typed-title-logic.d.ts +22 -0
- package/dist/components/ui/typed-title-logic.js +33 -0
- package/dist/components/ui/typed-title.d.ts +38 -0
- package/dist/components/ui/typed-title.js +66 -0
- package/dist/components/ui/typing-animation.d.ts +36 -0
- package/dist/components/ui/typing-animation.js +141 -0
- package/dist/components/ui/user-avatar.d.ts +47 -0
- package/dist/components/ui/user-avatar.js +46 -0
- package/dist/hooks/use-debounce.d.ts +4 -0
- package/dist/hooks/use-debounce.js +17 -0
- package/dist/hooks/use-is-dark.d.ts +2 -0
- package/dist/hooks/use-is-dark.js +27 -0
- package/dist/hooks/use-mobile.d.ts +2 -0
- package/dist/hooks/use-mobile.js +15 -0
- package/dist/hooks/use-proximity-hover.d.ts +52 -0
- package/dist/hooks/use-proximity-hover.js +232 -0
- package/dist/icons/close.d.ts +2 -0
- package/dist/icons/close.js +7 -0
- package/dist/icons/copy.d.ts +3 -0
- package/dist/icons/copy.js +6 -0
- package/dist/icons/sidebar-toggle.d.ts +13 -0
- package/dist/icons/sidebar-toggle.js +13 -0
- package/dist/index.d.ts +24 -0
- package/dist/index.js +33 -0
- package/dist/lib/dotmatrix-core.d.ts +113 -0
- package/dist/lib/dotmatrix-core.js +920 -0
- package/dist/lib/dotmatrix-hooks.d.ts +28 -0
- package/dist/lib/dotmatrix-hooks.js +151 -0
- package/dist/lib/favicon.d.ts +4 -0
- package/dist/lib/favicon.js +21 -0
- package/dist/lib/font-weight.d.ts +6 -0
- package/dist/lib/font-weight.js +6 -0
- package/dist/lib/icon-config.d.ts +33 -0
- package/dist/lib/icon-config.js +22 -0
- package/dist/lib/icon-context.d.ts +34 -0
- package/dist/lib/icon-context.js +81 -0
- package/dist/lib/portal-root.d.ts +8 -0
- package/dist/lib/portal-root.js +26 -0
- package/dist/lib/settle.d.ts +16 -0
- package/dist/lib/settle.js +29 -0
- package/dist/lib/springs.d.ts +31 -0
- package/dist/lib/springs.js +29 -0
- package/dist/lib/utils.d.ts +2 -0
- package/dist/lib/utils.js +5 -0
- package/dist/lib/z-stack.d.ts +55 -0
- package/dist/lib/z-stack.js +130 -0
- package/dist/providers/ui-provider.d.ts +141 -0
- package/dist/providers/ui-provider.js +93 -0
- package/dist/styles/dotmatrix-loader.css +1239 -0
- package/dist/styles/fonts.css +46 -0
- package/dist/styles/tailwind.css +10 -0
- package/dist/styles/theme.css +1019 -0
- package/dist/styles/tokens.css +146 -0
- package/dist/styles.css +2 -0
- package/package.json +874 -4
- package/skills/kortix-ui/SKILL.md +150 -0
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { CheckIcon, MagnifyingGlassIcon } from '@phosphor-icons/react';
|
|
4
|
+
import { useState } from 'react';
|
|
5
|
+
import { GLYPH_SEARCH, glyphComponent } from './glyph-registry.js';
|
|
6
|
+
import { glyphForeground, glyphTint, glyphTintHover } from './glyph-tint.js';
|
|
7
|
+
import { InputGroupSearch, InputGroupSearchClear, InputGroupSearchIcon, InputGroupSearchInput, } from './input-group.js';
|
|
8
|
+
import { cn } from '../../lib/utils.js';
|
|
9
|
+
import { PROJECT_GLYPH_COLORS, PROJECT_GLYPH_NAMES } from '../../_vendor/kortix-shared.js';
|
|
10
|
+
/**
|
|
11
|
+
* Glyph grid for picking a project icon. Same geometry contract as
|
|
12
|
+
* `emoji-picker.tsx` on purpose: `h-[368px]`, 9 columns of `size-8` cells in
|
|
13
|
+
* rows padded `px-1.5`. `project-icon-field.tsx` sizes the popover to that
|
|
14
|
+
* exact width (9 * 8 + 2 * 1.5 spacing units); a different column count or a
|
|
15
|
+
* different fixed height changes the popover's geometry the moment the Icon
|
|
16
|
+
* tab is selected, so both numbers are copied here, not re-derived.
|
|
17
|
+
*
|
|
18
|
+
* glyph-picker.test.tsx checks those same four literals — `size-8`, `px-1.5`,
|
|
19
|
+
* `grid-cols-9`, `h-[368px]` — but never against THIS raw, commented file: the
|
|
20
|
+
* three grid classes are asserted against `renderToStaticMarkup` output (real
|
|
21
|
+
* shipped DOM, no comments exist there at all), and the height comparison
|
|
22
|
+
* strips every block and line comment out of both this file and
|
|
23
|
+
* emoji-picker.tsx before matching. A doc comment repeating these class
|
|
24
|
+
* names — like this one — is deliberately safe to write and cannot make
|
|
25
|
+
* either test pass or fail.
|
|
26
|
+
*
|
|
27
|
+
* All 202 catalogue glyphs render in ONE `grid-cols-9`, in
|
|
28
|
+
* `PROJECT_GLYPH_NAMES`'s declaration order — no category headers. This
|
|
29
|
+
* shipped with an 8-category sub-grid (sticky header per category) first;
|
|
30
|
+
* review feedback was that the categories added scannable structure but no
|
|
31
|
+
* function — nothing filters, sorts, or navigates by category — so they were
|
|
32
|
+
* cut. `PROJECT_GLYPH_GROUPS` (in `@kortix/shared`) still owns the grouping
|
|
33
|
+
* and the ordering; `PROJECT_GLYPH_NAMES` is that same catalogue flattened in
|
|
34
|
+
* declaration order, so related glyphs stay adjacent even with the headers
|
|
35
|
+
* gone. Flattening it a second time here, instead of importing the flat
|
|
36
|
+
* export, would risk a reordering that drifts from the shared source.
|
|
37
|
+
*
|
|
38
|
+
* The grid IS the colour preview: every cell paints in `color`, not just the
|
|
39
|
+
* one the user last picked. Clicking a swatch re-tints the whole grid and
|
|
40
|
+
* leaves the popover open — colour is a modifier you can change your mind
|
|
41
|
+
* about. Clicking a glyph commits `{ name, color }` and closes it — the glyph
|
|
42
|
+
* is the choice. That asymmetry is deliberate, not an oversight.
|
|
43
|
+
*
|
|
44
|
+
* Unlike an emoji cell (tinted only while `data-active`, via frimousse's
|
|
45
|
+
* pointer/keyboard tracking), a glyph cell carries its colour in TWO layers:
|
|
46
|
+
* the icon itself is tinted at rest (`glyphForeground`, so the preview reads
|
|
47
|
+
* before you ever touch the grid), and the fill + 1px inset ring appear only
|
|
48
|
+
* on hover (`glyphTintHover` + a local ring map below) — the same tile
|
|
49
|
+
* treatment an emoji cell shows on `data-active`, so hovering either tab reads
|
|
50
|
+
* as the same surface.
|
|
51
|
+
*/
|
|
52
|
+
/**
|
|
53
|
+
* Hover-only ring colour, one literal class per palette colour.
|
|
54
|
+
*
|
|
55
|
+
* `glyph-tint.ts` exports the REST tile (`glyphTint`: fill + ring, always on —
|
|
56
|
+
* built for a host like the project-icon trigger button that stays tinted
|
|
57
|
+
* once an icon is picked) and the hover FILL restated on its own
|
|
58
|
+
* (`glyphTintHover`, for fighting a host variant's `hover:bg-*`). Neither is a
|
|
59
|
+
* hover-scoped RING. A glyph cell here has no rest-state tile at all — only
|
|
60
|
+
* the tinted icon — so the ring has to be introduced fresh, hover-scoped, and
|
|
61
|
+
* it has to stay a literal string per colour: Tailwind v4 extracts class names
|
|
62
|
+
* by scanning source TEXT, so gluing a `hover:` prefix onto a helper's return
|
|
63
|
+
* value at runtime would compile to nothing.
|
|
64
|
+
*/
|
|
65
|
+
const GLYPH_HOVER_RING = {
|
|
66
|
+
grey: 'hover:inset-ring-glyph-ring-grey',
|
|
67
|
+
red: 'hover:inset-ring-glyph-ring-red',
|
|
68
|
+
orange: 'hover:inset-ring-glyph-ring-orange',
|
|
69
|
+
yellow: 'hover:inset-ring-glyph-ring-yellow',
|
|
70
|
+
lime: 'hover:inset-ring-glyph-ring-lime',
|
|
71
|
+
blue: 'hover:inset-ring-glyph-ring-blue',
|
|
72
|
+
purple: 'hover:inset-ring-glyph-ring-purple',
|
|
73
|
+
magenta: 'hover:inset-ring-glyph-ring-magenta',
|
|
74
|
+
};
|
|
75
|
+
/** `color` is typed `string` at the component boundary (it round-trips through
|
|
76
|
+
* plain project state, same as `glyph-tint.ts`'s own props) but the hover-ring
|
|
77
|
+
* map above is keyed by the narrow palette type, so an unrecognised value —
|
|
78
|
+
* stale cached data, a hand-edited row — falls back to grey rather than
|
|
79
|
+
* indexing to `undefined` and silently dropping the hover ring. */
|
|
80
|
+
function resolveGlyphColor(color) {
|
|
81
|
+
return PROJECT_GLYPH_COLORS.includes(color)
|
|
82
|
+
? color
|
|
83
|
+
: 'grey';
|
|
84
|
+
}
|
|
85
|
+
/** Ring geometry declared once — only the colour is per-instance below, same
|
|
86
|
+
* reasoning as EMOJI_BUTTON's single `data-[active]:inset-ring-1`. */
|
|
87
|
+
const GLYPH_BUTTON = cn('flex size-8 items-center justify-center rounded-md', 'cursor-pointer select-none', 'transition-[background-color,box-shadow,scale] duration-100 active:scale-[0.96]', 'hover:inset-ring-1');
|
|
88
|
+
/**
|
|
89
|
+
* A glyph's keyword list always includes its own lowercased name
|
|
90
|
+
* (glyph-registry.test.tsx pins this), so an empty query matches everything.
|
|
91
|
+
*
|
|
92
|
+
* `startsWith`, NOT `includes`. A substring test matches the middle of a word,
|
|
93
|
+
* which stayed tolerable at 64 glyphs and stopped being so at 202: "cat"
|
|
94
|
+
* matched `dupli(cat)e` and `notifi(cat)ion`, so searching for the cat returned
|
|
95
|
+
* Copy and Bell above it. Every keyword here is a whole word a person would
|
|
96
|
+
* actually type, so anchoring to the start costs nothing real and removes a
|
|
97
|
+
* class of result that reads as the search being broken.
|
|
98
|
+
*/
|
|
99
|
+
export function matchesSearch(name, query) {
|
|
100
|
+
if (!query)
|
|
101
|
+
return true;
|
|
102
|
+
return GLYPH_SEARCH[name]?.some((keyword) => keyword.startsWith(query)) ?? false;
|
|
103
|
+
}
|
|
104
|
+
export function GlyphPicker({ color, onColorChange, onGlyphSelect, className, }) {
|
|
105
|
+
const [search, setSearch] = useState('');
|
|
106
|
+
const query = search.trim().toLowerCase();
|
|
107
|
+
const resolvedColor = resolveGlyphColor(color);
|
|
108
|
+
// Filtered even when `query` is empty — `matchesSearch` short-circuits to
|
|
109
|
+
// `true` there, so this is the one code path for both states rather than a
|
|
110
|
+
// branch that has to be proven to agree with its sibling.
|
|
111
|
+
const names = PROJECT_GLYPH_NAMES.filter((name) => matchesSearch(name, query));
|
|
112
|
+
return (_jsxs("div", { className: cn('isolate flex h-[368px] w-full flex-col', className), children: [_jsxs("div", { className: "space-y-2 p-1", children: [_jsxs(InputGroupSearch, { children: [_jsx(InputGroupSearchIcon, { children: _jsx(MagnifyingGlassIcon, {}) }), _jsx(InputGroupSearchInput, { "aria-label": "Search icons", placeholder: "Search icons", variant: "popover", size: "sm", value: search, onChange: (event) => setSearch(event.target.value) }), _jsx(InputGroupSearchClear, { onClick: () => setSearch('') })] }), _jsx("div", { className: "flex items-center justify-between gap-1.5", children: PROJECT_GLYPH_COLORS.map((paletteColor) => (_jsx("button", { type: "button", "data-swatch": paletteColor, "aria-pressed": paletteColor === resolvedColor, "aria-label": `Colour: ${paletteColor}`, onClick: () => onColorChange(paletteColor), className: cn('flex size-7 shrink-0 items-center justify-center rounded-full', 'cursor-pointer transition-[scale] duration-100 active:scale-[0.96]', glyphTint(paletteColor)), children: paletteColor === resolvedColor ? (_jsx(CheckIcon, { className: cn('size-3.5', glyphForeground(paletteColor)) })) : null }, paletteColor))) })] }), _jsx("div", { className: "relative flex-1 overflow-y-auto", children: names.length > 0 ? (_jsx("div", { className: "grid grid-cols-9 px-1.5 pb-1.5 select-none", children: names.map((name) => {
|
|
113
|
+
const Glyph = glyphComponent(name);
|
|
114
|
+
if (!Glyph)
|
|
115
|
+
return null;
|
|
116
|
+
return (_jsx("button", { type: "button", "data-glyph": name, "aria-label": name, onClick: () => onGlyphSelect({ name, color: resolvedColor }), className: cn(GLYPH_BUTTON, glyphForeground(color), glyphTintHover(color), GLYPH_HOVER_RING[resolvedColor]), children: _jsx(Glyph, { className: "size-4" }) }, name));
|
|
117
|
+
}) })) : (_jsxs("p", { className: "text-muted-foreground absolute inset-0 flex items-center justify-center px-6 text-center text-sm text-balance", children: ["No icons for \u201C", search, "\u201D"] })) })] }));
|
|
118
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* name -> Phosphor component, for the 202 glyphs in the shared catalogue.
|
|
3
|
+
*
|
|
4
|
+
* The imports are EXPLICIT and one per glyph. `import * as Phosphor` would
|
|
5
|
+
* resolve names dynamically and defeat tree-shaking, pulling all 1512 icons
|
|
6
|
+
* (~5.3 MB of path data) into the bundle instead of the 202 we use (~704 KB
|
|
7
|
+
* raw, well under budget gzipped).
|
|
8
|
+
*
|
|
9
|
+
* The catalogue in @kortix/shared is the source of truth for WHICH names exist;
|
|
10
|
+
* this file is the source of truth for what each one DRAWS. glyph-registry.test
|
|
11
|
+
* asserts the two agree in both directions, so a name added to one and not the
|
|
12
|
+
* other fails CI rather than shipping a blank tile.
|
|
13
|
+
*/
|
|
14
|
+
import { type Icon } from '@phosphor-icons/react';
|
|
15
|
+
export declare const GLYPH_COMPONENTS: Record<string, Icon>;
|
|
16
|
+
/**
|
|
17
|
+
* `Object.hasOwn`, not a bare index. `GLYPH_COMPONENTS` is an object literal, so
|
|
18
|
+
* it inherits Object.prototype: a bare `GLYPH_COMPONENTS['toString']` returns a
|
|
19
|
+
* function — truthy, not a component — and React throws when it tries to render
|
|
20
|
+
* it. Same for `constructor` and `valueOf`.
|
|
21
|
+
*
|
|
22
|
+
* Not reachable through the API today: `normalizeProjectGlyph` allowlists the
|
|
23
|
+
* name against the catalogue on every write AND on the read path, and rejects
|
|
24
|
+
* all of those keys (verified). This guard exists so the helper is safe on its
|
|
25
|
+
* own terms rather than only because two other layers happen to hold — a future
|
|
26
|
+
* caller passing a name from a URL, localStorage, or a cached payload would
|
|
27
|
+
* otherwise turn a typo into a render crash.
|
|
28
|
+
*/
|
|
29
|
+
export declare function glyphComponent(name: string): Icon | null;
|
|
30
|
+
/**
|
|
31
|
+
* Search terms per glyph. Always includes the name lowercased, plus the words a
|
|
32
|
+
* user would actually type — 'bin' and 'delete' for Trash, 'buy' and 'basket'
|
|
33
|
+
* for ShoppingCart. Without these, search matches only the Phosphor identifier,
|
|
34
|
+
* which is not a word most people would guess.
|
|
35
|
+
*/
|
|
36
|
+
export declare const GLYPH_SEARCH: Record<string, string[]>;
|
|
@@ -0,0 +1,479 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
/**
|
|
3
|
+
* name -> Phosphor component, for the 202 glyphs in the shared catalogue.
|
|
4
|
+
*
|
|
5
|
+
* The imports are EXPLICIT and one per glyph. `import * as Phosphor` would
|
|
6
|
+
* resolve names dynamically and defeat tree-shaking, pulling all 1512 icons
|
|
7
|
+
* (~5.3 MB of path data) into the bundle instead of the 202 we use (~704 KB
|
|
8
|
+
* raw, well under budget gzipped).
|
|
9
|
+
*
|
|
10
|
+
* The catalogue in @kortix/shared is the source of truth for WHICH names exist;
|
|
11
|
+
* this file is the source of truth for what each one DRAWS. glyph-registry.test
|
|
12
|
+
* asserts the two agree in both directions, so a name added to one and not the
|
|
13
|
+
* other fails CI rather than shipping a blank tile.
|
|
14
|
+
*/
|
|
15
|
+
import { AirplaneIcon, AlienIcon, ArchiveIcon, ArrowDownIcon, ArrowLeftIcon, ArrowRightIcon, ArrowSquareOutIcon, ArrowUUpLeftIcon, ArrowUpIcon, ArrowsClockwiseIcon, ArrowsInIcon, ArrowsLeftRightIcon, ArrowsOutIcon, AsteriskIcon, AtIcon, BabyIcon, BandaidsIcon, BankIcon, BarbellIcon, BaseballIcon, BasketballIcon, BeerSteinIcon, BellIcon, BicycleIcon, BirdIcon, BoatIcon, BoneIcon, BookIcon, BookmarkIcon, BreadIcon, BriefcaseIcon, BugIcon, BusIcon, ButterflyIcon, CactusIcon, CakeIcon, CarIcon, CarrotIcon, CatIcon, ChartBarIcon, ChartLineIcon, ChartPieIcon, CheckIcon, CircleIcon, ClipboardIcon, CloudIcon, CloudLightningIcon, CloudRainIcon, CloudSnowIcon, ClubIcon, CodeIcon, CoffeeIcon, CoinsIcon, CookieIcon, CopyIcon, CowIcon, CpuIcon, CreditCardIcon, CrownIcon, CubeIcon, CurrencyDollarIcon, DatabaseIcon, DeviceMobileIcon, DiamondIcon, DiscIcon, DogIcon, DropIcon, EggIcon, EqualizerIcon, EraserIcon, EyeIcon, FeatherIcon, FileIcon, FileTextIcon, FilesIcon, FireIcon, FirstAidIcon, FishIcon, FlagIcon, FlowerIcon, FolderIcon, FolderOpenIcon, FolderPlusIcon, FootballIcon, GhostIcon, GiftIcon, GitBranchIcon, GolfIcon, GuitarIcon, HamburgerIcon, HammerIcon, HandIcon, HandshakeIcon, HashIcon, HeadphonesIcon, HeartIcon, HeartbeatIcon, HexagonIcon, HorseIcon, IceCreamIcon, InfoIcon, JeepIcon, KeyIcon, KeyboardIcon, LeafIcon, LightbulbIcon, LightningIcon, LinkSimpleIcon, LockIcon, MartiniIcon, MedalIcon, MetronomeIcon, MicrophoneIcon, MinusIcon, MonitorIcon, MoonIcon, MotorcycleIcon, MountainsIcon, MusicNoteIcon, MusicNotesIcon, NewspaperIcon, NoteIcon, NotebookIcon, NumberCircleEightIcon, NumberCircleFiveIcon, NumberCircleFourIcon, NumberCircleNineIcon, NumberCircleOneIcon, NumberCircleSevenIcon, NumberCircleSixIcon, NumberCircleThreeIcon, NumberCircleTwoIcon, NumberCircleZeroIcon, PackageIcon, PaperclipIcon, PawPrintIcon, PencilIcon, PercentIcon, PersonSimpleRunIcon, PersonSimpleSwimIcon, PiggyBankIcon, PillIcon, PingPongIcon, PizzaIcon, PlanetIcon, PlaylistIcon, PlusIcon, PolygonIcon, QuestionIcon, RabbitIcon, RacquetIcon, RadioIcon, RainbowIcon, ReceiptIcon, RobotIcon, RocketIcon, ScissorsIcon, ScooterIcon, ShareNetworkIcon, ShoppingCartIcon, ShrimpIcon, SmileyIcon, SmileyMehIcon, SmileySadIcon, SnowflakeIcon, SoccerBallIcon, SpadeIcon, SparkleIcon, SpeakerHighIcon, SquareIcon, StarIcon, StethoscopeIcon, SunIcon, SunglassesIcon, SyringeIcon, TagIcon, TargetIcon, TaxiIcon, TennisBallIcon, TerminalIcon, ThermometerIcon, ThumbsUpIcon, TrainIcon, TrashIcon, TreeIcon, TrendDownIcon, TrendUpIcon, TriangleIcon, TrophyIcon, TruckIcon, UmbrellaIcon, UserIcon, UsersIcon, VanIcon, VolleyballIcon, WalletIcon, WarningIcon, WaveformIcon, WindIcon, WineIcon, WrenchIcon, XIcon, } from '@phosphor-icons/react';
|
|
16
|
+
export const GLYPH_COMPONENTS = {
|
|
17
|
+
// Objects
|
|
18
|
+
Trash: TrashIcon,
|
|
19
|
+
ShoppingCart: ShoppingCartIcon,
|
|
20
|
+
Package: PackageIcon,
|
|
21
|
+
Briefcase: BriefcaseIcon,
|
|
22
|
+
Gift: GiftIcon,
|
|
23
|
+
Lightbulb: LightbulbIcon,
|
|
24
|
+
Wrench: WrenchIcon,
|
|
25
|
+
Hammer: HammerIcon,
|
|
26
|
+
Key: KeyIcon,
|
|
27
|
+
Lock: LockIcon,
|
|
28
|
+
Umbrella: UmbrellaIcon,
|
|
29
|
+
Trophy: TrophyIcon,
|
|
30
|
+
// Shapes
|
|
31
|
+
Circle: CircleIcon,
|
|
32
|
+
Square: SquareIcon,
|
|
33
|
+
Triangle: TriangleIcon,
|
|
34
|
+
Diamond: DiamondIcon,
|
|
35
|
+
Hexagon: HexagonIcon,
|
|
36
|
+
Star: StarIcon,
|
|
37
|
+
Heart: HeartIcon,
|
|
38
|
+
Lightning: LightningIcon,
|
|
39
|
+
Spade: SpadeIcon,
|
|
40
|
+
Club: ClubIcon,
|
|
41
|
+
Cube: CubeIcon,
|
|
42
|
+
Polygon: PolygonIcon,
|
|
43
|
+
// Files
|
|
44
|
+
File: FileIcon,
|
|
45
|
+
FileText: FileTextIcon,
|
|
46
|
+
Folder: FolderIcon,
|
|
47
|
+
FolderOpen: FolderOpenIcon,
|
|
48
|
+
Note: NoteIcon,
|
|
49
|
+
Book: BookIcon,
|
|
50
|
+
Newspaper: NewspaperIcon,
|
|
51
|
+
Paperclip: PaperclipIcon,
|
|
52
|
+
Archive: ArchiveIcon,
|
|
53
|
+
Notebook: NotebookIcon,
|
|
54
|
+
Files: FilesIcon,
|
|
55
|
+
FolderPlus: FolderPlusIcon,
|
|
56
|
+
// Actions
|
|
57
|
+
Plus: PlusIcon,
|
|
58
|
+
Minus: MinusIcon,
|
|
59
|
+
Copy: CopyIcon,
|
|
60
|
+
Check: CheckIcon,
|
|
61
|
+
X: XIcon,
|
|
62
|
+
Pencil: PencilIcon,
|
|
63
|
+
Bookmark: BookmarkIcon,
|
|
64
|
+
Eraser: EraserIcon,
|
|
65
|
+
Scissors: ScissorsIcon,
|
|
66
|
+
LinkSimple: LinkSimpleIcon,
|
|
67
|
+
ShareNetwork: ShareNetworkIcon,
|
|
68
|
+
Clipboard: ClipboardIcon,
|
|
69
|
+
// Arrows
|
|
70
|
+
ArrowUp: ArrowUpIcon,
|
|
71
|
+
ArrowDown: ArrowDownIcon,
|
|
72
|
+
ArrowLeft: ArrowLeftIcon,
|
|
73
|
+
ArrowRight: ArrowRightIcon,
|
|
74
|
+
ArrowsClockwise: ArrowsClockwiseIcon,
|
|
75
|
+
ArrowSquareOut: ArrowSquareOutIcon,
|
|
76
|
+
TrendUp: TrendUpIcon,
|
|
77
|
+
TrendDown: TrendDownIcon,
|
|
78
|
+
ArrowsLeftRight: ArrowsLeftRightIcon,
|
|
79
|
+
ArrowUUpLeft: ArrowUUpLeftIcon,
|
|
80
|
+
ArrowsOut: ArrowsOutIcon,
|
|
81
|
+
ArrowsIn: ArrowsInIcon,
|
|
82
|
+
// Tech
|
|
83
|
+
Code: CodeIcon,
|
|
84
|
+
Terminal: TerminalIcon,
|
|
85
|
+
Database: DatabaseIcon,
|
|
86
|
+
Cloud: CloudIcon,
|
|
87
|
+
Cpu: CpuIcon,
|
|
88
|
+
Bug: BugIcon,
|
|
89
|
+
GitBranch: GitBranchIcon,
|
|
90
|
+
Rocket: RocketIcon,
|
|
91
|
+
Monitor: MonitorIcon,
|
|
92
|
+
DeviceMobile: DeviceMobileIcon,
|
|
93
|
+
Keyboard: KeyboardIcon,
|
|
94
|
+
Robot: RobotIcon,
|
|
95
|
+
// Nature
|
|
96
|
+
Leaf: LeafIcon,
|
|
97
|
+
Tree: TreeIcon,
|
|
98
|
+
Sun: SunIcon,
|
|
99
|
+
Moon: MoonIcon,
|
|
100
|
+
Drop: DropIcon,
|
|
101
|
+
Fire: FireIcon,
|
|
102
|
+
Mountains: MountainsIcon,
|
|
103
|
+
Planet: PlanetIcon,
|
|
104
|
+
Flower: FlowerIcon,
|
|
105
|
+
Cactus: CactusIcon,
|
|
106
|
+
Snowflake: SnowflakeIcon,
|
|
107
|
+
Rainbow: RainbowIcon,
|
|
108
|
+
// Symbols
|
|
109
|
+
Hash: HashIcon,
|
|
110
|
+
At: AtIcon,
|
|
111
|
+
Percent: PercentIcon,
|
|
112
|
+
Asterisk: AsteriskIcon,
|
|
113
|
+
Question: QuestionIcon,
|
|
114
|
+
Warning: WarningIcon,
|
|
115
|
+
Info: InfoIcon,
|
|
116
|
+
Bell: BellIcon,
|
|
117
|
+
Crown: CrownIcon,
|
|
118
|
+
Flag: FlagIcon,
|
|
119
|
+
Medal: MedalIcon,
|
|
120
|
+
Sparkle: SparkleIcon,
|
|
121
|
+
// Food
|
|
122
|
+
Carrot: CarrotIcon,
|
|
123
|
+
Pizza: PizzaIcon,
|
|
124
|
+
Hamburger: HamburgerIcon,
|
|
125
|
+
IceCream: IceCreamIcon,
|
|
126
|
+
Coffee: CoffeeIcon,
|
|
127
|
+
BeerStein: BeerSteinIcon,
|
|
128
|
+
Cookie: CookieIcon,
|
|
129
|
+
Cake: CakeIcon,
|
|
130
|
+
Egg: EggIcon,
|
|
131
|
+
Bread: BreadIcon,
|
|
132
|
+
Wine: WineIcon,
|
|
133
|
+
Martini: MartiniIcon,
|
|
134
|
+
// Animals
|
|
135
|
+
Dog: DogIcon,
|
|
136
|
+
Cat: CatIcon,
|
|
137
|
+
Bird: BirdIcon,
|
|
138
|
+
Butterfly: ButterflyIcon,
|
|
139
|
+
Rabbit: RabbitIcon,
|
|
140
|
+
Horse: HorseIcon,
|
|
141
|
+
Cow: CowIcon,
|
|
142
|
+
PawPrint: PawPrintIcon,
|
|
143
|
+
Fish: FishIcon,
|
|
144
|
+
Shrimp: ShrimpIcon,
|
|
145
|
+
Feather: FeatherIcon,
|
|
146
|
+
Bone: BoneIcon,
|
|
147
|
+
// Transport
|
|
148
|
+
Car: CarIcon,
|
|
149
|
+
Bus: BusIcon,
|
|
150
|
+
Truck: TruckIcon,
|
|
151
|
+
Train: TrainIcon,
|
|
152
|
+
Airplane: AirplaneIcon,
|
|
153
|
+
Bicycle: BicycleIcon,
|
|
154
|
+
Motorcycle: MotorcycleIcon,
|
|
155
|
+
Boat: BoatIcon,
|
|
156
|
+
Scooter: ScooterIcon,
|
|
157
|
+
Taxi: TaxiIcon,
|
|
158
|
+
Van: VanIcon,
|
|
159
|
+
Jeep: JeepIcon,
|
|
160
|
+
// People
|
|
161
|
+
User: UserIcon,
|
|
162
|
+
Users: UsersIcon,
|
|
163
|
+
Smiley: SmileyIcon,
|
|
164
|
+
SmileyMeh: SmileyMehIcon,
|
|
165
|
+
SmileySad: SmileySadIcon,
|
|
166
|
+
Ghost: GhostIcon,
|
|
167
|
+
Alien: AlienIcon,
|
|
168
|
+
Baby: BabyIcon,
|
|
169
|
+
PersonSimpleRun: PersonSimpleRunIcon,
|
|
170
|
+
Hand: HandIcon,
|
|
171
|
+
ThumbsUp: ThumbsUpIcon,
|
|
172
|
+
Eye: EyeIcon,
|
|
173
|
+
// Music
|
|
174
|
+
MusicNote: MusicNoteIcon,
|
|
175
|
+
MusicNotes: MusicNotesIcon,
|
|
176
|
+
Guitar: GuitarIcon,
|
|
177
|
+
Microphone: MicrophoneIcon,
|
|
178
|
+
SpeakerHigh: SpeakerHighIcon,
|
|
179
|
+
Radio: RadioIcon,
|
|
180
|
+
Playlist: PlaylistIcon,
|
|
181
|
+
Metronome: MetronomeIcon,
|
|
182
|
+
Waveform: WaveformIcon,
|
|
183
|
+
Disc: DiscIcon,
|
|
184
|
+
Headphones: HeadphonesIcon,
|
|
185
|
+
Equalizer: EqualizerIcon,
|
|
186
|
+
// Sport
|
|
187
|
+
Basketball: BasketballIcon,
|
|
188
|
+
Football: FootballIcon,
|
|
189
|
+
SoccerBall: SoccerBallIcon,
|
|
190
|
+
Baseball: BaseballIcon,
|
|
191
|
+
TennisBall: TennisBallIcon,
|
|
192
|
+
Barbell: BarbellIcon,
|
|
193
|
+
Target: TargetIcon,
|
|
194
|
+
Golf: GolfIcon,
|
|
195
|
+
Volleyball: VolleyballIcon,
|
|
196
|
+
PingPong: PingPongIcon,
|
|
197
|
+
Racquet: RacquetIcon,
|
|
198
|
+
PersonSimpleSwim: PersonSimpleSwimIcon,
|
|
199
|
+
// Money
|
|
200
|
+
CurrencyDollar: CurrencyDollarIcon,
|
|
201
|
+
Wallet: WalletIcon,
|
|
202
|
+
CreditCard: CreditCardIcon,
|
|
203
|
+
PiggyBank: PiggyBankIcon,
|
|
204
|
+
Coins: CoinsIcon,
|
|
205
|
+
Receipt: ReceiptIcon,
|
|
206
|
+
Bank: BankIcon,
|
|
207
|
+
ChartLine: ChartLineIcon,
|
|
208
|
+
Tag: TagIcon,
|
|
209
|
+
ChartBar: ChartBarIcon,
|
|
210
|
+
ChartPie: ChartPieIcon,
|
|
211
|
+
Handshake: HandshakeIcon,
|
|
212
|
+
// Care
|
|
213
|
+
CloudRain: CloudRainIcon,
|
|
214
|
+
CloudSnow: CloudSnowIcon,
|
|
215
|
+
CloudLightning: CloudLightningIcon,
|
|
216
|
+
Wind: WindIcon,
|
|
217
|
+
Thermometer: ThermometerIcon,
|
|
218
|
+
Sunglasses: SunglassesIcon,
|
|
219
|
+
Heartbeat: HeartbeatIcon,
|
|
220
|
+
Pill: PillIcon,
|
|
221
|
+
FirstAid: FirstAidIcon,
|
|
222
|
+
Syringe: SyringeIcon,
|
|
223
|
+
Bandaids: BandaidsIcon,
|
|
224
|
+
Stethoscope: StethoscopeIcon,
|
|
225
|
+
// Numbers
|
|
226
|
+
NumberCircleZero: NumberCircleZeroIcon,
|
|
227
|
+
NumberCircleOne: NumberCircleOneIcon,
|
|
228
|
+
NumberCircleTwo: NumberCircleTwoIcon,
|
|
229
|
+
NumberCircleThree: NumberCircleThreeIcon,
|
|
230
|
+
NumberCircleFour: NumberCircleFourIcon,
|
|
231
|
+
NumberCircleFive: NumberCircleFiveIcon,
|
|
232
|
+
NumberCircleSix: NumberCircleSixIcon,
|
|
233
|
+
NumberCircleSeven: NumberCircleSevenIcon,
|
|
234
|
+
NumberCircleEight: NumberCircleEightIcon,
|
|
235
|
+
NumberCircleNine: NumberCircleNineIcon,
|
|
236
|
+
};
|
|
237
|
+
/**
|
|
238
|
+
* `Object.hasOwn`, not a bare index. `GLYPH_COMPONENTS` is an object literal, so
|
|
239
|
+
* it inherits Object.prototype: a bare `GLYPH_COMPONENTS['toString']` returns a
|
|
240
|
+
* function — truthy, not a component — and React throws when it tries to render
|
|
241
|
+
* it. Same for `constructor` and `valueOf`.
|
|
242
|
+
*
|
|
243
|
+
* Not reachable through the API today: `normalizeProjectGlyph` allowlists the
|
|
244
|
+
* name against the catalogue on every write AND on the read path, and rejects
|
|
245
|
+
* all of those keys (verified). This guard exists so the helper is safe on its
|
|
246
|
+
* own terms rather than only because two other layers happen to hold — a future
|
|
247
|
+
* caller passing a name from a URL, localStorage, or a cached payload would
|
|
248
|
+
* otherwise turn a typo into a render crash.
|
|
249
|
+
*/
|
|
250
|
+
export function glyphComponent(name) {
|
|
251
|
+
return Object.hasOwn(GLYPH_COMPONENTS, name) ? (GLYPH_COMPONENTS[name] ?? null) : null;
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Search terms per glyph. Always includes the name lowercased, plus the words a
|
|
255
|
+
* user would actually type — 'bin' and 'delete' for Trash, 'buy' and 'basket'
|
|
256
|
+
* for ShoppingCart. Without these, search matches only the Phosphor identifier,
|
|
257
|
+
* which is not a word most people would guess.
|
|
258
|
+
*/
|
|
259
|
+
export const GLYPH_SEARCH = {
|
|
260
|
+
// Objects
|
|
261
|
+
Trash: ['trash', 'bin', 'delete', 'remove'],
|
|
262
|
+
ShoppingCart: ['shoppingcart', 'cart', 'buy', 'basket', 'shop', 'store'],
|
|
263
|
+
Package: ['package', 'box', 'parcel', 'ship', 'delivery'],
|
|
264
|
+
Briefcase: ['briefcase', 'work', 'business', 'job', 'case'],
|
|
265
|
+
Gift: ['gift', 'present', 'reward', 'box'],
|
|
266
|
+
Lightbulb: ['lightbulb', 'idea', 'bulb', 'light', 'tip'],
|
|
267
|
+
Wrench: ['wrench', 'tool', 'fix', 'settings', 'repair'],
|
|
268
|
+
Hammer: ['hammer', 'tool', 'build', 'construct'],
|
|
269
|
+
Key: ['key', 'unlock', 'password', 'access', 'security'],
|
|
270
|
+
Lock: ['lock', 'secure', 'security', 'password', 'privacy', 'locked'],
|
|
271
|
+
Umbrella: ['umbrella', 'rain', 'weather', 'protect', 'insurance'],
|
|
272
|
+
Trophy: ['trophy', 'award', 'win', 'winner', 'prize', 'achievement'],
|
|
273
|
+
// Shapes
|
|
274
|
+
Circle: ['circle', 'round', 'dot', 'shape'],
|
|
275
|
+
Square: ['square', 'box', 'shape'],
|
|
276
|
+
Triangle: ['triangle', 'shape'],
|
|
277
|
+
Diamond: ['diamond', 'gem', 'shape', 'rhombus'],
|
|
278
|
+
Hexagon: ['hexagon', 'shape', 'hex'],
|
|
279
|
+
Star: ['star', 'favourite', 'favorite', 'rating'],
|
|
280
|
+
Heart: ['heart', 'love', 'like', 'favourite', 'favorite'],
|
|
281
|
+
Lightning: ['lightning', 'bolt', 'fast', 'power', 'energy', 'zap'],
|
|
282
|
+
Spade: ['spade', 'card', 'cards', 'suit', 'poker'],
|
|
283
|
+
Club: ['club', 'card', 'cards', 'suit', 'poker'],
|
|
284
|
+
Cube: ['cube', '3d', 'box', 'shape', 'block'],
|
|
285
|
+
Polygon: ['polygon', 'shape', 'geometry', 'vector'],
|
|
286
|
+
// Files
|
|
287
|
+
File: ['file', 'document', 'page'],
|
|
288
|
+
FileText: ['filetext', 'document', 'text', 'doc', 'page'],
|
|
289
|
+
Folder: ['folder', 'directory'],
|
|
290
|
+
FolderOpen: ['folderopen', 'directory', 'open'],
|
|
291
|
+
Note: ['note', 'memo', 'sticky'],
|
|
292
|
+
Book: ['book', 'read', 'docs', 'manual', 'library'],
|
|
293
|
+
Newspaper: ['newspaper', 'news', 'article', 'press'],
|
|
294
|
+
Paperclip: ['paperclip', 'attach', 'attachment', 'clip'],
|
|
295
|
+
Archive: ['archive', 'zip', 'storage', 'box', 'compress'],
|
|
296
|
+
Notebook: ['notebook', 'journal', 'write', 'notes'],
|
|
297
|
+
Files: ['files', 'documents', 'multiple', 'stack'],
|
|
298
|
+
FolderPlus: ['folderplus', 'newfolder', 'add', 'create', 'directory'],
|
|
299
|
+
// Actions
|
|
300
|
+
Plus: ['plus', 'add', 'new', 'create'],
|
|
301
|
+
Minus: ['minus', 'remove', 'subtract', 'less'],
|
|
302
|
+
Copy: ['copy', 'duplicate', 'clone'],
|
|
303
|
+
Check: ['check', 'done', 'tick', 'complete', 'ok'],
|
|
304
|
+
X: ['x', 'close', 'cancel', 'cross', 'remove'],
|
|
305
|
+
Pencil: ['pencil', 'edit', 'write', 'draw'],
|
|
306
|
+
Bookmark: ['bookmark', 'save', 'mark', 'flag'],
|
|
307
|
+
Eraser: ['eraser', 'delete', 'remove', 'undo', 'clear'],
|
|
308
|
+
Scissors: ['scissors', 'cut', 'trim', 'snip'],
|
|
309
|
+
LinkSimple: ['linksimple', 'link', 'url', 'chain', 'connect'],
|
|
310
|
+
ShareNetwork: ['sharenetwork', 'share', 'network', 'send', 'distribute'],
|
|
311
|
+
Clipboard: ['clipboard', 'paste', 'copy'],
|
|
312
|
+
// Arrows
|
|
313
|
+
ArrowUp: ['arrowup', 'up', 'north', 'increase'],
|
|
314
|
+
ArrowDown: ['arrowdown', 'down', 'south', 'decrease'],
|
|
315
|
+
ArrowLeft: ['arrowleft', 'left', 'back', 'west'],
|
|
316
|
+
ArrowRight: ['arrowright', 'right', 'forward', 'next', 'east'],
|
|
317
|
+
ArrowsClockwise: ['arrowsclockwise', 'refresh', 'reload', 'sync', 'retry'],
|
|
318
|
+
ArrowSquareOut: ['arrowsquareout', 'external', 'open', 'link', 'launch'],
|
|
319
|
+
TrendUp: ['trendup', 'growth', 'increase', 'chart', 'up'],
|
|
320
|
+
TrendDown: ['trenddown', 'decline', 'decrease', 'chart', 'down'],
|
|
321
|
+
ArrowsLeftRight: ['arrowsleftright', 'swap', 'exchange', 'toggle', 'switch'],
|
|
322
|
+
ArrowUUpLeft: ['arrowuupleft', 'undo', 'back', 'revert'],
|
|
323
|
+
ArrowsOut: ['arrowsout', 'expand', 'fullscreen', 'maximize', 'resize'],
|
|
324
|
+
ArrowsIn: ['arrowsin', 'collapse', 'shrink', 'minimize', 'resize'],
|
|
325
|
+
// Tech
|
|
326
|
+
Code: ['code', 'develop', 'program', 'source'],
|
|
327
|
+
Terminal: ['terminal', 'console', 'shell', 'cli', 'command'],
|
|
328
|
+
Database: ['database', 'db', 'storage', 'data', 'sql'],
|
|
329
|
+
Cloud: ['cloud', 'server', 'hosting', 'sky'],
|
|
330
|
+
Cpu: ['cpu', 'chip', 'processor', 'compute', 'hardware'],
|
|
331
|
+
Bug: ['bug', 'issue', 'defect', 'error', 'debug'],
|
|
332
|
+
GitBranch: ['gitbranch', 'git', 'branch', 'repo', 'version'],
|
|
333
|
+
Rocket: ['rocket', 'launch', 'ship', 'deploy', 'space'],
|
|
334
|
+
Monitor: ['monitor', 'screen', 'display', 'computer'],
|
|
335
|
+
DeviceMobile: ['devicemobile', 'phone', 'mobile', 'smartphone', 'app'],
|
|
336
|
+
Keyboard: ['keyboard', 'type', 'keys', 'input'],
|
|
337
|
+
Robot: ['robot', 'ai', 'bot', 'automation', 'machine'],
|
|
338
|
+
// Nature
|
|
339
|
+
Leaf: ['leaf', 'nature', 'plant', 'eco', 'green'],
|
|
340
|
+
Tree: ['tree', 'nature', 'forest', 'plant'],
|
|
341
|
+
Sun: ['sun', 'day', 'light', 'weather', 'bright'],
|
|
342
|
+
Moon: ['moon', 'night', 'dark', 'sleep'],
|
|
343
|
+
Drop: ['drop', 'water', 'liquid', 'rain'],
|
|
344
|
+
Fire: ['fire', 'flame', 'hot', 'burn', 'trending'],
|
|
345
|
+
Mountains: ['mountains', 'mountain', 'peak', 'nature', 'hike'],
|
|
346
|
+
Planet: ['planet', 'space', 'world', 'globe', 'orbit'],
|
|
347
|
+
Flower: ['flower', 'bloom', 'plant', 'nature', 'garden'],
|
|
348
|
+
Cactus: ['cactus', 'plant', 'desert', 'succulent'],
|
|
349
|
+
Snowflake: ['snowflake', 'snow', 'winter', 'cold', 'weather'],
|
|
350
|
+
Rainbow: ['rainbow', 'colour', 'color', 'weather', 'pride'],
|
|
351
|
+
// Symbols
|
|
352
|
+
Hash: ['hash', 'number', 'tag', 'channel', 'pound'],
|
|
353
|
+
At: ['at', 'mention', 'email', 'address'],
|
|
354
|
+
Percent: ['percent', 'percentage', 'discount', 'rate'],
|
|
355
|
+
Asterisk: ['asterisk', 'star', 'required', 'wildcard'],
|
|
356
|
+
Question: ['question', 'help', 'ask', 'faq', 'unknown'],
|
|
357
|
+
Warning: ['warning', 'alert', 'caution', 'danger'],
|
|
358
|
+
Info: ['info', 'information', 'about', 'details'],
|
|
359
|
+
Bell: ['bell', 'notification', 'alert', 'reminder'],
|
|
360
|
+
Crown: ['crown', 'king', 'queen', 'royal', 'premium', 'vip'],
|
|
361
|
+
Flag: ['flag', 'mark', 'report', 'country', 'milestone'],
|
|
362
|
+
Medal: ['medal', 'award', 'achievement', 'win', 'honor'],
|
|
363
|
+
Sparkle: ['sparkle', 'shine', 'magic', 'new', 'ai', 'clean'],
|
|
364
|
+
// Food
|
|
365
|
+
Carrot: ['carrot', 'vegetable', 'food', 'healthy'],
|
|
366
|
+
Pizza: ['pizza', 'food', 'slice', 'italian'],
|
|
367
|
+
Hamburger: ['hamburger', 'burger', 'food', 'fastfood'],
|
|
368
|
+
IceCream: ['icecream', 'dessert', 'food', 'cold', 'sweet'],
|
|
369
|
+
Coffee: ['coffee', 'drink', 'cafe', 'caffeine', 'cup'],
|
|
370
|
+
BeerStein: ['beerstein', 'beer', 'drink', 'alcohol', 'pub'],
|
|
371
|
+
Cookie: ['cookie', 'dessert', 'food', 'sweet', 'snack'],
|
|
372
|
+
Cake: ['cake', 'dessert', 'birthday', 'celebration', 'sweet'],
|
|
373
|
+
Egg: ['egg', 'food', 'breakfast'],
|
|
374
|
+
Bread: ['bread', 'food', 'bakery', 'loaf'],
|
|
375
|
+
Wine: ['wine', 'drink', 'alcohol', 'glass'],
|
|
376
|
+
Martini: ['martini', 'cocktail', 'drink', 'alcohol', 'bar'],
|
|
377
|
+
// Animals
|
|
378
|
+
Dog: ['dog', 'pet', 'animal'],
|
|
379
|
+
Cat: ['cat', 'pet', 'animal'],
|
|
380
|
+
Bird: ['bird', 'animal', 'fly'],
|
|
381
|
+
Butterfly: ['butterfly', 'insect', 'animal', 'nature'],
|
|
382
|
+
Rabbit: ['rabbit', 'bunny', 'animal', 'pet'],
|
|
383
|
+
Horse: ['horse', 'animal', 'ride'],
|
|
384
|
+
Cow: ['cow', 'animal', 'farm', 'cattle'],
|
|
385
|
+
PawPrint: ['pawprint', 'paw', 'pet', 'animal', 'print'],
|
|
386
|
+
Fish: ['fish', 'animal', 'sea', 'aquarium', 'ocean'],
|
|
387
|
+
Shrimp: ['shrimp', 'seafood', 'animal', 'ocean'],
|
|
388
|
+
Feather: ['feather', 'bird', 'light', 'write'],
|
|
389
|
+
Bone: ['bone', 'dog', 'pet', 'skeleton'],
|
|
390
|
+
// Transport
|
|
391
|
+
Car: ['car', 'vehicle', 'drive', 'auto'],
|
|
392
|
+
Bus: ['bus', 'vehicle', 'transport', 'public'],
|
|
393
|
+
Truck: ['truck', 'vehicle', 'delivery', 'cargo'],
|
|
394
|
+
Train: ['train', 'vehicle', 'transport', 'rail'],
|
|
395
|
+
Airplane: ['airplane', 'plane', 'flight', 'travel', 'fly'],
|
|
396
|
+
Bicycle: ['bicycle', 'bike', 'cycle', 'ride'],
|
|
397
|
+
Motorcycle: ['motorcycle', 'bike', 'ride', 'vehicle'],
|
|
398
|
+
Boat: ['boat', 'ship', 'sail', 'water'],
|
|
399
|
+
Scooter: ['scooter', 'ride', 'vehicle'],
|
|
400
|
+
Taxi: ['taxi', 'cab', 'ride', 'car'],
|
|
401
|
+
Van: ['van', 'vehicle', 'delivery'],
|
|
402
|
+
Jeep: ['jeep', 'car', 'offroad', 'vehicle', 'suv'],
|
|
403
|
+
// People
|
|
404
|
+
User: ['user', 'person', 'profile', 'account'],
|
|
405
|
+
Users: ['users', 'people', 'team', 'group'],
|
|
406
|
+
Smiley: ['smiley', 'happy', 'face', 'emoji', 'smile'],
|
|
407
|
+
SmileyMeh: ['smileymeh', 'meh', 'neutral', 'face', 'emoji'],
|
|
408
|
+
SmileySad: ['smileysad', 'sad', 'face', 'emoji', 'unhappy'],
|
|
409
|
+
Ghost: ['ghost', 'spooky', 'halloween', 'error', '404'],
|
|
410
|
+
Alien: ['alien', 'space', 'ufo', 'extraterrestrial'],
|
|
411
|
+
Baby: ['baby', 'infant', 'child', 'kid'],
|
|
412
|
+
PersonSimpleRun: ['personsimplerun', 'run', 'running', 'exercise', 'fitness'],
|
|
413
|
+
Hand: ['hand', 'stop', 'wave', 'gesture'],
|
|
414
|
+
ThumbsUp: ['thumbsup', 'like', 'approve', 'good', 'vote'],
|
|
415
|
+
Eye: ['eye', 'view', 'see', 'watch', 'visibility'],
|
|
416
|
+
// Music
|
|
417
|
+
MusicNote: ['musicnote', 'music', 'note', 'song', 'sound'],
|
|
418
|
+
MusicNotes: ['musicnotes', 'music', 'notes', 'song', 'sound', 'playlist'],
|
|
419
|
+
Guitar: ['guitar', 'music', 'instrument', 'band'],
|
|
420
|
+
Microphone: ['microphone', 'mic', 'record', 'audio', 'podcast', 'sing'],
|
|
421
|
+
SpeakerHigh: ['speakerhigh', 'speaker', 'volume', 'sound', 'audio'],
|
|
422
|
+
Radio: ['radio', 'music', 'broadcast', 'audio', 'fm'],
|
|
423
|
+
Playlist: ['playlist', 'music', 'queue', 'songs'],
|
|
424
|
+
Metronome: ['metronome', 'music', 'tempo', 'beat', 'rhythm'],
|
|
425
|
+
Waveform: ['waveform', 'audio', 'sound', 'wave', 'music'],
|
|
426
|
+
Disc: ['disc', 'cd', 'vinyl', 'record', 'album'],
|
|
427
|
+
Headphones: ['headphones', 'music', 'audio', 'listen', 'sound'],
|
|
428
|
+
Equalizer: ['equalizer', 'audio', 'sound', 'mix', 'levels'],
|
|
429
|
+
// Sport
|
|
430
|
+
Basketball: ['basketball', 'sport', 'ball', 'nba'],
|
|
431
|
+
Football: ['football', 'sport', 'nfl', 'ball', 'american'],
|
|
432
|
+
SoccerBall: ['soccerball', 'soccer', 'football', 'sport', 'ball'],
|
|
433
|
+
Baseball: ['baseball', 'sport', 'ball', 'mlb'],
|
|
434
|
+
TennisBall: ['tennisball', 'tennis', 'sport', 'ball'],
|
|
435
|
+
Barbell: ['barbell', 'gym', 'fitness', 'weights', 'workout'],
|
|
436
|
+
Target: ['target', 'goal', 'aim', 'focus', 'bullseye'],
|
|
437
|
+
Golf: ['golf', 'sport', 'club', 'ball'],
|
|
438
|
+
Volleyball: ['volleyball', 'sport', 'ball'],
|
|
439
|
+
PingPong: ['pingpong', 'tabletennis', 'sport', 'ball', 'paddle'],
|
|
440
|
+
Racquet: ['racquet', 'racket', 'tennis', 'sport', 'badminton'],
|
|
441
|
+
PersonSimpleSwim: ['personsimpleswim', 'swim', 'swimming', 'pool', 'sport'],
|
|
442
|
+
// Money
|
|
443
|
+
CurrencyDollar: ['currencydollar', 'dollar', 'money', 'price', 'cost', 'currency'],
|
|
444
|
+
Wallet: ['wallet', 'money', 'payment', 'cash'],
|
|
445
|
+
CreditCard: ['creditcard', 'card', 'payment', 'pay', 'money'],
|
|
446
|
+
PiggyBank: ['piggybank', 'savings', 'budget', 'finance', 'save', 'money'],
|
|
447
|
+
Coins: ['coins', 'money', 'cash', 'currency', 'change'],
|
|
448
|
+
Receipt: ['receipt', 'invoice', 'bill', 'payment', 'order'],
|
|
449
|
+
Bank: ['bank', 'finance', 'money', 'institution'],
|
|
450
|
+
ChartLine: ['chartline', 'chart', 'graph', 'analytics', 'trend', 'stats'],
|
|
451
|
+
Tag: ['tag', 'price', 'label', 'discount', 'sale'],
|
|
452
|
+
ChartBar: ['chartbar', 'chart', 'graph', 'analytics', 'stats', 'bar'],
|
|
453
|
+
ChartPie: ['chartpie', 'chart', 'graph', 'analytics', 'stats', 'pie'],
|
|
454
|
+
Handshake: ['handshake', 'deal', 'partnership', 'agreement', 'business'],
|
|
455
|
+
// Care
|
|
456
|
+
CloudRain: ['cloudrain', 'rain', 'weather', 'storm'],
|
|
457
|
+
CloudSnow: ['cloudsnow', 'snow', 'weather', 'winter'],
|
|
458
|
+
CloudLightning: ['cloudlightning', 'lightning', 'storm', 'thunder', 'weather'],
|
|
459
|
+
Wind: ['wind', 'weather', 'breeze', 'air'],
|
|
460
|
+
Thermometer: ['thermometer', 'temperature', 'fever', 'weather', 'health'],
|
|
461
|
+
Sunglasses: ['sunglasses', 'shades', 'summer', 'fashion'],
|
|
462
|
+
Heartbeat: ['heartbeat', 'health', 'pulse', 'vitals', 'medical', 'ecg'],
|
|
463
|
+
Pill: ['pill', 'medicine', 'drug', 'health', 'pharmacy'],
|
|
464
|
+
FirstAid: ['firstaid', 'medical', 'health', 'emergency', 'kit'],
|
|
465
|
+
Syringe: ['syringe', 'injection', 'vaccine', 'medical', 'shot'],
|
|
466
|
+
Bandaids: ['bandaids', 'bandage', 'injury', 'medical'],
|
|
467
|
+
Stethoscope: ['stethoscope', 'doctor', 'medical', 'health', 'checkup'],
|
|
468
|
+
// Numbers
|
|
469
|
+
NumberCircleZero: ['numbercirclezero', 'zero', '0', 'number'],
|
|
470
|
+
NumberCircleOne: ['numbercircleone', 'one', '1', 'number'],
|
|
471
|
+
NumberCircleTwo: ['numbercircletwo', 'two', '2', 'number'],
|
|
472
|
+
NumberCircleThree: ['numbercirclethree', 'three', '3', 'number'],
|
|
473
|
+
NumberCircleFour: ['numbercirclefour', 'four', '4', 'number'],
|
|
474
|
+
NumberCircleFive: ['numbercirclefive', 'five', '5', 'number'],
|
|
475
|
+
NumberCircleSix: ['numbercirclesix', 'six', '6', 'number'],
|
|
476
|
+
NumberCircleSeven: ['numbercircleseven', 'seven', '7', 'number'],
|
|
477
|
+
NumberCircleEight: ['numbercircleeight', 'eight', '8', 'number'],
|
|
478
|
+
NumberCircleNine: ['numbercirclenine', 'nine', '9', 'number'],
|
|
479
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/** The tile: fill + 1px inset ring, in the chosen colour. */
|
|
2
|
+
export declare function glyphTint(color: string): string;
|
|
3
|
+
/** Holds `glyphTint`'s fill through a host variant's own hover background. */
|
|
4
|
+
export declare function glyphTintHover(color: string): string;
|
|
5
|
+
/** The glyph itself, in the ring colour. */
|
|
6
|
+
export declare function glyphForeground(color: string): string;
|