@flamingo-stack/openframe-frontend-core 0.0.439-snapshot.20260717095442 → 0.0.439
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/dist/{chunk-QAG357PE.js → chunk-2ELBNZJ3.js} +7 -7
- package/dist/chunk-2ELBNZJ3.js.map +1 -0
- package/dist/{chunk-IZ6A6K6N.cjs → chunk-3WJQL4DN.cjs} +25 -25
- package/dist/chunk-3WJQL4DN.cjs.map +1 -0
- package/dist/{chunk-6CITW5BD.js → chunk-4ACSUJ7Q.js} +10 -10
- package/dist/chunk-4ACSUJ7Q.js.map +1 -0
- package/dist/{chunk-JYI4R25Q.js → chunk-7WM77CSW.js} +5 -5
- package/dist/chunk-7WM77CSW.js.map +1 -0
- package/dist/{chunk-TAQMYVO6.cjs → chunk-AUJXLVXA.cjs} +42 -42
- package/dist/{chunk-TAQMYVO6.cjs.map → chunk-AUJXLVXA.cjs.map} +1 -1
- package/dist/{chunk-UFBUQO7Z.cjs → chunk-C3FH53AP.cjs} +19 -19
- package/dist/{chunk-UFBUQO7Z.cjs.map → chunk-C3FH53AP.cjs.map} +1 -1
- package/dist/{chunk-FPE3SQ5D.js → chunk-COMBYYQY.js} +13 -13
- package/dist/chunk-COMBYYQY.js.map +1 -0
- package/dist/{chunk-J5NO7PAG.cjs → chunk-EE5NH5SH.cjs} +3 -3
- package/dist/{chunk-J5NO7PAG.cjs.map → chunk-EE5NH5SH.cjs.map} +1 -1
- package/dist/{chunk-SM26C2L7.js → chunk-EGRZHR7J.js} +9 -9
- package/dist/chunk-EGRZHR7J.js.map +1 -0
- package/dist/{chunk-W3JZXLJ2.js → chunk-F7YVI54P.js} +10 -10
- package/dist/chunk-F7YVI54P.js.map +1 -0
- package/dist/{chunk-63TSTDME.js → chunk-G5FALXNO.js} +21 -21
- package/dist/chunk-G5FALXNO.js.map +1 -0
- package/dist/{chunk-DUQQEQ7G.cjs → chunk-HTVVXVJL.cjs} +1594 -1431
- package/dist/chunk-HTVVXVJL.cjs.map +1 -0
- package/dist/{chunk-JNC4LVD6.cjs → chunk-IAN7GUIV.cjs} +42 -42
- package/dist/chunk-IAN7GUIV.cjs.map +1 -0
- package/dist/{chunk-PYR4LVAF.cjs → chunk-IMK6RUEC.cjs} +10 -10
- package/dist/chunk-IMK6RUEC.cjs.map +1 -0
- package/dist/{chunk-LFWPWIAC.cjs → chunk-M3LD6DNE.cjs} +16 -16
- package/dist/{chunk-LFWPWIAC.cjs.map → chunk-M3LD6DNE.cjs.map} +1 -1
- package/dist/{chunk-KUXGQ2FQ.cjs → chunk-M6QGB6DC.cjs} +36 -36
- package/dist/chunk-M6QGB6DC.cjs.map +1 -0
- package/dist/{chunk-QO6MCQYE.cjs → chunk-N2TJ3HAM.cjs} +9 -9
- package/dist/chunk-N2TJ3HAM.cjs.map +1 -0
- package/dist/{chunk-ZQYFDYWV.js → chunk-NQQ4NLUT.js} +4461 -4298
- package/dist/chunk-NQQ4NLUT.js.map +1 -0
- package/dist/{chunk-Y3NFB6HR.js → chunk-P7PISHM5.js} +5 -5
- package/dist/chunk-P7PISHM5.js.map +1 -0
- package/dist/{chunk-YZJUHEPZ.js → chunk-PBTY7AH5.js} +95 -95
- package/dist/chunk-PBTY7AH5.js.map +1 -0
- package/dist/{chunk-7KNOHGMI.js → chunk-PEIR7D25.js} +2 -2
- package/dist/{chunk-7KDR5P23.js → chunk-QXYOGJQJ.js} +2 -2
- package/dist/{chunk-LUKRPHEW.cjs → chunk-R46QEE3R.cjs} +96 -96
- package/dist/chunk-R46QEE3R.cjs.map +1 -0
- package/dist/{chunk-IPEIOR77.cjs → chunk-RQQZF6G6.cjs} +130 -130
- package/dist/chunk-RQQZF6G6.cjs.map +1 -0
- package/dist/{chunk-2BTDPDME.js → chunk-RVWC4P3H.js} +9 -9
- package/dist/chunk-RVWC4P3H.js.map +1 -0
- package/dist/{chunk-JOH5D76X.cjs → chunk-VWGF6IFR.cjs} +108 -108
- package/dist/chunk-VWGF6IFR.cjs.map +1 -0
- package/dist/{chunk-IAZ5AN2E.js → chunk-WAGTZVQN.js} +30 -30
- package/dist/chunk-WAGTZVQN.js.map +1 -0
- package/dist/{chunk-AGV26PUR.js → chunk-WPVBTVI3.js} +6 -6
- package/dist/{chunk-AGV26PUR.js.map → chunk-WPVBTVI3.js.map} +1 -1
- package/dist/{chunk-XMCVUYKC.cjs → chunk-WZ6TCAYQ.cjs} +14 -14
- package/dist/chunk-WZ6TCAYQ.cjs.map +1 -0
- package/dist/{chunk-7QP65IE4.cjs → chunk-ZMUFTGL7.cjs} +5 -5
- package/dist/{chunk-7QP65IE4.cjs.map → chunk-ZMUFTGL7.cjs.map} +1 -1
- package/dist/components/accordion.d.ts +8 -0
- package/dist/components/accordion.d.ts.map +1 -0
- package/dist/components/alert-dialog.d.ts +21 -0
- package/dist/components/alert-dialog.d.ts.map +1 -0
- package/dist/components/alert.d.ts +9 -0
- package/dist/components/alert.d.ts.map +1 -0
- package/dist/components/badge.d.ts +10 -0
- package/dist/components/badge.d.ts.map +1 -0
- package/dist/components/breadcrumb.d.ts +20 -0
- package/dist/components/breadcrumb.d.ts.map +1 -0
- package/dist/components/case-studies/index.cjs +15 -15
- package/dist/components/case-studies/index.cjs.map +1 -1
- package/dist/components/case-studies/index.js +9 -9
- package/dist/components/case-studies/index.js.map +1 -1
- package/dist/components/chat/approval-request-message.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/blog-card.d.ts.map +1 -1
- package/dist/components/chat/index.cjs +4 -4
- package/dist/components/chat/index.js +3 -3
- package/dist/components/chat/tool-call-blocks.d.ts.map +1 -1
- package/dist/components/chat/utils/compact-card-classes.d.ts +3 -3
- package/dist/components/chat/utils/compact-card-classes.d.ts.map +1 -1
- package/dist/components/chevron-button.d.ts +14 -0
- package/dist/components/chevron-button.d.ts.map +1 -0
- package/dist/components/contact/index.cjs +5 -5
- package/dist/components/contact/index.js +4 -4
- package/dist/components/dialog.d.ts +29 -0
- package/dist/components/dialog.d.ts.map +1 -0
- package/dist/components/docs/index.cjs +7 -7
- package/dist/components/docs/index.js +6 -6
- package/dist/components/dropdown-menu.d.ts +28 -0
- package/dist/components/dropdown-menu.d.ts.map +1 -0
- package/dist/components/embeds/index.cjs +5 -5
- package/dist/components/embeds/index.js +4 -4
- package/dist/components/faq/index.cjs +6 -6
- package/dist/components/faq/index.js +5 -5
- package/dist/components/features/index.cjs +4 -4
- package/dist/components/features/index.js +3 -3
- package/dist/components/help-center-pages/index.cjs +23 -23
- package/dist/components/help-center-pages/index.js +14 -14
- package/dist/components/index.cjs +256 -262
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.js +111 -117
- package/dist/components/index.js.map +1 -1
- package/dist/components/input.d.ts +8 -0
- package/dist/components/input.d.ts.map +1 -0
- package/dist/components/label.d.ts +6 -0
- package/dist/components/label.d.ts.map +1 -0
- package/dist/components/menubar.d.ts +34 -0
- package/dist/components/menubar.d.ts.map +1 -0
- package/dist/components/msp-display.d.ts.map +1 -1
- package/dist/components/navigation/index.cjs +4 -4
- package/dist/components/navigation/index.js +3 -3
- package/dist/components/navigation/sticky-section-nav.d.ts.map +1 -1
- package/dist/components/navigation-menu.d.ts +13 -0
- package/dist/components/navigation-menu.d.ts.map +1 -0
- package/dist/components/onboarding-guides/index.cjs +8 -8
- package/dist/components/onboarding-guides/index.js +7 -7
- package/dist/components/pricing-display.d.ts +9 -9
- package/dist/components/related-content/index.cjs +6 -6
- package/dist/components/related-content/index.js +5 -5
- package/dist/components/select.d.ts +14 -0
- package/dist/components/select.d.ts.map +1 -0
- package/dist/components/sidebar.d.ts +67 -0
- package/dist/components/sidebar.d.ts.map +1 -0
- package/dist/components/square-avatar.d.ts +21 -0
- package/dist/components/square-avatar.d.ts.map +1 -0
- package/dist/components/table.d.ts +11 -0
- package/dist/components/table.d.ts.map +1 -0
- package/dist/components/tabs.d.ts +18 -0
- package/dist/components/tabs.d.ts.map +1 -0
- package/dist/components/tickets/index.cjs +7 -7
- package/dist/components/tickets/index.js +6 -6
- package/dist/components/toast/index.cjs +5 -5
- package/dist/components/toast/index.cjs.map +1 -1
- package/dist/components/toast/index.js +5 -5
- package/dist/components/toast/index.js.map +1 -1
- package/dist/components/toggle.d.ts +13 -0
- package/dist/components/toggle.d.ts.map +1 -0
- package/dist/components/ui/bullet-list.d.ts.map +1 -1
- package/dist/components/ui/drawer.d.ts +1 -1
- package/dist/components/ui/drawer.d.ts.map +1 -1
- package/dist/components/ui/file-manager/index.cjs +73 -73
- package/dist/components/ui/file-manager/index.cjs.map +1 -1
- package/dist/components/ui/file-manager/index.js +24 -24
- package/dist/components/ui/file-manager/index.js.map +1 -1
- package/dist/components/ui/index.cjs +4 -4
- package/dist/components/ui/index.js +3 -3
- package/dist/components/ui/markdown-editor.d.ts.map +1 -1
- package/dist/components/ui/square-avatar.d.ts +0 -3
- package/dist/components/ui/square-avatar.d.ts.map +1 -1
- package/dist/components/user-display.d.ts.map +1 -1
- package/dist/components/vendor-tag.d.ts.map +1 -1
- package/dist/hooks/index.cjs +2 -2
- package/dist/hooks/index.js +1 -1
- package/dist/index.cjs +4 -4
- package/dist/index.js +3 -3
- package/dist/tailwind.config.cjs +5 -38
- package/dist/tailwind.config.cjs.map +1 -1
- package/dist/tailwind.config.js +5 -38
- package/dist/tailwind.config.js.map +1 -1
- package/package.json +1 -1
- package/src/ODS_TOKEN_RULES.md +0 -5
- package/src/components/.accordion.md +42 -0
- package/src/components/.alert-dialog.md +58 -0
- package/src/components/.alert.md +43 -0
- package/src/components/.badge.md +40 -0
- package/src/components/.breadcrumb.md +54 -0
- package/src/components/.chevron-button.md +46 -0
- package/src/components/.dialog.md +60 -0
- package/src/components/.dropdown-menu.md +51 -0
- package/src/components/.footer.md +2 -2
- package/src/components/.input.md +40 -0
- package/src/components/.label.md +41 -0
- package/src/components/.menubar.md +49 -0
- package/src/components/.navigation-menu.md +44 -0
- package/src/components/.select.md +54 -0
- package/src/components/.sidebar.md +58 -0
- package/src/components/.square-avatar.md +42 -0
- package/src/components/.table.md +51 -0
- package/src/components/.tabs.md +38 -0
- package/src/components/.toggle.md +49 -0
- package/src/components/accordion.tsx +56 -0
- package/src/components/alert-dialog.tsx +141 -0
- package/src/components/alert.tsx +59 -0
- package/src/components/announcement-bar.tsx +1 -1
- package/src/components/authors/author-detail-view.tsx +3 -3
- package/src/components/badge.tsx +30 -0
- package/src/components/breadcrumb.tsx +115 -0
- package/src/components/calendar.tsx +2 -2
- package/src/components/case-studies/share-experience-section.tsx +5 -5
- package/src/components/categories-cart.tsx +6 -6
- package/src/components/category-card.tsx +5 -5
- package/src/components/chart.tsx +3 -3
- package/src/components/chat/approval-request-message.tsx +5 -2
- package/src/components/chat/chat-attachment-bar.tsx +3 -3
- package/src/components/chat/chat-message-enhanced.tsx +1 -1
- package/src/components/chat/chat-message-list.tsx +1 -1
- package/src/components/chat/chat-message-row.tsx +3 -3
- package/src/components/chat/chat-quick-action.tsx +1 -1
- package/src/components/chat/chat-sidebar-skeleton.tsx +1 -1
- package/src/components/chat/chat-sidebar.tsx +6 -6
- package/src/components/chat/chat-typing-indicator.tsx +1 -1
- package/src/components/chat/context-compaction-display.tsx +1 -1
- package/src/components/chat/embeddable-chat.tsx +3 -3
- package/src/components/chat/entity-cards/admin-content-card.tsx +5 -5
- package/src/components/chat/entity-cards/blog-card.tsx +8 -5
- package/src/components/chat/entity-cards/case-study-card.tsx +5 -5
- package/src/components/chat/entity-cards/chat-ticket-item.tsx +1 -1
- package/src/components/chat/entity-cards/customer-interview-card.tsx +9 -9
- package/src/components/chat/entity-cards/data-room-doc-card.tsx +2 -2
- package/src/components/chat/entity-cards/dispatch.tsx +1 -1
- package/src/components/chat/entity-cards/entity-author-card.tsx +3 -3
- package/src/components/chat/entity-cards/entity-portrait-card.tsx +4 -4
- package/src/components/chat/entity-cards/generic-entity-card.tsx +3 -3
- package/src/components/chat/entity-cards/github-activity-card.tsx +11 -11
- package/src/components/chat/entity-cards/hubspot-ticket-card.tsx +5 -5
- package/src/components/chat/entity-cards/investor-update-card.tsx +1 -1
- package/src/components/chat/entity-cards/onboarding-guide-card.tsx +12 -12
- package/src/components/chat/entity-cards/program-card.tsx +12 -12
- package/src/components/chat/entity-cards/roadmap-card.tsx +6 -6
- package/src/components/chat/entity-cards/roadmap-vote-button.tsx +1 -1
- package/src/components/chat/entity-cards/slack-message-card.tsx +4 -4
- package/src/components/chat/error-message-display.tsx +2 -2
- package/src/components/chat/mingo-info-card.tsx +2 -2
- package/src/components/chat/model-display.tsx +7 -7
- package/src/components/chat/quick-action-chip.tsx +1 -1
- package/src/components/chat/source-action-button.tsx +2 -2
- package/src/components/chat/tool-call-blocks.tsx +5 -3
- package/src/components/chat/utils/.chip-action-class.md +1 -1
- package/src/components/chat/utils/.chip-styles.md +2 -2
- package/src/components/chat/utils/chip-action-class.ts +1 -1
- package/src/components/chat/utils/chip-styles.ts +2 -2
- package/src/components/chat/utils/compact-card-classes.ts +3 -3
- package/src/components/chevron-button.tsx +68 -0
- package/src/components/command.tsx +3 -3
- package/src/components/comment-card.tsx +1 -1
- package/src/components/contact/contact-form.tsx +9 -9
- package/src/components/context-menu.tsx +5 -5
- package/src/components/date-time-picker.tsx +2 -2
- package/src/components/dialog.tsx +150 -0
- package/src/components/docs/doc-viewer.tsx +4 -4
- package/src/components/dropdown-menu.tsx +200 -0
- package/src/components/embeds/figma-embed.tsx +2 -2
- package/src/components/embeds/file-download-card.tsx +2 -2
- package/src/components/embeds/google-sheets-viewer.tsx +1 -1
- package/src/components/embeds/linkedin-embed-client.tsx +3 -3
- package/src/components/embeds/og-link-preview.tsx +14 -14
- package/src/components/embeds/pdf-viewer.tsx +1 -1
- package/src/components/embeds/reddit-embed-client.tsx +9 -9
- package/src/components/embeds/twitter-embed-client.tsx +9 -9
- package/src/components/empty-state.tsx +5 -5
- package/src/components/faq/faq-section.tsx +1 -1
- package/src/components/features/ai-enrich/AIEnrichSection.tsx +14 -14
- package/src/components/features/ai-enrich/AIRequiredBadge.tsx +5 -5
- package/src/components/features/ai-enrich/AIStatusIndicator.tsx +8 -8
- package/src/components/features/ai-enrich/AIWarningsSection.tsx +4 -4
- package/src/components/features/ai-enrich/ConfidenceBadge.tsx +4 -4
- package/src/components/features/array-entry-manager.tsx +7 -7
- package/src/components/features/auth-providers-list.tsx +1 -1
- package/src/components/features/board/ticket-card.tsx +1 -1
- package/src/components/features/changelog-manager.tsx +10 -10
- package/src/components/features/command-box.tsx +2 -2
- package/src/components/features/entity-summary-editor.tsx +3 -3
- package/src/components/features/figma-prototype-viewer.tsx +9 -9
- package/src/components/features/filters-dropdown.tsx +2 -2
- package/src/components/features/highlight-config-section.tsx +3 -3
- package/src/components/features/highlight-video-combined-section.tsx +2 -2
- package/src/components/features/highlight-video-preview.tsx +2 -2
- package/src/components/features/highlight-video-section.tsx +9 -9
- package/src/components/features/media-gallery-manager.tsx +14 -14
- package/src/components/features/og-editor-preview.tsx +4 -4
- package/src/components/features/os-type-badge-group.tsx +1 -1
- package/src/components/features/os-type-badge.tsx +2 -2
- package/src/components/features/platform-badge.tsx +4 -4
- package/src/components/features/policy-configuration-panel.tsx +6 -6
- package/src/components/features/provider-button.tsx +1 -1
- package/src/components/features/push-button-selector.tsx +21 -21
- package/src/components/features/release-media-manager.tsx +16 -16
- package/src/components/features/section-selector.tsx +8 -8
- package/src/components/features/select-button.tsx +4 -4
- package/src/components/features/seo-editor-preview.tsx +20 -20
- package/src/components/features/social-links-manager.tsx +3 -3
- package/src/components/features/start-with-openframe-button.tsx +3 -3
- package/src/components/features/status-filter-component.tsx +1 -1
- package/src/components/features/tags-selector.tsx +6 -6
- package/src/components/features/transcript-summary-editor.tsx +9 -9
- package/src/components/features/video-bites-strip.tsx +1 -1
- package/src/components/features/video-ratio-tabs.tsx +1 -1
- package/src/components/features/video-source-selector.tsx +7 -7
- package/src/components/features/video.tsx +1 -1
- package/src/components/features/waitlist-form.tsx +3 -3
- package/src/components/filter-chip.tsx +13 -13
- package/src/components/footer.tsx +3 -3
- package/src/components/form.tsx +2 -2
- package/src/components/hero-image-uploader.tsx +3 -3
- package/src/components/image-cropper.tsx +2 -2
- package/src/components/input.tsx +39 -0
- package/src/components/label.tsx +19 -0
- package/src/components/layout/page-container.tsx +6 -6
- package/src/components/layout/page-heading.tsx +1 -1
- package/src/components/loading/card-skeleton.tsx +2 -2
- package/src/components/loading/category-card-skeleton.tsx +1 -1
- package/src/components/loading/margin-report-skeleton.tsx +22 -22
- package/src/components/loading/openmsp-heartbeat.tsx +1 -1
- package/src/components/loading/page-layout-skeleton.tsx +83 -83
- package/src/components/loading/unified-skeleton.tsx +1 -1
- package/src/components/loading/users-grid-skeleton.tsx +2 -2
- package/src/components/logs-list.tsx +8 -8
- package/src/components/media-carousel.tsx +7 -7
- package/src/components/menubar.tsx +236 -0
- package/src/components/metric-value.tsx +2 -2
- package/src/components/msp-display.tsx +2 -8
- package/src/components/navigation/app-header.tsx +6 -6
- package/src/components/navigation/header-organization-filter.tsx +2 -2
- package/src/components/navigation/header.tsx +4 -4
- package/src/components/navigation/mobile-burger-menu.tsx +7 -7
- package/src/components/navigation/mobile-nav-panel.tsx +1 -1
- package/src/components/navigation/multi-level-navigation.tsx +7 -7
- package/src/components/navigation/navigation-sidebar.tsx +1 -1
- package/src/components/navigation/sticky-section-nav.tsx +2 -2
- package/src/components/navigation-menu.tsx +128 -0
- package/src/components/onboarding-guides/onboarding-guides-catalog-view.tsx +4 -4
- package/src/components/pagination.tsx +2 -2
- package/src/components/persistent-filter-controls.tsx +1 -1
- package/src/components/platform/.ShellTypeBadge.md +1 -1
- package/src/components/platform/CveLink.tsx +1 -1
- package/src/components/platform/ScriptArguments.tsx +2 -2
- package/src/components/platform/ScriptInfoSection.tsx +5 -5
- package/src/components/platform/ShellTypeBadge.tsx +6 -6
- package/src/components/platform/SoftwareInfo.tsx +2 -2
- package/src/components/pricing-display.tsx +9 -9
- package/src/components/profile/ProfileLoadingSkeleton.tsx +6 -6
- package/src/components/related-content/related-content-section.tsx +3 -3
- package/src/components/results-count.tsx +1 -1
- package/src/components/select.tsx +160 -0
- package/src/components/shared/delivery/delivery-row.tsx +1 -1
- package/src/components/shared/delivery/delivery-table.tsx +1 -1
- package/src/components/shared/dev-section/dev-section-view.tsx +1 -1
- package/src/components/shared/doc-search/doc-search-result-row.tsx +2 -2
- package/src/components/shared/legal-document/legal-document-page.tsx +5 -5
- package/src/components/shared/onboarding/onboarding-step-card.tsx +1 -1
- package/src/components/shared/product-release/product-release-card-skeleton.tsx +3 -3
- package/src/components/shared/product-release/product-release-card.tsx +14 -14
- package/src/components/shared/product-release/release-detail-page.tsx +16 -16
- package/src/components/shared/roadmap/roadmap-grid.tsx +2 -2
- package/src/components/sidebar.tsx +764 -0
- package/src/components/smooth-accordion.tsx +1 -1
- package/src/components/social-icon-row.tsx +1 -1
- package/src/components/sonner.tsx +5 -5
- package/src/components/square-avatar.tsx +61 -0
- package/src/components/steps.tsx +3 -3
- package/src/components/table.tsx +72 -0
- package/src/components/tabs.tsx +65 -0
- package/src/components/tickets/help-center-create-form.tsx +1 -1
- package/src/components/tickets/help-center-list.tsx +1 -1
- package/src/components/tickets/ticket-center.tsx +2 -2
- package/src/components/tickets/ticket-detail-drawer.tsx +5 -5
- package/src/components/tickets/ticket-open-form.tsx +6 -6
- package/src/components/toggle.tsx +45 -0
- package/src/components/ui/.title-content-block.md +1 -1
- package/src/components/ui/accordion.tsx +2 -2
- package/src/components/ui/actions-menu.tsx +1 -1
- package/src/components/ui/alert-dialog.tsx +3 -3
- package/src/components/ui/alert.tsx +2 -2
- package/src/components/ui/allowed-domains-input.tsx +3 -3
- package/src/components/ui/autocomplete.tsx +3 -3
- package/src/components/ui/badge.tsx +2 -2
- package/src/components/ui/brand-association-card.tsx +2 -2
- package/src/components/ui/breadcrumb.tsx +3 -3
- package/src/components/ui/bullet-list.tsx +2 -2
- package/src/components/ui/button/button.tsx +1 -1
- package/src/components/ui/card.tsx +4 -4
- package/src/components/ui/checkbox-with-description.tsx +1 -1
- package/src/components/ui/chevron-button.tsx +1 -1
- package/src/components/ui/content-loader.tsx +16 -16
- package/src/components/ui/cursor-pagination.tsx +1 -1
- package/src/components/ui/date-picker.tsx +2 -2
- package/src/components/ui/device-card-compact.tsx +2 -2
- package/src/components/ui/device-card.tsx +3 -3
- package/src/components/ui/dialog.tsx +3 -3
- package/src/components/ui/drawer.tsx +4 -4
- package/src/components/ui/dropdown-menu.tsx +6 -6
- package/src/components/ui/error-state.tsx +9 -9
- package/src/components/ui/fade-preview.tsx +1 -1
- package/src/components/ui/field-wrapper.tsx +1 -1
- package/src/components/ui/file-manager/file-manager-breadcrumb.tsx +2 -2
- package/src/components/ui/file-manager/file-manager-empty.tsx +3 -3
- package/src/components/ui/file-manager/file-manager-skeleton.tsx +4 -4
- package/src/components/ui/file-manager/file-manager-table-row.tsx +7 -7
- package/src/components/ui/file-manager/file-manager-table.tsx +8 -8
- package/src/components/ui/file-upload.tsx +9 -9
- package/src/components/ui/filter-pill-row.tsx +1 -1
- package/src/components/ui/floating-tooltip.tsx +1 -1
- package/src/components/ui/highlight-card.tsx +1 -1
- package/src/components/ui/hover-dropdown.tsx +1 -1
- package/src/components/ui/image-gallery-modal.tsx +1 -1
- package/src/components/ui/info-row.tsx +1 -1
- package/src/components/ui/input.tsx +1 -1
- package/src/components/ui/label.tsx +5 -5
- package/src/components/ui/markdown-editor.tsx +5 -4
- package/src/components/ui/menubar.tsx +7 -7
- package/src/components/ui/modal-v2.tsx +1 -1
- package/src/components/ui/modal.tsx +1 -1
- package/src/components/ui/more-actions-menu.tsx +1 -1
- package/src/components/ui/navigation-menu.tsx +1 -1
- package/src/components/ui/organization-card.tsx +8 -8
- package/src/components/ui/page-loader.tsx +6 -6
- package/src/components/ui/phone-input.tsx +1 -1
- package/src/components/ui/progress-bar.tsx +5 -5
- package/src/components/ui/query-report-table/.query-report-table-header.md +1 -1
- package/src/components/ui/query-report-table/query-report-table-header.tsx +1 -1
- package/src/components/ui/query-report-table/query-report-table-row.tsx +2 -2
- package/src/components/ui/query-report-table/query-report-table.tsx +1 -1
- package/src/components/ui/release-changelog-section.tsx +2 -2
- package/src/components/ui/rich-markdown-renderer.tsx +6 -6
- package/src/components/ui/search-input.tsx +7 -7
- package/src/components/ui/select.tsx +1 -1
- package/src/components/ui/service-card.tsx +4 -4
- package/src/components/ui/sheet.tsx +3 -3
- package/src/components/ui/simple-markdown-renderer.tsx +4 -4
- package/src/components/ui/square-avatar.tsx +5 -9
- package/src/components/ui/status-badge.tsx +11 -11
- package/src/components/ui/status-indicator.tsx +6 -6
- package/src/components/ui/tab-content.tsx +1 -1
- package/src/components/ui/tab-navigation.tsx +2 -2
- package/src/components/ui/table/table-column-filter-dropdown.tsx +1 -1
- package/src/components/ui/table/table-description-cell.tsx +1 -1
- package/src/components/ui/table/table-timestamp-cell.tsx +1 -1
- package/src/components/ui/table/table.tsx +2 -2
- package/src/components/ui/tabs.tsx +1 -1
- package/src/components/ui/tag-search-input.tsx +1 -1
- package/src/components/ui/tag.tsx +23 -23
- package/src/components/ui/tags-input.tsx +2 -2
- package/src/components/ui/ticket-status-tag.tsx +1 -1
- package/src/components/ui/toaster.tsx +8 -8
- package/src/components/ui/toggle.tsx +1 -1
- package/src/components/ui/tooltip.tsx +1 -1
- package/src/components/user-display.tsx +6 -12
- package/src/components/user-summary-stub.tsx +4 -4
- package/src/components/vendor-display-button.tsx +2 -2
- package/src/components/vendor-icon.tsx +1 -1
- package/src/components/vendor-tag.tsx +10 -9
- package/src/components/yes-no-display.tsx +3 -3
- package/src/styles/ods-colors.css +0 -2
- package/tailwind.config.ts +4 -49
- package/dist/chunk-2BTDPDME.js.map +0 -1
- package/dist/chunk-63TSTDME.js.map +0 -1
- package/dist/chunk-6CITW5BD.js.map +0 -1
- package/dist/chunk-DUQQEQ7G.cjs.map +0 -1
- package/dist/chunk-FPE3SQ5D.js.map +0 -1
- package/dist/chunk-IAZ5AN2E.js.map +0 -1
- package/dist/chunk-IPEIOR77.cjs.map +0 -1
- package/dist/chunk-IZ6A6K6N.cjs.map +0 -1
- package/dist/chunk-JNC4LVD6.cjs.map +0 -1
- package/dist/chunk-JOH5D76X.cjs.map +0 -1
- package/dist/chunk-JYI4R25Q.js.map +0 -1
- package/dist/chunk-KUXGQ2FQ.cjs.map +0 -1
- package/dist/chunk-LUKRPHEW.cjs.map +0 -1
- package/dist/chunk-PYR4LVAF.cjs.map +0 -1
- package/dist/chunk-QAG357PE.js.map +0 -1
- package/dist/chunk-QO6MCQYE.cjs.map +0 -1
- package/dist/chunk-SM26C2L7.js.map +0 -1
- package/dist/chunk-W3JZXLJ2.js.map +0 -1
- package/dist/chunk-XMCVUYKC.cjs.map +0 -1
- package/dist/chunk-Y3NFB6HR.js.map +0 -1
- package/dist/chunk-YZJUHEPZ.js.map +0 -1
- package/dist/chunk-ZQYFDYWV.js.map +0 -1
- /package/dist/{chunk-7KNOHGMI.js.map → chunk-PEIR7D25.js.map} +0 -0
- /package/dist/{chunk-7KDR5P23.js.map → chunk-QXYOGJQJ.js.map} +0 -0
|
@@ -47,7 +47,7 @@ export const SmoothAccordionTrigger = React.forwardRef<
|
|
|
47
47
|
size="md"
|
|
48
48
|
isExpanded={false}
|
|
49
49
|
backgroundColor="transparent"
|
|
50
|
-
borderColor="
|
|
50
|
+
borderColor="#3A3A3A"
|
|
51
51
|
className="transition-transform duration-300 ease-in-out group-data-[state=open]:rotate-180"
|
|
52
52
|
/>
|
|
53
53
|
</AccordionPrimitive.Trigger>
|
|
@@ -86,7 +86,7 @@ function renderSocialIcon(platform: string) {
|
|
|
86
86
|
// force the themed foreground via the ODS token (white on the dark
|
|
87
87
|
// theme, tracking the theme unlike the literal the reddit/slack cases
|
|
88
88
|
// still carry).
|
|
89
|
-
return <CopyIcon className="w-5 h-5" color="var(--
|
|
89
|
+
return <CopyIcon className="w-5 h-5" color="var(--ods-text-primary)" />;
|
|
90
90
|
default:
|
|
91
91
|
return <GlobeIcon className="w-5 h-5" />;
|
|
92
92
|
}
|
|
@@ -13,14 +13,14 @@ const Toaster = ({ ...props }: ToasterProps) => {
|
|
|
13
13
|
toastOptions={{
|
|
14
14
|
classNames: {
|
|
15
15
|
toast:
|
|
16
|
-
"group toast group-[.toaster]:bg-ods-
|
|
16
|
+
"group toast group-[.toaster]:bg-ods-background-secondary group-[.toaster]:text-ods-text-primary group-[.toaster]:border-ods-border group-[.toaster]:shadow-lg",
|
|
17
17
|
description: "group-[.toast]:text-ods-text-secondary",
|
|
18
18
|
actionButton:
|
|
19
|
-
"group-[.toast]:bg-ods-accent group-[.toast]:text-ods-text-
|
|
19
|
+
"group-[.toast]:bg-ods-accent group-[.toast]:text-ods-text-inverted",
|
|
20
20
|
cancelButton:
|
|
21
|
-
"group-[.toast]:bg-ods-
|
|
22
|
-
error: "group-[.toaster]:bg-
|
|
23
|
-
success: "group-[.toaster]:bg-
|
|
21
|
+
"group-[.toast]:bg-ods-background-tertiary group-[.toast]:text-ods-text-secondary",
|
|
22
|
+
error: "group-[.toaster]:bg-red-950 group-[.toaster]:text-red-50 group-[.toaster]:border-red-900",
|
|
23
|
+
success: "group-[.toaster]:bg-green-950 group-[.toaster]:text-green-50 group-[.toaster]:border-green-900",
|
|
24
24
|
},
|
|
25
25
|
}}
|
|
26
26
|
{...props}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { cn } from "../utils/cn";
|
|
5
|
+
import { getProxiedImageUrl } from '../utils/image-proxy';
|
|
6
|
+
|
|
7
|
+
interface SquareAvatarProps {
|
|
8
|
+
/** Image URL (if null/undefined, renders initials fallback) */
|
|
9
|
+
src?: string | null;
|
|
10
|
+
/** Fallback name used to derive initials when no image */
|
|
11
|
+
fallbackName?: string;
|
|
12
|
+
/** Size in px (applied to width & height). Defaults to 56 (Tailwind w-14 h-14). */
|
|
13
|
+
size?: number;
|
|
14
|
+
/** If true, avatar takes full width with square aspect ratio */
|
|
15
|
+
fullWidth?: boolean;
|
|
16
|
+
/** Corner treatment. `'square'` = rounded-lg (default, historical look); `'round'` = fully circular. */
|
|
17
|
+
shape?: 'square' | 'round';
|
|
18
|
+
className?: string;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Square avatar with rounded edges used across cards / dashboards.
|
|
23
|
+
* Automatically shows image (via proxied URL) or initials fallback.
|
|
24
|
+
*/
|
|
25
|
+
export function SquareAvatar({ src, fallbackName = '', size = 56, fullWidth = false, shape = 'square', className }: SquareAvatarProps) {
|
|
26
|
+
const initials = React.useMemo(() => {
|
|
27
|
+
if (!fallbackName) return '';
|
|
28
|
+
return fallbackName
|
|
29
|
+
.split(' ')
|
|
30
|
+
.map((n) => n.charAt(0))
|
|
31
|
+
.join('')
|
|
32
|
+
.slice(0, 2)
|
|
33
|
+
.toUpperCase();
|
|
34
|
+
}, [fallbackName]);
|
|
35
|
+
|
|
36
|
+
const style: React.CSSProperties = fullWidth ? {} : { width: size, height: size };
|
|
37
|
+
|
|
38
|
+
return (
|
|
39
|
+
<div
|
|
40
|
+
className={cn(
|
|
41
|
+
'border border-ods-border flex items-center justify-center overflow-hidden bg-ods-bg-secondary',
|
|
42
|
+
shape === 'round' ? 'rounded-full' : 'rounded-lg',
|
|
43
|
+
fullWidth ? 'w-full aspect-square' : 'flex-shrink-0',
|
|
44
|
+
className,
|
|
45
|
+
)}
|
|
46
|
+
style={style}
|
|
47
|
+
>
|
|
48
|
+
{src ? (
|
|
49
|
+
// eslint-disable-next-line @next/next/no-img-element
|
|
50
|
+
<img src={getProxiedImageUrl(src) || src} alt="Avatar" className="object-cover w-full h-full" />
|
|
51
|
+
) : (
|
|
52
|
+
<span className={cn(
|
|
53
|
+
"font-['DM_Sans'] text-ods-text-primary font-bold",
|
|
54
|
+
fullWidth ? 'text-4xl' : 'text-lg'
|
|
55
|
+
)}>
|
|
56
|
+
{initials}
|
|
57
|
+
</span>
|
|
58
|
+
)}
|
|
59
|
+
</div>
|
|
60
|
+
);
|
|
61
|
+
}
|
package/src/components/steps.tsx
CHANGED
|
@@ -65,7 +65,7 @@ const Step = React.forwardRef<HTMLDivElement, StepProps>(
|
|
|
65
65
|
<polyline points="20 6 9 17 4 12" />
|
|
66
66
|
</svg>
|
|
67
67
|
) : (
|
|
68
|
-
<span className={cn("text-
|
|
68
|
+
<span className={cn("text-sm font-medium", isActive ? "text-primary" : "text-muted-foreground")}>
|
|
69
69
|
{stepNumber}
|
|
70
70
|
</span>
|
|
71
71
|
)}
|
|
@@ -75,7 +75,7 @@ const Step = React.forwardRef<HTMLDivElement, StepProps>(
|
|
|
75
75
|
<div className="flex flex-col gap-0.5">
|
|
76
76
|
<h3
|
|
77
77
|
className={cn(
|
|
78
|
-
"text-
|
|
78
|
+
"text-base font-medium",
|
|
79
79
|
isActive ? "text-foreground" : "text-muted-foreground",
|
|
80
80
|
isCompleted && "text-primary",
|
|
81
81
|
)}
|
|
@@ -83,7 +83,7 @@ const Step = React.forwardRef<HTMLDivElement, StepProps>(
|
|
|
83
83
|
{title}
|
|
84
84
|
</h3>
|
|
85
85
|
{description && (
|
|
86
|
-
<p className={cn("text-
|
|
86
|
+
<p className={cn("text-sm", isActive ? "text-muted-foreground" : "text-muted-foreground/60")}>
|
|
87
87
|
{description}
|
|
88
88
|
</p>
|
|
89
89
|
)}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import * as React from "react"
|
|
2
|
+
|
|
3
|
+
import { cn } from "../utils/cn"
|
|
4
|
+
|
|
5
|
+
const Table = React.forwardRef<HTMLTableElement, React.HTMLAttributes<HTMLTableElement>>(
|
|
6
|
+
({ className, ...props }, ref) => (
|
|
7
|
+
<div className="relative w-full overflow-auto">
|
|
8
|
+
<table ref={ref} className={cn("w-full caption-bottom text-sm", className)} {...props} />
|
|
9
|
+
</div>
|
|
10
|
+
),
|
|
11
|
+
)
|
|
12
|
+
Table.displayName = "Table"
|
|
13
|
+
|
|
14
|
+
const TableHeader = React.forwardRef<HTMLTableSectionElement, React.HTMLAttributes<HTMLTableSectionElement>>(
|
|
15
|
+
({ className, ...props }, ref) => <thead ref={ref} className={cn("[&_tr]:border-b", className)} {...props} />,
|
|
16
|
+
)
|
|
17
|
+
TableHeader.displayName = "TableHeader"
|
|
18
|
+
|
|
19
|
+
const TableBody = React.forwardRef<HTMLTableSectionElement, React.HTMLAttributes<HTMLTableSectionElement>>(
|
|
20
|
+
({ className, ...props }, ref) => (
|
|
21
|
+
<tbody ref={ref} className={cn("[&_tr:last-child]:border-0", className)} {...props} />
|
|
22
|
+
),
|
|
23
|
+
)
|
|
24
|
+
TableBody.displayName = "TableBody"
|
|
25
|
+
|
|
26
|
+
const TableFooter = React.forwardRef<HTMLTableSectionElement, React.HTMLAttributes<HTMLTableSectionElement>>(
|
|
27
|
+
({ className, ...props }, ref) => (
|
|
28
|
+
<tfoot ref={ref} className={cn("bg-primary font-medium text-primary-foreground", className)} {...props} />
|
|
29
|
+
),
|
|
30
|
+
)
|
|
31
|
+
TableFooter.displayName = "TableFooter"
|
|
32
|
+
|
|
33
|
+
const TableRow = React.forwardRef<HTMLTableRowElement, React.HTMLAttributes<HTMLTableRowElement>>(
|
|
34
|
+
({ className, ...props }, ref) => (
|
|
35
|
+
<tr
|
|
36
|
+
ref={ref}
|
|
37
|
+
className={cn("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted", className)}
|
|
38
|
+
{...props}
|
|
39
|
+
/>
|
|
40
|
+
),
|
|
41
|
+
)
|
|
42
|
+
TableRow.displayName = "TableRow"
|
|
43
|
+
|
|
44
|
+
const TableHead = React.forwardRef<HTMLTableCellElement, React.ThHTMLAttributes<HTMLTableCellElement>>(
|
|
45
|
+
({ className, ...props }, ref) => (
|
|
46
|
+
<th
|
|
47
|
+
ref={ref}
|
|
48
|
+
className={cn(
|
|
49
|
+
"h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",
|
|
50
|
+
className,
|
|
51
|
+
)}
|
|
52
|
+
{...props}
|
|
53
|
+
/>
|
|
54
|
+
),
|
|
55
|
+
)
|
|
56
|
+
TableHead.displayName = "TableHead"
|
|
57
|
+
|
|
58
|
+
const TableCell = React.forwardRef<HTMLTableCellElement, React.TdHTMLAttributes<HTMLTableCellElement>>(
|
|
59
|
+
({ className, ...props }, ref) => (
|
|
60
|
+
<td ref={ref} className={cn("p-4 align-middle [&:has([role=checkbox])]:pr-0", className)} {...props} />
|
|
61
|
+
),
|
|
62
|
+
)
|
|
63
|
+
TableCell.displayName = "TableCell"
|
|
64
|
+
|
|
65
|
+
const TableCaption = React.forwardRef<HTMLTableCaptionElement, React.HTMLAttributes<HTMLTableCaptionElement>>(
|
|
66
|
+
({ className, ...props }, ref) => (
|
|
67
|
+
<caption ref={ref} className={cn("mt-4 text-sm text-muted-foreground", className)} {...props} />
|
|
68
|
+
),
|
|
69
|
+
)
|
|
70
|
+
TableCaption.displayName = "TableCaption"
|
|
71
|
+
|
|
72
|
+
export { Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption }
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use client"
|
|
2
|
+
|
|
3
|
+
import * as React from "react"
|
|
4
|
+
import * as TabsPrimitive from "@radix-ui/react-tabs"
|
|
5
|
+
|
|
6
|
+
import { cn } from "../utils/cn"
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @deprecated Use `TabNavigation` from `components/ui/tab-navigation` — the
|
|
10
|
+
* single canonical tab component (ODS tokens, URL-sync, overflow scroll
|
|
11
|
+
* shadows). This Radix-based `Tabs` set styles itself with legacy shadcn tokens
|
|
12
|
+
* (`bg-muted`, `text-foreground`, `ring-ring`) that don't exist in ODS and is
|
|
13
|
+
* kept only for un-migrated call sites. Do not use in new code.
|
|
14
|
+
*/
|
|
15
|
+
const Tabs = TabsPrimitive.Root
|
|
16
|
+
|
|
17
|
+
/** @deprecated Use `TabNavigation` from `components/ui/tab-navigation`. See {@link Tabs}. */
|
|
18
|
+
const TabsList = React.forwardRef<
|
|
19
|
+
React.ElementRef<typeof TabsPrimitive.List>,
|
|
20
|
+
React.ComponentPropsWithoutRef<typeof TabsPrimitive.List>
|
|
21
|
+
>(({ className, ...props }, ref) => (
|
|
22
|
+
<TabsPrimitive.List
|
|
23
|
+
ref={ref}
|
|
24
|
+
className={cn(
|
|
25
|
+
"inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground",
|
|
26
|
+
className
|
|
27
|
+
)}
|
|
28
|
+
{...props}
|
|
29
|
+
/>
|
|
30
|
+
))
|
|
31
|
+
TabsList.displayName = TabsPrimitive.List.displayName
|
|
32
|
+
|
|
33
|
+
/** @deprecated Use `TabNavigation` from `components/ui/tab-navigation`. See {@link Tabs}. */
|
|
34
|
+
const TabsTrigger = React.forwardRef<
|
|
35
|
+
React.ElementRef<typeof TabsPrimitive.Trigger>,
|
|
36
|
+
React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>
|
|
37
|
+
>(({ className, ...props }, ref) => (
|
|
38
|
+
<TabsPrimitive.Trigger
|
|
39
|
+
ref={ref}
|
|
40
|
+
className={cn(
|
|
41
|
+
"inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm",
|
|
42
|
+
className
|
|
43
|
+
)}
|
|
44
|
+
{...props}
|
|
45
|
+
/>
|
|
46
|
+
))
|
|
47
|
+
TabsTrigger.displayName = TabsPrimitive.Trigger.displayName
|
|
48
|
+
|
|
49
|
+
/** @deprecated Use `TabNavigation` from `components/ui/tab-navigation`. See {@link Tabs}. */
|
|
50
|
+
const TabsContent = React.forwardRef<
|
|
51
|
+
React.ElementRef<typeof TabsPrimitive.Content>,
|
|
52
|
+
React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>
|
|
53
|
+
>(({ className, ...props }, ref) => (
|
|
54
|
+
<TabsPrimitive.Content
|
|
55
|
+
ref={ref}
|
|
56
|
+
className={cn(
|
|
57
|
+
"mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
|
|
58
|
+
className
|
|
59
|
+
)}
|
|
60
|
+
{...props}
|
|
61
|
+
/>
|
|
62
|
+
))
|
|
63
|
+
TabsContent.displayName = TabsPrimitive.Content.displayName
|
|
64
|
+
|
|
65
|
+
export { Tabs, TabsList, TabsTrigger, TabsContent }
|
|
@@ -319,7 +319,7 @@ function HelpCenterListAuthed({
|
|
|
319
319
|
<div className="w-full flex flex-col gap-[40px]">
|
|
320
320
|
{error && (
|
|
321
321
|
<div className="bg-ods-card border border-ods-border rounded-[6px] p-[40px] text-center w-full flex flex-col items-center gap-3">
|
|
322
|
-
<p className="text-ods-error text-
|
|
322
|
+
<p className="text-ods-error text-base">
|
|
323
323
|
Couldn’t load your tickets. {error.message}
|
|
324
324
|
</p>
|
|
325
325
|
<Button type="button" variant="accent" onClick={() => refetch()}>
|
|
@@ -134,10 +134,10 @@ function TicketCenterAuthed({
|
|
|
134
134
|
|
|
135
135
|
<div className="flex flex-col gap-2">
|
|
136
136
|
<div className="flex items-center justify-between gap-3">
|
|
137
|
-
<p className="text-
|
|
137
|
+
<p className="text-xs font-medium text-ods-text-secondary uppercase tracking-wider">
|
|
138
138
|
Your Current Tickets
|
|
139
139
|
</p>
|
|
140
|
-
<div className="flex items-center gap-3 text-
|
|
140
|
+
<div className="flex items-center gap-3 text-xs text-ods-text-secondary">
|
|
141
141
|
{lastUpdatedAt && (
|
|
142
142
|
<span>Updated {formatRelativeTime(new Date(lastUpdatedAt))}</span>
|
|
143
143
|
)}
|
|
@@ -112,7 +112,7 @@ export function TicketDetailDrawer({
|
|
|
112
112
|
)}
|
|
113
113
|
|
|
114
114
|
<div>
|
|
115
|
-
<p className="text-
|
|
115
|
+
<p className="text-xs font-medium text-ods-text-secondary mb-2 uppercase tracking-wider">
|
|
116
116
|
Conversation
|
|
117
117
|
</p>
|
|
118
118
|
<TicketTimelinePanel ticket={ticket} />
|
|
@@ -580,7 +580,7 @@ function ReplyFailureBanner({
|
|
|
580
580
|
<div
|
|
581
581
|
role="status"
|
|
582
582
|
aria-live="polite"
|
|
583
|
-
className="mb-3 flex items-start gap-3 rounded-md border border-ods-error bg-ods-error-secondary px-3 py-2 text-
|
|
583
|
+
className="mb-3 flex items-start gap-3 rounded-md border border-ods-attention-red-error bg-ods-attention-red-error-secondary px-3 py-2 text-sm text-ods-attention-red-error"
|
|
584
584
|
>
|
|
585
585
|
<span className="font-medium leading-snug">{error.message}</span>
|
|
586
586
|
<Button
|
|
@@ -588,7 +588,7 @@ function ReplyFailureBanner({
|
|
|
588
588
|
variant="transparent"
|
|
589
589
|
onClick={onDismiss}
|
|
590
590
|
aria-label="Dismiss reply failure"
|
|
591
|
-
className="ml-auto px-2 py-0.5 text-
|
|
591
|
+
className="ml-auto px-2 py-0.5 text-xs font-medium uppercase tracking-wider text-ods-attention-red-error hover:bg-ods-attention-red-error-secondary border-transparent"
|
|
592
592
|
>
|
|
593
593
|
Dismiss
|
|
594
594
|
</Button>
|
|
@@ -625,8 +625,8 @@ function AssignedAgentRow({
|
|
|
625
625
|
const displayLabel =
|
|
626
626
|
trimmedName ?? (emailFallback ? emailFallback.split('@')[0] : null)
|
|
627
627
|
return (
|
|
628
|
-
<div className="flex items-center gap-2 text-
|
|
629
|
-
<span className="text-
|
|
628
|
+
<div className="flex items-center gap-2 text-xs">
|
|
629
|
+
<span className="text-ods-text-secondary uppercase tracking-wider font-medium">
|
|
630
630
|
Assigned to
|
|
631
631
|
</span>
|
|
632
632
|
{displayLabel ? (
|
|
@@ -83,15 +83,15 @@ export function TicketOpenForm({
|
|
|
83
83
|
<Card className="p-6">
|
|
84
84
|
<form onSubmit={handleSubmit} className="flex flex-col md:flex-row gap-6">
|
|
85
85
|
<div className="flex-1 min-w-0 md:max-w-md">
|
|
86
|
-
<h2 className="text-
|
|
86
|
+
<h2 className="text-2xl font-semibold text-ods-text-primary mb-2">
|
|
87
87
|
Need Support?
|
|
88
88
|
</h2>
|
|
89
|
-
<p className="text-ods-text-secondary text-
|
|
89
|
+
<p className="text-ods-text-secondary text-sm">
|
|
90
90
|
Can't find what you're looking for? Submit a support ticket
|
|
91
91
|
below — we'll follow up shortly.
|
|
92
92
|
</p>
|
|
93
93
|
{supportSystemDown && (
|
|
94
|
-
<p className="mt-4 text-
|
|
94
|
+
<p className="mt-4 text-sm text-ods-error">
|
|
95
95
|
Support system temporarily unavailable. Please try again shortly.
|
|
96
96
|
</p>
|
|
97
97
|
)}
|
|
@@ -101,7 +101,7 @@ export function TicketOpenForm({
|
|
|
101
101
|
<div>
|
|
102
102
|
<label
|
|
103
103
|
htmlFor="ticket-subject"
|
|
104
|
-
className="block text-
|
|
104
|
+
className="block text-sm font-medium text-ods-text-primary mb-1"
|
|
105
105
|
>
|
|
106
106
|
Ticket Subject
|
|
107
107
|
</label>
|
|
@@ -119,7 +119,7 @@ export function TicketOpenForm({
|
|
|
119
119
|
<div>
|
|
120
120
|
<label
|
|
121
121
|
htmlFor="ticket-content"
|
|
122
|
-
className="block text-
|
|
122
|
+
className="block text-sm font-medium text-ods-text-primary mb-1"
|
|
123
123
|
>
|
|
124
124
|
Your Message
|
|
125
125
|
</label>
|
|
@@ -134,7 +134,7 @@ export function TicketOpenForm({
|
|
|
134
134
|
/>
|
|
135
135
|
{showCounter && (
|
|
136
136
|
<p
|
|
137
|
-
className={`mt-1 text-
|
|
137
|
+
className={`mt-1 text-xs text-right ${
|
|
138
138
|
overCap ? 'text-ods-error' : 'text-ods-text-secondary'
|
|
139
139
|
}`}
|
|
140
140
|
>
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use client"
|
|
2
|
+
|
|
3
|
+
import * as React from "react"
|
|
4
|
+
import * as TogglePrimitive from "@radix-ui/react-toggle"
|
|
5
|
+
import { cva, type VariantProps } from "class-variance-authority"
|
|
6
|
+
|
|
7
|
+
import { cn } from "../utils/cn"
|
|
8
|
+
|
|
9
|
+
const toggleVariants = cva(
|
|
10
|
+
"inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 gap-2",
|
|
11
|
+
{
|
|
12
|
+
variants: {
|
|
13
|
+
variant: {
|
|
14
|
+
default: "bg-transparent",
|
|
15
|
+
outline:
|
|
16
|
+
"border border-input bg-transparent hover:bg-accent hover:text-accent-foreground",
|
|
17
|
+
},
|
|
18
|
+
size: {
|
|
19
|
+
default: "h-10 px-3 min-w-10",
|
|
20
|
+
sm: "h-9 px-2.5 min-w-9",
|
|
21
|
+
lg: "h-11 px-5 min-w-11",
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
defaultVariants: {
|
|
25
|
+
variant: "default",
|
|
26
|
+
size: "default",
|
|
27
|
+
},
|
|
28
|
+
}
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
const Toggle = React.forwardRef<
|
|
32
|
+
React.ElementRef<typeof TogglePrimitive.Root>,
|
|
33
|
+
React.ComponentPropsWithoutRef<typeof TogglePrimitive.Root> &
|
|
34
|
+
VariantProps<typeof toggleVariants>
|
|
35
|
+
>(({ className, variant, size, ...props }, ref) => (
|
|
36
|
+
<TogglePrimitive.Root
|
|
37
|
+
ref={ref}
|
|
38
|
+
className={cn(toggleVariants({ variant, size, className }))}
|
|
39
|
+
{...props}
|
|
40
|
+
/>
|
|
41
|
+
))
|
|
42
|
+
|
|
43
|
+
Toggle.displayName = TogglePrimitive.Root.displayName
|
|
44
|
+
|
|
45
|
+
export { Toggle, toggleVariants }
|
|
@@ -24,7 +24,7 @@ const AccordionTrigger = React.forwardRef<
|
|
|
24
24
|
<AccordionPrimitive.Trigger
|
|
25
25
|
ref={ref}
|
|
26
26
|
className={cn(
|
|
27
|
-
"flex flex-1 items-center justify-between py-4
|
|
27
|
+
"flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",
|
|
28
28
|
className,
|
|
29
29
|
)}
|
|
30
30
|
{...props}
|
|
@@ -43,7 +43,7 @@ const AccordionContent = React.forwardRef<
|
|
|
43
43
|
<AccordionPrimitive.Content
|
|
44
44
|
ref={ref}
|
|
45
45
|
className={cn(
|
|
46
|
-
"overflow-hidden text-
|
|
46
|
+
"overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",
|
|
47
47
|
className,
|
|
48
48
|
)}
|
|
49
49
|
{...props}
|
|
@@ -171,7 +171,7 @@ const MenuItem: React.FC<MenuItemProps> = ({ item, onItemClick }) => {
|
|
|
171
171
|
);
|
|
172
172
|
|
|
173
173
|
if (item.type === "separator") {
|
|
174
|
-
return <div className="bg-ods-
|
|
174
|
+
return <div className="bg-ods-system-greys-soft-grey h-1 w-full" />;
|
|
175
175
|
}
|
|
176
176
|
|
|
177
177
|
const itemClasses = cn(
|
|
@@ -18,7 +18,7 @@ const AlertDialogOverlay = React.forwardRef<
|
|
|
18
18
|
>(({ className, ...props }, ref) => (
|
|
19
19
|
<AlertDialogPrimitive.Overlay
|
|
20
20
|
className={cn(
|
|
21
|
-
"fixed inset-0 z-50 bg-
|
|
21
|
+
"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
22
22
|
className
|
|
23
23
|
)}
|
|
24
24
|
{...props}
|
|
@@ -79,7 +79,7 @@ const AlertDialogTitle = React.forwardRef<
|
|
|
79
79
|
>(({ className, ...props }, ref) => (
|
|
80
80
|
<AlertDialogPrimitive.Title
|
|
81
81
|
ref={ref}
|
|
82
|
-
className={cn("text-
|
|
82
|
+
className={cn("text-lg font-semibold", className)}
|
|
83
83
|
{...props}
|
|
84
84
|
/>
|
|
85
85
|
))
|
|
@@ -91,7 +91,7 @@ const AlertDialogDescription = React.forwardRef<
|
|
|
91
91
|
>(({ className, ...props }, ref) => (
|
|
92
92
|
<AlertDialogPrimitive.Description
|
|
93
93
|
ref={ref}
|
|
94
|
-
className={cn("text-
|
|
94
|
+
className={cn("text-sm text-muted-foreground", className)}
|
|
95
95
|
{...props}
|
|
96
96
|
/>
|
|
97
97
|
))
|
|
@@ -14,7 +14,7 @@ const alertVariants = cva(
|
|
|
14
14
|
destructive:
|
|
15
15
|
"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive",
|
|
16
16
|
warning:
|
|
17
|
-
"border-transparent bg-ods-warning-secondary text-ods-warning [&>svg]:text-ods-warning",
|
|
17
|
+
"border-transparent bg-[var(--ods-attention-yellow-warning-secondary)] text-[var(--ods-attention-yellow-warning)] [&>svg]:text-[var(--ods-attention-yellow-warning)]",
|
|
18
18
|
},
|
|
19
19
|
},
|
|
20
20
|
defaultVariants: {
|
|
@@ -54,7 +54,7 @@ const AlertDescription = React.forwardRef<
|
|
|
54
54
|
>(({ className, ...props }, ref) => (
|
|
55
55
|
<div
|
|
56
56
|
ref={ref}
|
|
57
|
-
className={cn("text-
|
|
57
|
+
className={cn("text-sm [&_p]:leading-relaxed", className)}
|
|
58
58
|
{...props}
|
|
59
59
|
/>
|
|
60
60
|
))
|
|
@@ -129,17 +129,17 @@ const AllowedDomainsInput = React.forwardRef<HTMLDivElement, AllowedDomainsInput
|
|
|
129
129
|
disabled={disabled}
|
|
130
130
|
>
|
|
131
131
|
<PlusCircle className="h-5 w-5 text-ods-text-secondary" />
|
|
132
|
-
<span className="
|
|
132
|
+
<span className="font-['DM_Sans'] font-bold text-base">Add Domain</span>
|
|
133
133
|
</button>
|
|
134
134
|
|
|
135
135
|
{/* Error message */}
|
|
136
136
|
{displayError && (
|
|
137
|
-
<p className="text-
|
|
137
|
+
<p className="text-sm text-ods-error">{displayError}</p>
|
|
138
138
|
)}
|
|
139
139
|
|
|
140
140
|
{/* Helper text */}
|
|
141
141
|
{helperText && !displayError && (
|
|
142
|
-
<p className="text-
|
|
142
|
+
<p className="text-sm text-ods-text-secondary">{helperText}</p>
|
|
143
143
|
)}
|
|
144
144
|
</div>
|
|
145
145
|
)
|
|
@@ -485,7 +485,7 @@ function AutocompleteInner<T = string>(
|
|
|
485
485
|
className={cn(
|
|
486
486
|
"flex items-center h-8 px-2",
|
|
487
487
|
"bg-ods-card border border-ods-border rounded-[6px]",
|
|
488
|
-
"text-
|
|
488
|
+
"font-mono text-[14px] font-medium leading-5 text-ods-text-secondary uppercase tracking-[-0.28px]",
|
|
489
489
|
"hover:bg-ods-bg-hover transition-colors cursor-pointer"
|
|
490
490
|
)}
|
|
491
491
|
>
|
|
@@ -569,7 +569,7 @@ function AutocompleteInner<T = string>(
|
|
|
569
569
|
<ScrollAreaPrimitive.Viewport className="max-h-[240px] w-full [&>div]:!block">
|
|
570
570
|
<div role="listbox">
|
|
571
571
|
{loading ? (
|
|
572
|
-
<div className="px-3 py-2 text-ods-text-secondary text-
|
|
572
|
+
<div className="px-3 py-2 text-ods-text-secondary text-[14px]">
|
|
573
573
|
{loadingText}
|
|
574
574
|
</div>
|
|
575
575
|
) : filteredOptions.length === 0 ? (
|
|
@@ -593,7 +593,7 @@ function AutocompleteInner<T = string>(
|
|
|
593
593
|
</div>
|
|
594
594
|
)
|
|
595
595
|
) : (
|
|
596
|
-
<div className="px-3 py-2 text-ods-text-secondary text-
|
|
596
|
+
<div className="px-3 py-2 text-ods-text-secondary text-[14px]">
|
|
597
597
|
{freeSolo && inputValue.trim() ? (
|
|
598
598
|
<span>Press Enter to add "{inputValue}"</span>
|
|
599
599
|
) : (
|
|
@@ -6,7 +6,7 @@ import { cva, type VariantProps } from "class-variance-authority"
|
|
|
6
6
|
import { cn } from "../../utils/cn"
|
|
7
7
|
|
|
8
8
|
const badgeVariants = cva(
|
|
9
|
-
"inline-flex items-center rounded-full border px-2.5 py-0.5 text-
|
|
9
|
+
"inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
|
|
10
10
|
{
|
|
11
11
|
variants: {
|
|
12
12
|
variant: {
|
|
@@ -14,7 +14,7 @@ const badgeVariants = cva(
|
|
|
14
14
|
secondary: "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
|
15
15
|
destructive: "border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",
|
|
16
16
|
outline: "text-foreground",
|
|
17
|
-
success: "border-transparent bg-
|
|
17
|
+
success: "border-transparent bg-green-500 text-white hover:bg-green-600", // Add this line
|
|
18
18
|
},
|
|
19
19
|
},
|
|
20
20
|
defaultVariants: {
|
|
@@ -42,12 +42,12 @@ export function BrandAssociationCard({
|
|
|
42
42
|
</div>
|
|
43
43
|
|
|
44
44
|
{/* Title */}
|
|
45
|
-
<h3 className="text-h2 text-ods-text-primary">
|
|
45
|
+
<h3 className="text-h2 tracking-[-0.64px] text-ods-text-primary">
|
|
46
46
|
{item.title}
|
|
47
47
|
</h3>
|
|
48
48
|
|
|
49
49
|
{/* Description */}
|
|
50
|
-
<p className="text-
|
|
50
|
+
<p className="font-['DM_Sans'] font-normal text-[16px] leading-[1.5] text-ods-text-secondary">
|
|
51
51
|
{item.description}
|
|
52
52
|
</p>
|
|
53
53
|
|
|
@@ -21,7 +21,7 @@ const BreadcrumbList = React.forwardRef<
|
|
|
21
21
|
<ol
|
|
22
22
|
ref={ref}
|
|
23
23
|
className={cn(
|
|
24
|
-
"flex flex-wrap items-center gap-1.5 break-words text-
|
|
24
|
+
"flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground md:gap-2.5",
|
|
25
25
|
className
|
|
26
26
|
)}
|
|
27
27
|
{...props}
|
|
@@ -52,7 +52,7 @@ const BreadcrumbLink = React.forwardRef<
|
|
|
52
52
|
return (
|
|
53
53
|
<Comp
|
|
54
54
|
ref={ref}
|
|
55
|
-
className={cn("transition-colors hover:text-
|
|
55
|
+
className={cn("transition-colors hover:text-foreground", className)}
|
|
56
56
|
{...props}
|
|
57
57
|
/>
|
|
58
58
|
)
|
|
@@ -68,7 +68,7 @@ const BreadcrumbPage = React.forwardRef<
|
|
|
68
68
|
role="link"
|
|
69
69
|
aria-disabled="true"
|
|
70
70
|
aria-current="page"
|
|
71
|
-
className={cn("font-normal text-
|
|
71
|
+
className={cn("font-normal text-foreground", className)}
|
|
72
72
|
{...props}
|
|
73
73
|
/>
|
|
74
74
|
))
|
|
@@ -27,10 +27,10 @@ const spacingMap = {
|
|
|
27
27
|
|
|
28
28
|
export function BulletList({
|
|
29
29
|
items,
|
|
30
|
-
bulletColor = 'var(--
|
|
30
|
+
bulletColor = 'var(--ods-text-primary)',
|
|
31
31
|
bulletIcon: BulletIcon = ShapeCircleDashIcon,
|
|
32
32
|
bulletSize = 16,
|
|
33
|
-
textClassName = 'text-
|
|
33
|
+
textClassName = "font-['DM_Sans'] font-medium text-[16px] md:text-[18px] leading-[24px] md:leading-[28px] text-ods-text-primary",
|
|
34
34
|
itemClassName = 'flex items-start gap-3',
|
|
35
35
|
containerClassName = '',
|
|
36
36
|
spacing = 'md'
|