@ciridae/ui 0.16.1 → 1.0.1
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 +17 -12
- package/dist/chat/chat-api-error.d.ts +14 -0
- package/dist/chat/chat-api-error.js +11 -0
- package/dist/chat/chat-client.d.ts +37 -0
- package/dist/chat/chat-client.js +66 -0
- package/dist/chat/chat-hooks.d.ts +4 -0
- package/dist/chat/chat-hooks.js +4 -0
- package/dist/chat/chat-query-keys.d.ts +10 -0
- package/dist/chat/chat-query-keys.js +8 -0
- package/dist/chat/contract.d.ts +488 -0
- package/dist/chat/contract.js +223 -0
- package/dist/chat/conversation-items-query-options.d.ts +382 -0
- package/dist/chat/conversation-items-query-options.js +15 -0
- package/dist/chat/describe-tool-call.d.ts +5 -0
- package/dist/chat/describe-tool-call.js +33 -0
- package/dist/chat/fetch-new-conversation-items.d.ts +10 -0
- package/dist/chat/fetch-new-conversation-items.js +38 -0
- package/dist/chat/message-group-position.d.ts +17 -0
- package/dist/chat/message-group-position.js +25 -0
- package/dist/chat/message-text.d.ts +23 -0
- package/dist/chat/message-text.js +118 -0
- package/dist/chat/mock-chat-client.d.ts +97 -0
- package/dist/chat/mock-chat-client.js +566 -0
- package/dist/chat/use-chat-conversation.d.ts +43 -0
- package/dist/chat/use-chat-conversation.js +156 -0
- package/dist/chat/use-conversation-list.d.ts +32 -0
- package/dist/chat/use-conversation-list.js +19 -0
- package/dist/ciridae.css +60 -479
- package/dist/components/activity-feed.d.ts +80 -0
- package/dist/components/activity-feed.js +373 -0
- package/dist/components/agent-work.d.ts +76 -0
- package/dist/components/agent-work.js +224 -0
- package/dist/components/app-navigation.d.ts +66 -0
- package/dist/components/app-navigation.js +102 -0
- package/dist/components/badge.d.ts +14 -0
- package/dist/components/badge.js +107 -0
- package/dist/components/brand-icons.d.ts +17 -0
- package/dist/components/brand-icons.js +21 -0
- package/dist/components/breakpoint.d.ts +7 -0
- package/dist/components/breakpoint.js +16 -0
- package/dist/components/bulk-action-bar.d.ts +15 -0
- package/dist/components/bulk-action-bar.js +45 -0
- package/dist/components/button.d.ts +52 -0
- package/dist/components/button.js +272 -0
- package/dist/components/calendar.d.ts +14 -0
- package/dist/components/calendar.js +158 -0
- package/dist/components/centered-page.d.ts +21 -0
- package/dist/components/centered-page.js +55 -0
- package/dist/components/chart.d.ts +22 -0
- package/dist/components/chart.js +116 -0
- package/dist/components/chat-page.d.ts +34 -0
- package/dist/components/chat-page.js +171 -0
- package/dist/components/chat-sheet-controller.d.ts +50 -0
- package/dist/components/chat-sheet-controller.js +133 -0
- package/dist/components/chat-sheet.d.ts +80 -0
- package/dist/components/chat-sheet.js +544 -0
- package/dist/components/chat.d.ts +135 -0
- package/dist/components/chat.js +545 -0
- package/dist/components/checkbox-item.d.ts +11 -0
- package/dist/components/checkbox-item.js +45 -0
- package/dist/components/checkbox-list.d.ts +51 -0
- package/dist/components/checkbox-list.js +167 -0
- package/dist/components/chip.d.ts +17 -0
- package/dist/components/chip.js +43 -0
- package/dist/components/collapsible.d.ts +8 -0
- package/dist/components/collapsible.js +41 -0
- package/dist/components/color-theme.d.ts +40 -0
- package/dist/components/color-theme.js +109 -0
- package/dist/components/column-settings.d.ts +22 -0
- package/dist/components/column-settings.js +112 -0
- package/dist/components/command-match.d.ts +7 -0
- package/dist/components/command-match.js +50 -0
- package/dist/components/command-menu.d.ts +43 -0
- package/dist/components/command-menu.js +339 -0
- package/dist/components/command-palette.d.ts +36 -0
- package/dist/components/command-palette.js +77 -0
- package/dist/components/controllable-state.d.ts +5 -0
- package/dist/components/controllable-state.js +15 -0
- package/dist/components/copyable-id.d.ts +37 -0
- package/dist/components/copyable-id.js +136 -0
- package/dist/components/data-display.d.ts +47 -0
- package/dist/components/data-display.js +221 -0
- package/dist/components/data-grid.d.ts +170 -0
- package/dist/components/data-grid.js +829 -0
- package/dist/components/date-range-picker.d.ts +44 -0
- package/dist/components/date-range-picker.js +153 -0
- package/dist/components/date-time.d.ts +11 -0
- package/dist/components/date-time.js +44 -0
- package/dist/components/dialog-height-context.d.ts +2 -0
- package/dist/components/dialog-height-context.js +3 -0
- package/dist/components/document-viewer.d.ts +62 -0
- package/dist/components/document-viewer.js +419 -0
- package/dist/components/drawer.d.ts +44 -0
- package/dist/components/drawer.js +236 -0
- package/dist/components/dropzone.d.ts +47 -0
- package/dist/components/dropzone.js +370 -0
- package/dist/components/editable-field.d.ts +99 -0
- package/dist/components/editable-field.js +422 -0
- package/dist/components/email-input.d.ts +12 -0
- package/dist/components/email-input.js +83 -0
- package/dist/components/environment-frame.d.ts +13 -0
- package/dist/components/environment-frame.js +42 -0
- package/dist/components/expandable-text.d.ts +9 -0
- package/dist/components/expandable-text.js +48 -0
- package/dist/components/feedback-screenshot.d.ts +19 -0
- package/dist/components/feedback-screenshot.js +162 -0
- package/dist/components/feedback-sheet.d.ts +80 -0
- package/dist/components/feedback-sheet.js +475 -0
- package/dist/components/field-context.d.ts +23 -0
- package/dist/components/field-context.js +15 -0
- package/dist/components/filter-bar.d.ts +77 -0
- package/dist/components/filter-bar.js +350 -0
- package/dist/components/form-controls.d.ts +53 -0
- package/dist/components/form-controls.js +123 -0
- package/dist/components/form-layout.d.ts +32 -0
- package/dist/components/form-layout.js +72 -0
- package/dist/components/hotkeys.d.ts +27 -0
- package/dist/components/hotkeys.js +70 -0
- package/dist/components/icon.d.ts +58 -0
- package/dist/components/icon.js +42 -0
- package/dist/components/input.d.ts +36 -0
- package/dist/components/input.js +249 -0
- package/dist/components/keyboard-shortcuts.d.ts +10 -0
- package/dist/components/keyboard-shortcuts.js +91 -0
- package/dist/components/keycap.d.ts +12 -0
- package/dist/components/keycap.js +45 -0
- package/dist/components/layout.d.ts +174 -0
- package/dist/components/layout.js +282 -0
- package/dist/components/lightbox.d.ts +14 -0
- package/dist/components/lightbox.js +117 -0
- package/dist/components/link.d.ts +13 -0
- package/dist/components/link.js +37 -0
- package/dist/components/locale.d.ts +463 -0
- package/dist/components/locale.js +501 -0
- package/dist/components/log-list.d.ts +20 -0
- package/dist/components/log-list.js +92 -0
- package/dist/components/mention-input.d.ts +50 -0
- package/dist/components/mention-input.js +503 -0
- package/dist/components/menu.d.ts +76 -0
- package/dist/components/menu.js +112 -0
- package/dist/components/meter.d.ts +14 -0
- package/dist/components/meter.js +44 -0
- package/dist/components/navigation.d.ts +21 -0
- package/dist/components/navigation.js +75 -0
- package/dist/components/notification-tray.d.ts +47 -0
- package/dist/components/notification-tray.js +218 -0
- package/dist/components/overlays.d.ts +107 -0
- package/dist/components/overlays.js +240 -0
- package/dist/components/page-frame.d.ts +65 -0
- package/dist/components/page-frame.js +94 -0
- package/dist/components/panel.d.ts +24 -0
- package/dist/components/panel.js +107 -0
- package/dist/components/profile-header.d.ts +15 -0
- package/dist/components/profile-header.js +40 -0
- package/dist/components/progress.d.ts +5 -0
- package/dist/components/progress.js +18 -0
- package/dist/components/project-avatar.d.ts +12 -0
- package/dist/components/project-avatar.js +22 -0
- package/dist/components/radio-card.d.ts +22 -0
- package/dist/components/radio-card.js +66 -0
- package/dist/components/recent-items.d.ts +28 -0
- package/dist/components/recent-items.js +63 -0
- package/dist/components/record.d.ts +95 -0
- package/dist/components/record.js +282 -0
- package/dist/components/scroll-area.d.ts +16 -0
- package/dist/components/scroll-area.js +50 -0
- package/dist/components/secret-dialog.d.ts +10 -0
- package/dist/components/secret-dialog.js +12 -0
- package/dist/components/segmented-bar.d.ts +23 -0
- package/dist/components/segmented-bar.js +75 -0
- package/dist/components/select.d.ts +84 -0
- package/dist/components/select.js +374 -0
- package/dist/components/settings.d.ts +34 -0
- package/dist/components/settings.js +56 -0
- package/dist/components/shell-skeleton.d.ts +7 -0
- package/dist/components/shell-skeleton.js +15 -0
- package/dist/components/shell.d.ts +62 -0
- package/dist/components/shell.js +415 -0
- package/dist/components/side-panel.d.ts +36 -0
- package/dist/components/side-panel.js +184 -0
- package/dist/components/sidebar.d.ts +35 -0
- package/dist/components/sidebar.js +207 -0
- package/dist/components/site-banner.d.ts +25 -0
- package/dist/components/site-banner.js +30 -0
- package/dist/components/skeleton.d.ts +15 -0
- package/dist/components/skeleton.js +61 -0
- package/dist/components/skeletons.d.ts +28 -0
- package/dist/components/skeletons.js +60 -0
- package/dist/components/stages.d.ts +97 -0
- package/dist/components/stages.js +365 -0
- package/dist/components/stat-card.d.ts +34 -0
- package/dist/components/stat-card.js +117 -0
- package/dist/components/status-banner.d.ts +17 -0
- package/dist/components/status-banner.js +132 -0
- package/dist/components/status.d.ts +32 -0
- package/dist/components/status.js +93 -0
- package/dist/components/steps.d.ts +17 -0
- package/dist/components/steps.js +51 -0
- package/dist/components/switch.d.ts +6 -0
- package/dist/components/switch.js +39 -0
- package/dist/components/tabs.d.ts +48 -0
- package/dist/components/tabs.js +247 -0
- package/dist/components/theme-customizer.d.ts +53 -0
- package/dist/components/theme-customizer.js +116 -0
- package/dist/components/toast.d.ts +23 -0
- package/dist/components/toast.js +140 -0
- package/dist/components/user-chip.d.ts +66 -0
- package/dist/components/user-chip.js +174 -0
- package/dist/components/wizard.d.ts +33 -0
- package/dist/components/wizard.js +91 -0
- package/dist/feedback/client.d.ts +37 -0
- package/dist/feedback/client.js +125 -0
- package/dist/feedback/comment-types.d.ts +17 -0
- package/dist/feedback/contract.d.ts +252 -0
- package/dist/feedback/contract.js +32 -0
- package/dist/feedback/feedback-cache.d.ts +6 -0
- package/dist/feedback/feedback-cache.js +58 -0
- package/dist/feedback/feedback-center-model.d.ts +8 -0
- package/dist/feedback/feedback-center-model.js +37 -0
- package/dist/feedback/feedback-composer-types.d.ts +11 -0
- package/dist/feedback/feedback-controller.d.ts +56 -0
- package/dist/feedback/feedback-controller.js +181 -0
- package/dist/feedback/feedback-tracking-types.d.ts +14 -0
- package/dist/feedback/generated/index.d.ts +1 -0
- package/dist/feedback/generated/index.js +2 -0
- package/dist/feedback/generated/types.gen.d.ts +737 -0
- package/dist/feedback/generated/types.gen.js +2 -0
- package/dist/feedback/generated/zod.gen.d.ts +738 -0
- package/dist/feedback/generated/zod.gen.js +293 -0
- package/dist/feedback/get-response-error-id.d.ts +1 -0
- package/dist/feedback/get-response-error-id.js +7 -0
- package/dist/feedback/operator-client.d.ts +21 -0
- package/dist/feedback/operator-client.js +96 -0
- package/dist/feedback/operator-contract.d.ts +111 -0
- package/dist/feedback/operator-contract.js +22 -0
- package/dist/feedback/operator-controller.d.ts +80 -0
- package/dist/feedback/operator-controller.js +43 -0
- package/dist/feedback/require-config.d.ts +2 -0
- package/dist/feedback/require-config.js +7 -0
- package/dist/feedback/submit-feedback-with-attachments.d.ts +10 -0
- package/dist/feedback/submit-feedback-with-attachments.js +10 -0
- package/dist/format/compact-number.d.ts +2 -0
- package/dist/format/compact-number.js +8 -0
- package/dist/format/money.d.ts +13 -0
- package/dist/format/money.js +21 -0
- package/dist/format/usd.d.ts +2 -0
- package/dist/format/usd.js +16 -0
- package/dist/preset.d.ts +18 -0
- package/dist/preset.js +470 -0
- package/dist/styled-system/css/conditions.mjs +1 -1
- package/dist/styled-system/css/css.mjs +3 -3
- package/dist/styled-system/patterns/box.d.ts +1 -1
- package/dist/styled-system/patterns/container.d.ts +1 -1
- package/dist/styled-system/patterns/link-overlay.d.ts +1 -1
- package/dist/styled-system/patterns/visually-hidden.d.ts +1 -1
- package/dist/styled-system/styles.css +7834 -458
- package/dist/styled-system/tokens/index.mjs +1465 -677
- package/dist/styled-system/tokens/tokens.d.ts +32 -26
- package/dist/styled-system/types/conditions.d.ts +11 -1
- package/dist/styled-system/types/prop-type.d.ts +12 -23
- package/dist/styled-system/types/style-props.d.ts +25 -24
- package/dist/styles.css +60 -479
- package/dist/theme/breakpoints.d.ts +15 -0
- package/dist/theme/breakpoints.js +12 -0
- package/dist/theme/color.d.ts +2 -0
- package/dist/theme/color.js +27 -0
- package/dist/theme/derive.d.ts +5 -0
- package/dist/theme/derive.js +43 -0
- package/dist/theme/index.d.ts +4 -0
- package/dist/theme/index.js +9 -0
- package/dist/theme/options.d.ts +32 -0
- package/dist/theme/options.js +9 -0
- package/dist/theme/palettes.d.ts +60 -0
- package/dist/theme/palettes.js +185 -0
- package/dist/theme/tokens.d.ts +29 -0
- package/dist/theme/tokens.js +188 -0
- package/package.json +475 -68
- package/dist/assets/ciridae/brand-background-dark.webp +0 -0
- package/dist/assets/ciridae/brand-background-light.webp +0 -0
- package/dist/assets/ciridae/ciridae-black.svg +0 -17
- package/dist/assets/ciridae/ciridae-brand-assets.d.ts +0 -25
- package/dist/assets/ciridae/ciridae-brand-assets.js +0 -25
- package/dist/assets/ciridae/ciridae-icon-black.png +0 -0
- package/dist/assets/ciridae/ciridae-icon-white.png +0 -0
- package/dist/assets/ciridae/ciridae-ui-wordmark-black.png +0 -0
- package/dist/assets/ciridae/ciridae-ui-wordmark-white.png +0 -0
- package/dist/assets/ciridae/ciridae-white.svg +0 -17
- package/dist/assets/ciridae/ciridae-wordmark-black.png +0 -0
- package/dist/assets/ciridae/ciridae-wordmark-white.png +0 -0
- package/dist/assets/ciridae/favicon.ico +0 -0
- package/dist/assets/ciridae/logo-white.png +0 -0
- package/dist/assets/ciridae/sign-in-screenshot.png +0 -0
- package/dist/components/blocks/admin-users-table.d.ts +0 -22
- package/dist/components/blocks/admin-users-table.js +0 -115
- package/dist/components/blocks/comment-composer.d.ts +0 -18
- package/dist/components/blocks/comment-composer.js +0 -137
- package/dist/components/blocks/comment-item.d.ts +0 -8
- package/dist/components/blocks/comment-item.js +0 -45
- package/dist/components/blocks/comment-thread.d.ts +0 -19
- package/dist/components/blocks/comment-thread.js +0 -37
- package/dist/components/blocks/comment-types.d.ts +0 -18
- package/dist/components/blocks/comment-types.js +0 -11
- package/dist/components/blocks/copy-field.d.ts +0 -18
- package/dist/components/blocks/copy-field.js +0 -61
- package/dist/components/blocks/feedback-center-comments.d.ts +0 -16
- package/dist/components/blocks/feedback-center-comments.js +0 -61
- package/dist/components/blocks/feedback-center-footer.d.ts +0 -12
- package/dist/components/blocks/feedback-center-footer.js +0 -10
- package/dist/components/blocks/feedback-center-sheet-parts.d.ts +0 -40
- package/dist/components/blocks/feedback-center-sheet-parts.js +0 -39
- package/dist/components/blocks/feedback-center-sheet.d.ts +0 -28
- package/dist/components/blocks/feedback-center-sheet.js +0 -105
- package/dist/components/blocks/feedback-composer-parts.d.ts +0 -16
- package/dist/components/blocks/feedback-composer-parts.js +0 -43
- package/dist/components/blocks/feedback-composer-types.d.ts +0 -12
- package/dist/components/blocks/feedback-composer.d.ts +0 -23
- package/dist/components/blocks/feedback-composer.js +0 -82
- package/dist/components/blocks/feedback-date-format.d.ts +0 -5
- package/dist/components/blocks/feedback-date-format.js +0 -11
- package/dist/components/blocks/feedback-detail-sheet.d.ts +0 -15
- package/dist/components/blocks/feedback-detail-sheet.js +0 -59
- package/dist/components/blocks/feedback-emergency-fields.d.ts +0 -17
- package/dist/components/blocks/feedback-emergency-fields.js +0 -32
- package/dist/components/blocks/feedback-metrics.d.ts +0 -6
- package/dist/components/blocks/feedback-metrics.js +0 -15
- package/dist/components/blocks/feedback-sheet.d.ts +0 -8
- package/dist/components/blocks/feedback-sheet.js +0 -29
- package/dist/components/blocks/feedback-status-badge.d.ts +0 -6
- package/dist/components/blocks/feedback-status-badge.js +0 -15
- package/dist/components/blocks/feedback-table-row.d.ts +0 -6
- package/dist/components/blocks/feedback-table-row.js +0 -27
- package/dist/components/blocks/feedback-table-sort.d.ts +0 -11
- package/dist/components/blocks/feedback-table-sort.js +0 -82
- package/dist/components/blocks/feedback-table.d.ts +0 -16
- package/dist/components/blocks/feedback-table.js +0 -45
- package/dist/components/blocks/feedback-tracking-types.d.ts +0 -102
- package/dist/components/blocks/feedback-tracking-types.js +0 -54
- package/dist/components/blocks/feedback-triage-timeline.d.ts +0 -11
- package/dist/components/blocks/feedback-triage-timeline.js +0 -17
- package/dist/components/blocks/feedback-type-badge.d.ts +0 -11
- package/dist/components/blocks/feedback-type-badge.js +0 -18
- package/dist/components/blocks/feedback-unread-badge.d.ts +0 -6
- package/dist/components/blocks/feedback-unread-badge.js +0 -9
- package/dist/components/blocks/feedback-user-detail.d.ts +0 -11
- package/dist/components/blocks/feedback-user-detail.js +0 -63
- package/dist/components/blocks/feedback-user-list.d.ts +0 -11
- package/dist/components/blocks/feedback-user-list.js +0 -41
- package/dist/components/blocks/generated-connect-link.d.ts +0 -22
- package/dist/components/blocks/generated-connect-link.js +0 -68
- package/dist/components/blocks/invite-user-sheet.d.ts +0 -20
- package/dist/components/blocks/invite-user-sheet.js +0 -72
- package/dist/components/blocks/kanban-board-parts.d.ts +0 -26
- package/dist/components/blocks/kanban-board-parts.js +0 -83
- package/dist/components/blocks/kanban-board-utils.d.ts +0 -58
- package/dist/components/blocks/kanban-board-utils.js +0 -140
- package/dist/components/blocks/kanban-board.d.ts +0 -16
- package/dist/components/blocks/kanban-board.js +0 -35
- package/dist/components/blocks/kanban-card.d.ts +0 -10
- package/dist/components/blocks/kanban-card.js +0 -34
- package/dist/components/blocks/kanban-column.d.ts +0 -17
- package/dist/components/blocks/kanban-column.js +0 -34
- package/dist/components/blocks/kanban-detail-sheet.d.ts +0 -17
- package/dist/components/blocks/kanban-detail-sheet.js +0 -34
- package/dist/components/blocks/kanban-types.d.ts +0 -24
- package/dist/components/blocks/mcp-access-grouped-tool-picker.d.ts +0 -19
- package/dist/components/blocks/mcp-access-grouped-tool-picker.js +0 -116
- package/dist/components/blocks/mcp-access-tool-picker-internals.d.ts +0 -35
- package/dist/components/blocks/mcp-access-tool-picker-internals.js +0 -24
- package/dist/components/blocks/mcp-access-tool-picker.d.ts +0 -22
- package/dist/components/blocks/mcp-access-tool-picker.js +0 -33
- package/dist/components/blocks/mcp-access-types.d.ts +0 -42
- package/dist/components/blocks/mcp-access-types.js +0 -7
- package/dist/components/blocks/mcp-client-setup.d.ts +0 -29
- package/dist/components/blocks/mcp-client-setup.js +0 -58
- package/dist/components/blocks/mcp-connect-clients.d.ts +0 -43
- package/dist/components/blocks/mcp-connect-clients.js +0 -66
- package/dist/components/blocks/mcp-plan-choice.d.ts +0 -17
- package/dist/components/blocks/mcp-plan-choice.js +0 -28
- package/dist/components/blocks/submit-feedback-composer.d.ts +0 -5
- package/dist/components/blocks/submit-feedback-composer.js +0 -40
- package/dist/components/blocks/timestamp-format.d.ts +0 -14
- package/dist/components/blocks/timestamp-format.js +0 -72
- package/dist/components/blocks/use-feedback-composer-state.d.ts +0 -27
- package/dist/components/blocks/use-feedback-composer-state.js +0 -60
- package/dist/components/blocks/use-reveal-thread-end.d.ts +0 -11
- package/dist/components/blocks/use-reveal-thread-end.js +0 -25
- package/dist/components/pages/admin-users-page.d.ts +0 -11
- package/dist/components/pages/admin-users-page.js +0 -30
- package/dist/components/pages/feedback-stakeholder-page-parts.d.ts +0 -18
- package/dist/components/pages/feedback-stakeholder-page-parts.js +0 -36
- package/dist/components/pages/feedback-stakeholder-page.d.ts +0 -9
- package/dist/components/pages/feedback-stakeholder-page.js +0 -66
- package/dist/components/pages/kanban-page.d.ts +0 -13
- package/dist/components/pages/kanban-page.js +0 -68
- package/dist/components/ui/accordion.d.ts +0 -7
- package/dist/components/ui/accordion.js +0 -17
- package/dist/components/ui/alert-dialog.d.ts +0 -22
- package/dist/components/ui/alert-dialog.js +0 -51
- package/dist/components/ui/alert.d.ts +0 -9
- package/dist/components/ui/alert.js +0 -24
- package/dist/components/ui/app-shell-page.d.ts +0 -22
- package/dist/components/ui/app-shell-page.js +0 -21
- package/dist/components/ui/app-shell.d.ts +0 -45
- package/dist/components/ui/app-shell.js +0 -44
- package/dist/components/ui/aspect-ratio.d.ts +0 -3
- package/dist/components/ui/aspect-ratio.js +0 -7
- package/dist/components/ui/avatar.d.ts +0 -11
- package/dist/components/ui/avatar.js +0 -22
- package/dist/components/ui/badge-variants.d.ts +0 -100
- package/dist/components/ui/badge-variants.js +0 -140
- package/dist/components/ui/badge.d.ts +0 -6
- package/dist/components/ui/badge.js +0 -9
- package/dist/components/ui/breadcrumb.d.ts +0 -11
- package/dist/components/ui/breadcrumb.js +0 -27
- package/dist/components/ui/button-group-variants.d.ts +0 -6
- package/dist/components/ui/button-group-variants.js +0 -13
- package/dist/components/ui/button-group.d.ts +0 -8
- package/dist/components/ui/button-group.js +0 -16
- package/dist/components/ui/button-variants.d.ts +0 -133
- package/dist/components/ui/button-variants.js +0 -170
- package/dist/components/ui/button.d.ts +0 -8
- package/dist/components/ui/button.js +0 -59
- package/dist/components/ui/calendar.d.ts +0 -10
- package/dist/components/ui/calendar.js +0 -99
- package/dist/components/ui/card.d.ts +0 -14
- package/dist/components/ui/card.js +0 -28
- package/dist/components/ui/carousel.d.ts +0 -19
- package/dist/components/ui/carousel.js +0 -104
- package/dist/components/ui/chart-context.d.ts +0 -33
- package/dist/components/ui/chart-context.js +0 -36
- package/dist/components/ui/chart-panel.d.ts +0 -11
- package/dist/components/ui/chart-panel.js +0 -6
- package/dist/components/ui/chart-tooltip.d.ts +0 -13
- package/dist/components/ui/chart-tooltip.js +0 -84
- package/dist/components/ui/chart.d.ts +0 -23
- package/dist/components/ui/chart.js +0 -52
- package/dist/components/ui/checkbox.d.ts +0 -4
- package/dist/components/ui/checkbox.js +0 -9
- package/dist/components/ui/ciridae-ui-provider.d.ts +0 -8
- package/dist/components/ui/ciridae-ui-provider.js +0 -14
- package/dist/components/ui/collapsible.d.ts +0 -5
- package/dist/components/ui/collapsible.js +0 -12
- package/dist/components/ui/color-theme-context.d.ts +0 -28
- package/dist/components/ui/color-theme-context.js +0 -3
- package/dist/components/ui/color-theme.d.ts +0 -5
- package/dist/components/ui/color-theme.js +0 -147
- package/dist/components/ui/combobox-anchor.d.ts +0 -3
- package/dist/components/ui/combobox-anchor.js +0 -5
- package/dist/components/ui/combobox.d.ts +0 -24
- package/dist/components/ui/combobox.js +0 -54
- package/dist/components/ui/command.d.ts +0 -19
- package/dist/components/ui/command.js +0 -38
- package/dist/components/ui/context-menu.d.ts +0 -30
- package/dist/components/ui/context-menu.js +0 -63
- package/dist/components/ui/data-table-column-settings.d.ts +0 -23
- package/dist/components/ui/data-table-column-settings.js +0 -170
- package/dist/components/ui/data-table-context.d.ts +0 -8
- package/dist/components/ui/data-table-context.js +0 -53
- package/dist/components/ui/data-table-controls.d.ts +0 -9
- package/dist/components/ui/data-table-controls.js +0 -30
- package/dist/components/ui/data-table-facet-filter.d.ts +0 -39
- package/dist/components/ui/data-table-facet-filter.js +0 -65
- package/dist/components/ui/data-table-grid.d.ts +0 -10
- package/dist/components/ui/data-table-grid.js +0 -34
- package/dist/components/ui/data-table-pagination.d.ts +0 -17
- package/dist/components/ui/data-table-pagination.js +0 -89
- package/dist/components/ui/data-table-search-input.d.ts +0 -14
- package/dist/components/ui/data-table-search-input.js +0 -15
- package/dist/components/ui/data-table-state.d.ts +0 -19
- package/dist/components/ui/data-table-state.js +0 -8
- package/dist/components/ui/data-table-tanstack.d.ts +0 -99
- package/dist/components/ui/data-table-tanstack.js +0 -128
- package/dist/components/ui/data-table.d.ts +0 -19
- package/dist/components/ui/data-table.js +0 -35
- package/dist/components/ui/dialog.d.ts +0 -23
- package/dist/components/ui/dialog.js +0 -48
- package/dist/components/ui/direction-context.d.ts +0 -3
- package/dist/components/ui/direction-context.js +0 -3
- package/dist/components/ui/direction.d.ts +0 -6
- package/dist/components/ui/direction.js +0 -7
- package/dist/components/ui/drawer.d.ts +0 -18
- package/dist/components/ui/drawer.js +0 -47
- package/dist/components/ui/dropdown-menu.d.ts +0 -30
- package/dist/components/ui/dropdown-menu.js +0 -63
- package/dist/components/ui/empty.d.ts +0 -11
- package/dist/components/ui/empty.js +0 -33
- package/dist/components/ui/expandable-data-table.d.ts +0 -24
- package/dist/components/ui/expandable-data-table.js +0 -62
- package/dist/components/ui/field.d.ts +0 -26
- package/dist/components/ui/field.js +0 -74
- package/dist/components/ui/file-upload-field-parts.d.ts +0 -21
- package/dist/components/ui/file-upload-field-parts.js +0 -55
- package/dist/components/ui/file-upload-field.d.ts +0 -16
- package/dist/components/ui/file-upload-field.js +0 -85
- package/dist/components/ui/form-context.d.ts +0 -23
- package/dist/components/ui/form-context.js +0 -35
- package/dist/components/ui/form-sheet.d.ts +0 -22
- package/dist/components/ui/form-sheet.js +0 -74
- package/dist/components/ui/form.d.ts +0 -12
- package/dist/components/ui/form.js +0 -38
- package/dist/components/ui/hover-card.d.ts +0 -10
- package/dist/components/ui/hover-card.js +0 -22
- package/dist/components/ui/input-group.d.ts +0 -16
- package/dist/components/ui/input-group.js +0 -62
- package/dist/components/ui/input-otp.d.ts +0 -11
- package/dist/components/ui/input-otp.js +0 -21
- package/dist/components/ui/input.d.ts +0 -3
- package/dist/components/ui/input.js +0 -6
- package/dist/components/ui/item.d.ts +0 -24
- package/dist/components/ui/item.js +0 -73
- package/dist/components/ui/kbd.d.ts +0 -3
- package/dist/components/ui/kbd.js +0 -9
- package/dist/components/ui/label.d.ts +0 -4
- package/dist/components/ui/label.js +0 -7
- package/dist/components/ui/loading-state.d.ts +0 -27
- package/dist/components/ui/loading-state.js +0 -44
- package/dist/components/ui/menubar.d.ts +0 -30
- package/dist/components/ui/menubar.js +0 -63
- package/dist/components/ui/metrics-strip.d.ts +0 -7
- package/dist/components/ui/metrics-strip.js +0 -18
- package/dist/components/ui/native-select.d.ts +0 -7
- package/dist/components/ui/native-select.js +0 -13
- package/dist/components/ui/navigation-menu-variants.d.ts +0 -2
- package/dist/components/ui/navigation-menu-variants.js +0 -3
- package/dist/components/ui/navigation-menu.d.ts +0 -13
- package/dist/components/ui/navigation-menu.js +0 -30
- package/dist/components/ui/page-header.d.ts +0 -33
- package/dist/components/ui/page-header.js +0 -54
- package/dist/components/ui/pagination.d.ts +0 -13
- package/dist/components/ui/pagination.js +0 -29
- package/dist/components/ui/popover.d.ts +0 -14
- package/dist/components/ui/popover.js +0 -34
- package/dist/components/ui/progress.d.ts +0 -4
- package/dist/components/ui/progress.js +0 -8
- package/dist/components/ui/property-list.d.ts +0 -6
- package/dist/components/ui/property-list.js +0 -15
- package/dist/components/ui/radio-group.d.ts +0 -5
- package/dist/components/ui/radio-group.js +0 -11
- package/dist/components/ui/registry-docs-api.d.ts +0 -11
- package/dist/components/ui/registry-docs-api.js +0 -9
- package/dist/components/ui/registry-docs-code.d.ts +0 -19
- package/dist/components/ui/registry-docs-code.js +0 -78
- package/dist/components/ui/registry-docs-showcase.d.ts +0 -11
- package/dist/components/ui/registry-docs-showcase.js +0 -27
- package/dist/components/ui/registry-docs.d.ts +0 -27
- package/dist/components/ui/registry-docs.js +0 -32
- package/dist/components/ui/resizable.d.ts +0 -14
- package/dist/components/ui/resizable.js +0 -15
- package/dist/components/ui/scroll-area.d.ts +0 -7
- package/dist/components/ui/scroll-area.js +0 -10
- package/dist/components/ui/select.d.ts +0 -15
- package/dist/components/ui/select.js +0 -38
- package/dist/components/ui/separator.d.ts +0 -4
- package/dist/components/ui/separator.js +0 -7
- package/dist/components/ui/sheet.d.ts +0 -21
- package/dist/components/ui/sheet.js +0 -62
- package/dist/components/ui/sidebar/context.d.ts +0 -27
- package/dist/components/ui/sidebar/context.js +0 -23
- package/dist/components/ui/sidebar/group.d.ts +0 -10
- package/dist/components/ui/sidebar/group.js +0 -18
- package/dist/components/ui/sidebar/layout.d.ts +0 -17
- package/dist/components/ui/sidebar/layout.js +0 -78
- package/dist/components/ui/sidebar/menu.d.ts +0 -30
- package/dist/components/ui/sidebar/menu.js +0 -64
- package/dist/components/ui/sidebar/provider.d.ts +0 -7
- package/dist/components/ui/sidebar/provider.js +0 -53
- package/dist/components/ui/sidebar/rail.d.ts +0 -3
- package/dist/components/ui/sidebar/rail.js +0 -12
- package/dist/components/ui/sidebar/trigger.d.ts +0 -4
- package/dist/components/ui/sidebar/trigger.js +0 -16
- package/dist/components/ui/sidebar-account-menu-theme.d.ts +0 -7
- package/dist/components/ui/sidebar-account-menu-theme.js +0 -32
- package/dist/components/ui/sidebar-account-menu.d.ts +0 -16
- package/dist/components/ui/sidebar-account-menu.js +0 -51
- package/dist/components/ui/sidebar.d.ts +0 -7
- package/dist/components/ui/sidebar.js +0 -7
- package/dist/components/ui/skeleton.d.ts +0 -2
- package/dist/components/ui/skeleton.js +0 -15
- package/dist/components/ui/slider.d.ts +0 -4
- package/dist/components/ui/slider.js +0 -9
- package/dist/components/ui/sonner.d.ts +0 -3
- package/dist/components/ui/sonner.js +0 -33
- package/dist/components/ui/spinner.d.ts +0 -2
- package/dist/components/ui/spinner.js +0 -16
- package/dist/components/ui/switch.d.ts +0 -6
- package/dist/components/ui/switch.js +0 -7
- package/dist/components/ui/table.d.ts +0 -21
- package/dist/components/ui/table.js +0 -34
- package/dist/components/ui/tabs-variants.d.ts +0 -6
- package/dist/components/ui/tabs-variants.js +0 -13
- package/dist/components/ui/tabs.d.ts +0 -8
- package/dist/components/ui/tabs.js +0 -17
- package/dist/components/ui/textarea.d.ts +0 -3
- package/dist/components/ui/textarea.js +0 -6
- package/dist/components/ui/toggle-group.d.ts +0 -9
- package/dist/components/ui/toggle-group.js +0 -24
- package/dist/components/ui/toggle-variants.d.ts +0 -7
- package/dist/components/ui/toggle-variants.js +0 -19
- package/dist/components/ui/toggle.d.ts +0 -5
- package/dist/components/ui/toggle.js +0 -9
- package/dist/components/ui/tooltip.d.ts +0 -14
- package/dist/components/ui/tooltip.js +0 -25
- package/dist/components/ui/use-color-theme.d.ts +0 -2
- package/dist/components/ui/use-color-theme.js +0 -10
- package/dist/components/ui/workflow-timeline.d.ts +0 -20
- package/dist/components/ui/workflow-timeline.js +0 -92
- package/dist/components/walkthrough/presentation/WalkthroughCoach.d.ts +0 -14
- package/dist/components/walkthrough/presentation/WalkthroughCoach.js +0 -32
- package/dist/components/walkthrough/presentation/WalkthroughHighlight.d.ts +0 -5
- package/dist/components/walkthrough/presentation/WalkthroughHighlight.js +0 -9
- package/dist/components/walkthrough/presentation/WalkthroughOverlay.d.ts +0 -1
- package/dist/components/walkthrough/presentation/WalkthroughOverlay.js +0 -70
- package/dist/components/walkthrough/presentation/positionWalkthroughCoach.d.ts +0 -11
- package/dist/components/walkthrough/presentation/positionWalkthroughCoach.js +0 -24
- package/dist/components/walkthrough/presentation/useWalkthroughCoachPosition.d.ts +0 -4
- package/dist/components/walkthrough/presentation/useWalkthroughCoachPosition.js +0 -17
- package/dist/components/walkthrough/runtime/WalkthroughContextDefinition.d.ts +0 -20
- package/dist/components/walkthrough/runtime/WalkthroughContextDefinition.js +0 -2
- package/dist/components/walkthrough/runtime/WalkthroughProvider.d.ts +0 -12
- package/dist/components/walkthrough/runtime/WalkthroughProvider.js +0 -190
- package/dist/components/walkthrough/runtime/useWalkthrough.d.ts +0 -1
- package/dist/components/walkthrough/runtime/useWalkthrough.js +0 -8
- package/dist/components/walkthrough/runtime/walkthroughEvents.d.ts +0 -3
- package/dist/components/walkthrough/runtime/walkthroughEvents.js +0 -55
- package/dist/components/walkthrough/runtime/walkthroughLocation.d.ts +0 -2
- package/dist/components/walkthrough/runtime/walkthroughLocation.js +0 -27
- package/dist/components/walkthrough/runtime/walkthroughStorage.d.ts +0 -3
- package/dist/components/walkthrough/runtime/walkthroughStorage.js +0 -54
- package/dist/components/walkthrough/runtime/walkthroughTypes.d.ts +0 -32
- package/dist/components/walkthrough/targeting/listenForOutsideWalkthroughInteraction.d.ts +0 -2
- package/dist/components/walkthrough/targeting/listenForOutsideWalkthroughInteraction.js +0 -19
- package/dist/components/walkthrough/targeting/useWalkthroughTargetRect.d.ts +0 -15
- package/dist/components/walkthrough/targeting/useWalkthroughTargetRect.js +0 -54
- package/dist/components/walkthrough/targeting/walkthroughTarget.d.ts +0 -6
- package/dist/components/walkthrough/targeting/walkthroughTarget.js +0 -24
- package/dist/components/walkthrough.d.ts +0 -4
- package/dist/components/walkthrough.js +0 -2
- package/dist/entries/accordion.d.ts +0 -1
- package/dist/entries/accordion.js +0 -1
- package/dist/entries/admin-users-page.d.ts +0 -1
- package/dist/entries/admin-users-page.js +0 -1
- package/dist/entries/admin-users-table.d.ts +0 -1
- package/dist/entries/admin-users-table.js +0 -1
- package/dist/entries/alert-dialog.d.ts +0 -1
- package/dist/entries/alert-dialog.js +0 -1
- package/dist/entries/alert.d.ts +0 -1
- package/dist/entries/alert.js +0 -1
- package/dist/entries/app-shell-page.d.ts +0 -1
- package/dist/entries/app-shell-page.js +0 -1
- package/dist/entries/app-shell.d.ts +0 -1
- package/dist/entries/app-shell.js +0 -1
- package/dist/entries/aspect-ratio.d.ts +0 -1
- package/dist/entries/aspect-ratio.js +0 -1
- package/dist/entries/avatar.d.ts +0 -1
- package/dist/entries/avatar.js +0 -1
- package/dist/entries/badge-variants.d.ts +0 -1
- package/dist/entries/badge-variants.js +0 -1
- package/dist/entries/badge.d.ts +0 -1
- package/dist/entries/badge.js +0 -1
- package/dist/entries/breadcrumb.d.ts +0 -1
- package/dist/entries/breadcrumb.js +0 -1
- package/dist/entries/button-group-variants.d.ts +0 -1
- package/dist/entries/button-group-variants.js +0 -1
- package/dist/entries/button-group.d.ts +0 -1
- package/dist/entries/button-group.js +0 -1
- package/dist/entries/button-variants.d.ts +0 -1
- package/dist/entries/button-variants.js +0 -1
- package/dist/entries/button.d.ts +0 -1
- package/dist/entries/button.js +0 -1
- package/dist/entries/calendar.d.ts +0 -1
- package/dist/entries/calendar.js +0 -1
- package/dist/entries/card.d.ts +0 -1
- package/dist/entries/card.js +0 -1
- package/dist/entries/carousel.d.ts +0 -1
- package/dist/entries/carousel.js +0 -1
- package/dist/entries/chart-context.d.ts +0 -1
- package/dist/entries/chart-context.js +0 -1
- package/dist/entries/chart-panel.d.ts +0 -1
- package/dist/entries/chart-panel.js +0 -1
- package/dist/entries/chart-tooltip.d.ts +0 -1
- package/dist/entries/chart-tooltip.js +0 -1
- package/dist/entries/chart.d.ts +0 -1
- package/dist/entries/chart.js +0 -1
- package/dist/entries/checkbox.d.ts +0 -1
- package/dist/entries/checkbox.js +0 -1
- package/dist/entries/ciridae-brand-assets.d.ts +0 -1
- package/dist/entries/ciridae-brand-assets.js +0 -1
- package/dist/entries/ciridae-ui-provider.d.ts +0 -1
- package/dist/entries/ciridae-ui-provider.js +0 -1
- package/dist/entries/collapsible.d.ts +0 -1
- package/dist/entries/collapsible.js +0 -1
- package/dist/entries/color-theme-context.d.ts +0 -1
- package/dist/entries/color-theme-context.js +0 -1
- package/dist/entries/color-theme.d.ts +0 -1
- package/dist/entries/color-theme.js +0 -1
- package/dist/entries/combobox-anchor.d.ts +0 -1
- package/dist/entries/combobox-anchor.js +0 -1
- package/dist/entries/combobox.d.ts +0 -1
- package/dist/entries/combobox.js +0 -1
- package/dist/entries/command.d.ts +0 -1
- package/dist/entries/command.js +0 -1
- package/dist/entries/comment-composer.d.ts +0 -1
- package/dist/entries/comment-composer.js +0 -1
- package/dist/entries/comment-item.d.ts +0 -1
- package/dist/entries/comment-item.js +0 -1
- package/dist/entries/comment-thread.d.ts +0 -1
- package/dist/entries/comment-thread.js +0 -1
- package/dist/entries/comment-types.d.ts +0 -1
- package/dist/entries/comment-types.js +0 -1
- package/dist/entries/context-menu.d.ts +0 -1
- package/dist/entries/context-menu.js +0 -1
- package/dist/entries/copy-field.d.ts +0 -1
- package/dist/entries/copy-field.js +0 -1
- package/dist/entries/data-table-column-settings.d.ts +0 -1
- package/dist/entries/data-table-column-settings.js +0 -1
- package/dist/entries/data-table-context.d.ts +0 -1
- package/dist/entries/data-table-context.js +0 -1
- package/dist/entries/data-table-controls.d.ts +0 -1
- package/dist/entries/data-table-controls.js +0 -1
- package/dist/entries/data-table-facet-filter.d.ts +0 -1
- package/dist/entries/data-table-facet-filter.js +0 -1
- package/dist/entries/data-table-grid.d.ts +0 -1
- package/dist/entries/data-table-grid.js +0 -1
- package/dist/entries/data-table-pagination.d.ts +0 -1
- package/dist/entries/data-table-pagination.js +0 -1
- package/dist/entries/data-table-search-input.d.ts +0 -1
- package/dist/entries/data-table-search-input.js +0 -1
- package/dist/entries/data-table-state.d.ts +0 -1
- package/dist/entries/data-table-state.js +0 -1
- package/dist/entries/data-table-tanstack.d.ts +0 -1
- package/dist/entries/data-table-tanstack.js +0 -1
- package/dist/entries/data-table.d.ts +0 -1
- package/dist/entries/data-table.js +0 -1
- package/dist/entries/dialog.d.ts +0 -1
- package/dist/entries/dialog.js +0 -1
- package/dist/entries/direction-context.d.ts +0 -1
- package/dist/entries/direction-context.js +0 -1
- package/dist/entries/direction.d.ts +0 -1
- package/dist/entries/direction.js +0 -1
- package/dist/entries/drawer.d.ts +0 -1
- package/dist/entries/drawer.js +0 -1
- package/dist/entries/dropdown-menu.d.ts +0 -1
- package/dist/entries/dropdown-menu.js +0 -1
- package/dist/entries/empty.d.ts +0 -1
- package/dist/entries/empty.js +0 -1
- package/dist/entries/expandable-data-table.d.ts +0 -1
- package/dist/entries/expandable-data-table.js +0 -1
- package/dist/entries/feedback-center-comments.d.ts +0 -1
- package/dist/entries/feedback-center-comments.js +0 -1
- package/dist/entries/feedback-center-footer.d.ts +0 -1
- package/dist/entries/feedback-center-footer.js +0 -1
- package/dist/entries/feedback-center-sheet-parts.d.ts +0 -1
- package/dist/entries/feedback-center-sheet-parts.js +0 -1
- package/dist/entries/feedback-center-sheet.d.ts +0 -1
- package/dist/entries/feedback-center-sheet.js +0 -1
- package/dist/entries/feedback-composer-parts.d.ts +0 -1
- package/dist/entries/feedback-composer-parts.js +0 -1
- package/dist/entries/feedback-composer-types.d.ts +0 -1
- package/dist/entries/feedback-composer-types.js +0 -1
- package/dist/entries/feedback-composer.d.ts +0 -1
- package/dist/entries/feedback-composer.js +0 -1
- package/dist/entries/feedback-date-format.d.ts +0 -1
- package/dist/entries/feedback-date-format.js +0 -1
- package/dist/entries/feedback-detail-sheet.d.ts +0 -1
- package/dist/entries/feedback-detail-sheet.js +0 -1
- package/dist/entries/feedback-emergency-fields.d.ts +0 -1
- package/dist/entries/feedback-emergency-fields.js +0 -1
- package/dist/entries/feedback-metrics.d.ts +0 -1
- package/dist/entries/feedback-metrics.js +0 -1
- package/dist/entries/feedback-sheet.d.ts +0 -1
- package/dist/entries/feedback-sheet.js +0 -1
- package/dist/entries/feedback-stakeholder-page-parts.d.ts +0 -1
- package/dist/entries/feedback-stakeholder-page-parts.js +0 -1
- package/dist/entries/feedback-stakeholder-page.d.ts +0 -1
- package/dist/entries/feedback-stakeholder-page.js +0 -1
- package/dist/entries/feedback-status-badge.d.ts +0 -1
- package/dist/entries/feedback-status-badge.js +0 -1
- package/dist/entries/feedback-table-row.d.ts +0 -1
- package/dist/entries/feedback-table-row.js +0 -1
- package/dist/entries/feedback-table-sort.d.ts +0 -1
- package/dist/entries/feedback-table-sort.js +0 -1
- package/dist/entries/feedback-table.d.ts +0 -1
- package/dist/entries/feedback-table.js +0 -1
- package/dist/entries/feedback-tracking-types.d.ts +0 -1
- package/dist/entries/feedback-tracking-types.js +0 -1
- package/dist/entries/feedback-triage-timeline.d.ts +0 -1
- package/dist/entries/feedback-triage-timeline.js +0 -1
- package/dist/entries/feedback-type-badge.d.ts +0 -1
- package/dist/entries/feedback-type-badge.js +0 -1
- package/dist/entries/feedback-unread-badge.d.ts +0 -1
- package/dist/entries/feedback-unread-badge.js +0 -1
- package/dist/entries/feedback-user-detail.d.ts +0 -1
- package/dist/entries/feedback-user-detail.js +0 -1
- package/dist/entries/feedback-user-list.d.ts +0 -1
- package/dist/entries/feedback-user-list.js +0 -1
- package/dist/entries/field.d.ts +0 -1
- package/dist/entries/field.js +0 -1
- package/dist/entries/file-upload-field-parts.d.ts +0 -1
- package/dist/entries/file-upload-field-parts.js +0 -1
- package/dist/entries/file-upload-field.d.ts +0 -1
- package/dist/entries/file-upload-field.js +0 -1
- package/dist/entries/form-context.d.ts +0 -1
- package/dist/entries/form-context.js +0 -1
- package/dist/entries/form-sheet.d.ts +0 -1
- package/dist/entries/form-sheet.js +0 -1
- package/dist/entries/form.d.ts +0 -1
- package/dist/entries/form.js +0 -1
- package/dist/entries/generated-connect-link.d.ts +0 -1
- package/dist/entries/generated-connect-link.js +0 -1
- package/dist/entries/hover-card.d.ts +0 -1
- package/dist/entries/hover-card.js +0 -1
- package/dist/entries/input-group.d.ts +0 -1
- package/dist/entries/input-group.js +0 -1
- package/dist/entries/input-otp.d.ts +0 -1
- package/dist/entries/input-otp.js +0 -1
- package/dist/entries/input.d.ts +0 -1
- package/dist/entries/input.js +0 -1
- package/dist/entries/invite-user-sheet.d.ts +0 -1
- package/dist/entries/invite-user-sheet.js +0 -1
- package/dist/entries/item.d.ts +0 -1
- package/dist/entries/item.js +0 -1
- package/dist/entries/kanban-board-parts.d.ts +0 -1
- package/dist/entries/kanban-board-parts.js +0 -1
- package/dist/entries/kanban-board-utils.d.ts +0 -1
- package/dist/entries/kanban-board-utils.js +0 -1
- package/dist/entries/kanban-board.d.ts +0 -1
- package/dist/entries/kanban-board.js +0 -1
- package/dist/entries/kanban-card.d.ts +0 -1
- package/dist/entries/kanban-card.js +0 -1
- package/dist/entries/kanban-column.d.ts +0 -1
- package/dist/entries/kanban-column.js +0 -1
- package/dist/entries/kanban-detail-sheet.d.ts +0 -1
- package/dist/entries/kanban-detail-sheet.js +0 -1
- package/dist/entries/kanban-page.d.ts +0 -1
- package/dist/entries/kanban-page.js +0 -1
- package/dist/entries/kanban-types.d.ts +0 -1
- package/dist/entries/kanban-types.js +0 -1
- package/dist/entries/kbd.d.ts +0 -1
- package/dist/entries/kbd.js +0 -1
- package/dist/entries/label.d.ts +0 -1
- package/dist/entries/label.js +0 -1
- package/dist/entries/loading-state.d.ts +0 -1
- package/dist/entries/loading-state.js +0 -1
- package/dist/entries/mcp-access-grouped-tool-picker.d.ts +0 -1
- package/dist/entries/mcp-access-grouped-tool-picker.js +0 -1
- package/dist/entries/mcp-access-tool-picker.d.ts +0 -1
- package/dist/entries/mcp-access-tool-picker.js +0 -1
- package/dist/entries/mcp-access-types.d.ts +0 -1
- package/dist/entries/mcp-access-types.js +0 -1
- package/dist/entries/mcp-client-setup.d.ts +0 -1
- package/dist/entries/mcp-client-setup.js +0 -1
- package/dist/entries/mcp-connect-clients.d.ts +0 -1
- package/dist/entries/mcp-connect-clients.js +0 -1
- package/dist/entries/mcp-plan-choice.d.ts +0 -1
- package/dist/entries/mcp-plan-choice.js +0 -1
- package/dist/entries/menubar.d.ts +0 -1
- package/dist/entries/menubar.js +0 -1
- package/dist/entries/metrics-strip.d.ts +0 -1
- package/dist/entries/metrics-strip.js +0 -1
- package/dist/entries/native-select.d.ts +0 -1
- package/dist/entries/native-select.js +0 -1
- package/dist/entries/navigation-menu-variants.d.ts +0 -1
- package/dist/entries/navigation-menu-variants.js +0 -1
- package/dist/entries/navigation-menu.d.ts +0 -1
- package/dist/entries/navigation-menu.js +0 -1
- package/dist/entries/page-header.d.ts +0 -1
- package/dist/entries/page-header.js +0 -1
- package/dist/entries/pagination.d.ts +0 -1
- package/dist/entries/pagination.js +0 -1
- package/dist/entries/palette.d.ts +0 -2
- package/dist/entries/palette.js +0 -2
- package/dist/entries/popover.d.ts +0 -1
- package/dist/entries/popover.js +0 -1
- package/dist/entries/progress.d.ts +0 -1
- package/dist/entries/progress.js +0 -1
- package/dist/entries/property-list.d.ts +0 -1
- package/dist/entries/property-list.js +0 -1
- package/dist/entries/radio-group.d.ts +0 -1
- package/dist/entries/radio-group.js +0 -1
- package/dist/entries/registry-docs-api.d.ts +0 -1
- package/dist/entries/registry-docs-api.js +0 -1
- package/dist/entries/registry-docs-code.d.ts +0 -1
- package/dist/entries/registry-docs-code.js +0 -1
- package/dist/entries/registry-docs-showcase.d.ts +0 -1
- package/dist/entries/registry-docs-showcase.js +0 -1
- package/dist/entries/registry-docs.d.ts +0 -1
- package/dist/entries/registry-docs.js +0 -1
- package/dist/entries/resizable.d.ts +0 -1
- package/dist/entries/resizable.js +0 -1
- package/dist/entries/scroll-area.d.ts +0 -1
- package/dist/entries/scroll-area.js +0 -1
- package/dist/entries/select.d.ts +0 -1
- package/dist/entries/select.js +0 -1
- package/dist/entries/separator.d.ts +0 -1
- package/dist/entries/separator.js +0 -1
- package/dist/entries/sheet.d.ts +0 -1
- package/dist/entries/sheet.js +0 -1
- package/dist/entries/sidebar/context.d.ts +0 -1
- package/dist/entries/sidebar/context.js +0 -1
- package/dist/entries/sidebar/group.d.ts +0 -1
- package/dist/entries/sidebar/group.js +0 -1
- package/dist/entries/sidebar/layout.d.ts +0 -1
- package/dist/entries/sidebar/layout.js +0 -1
- package/dist/entries/sidebar/menu.d.ts +0 -1
- package/dist/entries/sidebar/menu.js +0 -1
- package/dist/entries/sidebar/provider.d.ts +0 -1
- package/dist/entries/sidebar/provider.js +0 -1
- package/dist/entries/sidebar/rail.d.ts +0 -1
- package/dist/entries/sidebar/rail.js +0 -1
- package/dist/entries/sidebar/trigger.d.ts +0 -1
- package/dist/entries/sidebar/trigger.js +0 -1
- package/dist/entries/sidebar-account-menu-theme.d.ts +0 -1
- package/dist/entries/sidebar-account-menu-theme.js +0 -1
- package/dist/entries/sidebar-account-menu.d.ts +0 -1
- package/dist/entries/sidebar-account-menu.js +0 -1
- package/dist/entries/sidebar.d.ts +0 -1
- package/dist/entries/sidebar.js +0 -1
- package/dist/entries/skeleton.d.ts +0 -1
- package/dist/entries/skeleton.js +0 -1
- package/dist/entries/slider.d.ts +0 -1
- package/dist/entries/slider.js +0 -1
- package/dist/entries/sonner.d.ts +0 -1
- package/dist/entries/sonner.js +0 -1
- package/dist/entries/spinner.d.ts +0 -1
- package/dist/entries/spinner.js +0 -1
- package/dist/entries/submit-feedback-composer.d.ts +0 -1
- package/dist/entries/submit-feedback-composer.js +0 -1
- package/dist/entries/switch.d.ts +0 -1
- package/dist/entries/switch.js +0 -1
- package/dist/entries/table.d.ts +0 -1
- package/dist/entries/table.js +0 -1
- package/dist/entries/tabs-variants.d.ts +0 -1
- package/dist/entries/tabs-variants.js +0 -1
- package/dist/entries/tabs.d.ts +0 -1
- package/dist/entries/tabs.js +0 -1
- package/dist/entries/textarea.d.ts +0 -1
- package/dist/entries/textarea.js +0 -1
- package/dist/entries/timestamp-format.d.ts +0 -1
- package/dist/entries/timestamp-format.js +0 -1
- package/dist/entries/toggle-group.d.ts +0 -1
- package/dist/entries/toggle-group.js +0 -1
- package/dist/entries/toggle-variants.d.ts +0 -1
- package/dist/entries/toggle-variants.js +0 -1
- package/dist/entries/toggle.d.ts +0 -1
- package/dist/entries/toggle.js +0 -1
- package/dist/entries/tooltip.d.ts +0 -1
- package/dist/entries/tooltip.js +0 -1
- package/dist/entries/use-color-theme.d.ts +0 -1
- package/dist/entries/use-color-theme.js +0 -1
- package/dist/entries/use-feedback-composer-state.d.ts +0 -1
- package/dist/entries/use-feedback-composer-state.js +0 -1
- package/dist/entries/use-mobile.d.ts +0 -1
- package/dist/entries/use-mobile.js +0 -1
- package/dist/entries/utils.d.ts +0 -1
- package/dist/entries/utils.js +0 -1
- package/dist/entries/walkthrough.d.ts +0 -1
- package/dist/entries/walkthrough.js +0 -1
- package/dist/entries/workflow-timeline.d.ts +0 -1
- package/dist/entries/workflow-timeline.js +0 -1
- package/dist/hooks/use-mobile.d.ts +0 -1
- package/dist/hooks/use-mobile.js +0 -17
- package/dist/lib/browser-storage.d.ts +0 -12
- package/dist/lib/browser-storage.js +0 -42
- package/dist/lib/palette-presets.d.ts +0 -17
- package/dist/lib/palette-presets.js +0 -42
- package/dist/lib/palette-tokens.d.ts +0 -39
- package/dist/lib/palette-tokens.js +0 -133
- package/dist/lib/palette.d.ts +0 -83
- package/dist/lib/palette.js +0 -151
- package/dist/lib/utils.d.ts +0 -5
- package/dist/lib/utils.js +0 -8
- package/dist/style-imports.d.ts +0 -3
- /package/dist/{components/blocks/feedback-composer-types.js → feedback/comment-types.js} +0 -0
- /package/dist/{components/blocks/kanban-types.js → feedback/feedback-composer-types.js} +0 -0
- /package/dist/{components/walkthrough/runtime/walkthroughTypes.js → feedback/feedback-tracking-types.js} +0 -0
|
Binary file
|
|
Binary file
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
<svg width="614" height="655" viewBox="0 0 614 655" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
-
<path d="M4 610.748C4 585.897 20.4039 567.256 43.0175 567.256H94.4661V584.651H51.7204C42.901 584.651 37.9262 589.625 37.9262 598.445V623.051C37.9262 631.754 42.901 636.845 51.7204 636.845H94.4661V654.239H43.0175C20.4039 654.239 4 635.598 4 610.748Z" fill="#F3F3F4"/>
|
|
3
|
-
<path d="M106.524 567.256H137.596V654.239H106.524L106.524 567.256Z" fill="#F3F3F4"/>
|
|
4
|
-
<path d="M151.264 567.256H225.827C240.985 567.256 252.053 577.94 252.053 592.363C252.053 606.786 240.996 617.47 225.827 617.47H218.872L253.672 654.251H214.771L181.963 616.468V654.251H151.264V567.268V567.256ZM181.963 583.287V605.284H209.307C215.773 605.284 219.373 601.928 219.373 596.091V592.491C219.373 586.771 215.773 583.299 209.307 583.299H181.963V583.287Z" fill="#F3F3F4"/>
|
|
5
|
-
<path d="M261.488 567.256H292.56V654.239H261.488V567.256Z" fill="#F3F3F4"/>
|
|
6
|
-
<path d="M306.223 567.256H368.355C390.968 567.256 407.372 585.897 407.372 610.748C407.372 635.598 390.968 654.239 368.355 654.239H306.223V567.256ZM373.446 624.67V596.837C373.446 588.018 368.355 583.043 359.652 583.043H336.91V638.464H359.652C368.355 638.464 373.446 633.373 373.446 624.67Z" fill="#F3F3F4"/>
|
|
7
|
-
<path d="M444.656 567.256H479.829L520.594 654.239H487.169L479.34 636.472H434.357L426.155 654.239H404.031L444.668 567.256H444.656ZM471.743 619.451L457.075 586.771L442.035 619.451H471.732H471.743Z" fill="#F3F3F4"/>
|
|
8
|
-
<path d="M527.919 567.256H610.184V584.278H558.246V600.682H610.184V617.458H558.246V637.089H610.184V654.239H527.919V567.256Z" fill="#F3F3F4"/>
|
|
9
|
-
<g clip-path="url(#clip0_1_5179)">
|
|
10
|
-
<path d="M190.169 104.116C190.169 102.537 191.456 101.262 193.029 101.262C249.439 101.262 277.742 101.262 291.22 87.8152C304.698 74.3686 304.698 46.1219 304.698 -10.1459C304.698 -11.725 305.976 -13 307.559 -13C309.142 -13 310.42 -11.725 310.42 -10.1459C310.42 46.1317 310.42 74.3686 323.898 87.8152C337.376 101.262 365.689 101.262 422.089 101.262C423.671 101.262 424.949 102.547 424.949 104.116C424.949 105.685 423.671 106.97 422.089 106.97C365.679 106.97 337.376 106.97 323.898 120.417C310.42 133.863 310.42 162.11 310.42 218.378C310.42 219.957 309.142 221.232 307.559 221.232C305.976 221.232 304.698 219.947 304.698 218.378C304.698 162.1 304.698 133.863 291.22 120.417C277.742 106.97 249.429 106.97 193.029 106.97C191.447 106.97 190.169 105.685 190.169 104.116ZM607.577 159.982C606.791 158.609 605.031 158.157 603.665 158.932C603.655 158.932 603.635 158.952 603.615 158.952C603.606 158.952 603.596 158.962 603.566 158.971C554.776 187.071 530.277 201.185 511.884 196.251C493.49 191.337 479.334 166.906 451.178 118.249C451.158 118.21 451.129 118.18 451.119 118.141C450.333 116.768 448.573 116.317 447.206 117.092C446.292 117.621 445.771 118.573 445.771 119.563C445.771 120.054 445.899 120.544 446.145 120.995C446.164 121.035 446.194 121.064 446.204 121.103C446.243 121.162 446.263 121.201 446.292 121.25C474.389 169.799 488.486 194.211 483.561 212.552C482.735 215.632 481.359 218.535 479.619 221.202C477.594 224.312 475.106 227.117 472.442 229.696C469.159 232.874 465.59 235.738 461.923 238.445C457.391 241.789 452.692 244.908 447.934 247.929C442.143 251.607 436.265 255.138 430.356 258.62C423.288 262.788 416.18 266.888 409.072 270.977C402.751 274.616 396.381 278.167 390.06 281.815C386.874 283.649 383.699 285.493 380.514 287.327C376.296 289.76 372.079 292.202 367.861 294.634L357.716 300.489C356.851 300.99 355.986 301.49 355.121 301.99C325.697 318.967 289.411 319.007 259.968 302.039C259.181 301.588 258.385 301.127 257.599 300.676L251.425 297.115C248.564 295.468 245.703 293.82 242.852 292.172L233.277 286.66C230.22 284.895 227.162 283.139 224.105 281.374L216.732 277.127C211.02 273.841 205.416 270.369 199.685 267.123C197.512 265.897 195.35 264.661 193.187 263.416C188.291 260.571 183.405 257.707 178.539 254.794C174.311 252.254 170.094 249.675 165.945 247.017C162.357 244.722 158.808 242.368 155.348 239.896C152.379 237.778 149.479 235.581 146.697 233.227C144.327 231.226 142.037 229.108 139.933 226.822C138.124 224.851 136.443 222.752 135.018 220.486C133.739 218.456 132.668 216.289 131.891 214.023C131.695 213.454 131.518 212.876 131.37 212.297C126.445 193.956 140.542 169.554 168.639 120.995C168.678 120.936 168.698 120.897 168.728 120.848C168.747 120.809 168.777 120.78 168.787 120.75C169.052 120.309 169.18 119.799 169.16 119.318C169.16 118.337 168.649 117.376 167.725 116.847C166.358 116.062 164.608 116.523 163.802 117.896C163.783 117.935 163.753 117.965 163.743 117.994C135.588 166.651 121.431 191.082 103.038 195.996C84.6441 200.91 60.1751 186.836 11.4632 158.785C11.4436 158.775 11.4141 158.765 11.3944 158.736C11.3452 158.716 11.3059 158.677 11.2568 158.658C9.89027 157.873 8.14038 158.334 7.34408 159.707C7.1278 160.168 7 160.658 7 161.149C7 162.13 7.5112 163.091 8.43531 163.62C57.2849 191.749 81.7932 205.873 86.7283 224.253C91.6536 242.593 77.5561 267.005 49.4595 315.554C49.43 315.613 49.4005 315.662 49.371 315.701C49.3514 315.741 49.3219 315.77 49.312 315.809C49.0466 316.27 48.9188 316.761 48.9385 317.241C48.9385 318.222 49.4497 319.183 50.3738 319.713C50.8162 319.978 51.3175 320.105 51.8091 320.105C52.7922 320.105 53.7556 319.595 54.2963 318.673C54.3159 318.634 54.3454 318.605 54.3553 318.565C82.5109 269.908 96.6673 245.477 115.061 240.563C117.342 239.955 119.691 239.651 122.051 239.602C124.656 239.553 127.261 239.818 129.817 240.279C132.766 240.808 135.676 241.603 138.517 242.535C141.86 243.633 145.133 244.928 148.358 246.32C152.133 247.958 155.849 249.734 159.526 251.587C163.802 253.735 168.03 255.981 172.227 258.276C177.064 260.915 181.862 263.612 186.649 266.329C192.489 269.644 198.338 272.949 204.119 276.352C209.319 279.412 214.539 282.462 219.769 285.473L228.794 290.672L238.468 296.243L247.355 301.362L254.01 305.197L256.999 306.914L257.038 306.943C286.442 323.881 304.561 355.168 304.58 389.045L304.6 444.136C304.6 445.195 305.17 446.117 306.035 446.617C306.448 446.862 306.94 447.009 307.461 447C309.043 447 310.321 445.724 310.312 444.145V389.241C310.292 355.394 328.381 324.087 357.755 307.139C359.358 306.217 360.95 305.295 362.553 304.363C366.387 302.147 370.221 299.93 374.055 297.724C378.685 295.056 383.316 292.378 387.936 289.711C391.918 287.415 395.889 285.12 399.871 282.816C407.411 278.461 415.02 274.204 422.58 269.879C429.157 266.113 435.744 262.376 442.399 258.737C447.904 255.726 453.459 252.784 459.112 250.047C463.712 247.821 468.392 245.712 473.189 243.947C477.063 242.515 481.034 241.289 485.104 240.553C488.476 239.945 491.927 239.68 495.338 240.004C496.892 240.151 498.425 240.426 499.929 240.828C518.323 245.742 532.479 270.173 560.635 318.83C560.655 318.869 560.684 318.899 560.694 318.938C561.225 319.85 562.188 320.37 563.181 320.37C563.663 320.37 564.154 320.242 564.616 319.978C565.531 319.448 566.052 318.487 566.052 317.506C566.052 317.016 565.924 316.525 565.678 316.074C565.659 316.045 565.629 316.005 565.619 315.976C565.59 315.917 565.56 315.868 565.531 315.829C537.434 267.28 523.337 242.868 528.262 224.527C533.187 206.167 557.686 192.053 606.476 163.954C606.486 163.954 606.496 163.944 606.506 163.934C606.525 163.934 606.545 163.915 606.565 163.905C607.479 163.375 608 162.424 608 161.433C608 160.943 607.872 160.452 607.626 160.001H607.587L607.577 159.982Z" fill="#F3F3F4"/>
|
|
11
|
-
</g>
|
|
12
|
-
<defs>
|
|
13
|
-
<clipPath id="clip0_1_5179">
|
|
14
|
-
<rect width="614" height="470" fill="#F3F3F4"/>
|
|
15
|
-
</clipPath>
|
|
16
|
-
</defs>
|
|
17
|
-
</svg>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
type AdminUserStatus = "active" | "invited" | "suspended";
|
|
2
|
-
type AdminUser = {
|
|
3
|
-
email: string;
|
|
4
|
-
id: string;
|
|
5
|
-
imageUrl?: string;
|
|
6
|
-
invitedAt?: string;
|
|
7
|
-
isCurrentUser?: boolean;
|
|
8
|
-
lastActiveAt?: string;
|
|
9
|
-
name: string;
|
|
10
|
-
role: string;
|
|
11
|
-
status: AdminUserStatus;
|
|
12
|
-
};
|
|
13
|
-
type AdminUsersTableProps = {
|
|
14
|
-
isLoading?: boolean;
|
|
15
|
-
onDeactivateUser?: (user: AdminUser) => void;
|
|
16
|
-
onEditUser?: (user: AdminUser) => void;
|
|
17
|
-
onReactivateUser?: (user: AdminUser) => void;
|
|
18
|
-
onResendInvite?: (user: AdminUser) => void;
|
|
19
|
-
users: AdminUser[];
|
|
20
|
-
};
|
|
21
|
-
declare function AdminUsersTable({ isLoading, users, ...actions }: AdminUsersTableProps): import("@types/react").JSX.Element;
|
|
22
|
-
export { AdminUsersTable, type AdminUser, type AdminUserStatus, type AdminUsersTableProps };
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { MoreHorizontalIcon, ShieldCheckIcon, UserPlusIcon } from "lucide-react";
|
|
3
|
-
import { Avatar, AvatarFallback, AvatarImage } from "../ui/avatar.js";
|
|
4
|
-
import { Badge } from "../ui/badge.js";
|
|
5
|
-
import { Button } from "../ui/button.js";
|
|
6
|
-
import { DataTable, DataTableContent, DataTableEmpty, DataTableSkeleton } from "../ui/data-table.js";
|
|
7
|
-
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, } from "../ui/dropdown-menu.js";
|
|
8
|
-
import { Empty, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle } from "../ui/empty.js";
|
|
9
|
-
import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "../ui/table.js";
|
|
10
|
-
function AdminUsersTable({ isLoading = false, users, ...actions }) {
|
|
11
|
-
if (isLoading) {
|
|
12
|
-
return _jsx(AdminUsersTableLoading, {});
|
|
13
|
-
}
|
|
14
|
-
if (users.length === 0) {
|
|
15
|
-
return _jsx(AdminUsersTableEmpty, {});
|
|
16
|
-
}
|
|
17
|
-
return (_jsx(DataTable, { children: _jsx(DataTableContent, { children: _jsx(AdminUsersTableContent, { actions: actions, users: users }) }) }));
|
|
18
|
-
}
|
|
19
|
-
function AdminUsersTableLoading() {
|
|
20
|
-
return (_jsx(DataTable, { children: _jsx(DataTableSkeleton, { columns: 5, rows: 5 }) }));
|
|
21
|
-
}
|
|
22
|
-
function AdminUsersTableEmpty() {
|
|
23
|
-
return (_jsx(DataTable, { children: _jsx(DataTableEmpty, { className: "min-h-80 border-b", children: _jsx(AdminUsersEmptyContent, {}) }) }));
|
|
24
|
-
}
|
|
25
|
-
function AdminUsersEmptyContent() {
|
|
26
|
-
return (_jsx(Empty, { className: "border-0", children: _jsxs(EmptyHeader, { children: [_jsx(EmptyMedia, { variant: "icon", children: _jsx(UserPlusIcon, {}) }), _jsx(EmptyTitle, { children: "No users yet" }), _jsx(EmptyDescription, { children: "Invite the first teammate to start managing access." })] }) }));
|
|
27
|
-
}
|
|
28
|
-
function AdminUsersTableContent({ actions, users, }) {
|
|
29
|
-
return (_jsxs(Table, { children: [_jsx(AdminUsersTableHeader, {}), _jsx(TableBody, { children: users.map((user) => (_jsx(AdminUsersTableRow, { actions: actions, user: user }, user.id))) })] }));
|
|
30
|
-
}
|
|
31
|
-
function AdminUsersTableHeader() {
|
|
32
|
-
return (_jsx(TableHeader, { children: _jsxs(TableRow, { children: [_jsx(TableHead, { children: "User" }), _jsx(TableHead, { children: "Role" }), _jsx(TableHead, { children: "Status" }), _jsx(TableHead, { children: "Activity" }), _jsx(TableHead, { className: "w-12 text-right", children: "Actions" })] }) }));
|
|
33
|
-
}
|
|
34
|
-
function AdminUsersTableRow({ actions, user, }) {
|
|
35
|
-
return (_jsxs(TableRow, { children: [_jsx(TableCell, { children: _jsx(AdminUserIdentity, { user: user }) }), _jsx(TableCell, { children: _jsx(AdminUserRole, { user: user }) }), _jsx(TableCell, { children: _jsx(AdminUserStatusBadge, { status: user.status }) }), _jsx(TableCell, { children: _jsx(AdminUserActivity, { user: user }) }), _jsx(TableCell, { className: "text-right", children: _jsx(AdminUserActions, { actions: actions, user: user }) })] }));
|
|
36
|
-
}
|
|
37
|
-
function AdminUserIdentity({ user }) {
|
|
38
|
-
return (_jsxs("div", { className: "flex min-w-0 items-center gap-3", children: [_jsxs(Avatar, { size: "sm", children: [_jsx(AvatarImage, { alt: "", src: user.imageUrl }), _jsx(AvatarFallback, { children: getInitials(user.name, user.email) })] }), _jsxs("div", { className: "min-w-0", children: [_jsxs("div", { className: "flex min-w-0 items-center gap-2", children: [_jsx("span", { className: "truncate text-sm font-medium text-foreground", children: user.name }), user.isCurrentUser ? _jsx(Badge, { variant: "outline", children: "You" }) : null] }), _jsx("div", { className: "truncate text-xs text-muted-foreground", children: user.email })] })] }));
|
|
39
|
-
}
|
|
40
|
-
function AdminUserRole({ user }) {
|
|
41
|
-
return (_jsxs("div", { className: "inline-flex min-w-0 items-center gap-2", children: [_jsx(ShieldCheckIcon, { className: "size-4 text-muted-foreground" }), _jsx("span", { className: "truncate text-sm", children: user.role })] }));
|
|
42
|
-
}
|
|
43
|
-
function AdminUserStatusBadge({ status }) {
|
|
44
|
-
const label = statusLabels[status];
|
|
45
|
-
const variant = statusVariants[status];
|
|
46
|
-
return _jsx(Badge, { variant: variant, children: label });
|
|
47
|
-
}
|
|
48
|
-
function AdminUserActivity({ user }) {
|
|
49
|
-
const value = getActivityValue(user);
|
|
50
|
-
return _jsx("span", { className: "font-mono text-xs text-muted-foreground tabular-nums", children: value });
|
|
51
|
-
}
|
|
52
|
-
function AdminUserActions({ actions, user }) {
|
|
53
|
-
if (!hasAnyAction(actions))
|
|
54
|
-
return null;
|
|
55
|
-
return (_jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsx(Button, { "aria-label": `Open actions for ${user.name}`, size: "icon", variant: "ghost", children: _jsx(MoreHorizontalIcon, {}) }) }), _jsx(DropdownMenuContent, { align: "end", children: _jsx(AdminUserActionItems, { actions: actions, user: user }) })] }));
|
|
56
|
-
}
|
|
57
|
-
function AdminUserActionItems({ actions, user, }) {
|
|
58
|
-
return (_jsxs(_Fragment, { children: [_jsx(DropdownMenuLabel, { children: "User actions" }), actions.onEditUser ? (_jsx(DropdownMenuItem, { onSelect: () => actions.onEditUser?.(user), children: "Edit user" })) : null, actions.onEditUser && hasStatusAction(actions, user) ? _jsx(DropdownMenuSeparator, {}) : null, _jsx(AdminUserStatusActions, { actions: actions, user: user })] }));
|
|
59
|
-
}
|
|
60
|
-
function AdminUserStatusActions({ actions, user, }) {
|
|
61
|
-
if (user.status === "invited" && actions.onResendInvite) {
|
|
62
|
-
return (_jsx(DropdownMenuItem, { onSelect: () => actions.onResendInvite?.(user), children: "Resend invite" }));
|
|
63
|
-
}
|
|
64
|
-
if (user.status === "suspended" && actions.onReactivateUser) {
|
|
65
|
-
return (_jsx(DropdownMenuItem, { onSelect: () => actions.onReactivateUser?.(user), children: "Reactivate" }));
|
|
66
|
-
}
|
|
67
|
-
if (!actions.onDeactivateUser)
|
|
68
|
-
return null;
|
|
69
|
-
return (_jsx(DropdownMenuItem, { disabled: user.isCurrentUser, onSelect: () => actions.onDeactivateUser?.(user), variant: "destructive", children: "Deactivate" }));
|
|
70
|
-
}
|
|
71
|
-
const statusLabels = {
|
|
72
|
-
active: "Active",
|
|
73
|
-
invited: "Invited",
|
|
74
|
-
suspended: "Suspended",
|
|
75
|
-
};
|
|
76
|
-
const statusVariants = {
|
|
77
|
-
active: "success",
|
|
78
|
-
invited: "warning",
|
|
79
|
-
suspended: "destructive",
|
|
80
|
-
};
|
|
81
|
-
function getInitials(name, email) {
|
|
82
|
-
const source = name.trim() || email;
|
|
83
|
-
return source
|
|
84
|
-
.split(/\s|@/)
|
|
85
|
-
.filter(Boolean)
|
|
86
|
-
.slice(0, 2)
|
|
87
|
-
.map((part) => part.charAt(0).toUpperCase())
|
|
88
|
-
.join("");
|
|
89
|
-
}
|
|
90
|
-
function getActivityValue(user) {
|
|
91
|
-
if (user.status === "invited")
|
|
92
|
-
return formatDateValue(user.invitedAt, "Invite pending");
|
|
93
|
-
if (user.status === "suspended")
|
|
94
|
-
return "Access suspended";
|
|
95
|
-
return formatDateValue(user.lastActiveAt, "No activity");
|
|
96
|
-
}
|
|
97
|
-
function formatDateValue(value, fallback) {
|
|
98
|
-
if (!value)
|
|
99
|
-
return fallback;
|
|
100
|
-
return value;
|
|
101
|
-
}
|
|
102
|
-
function hasAnyAction(actions) {
|
|
103
|
-
return Boolean(actions.onDeactivateUser ||
|
|
104
|
-
actions.onEditUser ||
|
|
105
|
-
actions.onReactivateUser ||
|
|
106
|
-
actions.onResendInvite);
|
|
107
|
-
}
|
|
108
|
-
function hasStatusAction(actions, user) {
|
|
109
|
-
if (user.status === "invited" && actions.onResendInvite)
|
|
110
|
-
return true;
|
|
111
|
-
if (user.status === "suspended" && actions.onReactivateUser)
|
|
112
|
-
return true;
|
|
113
|
-
return Boolean(actions.onDeactivateUser);
|
|
114
|
-
}
|
|
115
|
-
export { AdminUsersTable };
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
import { type CommentAuthor } from "./comment-types.js";
|
|
3
|
-
type CommentComposerProps = {
|
|
4
|
-
actionsSlot?: React.ReactNode;
|
|
5
|
-
author?: CommentAuthor;
|
|
6
|
-
defaultExpanded?: boolean;
|
|
7
|
-
defaultValue?: string;
|
|
8
|
-
disabled?: boolean;
|
|
9
|
-
isSubmitting?: boolean;
|
|
10
|
-
loadingLabel?: string;
|
|
11
|
-
onSubmit: (body: string) => void | Promise<void>;
|
|
12
|
-
onValueChange?: (value: string) => void;
|
|
13
|
-
placeholder?: string;
|
|
14
|
-
submitLabel?: string;
|
|
15
|
-
value?: string;
|
|
16
|
-
};
|
|
17
|
-
declare function CommentComposer({ actionsSlot, author, defaultExpanded, defaultValue, disabled, isSubmitting, loadingLabel, onSubmit, onValueChange, placeholder, submitLabel, value, }: CommentComposerProps): React.JSX.Element;
|
|
18
|
-
export { CommentComposer, type CommentComposerProps };
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import * as React from "react";
|
|
3
|
-
import { getCommentAuthorInitials } from "./comment-types.js";
|
|
4
|
-
import { cn } from "../../lib/utils.js";
|
|
5
|
-
import { Avatar, AvatarFallback, AvatarImage } from "../ui/avatar.js";
|
|
6
|
-
import { InputGroupButton, InputGroupTextarea } from "../ui/input-group.js";
|
|
7
|
-
const COMMENT_TEXTAREA_MAX_HEIGHT = 128;
|
|
8
|
-
function CommentComposer({ actionsSlot, author, defaultExpanded = false, defaultValue = "", disabled = false, isSubmitting = false, loadingLabel = "Posting...", onSubmit, onValueChange, placeholder = "Write a reply...", submitLabel = "Post", value, }) {
|
|
9
|
-
const textareaRef = React.useRef(null);
|
|
10
|
-
const state = useCommentComposerState({
|
|
11
|
-
defaultExpanded,
|
|
12
|
-
defaultValue,
|
|
13
|
-
disabled,
|
|
14
|
-
isSubmitting,
|
|
15
|
-
onSubmit,
|
|
16
|
-
onValueChange,
|
|
17
|
-
value,
|
|
18
|
-
});
|
|
19
|
-
React.useEffect(() => {
|
|
20
|
-
resizeCommentTextarea(textareaRef.current);
|
|
21
|
-
// showActions is a dep because each min-height bakes into the inline
|
|
22
|
-
// height this writes; a collapse without a value change must recompute.
|
|
23
|
-
}, [state.showActions, state.value]);
|
|
24
|
-
const isDisabled = disabled || isSubmitting;
|
|
25
|
-
return (_jsx("form", { onSubmit: state.onSubmit, children: _jsxs("div", { className: "grid w-full gap-1.5 rounded-md border border-input bg-background px-2.5 py-2 shadow-xs transition-[color,box-shadow] focus-within:border-ring focus-within:ring-[var(--focus-ring-width)] focus-within:ring-ring/50 dark:bg-input/30", "data-disabled": isDisabled ? "true" : undefined, children: [_jsxs("div", { className: "flex min-w-0 items-start gap-2", children: [_jsx(CommentComposerAvatar, { author: author }), _jsx(InputGroupTextarea, { "aria-label": "Comment",
|
|
26
|
-
// An active composer opens a few lines of room; min-height beats
|
|
27
|
-
// the resize logic's inline height, so growth still works. The
|
|
28
|
-
// two min-heights are exclusive because cn resolves no conflicts,
|
|
29
|
-
// and important because the base Textarea's own min-h-16 is
|
|
30
|
-
// emitted after both and would otherwise win in every state.
|
|
31
|
-
className: cn("max-h-32 overflow-y-hidden px-0 py-1 text-sm leading-5", state.showActions ? "min-h-14!" : "min-h-7!"), disabled: isDisabled, onBlur: state.onBlur, onChange: state.onValueChange, onFocus: state.onFocus, onKeyDown: onComposerKeyDown, placeholder: placeholder, ref: textareaRef, rows: 1, value: state.value })] }), _jsx(CommentComposerActions, { actionsSlot: actionsSlot, canSubmit: state.canSubmit, isSubmitting: isSubmitting, loadingLabel: loadingLabel, showActions: state.showActions, submitLabel: submitLabel })] }) }));
|
|
32
|
-
}
|
|
33
|
-
function useCommentComposerState({ defaultExpanded, defaultValue, disabled, isSubmitting, onSubmit, onValueChange, value, }) {
|
|
34
|
-
const [localValue, setLocalValue] = React.useState(defaultValue);
|
|
35
|
-
const [isActive, setIsActive] = React.useState(getInitialExpanded(defaultExpanded, defaultValue, value));
|
|
36
|
-
const isControlled = value !== undefined;
|
|
37
|
-
const currentValue = isControlled ? value : localValue;
|
|
38
|
-
const canSubmit = currentValue.trim().length > 0 && !disabled && !isSubmitting;
|
|
39
|
-
const showActions = isActive || currentValue.trim().length > 0;
|
|
40
|
-
React.useEffect(() => {
|
|
41
|
-
if (isControlled && currentValue.trim().length > 0)
|
|
42
|
-
setIsActive(true);
|
|
43
|
-
}, [currentValue, isControlled]);
|
|
44
|
-
return {
|
|
45
|
-
canSubmit,
|
|
46
|
-
onBlur: getBlurHandler(currentValue, setIsActive),
|
|
47
|
-
onFocus: getFocusHandler(disabled, isSubmitting, setIsActive),
|
|
48
|
-
onSubmit: getSubmitHandler({
|
|
49
|
-
currentValue,
|
|
50
|
-
disabled,
|
|
51
|
-
isControlled,
|
|
52
|
-
isSubmitting,
|
|
53
|
-
onSubmit,
|
|
54
|
-
setIsActive,
|
|
55
|
-
setLocalValue,
|
|
56
|
-
}),
|
|
57
|
-
onValueChange: getValueChangeHandler({ isControlled, onValueChange, setLocalValue }),
|
|
58
|
-
showActions,
|
|
59
|
-
value: currentValue,
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
function getInitialExpanded(defaultExpanded, defaultValue, value) {
|
|
63
|
-
return defaultExpanded || defaultValue.trim().length > 0 || (value?.trim().length ?? 0) > 0;
|
|
64
|
-
}
|
|
65
|
-
function getFocusHandler(disabled, isSubmitting, setIsActive) {
|
|
66
|
-
return () => {
|
|
67
|
-
if (disabled || isSubmitting)
|
|
68
|
-
return;
|
|
69
|
-
setIsActive(true);
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
function getBlurHandler(currentValue, setIsActive) {
|
|
73
|
-
return (event) => {
|
|
74
|
-
if (event.currentTarget.form?.contains(event.relatedTarget))
|
|
75
|
-
return;
|
|
76
|
-
if (currentValue.trim().length > 0)
|
|
77
|
-
return;
|
|
78
|
-
setIsActive(false);
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
function getSubmitHandler({ currentValue, disabled, isControlled, isSubmitting, onSubmit, setIsActive, setLocalValue, }) {
|
|
82
|
-
return async (event) => {
|
|
83
|
-
event.preventDefault();
|
|
84
|
-
const body = currentValue.trim();
|
|
85
|
-
if (!body || disabled || isSubmitting)
|
|
86
|
-
return;
|
|
87
|
-
try {
|
|
88
|
-
await onSubmit(body);
|
|
89
|
-
}
|
|
90
|
-
catch {
|
|
91
|
-
// a rejected submit keeps the draft; messaging is the handler's job
|
|
92
|
-
return;
|
|
93
|
-
}
|
|
94
|
-
if (!isControlled) {
|
|
95
|
-
setLocalValue("");
|
|
96
|
-
setIsActive(false);
|
|
97
|
-
}
|
|
98
|
-
};
|
|
99
|
-
}
|
|
100
|
-
function getValueChangeHandler({ isControlled, onValueChange, setLocalValue, }) {
|
|
101
|
-
return (event) => {
|
|
102
|
-
const nextValue = event.target.value;
|
|
103
|
-
if (!isControlled)
|
|
104
|
-
setLocalValue(nextValue);
|
|
105
|
-
onValueChange?.(nextValue);
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
function CommentComposerActions({ actionsSlot, canSubmit, isSubmitting, loadingLabel, showActions, submitLabel, }) {
|
|
109
|
-
if (!showActions)
|
|
110
|
-
return null;
|
|
111
|
-
return (_jsxs("div", { className: "flex min-h-8 items-center justify-between gap-2 pl-8", children: [_jsx("div", { className: "flex min-w-0 flex-1 items-center gap-2", children: actionsSlot }), _jsx(CommentSubmitButton, { canSubmit: canSubmit, isSubmitting: isSubmitting, loadingLabel: loadingLabel, submitLabel: submitLabel })] }));
|
|
112
|
-
}
|
|
113
|
-
function CommentComposerAvatar({ author }) {
|
|
114
|
-
const name = author?.name ?? "You";
|
|
115
|
-
return (_jsxs(Avatar, { size: "sm", children: [_jsx(AvatarImage, { alt: "", src: author?.avatarUrl }), _jsx(AvatarFallback, { children: getCommentAuthorInitials(name) })] }));
|
|
116
|
-
}
|
|
117
|
-
function CommentSubmitButton({ canSubmit, isSubmitting, loadingLabel, submitLabel, }) {
|
|
118
|
-
return (_jsx(InputGroupButton, { disabled: !canSubmit, loading: isSubmitting, loadingLabel: loadingLabel, size: "sm", type: "submit", children: submitLabel }));
|
|
119
|
-
}
|
|
120
|
-
/** Cmd/Ctrl+Enter posts; plain Enter keeps writing, as in every comment box. */
|
|
121
|
-
function onComposerKeyDown(event) {
|
|
122
|
-
if (event.key !== "Enter" || !(event.metaKey || event.ctrlKey))
|
|
123
|
-
return;
|
|
124
|
-
if (event.nativeEvent.isComposing)
|
|
125
|
-
return; // mid-IME Enter confirms the composition
|
|
126
|
-
event.preventDefault();
|
|
127
|
-
event.currentTarget.form?.requestSubmit();
|
|
128
|
-
}
|
|
129
|
-
function resizeCommentTextarea(textarea) {
|
|
130
|
-
if (!textarea)
|
|
131
|
-
return;
|
|
132
|
-
textarea.style.height = "auto";
|
|
133
|
-
const nextHeight = Math.min(textarea.scrollHeight, COMMENT_TEXTAREA_MAX_HEIGHT);
|
|
134
|
-
textarea.style.height = `${nextHeight}px`;
|
|
135
|
-
textarea.style.overflowY = textarea.scrollHeight > COMMENT_TEXTAREA_MAX_HEIGHT ? "auto" : "hidden";
|
|
136
|
-
}
|
|
137
|
-
export { CommentComposer };
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type * as React from "react";
|
|
2
|
-
import { type CommentItemData } from "./comment-types.js";
|
|
3
|
-
type CommentItemProps = {
|
|
4
|
-
actionsSlot?: React.ReactNode;
|
|
5
|
-
comment: CommentItemData;
|
|
6
|
-
};
|
|
7
|
-
declare function CommentItem({ actionsSlot, comment }: CommentItemProps): React.JSX.Element;
|
|
8
|
-
export { CommentItem, type CommentItemProps };
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { cn } from "../../lib/utils.js";
|
|
3
|
-
import { formatTimestamp, formatTimestampFull, getTimestampDateTime } from "./timestamp-format.js";
|
|
4
|
-
import { Avatar, AvatarFallback, AvatarImage } from "../ui/avatar.js";
|
|
5
|
-
import { getCommentAuthorInitials } from "./comment-types.js";
|
|
6
|
-
function CommentItem({ actionsSlot, comment }) {
|
|
7
|
-
return (_jsxs("article", { className: "group/comment flex min-w-0 gap-3 rounded-md px-1 py-3", children: [_jsx(CommentAvatar, { comment: comment }), _jsxs("div", { className: "grid min-w-0 flex-1 gap-1.5", children: [_jsx(CommentHeader, { actionsSlot: actionsSlot, comment: comment }), _jsx("p", { className: "text-sm leading-relaxed break-words whitespace-pre-wrap text-foreground", children: comment.body })] })] }));
|
|
8
|
-
}
|
|
9
|
-
function CommentAvatar({ comment }) {
|
|
10
|
-
return (_jsxs(Avatar, { className: "mt-0.5", size: "sm", children: [_jsx(AvatarImage, { alt: "", src: comment.author.avatarUrl }), _jsx(AvatarFallback, { children: getCommentAuthorInitials(comment.author.name) })] }));
|
|
11
|
-
}
|
|
12
|
-
function CommentHeader({ actionsSlot, comment, }) {
|
|
13
|
-
return (_jsxs("header", { className: "flex min-w-0 items-start justify-between gap-2", children: [_jsxs("div", { className: "min-w-0", children: [_jsxs("div", { className: "flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1", children: [_jsx("span", { className: "truncate text-sm font-medium text-foreground", children: comment.author.name }), _jsx(CommentTimestamp, { comment: comment })] }), _jsx(CommentState, { comment: comment })] }), actionsSlot ? _jsx("div", { className: "shrink-0", children: actionsSlot }) : null] }));
|
|
14
|
-
}
|
|
15
|
-
function CommentTimestamp({ comment }) {
|
|
16
|
-
return (_jsx("time", { className: "font-mono text-xs text-muted-foreground tabular-nums", dateTime: getTimestampDateTime(comment.createdAt), title: formatTimestampFull(comment.createdAt), children: formatTimestamp(comment.createdAt) }));
|
|
17
|
-
}
|
|
18
|
-
function CommentState({ comment }) {
|
|
19
|
-
const state = getCommentState(comment);
|
|
20
|
-
if (!state)
|
|
21
|
-
return null;
|
|
22
|
-
return _jsx("div", { className: cn("text-xs", state.className), children: state.label });
|
|
23
|
-
}
|
|
24
|
-
function getCommentState(comment) {
|
|
25
|
-
if (comment.status === "sending") {
|
|
26
|
-
return { className: "text-muted-foreground", label: "Sending" };
|
|
27
|
-
}
|
|
28
|
-
if (comment.status === "failed") {
|
|
29
|
-
return { className: "text-destructive", label: "Failed to post" };
|
|
30
|
-
}
|
|
31
|
-
if (isEdited(comment)) {
|
|
32
|
-
return { className: "text-muted-foreground", label: "Edited" };
|
|
33
|
-
}
|
|
34
|
-
return undefined;
|
|
35
|
-
}
|
|
36
|
-
function isEdited(comment) {
|
|
37
|
-
if (!comment.updatedAt)
|
|
38
|
-
return false;
|
|
39
|
-
const createdAt = Date.parse(comment.createdAt);
|
|
40
|
-
const updatedAt = Date.parse(comment.updatedAt);
|
|
41
|
-
if (Number.isNaN(createdAt) || Number.isNaN(updatedAt))
|
|
42
|
-
return false;
|
|
43
|
-
return updatedAt !== createdAt;
|
|
44
|
-
}
|
|
45
|
-
export { CommentItem };
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
import type { CommentAuthor, CommentItemData } from "./comment-types.js";
|
|
3
|
-
type CommentThreadProps = {
|
|
4
|
-
comments: CommentItemData[];
|
|
5
|
-
composerAuthor?: CommentAuthor;
|
|
6
|
-
composerPlaceholder?: string;
|
|
7
|
-
composerSubmitLabel?: string;
|
|
8
|
-
emptyDescription?: string;
|
|
9
|
-
emptyTitle?: string;
|
|
10
|
-
isLoading?: boolean;
|
|
11
|
-
isSubmitting?: boolean;
|
|
12
|
-
onSubmit?: (body: string) => void | Promise<void>;
|
|
13
|
-
readOnly?: boolean;
|
|
14
|
-
renderCommentActions?: (comment: CommentItemData) => React.ReactNode;
|
|
15
|
-
showHeader?: boolean;
|
|
16
|
-
title?: string;
|
|
17
|
-
};
|
|
18
|
-
declare function CommentThread({ comments, composerAuthor, composerPlaceholder, composerSubmitLabel, emptyDescription, emptyTitle, isLoading, isSubmitting, onSubmit, readOnly, renderCommentActions, showHeader, title, }: CommentThreadProps): React.JSX.Element;
|
|
19
|
-
export { CommentThread, type CommentThreadProps };
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { MessageSquareTextIcon } from "lucide-react";
|
|
3
|
-
import { CommentComposer } from "./comment-composer.js";
|
|
4
|
-
import { CommentItem } from "./comment-item.js";
|
|
5
|
-
import { useRevealThreadEnd } from "./use-reveal-thread-end.js";
|
|
6
|
-
import { Skeleton } from "../ui/skeleton.js";
|
|
7
|
-
function CommentThread({ comments, composerAuthor, composerPlaceholder, composerSubmitLabel, emptyDescription = "Start the conversation with a short update or question.", emptyTitle = "No comments yet", isLoading = false, isSubmitting = false, onSubmit, readOnly = false, renderCommentActions, showHeader = true, title = "Comments", }) {
|
|
8
|
-
const { armReveal, endRef } = useRevealThreadEnd(comments.length);
|
|
9
|
-
const submitAndReveal = !readOnly && onSubmit
|
|
10
|
-
? async (body) => {
|
|
11
|
-
await onSubmit(body);
|
|
12
|
-
armReveal();
|
|
13
|
-
}
|
|
14
|
-
: undefined;
|
|
15
|
-
return (_jsxs("section", { className: "relative grid w-full gap-(--panel-gap)", "aria-label": title, children: [showHeader ? _jsx(CommentThreadHeader, { count: comments.length, title: title }) : null, _jsx(CommentThreadBody, { comments: comments, emptyDescription: emptyDescription, emptyTitle: emptyTitle, isLoading: isLoading, renderCommentActions: renderCommentActions }), submitAndReveal ? (_jsx(CommentComposer, { author: composerAuthor, isSubmitting: isSubmitting, onSubmit: submitAndReveal, placeholder: composerPlaceholder, submitLabel: composerSubmitLabel })) : null, _jsx("div", { "aria-hidden": true, className: "absolute bottom-0", ref: endRef })] }));
|
|
16
|
-
}
|
|
17
|
-
function CommentThreadHeader({ count, title }) {
|
|
18
|
-
return (_jsxs("header", { className: "flex items-center justify-between gap-3", children: [_jsx("h3", { className: "text-sm font-medium text-foreground", children: title }), _jsx("span", { className: "font-mono text-xs text-muted-foreground tabular-nums", children: count })] }));
|
|
19
|
-
}
|
|
20
|
-
function CommentThreadBody({ comments, emptyDescription, emptyTitle, isLoading, renderCommentActions, }) {
|
|
21
|
-
if (isLoading)
|
|
22
|
-
return _jsx(CommentThreadSkeleton, {});
|
|
23
|
-
if (comments.length === 0) {
|
|
24
|
-
return _jsx(CommentThreadEmpty, { description: emptyDescription, title: emptyTitle });
|
|
25
|
-
}
|
|
26
|
-
return (_jsx("div", { className: "grid gap-1", children: comments.map((comment) => (_jsx(CommentItem, { actionsSlot: renderCommentActions?.(comment), comment: comment }, comment.id))) }));
|
|
27
|
-
}
|
|
28
|
-
function CommentThreadSkeleton() {
|
|
29
|
-
return (_jsx("div", { className: "grid gap-4 py-2", children: Array.from({ length: 3 }).map((_, index) => (_jsx(CommentSkeletonRow, {}, index))) }));
|
|
30
|
-
}
|
|
31
|
-
function CommentSkeletonRow() {
|
|
32
|
-
return (_jsxs("div", { className: "flex gap-3 px-1 py-2", children: [_jsx(Skeleton, { className: "size-6 rounded-full" }), _jsxs("div", { className: "grid flex-1 gap-2", children: [_jsx(Skeleton, { className: "h-3 w-40" }), _jsx(Skeleton, { className: "h-3 w-full" }), _jsx(Skeleton, { className: "h-3 w-4/5" })] })] }));
|
|
33
|
-
}
|
|
34
|
-
function CommentThreadEmpty({ description, title }) {
|
|
35
|
-
return (_jsxs("div", { className: "flex min-w-0 items-start gap-2 py-2", children: [_jsx(MessageSquareTextIcon, { className: "mt-0.5 size-4 shrink-0 text-muted-foreground" }), _jsxs("div", { className: "grid min-w-0 gap-0.5", children: [_jsx("div", { className: "text-sm font-medium text-foreground", children: title }), _jsx("p", { className: "text-sm text-muted-foreground", children: description })] })] }));
|
|
36
|
-
}
|
|
37
|
-
export { CommentThread };
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
type CommentAuthor = {
|
|
2
|
-
avatarUrl?: string;
|
|
3
|
-
email?: string;
|
|
4
|
-
id: string;
|
|
5
|
-
name: string;
|
|
6
|
-
};
|
|
7
|
-
type CommentStatus = "sent" | "sending" | "failed";
|
|
8
|
-
type CommentItemData = {
|
|
9
|
-
author: CommentAuthor;
|
|
10
|
-
body: string;
|
|
11
|
-
createdAt: string;
|
|
12
|
-
id: string;
|
|
13
|
-
status?: CommentStatus;
|
|
14
|
-
updatedAt?: string;
|
|
15
|
-
};
|
|
16
|
-
declare function getCommentAuthorInitials(name: string): string;
|
|
17
|
-
export { getCommentAuthorInitials };
|
|
18
|
-
export type { CommentAuthor, CommentItemData, CommentStatus };
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* One value as a labelled read-only text field, so it reads like the field it
|
|
3
|
-
* is about to be pasted into. A real `input` rather than a styled block: it
|
|
4
|
-
* selects, tabs, and reads to assistive tech like its destination. The row
|
|
5
|
-
* stays when there is no value yet, because dropping it left the steps above
|
|
6
|
-
* pointing at nothing.
|
|
7
|
-
*/
|
|
8
|
-
export declare function CopyField({ label, placeholder, value, }: {
|
|
9
|
-
label: string;
|
|
10
|
-
/**
|
|
11
|
-
* What an absent value means, which is not the same for every field. A
|
|
12
|
-
* minted secret is not generated yet; a deployment-wide URL that is
|
|
13
|
-
* missing will never arrive, and saying otherwise sends someone back to
|
|
14
|
-
* the mint button indefinitely.
|
|
15
|
-
*/
|
|
16
|
-
placeholder?: string;
|
|
17
|
-
value: string | undefined;
|
|
18
|
-
}): import("@types/react").JSX.Element;
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { CheckIcon, CopyIcon } from "lucide-react";
|
|
3
|
-
import { useEffect, useId, useState } from "react";
|
|
4
|
-
import { toast } from "sonner";
|
|
5
|
-
import { Button } from "../ui/button.js";
|
|
6
|
-
import { Input } from "../ui/input.js";
|
|
7
|
-
import { Label } from "../ui/label.js";
|
|
8
|
-
/** PostHog's own no-capture vocabulary — a fixed class name, not app config. */
|
|
9
|
-
const POSTHOG_NO_CAPTURE_CLASS_NAME = "ph-no-capture";
|
|
10
|
-
const COPIED_RESET_DELAY = 2000;
|
|
11
|
-
/**
|
|
12
|
-
* One value as a labelled read-only text field, so it reads like the field it
|
|
13
|
-
* is about to be pasted into. A real `input` rather than a styled block: it
|
|
14
|
-
* selects, tabs, and reads to assistive tech like its destination. The row
|
|
15
|
-
* stays when there is no value yet, because dropping it left the steps above
|
|
16
|
-
* pointing at nothing.
|
|
17
|
-
*/
|
|
18
|
-
export function CopyField({ label, placeholder = "Not generated yet", value, }) {
|
|
19
|
-
const fieldId = useId();
|
|
20
|
-
return (_jsxs("div", { className: "grid grid-cols-[minmax(0,1fr)] gap-1", children: [_jsx(Label, { className: "text-muted-foreground text-xs", htmlFor: fieldId, children: label }), _jsxs("div", { className: "flex min-w-0 items-center gap-1", children: [_jsx(Input, { className: `${POSTHOG_NO_CAPTURE_CLASS_NAME} h-8 font-mono text-[11px]`, "data-sentry-mask": true, id: fieldId, onFocus: (event) => {
|
|
21
|
-
event.target.select();
|
|
22
|
-
}, placeholder: placeholder, readOnly: true, value: value ?? "" }), value === undefined ? null : _jsx(CopyButton, { label: label, text: value })] })] }));
|
|
23
|
-
}
|
|
24
|
-
function CopyButton({ label, text }) {
|
|
25
|
-
// What was copied, not that something was: this button survives a remint,
|
|
26
|
-
// so a boolean would keep claiming the checkmark over a value the clipboard
|
|
27
|
-
// has never held. Comparing makes a new `text` read as uncopied at once.
|
|
28
|
-
const [copiedText, setCopiedText] = useState(null);
|
|
29
|
-
const copied = copiedText === text;
|
|
30
|
-
useEffect(() => {
|
|
31
|
-
if (!copied)
|
|
32
|
-
return;
|
|
33
|
-
const timer = window.setTimeout(() => {
|
|
34
|
-
setCopiedText(null);
|
|
35
|
-
}, COPIED_RESET_DELAY);
|
|
36
|
-
return () => {
|
|
37
|
-
window.clearTimeout(timer);
|
|
38
|
-
};
|
|
39
|
-
}, [copied]);
|
|
40
|
-
/**
|
|
41
|
-
* `await` rather than `.catch`, because the two failures arrive differently:
|
|
42
|
-
* a denied permission or an unfocused document rejects, while an insecure
|
|
43
|
-
* origin has no `navigator.clipboard` at all and throws before a promise
|
|
44
|
-
* exists. Either way the user is about to paste a stale clipboard into a
|
|
45
|
-
* credential setup, so neither can pass silently.
|
|
46
|
-
*/
|
|
47
|
-
const copy = async () => {
|
|
48
|
-
try {
|
|
49
|
-
await navigator.clipboard.writeText(text);
|
|
50
|
-
setCopiedText(text);
|
|
51
|
-
}
|
|
52
|
-
catch {
|
|
53
|
-
toast.error(`Could not copy the ${label.toLowerCase()}`, {
|
|
54
|
-
description: "Select the field and copy it by hand.",
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
};
|
|
58
|
-
return (_jsx(Button, { "aria-label": copied ? `${label} copied` : `Copy ${label.toLowerCase()}`, onClick: () => {
|
|
59
|
-
void copy();
|
|
60
|
-
}, size: "icon-xs", variant: "ghost", children: copied ? _jsx(CheckIcon, {}) : _jsx(CopyIcon, {}) }));
|
|
61
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import type { CommentItemData } from "./comment-types.js";
|
|
2
|
-
import type { UserFeedbackItem, UserFeedbackStatusEvent } from "./feedback-tracking-types.js";
|
|
3
|
-
type FeedbackCommentSubmitHandler = (feedback: UserFeedbackItem, body: string) => void | Promise<void>;
|
|
4
|
-
type FeedbackCenterCommentThreadProps = {
|
|
5
|
-
comments: CommentItemData[];
|
|
6
|
-
error?: Error | null;
|
|
7
|
-
feedback?: UserFeedbackItem;
|
|
8
|
-
isCommentSubmitting: boolean;
|
|
9
|
-
isCommentsLoading: boolean;
|
|
10
|
-
onRetry?: () => void;
|
|
11
|
-
onSubmitComment?: FeedbackCommentSubmitHandler;
|
|
12
|
-
statusEvents: UserFeedbackStatusEvent[];
|
|
13
|
-
submitError?: Error | null;
|
|
14
|
-
};
|
|
15
|
-
declare function FeedbackCenterCommentThread({ comments, error, feedback, isCommentSubmitting, isCommentsLoading, onRetry, onSubmitComment, statusEvents, submitError, }: FeedbackCenterCommentThreadProps): import("@types/react").JSX.Element;
|
|
16
|
-
export { FeedbackCenterCommentThread, type FeedbackCommentSubmitHandler };
|