@elizaos/ui 2.0.0-alpha.13 → 2.0.0-alpha.140
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/package.json +76 -49
- package/packages/ui/src/components/composites/chat/chat-attachment-strip.d.ts +9 -0
- package/packages/ui/src/components/composites/chat/chat-attachment-strip.d.ts.map +1 -0
- package/packages/ui/src/components/composites/chat/chat-attachment-strip.js +8 -0
- package/packages/ui/src/components/composites/chat/chat-bubble.d.ts +14 -0
- package/packages/ui/src/components/composites/chat/chat-bubble.d.ts.map +1 -0
- package/packages/ui/src/components/composites/chat/chat-bubble.js +14 -0
- package/packages/ui/src/components/composites/chat/chat-composer-shell.d.ts +10 -0
- package/packages/ui/src/components/composites/chat/chat-composer-shell.d.ts.map +1 -0
- package/packages/ui/src/components/composites/chat/chat-composer-shell.js +16 -0
- package/packages/ui/src/components/composites/chat/chat-composer.d.ts +39 -0
- package/packages/ui/src/components/composites/chat/chat-composer.d.ts.map +1 -0
- package/packages/ui/src/components/composites/chat/chat-composer.js +148 -0
- package/packages/ui/src/components/composites/chat/chat-conversation-item.d.ts +21 -0
- package/packages/ui/src/components/composites/chat/chat-conversation-item.d.ts.map +1 -0
- package/packages/ui/src/components/composites/chat/chat-conversation-item.js +120 -0
- package/packages/ui/src/components/composites/chat/chat-conversation-rename-dialog.d.ts +22 -0
- package/packages/ui/src/components/composites/chat/chat-conversation-rename-dialog.d.ts.map +1 -0
- package/packages/ui/src/components/composites/chat/chat-conversation-rename-dialog.js +14 -0
- package/packages/ui/src/components/composites/chat/chat-empty-state.d.ts +19 -0
- package/packages/ui/src/components/composites/chat/chat-empty-state.d.ts.map +1 -0
- package/packages/ui/src/components/composites/chat/chat-empty-state.js +8 -0
- package/packages/ui/src/components/composites/chat/chat-message-actions.d.ts +14 -0
- package/packages/ui/src/components/composites/chat/chat-message-actions.d.ts.map +1 -0
- package/packages/ui/src/components/composites/chat/chat-message-actions.js +10 -0
- package/packages/ui/src/components/composites/chat/chat-message.d.ts +18 -0
- package/packages/ui/src/components/composites/chat/chat-message.d.ts.map +1 -0
- package/packages/ui/src/components/composites/chat/chat-message.js +275 -0
- package/packages/ui/src/components/composites/chat/chat-sidebar.d.ts +54 -0
- package/packages/ui/src/components/composites/chat/chat-sidebar.d.ts.map +1 -0
- package/packages/ui/src/components/composites/chat/chat-sidebar.js +64 -0
- package/packages/ui/src/components/composites/chat/chat-source.d.ts +19 -0
- package/packages/ui/src/components/composites/chat/chat-source.d.ts.map +1 -0
- package/packages/ui/src/components/composites/chat/chat-source.js +127 -0
- package/packages/ui/src/components/composites/chat/chat-thread-layout.d.ts +18 -0
- package/packages/ui/src/components/composites/chat/chat-thread-layout.d.ts.map +1 -0
- package/packages/ui/src/components/composites/chat/chat-thread-layout.js +28 -0
- package/packages/ui/src/components/composites/chat/chat-transcript.d.ts +19 -0
- package/packages/ui/src/components/composites/chat/chat-transcript.d.ts.map +1 -0
- package/packages/ui/src/components/composites/chat/chat-transcript.js +82 -0
- package/packages/ui/src/components/composites/chat/chat-types.d.ts +90 -0
- package/packages/ui/src/components/composites/chat/chat-types.d.ts.map +1 -0
- package/packages/ui/src/components/composites/chat/chat-types.js +1 -0
- package/packages/ui/src/components/composites/chat/chat-typing-indicator.d.ts +10 -0
- package/packages/ui/src/components/composites/chat/chat-typing-indicator.d.ts.map +1 -0
- package/packages/ui/src/components/composites/chat/chat-typing-indicator.js +11 -0
- package/packages/ui/src/components/composites/chat/create-task-popover.d.ts +8 -0
- package/packages/ui/src/components/composites/chat/create-task-popover.d.ts.map +1 -0
- package/packages/ui/src/components/composites/chat/create-task-popover.js +44 -0
- package/packages/ui/src/components/composites/chat/index.d.ts +17 -0
- package/packages/ui/src/components/composites/chat/index.d.ts.map +1 -0
- package/packages/ui/src/components/composites/chat/index.js +16 -0
- package/packages/ui/src/components/composites/form-field/form-field.d.ts +14 -0
- package/packages/ui/src/components/composites/form-field/form-field.d.ts.map +1 -0
- package/packages/ui/src/components/composites/form-field/form-field.js +8 -0
- package/packages/ui/src/components/composites/form-field/index.d.ts +2 -0
- package/packages/ui/src/components/composites/form-field/index.d.ts.map +1 -0
- package/packages/ui/src/components/composites/form-field/index.js +1 -0
- package/packages/ui/src/components/composites/index.d.ts +27 -0
- package/packages/ui/src/components/composites/index.d.ts.map +1 -0
- package/packages/ui/src/components/composites/index.js +26 -0
- package/packages/ui/src/components/composites/page-panel/index.d.ts +29 -0
- package/packages/ui/src/components/composites/page-panel/index.d.ts.map +1 -0
- package/packages/ui/src/components/composites/page-panel/index.js +28 -0
- package/packages/ui/src/components/composites/page-panel/page-panel-collapsible-section.d.ts +4 -0
- package/packages/ui/src/components/composites/page-panel/page-panel-collapsible-section.d.ts.map +1 -0
- package/packages/ui/src/components/composites/page-panel/page-panel-collapsible-section.js +60 -0
- package/packages/ui/src/components/composites/page-panel/page-panel-empty.d.ts +3 -0
- package/packages/ui/src/components/composites/page-panel/page-panel-empty.d.ts.map +1 -0
- package/packages/ui/src/components/composites/page-panel/page-panel-empty.js +15 -0
- package/packages/ui/src/components/composites/page-panel/page-panel-frame.d.ts +5 -0
- package/packages/ui/src/components/composites/page-panel/page-panel-frame.d.ts.map +1 -0
- package/packages/ui/src/components/composites/page-panel/page-panel-frame.js +9 -0
- package/packages/ui/src/components/composites/page-panel/page-panel-header.d.ts +7 -0
- package/packages/ui/src/components/composites/page-panel/page-panel-header.d.ts.map +1 -0
- package/packages/ui/src/components/composites/page-panel/page-panel-header.js +30 -0
- package/packages/ui/src/components/composites/page-panel/page-panel-loading.d.ts +3 -0
- package/packages/ui/src/components/composites/page-panel/page-panel-loading.d.ts.map +1 -0
- package/packages/ui/src/components/composites/page-panel/page-panel-loading.js +13 -0
- package/packages/ui/src/components/composites/page-panel/page-panel-root.d.ts +7 -0
- package/packages/ui/src/components/composites/page-panel/page-panel-root.d.ts.map +1 -0
- package/packages/ui/src/components/composites/page-panel/page-panel-root.js +17 -0
- package/packages/ui/src/components/composites/page-panel/page-panel-toolbar.d.ts +4 -0
- package/packages/ui/src/components/composites/page-panel/page-panel-toolbar.d.ts.map +1 -0
- package/packages/ui/src/components/composites/page-panel/page-panel-toolbar.js +6 -0
- package/packages/ui/src/components/composites/page-panel/page-panel-types.d.ts +66 -0
- package/packages/ui/src/components/composites/page-panel/page-panel-types.d.ts.map +1 -0
- package/packages/ui/src/components/composites/page-panel/page-panel-types.js +1 -0
- package/packages/ui/src/components/composites/search/index.d.ts +3 -0
- package/packages/ui/src/components/composites/search/index.d.ts.map +1 -0
- package/packages/ui/src/components/composites/search/index.js +2 -0
- package/packages/ui/src/components/composites/search/search-input.d.ts.map +1 -0
- package/{dist/components/ui → packages/ui/src/components/composites/search}/search-input.js +3 -2
- package/{dist/components/ui/search-bar.d.ts → packages/ui/src/components/composites/search/searchbar.d.ts} +8 -7
- package/packages/ui/src/components/composites/search/searchbar.d.ts.map +1 -0
- package/packages/ui/src/components/composites/search/searchbar.js +25 -0
- package/packages/ui/src/components/composites/sidebar/index.d.ts +11 -0
- package/packages/ui/src/components/composites/sidebar/index.d.ts.map +1 -0
- package/packages/ui/src/components/composites/sidebar/index.js +10 -0
- package/packages/ui/src/components/composites/sidebar/sidebar-auto-rail.d.ts +15 -0
- package/packages/ui/src/components/composites/sidebar/sidebar-auto-rail.d.ts.map +1 -0
- package/packages/ui/src/components/composites/sidebar/sidebar-auto-rail.js +292 -0
- package/packages/ui/src/components/composites/sidebar/sidebar-body.d.ts +4 -0
- package/packages/ui/src/components/composites/sidebar/sidebar-body.d.ts.map +1 -0
- package/packages/ui/src/components/composites/sidebar/sidebar-body.js +7 -0
- package/packages/ui/src/components/composites/sidebar/sidebar-collapsed-rail.d.ts +11 -0
- package/packages/ui/src/components/composites/sidebar/sidebar-collapsed-rail.d.ts.map +1 -0
- package/packages/ui/src/components/composites/sidebar/sidebar-collapsed-rail.js +13 -0
- package/packages/ui/src/components/composites/sidebar/sidebar-content.d.ts +78 -0
- package/packages/ui/src/components/composites/sidebar/sidebar-content.d.ts.map +1 -0
- package/packages/ui/src/components/composites/sidebar/sidebar-content.js +89 -0
- package/packages/ui/src/components/composites/sidebar/sidebar-filter-bar.d.ts +3 -0
- package/packages/ui/src/components/composites/sidebar/sidebar-filter-bar.d.ts.map +1 -0
- package/packages/ui/src/components/composites/sidebar/sidebar-filter-bar.js +14 -0
- package/packages/ui/src/components/composites/sidebar/sidebar-header-stack.d.ts +3 -0
- package/packages/ui/src/components/composites/sidebar/sidebar-header-stack.d.ts.map +1 -0
- package/packages/ui/src/components/composites/sidebar/sidebar-header-stack.js +6 -0
- package/packages/ui/src/components/composites/sidebar/sidebar-header.d.ts +9 -0
- package/packages/ui/src/components/composites/sidebar/sidebar-header.d.ts.map +1 -0
- package/packages/ui/src/components/composites/sidebar/sidebar-header.js +6 -0
- package/packages/ui/src/components/composites/sidebar/sidebar-panel.d.ts +3 -0
- package/packages/ui/src/components/composites/sidebar/sidebar-panel.d.ts.map +1 -0
- package/packages/ui/src/components/composites/sidebar/sidebar-panel.js +18 -0
- package/packages/ui/src/components/composites/sidebar/sidebar-root.d.ts +4 -0
- package/packages/ui/src/components/composites/sidebar/sidebar-root.d.ts.map +1 -0
- package/packages/ui/src/components/composites/sidebar/sidebar-root.js +448 -0
- package/packages/ui/src/components/composites/sidebar/sidebar-scroll-region.d.ts +3 -0
- package/packages/ui/src/components/composites/sidebar/sidebar-scroll-region.d.ts.map +1 -0
- package/packages/ui/src/components/composites/sidebar/sidebar-scroll-region.js +18 -0
- package/packages/ui/src/components/composites/sidebar/sidebar-types.d.ts +59 -0
- package/packages/ui/src/components/composites/sidebar/sidebar-types.d.ts.map +1 -0
- package/packages/ui/src/components/composites/sidebar/sidebar-types.js +1 -0
- package/packages/ui/src/components/composites/skills/index.d.ts +2 -0
- package/packages/ui/src/components/composites/skills/index.d.ts.map +1 -0
- package/packages/ui/src/components/composites/skills/index.js +1 -0
- package/packages/ui/src/components/composites/skills/skill-sidebar-item.d.ts +16 -0
- package/packages/ui/src/components/composites/skills/skill-sidebar-item.d.ts.map +1 -0
- package/packages/ui/src/components/composites/skills/skill-sidebar-item.js +7 -0
- package/packages/ui/src/components/composites/trajectories/index.d.ts +5 -0
- package/packages/ui/src/components/composites/trajectories/index.d.ts.map +1 -0
- package/packages/ui/src/components/composites/trajectories/index.js +4 -0
- package/packages/ui/src/components/composites/trajectories/trajectory-code-block.d.ts +13 -0
- package/packages/ui/src/components/composites/trajectories/trajectory-code-block.d.ts.map +1 -0
- package/packages/ui/src/components/composites/trajectories/trajectory-code-block.js +13 -0
- package/packages/ui/src/components/composites/trajectories/trajectory-llm-call-card.d.ts +34 -0
- package/packages/ui/src/components/composites/trajectories/trajectory-llm-call-card.d.ts.map +1 -0
- package/packages/ui/src/components/composites/trajectories/trajectory-llm-call-card.js +14 -0
- package/packages/ui/src/components/composites/trajectories/trajectory-pipeline-graph.d.ts +26 -0
- package/packages/ui/src/components/composites/trajectories/trajectory-pipeline-graph.d.ts.map +1 -0
- package/packages/ui/src/components/composites/trajectories/trajectory-pipeline-graph.js +46 -0
- package/packages/ui/src/components/composites/trajectories/trajectory-sidebar-item.d.ts +15 -0
- package/packages/ui/src/components/composites/trajectories/trajectory-sidebar-item.d.ts.map +1 -0
- package/packages/ui/src/components/composites/trajectories/trajectory-sidebar-item.js +8 -0
- package/packages/ui/src/components/primitives/index.d.ts +26 -0
- package/packages/ui/src/components/primitives/index.d.ts.map +1 -0
- package/packages/ui/src/components/primitives/index.js +25 -0
- package/packages/ui/src/components/ui/admin-dialog.d.ts +50 -0
- package/packages/ui/src/components/ui/admin-dialog.d.ts.map +1 -0
- package/packages/ui/src/components/ui/admin-dialog.js +48 -0
- package/{dist → packages/ui/src}/components/ui/badge.d.ts +1 -1
- package/packages/ui/src/components/ui/badge.d.ts.map +1 -0
- package/packages/ui/src/components/ui/banner.d.ts.map +1 -0
- package/{dist → packages/ui/src}/components/ui/banner.js +2 -1
- package/{dist → packages/ui/src}/components/ui/button.d.ts +1 -1
- package/packages/ui/src/components/ui/button.d.ts.map +1 -0
- package/packages/ui/src/components/ui/button.js +39 -0
- package/{dist → packages/ui/src}/components/ui/card.d.ts +8 -2
- package/packages/ui/src/components/ui/card.d.ts.map +1 -0
- package/{dist → packages/ui/src}/components/ui/card.js +17 -2
- package/packages/ui/src/components/ui/checkbox.d.ts.map +1 -0
- package/packages/ui/src/components/ui/confirm-delete.d.ts +20 -0
- package/packages/ui/src/components/ui/confirm-delete.d.ts.map +1 -0
- package/packages/ui/src/components/ui/confirm-delete.js +16 -0
- package/packages/ui/src/components/ui/confirm-dialog.d.ts +49 -0
- package/packages/ui/src/components/ui/confirm-dialog.d.ts.map +1 -0
- package/packages/ui/src/components/ui/confirm-dialog.js +90 -0
- package/{dist → packages/ui/src}/components/ui/connection-status.d.ts +6 -0
- package/packages/ui/src/components/ui/connection-status.d.ts.map +1 -0
- package/packages/ui/src/components/ui/connection-status.js +25 -0
- package/packages/ui/src/components/ui/copy-button.d.ts.map +1 -0
- package/{dist → packages/ui/src}/components/ui/dialog.d.ts +6 -1
- package/packages/ui/src/components/ui/dialog.d.ts.map +1 -0
- package/packages/ui/src/components/ui/dialog.js +23 -0
- package/packages/ui/src/components/ui/drawer-sheet.d.ts +19 -0
- package/packages/ui/src/components/ui/drawer-sheet.d.ts.map +1 -0
- package/packages/ui/src/components/ui/drawer-sheet.js +21 -0
- package/packages/ui/src/components/ui/dropdown-menu.d.ts.map +1 -0
- package/{dist → packages/ui/src}/components/ui/dropdown-menu.js +1 -1
- package/packages/ui/src/components/ui/empty-state.d.ts.map +1 -0
- package/{dist → packages/ui/src}/components/ui/error-boundary.d.ts +5 -1
- package/packages/ui/src/components/ui/error-boundary.d.ts.map +1 -0
- package/{dist → packages/ui/src}/components/ui/error-boundary.js +1 -1
- package/packages/ui/src/components/ui/field-switch.d.ts +8 -0
- package/packages/ui/src/components/ui/field-switch.d.ts.map +1 -0
- package/packages/ui/src/components/ui/field-switch.js +10 -0
- package/packages/ui/src/components/ui/field.d.ts +11 -0
- package/packages/ui/src/components/ui/field.d.ts.map +1 -0
- package/packages/ui/src/components/ui/field.js +21 -0
- package/packages/ui/src/components/ui/form-select.d.ts +13 -0
- package/packages/ui/src/components/ui/form-select.d.ts.map +1 -0
- package/packages/ui/src/components/ui/form-select.js +9 -0
- package/{dist → packages/ui/src}/components/ui/grid.d.ts +1 -1
- package/packages/ui/src/components/ui/grid.d.ts.map +1 -0
- package/packages/ui/src/components/ui/input.d.ts +12 -0
- package/packages/ui/src/components/ui/input.d.ts.map +1 -0
- package/packages/ui/src/components/ui/input.js +28 -0
- package/packages/ui/src/components/ui/label.d.ts.map +1 -0
- package/packages/ui/src/components/ui/new-action-button.d.ts +7 -0
- package/packages/ui/src/components/ui/new-action-button.d.ts.map +1 -0
- package/packages/ui/src/components/ui/new-action-button.js +13 -0
- package/packages/ui/src/components/ui/popover.d.ts.map +1 -0
- package/packages/ui/src/components/ui/save-footer.d.ts.map +1 -0
- package/packages/ui/src/components/ui/save-footer.js +10 -0
- package/packages/ui/src/components/ui/section-card.d.ts.map +1 -0
- package/{dist → packages/ui/src}/components/ui/section-card.js +3 -2
- package/packages/ui/src/components/ui/segmented-control.d.ts +18 -0
- package/packages/ui/src/components/ui/segmented-control.d.ts.map +1 -0
- package/packages/ui/src/components/ui/segmented-control.js +10 -0
- package/packages/ui/src/components/ui/select.d.ts.map +1 -0
- package/{dist → packages/ui/src}/components/ui/select.js +7 -6
- package/packages/ui/src/components/ui/separator.d.ts.map +1 -0
- package/packages/ui/src/components/ui/settings-controls.d.ts +41 -0
- package/packages/ui/src/components/ui/settings-controls.d.ts.map +1 -0
- package/packages/ui/src/components/ui/settings-controls.js +60 -0
- package/packages/ui/src/components/ui/skeleton.d.ts.map +1 -0
- package/{dist → packages/ui/src}/components/ui/skeleton.js +1 -2
- package/packages/ui/src/components/ui/slider.d.ts.map +1 -0
- package/{dist → packages/ui/src}/components/ui/slider.js +1 -1
- package/packages/ui/src/components/ui/sonner.d.ts +2 -0
- package/packages/ui/src/components/ui/sonner.d.ts.map +1 -0
- package/packages/ui/src/components/ui/sonner.js +1 -0
- package/packages/ui/src/components/ui/spinner.d.ts.map +1 -0
- package/{dist → packages/ui/src}/components/ui/stack.d.ts +1 -1
- package/packages/ui/src/components/ui/stack.d.ts.map +1 -0
- package/{dist → packages/ui/src}/components/ui/status-badge.d.ts +11 -4
- package/packages/ui/src/components/ui/status-badge.d.ts.map +1 -0
- package/packages/ui/src/components/ui/status-badge.js +70 -0
- package/packages/ui/src/components/ui/switch.d.ts.map +1 -0
- package/packages/ui/src/components/ui/switch.js +7 -0
- package/packages/ui/src/components/ui/tabs.d.ts.map +1 -0
- package/{dist → packages/ui/src}/components/ui/tabs.js +1 -1
- package/packages/ui/src/components/ui/tag-editor.d.ts +12 -0
- package/packages/ui/src/components/ui/tag-editor.d.ts.map +1 -0
- package/packages/ui/src/components/ui/tag-editor.js +34 -0
- package/packages/ui/src/components/ui/tag-input.d.ts +3 -0
- package/packages/ui/src/components/ui/tag-input.d.ts.map +1 -0
- package/packages/ui/src/components/ui/tag-input.js +1 -0
- package/packages/ui/src/components/ui/textarea.d.ts +12 -0
- package/packages/ui/src/components/ui/textarea.d.ts.map +1 -0
- package/packages/ui/src/components/ui/textarea.js +28 -0
- package/{dist → packages/ui/src}/components/ui/themed-select.d.ts +3 -8
- package/packages/ui/src/components/ui/themed-select.d.ts.map +1 -0
- package/packages/ui/src/components/ui/themed-select.js +137 -0
- package/{dist → packages/ui/src}/components/ui/tooltip-extended.d.ts +3 -25
- package/packages/ui/src/components/ui/tooltip-extended.d.ts.map +1 -0
- package/packages/ui/src/components/ui/tooltip-extended.js +116 -0
- package/{dist → packages/ui/src}/components/ui/tooltip.d.ts +10 -0
- package/packages/ui/src/components/ui/tooltip.d.ts.map +1 -0
- package/packages/ui/src/components/ui/tooltip.js +13 -0
- package/{dist → packages/ui/src}/components/ui/typography.d.ts +2 -2
- package/packages/ui/src/components/ui/typography.d.ts.map +1 -0
- package/{dist → packages/ui/src}/components/ui/typography.js +1 -1
- package/packages/ui/src/hooks/index.d.ts +6 -0
- package/packages/ui/src/hooks/index.d.ts.map +1 -0
- package/packages/ui/src/hooks/index.js +5 -0
- package/packages/ui/src/hooks/useClickOutside.d.ts +3 -0
- package/packages/ui/src/hooks/useClickOutside.d.ts.map +1 -0
- package/packages/ui/src/hooks/useClickOutside.js +22 -0
- package/packages/ui/src/hooks/useDocumentVisibility.d.ts +3 -0
- package/packages/ui/src/hooks/useDocumentVisibility.d.ts.map +1 -0
- package/packages/ui/src/hooks/useDocumentVisibility.js +28 -0
- package/packages/ui/src/hooks/useKeyboardShortcuts.d.ts +13 -0
- package/packages/ui/src/hooks/useKeyboardShortcuts.d.ts.map +1 -0
- package/packages/ui/src/hooks/useKeyboardShortcuts.js +34 -0
- package/packages/ui/src/hooks/useLinkedSidebarSelection.d.ts +16 -0
- package/packages/ui/src/hooks/useLinkedSidebarSelection.d.ts.map +1 -0
- package/packages/ui/src/hooks/useLinkedSidebarSelection.js +117 -0
- package/packages/ui/src/hooks/useTimeout.d.ts +5 -0
- package/packages/ui/src/hooks/useTimeout.d.ts.map +1 -0
- package/packages/ui/src/hooks/useTimeout.js +26 -0
- package/packages/ui/src/index.d.ts +8 -0
- package/packages/ui/src/index.d.ts.map +1 -0
- package/packages/ui/src/index.js +7 -0
- package/packages/ui/src/layouts/chat-panel-layout/chat-panel-layout.d.ts +11 -0
- package/packages/ui/src/layouts/chat-panel-layout/chat-panel-layout.d.ts.map +1 -0
- package/packages/ui/src/layouts/chat-panel-layout/chat-panel-layout.js +37 -0
- package/packages/ui/src/layouts/chat-panel-layout/index.d.ts +2 -0
- package/packages/ui/src/layouts/chat-panel-layout/index.d.ts.map +1 -0
- package/packages/ui/src/layouts/chat-panel-layout/index.js +1 -0
- package/packages/ui/src/layouts/content-layout/content-layout.d.ts +21 -0
- package/packages/ui/src/layouts/content-layout/content-layout.d.ts.map +1 -0
- package/packages/ui/src/layouts/content-layout/content-layout.js +5 -0
- package/packages/ui/src/layouts/content-layout/index.d.ts +2 -0
- package/packages/ui/src/layouts/content-layout/index.d.ts.map +1 -0
- package/packages/ui/src/layouts/content-layout/index.js +1 -0
- package/packages/ui/src/layouts/index.d.ts +5 -0
- package/packages/ui/src/layouts/index.d.ts.map +1 -0
- package/packages/ui/src/layouts/index.js +4 -0
- package/packages/ui/src/layouts/layout-test-utils.d.ts +6 -0
- package/packages/ui/src/layouts/layout-test-utils.d.ts.map +1 -0
- package/packages/ui/src/layouts/layout-test-utils.js +36 -0
- package/packages/ui/src/layouts/page-layout/index.d.ts +5 -0
- package/packages/ui/src/layouts/page-layout/index.d.ts.map +1 -0
- package/packages/ui/src/layouts/page-layout/index.js +4 -0
- package/packages/ui/src/layouts/page-layout/page-layout-header.d.ts +5 -0
- package/packages/ui/src/layouts/page-layout/page-layout-header.d.ts.map +1 -0
- package/packages/ui/src/layouts/page-layout/page-layout-header.js +5 -0
- package/packages/ui/src/layouts/page-layout/page-layout-mobile-drawer.d.ts +3 -0
- package/packages/ui/src/layouts/page-layout/page-layout-mobile-drawer.d.ts.map +1 -0
- package/packages/ui/src/layouts/page-layout/page-layout-mobile-drawer.js +18 -0
- package/packages/ui/src/layouts/page-layout/page-layout-types.d.ts +15 -0
- package/packages/ui/src/layouts/page-layout/page-layout-types.d.ts.map +1 -0
- package/packages/ui/src/layouts/page-layout/page-layout-types.js +1 -0
- package/packages/ui/src/layouts/page-layout/page-layout.d.ts +3 -0
- package/packages/ui/src/layouts/page-layout/page-layout.d.ts.map +1 -0
- package/packages/ui/src/layouts/page-layout/page-layout.js +5 -0
- package/packages/ui/src/layouts/workspace-layout/index.d.ts +3 -0
- package/packages/ui/src/layouts/workspace-layout/index.d.ts.map +1 -0
- package/packages/ui/src/layouts/workspace-layout/index.js +2 -0
- package/packages/ui/src/layouts/workspace-layout/workspace-layout-types.d.ts +19 -0
- package/packages/ui/src/layouts/workspace-layout/workspace-layout-types.d.ts.map +1 -0
- package/packages/ui/src/layouts/workspace-layout/workspace-layout-types.js +1 -0
- package/packages/ui/src/layouts/workspace-layout/workspace-layout.d.ts +3 -0
- package/packages/ui/src/layouts/workspace-layout/workspace-layout.d.ts.map +1 -0
- package/packages/ui/src/layouts/workspace-layout/workspace-layout.js +50 -0
- package/packages/ui/src/lib/floating-layers.d.ts +17 -0
- package/packages/ui/src/lib/floating-layers.d.ts.map +1 -0
- package/packages/ui/src/lib/floating-layers.js +20 -0
- package/packages/ui/src/lib/utils.d.ts +3 -0
- package/packages/ui/src/lib/utils.d.ts.map +1 -0
- package/{dist → packages/ui/src}/lib/utils.js +0 -3
- package/packages/ui/src/stories/layout-story-fixtures.d.ts +14 -0
- package/packages/ui/src/stories/layout-story-fixtures.d.ts.map +1 -0
- package/packages/ui/src/stories/layout-story-fixtures.js +33 -0
- package/styles/theme.css +7 -0
- package/README.md +0 -6
- package/dist/components/ui/badge.d.ts.map +0 -1
- package/dist/components/ui/banner.d.ts.map +0 -1
- package/dist/components/ui/button.d.ts.map +0 -1
- package/dist/components/ui/button.js +0 -33
- package/dist/components/ui/card.d.ts.map +0 -1
- package/dist/components/ui/chat-atoms.d.ts +0 -26
- package/dist/components/ui/chat-atoms.d.ts.map +0 -1
- package/dist/components/ui/chat-atoms.js +0 -17
- package/dist/components/ui/checkbox.d.ts.map +0 -1
- package/dist/components/ui/confirm-delete.d.ts +0 -12
- package/dist/components/ui/confirm-delete.d.ts.map +0 -1
- package/dist/components/ui/confirm-delete.js +0 -13
- package/dist/components/ui/confirm-dialog.d.ts +0 -24
- package/dist/components/ui/confirm-dialog.d.ts.map +0 -1
- package/dist/components/ui/confirm-dialog.js +0 -55
- package/dist/components/ui/connection-status.d.ts.map +0 -1
- package/dist/components/ui/connection-status.js +0 -25
- package/dist/components/ui/copy-button.d.ts.map +0 -1
- package/dist/components/ui/dialog.d.ts.map +0 -1
- package/dist/components/ui/dialog.js +0 -22
- package/dist/components/ui/dropdown-menu.d.ts.map +0 -1
- package/dist/components/ui/empty-state.d.ts.map +0 -1
- package/dist/components/ui/error-boundary.d.ts.map +0 -1
- package/dist/components/ui/grid.d.ts.map +0 -1
- package/dist/components/ui/input.d.ts +0 -6
- package/dist/components/ui/input.d.ts.map +0 -1
- package/dist/components/ui/input.js +0 -8
- package/dist/components/ui/label.d.ts.map +0 -1
- package/dist/components/ui/popover.d.ts.map +0 -1
- package/dist/components/ui/save-footer.d.ts.map +0 -1
- package/dist/components/ui/save-footer.js +0 -9
- package/dist/components/ui/search-bar.d.ts.map +0 -1
- package/dist/components/ui/search-bar.js +0 -19
- package/dist/components/ui/search-input.d.ts.map +0 -1
- package/dist/components/ui/section-card.d.ts.map +0 -1
- package/dist/components/ui/select.d.ts.map +0 -1
- package/dist/components/ui/separator.d.ts.map +0 -1
- package/dist/components/ui/skeleton.d.ts.map +0 -1
- package/dist/components/ui/slider.d.ts.map +0 -1
- package/dist/components/ui/sonner.d.ts +0 -5
- package/dist/components/ui/sonner.d.ts.map +0 -1
- package/dist/components/ui/sonner.js +0 -15
- package/dist/components/ui/spinner.d.ts.map +0 -1
- package/dist/components/ui/stack.d.ts.map +0 -1
- package/dist/components/ui/status-badge.d.ts.map +0 -1
- package/dist/components/ui/status-badge.js +0 -41
- package/dist/components/ui/switch.d.ts.map +0 -1
- package/dist/components/ui/switch.js +0 -7
- package/dist/components/ui/tabs.d.ts.map +0 -1
- package/dist/components/ui/tag-editor.d.ts +0 -24
- package/dist/components/ui/tag-editor.d.ts.map +0 -1
- package/dist/components/ui/tag-editor.js +0 -32
- package/dist/components/ui/tag-input.d.ts +0 -19
- package/dist/components/ui/tag-input.d.ts.map +0 -1
- package/dist/components/ui/tag-input.js +0 -28
- package/dist/components/ui/textarea.d.ts +0 -6
- package/dist/components/ui/textarea.d.ts.map +0 -1
- package/dist/components/ui/textarea.js +0 -8
- package/dist/components/ui/themed-select.d.ts.map +0 -1
- package/dist/components/ui/themed-select.js +0 -57
- package/dist/components/ui/tooltip-extended.d.ts.map +0 -1
- package/dist/components/ui/tooltip-extended.js +0 -128
- package/dist/components/ui/tooltip.d.ts.map +0 -1
- package/dist/components/ui/tooltip.js +0 -10
- package/dist/components/ui/typography.d.ts.map +0 -1
- package/dist/index.d.ts +0 -42
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -43
- package/dist/lib/button-styles.d.ts +0 -12
- package/dist/lib/button-styles.d.ts.map +0 -1
- package/dist/lib/button-styles.js +0 -11
- package/dist/lib/utils.d.ts +0 -6
- package/dist/lib/utils.d.ts.map +0 -1
- package/dist/package.json +0 -64
- package/dist/styles/theme.css +0 -193
- package/src/styles/theme.css +0 -193
- /package/{dist/components/ui → packages/ui/src/components/composites/search}/search-input.d.ts +0 -0
- /package/{dist → packages/ui/src}/components/ui/badge.js +0 -0
- /package/{dist → packages/ui/src}/components/ui/banner.d.ts +0 -0
- /package/{dist → packages/ui/src}/components/ui/checkbox.d.ts +0 -0
- /package/{dist → packages/ui/src}/components/ui/checkbox.js +0 -0
- /package/{dist → packages/ui/src}/components/ui/copy-button.d.ts +0 -0
- /package/{dist → packages/ui/src}/components/ui/copy-button.js +0 -0
- /package/{dist → packages/ui/src}/components/ui/dropdown-menu.d.ts +0 -0
- /package/{dist → packages/ui/src}/components/ui/empty-state.d.ts +0 -0
- /package/{dist → packages/ui/src}/components/ui/empty-state.js +0 -0
- /package/{dist → packages/ui/src}/components/ui/grid.js +0 -0
- /package/{dist → packages/ui/src}/components/ui/label.d.ts +0 -0
- /package/{dist → packages/ui/src}/components/ui/label.js +0 -0
- /package/{dist → packages/ui/src}/components/ui/popover.d.ts +0 -0
- /package/{dist → packages/ui/src}/components/ui/popover.js +0 -0
- /package/{dist → packages/ui/src}/components/ui/save-footer.d.ts +0 -0
- /package/{dist → packages/ui/src}/components/ui/section-card.d.ts +0 -0
- /package/{dist → packages/ui/src}/components/ui/select.d.ts +0 -0
- /package/{dist → packages/ui/src}/components/ui/separator.d.ts +0 -0
- /package/{dist → packages/ui/src}/components/ui/separator.js +0 -0
- /package/{dist → packages/ui/src}/components/ui/skeleton.d.ts +0 -0
- /package/{dist → packages/ui/src}/components/ui/slider.d.ts +0 -0
- /package/{dist → packages/ui/src}/components/ui/spinner.d.ts +0 -0
- /package/{dist → packages/ui/src}/components/ui/spinner.js +0 -0
- /package/{dist → packages/ui/src}/components/ui/stack.js +0 -0
- /package/{dist → packages/ui/src}/components/ui/switch.d.ts +0 -0
- /package/{dist → packages/ui/src}/components/ui/tabs.d.ts +0 -0
|
@@ -2,24 +2,25 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import * as SelectPrimitive from "@radix-ui/react-select";
|
|
3
3
|
import { Check, ChevronDown, ChevronUp } from "lucide-react";
|
|
4
4
|
import * as React from "react";
|
|
5
|
+
import { SELECT_FLOATING_LAYER_NAME } from "../../lib/floating-layers";
|
|
5
6
|
import { cn } from "../../lib/utils";
|
|
6
7
|
const Select = SelectPrimitive.Root;
|
|
7
8
|
const SelectGroup = SelectPrimitive.Group;
|
|
8
9
|
const SelectValue = SelectPrimitive.Value;
|
|
9
|
-
const SelectTrigger = React.forwardRef(({ className, children, ...props }, ref) => (_jsxs(SelectPrimitive.Trigger, { ref: ref, className: cn("flex h-10 w-full items-center justify-between rounded-md border border-input bg-bg px-3 py-2 text-sm ring-offset-bg placeholder:text-muted focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1", className), ...props, children: [children, _jsx(SelectPrimitive.Icon, { asChild: true, children: _jsx(ChevronDown, { className: "h-4 w-4 opacity-50" }) })] })));
|
|
10
|
+
const SelectTrigger = React.forwardRef(({ className, children, ...props }, ref) => (_jsxs(SelectPrimitive.Trigger, { ref: ref, className: cn("flex h-10 w-full items-center justify-between rounded-md border border-input bg-bg px-3 py-2 text-sm ring-offset-bg placeholder:text-muted focus:outline-none focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1", className), ...props, children: [children, _jsx(SelectPrimitive.Icon, { asChild: true, children: _jsx(ChevronDown, { className: "h-4 w-4 opacity-50" }) })] })));
|
|
10
11
|
SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
|
|
11
12
|
const SelectScrollUpButton = React.forwardRef(({ className, ...props }, ref) => (_jsx(SelectPrimitive.ScrollUpButton, { ref: ref, className: cn("flex cursor-default items-center justify-center py-1", className), ...props, children: _jsx(ChevronUp, { className: "h-4 w-4" }) })));
|
|
12
13
|
SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
|
|
13
14
|
const SelectScrollDownButton = React.forwardRef(({ className, ...props }, ref) => (_jsx(SelectPrimitive.ScrollDownButton, { ref: ref, className: cn("flex cursor-default items-center justify-center py-1", className), ...props, children: _jsx(ChevronDown, { className: "h-4 w-4" }) })));
|
|
14
15
|
SelectScrollDownButton.displayName =
|
|
15
16
|
SelectPrimitive.ScrollDownButton.displayName;
|
|
16
|
-
const SelectContent = React.forwardRef(({ className, children, position = "popper", ...props }, ref) => (_jsx(SelectPrimitive.Portal, { children: _jsxs(SelectPrimitive.Content, { ref: ref, className: cn("relative z-
|
|
17
|
-
"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1", className), position: position, ...props, children: [_jsx(SelectScrollUpButton, {}), _jsx(SelectPrimitive.Viewport, { className: cn("p-1", position === "popper" &&
|
|
18
|
-
"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"), children: children }), _jsx(SelectScrollDownButton, {})] }) })));
|
|
17
|
+
const SelectContent = React.forwardRef(({ className, children, position = "popper", ...props }, ref) => (_jsx(SelectPrimitive.Portal, { children: _jsxs(SelectPrimitive.Content, { ref: ref, "data-floating-layer": SELECT_FLOATING_LAYER_NAME, className: cn("relative z-[12000] max-h-96 min-w-[8rem] overflow-hidden rounded-md border border-border bg-card text-txt shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2", position === "popper" &&
|
|
18
|
+
"w-[var(--radix-select-trigger-width)] min-w-[var(--radix-select-trigger-width)] data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1", className), position: position, ...props, children: [_jsx(SelectScrollUpButton, {}), _jsx(SelectPrimitive.Viewport, { className: cn("p-1", position === "popper" &&
|
|
19
|
+
"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] max-w-[var(--radix-select-trigger-width)]"), children: children }), _jsx(SelectScrollDownButton, {})] }) })));
|
|
19
20
|
SelectContent.displayName = SelectPrimitive.Content.displayName;
|
|
20
|
-
const SelectLabel = React.forwardRef(({ className, ...props }, ref) => (_jsx(SelectPrimitive.Label, { ref: ref, className: cn("py-1.5 pl-
|
|
21
|
+
const SelectLabel = React.forwardRef(({ className, ...props }, ref) => (_jsx(SelectPrimitive.Label, { ref: ref, className: cn("py-1.5 pl-2 pr-2 text-sm font-semibold", className), ...props })));
|
|
21
22
|
SelectLabel.displayName = SelectPrimitive.Label.displayName;
|
|
22
|
-
const SelectItem = React.forwardRef(({ className, children, ...props }, ref) => (_jsxs(SelectPrimitive.Item, { ref: ref, className: cn("
|
|
23
|
+
const SelectItem = React.forwardRef(({ className, children, ...props }, ref) => (_jsxs(SelectPrimitive.Item, { ref: ref, className: cn("flex w-full cursor-default select-none items-center gap-1.5 rounded-sm py-1.5 pl-2 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-fg data-[disabled]:pointer-events-none data-[disabled]:opacity-50", className), ...props, children: [_jsx(SelectPrimitive.ItemText, { className: "min-w-0 flex-1", children: children }), _jsx("span", { className: "flex h-4 w-4 shrink-0 items-center justify-center", children: _jsx(SelectPrimitive.ItemIndicator, { children: _jsx(Check, { className: "h-3 w-3" }) }) })] })));
|
|
23
24
|
SelectItem.displayName = SelectPrimitive.Item.displayName;
|
|
24
25
|
const SelectSeparator = React.forwardRef(({ className, ...props }, ref) => (_jsx(SelectPrimitive.Separator, { ref: ref, className: cn("-mx-1 my-1 h-px bg-muted", className), ...props })));
|
|
25
26
|
SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"separator.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/separator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,kBAAkB,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,QAAA,MAAM,SAAS,6JAoBd,CAAC;AAGF,OAAO,EAAE,SAAS,EAAE,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type * as React from "react";
|
|
2
|
+
import { FieldDescription, FieldLabel } from "./field";
|
|
3
|
+
import { type InputProps } from "./input";
|
|
4
|
+
import { SelectTrigger } from "./select";
|
|
5
|
+
import { type TextareaProps } from "./textarea";
|
|
6
|
+
export type SettingsSelectTriggerVariant = "compact" | "filter" | "soft" | "toolbar";
|
|
7
|
+
export type SettingsInputVariant = "compact" | "filter";
|
|
8
|
+
export interface SettingsSelectTriggerProps extends React.ComponentPropsWithoutRef<typeof SelectTrigger> {
|
|
9
|
+
variant?: SettingsSelectTriggerVariant;
|
|
10
|
+
className?: string;
|
|
11
|
+
children?: React.ReactNode;
|
|
12
|
+
}
|
|
13
|
+
export declare function SettingsSelectTrigger({ className, variant, ...props }: SettingsSelectTriggerProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export interface SettingsInputProps extends Omit<InputProps, "variant"> {
|
|
15
|
+
variant?: SettingsInputVariant;
|
|
16
|
+
}
|
|
17
|
+
export declare function SettingsInput({ className, variant, ...props }: SettingsInputProps): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
export interface SettingsTextareaProps extends TextareaProps {
|
|
19
|
+
}
|
|
20
|
+
export declare function SettingsTextarea({ className, ...props }: SettingsTextareaProps): import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
export interface SettingsSegmentedGroupProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
22
|
+
}
|
|
23
|
+
export declare function SettingsSegmentedGroup({ className, ...props }: SettingsSegmentedGroupProps): import("react/jsx-runtime").JSX.Element;
|
|
24
|
+
export interface SettingsMutedTextProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
25
|
+
}
|
|
26
|
+
export declare function SettingsMutedText({ className, ...props }: SettingsMutedTextProps): import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
declare function SettingsField({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
|
|
28
|
+
declare function SettingsFieldLabel({ className, ...props }: React.ComponentPropsWithoutRef<typeof FieldLabel>): import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
declare function SettingsFieldDescription({ className, ...props }: React.ComponentPropsWithoutRef<typeof FieldDescription>): import("react/jsx-runtime").JSX.Element;
|
|
30
|
+
export declare const SettingsControls: {
|
|
31
|
+
Input: typeof SettingsInput;
|
|
32
|
+
SelectTrigger: typeof SettingsSelectTrigger;
|
|
33
|
+
Textarea: typeof SettingsTextarea;
|
|
34
|
+
SegmentedGroup: typeof SettingsSegmentedGroup;
|
|
35
|
+
MutedText: typeof SettingsMutedText;
|
|
36
|
+
Field: typeof SettingsField;
|
|
37
|
+
FieldLabel: typeof SettingsFieldLabel;
|
|
38
|
+
FieldDescription: typeof SettingsFieldDescription;
|
|
39
|
+
};
|
|
40
|
+
export {};
|
|
41
|
+
//# sourceMappingURL=settings-controls.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings-controls.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/settings-controls.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAGpC,OAAO,EAAS,gBAAgB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAE1D,MAAM,MAAM,4BAA4B,GACpC,SAAS,GACT,QAAQ,GACR,MAAM,GACN,SAAS,CAAC;AAEd,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,QAAQ,CAAC;AA0BxD,MAAM,WAAW,0BACf,SAAQ,KAAK,CAAC,wBAAwB,CAAC,OAAO,aAAa,CAAC;IAC5D,OAAO,CAAC,EAAE,4BAA4B,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,wBAAgB,qBAAqB,CAAC,EACpC,SAAS,EACT,OAAmB,EACnB,GAAG,KAAK,EACT,EAAE,0BAA0B,2CAO5B;AAED,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC;IACrE,OAAO,CAAC,EAAE,oBAAoB,CAAC;CAChC;AAED,wBAAgB,aAAa,CAAC,EAC5B,SAAS,EACT,OAAmB,EACnB,GAAG,KAAK,EACT,EAAE,kBAAkB,2CAOpB;AAED,MAAM,WAAW,qBAAsB,SAAQ,aAAa;CAAG;AAE/D,wBAAgB,gBAAgB,CAAC,EAC/B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,qBAAqB,2CAUvB;AAED,MAAM,WAAW,2BACf,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;CAAG;AAEjD,wBAAgB,sBAAsB,CAAC,EACrC,SAAS,EACT,GAAG,KAAK,EACT,EAAE,2BAA2B,2CAU7B;AAED,MAAM,WAAW,sBACf,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;CAAG;AAEjD,wBAAgB,iBAAiB,CAAC,EAChC,SAAS,EACT,GAAG,KAAK,EACT,EAAE,sBAAsB,2CAIxB;AAED,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,2CAEtC;AAED,iBAAS,kBAAkB,CAAC,EAC1B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,wBAAwB,CAAC,OAAO,UAAU,CAAC,2CAOnD;AAED,iBAAS,wBAAwB,CAAC,EAChC,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,wBAAwB,CAAC,OAAO,gBAAgB,CAAC,2CAOzD;AAED,eAAO,MAAM,gBAAgB;;;;;;;;;CAS5B,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from "../../lib/utils";
|
|
3
|
+
import { Field, FieldDescription, FieldLabel } from "./field";
|
|
4
|
+
import { Input } from "./input";
|
|
5
|
+
import { SelectTrigger } from "./select";
|
|
6
|
+
import { Textarea } from "./textarea";
|
|
7
|
+
function settingsSelectTriggerClassName(variant) {
|
|
8
|
+
switch (variant) {
|
|
9
|
+
case "filter":
|
|
10
|
+
return "h-10 rounded-xl border border-border/50 bg-bg/80 px-3 py-2 text-left text-sm text-txt shadow-sm transition-[border-color,box-shadow,background-color] focus-visible:border-accent focus-visible:ring-1 focus-visible:ring-accent";
|
|
11
|
+
case "soft":
|
|
12
|
+
return "rounded-lg border border-border bg-bg px-2.5 py-1.5 text-xs shadow-sm transition-[border-color,box-shadow,background-color] focus-visible:border-accent focus-visible:ring-1 focus-visible:ring-accent";
|
|
13
|
+
case "toolbar":
|
|
14
|
+
return "h-11 rounded-xl border-border/60 bg-bg/70 text-left shadow-sm";
|
|
15
|
+
default:
|
|
16
|
+
return "h-9 rounded-lg border border-border bg-card px-2.5 py-1.5 text-xs shadow-sm transition-[border-color,box-shadow,background-color] focus-visible:border-accent focus-visible:ring-1 focus-visible:ring-accent";
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
function settingsInputClassName(variant) {
|
|
20
|
+
switch (variant) {
|
|
21
|
+
case "filter":
|
|
22
|
+
return "h-10 rounded-xl border-border/50 bg-bg/80 text-sm text-txt shadow-sm";
|
|
23
|
+
default:
|
|
24
|
+
return "h-9 rounded-lg border border-border bg-card px-3 py-2 text-xs shadow-sm transition-[border-color,box-shadow,background-color] focus-visible:border-accent focus-visible:ring-1 focus-visible:ring-accent";
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
export function SettingsSelectTrigger({ className, variant = "compact", ...props }) {
|
|
28
|
+
return (_jsx(SelectTrigger, { className: cn(settingsSelectTriggerClassName(variant), className), ...props }));
|
|
29
|
+
}
|
|
30
|
+
export function SettingsInput({ className, variant = "compact", ...props }) {
|
|
31
|
+
return (_jsx(Input, { className: cn(settingsInputClassName(variant), className), ...props }));
|
|
32
|
+
}
|
|
33
|
+
export function SettingsTextarea({ className, ...props }) {
|
|
34
|
+
return (_jsx(Textarea, { className: cn("w-full rounded-xl border border-border/60 bg-bg/55 px-3 py-2 text-xs-tight font-mono shadow-sm transition-[border-color,box-shadow,background-color] focus-visible:border-accent focus-visible:ring-1 focus-visible:ring-accent", className), ...props }));
|
|
35
|
+
}
|
|
36
|
+
export function SettingsSegmentedGroup({ className, ...props }) {
|
|
37
|
+
return (_jsx("div", { className: cn("flex shrink-0 gap-1 rounded-xl border border-border bg-card/50 p-1", className), ...props }));
|
|
38
|
+
}
|
|
39
|
+
export function SettingsMutedText({ className, ...props }) {
|
|
40
|
+
return (_jsx("div", { className: cn("text-xs-tight text-muted", className), ...props }));
|
|
41
|
+
}
|
|
42
|
+
function SettingsField({ className, ...props }) {
|
|
43
|
+
return _jsx(Field, { className: cn("gap-1.5", className), ...props });
|
|
44
|
+
}
|
|
45
|
+
function SettingsFieldLabel({ className, ...props }) {
|
|
46
|
+
return (_jsx(FieldLabel, { className: cn("text-xs font-semibold text-txt", className), ...props }));
|
|
47
|
+
}
|
|
48
|
+
function SettingsFieldDescription({ className, ...props }) {
|
|
49
|
+
return (_jsx(FieldDescription, { className: cn("text-xs-tight text-muted", className), ...props }));
|
|
50
|
+
}
|
|
51
|
+
export const SettingsControls = {
|
|
52
|
+
Input: SettingsInput,
|
|
53
|
+
SelectTrigger: SettingsSelectTrigger,
|
|
54
|
+
Textarea: SettingsTextarea,
|
|
55
|
+
SegmentedGroup: SettingsSegmentedGroup,
|
|
56
|
+
MutedText: SettingsMutedText,
|
|
57
|
+
Field: SettingsField,
|
|
58
|
+
FieldLabel: SettingsFieldLabel,
|
|
59
|
+
FieldDescription: SettingsFieldDescription,
|
|
60
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skeleton.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/skeleton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,QAAA,MAAM,QAAQ,6GASZ,CAAC;AAGH,iBAAS,YAAY,CAAC,EACpB,KAAc,EACd,SAAc,GACf,EAAE;IACD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,2CAOA;AAED,iBAAS,YAAY,CAAC,EAAE,KAAS,EAAE,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,2CAWtD;AAED,iBAAS,eAAe,CAAC,EAAE,MAAc,EAAE,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,2CAmBhE;AAED,iBAAS,YAAY,4CAapB;AAED,iBAAS,eAAe,4CAYvB;AAED,iBAAS,YAAY,4CAQpB;AAED,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,eAAe,EACf,YAAY,GACb,CAAC"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
import { cn } from "../../lib/utils";
|
|
4
|
-
const Skeleton = React.forwardRef(({ className, ...props }, ref) => (_jsx("div", { ref: ref, className: cn("animate-pulse rounded-md bg-
|
|
4
|
+
const Skeleton = React.forwardRef(({ className, ...props }, ref) => (_jsx("div", { ref: ref, className: cn("animate-pulse rounded-md bg-bg-accent", className), ...props })));
|
|
5
5
|
Skeleton.displayName = "Skeleton";
|
|
6
|
-
/* ── Skeleton Variants ───────────────────────────────────────────────── */
|
|
7
6
|
function SkeletonLine({ width = "100%", className = "", }) {
|
|
8
7
|
return (_jsx("div", { className: cn("h-4 animate-pulse rounded bg-bg-accent", className), style: { width } }));
|
|
9
8
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/slider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,QAAA,MAAM,MAAM,yJAiBV,CAAC;AAGH,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
|
@@ -2,6 +2,6 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import * as SliderPrimitive from "@radix-ui/react-slider";
|
|
3
3
|
import * as React from "react";
|
|
4
4
|
import { cn } from "../../lib/utils";
|
|
5
|
-
const Slider = React.forwardRef(({ className, ...props }, ref) => (_jsxs(SliderPrimitive.Root, { ref: ref, className: cn("relative flex w-full touch-none select-none items-center", className), ...props, children: [_jsx(SliderPrimitive.Track, { className: "relative h-2 w-full grow overflow-hidden rounded-full bg-
|
|
5
|
+
const Slider = React.forwardRef(({ className, ...props }, ref) => (_jsxs(SliderPrimitive.Root, { ref: ref, className: cn("relative flex w-full touch-none select-none items-center", className), ...props, children: [_jsx(SliderPrimitive.Track, { className: "relative h-2 w-full grow overflow-hidden rounded-full bg-input", children: _jsx(SliderPrimitive.Range, { className: "absolute h-full bg-primary" }) }), _jsx(SliderPrimitive.Thumb, { className: "block h-5 w-5 rounded-full border-2 border-primary bg-bg ring-offset-bg transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50" })] })));
|
|
6
6
|
Slider.displayName = SliderPrimitive.Root.displayName;
|
|
7
7
|
export { Slider };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sonner.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/sonner.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Toaster, toast } from "sonner";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spinner.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/spinner.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,MAAM,WAAW,YAAa,SAAQ,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC;IACtE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,OAAO,oFAWnB,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type VariantProps } from "class-variance-authority";
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
declare const stackVariants: (props?: ({
|
|
4
|
-
direction?: "
|
|
4
|
+
direction?: "col" | "row" | null | undefined;
|
|
5
5
|
align?: "center" | "end" | "baseline" | "start" | "stretch" | null | undefined;
|
|
6
6
|
justify?: "center" | "end" | "start" | "between" | null | undefined;
|
|
7
7
|
spacing?: "none" | "sm" | "lg" | "md" | null | undefined;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stack.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/stack.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,QAAA,MAAM,aAAa;;;;;8EA8BjB,CAAC;AAEH,MAAM,WAAW,UACf,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAC1C,YAAY,CAAC,OAAO,aAAa,CAAC;CAAG;AAEzC,eAAO,MAAM,KAAK,mFAajB,CAAC"}
|
|
@@ -1,14 +1,21 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
export type
|
|
3
|
-
export
|
|
2
|
+
export type StatusVariant = "success" | "warning" | "danger" | "muted";
|
|
3
|
+
export type StatusTone = StatusVariant;
|
|
4
|
+
export declare function statusToneForBoolean(condition: boolean, onTone?: StatusVariant, offTone?: StatusVariant): StatusVariant;
|
|
5
|
+
export declare function statusToneForState(status: string): StatusVariant;
|
|
6
|
+
export declare function statusLabelForState(status: string): string;
|
|
4
7
|
export interface StatusBadgeProps extends React.HTMLAttributes<HTMLSpanElement> {
|
|
5
8
|
label: string;
|
|
6
|
-
|
|
9
|
+
variant?: StatusVariant;
|
|
10
|
+
tone?: StatusTone;
|
|
7
11
|
withDot?: boolean;
|
|
8
12
|
}
|
|
9
13
|
export declare const StatusBadge: React.ForwardRefExoticComponent<StatusBadgeProps & React.RefAttributes<HTMLSpanElement>>;
|
|
10
14
|
export interface StatusDotProps extends React.HTMLAttributes<HTMLSpanElement> {
|
|
11
|
-
status
|
|
15
|
+
/** Semantic status string — mapped to a variant internally. */
|
|
16
|
+
status?: string;
|
|
17
|
+
/** Direct variant override — when provided, `status` is ignored. */
|
|
18
|
+
tone?: StatusVariant;
|
|
12
19
|
}
|
|
13
20
|
export declare const StatusDot: React.ForwardRefExoticComponent<StatusDotProps & React.RefAttributes<HTMLSpanElement>>;
|
|
14
21
|
export interface StatCardProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status-badge.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/status-badge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;AACvE,MAAM,MAAM,UAAU,GAAG,aAAa,CAAC;AAEvC,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,OAAO,EAClB,MAAM,GAAE,aAAyB,EACjC,OAAO,GAAE,aAAuB,GAC/B,aAAa,CAEf;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CA0BhE;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAI1D;AAED,MAAM,WAAW,gBACf,SAAQ,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,WAAW,0FAqCvB,CAAC;AAGF,MAAM,WAAW,cAAe,SAAQ,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC;IAC3E,+DAA+D;IAC/D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB;AAED,eAAO,MAAM,SAAS,wFA4BrB,CAAC;AAGF,MAAM,WAAW,aAAc,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACzE,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,eAAO,MAAM,QAAQ,sFAuBpB,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { cn } from "../../lib/utils";
|
|
4
|
+
export function statusToneForBoolean(condition, onTone = "success", offTone = "muted") {
|
|
5
|
+
return condition ? onTone : offTone;
|
|
6
|
+
}
|
|
7
|
+
export function statusToneForState(status) {
|
|
8
|
+
const normalized = status.trim().toLowerCase();
|
|
9
|
+
if (normalized === "success" ||
|
|
10
|
+
normalized === "completed" ||
|
|
11
|
+
normalized === "connected" ||
|
|
12
|
+
normalized === "approved" ||
|
|
13
|
+
normalized === "signed" ||
|
|
14
|
+
normalized === "broadcast" ||
|
|
15
|
+
normalized === "confirmed" ||
|
|
16
|
+
normalized === "ready") {
|
|
17
|
+
return "success";
|
|
18
|
+
}
|
|
19
|
+
if (normalized === "warning" || normalized === "pending") {
|
|
20
|
+
return "warning";
|
|
21
|
+
}
|
|
22
|
+
if (normalized === "error" ||
|
|
23
|
+
normalized === "failed" ||
|
|
24
|
+
normalized === "denied" ||
|
|
25
|
+
normalized === "rejected") {
|
|
26
|
+
return "danger";
|
|
27
|
+
}
|
|
28
|
+
return "muted";
|
|
29
|
+
}
|
|
30
|
+
export function statusLabelForState(status) {
|
|
31
|
+
const normalized = status.trim().replace(/[_-]+/g, " ");
|
|
32
|
+
if (!normalized)
|
|
33
|
+
return status;
|
|
34
|
+
return normalized.replace(/\b\w/g, (match) => match.toUpperCase());
|
|
35
|
+
}
|
|
36
|
+
export const StatusBadge = React.forwardRef(({ label, variant, tone, withDot = false, className, ...props }, ref) => {
|
|
37
|
+
const resolvedVariant = variant ?? tone ?? "muted";
|
|
38
|
+
return (_jsxs("span", { ref: ref, className: cn("inline-flex items-center gap-1 rounded-sm border px-2 py-0.5 text-2xs font-bold uppercase", resolvedVariant === "success"
|
|
39
|
+
? "border-ok/35 bg-ok/12 text-ok"
|
|
40
|
+
: resolvedVariant === "warning"
|
|
41
|
+
? "border-warn/40 bg-warn/14 text-warn"
|
|
42
|
+
: resolvedVariant === "danger"
|
|
43
|
+
? "border-destructive/35 bg-destructive/12 text-destructive"
|
|
44
|
+
: "border-border bg-bg-accent text-muted-strong", className), ...props, children: [withDot && (_jsx("span", { className: cn("h-1.5 w-1.5 rounded-full", resolvedVariant === "success"
|
|
45
|
+
? "bg-ok"
|
|
46
|
+
: resolvedVariant === "warning"
|
|
47
|
+
? "bg-warn"
|
|
48
|
+
: resolvedVariant === "danger"
|
|
49
|
+
? "bg-destructive"
|
|
50
|
+
: "bg-muted") })), label] }));
|
|
51
|
+
});
|
|
52
|
+
StatusBadge.displayName = "StatusBadge";
|
|
53
|
+
export const StatusDot = React.forwardRef(({ status, tone: toneProp, className, ...props }, ref) => {
|
|
54
|
+
const variant = toneProp ??
|
|
55
|
+
(status === "success" || status === "completed" || status === "connected"
|
|
56
|
+
? "success"
|
|
57
|
+
: status === "error" || status === "failed" || status === "denied"
|
|
58
|
+
? "danger"
|
|
59
|
+
: "muted");
|
|
60
|
+
return (_jsx("span", { ref: ref, className: cn("inline-block h-2 w-2 rounded-full", variant === "success"
|
|
61
|
+
? "bg-ok"
|
|
62
|
+
: variant === "warning"
|
|
63
|
+
? "bg-warn"
|
|
64
|
+
: variant === "danger"
|
|
65
|
+
? "bg-destructive"
|
|
66
|
+
: "bg-muted", className), ...props }));
|
|
67
|
+
});
|
|
68
|
+
StatusDot.displayName = "StatusDot";
|
|
69
|
+
export const StatCard = React.forwardRef(({ label, value, accent = false, className, ...props }, ref) => (_jsxs("div", { ref: ref, className: cn("flex flex-col items-center justify-center border border-border bg-bg p-3 min-w-[80px]", className), ...props, children: [_jsx("div", { className: cn("text-lg font-bold tabular-nums", accent && "text-accent"), children: value }), _jsx("div", { className: "mt-0.5 text-2xs uppercase tracking-wide text-muted", children: label })] })));
|
|
70
|
+
StatCard.displayName = "StatCard";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"switch.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/switch.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,QAAA,MAAM,MAAM,8JAmBV,CAAC;AAGH,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import * as SwitchPrimitives from "@radix-ui/react-switch";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { cn } from "../../lib/utils";
|
|
5
|
+
const Switch = React.forwardRef(({ className, children, ...props }, ref) => (_jsxs(SwitchPrimitives.Root, { className: cn("peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-bg disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-ok data-[state=unchecked]:bg-input", className), ...props, ref: ref, children: [_jsx(SwitchPrimitives.Thumb, { className: cn("pointer-events-none block h-5 w-5 rounded-full bg-card shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0") }), children] })));
|
|
6
|
+
Switch.displayName = SwitchPrimitives.Root.displayName;
|
|
7
|
+
export { Switch };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/tabs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,aAAa,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,QAAA,MAAM,IAAI,gGAAqB,CAAC;AAEhC,QAAA,MAAM,QAAQ,uJAYZ,CAAC;AAGH,QAAA,MAAM,WAAW,gKAYf,CAAC;AAGH,QAAA,MAAM,WAAW,0JAYf,CAAC;AAGH,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -3,7 +3,7 @@ import * as TabsPrimitive from "@radix-ui/react-tabs";
|
|
|
3
3
|
import * as React from "react";
|
|
4
4
|
import { cn } from "../../lib/utils";
|
|
5
5
|
const Tabs = TabsPrimitive.Root;
|
|
6
|
-
const TabsList = React.forwardRef(({ className, ...props }, ref) => (_jsx(TabsPrimitive.List, { ref: ref, className: cn("inline-flex h-10 items-center justify-center rounded-md bg-
|
|
6
|
+
const TabsList = React.forwardRef(({ className, ...props }, ref) => (_jsx(TabsPrimitive.List, { ref: ref, className: cn("inline-flex h-10 items-center justify-center rounded-md bg-bg-accent p-1 text-muted", className), ...props })));
|
|
7
7
|
TabsList.displayName = TabsPrimitive.List.displayName;
|
|
8
8
|
const TabsTrigger = React.forwardRef(({ className, ...props }, ref) => (_jsx(TabsPrimitive.Trigger, { ref: ref, className: cn("inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-bg transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-bg data-[state=active]:text-txt data-[state=active]:shadow-sm", className), ...props })));
|
|
9
9
|
TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface TagEditorProps {
|
|
2
|
+
items: string[];
|
|
3
|
+
onChange: (items: string[]) => void;
|
|
4
|
+
label?: string;
|
|
5
|
+
placeholder?: string;
|
|
6
|
+
className?: string;
|
|
7
|
+
maxItems?: number;
|
|
8
|
+
addLabel?: string;
|
|
9
|
+
removeLabel?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare function TagEditor({ items, onChange, label, placeholder, className, maxItems, addLabel, removeLabel, }: TagEditorProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
//# sourceMappingURL=tag-editor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tag-editor.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/tag-editor.tsx"],"names":[],"mappings":"AAQA,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAMD,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,QAAQ,EACR,KAAK,EACL,WAA4B,EAC5B,SAAS,EACT,QAAQ,EACR,QAAgB,EAChB,WAAsB,GACvB,EAAE,cAAc,2CAwEhB"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { X } from "lucide-react";
|
|
3
|
+
import { useCallback, useMemo, useState } from "react";
|
|
4
|
+
import { cn } from "../../lib/utils";
|
|
5
|
+
import { Button } from "./button";
|
|
6
|
+
import { Input } from "./input";
|
|
7
|
+
import { Label } from "./label";
|
|
8
|
+
function normalizeTagValue(value) {
|
|
9
|
+
return value.trim();
|
|
10
|
+
}
|
|
11
|
+
export function TagEditor({ items, onChange, label, placeholder = "Add a tag...", className, maxItems, addLabel = "Add", removeLabel = "Remove", }) {
|
|
12
|
+
const [draft, setDraft] = useState("");
|
|
13
|
+
const normalizedItems = useMemo(() => items.map((item) => normalizeTagValue(item)).filter(Boolean), [items]);
|
|
14
|
+
const itemSet = useMemo(() => new Set(normalizedItems.map((item) => item.toLowerCase())), [normalizedItems]);
|
|
15
|
+
const canAddMore = typeof maxItems !== "number" || normalizedItems.length < maxItems;
|
|
16
|
+
const commitDraft = useCallback(() => {
|
|
17
|
+
const next = normalizeTagValue(draft);
|
|
18
|
+
if (!next || !canAddMore || itemSet.has(next.toLowerCase())) {
|
|
19
|
+
setDraft("");
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
onChange([...normalizedItems, next]);
|
|
23
|
+
setDraft("");
|
|
24
|
+
}, [canAddMore, draft, itemSet, normalizedItems, onChange]);
|
|
25
|
+
const removeItem = useCallback((item) => {
|
|
26
|
+
onChange(normalizedItems.filter((candidate) => candidate !== item));
|
|
27
|
+
}, [normalizedItems, onChange]);
|
|
28
|
+
return (_jsxs("div", { className: cn("flex flex-col gap-2", className), children: [label ? _jsx(Label, { children: label }) : null, _jsx("div", { className: "flex flex-wrap gap-2", children: normalizedItems.map((item) => (_jsxs("span", { className: "inline-flex items-center gap-1 rounded-full border border-border/50 bg-bg-accent px-2.5 py-1 text-xs text-txt", children: [_jsx("span", { children: item }), _jsx(Button, { type: "button", size: "icon", variant: "ghost", className: "h-4 w-4 rounded-full text-muted hover:text-txt", "aria-label": `${removeLabel} ${item}`, onClick: () => removeItem(item), children: _jsx(X, { className: "h-3 w-3" }) })] }, item))) }), _jsx(Input, { "aria-label": label ?? addLabel, value: draft, onChange: (event) => setDraft(event.target.value), onKeyDown: (event) => {
|
|
29
|
+
if (event.key !== "Enter" && event.key !== ",")
|
|
30
|
+
return;
|
|
31
|
+
event.preventDefault();
|
|
32
|
+
commitDraft();
|
|
33
|
+
}, onBlur: commitDraft, placeholder: canAddMore ? placeholder : "Tag limit reached", disabled: !canAddMore })] }));
|
|
34
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tag-input.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/tag-input.tsx"],"names":[],"mappings":"AAAA,YAAY,EAAE,cAAc,IAAI,aAAa,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,SAAS,IAAI,QAAQ,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { TagEditor as TagInput } from "./tag-editor";
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type VariantProps } from "class-variance-authority";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
declare const textareaVariants: (props?: ({
|
|
4
|
+
variant?: "form" | "default" | "config" | null | undefined;
|
|
5
|
+
density?: "default" | "compact" | "relaxed" | null | undefined;
|
|
6
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
7
|
+
export interface TextareaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement>, VariantProps<typeof textareaVariants> {
|
|
8
|
+
hasError?: boolean;
|
|
9
|
+
}
|
|
10
|
+
declare const Textarea: React.ForwardRefExoticComponent<TextareaProps & React.RefAttributes<HTMLTextAreaElement>>;
|
|
11
|
+
export { Textarea, textareaVariants };
|
|
12
|
+
//# sourceMappingURL=textarea.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textarea.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/textarea.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,QAAA,MAAM,gBAAgB;;;8EAsBrB,CAAC;AAEF,MAAM,WAAW,aACf,SAAQ,KAAK,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,EACvD,YAAY,CAAC,OAAO,gBAAgB,CAAC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,QAAA,MAAM,QAAQ,2FAeb,CAAC;AAGF,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { cva } from "class-variance-authority";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { cn } from "../../lib/utils";
|
|
5
|
+
const textareaVariants = cva("w-full border text-sm resize-y transition-[border-color,box-shadow,background-color] disabled:cursor-not-allowed disabled:opacity-50", {
|
|
6
|
+
variants: {
|
|
7
|
+
variant: {
|
|
8
|
+
default: "flex rounded-md border-input bg-bg px-3 py-2 ring-offset-bg placeholder:text-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
|
|
9
|
+
form: "rounded-2xl border-border/60 bg-bg/70 px-4 py-3 outline-none shadow-sm focus-visible:border-accent focus-visible:ring-1 focus-visible:ring-accent",
|
|
10
|
+
config: "border-border bg-card font-[var(--mono)] placeholder:text-muted placeholder:opacity-60 focus:border-accent focus:outline-none focus:ring-1 focus:ring-accent",
|
|
11
|
+
},
|
|
12
|
+
density: {
|
|
13
|
+
default: "min-h-[80px]",
|
|
14
|
+
compact: "min-h-[64px] px-2 py-1.5 text-xs",
|
|
15
|
+
relaxed: "min-h-[132px]",
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
defaultVariants: {
|
|
19
|
+
variant: "default",
|
|
20
|
+
density: "default",
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
const Textarea = React.forwardRef(({ className, variant, density, hasError, ...props }, ref) => {
|
|
24
|
+
return (_jsx("textarea", { className: cn(textareaVariants({ variant, density }), hasError &&
|
|
25
|
+
"border-destructive bg-[color-mix(in_srgb,var(--destructive)_3%,var(--card))]", className), ref: ref, ...props }));
|
|
26
|
+
});
|
|
27
|
+
Textarea.displayName = "Textarea";
|
|
28
|
+
export { Textarea, textareaVariants };
|
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ThemedSelect — custom dropdown with grouped options.
|
|
3
|
-
*
|
|
4
|
-
* A generic, fully-controlled select component that supports grouped option
|
|
5
|
-
* lists and optional hint text per item. Has no dependency on any app-level
|
|
6
|
-
* context; all state is passed in as props.
|
|
7
|
-
*/
|
|
8
1
|
export interface ThemedSelectGroup<T extends string = string> {
|
|
9
2
|
label: string;
|
|
10
3
|
items: {
|
|
@@ -22,6 +15,8 @@ export interface ThemedSelectProps<T extends string = string> {
|
|
|
22
15
|
className?: string;
|
|
23
16
|
triggerClassName?: string;
|
|
24
17
|
menuClassName?: string;
|
|
18
|
+
ariaLabel?: string;
|
|
19
|
+
ariaLabelledBy?: string;
|
|
25
20
|
}
|
|
26
|
-
export declare function ThemedSelect<T extends string>({ value, groups, onChange, placeholder, menuPlacement, className, triggerClassName, menuClassName, }: ThemedSelectProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
export declare function ThemedSelect<T extends string>({ value, groups, onChange, placeholder, menuPlacement, className, triggerClassName, menuClassName, ariaLabel, ariaLabelledBy, }: ThemedSelectProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
27
22
|
//# sourceMappingURL=themed-select.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"themed-select.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/themed-select.tsx"],"names":[],"mappings":"AAYA,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE;QAAE,EAAE,EAAE,CAAC,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACjD;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IAC1D,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IAChB,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/B,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AASD,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,EAC7C,KAAK,EACL,MAAM,EACN,QAAQ,EACR,WAAuB,EACvB,aAAwB,EACxB,SAAc,EACd,gBAAqB,EACrB,aAAkB,EAClB,SAAS,EACT,cAAc,GACf,EAAE,iBAAiB,CAAC,CAAC,CAAC,2CA0OtB"}
|