@flamingo-stack/openframe-frontend-core 0.0.439 → 0.0.440
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-RVWC4P3H.js → chunk-2BTDPDME.js} +9 -9
- package/dist/chunk-2BTDPDME.js.map +1 -0
- package/dist/{chunk-G5FALXNO.js → chunk-63TSTDME.js} +21 -21
- package/dist/chunk-63TSTDME.js.map +1 -0
- package/dist/{chunk-4ACSUJ7Q.js → chunk-6CITW5BD.js} +10 -10
- package/dist/chunk-6CITW5BD.js.map +1 -0
- package/dist/{chunk-QXYOGJQJ.js → chunk-7KDR5P23.js} +2 -2
- package/dist/{chunk-PEIR7D25.js → chunk-7KNOHGMI.js} +2 -2
- package/dist/{chunk-ZMUFTGL7.cjs → chunk-7QP65IE4.cjs} +5 -5
- package/dist/{chunk-ZMUFTGL7.cjs.map → chunk-7QP65IE4.cjs.map} +1 -1
- package/dist/{chunk-WPVBTVI3.js → chunk-AGV26PUR.js} +6 -6
- package/dist/{chunk-WPVBTVI3.js.map → chunk-AGV26PUR.js.map} +1 -1
- package/dist/{chunk-HTVVXVJL.cjs → chunk-DUQQEQ7G.cjs} +1431 -1594
- package/dist/chunk-DUQQEQ7G.cjs.map +1 -0
- package/dist/{chunk-COMBYYQY.js → chunk-FPE3SQ5D.js} +13 -13
- package/dist/chunk-FPE3SQ5D.js.map +1 -0
- package/dist/{chunk-WAGTZVQN.js → chunk-IAZ5AN2E.js} +30 -30
- package/dist/chunk-IAZ5AN2E.js.map +1 -0
- package/dist/{chunk-RQQZF6G6.cjs → chunk-IPEIOR77.cjs} +130 -130
- package/dist/chunk-IPEIOR77.cjs.map +1 -0
- package/dist/{chunk-3WJQL4DN.cjs → chunk-IZ6A6K6N.cjs} +25 -25
- package/dist/chunk-IZ6A6K6N.cjs.map +1 -0
- package/dist/{chunk-EE5NH5SH.cjs → chunk-J5NO7PAG.cjs} +3 -3
- package/dist/{chunk-EE5NH5SH.cjs.map → chunk-J5NO7PAG.cjs.map} +1 -1
- package/dist/{chunk-IAN7GUIV.cjs → chunk-JNC4LVD6.cjs} +42 -42
- package/dist/chunk-JNC4LVD6.cjs.map +1 -0
- package/dist/{chunk-VWGF6IFR.cjs → chunk-JOH5D76X.cjs} +108 -108
- package/dist/chunk-JOH5D76X.cjs.map +1 -0
- package/dist/{chunk-7WM77CSW.js → chunk-JYI4R25Q.js} +5 -5
- package/dist/chunk-JYI4R25Q.js.map +1 -0
- package/dist/{chunk-M6QGB6DC.cjs → chunk-KUXGQ2FQ.cjs} +36 -36
- package/dist/chunk-KUXGQ2FQ.cjs.map +1 -0
- package/dist/{chunk-M3LD6DNE.cjs → chunk-LFWPWIAC.cjs} +16 -16
- package/dist/{chunk-M3LD6DNE.cjs.map → chunk-LFWPWIAC.cjs.map} +1 -1
- package/dist/{chunk-R46QEE3R.cjs → chunk-LUKRPHEW.cjs} +96 -96
- package/dist/chunk-LUKRPHEW.cjs.map +1 -0
- package/dist/{chunk-IMK6RUEC.cjs → chunk-PYR4LVAF.cjs} +10 -10
- package/dist/chunk-PYR4LVAF.cjs.map +1 -0
- package/dist/{chunk-2ELBNZJ3.js → chunk-QAG357PE.js} +7 -7
- package/dist/chunk-QAG357PE.js.map +1 -0
- package/dist/{chunk-N2TJ3HAM.cjs → chunk-QO6MCQYE.cjs} +9 -9
- package/dist/chunk-QO6MCQYE.cjs.map +1 -0
- package/dist/{chunk-EGRZHR7J.js → chunk-SM26C2L7.js} +9 -9
- package/dist/chunk-SM26C2L7.js.map +1 -0
- package/dist/{chunk-AUJXLVXA.cjs → chunk-TAQMYVO6.cjs} +42 -42
- package/dist/{chunk-AUJXLVXA.cjs.map → chunk-TAQMYVO6.cjs.map} +1 -1
- package/dist/{chunk-C3FH53AP.cjs → chunk-UFBUQO7Z.cjs} +19 -19
- package/dist/{chunk-C3FH53AP.cjs.map → chunk-UFBUQO7Z.cjs.map} +1 -1
- package/dist/{chunk-F7YVI54P.js → chunk-W3JZXLJ2.js} +10 -10
- package/dist/chunk-W3JZXLJ2.js.map +1 -0
- package/dist/{chunk-WZ6TCAYQ.cjs → chunk-XMCVUYKC.cjs} +14 -14
- package/dist/chunk-XMCVUYKC.cjs.map +1 -0
- package/dist/{chunk-P7PISHM5.js → chunk-Y3NFB6HR.js} +5 -5
- package/dist/chunk-Y3NFB6HR.js.map +1 -0
- package/dist/{chunk-PBTY7AH5.js → chunk-YZJUHEPZ.js} +95 -95
- package/dist/chunk-YZJUHEPZ.js.map +1 -0
- package/dist/{chunk-NQQ4NLUT.js → chunk-ZQYFDYWV.js} +4298 -4461
- package/dist/chunk-ZQYFDYWV.js.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/contact/index.cjs +5 -5
- package/dist/components/contact/index.js +4 -4
- package/dist/components/docs/index.cjs +7 -7
- package/dist/components/docs/index.js +6 -6
- 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 +262 -256
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.js +117 -111
- package/dist/components/index.js.map +1 -1
- 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/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/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/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 +3 -0
- 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 +38 -5
- package/dist/tailwind.config.cjs.map +1 -1
- package/dist/tailwind.config.js +38 -5
- package/dist/tailwind.config.js.map +1 -1
- package/package.json +1 -1
- package/src/ODS_TOKEN_RULES.md +5 -0
- package/src/components/.footer.md +2 -2
- package/src/components/announcement-bar.tsx +1 -1
- package/src/components/authors/author-detail-view.tsx +3 -3
- 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 +2 -5
- 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 +5 -8
- 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 +3 -5
- 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/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/docs/doc-viewer.tsx +4 -4
- 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/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/metric-value.tsx +2 -2
- package/src/components/msp-display.tsx +8 -2
- 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/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/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/smooth-accordion.tsx +1 -1
- package/src/components/social-icon-row.tsx +1 -1
- package/src/components/sonner.tsx +5 -5
- package/src/components/steps.tsx +3 -3
- 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/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 +4 -5
- 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 +9 -5
- 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 +12 -6
- 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 +9 -10
- package/src/components/yes-no-display.tsx +3 -3
- package/src/styles/ods-colors.css +2 -0
- package/tailwind.config.ts +49 -4
- package/dist/chunk-2ELBNZJ3.js.map +0 -1
- package/dist/chunk-3WJQL4DN.cjs.map +0 -1
- package/dist/chunk-4ACSUJ7Q.js.map +0 -1
- package/dist/chunk-7WM77CSW.js.map +0 -1
- package/dist/chunk-COMBYYQY.js.map +0 -1
- package/dist/chunk-EGRZHR7J.js.map +0 -1
- package/dist/chunk-F7YVI54P.js.map +0 -1
- package/dist/chunk-G5FALXNO.js.map +0 -1
- package/dist/chunk-HTVVXVJL.cjs.map +0 -1
- package/dist/chunk-IAN7GUIV.cjs.map +0 -1
- package/dist/chunk-IMK6RUEC.cjs.map +0 -1
- package/dist/chunk-M6QGB6DC.cjs.map +0 -1
- package/dist/chunk-N2TJ3HAM.cjs.map +0 -1
- package/dist/chunk-NQQ4NLUT.js.map +0 -1
- package/dist/chunk-P7PISHM5.js.map +0 -1
- package/dist/chunk-PBTY7AH5.js.map +0 -1
- package/dist/chunk-R46QEE3R.cjs.map +0 -1
- package/dist/chunk-RQQZF6G6.cjs.map +0 -1
- package/dist/chunk-RVWC4P3H.js.map +0 -1
- package/dist/chunk-VWGF6IFR.cjs.map +0 -1
- package/dist/chunk-WAGTZVQN.js.map +0 -1
- package/dist/chunk-WZ6TCAYQ.cjs.map +0 -1
- package/dist/components/accordion.d.ts +0 -8
- package/dist/components/accordion.d.ts.map +0 -1
- package/dist/components/alert-dialog.d.ts +0 -21
- package/dist/components/alert-dialog.d.ts.map +0 -1
- package/dist/components/alert.d.ts +0 -9
- package/dist/components/alert.d.ts.map +0 -1
- package/dist/components/badge.d.ts +0 -10
- package/dist/components/badge.d.ts.map +0 -1
- package/dist/components/breadcrumb.d.ts +0 -20
- package/dist/components/breadcrumb.d.ts.map +0 -1
- package/dist/components/chevron-button.d.ts +0 -14
- package/dist/components/chevron-button.d.ts.map +0 -1
- package/dist/components/dialog.d.ts +0 -29
- package/dist/components/dialog.d.ts.map +0 -1
- package/dist/components/dropdown-menu.d.ts +0 -28
- package/dist/components/dropdown-menu.d.ts.map +0 -1
- package/dist/components/input.d.ts +0 -8
- package/dist/components/input.d.ts.map +0 -1
- package/dist/components/label.d.ts +0 -6
- package/dist/components/label.d.ts.map +0 -1
- package/dist/components/menubar.d.ts +0 -34
- package/dist/components/menubar.d.ts.map +0 -1
- package/dist/components/navigation-menu.d.ts +0 -13
- package/dist/components/navigation-menu.d.ts.map +0 -1
- package/dist/components/select.d.ts +0 -14
- package/dist/components/select.d.ts.map +0 -1
- package/dist/components/sidebar.d.ts +0 -67
- package/dist/components/sidebar.d.ts.map +0 -1
- package/dist/components/square-avatar.d.ts +0 -21
- package/dist/components/square-avatar.d.ts.map +0 -1
- package/dist/components/table.d.ts +0 -11
- package/dist/components/table.d.ts.map +0 -1
- package/dist/components/tabs.d.ts +0 -18
- package/dist/components/tabs.d.ts.map +0 -1
- package/dist/components/toggle.d.ts +0 -13
- package/dist/components/toggle.d.ts.map +0 -1
- package/src/components/.accordion.md +0 -42
- package/src/components/.alert-dialog.md +0 -58
- package/src/components/.alert.md +0 -43
- package/src/components/.badge.md +0 -40
- package/src/components/.breadcrumb.md +0 -54
- package/src/components/.chevron-button.md +0 -46
- package/src/components/.dialog.md +0 -60
- package/src/components/.dropdown-menu.md +0 -51
- package/src/components/.input.md +0 -40
- package/src/components/.label.md +0 -41
- package/src/components/.menubar.md +0 -49
- package/src/components/.navigation-menu.md +0 -44
- package/src/components/.select.md +0 -54
- package/src/components/.sidebar.md +0 -58
- package/src/components/.square-avatar.md +0 -42
- package/src/components/.table.md +0 -51
- package/src/components/.tabs.md +0 -38
- package/src/components/.toggle.md +0 -49
- package/src/components/accordion.tsx +0 -56
- package/src/components/alert-dialog.tsx +0 -141
- package/src/components/alert.tsx +0 -59
- package/src/components/badge.tsx +0 -30
- package/src/components/breadcrumb.tsx +0 -115
- package/src/components/chevron-button.tsx +0 -68
- package/src/components/dialog.tsx +0 -150
- package/src/components/dropdown-menu.tsx +0 -200
- package/src/components/input.tsx +0 -39
- package/src/components/label.tsx +0 -19
- package/src/components/menubar.tsx +0 -236
- package/src/components/navigation-menu.tsx +0 -128
- package/src/components/select.tsx +0 -160
- package/src/components/sidebar.tsx +0 -764
- package/src/components/square-avatar.tsx +0 -61
- package/src/components/table.tsx +0 -72
- package/src/components/tabs.tsx +0 -65
- package/src/components/toggle.tsx +0 -45
- /package/dist/{chunk-QXYOGJQJ.js.map → chunk-7KDR5P23.js.map} +0 -0
- /package/dist/{chunk-PEIR7D25.js.map → chunk-7KNOHGMI.js.map} +0 -0
|
@@ -83,7 +83,7 @@ function stripMarkdownPreview(text: string): string {
|
|
|
83
83
|
const HORIZONTAL_SIZE_TOKENS = {
|
|
84
84
|
default: {
|
|
85
85
|
padding: 'p-4',
|
|
86
|
-
step: 'w-8 h-8 text-
|
|
86
|
+
step: 'w-8 h-8 text-h6',
|
|
87
87
|
title: 'text-h5',
|
|
88
88
|
summaryClamp: 'line-clamp-2',
|
|
89
89
|
},
|
|
@@ -92,7 +92,7 @@ const HORIZONTAL_SIZE_TOKENS = {
|
|
|
92
92
|
export function OnboardingGuideCardSkeleton({ size = 'default' }: { size?: 'catalog' | 'default' | 'sm' }) {
|
|
93
93
|
if (size === 'catalog') {
|
|
94
94
|
return (
|
|
95
|
-
<div className="bg-ods-
|
|
95
|
+
<div className="bg-ods-card border border-ods-border rounded-lg overflow-hidden flex flex-col p-6 gap-4 animate-pulse">
|
|
96
96
|
<div className="flex flex-col md:flex-row gap-4 md:gap-6">
|
|
97
97
|
<div className="w-full md:w-[256px] aspect-[1200/630] bg-ods-border rounded-lg flex-shrink-0" />
|
|
98
98
|
<div className="flex-1 min-w-0 flex flex-col">
|
|
@@ -235,7 +235,7 @@ export function OnboardingGuideCard({
|
|
|
235
235
|
rel={rel}
|
|
236
236
|
prefetch={false}
|
|
237
237
|
className={cn(
|
|
238
|
-
'group block no-underline bg-ods-
|
|
238
|
+
'group block no-underline bg-ods-card',
|
|
239
239
|
'border border-ods-border rounded-lg overflow-hidden',
|
|
240
240
|
'transition-all duration-300 ease-out',
|
|
241
241
|
'transform hover:translate-y-[-2px]',
|
|
@@ -266,11 +266,11 @@ export function OnboardingGuideCard({
|
|
|
266
266
|
)}
|
|
267
267
|
{hasVideoCover && coverImage && (
|
|
268
268
|
<span className="absolute inset-0 flex items-center justify-center bg-black/30">
|
|
269
|
-
<Play className="w-10 h-10 text-
|
|
269
|
+
<Play className="w-10 h-10 text-ods-text-on-dark" fill="white" />
|
|
270
270
|
</span>
|
|
271
271
|
)}
|
|
272
272
|
{durationLabel && (
|
|
273
|
-
<span className="absolute bottom-2 right-2 inline-flex items-center gap-1 px-2 py-1 rounded bg-black/60 text-
|
|
273
|
+
<span className="absolute bottom-2 right-2 inline-flex items-center gap-1 px-2 py-1 rounded bg-black/60 text-ods-text-on-dark text-code">
|
|
274
274
|
<Clock className="w-3 h-3" />
|
|
275
275
|
{durationLabel}
|
|
276
276
|
</span>
|
|
@@ -280,12 +280,12 @@ export function OnboardingGuideCard({
|
|
|
280
280
|
|
|
281
281
|
<div className="flex-1 min-w-0 flex flex-col">
|
|
282
282
|
<div className="min-h-[60px] md:min-h-[72px] flex items-start mb-3">
|
|
283
|
-
<h3 className="
|
|
283
|
+
<h3 className="text-h2 text-ods-text-primary line-clamp-2">
|
|
284
284
|
{guide.title}
|
|
285
285
|
</h3>
|
|
286
286
|
</div>
|
|
287
287
|
<div className="min-h-[46px] md:min-h-[52px]">
|
|
288
|
-
<p className="
|
|
288
|
+
<p className="text-h6 text-ods-text-secondary line-clamp-2">
|
|
289
289
|
{stripMarkdownPreview(guide.video_summary || guide.content || '')}
|
|
290
290
|
</p>
|
|
291
291
|
</div>
|
|
@@ -339,18 +339,18 @@ export function OnboardingGuideCard({
|
|
|
339
339
|
)}
|
|
340
340
|
{hasVideoCover && compactCover && (
|
|
341
341
|
<span className="absolute inset-0 flex items-center justify-center bg-black/30">
|
|
342
|
-
<Play className="h-4 w-4 text-
|
|
342
|
+
<Play className="h-4 w-4 text-ods-text-on-dark" fill="white" />
|
|
343
343
|
</span>
|
|
344
344
|
)}
|
|
345
345
|
</span>
|
|
346
346
|
<span className={COMPACT_CARD_TEXT_COL}>
|
|
347
347
|
<span className={COMPACT_CARD_TITLE_ROW}>
|
|
348
|
-
<span className={cn(COMPACT_CARD_TITLE,
|
|
348
|
+
<span className={cn(COMPACT_CARD_TITLE, 'font-heading')}>
|
|
349
349
|
{guide.title}
|
|
350
350
|
</span>
|
|
351
351
|
</span>
|
|
352
352
|
<span className={COMPACT_CARD_META_ROW_BOX}>
|
|
353
|
-
<span className="truncate text-
|
|
353
|
+
<span className="truncate text-h6 text-ods-accent">
|
|
354
354
|
{subtitleParts.join(' · ')}
|
|
355
355
|
</span>
|
|
356
356
|
</span>
|
|
@@ -390,12 +390,12 @@ export function OnboardingGuideCard({
|
|
|
390
390
|
</span>
|
|
391
391
|
<span className="flex flex-col gap-0.5 flex-1 min-w-0">
|
|
392
392
|
<span className={`block ${t.title} text-ods-text-primary truncate`}>{guide.title}</span>
|
|
393
|
-
<span className="inline-flex items-center gap-1
|
|
393
|
+
<span className="inline-flex items-center gap-1 text-h6 text-ods-text-secondary">
|
|
394
394
|
<GraduationCap className="h-3 w-3 shrink-0" />
|
|
395
395
|
<span className="truncate">{guide.section}</span>
|
|
396
396
|
</span>
|
|
397
397
|
{summary && (
|
|
398
|
-
<span className={`
|
|
398
|
+
<span className={`text-h6 text-ods-text-secondary ${t.summaryClamp}`}>
|
|
399
399
|
{summary}
|
|
400
400
|
</span>
|
|
401
401
|
)}
|
|
@@ -329,18 +329,18 @@ export function ProgramCard<T extends BaseProgramItem>({
|
|
|
329
329
|
)}
|
|
330
330
|
{config.type === 'podcast' && !isScheduled && compactCover && (
|
|
331
331
|
<span className="absolute inset-0 flex items-center justify-center bg-black/30">
|
|
332
|
-
<Play className="w-4 h-4 text-
|
|
332
|
+
<Play className="w-4 h-4 text-ods-text-on-dark" fill="white" />
|
|
333
333
|
</span>
|
|
334
334
|
)}
|
|
335
335
|
</span>
|
|
336
336
|
<span className={COMPACT_CARD_TEXT_COL}>
|
|
337
337
|
<span className={COMPACT_CARD_TITLE_ROW}>
|
|
338
|
-
<span className={cn(COMPACT_CARD_TITLE,
|
|
338
|
+
<span className={cn(COMPACT_CARD_TITLE, 'font-heading')}>
|
|
339
339
|
{item.title}
|
|
340
340
|
</span>
|
|
341
341
|
</span>
|
|
342
342
|
<span className={COMPACT_CARD_META_ROW_BOX}>
|
|
343
|
-
<span className="truncate text-
|
|
343
|
+
<span className="truncate text-h6 text-ods-accent">
|
|
344
344
|
{subtitleParts.join(' · ')}
|
|
345
345
|
</span>
|
|
346
346
|
</span>
|
|
@@ -365,7 +365,7 @@ export function ProgramCard<T extends BaseProgramItem>({
|
|
|
365
365
|
return (
|
|
366
366
|
<>
|
|
367
367
|
<Clock className="w-4 h-4 text-ods-text-secondary" />
|
|
368
|
-
<span className="font-
|
|
368
|
+
<span className="font-body text-ods-text-secondary">
|
|
369
369
|
{formatDurationCompact((item as any).duration_seconds)}
|
|
370
370
|
</span>
|
|
371
371
|
</>
|
|
@@ -373,7 +373,7 @@ export function ProgramCard<T extends BaseProgramItem>({
|
|
|
373
373
|
}
|
|
374
374
|
if (config.type === 'event' && 'location_name' in item) {
|
|
375
375
|
return (
|
|
376
|
-
<span className="font-
|
|
376
|
+
<span className="font-body text-ods-text-secondary">
|
|
377
377
|
{(item as any).location_name || 'Location TBD'}
|
|
378
378
|
</span>
|
|
379
379
|
)
|
|
@@ -384,12 +384,12 @@ export function ProgramCard<T extends BaseProgramItem>({
|
|
|
384
384
|
return (
|
|
385
385
|
<>
|
|
386
386
|
<Video className="w-4 h-4 text-ods-text-secondary" />
|
|
387
|
-
<span className="font-
|
|
387
|
+
<span className="font-body text-ods-text-secondary">
|
|
388
388
|
{formatTimeWithTimezone(webinarItem.start_at, webinarItem.timezone ?? null)}
|
|
389
389
|
{duration && ` · ${duration}`}
|
|
390
390
|
</span>
|
|
391
391
|
{webinarItem.timezone && (
|
|
392
|
-
<span className="
|
|
392
|
+
<span className="text-h6 text-ods-text-secondary">
|
|
393
393
|
({webinarItem.timezone})
|
|
394
394
|
</span>
|
|
395
395
|
)}
|
|
@@ -415,7 +415,7 @@ export function ProgramCard<T extends BaseProgramItem>({
|
|
|
415
415
|
/>
|
|
416
416
|
{config.type === 'podcast' && !isScheduled && (
|
|
417
417
|
<div className="absolute inset-0 flex items-center justify-center bg-black/40 opacity-0 group-hover:opacity-100 transition-opacity rounded-lg">
|
|
418
|
-
<Play className="w-10 h-10 text-
|
|
418
|
+
<Play className="w-10 h-10 text-ods-text-on-dark" fill="white" />
|
|
419
419
|
</div>
|
|
420
420
|
)}
|
|
421
421
|
</div>
|
|
@@ -423,12 +423,12 @@ export function ProgramCard<T extends BaseProgramItem>({
|
|
|
423
423
|
)}
|
|
424
424
|
|
|
425
425
|
<div className="flex-1 min-w-0 flex flex-col">
|
|
426
|
-
<h3 className="
|
|
426
|
+
<h3 className="text-h2 text-ods-text-primary mb-3 min-h-[3rem] md:min-h-[3.5rem] line-clamp-2 flex items-center">
|
|
427
427
|
{item.title}
|
|
428
428
|
</h3>
|
|
429
429
|
|
|
430
430
|
<div className="flex flex-col md:flex-row md:items-center gap-2 md:gap-4 mb-4">
|
|
431
|
-
<span className="
|
|
431
|
+
<span className="text-h6" style={{ color: accentColor }}>
|
|
432
432
|
{dateFormat}
|
|
433
433
|
</span>
|
|
434
434
|
{renderMeta ? (
|
|
@@ -447,7 +447,7 @@ export function ProgramCard<T extends BaseProgramItem>({
|
|
|
447
447
|
</div>
|
|
448
448
|
|
|
449
449
|
<div className="flex-1">
|
|
450
|
-
<p className="
|
|
450
|
+
<p className="text-h6 text-ods-text-secondary line-clamp-3 min-h-[4.5rem]">
|
|
451
451
|
{item.description}
|
|
452
452
|
</p>
|
|
453
453
|
</div>
|
|
@@ -494,7 +494,7 @@ export function ProgramCard<T extends BaseProgramItem>({
|
|
|
494
494
|
<div className="p-6 pt-0 mt-auto">
|
|
495
495
|
<div className="pt-4 border-t border-ods-border">
|
|
496
496
|
<span
|
|
497
|
-
className="inline-flex items-center gap-2 px-4 py-2 rounded-md border border-ods-accent text-ods-accent text-
|
|
497
|
+
className="inline-flex items-center gap-2 px-4 py-2 rounded-md border border-ods-accent text-ods-accent text-h6"
|
|
498
498
|
aria-hidden="true"
|
|
499
499
|
>
|
|
500
500
|
View {config.labels.singular} Details
|
|
@@ -159,7 +159,7 @@ export function RoadmapCard({
|
|
|
159
159
|
className="h-8 w-8 object-contain"
|
|
160
160
|
/>
|
|
161
161
|
) : (
|
|
162
|
-
<span className="text-
|
|
162
|
+
<span className="text-h6 uppercase text-ods-text-secondary">
|
|
163
163
|
{item.title?.substring(0, 2) || '??'}
|
|
164
164
|
</span>
|
|
165
165
|
)}
|
|
@@ -178,7 +178,7 @@ export function RoadmapCard({
|
|
|
178
178
|
) : null}
|
|
179
179
|
</span>
|
|
180
180
|
<span className={`${COMPACT_CARD_META_ROW_BOX} gap-2 text-ods-text-secondary`}>
|
|
181
|
-
<span className="truncate text-
|
|
181
|
+
<span className="truncate text-h6 min-w-0 flex-1">
|
|
182
182
|
{(() => {
|
|
183
183
|
const parts = [
|
|
184
184
|
item.quarter,
|
|
@@ -195,7 +195,7 @@ export function RoadmapCard({
|
|
|
195
195
|
})()}
|
|
196
196
|
</span>
|
|
197
197
|
{hasVotes ? (
|
|
198
|
-
<span className="hidden sm:flex items-center gap-2 shrink-0 text-
|
|
198
|
+
<span className="hidden sm:flex items-center gap-2 shrink-0 text-h6 text-ods-text-secondary">
|
|
199
199
|
<span className="flex items-center gap-0.5">
|
|
200
200
|
<ThumbsUp className="h-3 w-3" />
|
|
201
201
|
<span>{item.upvotes ?? 0}</span>
|
|
@@ -213,7 +213,7 @@ export function RoadmapCard({
|
|
|
213
213
|
) : null}
|
|
214
214
|
{hasScreenshots ? (
|
|
215
215
|
<span
|
|
216
|
-
className="hidden sm:flex shrink-0 items-center gap-0.5 text-
|
|
216
|
+
className="hidden sm:flex shrink-0 items-center gap-0.5 text-h6"
|
|
217
217
|
title={`${item.screenshots.length} screenshot${item.screenshots.length === 1 ? '' : 's'}`}
|
|
218
218
|
>
|
|
219
219
|
<ImageIcon className="h-3 w-3" />
|
|
@@ -261,12 +261,12 @@ export function RoadmapCard({
|
|
|
261
261
|
|
|
262
262
|
<div className="flex-1 min-w-0 flex flex-col">
|
|
263
263
|
<div className="min-h-[48px] flex items-center">
|
|
264
|
-
<h3 className="text-h3 text-ods-text-primary
|
|
264
|
+
<h3 className="text-h3 text-ods-text-primary flex-1 line-clamp-2">
|
|
265
265
|
{item.title}
|
|
266
266
|
</h3>
|
|
267
267
|
</div>
|
|
268
268
|
<div className="min-h-[20px] flex items-center">
|
|
269
|
-
<p className="text-h5 text-ods-text-secondary
|
|
269
|
+
<p className="text-h5 text-ods-text-secondary truncate">
|
|
270
270
|
{item.quarter}, {item.id}
|
|
271
271
|
</p>
|
|
272
272
|
</div>
|
|
@@ -66,18 +66,18 @@ export function SlackMessageCard({ item, variant = 'compact', className, anchorP
|
|
|
66
66
|
return (
|
|
67
67
|
<div className={`flex items-center gap-3 min-w-0 ${className ?? ''}`}>
|
|
68
68
|
<SlackIcon className="h-3.5 w-3.5 shrink-0" />
|
|
69
|
-
<span className="text-ods-text-primary text-
|
|
69
|
+
<span className="text-ods-text-primary text-h6 truncate max-w-[180px] shrink-0">{item.title}</span>
|
|
70
70
|
{item.preview ? (
|
|
71
|
-
<span className="text-ods-text-secondary text-
|
|
71
|
+
<span className="text-ods-text-secondary text-h6 flex-1 min-w-0 truncate">{item.preview}</span>
|
|
72
72
|
) : null}
|
|
73
73
|
{channel ? (
|
|
74
|
-
<span className="
|
|
74
|
+
<span className="text-code text-ods-text-secondary truncate max-w-[140px] shrink-0">
|
|
75
75
|
<Hash className="inline h-3 w-3" />
|
|
76
76
|
{channel}
|
|
77
77
|
</span>
|
|
78
78
|
) : null}
|
|
79
79
|
{dateText ? (
|
|
80
|
-
<span className="text-ods-text-secondary text-
|
|
80
|
+
<span className="text-ods-text-secondary text-h6 w-24 shrink-0 text-right">{dateText}</span>
|
|
81
81
|
) : null}
|
|
82
82
|
</div>
|
|
83
83
|
)
|
|
@@ -44,7 +44,7 @@ const ErrorMessageDisplay = forwardRef<HTMLDivElement, ErrorMessageDisplayProps>
|
|
|
44
44
|
<AlertCircleIcon size={16} className={cn("shrink-0", iconTint[type])} />
|
|
45
45
|
<span
|
|
46
46
|
className={cn(
|
|
47
|
-
"min-w-0 flex-1
|
|
47
|
+
"min-w-0 flex-1 text-h5",
|
|
48
48
|
expanded ? "text-ods-text-primary" : "truncate text-ods-text-secondary"
|
|
49
49
|
)}
|
|
50
50
|
>
|
|
@@ -59,7 +59,7 @@ const ErrorMessageDisplay = forwardRef<HTMLDivElement, ErrorMessageDisplayProps>
|
|
|
59
59
|
ref={innerRef}
|
|
60
60
|
className="px-[var(--spacing-system-lf)] pt-[var(--spacing-system-xsf)]"
|
|
61
61
|
>
|
|
62
|
-
<p className="text-
|
|
62
|
+
<p className="text-h6 text-ods-text-primary">
|
|
63
63
|
{details}
|
|
64
64
|
</p>
|
|
65
65
|
</div>
|
|
@@ -96,7 +96,7 @@ function CardMedia({
|
|
|
96
96
|
picture and its 1px frame share one radius (no corner gap from
|
|
97
97
|
clipping a separate absolutely-positioned child). On a 404 the
|
|
98
98
|
image's `onError` hides it and the initials show through. */}
|
|
99
|
-
<span className="absolute inset-0 flex items-center justify-center rounded-sm border border-ods-border bg-ods-bg text-
|
|
99
|
+
<span className="absolute inset-0 flex items-center justify-center rounded-sm border border-ods-border bg-ods-bg text-h6 text-ods-text-primary">
|
|
100
100
|
{getFirstLastInitials(imageAlt) || '?'}
|
|
101
101
|
</span>
|
|
102
102
|
<img
|
|
@@ -146,7 +146,7 @@ export function MingoInfoCard({
|
|
|
146
146
|
<CardMedia imageSrc={imageSrc} imageAlt={imageAlt} icon={icon} />
|
|
147
147
|
)}
|
|
148
148
|
<span className="flex min-w-0 flex-1 flex-col justify-center">
|
|
149
|
-
<span className="truncate text-h4
|
|
149
|
+
<span className="truncate text-h4 text-ods-text-primary">
|
|
150
150
|
{title}
|
|
151
151
|
</span>
|
|
152
152
|
{description ? (
|
|
@@ -74,7 +74,7 @@ const ModelDisplay = React.forwardRef<HTMLDivElement, ModelDisplayProps>(
|
|
|
74
74
|
ref={ref}
|
|
75
75
|
className={cn(
|
|
76
76
|
'flex items-center gap-1 text-ods-text-secondary',
|
|
77
|
-
'text-
|
|
77
|
+
'text-h6',
|
|
78
78
|
className,
|
|
79
79
|
)}
|
|
80
80
|
{...props}
|
|
@@ -84,11 +84,11 @@ const ModelDisplay = React.forwardRef<HTMLDivElement, ModelDisplayProps>(
|
|
|
84
84
|
{icon}
|
|
85
85
|
</span>
|
|
86
86
|
)}
|
|
87
|
-
<span className="font-
|
|
87
|
+
<span className="font-body">
|
|
88
88
|
{name}
|
|
89
89
|
</span>
|
|
90
90
|
{contextWindow != null && (
|
|
91
|
-
<span className="
|
|
91
|
+
<span className="text-h6 opacity-70 ml-auto">
|
|
92
92
|
{usedTokens != null ? formatTokenCount(usedTokens) : '—'}/{formatTokenCount(contextWindow)} tokens used
|
|
93
93
|
</span>
|
|
94
94
|
)}
|
|
@@ -113,7 +113,7 @@ const ModelDisplay = React.forwardRef<HTMLDivElement, ModelDisplayProps>(
|
|
|
113
113
|
align="end"
|
|
114
114
|
sideOffset={6}
|
|
115
115
|
>
|
|
116
|
-
<div className="
|
|
116
|
+
<div className="text-h6 font-semibold text-ods-text-primary mb-2">
|
|
117
117
|
Token breakdown
|
|
118
118
|
</div>
|
|
119
119
|
{/* Answer-call row — uses the SAME pretty model name as the
|
|
@@ -147,7 +147,7 @@ const ModelDisplay = React.forwardRef<HTMLDivElement, ModelDisplayProps>(
|
|
|
147
147
|
/>
|
|
148
148
|
)}
|
|
149
149
|
{typeof hitRatePct === 'number' && hitRatePct > 0 && (
|
|
150
|
-
<div className="mt-2 pt-2 border-t border-ods-border
|
|
150
|
+
<div className="mt-2 pt-2 border-t border-ods-border text-h6 text-ods-text-secondary">
|
|
151
151
|
Prompt-cache hit: {hitRatePct}% of answer input
|
|
152
152
|
</div>
|
|
153
153
|
)}
|
|
@@ -169,7 +169,7 @@ function BreakdownRow({
|
|
|
169
169
|
isAnswer?: boolean;
|
|
170
170
|
}) {
|
|
171
171
|
return (
|
|
172
|
-
<div className="flex items-center justify-between py-1
|
|
172
|
+
<div className="flex items-center justify-between py-1 text-h6">
|
|
173
173
|
<span
|
|
174
174
|
className={cn(
|
|
175
175
|
'text-ods-text-secondary',
|
|
@@ -206,7 +206,7 @@ const ModelDisplaySkeleton = React.forwardRef<HTMLDivElement, ModelDisplaySkelet
|
|
|
206
206
|
<div
|
|
207
207
|
ref={ref}
|
|
208
208
|
aria-hidden
|
|
209
|
-
className={cn('flex items-center gap-1 text-
|
|
209
|
+
className={cn('flex items-center gap-1 text-h6', className)}
|
|
210
210
|
{...props}
|
|
211
211
|
>
|
|
212
212
|
{/* provider icon */}
|
|
@@ -119,7 +119,7 @@ function composeChipLabel(
|
|
|
119
119
|
// against the caps' optical center (measured 9.1px above / 6.9px
|
|
120
120
|
// below in the 32px Tag). Keep QuickActionChipSkeleton's lozenge bar
|
|
121
121
|
// offset in lockstep.
|
|
122
|
-
'mr-2 inline-flex items-center rounded px-[5px] py-[3px] align-middle -translate-y-[1px] text-
|
|
122
|
+
'mr-2 inline-flex items-center rounded px-[5px] py-[3px] align-middle -translate-y-[1px] text-h6 font-bold uppercase',
|
|
123
123
|
lozenge.className,
|
|
124
124
|
)}
|
|
125
125
|
style={{ background: 'color-mix(in srgb, currentColor 14%, transparent)' }}
|
|
@@ -67,14 +67,14 @@ const DENSITY_STYLES: Record<
|
|
|
67
67
|
showLabel: true,
|
|
68
68
|
iconSize: '!h-3 !w-3',
|
|
69
69
|
className:
|
|
70
|
-
'!h-auto !p-0 text-
|
|
70
|
+
'!h-auto !p-0 text-h6 font-normal text-ods-text-secondary opacity-60 hover:bg-transparent hover:opacity-100 hover:text-ods-text-primary',
|
|
71
71
|
},
|
|
72
72
|
'list-row': {
|
|
73
73
|
size: 'small',
|
|
74
74
|
showLabel: true,
|
|
75
75
|
iconSize: '!h-3 !w-3',
|
|
76
76
|
className:
|
|
77
|
-
'!h-auto !px-1.5 !py-0.5 text-
|
|
77
|
+
'!h-auto !px-1.5 !py-0.5 text-h6 font-normal text-ods-text-secondary opacity-60 hover:opacity-100 hover:text-ods-text-primary hover:bg-ods-accent/10',
|
|
78
78
|
},
|
|
79
79
|
}
|
|
80
80
|
|
|
@@ -6,13 +6,11 @@ import { formatToolArgValue, formatToolResult } from "./utils/tool-call-helpers"
|
|
|
6
6
|
/**
|
|
7
7
|
* Monospace code body shared by ArgRow / ResultBlock.
|
|
8
8
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* stays as `text-xs` here. Flagged for a future `text-code` token rather than
|
|
12
|
-
* forcing an h-class that would change the intended density.
|
|
9
|
+
* Uses the ODS `text-code` composite token (Azeret Mono 500, h6 responsive
|
|
10
|
+
* scale, no transform) — the token this file was originally flagged for.
|
|
13
11
|
*/
|
|
14
12
|
const CODE_PRE_CLASS =
|
|
15
|
-
"bg-ods-bg border border-ods-border rounded-md p-[var(--spacing-system-sf)] w-full max-h-64 overflow-auto text-
|
|
13
|
+
"bg-ods-bg border border-ods-border rounded-md p-[var(--spacing-system-sf)] w-full max-h-64 overflow-auto text-code text-ods-text-primary whitespace-pre"
|
|
16
14
|
|
|
17
15
|
/**
|
|
18
16
|
* Single arg row: inline `key: value` or labeled `<pre>` block.
|
|
@@ -25,7 +25,7 @@ import { CHIP_ACTION_BUTTON_CLASS } from './chip-action-class'
|
|
|
25
25
|
|
|
26
26
|
| Property | Value | Intent |
|
|
27
27
|
|----------|-------|--------|
|
|
28
|
-
| Font size | `text-
|
|
28
|
+
| Font size | `text-h6` | Sub-UI-Kit density, fits chip action rows |
|
|
29
29
|
| Padding | `px-2 py-1` | Tight, below standard `Button size="small"` |
|
|
30
30
|
| Colors | `ods-text-secondary` / hover `ods-text-primary` | ODS token-based theming |
|
|
31
31
|
| Background | `bg-transparent` / hover `ods-card-hover` | Subtle interactive feedback |
|
|
@@ -17,9 +17,9 @@ Accepts a `ChipClassOptions` object and returns a composed Tailwind class string
|
|
|
17
17
|
|
|
18
18
|
| Density | Sizing | Frame |
|
|
19
19
|
|---------|--------|-------|
|
|
20
|
-
| `chip` | `px-2 py-0.5 text-
|
|
20
|
+
| `chip` | `px-2 py-0.5 text-h6` | bordered card bg |
|
|
21
21
|
| `list-row` | `px-3 py-2 text-sm` | bordered card bg |
|
|
22
|
-
| `card-row` | `px-2 py-1 text-
|
|
22
|
+
| `card-row` | `px-2 py-1 text-h6` | no border/bg |
|
|
23
23
|
|
|
24
24
|
## Usage Example
|
|
25
25
|
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* chip card's tertiary action row.
|
|
14
14
|
*/
|
|
15
15
|
export const CHIP_ACTION_BUTTON_CLASS =
|
|
16
|
-
'text-
|
|
16
|
+
'text-h6 text-ods-text-secondary hover:text-ods-text-primary ' +
|
|
17
17
|
'bg-transparent hover:bg-ods-card-hover border border-ods-border rounded-md ' +
|
|
18
18
|
'px-2 py-1 transition-colors focus-visible:outline-none focus-visible:ring-2 ' +
|
|
19
19
|
'focus-visible:ring-ods-focus'
|
|
@@ -36,8 +36,8 @@ export function chatChipClass({ tone, density = 'chip', extra }: ChipClassOption
|
|
|
36
36
|
const sizeClass = density === 'list-row'
|
|
37
37
|
? 'px-3 py-2 text-sm gap-2'
|
|
38
38
|
: density === 'card-row'
|
|
39
|
-
? 'px-2 py-1 text-
|
|
40
|
-
: 'px-2 py-0.5 text-
|
|
39
|
+
? 'px-2 py-1 text-h6 gap-1.5'
|
|
40
|
+
: 'px-2 py-0.5 text-h6 gap-1.5'
|
|
41
41
|
// `card-row` is the "no-frame" variant — no border, no card bg, so it
|
|
42
42
|
// sits cleanly under a card without visually wrapping it.
|
|
43
43
|
const frameClass = density === 'card-row'
|
|
@@ -56,15 +56,15 @@ export const COMPACT_CARD_TITLE =
|
|
|
56
56
|
|
|
57
57
|
/** Subtitle text — 11px on a 16px line. */
|
|
58
58
|
export const COMPACT_CARD_SUBTITLE =
|
|
59
|
-
'truncate text-
|
|
59
|
+
'truncate text-h6 text-ods-text-secondary'
|
|
60
60
|
|
|
61
61
|
/** Summary text — same metrics as subtitle, dropped to 80% opacity. */
|
|
62
62
|
export const COMPACT_CARD_SUMMARY =
|
|
63
|
-
'truncate text-
|
|
63
|
+
'truncate text-h6 text-ods-text-secondary/80'
|
|
64
64
|
|
|
65
65
|
/** Meta-row variant — multi-part 11px metadata. */
|
|
66
66
|
export const COMPACT_CARD_META_ROW =
|
|
67
|
-
'flex items-center gap-1.5 min-w-0 text-
|
|
67
|
+
'flex items-center gap-1.5 min-w-0 text-h6 text-ods-text-secondary'
|
|
68
68
|
|
|
69
69
|
/** Non-breaking space — used as a fallback child so the row's height stays 16px. */
|
|
70
70
|
export const COMPACT_CARD_ROW_FILLER = ' '
|
|
@@ -44,7 +44,7 @@ const CommandInput = React.forwardRef<
|
|
|
44
44
|
<CommandPrimitive.Input
|
|
45
45
|
ref={ref}
|
|
46
46
|
className={cn(
|
|
47
|
-
"flex h-11 w-full rounded-md bg-transparent py-3 text-
|
|
47
|
+
"flex h-11 w-full rounded-md bg-transparent py-3 text-h6 outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",
|
|
48
48
|
className
|
|
49
49
|
)}
|
|
50
50
|
{...props}
|
|
@@ -73,7 +73,7 @@ const CommandEmpty = React.forwardRef<
|
|
|
73
73
|
>((props, ref) => (
|
|
74
74
|
<CommandPrimitive.Empty
|
|
75
75
|
ref={ref}
|
|
76
|
-
className="py-6 text-center text-
|
|
76
|
+
className="py-6 text-center text-h6"
|
|
77
77
|
{...props}
|
|
78
78
|
/>
|
|
79
79
|
))
|
|
@@ -115,7 +115,7 @@ const CommandItem = React.forwardRef<
|
|
|
115
115
|
<CommandPrimitive.Item
|
|
116
116
|
ref={ref}
|
|
117
117
|
className={cn(
|
|
118
|
-
"relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-
|
|
118
|
+
"relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-h6 outline-none data-[disabled=true]:pointer-events-none data-[selected='true']:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
|
119
119
|
className
|
|
120
120
|
)}
|
|
121
121
|
{...props}
|
|
@@ -90,7 +90,7 @@ export function CommentCard({
|
|
|
90
90
|
/>
|
|
91
91
|
|
|
92
92
|
{/* Timestamp */}
|
|
93
|
-
<span className="
|
|
93
|
+
<span className="text-h6 text-ods-text-secondary whitespace-nowrap flex-shrink-0">
|
|
94
94
|
{formatActivityTime(comment.createdAt)}
|
|
95
95
|
</span>
|
|
96
96
|
</>
|
|
@@ -258,7 +258,7 @@ export function ContactForm({
|
|
|
258
258
|
</h2>
|
|
259
259
|
)}
|
|
260
260
|
{subtitle && (
|
|
261
|
-
<p className="
|
|
261
|
+
<p className="text-h4 text-ods-text-primary">
|
|
262
262
|
{subtitle}
|
|
263
263
|
</p>
|
|
264
264
|
)}
|
|
@@ -320,7 +320,7 @@ export function ContactForm({
|
|
|
320
320
|
className="bg-ods-card border-ods-border text-ods-text-primary placeholder-ods-text-secondary px-3 h-12"
|
|
321
321
|
/>
|
|
322
322
|
{errors.name && (
|
|
323
|
-
<span id="name-error" className="text-ods-error text-
|
|
323
|
+
<span id="name-error" className="text-ods-error text-h6 mt-1">
|
|
324
324
|
{errors.name.message}
|
|
325
325
|
</span>
|
|
326
326
|
)}
|
|
@@ -341,7 +341,7 @@ export function ContactForm({
|
|
|
341
341
|
className="bg-ods-card border-ods-border text-ods-text-primary placeholder-ods-text-secondary px-3 h-12"
|
|
342
342
|
/>
|
|
343
343
|
{errors.email && (
|
|
344
|
-
<span id="email-error" className="text-ods-error text-
|
|
344
|
+
<span id="email-error" className="text-ods-error text-h6 mt-1">
|
|
345
345
|
{errors.email.message}
|
|
346
346
|
</span>
|
|
347
347
|
)}
|
|
@@ -378,7 +378,7 @@ export function ContactForm({
|
|
|
378
378
|
)}
|
|
379
379
|
/>
|
|
380
380
|
{errors.companySize && (
|
|
381
|
-
<span id="companySize-error" className="text-ods-error text-
|
|
381
|
+
<span id="companySize-error" className="text-ods-error text-h6 mt-1">
|
|
382
382
|
{errors.companySize.message}
|
|
383
383
|
</span>
|
|
384
384
|
)}
|
|
@@ -410,7 +410,7 @@ export function ContactForm({
|
|
|
410
410
|
)}
|
|
411
411
|
/>
|
|
412
412
|
{errors.referralSource && (
|
|
413
|
-
<span id="referralSource-error" className="text-ods-error text-
|
|
413
|
+
<span id="referralSource-error" className="text-ods-error text-h6 mt-1">
|
|
414
414
|
{errors.referralSource.message}
|
|
415
415
|
</span>
|
|
416
416
|
)}
|
|
@@ -447,7 +447,7 @@ export function ContactForm({
|
|
|
447
447
|
)}
|
|
448
448
|
/>
|
|
449
449
|
{errors.helpCategory && (
|
|
450
|
-
<span id="helpCategory-error" className="text-ods-error text-
|
|
450
|
+
<span id="helpCategory-error" className="text-ods-error text-h6 mt-1">
|
|
451
451
|
{errors.helpCategory.message}
|
|
452
452
|
</span>
|
|
453
453
|
)}
|
|
@@ -468,7 +468,7 @@ export function ContactForm({
|
|
|
468
468
|
className="bg-ods-card border-ods-border text-ods-text-primary placeholder-ods-text-secondary h-full flex-grow"
|
|
469
469
|
/>
|
|
470
470
|
{errors.message && (
|
|
471
|
-
<span id="message-error" className="text-ods-error text-
|
|
471
|
+
<span id="message-error" className="text-ods-error text-h6 mt-1">
|
|
472
472
|
{errors.message.message}
|
|
473
473
|
</span>
|
|
474
474
|
)}
|
|
@@ -494,7 +494,7 @@ export function ContactForm({
|
|
|
494
494
|
onAddFiles={attachments.addFiles}
|
|
495
495
|
disabled={isSubmitting}
|
|
496
496
|
/>
|
|
497
|
-
<span className="text-
|
|
497
|
+
<span className="text-h6 text-ods-text-secondary">
|
|
498
498
|
Attach files (optional)
|
|
499
499
|
</span>
|
|
500
500
|
</div>
|
|
@@ -503,7 +503,7 @@ export function ContactForm({
|
|
|
503
503
|
|
|
504
504
|
<div className="flex flex-col md:flex-row gap-4 md:gap-6 items-center justify-end w-full pt-2 mt-auto">
|
|
505
505
|
{footerText && (
|
|
506
|
-
<p className="
|
|
506
|
+
<p className="text-h6 text-ods-text-secondary text-center md:text-left">
|
|
507
507
|
{footerText}
|
|
508
508
|
</p>
|
|
509
509
|
)}
|