@ciridae/ui 0.17.0 → 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 -106
- 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 -24
- 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
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import type { LucideIcon } from "lucide-react";
|
|
2
|
-
import type { ConnectPlan } from "./mcp-access-types.js";
|
|
3
|
-
/**
|
|
4
|
-
* Closed: an unknown client is not a reason to show a broken dialog.
|
|
5
|
-
*
|
|
6
|
-
* One `cli` token, not one per CLI: both commands take the same two values, so
|
|
7
|
-
* a tab each would have shown the same link twice to say `--url` differently.
|
|
8
|
-
*/
|
|
9
|
-
export declare const MCP_CONNECT_CLIENT_VALUES: readonly ["claude-web", "claude-desktop", "chatgpt-web", "chatgpt-desktop", "cli"];
|
|
10
|
-
export type McpConnectClient = (typeof MCP_CONNECT_CLIENT_VALUES)[number];
|
|
11
|
-
type ConnectClientMetadata = {
|
|
12
|
-
tab: string;
|
|
13
|
-
/** The label carries the brand, so the icon carries the surface — and the
|
|
14
|
-
* surface is what decides whether a local gateway works. */
|
|
15
|
-
Icon: LucideIcon;
|
|
16
|
-
steps: string;
|
|
17
|
-
/**
|
|
18
|
-
* Steps for a plan where only an owner may add a connector, or `null` for
|
|
19
|
-
* a client where the distinction does not exist.
|
|
20
|
-
*
|
|
21
|
-
* Null is the meaningful state rather than a missing key: a desktop app or
|
|
22
|
-
* CLI is installed per-machine, so everyone adds their own connector
|
|
23
|
-
* whatever plan the workspace is on, and the Plan control hides itself
|
|
24
|
-
* rather than offering a choice that changes nothing.
|
|
25
|
-
*/
|
|
26
|
-
workspaceSteps: string | null;
|
|
27
|
-
};
|
|
28
|
-
export type ConnectClient = ConnectClientMetadata & {
|
|
29
|
-
id: McpConnectClient;
|
|
30
|
-
};
|
|
31
|
-
/**
|
|
32
|
-
* The steps to show for one client on one plan.
|
|
33
|
-
*
|
|
34
|
-
* `workspaceSteps` is nullable, so this has to answer for a null; the sheet
|
|
35
|
-
* never asks, because it keys the plan by client and writes it only where the
|
|
36
|
-
* control renders. Answering with the personal steps rather than nothing keeps
|
|
37
|
-
* the worst case a wrong-but-followable instruction instead of a blank panel.
|
|
38
|
-
*/
|
|
39
|
-
export declare const clientSteps: (client: ConnectClient, plan: ConnectPlan) => string;
|
|
40
|
-
/** Whether the plan choice changes anything for this client. */
|
|
41
|
-
export declare const planAffectsClient: (client: ConnectClientMetadata) => boolean;
|
|
42
|
-
export declare const CONNECT_CLIENTS: ConnectClient[];
|
|
43
|
-
export {};
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { GlobeIcon, MonitorIcon, TerminalIcon } from "lucide-react";
|
|
2
|
-
/**
|
|
3
|
-
* Closed: an unknown client is not a reason to show a broken dialog.
|
|
4
|
-
*
|
|
5
|
-
* One `cli` token, not one per CLI: both commands take the same two values, so
|
|
6
|
-
* a tab each would have shown the same link twice to say `--url` differently.
|
|
7
|
-
*/
|
|
8
|
-
export const MCP_CONNECT_CLIENT_VALUES = [
|
|
9
|
-
"claude-web",
|
|
10
|
-
"claude-desktop",
|
|
11
|
-
"chatgpt-web",
|
|
12
|
-
"chatgpt-desktop",
|
|
13
|
-
"cli",
|
|
14
|
-
];
|
|
15
|
-
/**
|
|
16
|
-
* Keyed by the URL token rather than listed alongside it: a `Record` over the
|
|
17
|
-
* client union is exhaustive, so adding a token without metadata fails to
|
|
18
|
-
* compile instead of deep-linking to a sheet with no tab and blank steps.
|
|
19
|
-
*/
|
|
20
|
-
const CONNECT_CLIENT_METADATA = {
|
|
21
|
-
"claude-web": {
|
|
22
|
-
Icon: GlobeIcon,
|
|
23
|
-
steps: "Customize → Connectors → Add → Add custom connector. Paste the values, click Add, then paste your connection code when Claude asks for it.",
|
|
24
|
-
tab: "Claude",
|
|
25
|
-
workspaceSteps: "An owner adds the connector once using the name and URL above. After that, select Connect on it and paste your own connection code. On Team and Enterprise plans only owners can add connectors.",
|
|
26
|
-
},
|
|
27
|
-
"claude-desktop": {
|
|
28
|
-
Icon: MonitorIcon,
|
|
29
|
-
steps: "Settings → Connectors → Add custom connector. Paste the values, then paste your connection code when Claude asks for it.",
|
|
30
|
-
tab: "Claude Desktop",
|
|
31
|
-
workspaceSteps: null,
|
|
32
|
-
},
|
|
33
|
-
"chatgpt-web": {
|
|
34
|
-
Icon: GlobeIcon,
|
|
35
|
-
steps: "Settings → Connectors → Create. Paste the values, tick the risk acknowledgement, and Create, then paste your connection code when asked.",
|
|
36
|
-
tab: "ChatGPT",
|
|
37
|
-
workspaceSteps: "An owner adds the connector once using the name and URL above. After that, select Connect on it and paste your own connection code.",
|
|
38
|
-
},
|
|
39
|
-
"chatgpt-desktop": {
|
|
40
|
-
Icon: MonitorIcon,
|
|
41
|
-
steps: "Settings → Connectors → Create. Choose Streamable HTTP, paste the values, and Save, then paste your connection code when asked.",
|
|
42
|
-
tab: "ChatGPT Desktop",
|
|
43
|
-
workspaceSteps: null,
|
|
44
|
-
},
|
|
45
|
-
cli: {
|
|
46
|
-
Icon: TerminalIcon,
|
|
47
|
-
steps: "Run the command for your CLI, then paste your connection code when asked on first use.",
|
|
48
|
-
tab: "CLI",
|
|
49
|
-
workspaceSteps: null,
|
|
50
|
-
},
|
|
51
|
-
};
|
|
52
|
-
/**
|
|
53
|
-
* The steps to show for one client on one plan.
|
|
54
|
-
*
|
|
55
|
-
* `workspaceSteps` is nullable, so this has to answer for a null; the sheet
|
|
56
|
-
* never asks, because it keys the plan by client and writes it only where the
|
|
57
|
-
* control renders. Answering with the personal steps rather than nothing keeps
|
|
58
|
-
* the worst case a wrong-but-followable instruction instead of a blank panel.
|
|
59
|
-
*/
|
|
60
|
-
export const clientSteps = (client, plan) => plan === "workspace" ? (client.workspaceSteps ?? client.steps) : client.steps;
|
|
61
|
-
/** Whether the plan choice changes anything for this client. */
|
|
62
|
-
export const planAffectsClient = (client) => client.workspaceSteps !== null;
|
|
63
|
-
export const CONNECT_CLIENTS = MCP_CONNECT_CLIENT_VALUES.map((id) => ({
|
|
64
|
-
id,
|
|
65
|
-
...CONNECT_CLIENT_METADATA[id],
|
|
66
|
-
}));
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { ConnectPlan } from "./mcp-access-types.js";
|
|
2
|
-
/**
|
|
3
|
-
* Who adds the connector, as a named pair matching the access control above it.
|
|
4
|
-
*
|
|
5
|
-
* This asks rather than infers. The alternative was gating on this app's own
|
|
6
|
-
* admin role, but a project admin here is not necessarily an owner of the
|
|
7
|
-
* Claude or ChatGPT workspace: the two are unrelated systems, so inferring one
|
|
8
|
-
* from the other would hide the URL from the person who needs it and show it
|
|
9
|
-
* to someone who cannot use it. Only the reader knows which plan they are on.
|
|
10
|
-
*
|
|
11
|
-
* Nothing here changes what is minted or what it may reach. The plan selects
|
|
12
|
-
* which setup steps are true, and the values above stay identical either way.
|
|
13
|
-
*/
|
|
14
|
-
export declare function McpPlanChoice({ onChange, plan, }: {
|
|
15
|
-
onChange: (plan: ConnectPlan) => void;
|
|
16
|
-
plan: ConnectPlan;
|
|
17
|
-
}): import("@types/react").JSX.Element;
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Button } from "../ui/button.js";
|
|
3
|
-
const PLAN_LABEL = {
|
|
4
|
-
personal: "Personal",
|
|
5
|
-
workspace: "Team or Enterprise",
|
|
6
|
-
};
|
|
7
|
-
/**
|
|
8
|
-
* Who adds the connector, as a named pair matching the access control above it.
|
|
9
|
-
*
|
|
10
|
-
* This asks rather than infers. The alternative was gating on this app's own
|
|
11
|
-
* admin role, but a project admin here is not necessarily an owner of the
|
|
12
|
-
* Claude or ChatGPT workspace: the two are unrelated systems, so inferring one
|
|
13
|
-
* from the other would hide the URL from the person who needs it and show it
|
|
14
|
-
* to someone who cannot use it. Only the reader knows which plan they are on.
|
|
15
|
-
*
|
|
16
|
-
* Nothing here changes what is minted or what it may reach. The plan selects
|
|
17
|
-
* which setup steps are true, and the values above stay identical either way.
|
|
18
|
-
*/
|
|
19
|
-
export function McpPlanChoice({ onChange, plan, }) {
|
|
20
|
-
return (_jsxs("div", { "aria-label": "Who adds the connector", className: "inline-flex w-fit rounded-md border border-border p-0.5", role: "group", children: [_jsx(PlanOption, { label: PLAN_LABEL.personal, onSelect: () => {
|
|
21
|
-
onChange("personal");
|
|
22
|
-
}, selected: plan === "personal" }), _jsx(PlanOption, { label: PLAN_LABEL.workspace, onSelect: () => {
|
|
23
|
-
onChange("workspace");
|
|
24
|
-
}, selected: plan === "workspace" })] }));
|
|
25
|
-
}
|
|
26
|
-
function PlanOption({ label, onSelect, selected, }) {
|
|
27
|
-
return (_jsx(Button, { "aria-pressed": selected, onClick: onSelect, size: "sm", variant: selected ? "secondary" : "ghost", children: label }));
|
|
28
|
-
}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type * as React from "react";
|
|
2
|
-
import type { FeedbackComposerProps } from "./feedback-composer.js";
|
|
3
|
-
import type { useFeedbackComposerState } from "./use-feedback-composer-state.js";
|
|
4
|
-
declare function submitFeedbackComposer(event: React.FormEvent<HTMLFormElement>, props: FeedbackComposerProps, state: ReturnType<typeof useFeedbackComposerState>): Promise<void>;
|
|
5
|
-
export { submitFeedbackComposer };
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
async function submitFeedbackComposer(event, props, state) {
|
|
2
|
-
event.preventDefault();
|
|
3
|
-
const trimmedDescription = state.description.trim();
|
|
4
|
-
const trimmedSubject = state.subject.trim();
|
|
5
|
-
const validationError = getValidationError({
|
|
6
|
-
description: trimmedDescription,
|
|
7
|
-
emergencyConfirmed: state.emergencyConfirmed,
|
|
8
|
-
subject: trimmedSubject,
|
|
9
|
-
urgency: state.urgency,
|
|
10
|
-
});
|
|
11
|
-
state.setError(validationError);
|
|
12
|
-
state.setSubmitError(undefined);
|
|
13
|
-
if (validationError)
|
|
14
|
-
return;
|
|
15
|
-
try {
|
|
16
|
-
await props.onSubmit({
|
|
17
|
-
affectedScope: state.affectedScope,
|
|
18
|
-
attachments: state.attachments,
|
|
19
|
-
description: trimmedDescription,
|
|
20
|
-
subject: trimmedSubject,
|
|
21
|
-
type: state.type,
|
|
22
|
-
urgency: state.urgency,
|
|
23
|
-
});
|
|
24
|
-
state.setIsSubmitted(true);
|
|
25
|
-
props.onSubmittedChange?.(true);
|
|
26
|
-
}
|
|
27
|
-
catch {
|
|
28
|
-
state.setSubmitError("Unable to submit feedback. Please try again.");
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
function getValidationError({ description, emergencyConfirmed, subject, urgency, }) {
|
|
32
|
-
if (!subject)
|
|
33
|
-
return "subject";
|
|
34
|
-
if (!description)
|
|
35
|
-
return "description";
|
|
36
|
-
if (urgency === "emergency" && !emergencyConfirmed)
|
|
37
|
-
return "emergency_confirmation";
|
|
38
|
-
return undefined;
|
|
39
|
-
}
|
|
40
|
-
export { submitFeedbackComposer };
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
type TimestampFormatOptions = {
|
|
2
|
-
fallback?: string;
|
|
3
|
-
};
|
|
4
|
-
declare function formatTimestamp(value: string | undefined, options?: TimestampFormatOptions): string;
|
|
5
|
-
declare function formatTimestampFull(value: string | undefined, options?: TimestampFormatOptions): string;
|
|
6
|
-
declare function getTimestampDateTime(value: string | undefined): string | undefined;
|
|
7
|
-
/**
|
|
8
|
-
* Backends that store naive UTC timestamps serialize without a zone designator,
|
|
9
|
-
* and `Date.parse` reads a zoneless string as local time. Append the missing
|
|
10
|
-
* designator so timestamps render in the viewer's timezone.
|
|
11
|
-
*/
|
|
12
|
-
declare function toUtcTimestamp(value: string): string;
|
|
13
|
-
export { formatTimestamp, formatTimestampFull, getTimestampDateTime, toUtcTimestamp };
|
|
14
|
-
export type { TimestampFormatOptions };
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
function formatTimestamp(value, options = {}) {
|
|
2
|
-
const date = parseTimestamp(value);
|
|
3
|
-
if (!date)
|
|
4
|
-
return getTimestampFallback(value, options.fallback);
|
|
5
|
-
const time = timeFormatter.format(date);
|
|
6
|
-
const dayDifference = getLocalCalendarDayDifference(date, new Date());
|
|
7
|
-
if (dayDifference === 0)
|
|
8
|
-
return `Today, ${time}`;
|
|
9
|
-
if (dayDifference === -1)
|
|
10
|
-
return `Yesterday, ${time}`;
|
|
11
|
-
if (dayDifference < 0 && dayDifference > -7) {
|
|
12
|
-
return `${weekdayFormatter.format(date)}, ${time}`;
|
|
13
|
-
}
|
|
14
|
-
if (date.getFullYear() === new Date().getFullYear()) {
|
|
15
|
-
return `${monthDayFormatter.format(date)}, ${time}`;
|
|
16
|
-
}
|
|
17
|
-
return dateTimeFormatter.format(date);
|
|
18
|
-
}
|
|
19
|
-
function formatTimestampFull(value, options = {}) {
|
|
20
|
-
const date = parseTimestamp(value);
|
|
21
|
-
if (!date)
|
|
22
|
-
return getTimestampFallback(value, options.fallback);
|
|
23
|
-
return dateTimeFormatter.format(date);
|
|
24
|
-
}
|
|
25
|
-
function getTimestampDateTime(value) {
|
|
26
|
-
const date = parseTimestamp(value);
|
|
27
|
-
if (!date)
|
|
28
|
-
return undefined;
|
|
29
|
-
return date.toISOString();
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Backends that store naive UTC timestamps serialize without a zone designator,
|
|
33
|
-
* and `Date.parse` reads a zoneless string as local time. Append the missing
|
|
34
|
-
* designator so timestamps render in the viewer's timezone.
|
|
35
|
-
*/
|
|
36
|
-
function toUtcTimestamp(value) {
|
|
37
|
-
return /(?:z|[+-]\d\d:?\d\d)$/i.test(value) ? value : `${value}Z`;
|
|
38
|
-
}
|
|
39
|
-
function parseTimestamp(value) {
|
|
40
|
-
if (!value)
|
|
41
|
-
return undefined;
|
|
42
|
-
const date = new Date(toUtcTimestamp(value));
|
|
43
|
-
return Number.isNaN(date.getTime()) ? undefined : date;
|
|
44
|
-
}
|
|
45
|
-
function getTimestampFallback(value, fallback = "No update") {
|
|
46
|
-
return value?.trim() || fallback;
|
|
47
|
-
}
|
|
48
|
-
function getLocalCalendarDayDifference(date, comparisonDate) {
|
|
49
|
-
const dateStart = new Date(date.getFullYear(), date.getMonth(), date.getDate()).getTime();
|
|
50
|
-
const comparisonStart = new Date(comparisonDate.getFullYear(), comparisonDate.getMonth(), comparisonDate.getDate()).getTime();
|
|
51
|
-
return Math.round((dateStart - comparisonStart) / millisecondsPerDay);
|
|
52
|
-
}
|
|
53
|
-
const millisecondsPerDay = 24 * 60 * 60 * 1000;
|
|
54
|
-
const timeFormatter = new Intl.DateTimeFormat(undefined, {
|
|
55
|
-
hour: "numeric",
|
|
56
|
-
minute: "2-digit",
|
|
57
|
-
});
|
|
58
|
-
const weekdayFormatter = new Intl.DateTimeFormat(undefined, {
|
|
59
|
-
weekday: "short",
|
|
60
|
-
});
|
|
61
|
-
const monthDayFormatter = new Intl.DateTimeFormat(undefined, {
|
|
62
|
-
day: "numeric",
|
|
63
|
-
month: "short",
|
|
64
|
-
});
|
|
65
|
-
const dateTimeFormatter = new Intl.DateTimeFormat(undefined, {
|
|
66
|
-
day: "numeric",
|
|
67
|
-
hour: "numeric",
|
|
68
|
-
minute: "2-digit",
|
|
69
|
-
month: "short",
|
|
70
|
-
year: "numeric",
|
|
71
|
-
});
|
|
72
|
-
export { formatTimestamp, formatTimestampFull, getTimestampDateTime, toUtcTimestamp };
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
import type { FeedbackAffectedScope, FeedbackType, FeedbackUrgency, FeedbackValidationError } from "./feedback-composer-types.js";
|
|
3
|
-
declare function useFeedbackComposerState(defaultType: FeedbackType, defaultUrgency: FeedbackUrgency): {
|
|
4
|
-
affectedScope: FeedbackAffectedScope;
|
|
5
|
-
attachments: File[];
|
|
6
|
-
description: string;
|
|
7
|
-
emergencyConfirmed: boolean;
|
|
8
|
-
error: FeedbackValidationError;
|
|
9
|
-
isDirty: boolean;
|
|
10
|
-
isSubmitted: boolean;
|
|
11
|
-
resetForm: () => void;
|
|
12
|
-
setAffectedScope: React.Dispatch<React.SetStateAction<FeedbackAffectedScope>>;
|
|
13
|
-
setAttachments: React.Dispatch<React.SetStateAction<File[]>>;
|
|
14
|
-
setDescription: React.Dispatch<React.SetStateAction<string>>;
|
|
15
|
-
setEmergencyConfirmed: React.Dispatch<React.SetStateAction<boolean>>;
|
|
16
|
-
setError: React.Dispatch<React.SetStateAction<FeedbackValidationError>>;
|
|
17
|
-
setIsSubmitted: React.Dispatch<React.SetStateAction<boolean>>;
|
|
18
|
-
setSubmitError: React.Dispatch<React.SetStateAction<string | undefined>>;
|
|
19
|
-
setSubject: React.Dispatch<React.SetStateAction<string>>;
|
|
20
|
-
setType: React.Dispatch<React.SetStateAction<FeedbackType>>;
|
|
21
|
-
setUrgency: React.Dispatch<React.SetStateAction<FeedbackUrgency>>;
|
|
22
|
-
submitError: string | undefined;
|
|
23
|
-
subject: string;
|
|
24
|
-
type: FeedbackType;
|
|
25
|
-
urgency: FeedbackUrgency;
|
|
26
|
-
};
|
|
27
|
-
export { useFeedbackComposerState };
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
function useFeedbackComposerState(defaultType, defaultUrgency) {
|
|
3
|
-
const [affectedScope, setAffectedScope] = React.useState("unknown");
|
|
4
|
-
const [attachments, setAttachments] = React.useState([]);
|
|
5
|
-
const [description, setDescription] = React.useState("");
|
|
6
|
-
const [emergencyConfirmed, setEmergencyConfirmed] = React.useState(false);
|
|
7
|
-
const [error, setError] = React.useState();
|
|
8
|
-
const [submitError, setSubmitError] = React.useState();
|
|
9
|
-
const [isSubmitted, setIsSubmitted] = React.useState(false);
|
|
10
|
-
const [subject, setSubject] = React.useState("");
|
|
11
|
-
const [type, setType] = React.useState(defaultType);
|
|
12
|
-
const [urgency, setUrgency] = React.useState(defaultUrgency);
|
|
13
|
-
React.useEffect(() => setType(defaultType), [defaultType]);
|
|
14
|
-
React.useEffect(() => setUrgency(defaultUrgency), [defaultUrgency]);
|
|
15
|
-
const isDirty = !isSubmitted &&
|
|
16
|
-
(attachments.length > 0 ||
|
|
17
|
-
description.length > 0 ||
|
|
18
|
-
subject.length > 0 ||
|
|
19
|
-
type !== defaultType ||
|
|
20
|
-
urgency !== defaultUrgency ||
|
|
21
|
-
affectedScope !== "unknown" ||
|
|
22
|
-
emergencyConfirmed);
|
|
23
|
-
const resetForm = () => {
|
|
24
|
-
setAffectedScope("unknown");
|
|
25
|
-
setAttachments([]);
|
|
26
|
-
setDescription("");
|
|
27
|
-
setEmergencyConfirmed(false);
|
|
28
|
-
setError(undefined);
|
|
29
|
-
setSubmitError(undefined);
|
|
30
|
-
setIsSubmitted(false);
|
|
31
|
-
setSubject("");
|
|
32
|
-
setType(defaultType);
|
|
33
|
-
setUrgency(defaultUrgency);
|
|
34
|
-
};
|
|
35
|
-
return {
|
|
36
|
-
affectedScope,
|
|
37
|
-
attachments,
|
|
38
|
-
description,
|
|
39
|
-
emergencyConfirmed,
|
|
40
|
-
error,
|
|
41
|
-
isDirty,
|
|
42
|
-
isSubmitted,
|
|
43
|
-
resetForm,
|
|
44
|
-
setAffectedScope,
|
|
45
|
-
setAttachments,
|
|
46
|
-
setDescription,
|
|
47
|
-
setEmergencyConfirmed,
|
|
48
|
-
setError,
|
|
49
|
-
setIsSubmitted,
|
|
50
|
-
setSubmitError,
|
|
51
|
-
setSubject,
|
|
52
|
-
setType,
|
|
53
|
-
setUrgency,
|
|
54
|
-
submitError,
|
|
55
|
-
subject,
|
|
56
|
-
type,
|
|
57
|
-
urgency,
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
export { useFeedbackComposerState };
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
/**
|
|
3
|
-
* After a send, a thread follows its own tail: scroll once when the submit
|
|
4
|
-
* resolves, and again when the posted item actually lands in the thread. The
|
|
5
|
-
* app may only append it after a refetch.
|
|
6
|
-
*/
|
|
7
|
-
declare function useRevealThreadEnd(itemCount: number): {
|
|
8
|
-
armReveal: () => void;
|
|
9
|
-
endRef: React.RefObject<HTMLDivElement | null>;
|
|
10
|
-
};
|
|
11
|
-
export { useRevealThreadEnd };
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
/**
|
|
3
|
-
* After a send, a thread follows its own tail: scroll once when the submit
|
|
4
|
-
* resolves, and again when the posted item actually lands in the thread. The
|
|
5
|
-
* app may only append it after a refetch.
|
|
6
|
-
*/
|
|
7
|
-
function useRevealThreadEnd(itemCount) {
|
|
8
|
-
const endRef = React.useRef(null);
|
|
9
|
-
// A deadline, not a flag: the follow-up scroll only chases the send it
|
|
10
|
-
// belongs to, so a comment arriving minutes later cannot yank a reader
|
|
11
|
-
// who has scrolled away.
|
|
12
|
-
const armedUntil = React.useRef(0);
|
|
13
|
-
React.useEffect(() => {
|
|
14
|
-
if (armedUntil.current === 0 || Date.now() > armedUntil.current)
|
|
15
|
-
return;
|
|
16
|
-
armedUntil.current = 0;
|
|
17
|
-
endRef.current?.scrollIntoView({ behavior: "smooth", block: "nearest" });
|
|
18
|
-
}, [itemCount]);
|
|
19
|
-
const armReveal = React.useCallback(() => {
|
|
20
|
-
armedUntil.current = Date.now() + 5000;
|
|
21
|
-
endRef.current?.scrollIntoView({ behavior: "smooth", block: "nearest" });
|
|
22
|
-
}, []);
|
|
23
|
-
return { armReveal, endRef };
|
|
24
|
-
}
|
|
25
|
-
export { useRevealThreadEnd };
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
import { type AdminUsersTableProps } from "../blocks/admin-users-table.js";
|
|
3
|
-
import { type InviteUserRole, type InviteUserValues } from "../blocks/invite-user-sheet.js";
|
|
4
|
-
type AdminUsersPageProps = AdminUsersTableProps & {
|
|
5
|
-
defaultRole?: string;
|
|
6
|
-
isInviting?: boolean;
|
|
7
|
-
onInviteUser: (values: InviteUserValues) => void | Promise<void>;
|
|
8
|
-
roles: InviteUserRole[];
|
|
9
|
-
};
|
|
10
|
-
declare function AdminUsersPage({ defaultRole, isInviting, onInviteUser, roles, users, ...tableProps }: AdminUsersPageProps): React.JSX.Element;
|
|
11
|
-
export { AdminUsersPage, type AdminUsersPageProps };
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import * as React from "react";
|
|
3
|
-
import { UserPlusIcon } from "lucide-react";
|
|
4
|
-
import { AdminUsersTable, } from "../blocks/admin-users-table.js";
|
|
5
|
-
import { InviteUserSheet, } from "../blocks/invite-user-sheet.js";
|
|
6
|
-
import { Button } from "../ui/button.js";
|
|
7
|
-
import { MetricsStrip, MetricsStripDetail, MetricsStripItem, MetricsStripLabel, MetricsStripValue, } from "../ui/metrics-strip.js";
|
|
8
|
-
import { PageHeader, PageHeaderActions, PageHeaderContent, PageHeaderDescription, PageHeaderMain, PageHeaderTitle, } from "../ui/page-header.js";
|
|
9
|
-
function AdminUsersPage({ defaultRole, isInviting = false, onInviteUser, roles, users, ...tableProps }) {
|
|
10
|
-
const [inviteOpen, setInviteOpen] = React.useState(false);
|
|
11
|
-
return (_jsxs("div", { className: "min-h-svh bg-background text-foreground", children: [_jsx(AdminUsersPageHeader, { onInvite: () => setInviteOpen(true) }), _jsxs("main", { className: "grid gap-4 px-4 py-4 md:px-6 lg:px-8", children: [_jsx(AdminUsersMetrics, { users: users }), _jsx(AdminUsersTable, { users: users, ...tableProps })] }), _jsx(InviteUserSheet, { defaultRole: defaultRole, isSubmitting: isInviting, onOpenChange: setInviteOpen, onSubmit: onInviteUser, open: inviteOpen, roles: roles })] }));
|
|
12
|
-
}
|
|
13
|
-
function AdminUsersPageHeader({ onInvite }) {
|
|
14
|
-
return (_jsx(PageHeader, { children: _jsxs(PageHeaderMain, { children: [_jsxs(PageHeaderContent, { children: [_jsx(PageHeaderTitle, { children: "Admin user management" }), _jsx(PageHeaderDescription, { children: "Manage platform access, pending invites, and user status." })] }), _jsx(PageHeaderActions, { children: _jsxs(Button, { onClick: onInvite, type: "button", children: [_jsx(UserPlusIcon, {}), "Invite user"] }) })] }) }));
|
|
15
|
-
}
|
|
16
|
-
function AdminUsersMetrics({ users }) {
|
|
17
|
-
const metrics = getAdminUserMetrics(users);
|
|
18
|
-
return (_jsxs(MetricsStrip, { className: "md:grid-cols-3", children: [_jsx(AdminUsersMetric, { detail: "Total platform users", label: "Users", value: metrics.total }), _jsx(AdminUsersMetric, { detail: "Invites awaiting acceptance", label: "Pending", value: metrics.invited }), _jsx(AdminUsersMetric, { detail: "Users with admin access", label: "Admins", value: metrics.admins })] }));
|
|
19
|
-
}
|
|
20
|
-
function AdminUsersMetric({ detail, label, value, }) {
|
|
21
|
-
return (_jsxs(MetricsStripItem, { children: [_jsx(MetricsStripLabel, { children: label }), _jsx(MetricsStripValue, { children: value }), _jsx(MetricsStripDetail, { children: detail })] }));
|
|
22
|
-
}
|
|
23
|
-
function getAdminUserMetrics(users) {
|
|
24
|
-
return {
|
|
25
|
-
admins: users.filter((user) => user.role.toLowerCase().includes("admin")).length,
|
|
26
|
-
invited: users.filter((user) => user.status === "invited").length,
|
|
27
|
-
total: users.length,
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
export { AdminUsersPage };
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { type FeedbackStatus, type StakeholderFeedbackType } from "../blocks/feedback-tracking-types.js";
|
|
2
|
-
type StatusFilter = FeedbackStatus | "all";
|
|
3
|
-
type TypeFilter = StakeholderFeedbackType | "all";
|
|
4
|
-
type FeedbackFilters = {
|
|
5
|
-
search: string;
|
|
6
|
-
status: StatusFilter;
|
|
7
|
-
type: TypeFilter;
|
|
8
|
-
};
|
|
9
|
-
declare function FeedbackFiltersToolbar({ filters, hasActiveFilters, onClearFilters, onFiltersChange, }: {
|
|
10
|
-
filters: FeedbackFilters;
|
|
11
|
-
hasActiveFilters: boolean;
|
|
12
|
-
onClearFilters: () => void;
|
|
13
|
-
onFiltersChange: (filters: FeedbackFilters) => void;
|
|
14
|
-
}): import("@types/react").JSX.Element;
|
|
15
|
-
declare function ClearFiltersButton({ onClearFilters }: {
|
|
16
|
-
onClearFilters: () => void;
|
|
17
|
-
}): import("@types/react").JSX.Element;
|
|
18
|
-
export { ClearFiltersButton, FeedbackFiltersToolbar, type FeedbackFilters, type StatusFilter, type TypeFilter, };
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { SearchIcon, XIcon } from "lucide-react";
|
|
3
|
-
import { feedbackStatusOptions, feedbackTypeOptions, } from "../blocks/feedback-tracking-types.js";
|
|
4
|
-
import { Button } from "../ui/button.js";
|
|
5
|
-
import { Input } from "../ui/input.js";
|
|
6
|
-
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "../ui/select.js";
|
|
7
|
-
function FeedbackFiltersToolbar({ filters, hasActiveFilters, onClearFilters, onFiltersChange, }) {
|
|
8
|
-
return (_jsxs("div", { className: "flex flex-col gap-2 md:flex-row md:items-center md:justify-between", children: [_jsx(FeedbackSearchInput, { onSearchChange: (search) => onFiltersChange({ ...filters, search }), search: filters.search }), _jsxs("div", { className: "flex flex-col gap-2 sm:flex-row sm:items-center", children: [_jsx(FeedbackStatusFilter, { onStatusChange: (status) => onFiltersChange({ ...filters, status }), status: filters.status }), _jsx(FeedbackTypeFilter, { onTypeChange: (type) => onFiltersChange({ ...filters, type }), type: filters.type }), hasActiveFilters ? _jsx(ClearFiltersButton, { onClearFilters: onClearFilters }) : null] })] }));
|
|
9
|
-
}
|
|
10
|
-
function FeedbackSearchInput({ onSearchChange, search, }) {
|
|
11
|
-
return (_jsxs("div", { className: "relative w-full md:max-w-sm", children: [_jsx(SearchIcon, { className: "pointer-events-none absolute top-1/2 left-2.5 size-4 -translate-y-1/2 text-muted-foreground" }), _jsx(Input, { "aria-label": "Search feedback", className: "pl-8", onChange: (event) => onSearchChange(event.target.value), placeholder: "Search feedback", value: search })] }));
|
|
12
|
-
}
|
|
13
|
-
function FeedbackStatusFilter({ onStatusChange, status, }) {
|
|
14
|
-
return (_jsxs(Select, { onValueChange: (value) => updateStatusFilter(value, onStatusChange), value: status, children: [_jsx(SelectTrigger, { "aria-label": "Filter by status", className: "w-full sm:w-40", children: _jsx(SelectValue, {}) }), _jsx(SelectContent, { children: feedbackStatusOptions.map((option) => (_jsx(SelectItem, { value: option.value, children: option.label }, option.value))) })] }));
|
|
15
|
-
}
|
|
16
|
-
function FeedbackTypeFilter({ onTypeChange, type, }) {
|
|
17
|
-
return (_jsxs(Select, { onValueChange: (value) => updateTypeFilter(value, onTypeChange), value: type, children: [_jsx(SelectTrigger, { "aria-label": "Filter by type", className: "w-full sm:w-44", children: _jsx(SelectValue, {}) }), _jsx(SelectContent, { children: feedbackTypeOptions.map((option) => (_jsx(SelectItem, { value: option.value, children: option.label }, option.value))) })] }));
|
|
18
|
-
}
|
|
19
|
-
function ClearFiltersButton({ onClearFilters }) {
|
|
20
|
-
return (_jsxs(Button, { onClick: onClearFilters, type: "button", variant: "outline", children: [_jsx(XIcon, {}), "Clear filters"] }));
|
|
21
|
-
}
|
|
22
|
-
function updateStatusFilter(value, onStatusChange) {
|
|
23
|
-
if (isStatusFilter(value))
|
|
24
|
-
onStatusChange(value);
|
|
25
|
-
}
|
|
26
|
-
function updateTypeFilter(value, onTypeChange) {
|
|
27
|
-
if (isTypeFilter(value))
|
|
28
|
-
onTypeChange(value);
|
|
29
|
-
}
|
|
30
|
-
function isStatusFilter(value) {
|
|
31
|
-
return feedbackStatusOptions.some((option) => option.value === value);
|
|
32
|
-
}
|
|
33
|
-
function isTypeFilter(value) {
|
|
34
|
-
return feedbackTypeOptions.some((option) => option.value === value);
|
|
35
|
-
}
|
|
36
|
-
export { ClearFiltersButton, FeedbackFiltersToolbar, };
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
import { type FeedbackMetrics, type StakeholderFeedbackItem } from "../blocks/feedback-tracking-types.js";
|
|
3
|
-
type FeedbackStakeholderPageProps = {
|
|
4
|
-
isLoading?: boolean;
|
|
5
|
-
items: StakeholderFeedbackItem[];
|
|
6
|
-
metrics: FeedbackMetrics;
|
|
7
|
-
};
|
|
8
|
-
declare function FeedbackStakeholderPage({ isLoading, items, metrics, }: FeedbackStakeholderPageProps): React.JSX.Element;
|
|
9
|
-
export { FeedbackStakeholderPage, type FeedbackStakeholderPageProps };
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import * as React from "react";
|
|
3
|
-
import { FeedbackDetailSheet } from "../blocks/feedback-detail-sheet.js";
|
|
4
|
-
import { FeedbackMetricsStrip } from "../blocks/feedback-metrics.js";
|
|
5
|
-
import { FeedbackTable } from "../blocks/feedback-table.js";
|
|
6
|
-
import { ClearFiltersButton, FeedbackFiltersToolbar, } from "./feedback-stakeholder-page-parts.js";
|
|
7
|
-
import { PageHeader, PageHeaderContent, PageHeaderDescription, PageHeaderMain, PageHeaderTitle, } from "../ui/page-header.js";
|
|
8
|
-
function FeedbackStakeholderPage({ isLoading = false, items, metrics, }) {
|
|
9
|
-
const [filters, setFilters] = React.useState(defaultFilters);
|
|
10
|
-
const [selectedFeedback, setSelectedFeedback] = React.useState();
|
|
11
|
-
const filteredItems = React.useMemo(() => filterFeedbackItems(items, filters), [items, filters]);
|
|
12
|
-
const hasActiveFilters = !areDefaultFilters(filters);
|
|
13
|
-
return (_jsxs("div", { className: "min-h-svh bg-background text-foreground", children: [_jsx(FeedbackStakeholderPageHeader, {}), _jsxs("main", { className: "grid gap-4 px-4 py-4 md:px-6 lg:px-8", children: [_jsx(FeedbackMetricsStrip, { metrics: metrics }), _jsx(FeedbackTrackerSurface, { filters: filters, hasActiveFilters: hasActiveFilters, isLoading: isLoading, items: filteredItems, onClearFilters: () => setFilters(defaultFilters), onFiltersChange: setFilters, onSelectFeedback: setSelectedFeedback })] }), _jsx(FeedbackDetailSheet, { feedback: selectedFeedback, onOpenChange: (open) => {
|
|
14
|
-
if (!open)
|
|
15
|
-
setSelectedFeedback(undefined);
|
|
16
|
-
}, open: Boolean(selectedFeedback) })] }));
|
|
17
|
-
}
|
|
18
|
-
function FeedbackStakeholderPageHeader() {
|
|
19
|
-
return (_jsx(PageHeader, { children: _jsx(PageHeaderMain, { children: _jsxs(PageHeaderContent, { children: [_jsx(PageHeaderTitle, { children: "Feedback" }), _jsx(PageHeaderDescription, { children: "Track submitted feedback and Ciridae's progress on review and implementation." })] }) }) }));
|
|
20
|
-
}
|
|
21
|
-
function FeedbackTrackerSurface({ filters, hasActiveFilters, isLoading, items, onClearFilters, onFiltersChange, onSelectFeedback, }) {
|
|
22
|
-
return (_jsxs("div", { className: "grid gap-(--panel-gap)", children: [_jsx(FeedbackFiltersToolbar, { filters: filters, hasActiveFilters: hasActiveFilters, onClearFilters: onClearFilters, onFiltersChange: onFiltersChange }), _jsx(FeedbackTable, { emptyAction: hasActiveFilters ? _jsx(ClearFiltersButton, { onClearFilters: onClearFilters }) : null, emptyDescription: getEmptyDescription(hasActiveFilters), emptyTitle: hasActiveFilters ? "No matching feedback" : "No feedback", isLoading: isLoading, items: items, onSelectFeedback: onSelectFeedback })] }));
|
|
23
|
-
}
|
|
24
|
-
const defaultFilters = {
|
|
25
|
-
search: "",
|
|
26
|
-
status: "all",
|
|
27
|
-
type: "all",
|
|
28
|
-
};
|
|
29
|
-
function filterFeedbackItems(items, filters) {
|
|
30
|
-
return items.filter((item) => {
|
|
31
|
-
return (matchesSearch(item, filters.search) &&
|
|
32
|
-
matchesStatus(item, filters.status) &&
|
|
33
|
-
matchesType(item, filters.type));
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
function matchesSearch(item, search) {
|
|
37
|
-
const query = search.trim().toLowerCase();
|
|
38
|
-
if (!query)
|
|
39
|
-
return true;
|
|
40
|
-
return [
|
|
41
|
-
item.subject,
|
|
42
|
-
item.description,
|
|
43
|
-
item.submittedBy.name,
|
|
44
|
-
item.submittedBy.email,
|
|
45
|
-
item.referenceId,
|
|
46
|
-
]
|
|
47
|
-
.filter(Boolean)
|
|
48
|
-
.some((value) => value?.toLowerCase().includes(query));
|
|
49
|
-
}
|
|
50
|
-
function matchesStatus(item, status) {
|
|
51
|
-
return status === "all" || item.status === status;
|
|
52
|
-
}
|
|
53
|
-
function matchesType(item, type) {
|
|
54
|
-
return type === "all" || item.type === type;
|
|
55
|
-
}
|
|
56
|
-
function areDefaultFilters(filters) {
|
|
57
|
-
return (filters.search === defaultFilters.search &&
|
|
58
|
-
filters.status === defaultFilters.status &&
|
|
59
|
-
filters.type === defaultFilters.type);
|
|
60
|
-
}
|
|
61
|
-
function getEmptyDescription(hasActiveFilters) {
|
|
62
|
-
if (hasActiveFilters)
|
|
63
|
-
return "No feedback matches the current filters.";
|
|
64
|
-
return "Feedback submitted by users will appear here.";
|
|
65
|
-
}
|
|
66
|
-
export { FeedbackStakeholderPage };
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
import type { KanbanCardData, KanbanColumnData, KanbanMoveEvent } from "../blocks/kanban-types.js";
|
|
3
|
-
type KanbanPageProps = {
|
|
4
|
-
cards: KanbanCardData[];
|
|
5
|
-
columns: KanbanColumnData[];
|
|
6
|
-
isLoading?: boolean;
|
|
7
|
-
onCardMove?: (event: KanbanMoveEvent) => void;
|
|
8
|
-
onCreateCard?: () => void;
|
|
9
|
-
renderCardActions?: (card: KanbanCardData) => React.ReactNode;
|
|
10
|
-
renderColumnActions?: (column: KanbanColumnData) => React.ReactNode;
|
|
11
|
-
};
|
|
12
|
-
declare function KanbanPage({ cards, columns, isLoading, onCardMove, onCreateCard, renderCardActions, renderColumnActions, }: KanbanPageProps): React.JSX.Element;
|
|
13
|
-
export { KanbanPage, type KanbanPageProps };
|