@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
|
@@ -13,7 +13,7 @@ export interface ProductReleaseCardSkeletonProps {
|
|
|
13
13
|
|
|
14
14
|
export function ProductReleaseCardSkeleton({ className, size = 'lg' }: ProductReleaseCardSkeletonProps) {
|
|
15
15
|
// ----- LG branch — must match ProductReleaseCard size='lg'.
|
|
16
|
-
// Same outer frame (`bg-ods-
|
|
16
|
+
// Same outer frame (`bg-ods-card border border-ods-border …
|
|
17
17
|
// p-6 gap-4`). Inner: hero (16:9 cover + version pill + title + summary),
|
|
18
18
|
// changelog strip placeholder, metadata-grid footer (4 cells via grid).
|
|
19
19
|
// Heights chosen to match the loaded card's rendered metrics so the
|
|
@@ -25,14 +25,14 @@ export function ProductReleaseCardSkeleton({ className, size = 'lg' }: ProductRe
|
|
|
25
25
|
return (
|
|
26
26
|
<div
|
|
27
27
|
className={cn(
|
|
28
|
-
'bg-ods-
|
|
28
|
+
'bg-ods-card border border-ods-border rounded-lg overflow-hidden',
|
|
29
29
|
'flex flex-col p-6 gap-4',
|
|
30
30
|
'animate-pulse',
|
|
31
31
|
className,
|
|
32
32
|
)}
|
|
33
33
|
>
|
|
34
34
|
{/* HERO — placeholders use `bg-ods-border` (#3a3a3a) so they
|
|
35
|
-
contrast against the card's `bg-ods-
|
|
35
|
+
contrast against the card's `bg-ods-card`
|
|
36
36
|
(#212121) container. The metadata grid cells below use
|
|
37
37
|
`bg-ods-card` containers so `bg-ods-bg` placeholders work
|
|
38
38
|
there, but in the hero the card IS `bg-ods-card`-equivalent —
|
|
@@ -220,7 +220,7 @@ export function ProductReleaseCard({
|
|
|
220
220
|
const dividerClass = 'border-b md:border-b-0 md:border-r border-ods-border'
|
|
221
221
|
|
|
222
222
|
const frameClass = cn(
|
|
223
|
-
'group bg-ods-
|
|
223
|
+
'group bg-ods-card border border-ods-border rounded-lg overflow-hidden',
|
|
224
224
|
'flex flex-col p-6 gap-4',
|
|
225
225
|
'transition-all duration-300 ease-out transform hover:translate-y-[-2px]',
|
|
226
226
|
'hover:border-ods-accent hover:shadow-lg hover:shadow-ods-accent/[0.08]',
|
|
@@ -251,14 +251,14 @@ export function ProductReleaseCard({
|
|
|
251
251
|
)}
|
|
252
252
|
{hasVideoCover && coverImage && (
|
|
253
253
|
<span className="absolute inset-0 flex items-center justify-center bg-black/30">
|
|
254
|
-
<Play className="w-10 h-10 text-
|
|
254
|
+
<Play className="w-10 h-10 text-ods-text-on-dark" fill="white" />
|
|
255
255
|
</span>
|
|
256
256
|
)}
|
|
257
257
|
</div>
|
|
258
258
|
</div>
|
|
259
259
|
<div className="flex-1 min-w-0 flex flex-col">
|
|
260
260
|
<div className="flex items-center gap-3 mb-3">
|
|
261
|
-
<span className="
|
|
261
|
+
<span className="text-code font-semibold text-ods-text-primary truncate">
|
|
262
262
|
v{version}
|
|
263
263
|
</span>
|
|
264
264
|
</div>
|
|
@@ -290,7 +290,7 @@ export function ProductReleaseCard({
|
|
|
290
290
|
(zero reflow on resolve). When `totalChangelog === 0`, an
|
|
291
291
|
empty-state line takes the same vertical space as the
|
|
292
292
|
populated row. */}
|
|
293
|
-
<div className="border-t border-ods-border pt-3 flex flex-wrap items-center gap-x-4 gap-y-1.5
|
|
293
|
+
<div className="border-t border-ods-border pt-3 flex flex-wrap items-center gap-x-4 gap-y-1.5 text-h6 text-ods-text-secondary">
|
|
294
294
|
{totalChangelog > 0 && changelogCounts ? (
|
|
295
295
|
<>
|
|
296
296
|
{changelogCounts.features > 0 && (
|
|
@@ -312,14 +312,14 @@ export function ProductReleaseCard({
|
|
|
312
312
|
</span>
|
|
313
313
|
)}
|
|
314
314
|
{changelogCounts.breaking > 0 && (
|
|
315
|
-
<span className="inline-flex items-center gap-1.5 text-
|
|
315
|
+
<span className="inline-flex items-center gap-1.5 text-ods-warning">
|
|
316
316
|
<AlertTriangle className="w-3.5 h-3.5" />
|
|
317
317
|
{changelogCounts.breaking} breaking
|
|
318
318
|
</span>
|
|
319
319
|
)}
|
|
320
320
|
</>
|
|
321
321
|
) : (
|
|
322
|
-
<span className="text-
|
|
322
|
+
<span className="text-ods-text-secondary">No changelog entries yet</span>
|
|
323
323
|
)}
|
|
324
324
|
</div>
|
|
325
325
|
|
|
@@ -362,7 +362,7 @@ export function ProductReleaseCard({
|
|
|
362
362
|
{cell.uppercase ? cell.value.toLocaleUpperCase() : cell.value}
|
|
363
363
|
</p>
|
|
364
364
|
)}
|
|
365
|
-
<p className="
|
|
365
|
+
<p className="text-h6 text-ods-text-secondary">
|
|
366
366
|
{cell.label}
|
|
367
367
|
</p>
|
|
368
368
|
</div>
|
|
@@ -380,7 +380,7 @@ export function ProductReleaseCard({
|
|
|
380
380
|
<p className="text-h3 tracking-[-0.36px] text-ods-text-primary truncate">
|
|
381
381
|
{effectiveAuthor.full_name}
|
|
382
382
|
</p>
|
|
383
|
-
<p className="
|
|
383
|
+
<p className="text-h6 text-ods-text-secondary">
|
|
384
384
|
{effectiveAuthor.job_title || 'Author'}
|
|
385
385
|
</p>
|
|
386
386
|
</div>
|
|
@@ -388,7 +388,7 @@ export function ProductReleaseCard({
|
|
|
388
388
|
</div>
|
|
389
389
|
|
|
390
390
|
{typeof viewCount === 'number' && viewCount > 0 && (
|
|
391
|
-
<div className="flex items-center gap-1.5 text-
|
|
391
|
+
<div className="flex items-center gap-1.5 text-h6 text-ods-text-secondary">
|
|
392
392
|
<Eye className="w-3.5 h-3.5" />
|
|
393
393
|
<span>{viewCount.toLocaleString()} views</span>
|
|
394
394
|
</div>
|
|
@@ -492,7 +492,7 @@ export function ProductReleaseCard({
|
|
|
492
492
|
)}
|
|
493
493
|
{hasVideoCover && coverImage && (
|
|
494
494
|
<span className="absolute inset-0 flex items-center justify-center bg-black/30">
|
|
495
|
-
<Play className="h-4 w-4 text-
|
|
495
|
+
<Play className="h-4 w-4 text-ods-text-on-dark" fill="white" />
|
|
496
496
|
</span>
|
|
497
497
|
)}
|
|
498
498
|
</span>
|
|
@@ -506,22 +506,22 @@ export function ProductReleaseCard({
|
|
|
506
506
|
as the loaded text — zero load-to-resolve baseline shift. */}
|
|
507
507
|
<span className="flex min-w-0 flex-1 flex-col gap-0.5 min-h-14">
|
|
508
508
|
<span className="flex items-center gap-2 min-w-0 h-5">
|
|
509
|
-
<span className="truncate text-
|
|
509
|
+
<span className="truncate text-h6 font-semibold text-ods-text-primary min-w-0" title={title}>
|
|
510
510
|
{title}
|
|
511
511
|
</span>
|
|
512
512
|
{version ? (
|
|
513
|
-
<span className="shrink-0 rounded bg-ods-accent/10 px-1.5 py-0.5
|
|
513
|
+
<span className="shrink-0 rounded bg-ods-accent/10 px-1.5 py-0.5 text-code text-ods-accent">
|
|
514
514
|
{version}
|
|
515
515
|
</span>
|
|
516
516
|
) : null}
|
|
517
517
|
</span>
|
|
518
518
|
<span className="flex items-center min-w-0 h-4">
|
|
519
|
-
<span className="truncate text-
|
|
519
|
+
<span className="truncate text-h6 text-ods-text-secondary">
|
|
520
520
|
{formattedDate || 'Product release'}
|
|
521
521
|
</span>
|
|
522
522
|
</span>
|
|
523
523
|
<span className="flex items-center min-w-0 h-4">
|
|
524
|
-
<span className="truncate text-
|
|
524
|
+
<span className="truncate text-h6 text-ods-text-secondary/80" title={summary || undefined}>
|
|
525
525
|
{/* The literal between the curly-quote string is U+00A0
|
|
526
526
|
(NBSP). The hub's `COMPACT_CARD_ROW_FILLER` is also
|
|
527
527
|
NBSP; ASCII space here would let React collapse the
|
|
@@ -220,8 +220,8 @@ export function ReleaseDetailPage({
|
|
|
220
220
|
if (error || !release) {
|
|
221
221
|
return renderShell(
|
|
222
222
|
<div className="text-center py-16">
|
|
223
|
-
<h1 className="text-
|
|
224
|
-
<p className="text-
|
|
223
|
+
<h1 className="text-h1 text-ods-text-primary mb-4">Release Not Found</h1>
|
|
224
|
+
<p className="text-h4 text-ods-text-secondary">The release you're looking for doesn't exist.</p>
|
|
225
225
|
</div>
|
|
226
226
|
);
|
|
227
227
|
}
|
|
@@ -276,7 +276,7 @@ export function ReleaseDetailPage({
|
|
|
276
276
|
<p className="text-h4 text-ods-text-primary">
|
|
277
277
|
{releaseType.toLocaleUpperCase()}
|
|
278
278
|
</p>
|
|
279
|
-
<p className="
|
|
279
|
+
<p className="text-h6 text-ods-text-secondary">
|
|
280
280
|
Release Type
|
|
281
281
|
</p>
|
|
282
282
|
</div>
|
|
@@ -288,7 +288,7 @@ export function ReleaseDetailPage({
|
|
|
288
288
|
<p className="text-h4 text-ods-text-primary">
|
|
289
289
|
{releaseStatus.toLocaleUpperCase()}
|
|
290
290
|
</p>
|
|
291
|
-
<p className="
|
|
291
|
+
<p className="text-h6 text-ods-text-secondary">
|
|
292
292
|
Release Status
|
|
293
293
|
</p>
|
|
294
294
|
</div>
|
|
@@ -300,7 +300,7 @@ export function ReleaseDetailPage({
|
|
|
300
300
|
<p className="text-h4 text-ods-text-primary">
|
|
301
301
|
{formatReleaseDate(releaseDate)}
|
|
302
302
|
</p>
|
|
303
|
-
<p className="
|
|
303
|
+
<p className="text-h6 text-ods-text-secondary">
|
|
304
304
|
Release Date
|
|
305
305
|
</p>
|
|
306
306
|
</div>
|
|
@@ -385,12 +385,12 @@ export function ReleaseDetailPage({
|
|
|
385
385
|
|
|
386
386
|
{/* Breaking Changes Warning */}
|
|
387
387
|
{hasBreakingChanges && (
|
|
388
|
-
<Card className="border-
|
|
388
|
+
<Card className="border-ods-error bg-ods-error/10">
|
|
389
389
|
<CardContent className="p-6">
|
|
390
390
|
<div className="flex items-center gap-3">
|
|
391
|
-
<AlertTriangle className="h-6 w-6 text-
|
|
391
|
+
<AlertTriangle className="h-6 w-6 text-ods-error" />
|
|
392
392
|
<div>
|
|
393
|
-
<h3 className="
|
|
393
|
+
<h3 className="text-h3 text-ods-error">Breaking Changes</h3>
|
|
394
394
|
<p className="text-ods-text-secondary">This release contains breaking changes. Review carefully before upgrading.</p>
|
|
395
395
|
</div>
|
|
396
396
|
</div>
|
|
@@ -510,11 +510,11 @@ export function ReleaseDetailPage({
|
|
|
510
510
|
href={ghRelease.github_release_url}
|
|
511
511
|
target="_blank"
|
|
512
512
|
rel="noopener noreferrer"
|
|
513
|
-
className="text-h4 text-
|
|
513
|
+
className="text-h4 text-ods-accent hover:underline"
|
|
514
514
|
>
|
|
515
515
|
{ghRelease.github_release_url.split('/').pop()}
|
|
516
516
|
</a>
|
|
517
|
-
<ExternalLink className="h-6 w-6 text-
|
|
517
|
+
<ExternalLink className="h-6 w-6 text-ods-accent shrink-0" />
|
|
518
518
|
</div>
|
|
519
519
|
))}
|
|
520
520
|
</>
|
|
@@ -534,11 +534,11 @@ export function ReleaseDetailPage({
|
|
|
534
534
|
</span>
|
|
535
535
|
<Link
|
|
536
536
|
href={path.startsWith('http') ? path : `/knowledge-base${path.startsWith('/') ? '' : '/'}${path}`}
|
|
537
|
-
className="text-h4 text-
|
|
537
|
+
className="text-h4 text-ods-accent hover:underline"
|
|
538
538
|
>
|
|
539
539
|
{path.replace(/^\//, '').split('/').pop()?.replace(/-/g, ' ') || 'View Article'}
|
|
540
540
|
</Link>
|
|
541
|
-
<ExternalLink className="h-6 w-6 text-
|
|
541
|
+
<ExternalLink className="h-6 w-6 text-ods-accent shrink-0" />
|
|
542
542
|
</div>
|
|
543
543
|
);
|
|
544
544
|
})}
|
|
@@ -553,11 +553,11 @@ export function ReleaseDetailPage({
|
|
|
553
553
|
href={migrationGuideUrl}
|
|
554
554
|
target="_blank"
|
|
555
555
|
rel="noopener noreferrer"
|
|
556
|
-
className="text-h4 text-
|
|
556
|
+
className="text-h4 text-ods-accent hover:underline"
|
|
557
557
|
>
|
|
558
558
|
📖 Migration Guide
|
|
559
559
|
</a>
|
|
560
|
-
<ExternalLink className="h-6 w-6 text-
|
|
560
|
+
<ExternalLink className="h-6 w-6 text-ods-accent shrink-0" />
|
|
561
561
|
</div>
|
|
562
562
|
)}
|
|
563
563
|
|
|
@@ -569,11 +569,11 @@ export function ReleaseDetailPage({
|
|
|
569
569
|
href={documentationUrl}
|
|
570
570
|
target="_blank"
|
|
571
571
|
rel="noopener noreferrer"
|
|
572
|
-
className="text-h4 text-
|
|
572
|
+
className="text-h4 text-ods-accent hover:underline"
|
|
573
573
|
>
|
|
574
574
|
📚 Documentation
|
|
575
575
|
</a>
|
|
576
|
-
<ExternalLink className="h-6 w-6 text-
|
|
576
|
+
<ExternalLink className="h-6 w-6 text-ods-accent shrink-0" />
|
|
577
577
|
</div>
|
|
578
578
|
)}
|
|
579
579
|
</div>
|
|
@@ -283,7 +283,7 @@ export function RoadmapGrid({
|
|
|
283
283
|
<div className="flex items-center gap-3">
|
|
284
284
|
<h3
|
|
285
285
|
className={cn(
|
|
286
|
-
|
|
286
|
+
'text-h2 text-ods-text-primary transition-opacity',
|
|
287
287
|
isExpanded ? 'opacity-100' : 'opacity-60',
|
|
288
288
|
)}
|
|
289
289
|
>
|
|
@@ -292,7 +292,7 @@ export function RoadmapGrid({
|
|
|
292
292
|
</h3>
|
|
293
293
|
<span
|
|
294
294
|
className={cn(
|
|
295
|
-
'text-
|
|
295
|
+
'text-h6 transition-opacity',
|
|
296
296
|
isExpanded ? 'text-ods-text-secondary opacity-100' : 'text-ods-text-tertiary opacity-60',
|
|
297
297
|
)}
|
|
298
298
|
>
|
|
@@ -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="var(--color-border-default)"
|
|
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(--color-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-card 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-on-accent",
|
|
20
20
|
cancelButton:
|
|
21
|
-
"group-[.toast]:bg-ods-
|
|
22
|
-
error: "group-[.toaster]:bg-
|
|
23
|
-
success: "group-[.toaster]:bg-
|
|
21
|
+
"group-[.toast]:bg-ods-bg-surface group-[.toast]:text-ods-text-secondary",
|
|
22
|
+
error: "group-[.toaster]:bg-ods-error-secondary group-[.toaster]:text-ods-text-primary group-[.toaster]:border-ods-error",
|
|
23
|
+
success: "group-[.toaster]:bg-ods-success-secondary group-[.toaster]:text-ods-text-primary group-[.toaster]:border-ods-success",
|
|
24
24
|
},
|
|
25
25
|
}}
|
|
26
26
|
{...props}
|
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-h6", 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-h6",
|
|
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-h6", isActive ? "text-muted-foreground" : "text-muted-foreground/60")}>
|
|
87
87
|
{description}
|
|
88
88
|
</p>
|
|
89
89
|
)}
|
|
@@ -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-h6">
|
|
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-h5 text-ods-text-secondary">
|
|
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-h6 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-h5 text-ods-text-secondary mb-2">
|
|
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-
|
|
583
|
+
className="mb-3 flex items-start gap-3 rounded-md border border-ods-error bg-ods-error-secondary px-3 py-2 text-h6 text-ods-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-h6 uppercase text-ods-error hover:bg-ods-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-ods-text-secondary
|
|
628
|
+
<div className="flex items-center gap-2 text-h6">
|
|
629
|
+
<span className="text-h5 text-ods-text-secondary">
|
|
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-h2 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-h6">
|
|
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-h6 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-h6 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-h6 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-h6 text-right ${
|
|
138
138
|
overCap ? 'text-ods-error' : 'text-ods-text-secondary'
|
|
139
139
|
}`}
|
|
140
140
|
>
|
|
@@ -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 text-h6 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-h6 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-divider 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-ods-overlay 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-h3", 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-h6 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-
|
|
17
|
+
"border-transparent bg-ods-warning-secondary text-ods-warning [&>svg]:text-ods-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-h6 [&_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="text-h6 font-bold">Add Domain</span>
|
|
133
133
|
</button>
|
|
134
134
|
|
|
135
135
|
{/* Error message */}
|
|
136
136
|
{displayError && (
|
|
137
|
-
<p className="text-
|
|
137
|
+
<p className="text-h6 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-h6 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
|
-
"
|
|
488
|
+
"text-h5 text-ods-text-secondary",
|
|
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-h6">
|
|
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-h6">
|
|
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-h6 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-ods-success text-ods-text-on-accent hover:bg-ods-success-hover",
|
|
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
|
|
45
|
+
<h3 className="text-h2 text-ods-text-primary">
|
|
46
46
|
{item.title}
|
|
47
47
|
</h3>
|
|
48
48
|
|
|
49
49
|
{/* Description */}
|
|
50
|
-
<p className="
|
|
50
|
+
<p className="text-h6 text-ods-text-secondary">
|
|
51
51
|
{item.description}
|
|
52
52
|
</p>
|
|
53
53
|
|