@flamingo-stack/openframe-frontend-core 0.0.439-snapshot.20260717095442 → 0.0.439
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-QAG357PE.js → chunk-2ELBNZJ3.js} +7 -7
- package/dist/chunk-2ELBNZJ3.js.map +1 -0
- package/dist/{chunk-IZ6A6K6N.cjs → chunk-3WJQL4DN.cjs} +25 -25
- package/dist/chunk-3WJQL4DN.cjs.map +1 -0
- package/dist/{chunk-6CITW5BD.js → chunk-4ACSUJ7Q.js} +10 -10
- package/dist/chunk-4ACSUJ7Q.js.map +1 -0
- package/dist/{chunk-JYI4R25Q.js → chunk-7WM77CSW.js} +5 -5
- package/dist/chunk-7WM77CSW.js.map +1 -0
- package/dist/{chunk-TAQMYVO6.cjs → chunk-AUJXLVXA.cjs} +42 -42
- package/dist/{chunk-TAQMYVO6.cjs.map → chunk-AUJXLVXA.cjs.map} +1 -1
- package/dist/{chunk-UFBUQO7Z.cjs → chunk-C3FH53AP.cjs} +19 -19
- package/dist/{chunk-UFBUQO7Z.cjs.map → chunk-C3FH53AP.cjs.map} +1 -1
- package/dist/{chunk-FPE3SQ5D.js → chunk-COMBYYQY.js} +13 -13
- package/dist/chunk-COMBYYQY.js.map +1 -0
- package/dist/{chunk-J5NO7PAG.cjs → chunk-EE5NH5SH.cjs} +3 -3
- package/dist/{chunk-J5NO7PAG.cjs.map → chunk-EE5NH5SH.cjs.map} +1 -1
- package/dist/{chunk-SM26C2L7.js → chunk-EGRZHR7J.js} +9 -9
- package/dist/chunk-EGRZHR7J.js.map +1 -0
- package/dist/{chunk-W3JZXLJ2.js → chunk-F7YVI54P.js} +10 -10
- package/dist/chunk-F7YVI54P.js.map +1 -0
- package/dist/{chunk-63TSTDME.js → chunk-G5FALXNO.js} +21 -21
- package/dist/chunk-G5FALXNO.js.map +1 -0
- package/dist/{chunk-DUQQEQ7G.cjs → chunk-HTVVXVJL.cjs} +1594 -1431
- package/dist/chunk-HTVVXVJL.cjs.map +1 -0
- package/dist/{chunk-JNC4LVD6.cjs → chunk-IAN7GUIV.cjs} +42 -42
- package/dist/chunk-IAN7GUIV.cjs.map +1 -0
- package/dist/{chunk-PYR4LVAF.cjs → chunk-IMK6RUEC.cjs} +10 -10
- package/dist/chunk-IMK6RUEC.cjs.map +1 -0
- package/dist/{chunk-LFWPWIAC.cjs → chunk-M3LD6DNE.cjs} +16 -16
- package/dist/{chunk-LFWPWIAC.cjs.map → chunk-M3LD6DNE.cjs.map} +1 -1
- package/dist/{chunk-KUXGQ2FQ.cjs → chunk-M6QGB6DC.cjs} +36 -36
- package/dist/chunk-M6QGB6DC.cjs.map +1 -0
- package/dist/{chunk-QO6MCQYE.cjs → chunk-N2TJ3HAM.cjs} +9 -9
- package/dist/chunk-N2TJ3HAM.cjs.map +1 -0
- package/dist/{chunk-ZQYFDYWV.js → chunk-NQQ4NLUT.js} +4461 -4298
- package/dist/chunk-NQQ4NLUT.js.map +1 -0
- package/dist/{chunk-Y3NFB6HR.js → chunk-P7PISHM5.js} +5 -5
- package/dist/chunk-P7PISHM5.js.map +1 -0
- package/dist/{chunk-YZJUHEPZ.js → chunk-PBTY7AH5.js} +95 -95
- package/dist/chunk-PBTY7AH5.js.map +1 -0
- package/dist/{chunk-7KNOHGMI.js → chunk-PEIR7D25.js} +2 -2
- package/dist/{chunk-7KDR5P23.js → chunk-QXYOGJQJ.js} +2 -2
- package/dist/{chunk-LUKRPHEW.cjs → chunk-R46QEE3R.cjs} +96 -96
- package/dist/chunk-R46QEE3R.cjs.map +1 -0
- package/dist/{chunk-IPEIOR77.cjs → chunk-RQQZF6G6.cjs} +130 -130
- package/dist/chunk-RQQZF6G6.cjs.map +1 -0
- package/dist/{chunk-2BTDPDME.js → chunk-RVWC4P3H.js} +9 -9
- package/dist/chunk-RVWC4P3H.js.map +1 -0
- package/dist/{chunk-JOH5D76X.cjs → chunk-VWGF6IFR.cjs} +108 -108
- package/dist/chunk-VWGF6IFR.cjs.map +1 -0
- package/dist/{chunk-IAZ5AN2E.js → chunk-WAGTZVQN.js} +30 -30
- package/dist/chunk-WAGTZVQN.js.map +1 -0
- package/dist/{chunk-AGV26PUR.js → chunk-WPVBTVI3.js} +6 -6
- package/dist/{chunk-AGV26PUR.js.map → chunk-WPVBTVI3.js.map} +1 -1
- package/dist/{chunk-XMCVUYKC.cjs → chunk-WZ6TCAYQ.cjs} +14 -14
- package/dist/chunk-WZ6TCAYQ.cjs.map +1 -0
- package/dist/{chunk-7QP65IE4.cjs → chunk-ZMUFTGL7.cjs} +5 -5
- package/dist/{chunk-7QP65IE4.cjs.map → chunk-ZMUFTGL7.cjs.map} +1 -1
- package/dist/components/accordion.d.ts +8 -0
- package/dist/components/accordion.d.ts.map +1 -0
- package/dist/components/alert-dialog.d.ts +21 -0
- package/dist/components/alert-dialog.d.ts.map +1 -0
- package/dist/components/alert.d.ts +9 -0
- package/dist/components/alert.d.ts.map +1 -0
- package/dist/components/badge.d.ts +10 -0
- package/dist/components/badge.d.ts.map +1 -0
- package/dist/components/breadcrumb.d.ts +20 -0
- package/dist/components/breadcrumb.d.ts.map +1 -0
- package/dist/components/case-studies/index.cjs +15 -15
- package/dist/components/case-studies/index.cjs.map +1 -1
- package/dist/components/case-studies/index.js +9 -9
- package/dist/components/case-studies/index.js.map +1 -1
- package/dist/components/chat/approval-request-message.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/blog-card.d.ts.map +1 -1
- package/dist/components/chat/index.cjs +4 -4
- package/dist/components/chat/index.js +3 -3
- package/dist/components/chat/tool-call-blocks.d.ts.map +1 -1
- package/dist/components/chat/utils/compact-card-classes.d.ts +3 -3
- package/dist/components/chat/utils/compact-card-classes.d.ts.map +1 -1
- package/dist/components/chevron-button.d.ts +14 -0
- package/dist/components/chevron-button.d.ts.map +1 -0
- package/dist/components/contact/index.cjs +5 -5
- package/dist/components/contact/index.js +4 -4
- package/dist/components/dialog.d.ts +29 -0
- package/dist/components/dialog.d.ts.map +1 -0
- package/dist/components/docs/index.cjs +7 -7
- package/dist/components/docs/index.js +6 -6
- package/dist/components/dropdown-menu.d.ts +28 -0
- package/dist/components/dropdown-menu.d.ts.map +1 -0
- package/dist/components/embeds/index.cjs +5 -5
- package/dist/components/embeds/index.js +4 -4
- package/dist/components/faq/index.cjs +6 -6
- package/dist/components/faq/index.js +5 -5
- package/dist/components/features/index.cjs +4 -4
- package/dist/components/features/index.js +3 -3
- package/dist/components/help-center-pages/index.cjs +23 -23
- package/dist/components/help-center-pages/index.js +14 -14
- package/dist/components/index.cjs +256 -262
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.js +111 -117
- package/dist/components/index.js.map +1 -1
- package/dist/components/input.d.ts +8 -0
- package/dist/components/input.d.ts.map +1 -0
- package/dist/components/label.d.ts +6 -0
- package/dist/components/label.d.ts.map +1 -0
- package/dist/components/menubar.d.ts +34 -0
- package/dist/components/menubar.d.ts.map +1 -0
- package/dist/components/msp-display.d.ts.map +1 -1
- package/dist/components/navigation/index.cjs +4 -4
- package/dist/components/navigation/index.js +3 -3
- package/dist/components/navigation/sticky-section-nav.d.ts.map +1 -1
- package/dist/components/navigation-menu.d.ts +13 -0
- package/dist/components/navigation-menu.d.ts.map +1 -0
- package/dist/components/onboarding-guides/index.cjs +8 -8
- package/dist/components/onboarding-guides/index.js +7 -7
- package/dist/components/pricing-display.d.ts +9 -9
- package/dist/components/related-content/index.cjs +6 -6
- package/dist/components/related-content/index.js +5 -5
- package/dist/components/select.d.ts +14 -0
- package/dist/components/select.d.ts.map +1 -0
- package/dist/components/sidebar.d.ts +67 -0
- package/dist/components/sidebar.d.ts.map +1 -0
- package/dist/components/square-avatar.d.ts +21 -0
- package/dist/components/square-avatar.d.ts.map +1 -0
- package/dist/components/table.d.ts +11 -0
- package/dist/components/table.d.ts.map +1 -0
- package/dist/components/tabs.d.ts +18 -0
- package/dist/components/tabs.d.ts.map +1 -0
- package/dist/components/tickets/index.cjs +7 -7
- package/dist/components/tickets/index.js +6 -6
- package/dist/components/toast/index.cjs +5 -5
- package/dist/components/toast/index.cjs.map +1 -1
- package/dist/components/toast/index.js +5 -5
- package/dist/components/toast/index.js.map +1 -1
- package/dist/components/toggle.d.ts +13 -0
- package/dist/components/toggle.d.ts.map +1 -0
- package/dist/components/ui/bullet-list.d.ts.map +1 -1
- package/dist/components/ui/drawer.d.ts +1 -1
- package/dist/components/ui/drawer.d.ts.map +1 -1
- package/dist/components/ui/file-manager/index.cjs +73 -73
- package/dist/components/ui/file-manager/index.cjs.map +1 -1
- package/dist/components/ui/file-manager/index.js +24 -24
- package/dist/components/ui/file-manager/index.js.map +1 -1
- package/dist/components/ui/index.cjs +4 -4
- package/dist/components/ui/index.js +3 -3
- package/dist/components/ui/markdown-editor.d.ts.map +1 -1
- package/dist/components/ui/square-avatar.d.ts +0 -3
- package/dist/components/ui/square-avatar.d.ts.map +1 -1
- package/dist/components/user-display.d.ts.map +1 -1
- package/dist/components/vendor-tag.d.ts.map +1 -1
- package/dist/hooks/index.cjs +2 -2
- package/dist/hooks/index.js +1 -1
- package/dist/index.cjs +4 -4
- package/dist/index.js +3 -3
- package/dist/tailwind.config.cjs +5 -38
- package/dist/tailwind.config.cjs.map +1 -1
- package/dist/tailwind.config.js +5 -38
- package/dist/tailwind.config.js.map +1 -1
- package/package.json +1 -1
- package/src/ODS_TOKEN_RULES.md +0 -5
- package/src/components/.accordion.md +42 -0
- package/src/components/.alert-dialog.md +58 -0
- package/src/components/.alert.md +43 -0
- package/src/components/.badge.md +40 -0
- package/src/components/.breadcrumb.md +54 -0
- package/src/components/.chevron-button.md +46 -0
- package/src/components/.dialog.md +60 -0
- package/src/components/.dropdown-menu.md +51 -0
- package/src/components/.footer.md +2 -2
- package/src/components/.input.md +40 -0
- package/src/components/.label.md +41 -0
- package/src/components/.menubar.md +49 -0
- package/src/components/.navigation-menu.md +44 -0
- package/src/components/.select.md +54 -0
- package/src/components/.sidebar.md +58 -0
- package/src/components/.square-avatar.md +42 -0
- package/src/components/.table.md +51 -0
- package/src/components/.tabs.md +38 -0
- package/src/components/.toggle.md +49 -0
- package/src/components/accordion.tsx +56 -0
- package/src/components/alert-dialog.tsx +141 -0
- package/src/components/alert.tsx +59 -0
- package/src/components/announcement-bar.tsx +1 -1
- package/src/components/authors/author-detail-view.tsx +3 -3
- package/src/components/badge.tsx +30 -0
- package/src/components/breadcrumb.tsx +115 -0
- package/src/components/calendar.tsx +2 -2
- package/src/components/case-studies/share-experience-section.tsx +5 -5
- package/src/components/categories-cart.tsx +6 -6
- package/src/components/category-card.tsx +5 -5
- package/src/components/chart.tsx +3 -3
- package/src/components/chat/approval-request-message.tsx +5 -2
- package/src/components/chat/chat-attachment-bar.tsx +3 -3
- package/src/components/chat/chat-message-enhanced.tsx +1 -1
- package/src/components/chat/chat-message-list.tsx +1 -1
- package/src/components/chat/chat-message-row.tsx +3 -3
- package/src/components/chat/chat-quick-action.tsx +1 -1
- package/src/components/chat/chat-sidebar-skeleton.tsx +1 -1
- package/src/components/chat/chat-sidebar.tsx +6 -6
- package/src/components/chat/chat-typing-indicator.tsx +1 -1
- package/src/components/chat/context-compaction-display.tsx +1 -1
- package/src/components/chat/embeddable-chat.tsx +3 -3
- package/src/components/chat/entity-cards/admin-content-card.tsx +5 -5
- package/src/components/chat/entity-cards/blog-card.tsx +8 -5
- package/src/components/chat/entity-cards/case-study-card.tsx +5 -5
- package/src/components/chat/entity-cards/chat-ticket-item.tsx +1 -1
- package/src/components/chat/entity-cards/customer-interview-card.tsx +9 -9
- package/src/components/chat/entity-cards/data-room-doc-card.tsx +2 -2
- package/src/components/chat/entity-cards/dispatch.tsx +1 -1
- package/src/components/chat/entity-cards/entity-author-card.tsx +3 -3
- package/src/components/chat/entity-cards/entity-portrait-card.tsx +4 -4
- package/src/components/chat/entity-cards/generic-entity-card.tsx +3 -3
- package/src/components/chat/entity-cards/github-activity-card.tsx +11 -11
- package/src/components/chat/entity-cards/hubspot-ticket-card.tsx +5 -5
- package/src/components/chat/entity-cards/investor-update-card.tsx +1 -1
- package/src/components/chat/entity-cards/onboarding-guide-card.tsx +12 -12
- package/src/components/chat/entity-cards/program-card.tsx +12 -12
- package/src/components/chat/entity-cards/roadmap-card.tsx +6 -6
- package/src/components/chat/entity-cards/roadmap-vote-button.tsx +1 -1
- package/src/components/chat/entity-cards/slack-message-card.tsx +4 -4
- package/src/components/chat/error-message-display.tsx +2 -2
- package/src/components/chat/mingo-info-card.tsx +2 -2
- package/src/components/chat/model-display.tsx +7 -7
- package/src/components/chat/quick-action-chip.tsx +1 -1
- package/src/components/chat/source-action-button.tsx +2 -2
- package/src/components/chat/tool-call-blocks.tsx +5 -3
- package/src/components/chat/utils/.chip-action-class.md +1 -1
- package/src/components/chat/utils/.chip-styles.md +2 -2
- package/src/components/chat/utils/chip-action-class.ts +1 -1
- package/src/components/chat/utils/chip-styles.ts +2 -2
- package/src/components/chat/utils/compact-card-classes.ts +3 -3
- package/src/components/chevron-button.tsx +68 -0
- package/src/components/command.tsx +3 -3
- package/src/components/comment-card.tsx +1 -1
- package/src/components/contact/contact-form.tsx +9 -9
- package/src/components/context-menu.tsx +5 -5
- package/src/components/date-time-picker.tsx +2 -2
- package/src/components/dialog.tsx +150 -0
- package/src/components/docs/doc-viewer.tsx +4 -4
- package/src/components/dropdown-menu.tsx +200 -0
- package/src/components/embeds/figma-embed.tsx +2 -2
- package/src/components/embeds/file-download-card.tsx +2 -2
- package/src/components/embeds/google-sheets-viewer.tsx +1 -1
- package/src/components/embeds/linkedin-embed-client.tsx +3 -3
- package/src/components/embeds/og-link-preview.tsx +14 -14
- package/src/components/embeds/pdf-viewer.tsx +1 -1
- package/src/components/embeds/reddit-embed-client.tsx +9 -9
- package/src/components/embeds/twitter-embed-client.tsx +9 -9
- package/src/components/empty-state.tsx +5 -5
- package/src/components/faq/faq-section.tsx +1 -1
- package/src/components/features/ai-enrich/AIEnrichSection.tsx +14 -14
- package/src/components/features/ai-enrich/AIRequiredBadge.tsx +5 -5
- package/src/components/features/ai-enrich/AIStatusIndicator.tsx +8 -8
- package/src/components/features/ai-enrich/AIWarningsSection.tsx +4 -4
- package/src/components/features/ai-enrich/ConfidenceBadge.tsx +4 -4
- package/src/components/features/array-entry-manager.tsx +7 -7
- package/src/components/features/auth-providers-list.tsx +1 -1
- package/src/components/features/board/ticket-card.tsx +1 -1
- package/src/components/features/changelog-manager.tsx +10 -10
- package/src/components/features/command-box.tsx +2 -2
- package/src/components/features/entity-summary-editor.tsx +3 -3
- package/src/components/features/figma-prototype-viewer.tsx +9 -9
- package/src/components/features/filters-dropdown.tsx +2 -2
- package/src/components/features/highlight-config-section.tsx +3 -3
- package/src/components/features/highlight-video-combined-section.tsx +2 -2
- package/src/components/features/highlight-video-preview.tsx +2 -2
- package/src/components/features/highlight-video-section.tsx +9 -9
- package/src/components/features/media-gallery-manager.tsx +14 -14
- package/src/components/features/og-editor-preview.tsx +4 -4
- package/src/components/features/os-type-badge-group.tsx +1 -1
- package/src/components/features/os-type-badge.tsx +2 -2
- package/src/components/features/platform-badge.tsx +4 -4
- package/src/components/features/policy-configuration-panel.tsx +6 -6
- package/src/components/features/provider-button.tsx +1 -1
- package/src/components/features/push-button-selector.tsx +21 -21
- package/src/components/features/release-media-manager.tsx +16 -16
- package/src/components/features/section-selector.tsx +8 -8
- package/src/components/features/select-button.tsx +4 -4
- package/src/components/features/seo-editor-preview.tsx +20 -20
- package/src/components/features/social-links-manager.tsx +3 -3
- package/src/components/features/start-with-openframe-button.tsx +3 -3
- package/src/components/features/status-filter-component.tsx +1 -1
- package/src/components/features/tags-selector.tsx +6 -6
- package/src/components/features/transcript-summary-editor.tsx +9 -9
- package/src/components/features/video-bites-strip.tsx +1 -1
- package/src/components/features/video-ratio-tabs.tsx +1 -1
- package/src/components/features/video-source-selector.tsx +7 -7
- package/src/components/features/video.tsx +1 -1
- package/src/components/features/waitlist-form.tsx +3 -3
- package/src/components/filter-chip.tsx +13 -13
- package/src/components/footer.tsx +3 -3
- package/src/components/form.tsx +2 -2
- package/src/components/hero-image-uploader.tsx +3 -3
- package/src/components/image-cropper.tsx +2 -2
- package/src/components/input.tsx +39 -0
- package/src/components/label.tsx +19 -0
- package/src/components/layout/page-container.tsx +6 -6
- package/src/components/layout/page-heading.tsx +1 -1
- package/src/components/loading/card-skeleton.tsx +2 -2
- package/src/components/loading/category-card-skeleton.tsx +1 -1
- package/src/components/loading/margin-report-skeleton.tsx +22 -22
- package/src/components/loading/openmsp-heartbeat.tsx +1 -1
- package/src/components/loading/page-layout-skeleton.tsx +83 -83
- package/src/components/loading/unified-skeleton.tsx +1 -1
- package/src/components/loading/users-grid-skeleton.tsx +2 -2
- package/src/components/logs-list.tsx +8 -8
- package/src/components/media-carousel.tsx +7 -7
- package/src/components/menubar.tsx +236 -0
- package/src/components/metric-value.tsx +2 -2
- package/src/components/msp-display.tsx +2 -8
- package/src/components/navigation/app-header.tsx +6 -6
- package/src/components/navigation/header-organization-filter.tsx +2 -2
- package/src/components/navigation/header.tsx +4 -4
- package/src/components/navigation/mobile-burger-menu.tsx +7 -7
- package/src/components/navigation/mobile-nav-panel.tsx +1 -1
- package/src/components/navigation/multi-level-navigation.tsx +7 -7
- package/src/components/navigation/navigation-sidebar.tsx +1 -1
- package/src/components/navigation/sticky-section-nav.tsx +2 -2
- package/src/components/navigation-menu.tsx +128 -0
- package/src/components/onboarding-guides/onboarding-guides-catalog-view.tsx +4 -4
- package/src/components/pagination.tsx +2 -2
- package/src/components/persistent-filter-controls.tsx +1 -1
- package/src/components/platform/.ShellTypeBadge.md +1 -1
- package/src/components/platform/CveLink.tsx +1 -1
- package/src/components/platform/ScriptArguments.tsx +2 -2
- package/src/components/platform/ScriptInfoSection.tsx +5 -5
- package/src/components/platform/ShellTypeBadge.tsx +6 -6
- package/src/components/platform/SoftwareInfo.tsx +2 -2
- package/src/components/pricing-display.tsx +9 -9
- package/src/components/profile/ProfileLoadingSkeleton.tsx +6 -6
- package/src/components/related-content/related-content-section.tsx +3 -3
- package/src/components/results-count.tsx +1 -1
- package/src/components/select.tsx +160 -0
- package/src/components/shared/delivery/delivery-row.tsx +1 -1
- package/src/components/shared/delivery/delivery-table.tsx +1 -1
- package/src/components/shared/dev-section/dev-section-view.tsx +1 -1
- package/src/components/shared/doc-search/doc-search-result-row.tsx +2 -2
- package/src/components/shared/legal-document/legal-document-page.tsx +5 -5
- package/src/components/shared/onboarding/onboarding-step-card.tsx +1 -1
- package/src/components/shared/product-release/product-release-card-skeleton.tsx +3 -3
- package/src/components/shared/product-release/product-release-card.tsx +14 -14
- package/src/components/shared/product-release/release-detail-page.tsx +16 -16
- package/src/components/shared/roadmap/roadmap-grid.tsx +2 -2
- package/src/components/sidebar.tsx +764 -0
- package/src/components/smooth-accordion.tsx +1 -1
- package/src/components/social-icon-row.tsx +1 -1
- package/src/components/sonner.tsx +5 -5
- package/src/components/square-avatar.tsx +61 -0
- package/src/components/steps.tsx +3 -3
- package/src/components/table.tsx +72 -0
- package/src/components/tabs.tsx +65 -0
- package/src/components/tickets/help-center-create-form.tsx +1 -1
- package/src/components/tickets/help-center-list.tsx +1 -1
- package/src/components/tickets/ticket-center.tsx +2 -2
- package/src/components/tickets/ticket-detail-drawer.tsx +5 -5
- package/src/components/tickets/ticket-open-form.tsx +6 -6
- package/src/components/toggle.tsx +45 -0
- package/src/components/ui/.title-content-block.md +1 -1
- package/src/components/ui/accordion.tsx +2 -2
- package/src/components/ui/actions-menu.tsx +1 -1
- package/src/components/ui/alert-dialog.tsx +3 -3
- package/src/components/ui/alert.tsx +2 -2
- package/src/components/ui/allowed-domains-input.tsx +3 -3
- package/src/components/ui/autocomplete.tsx +3 -3
- package/src/components/ui/badge.tsx +2 -2
- package/src/components/ui/brand-association-card.tsx +2 -2
- package/src/components/ui/breadcrumb.tsx +3 -3
- package/src/components/ui/bullet-list.tsx +2 -2
- package/src/components/ui/button/button.tsx +1 -1
- package/src/components/ui/card.tsx +4 -4
- package/src/components/ui/checkbox-with-description.tsx +1 -1
- package/src/components/ui/chevron-button.tsx +1 -1
- package/src/components/ui/content-loader.tsx +16 -16
- package/src/components/ui/cursor-pagination.tsx +1 -1
- package/src/components/ui/date-picker.tsx +2 -2
- package/src/components/ui/device-card-compact.tsx +2 -2
- package/src/components/ui/device-card.tsx +3 -3
- package/src/components/ui/dialog.tsx +3 -3
- package/src/components/ui/drawer.tsx +4 -4
- package/src/components/ui/dropdown-menu.tsx +6 -6
- package/src/components/ui/error-state.tsx +9 -9
- package/src/components/ui/fade-preview.tsx +1 -1
- package/src/components/ui/field-wrapper.tsx +1 -1
- package/src/components/ui/file-manager/file-manager-breadcrumb.tsx +2 -2
- package/src/components/ui/file-manager/file-manager-empty.tsx +3 -3
- package/src/components/ui/file-manager/file-manager-skeleton.tsx +4 -4
- package/src/components/ui/file-manager/file-manager-table-row.tsx +7 -7
- package/src/components/ui/file-manager/file-manager-table.tsx +8 -8
- package/src/components/ui/file-upload.tsx +9 -9
- package/src/components/ui/filter-pill-row.tsx +1 -1
- package/src/components/ui/floating-tooltip.tsx +1 -1
- package/src/components/ui/highlight-card.tsx +1 -1
- package/src/components/ui/hover-dropdown.tsx +1 -1
- package/src/components/ui/image-gallery-modal.tsx +1 -1
- package/src/components/ui/info-row.tsx +1 -1
- package/src/components/ui/input.tsx +1 -1
- package/src/components/ui/label.tsx +5 -5
- package/src/components/ui/markdown-editor.tsx +5 -4
- package/src/components/ui/menubar.tsx +7 -7
- package/src/components/ui/modal-v2.tsx +1 -1
- package/src/components/ui/modal.tsx +1 -1
- package/src/components/ui/more-actions-menu.tsx +1 -1
- package/src/components/ui/navigation-menu.tsx +1 -1
- package/src/components/ui/organization-card.tsx +8 -8
- package/src/components/ui/page-loader.tsx +6 -6
- package/src/components/ui/phone-input.tsx +1 -1
- package/src/components/ui/progress-bar.tsx +5 -5
- package/src/components/ui/query-report-table/.query-report-table-header.md +1 -1
- package/src/components/ui/query-report-table/query-report-table-header.tsx +1 -1
- package/src/components/ui/query-report-table/query-report-table-row.tsx +2 -2
- package/src/components/ui/query-report-table/query-report-table.tsx +1 -1
- package/src/components/ui/release-changelog-section.tsx +2 -2
- package/src/components/ui/rich-markdown-renderer.tsx +6 -6
- package/src/components/ui/search-input.tsx +7 -7
- package/src/components/ui/select.tsx +1 -1
- package/src/components/ui/service-card.tsx +4 -4
- package/src/components/ui/sheet.tsx +3 -3
- package/src/components/ui/simple-markdown-renderer.tsx +4 -4
- package/src/components/ui/square-avatar.tsx +5 -9
- package/src/components/ui/status-badge.tsx +11 -11
- package/src/components/ui/status-indicator.tsx +6 -6
- package/src/components/ui/tab-content.tsx +1 -1
- package/src/components/ui/tab-navigation.tsx +2 -2
- package/src/components/ui/table/table-column-filter-dropdown.tsx +1 -1
- package/src/components/ui/table/table-description-cell.tsx +1 -1
- package/src/components/ui/table/table-timestamp-cell.tsx +1 -1
- package/src/components/ui/table/table.tsx +2 -2
- package/src/components/ui/tabs.tsx +1 -1
- package/src/components/ui/tag-search-input.tsx +1 -1
- package/src/components/ui/tag.tsx +23 -23
- package/src/components/ui/tags-input.tsx +2 -2
- package/src/components/ui/ticket-status-tag.tsx +1 -1
- package/src/components/ui/toaster.tsx +8 -8
- package/src/components/ui/toggle.tsx +1 -1
- package/src/components/ui/tooltip.tsx +1 -1
- package/src/components/user-display.tsx +6 -12
- package/src/components/user-summary-stub.tsx +4 -4
- package/src/components/vendor-display-button.tsx +2 -2
- package/src/components/vendor-icon.tsx +1 -1
- package/src/components/vendor-tag.tsx +10 -9
- package/src/components/yes-no-display.tsx +3 -3
- package/src/styles/ods-colors.css +0 -2
- package/tailwind.config.ts +4 -49
- package/dist/chunk-2BTDPDME.js.map +0 -1
- package/dist/chunk-63TSTDME.js.map +0 -1
- package/dist/chunk-6CITW5BD.js.map +0 -1
- package/dist/chunk-DUQQEQ7G.cjs.map +0 -1
- package/dist/chunk-FPE3SQ5D.js.map +0 -1
- package/dist/chunk-IAZ5AN2E.js.map +0 -1
- package/dist/chunk-IPEIOR77.cjs.map +0 -1
- package/dist/chunk-IZ6A6K6N.cjs.map +0 -1
- package/dist/chunk-JNC4LVD6.cjs.map +0 -1
- package/dist/chunk-JOH5D76X.cjs.map +0 -1
- package/dist/chunk-JYI4R25Q.js.map +0 -1
- package/dist/chunk-KUXGQ2FQ.cjs.map +0 -1
- package/dist/chunk-LUKRPHEW.cjs.map +0 -1
- package/dist/chunk-PYR4LVAF.cjs.map +0 -1
- package/dist/chunk-QAG357PE.js.map +0 -1
- package/dist/chunk-QO6MCQYE.cjs.map +0 -1
- package/dist/chunk-SM26C2L7.js.map +0 -1
- package/dist/chunk-W3JZXLJ2.js.map +0 -1
- package/dist/chunk-XMCVUYKC.cjs.map +0 -1
- package/dist/chunk-Y3NFB6HR.js.map +0 -1
- package/dist/chunk-YZJUHEPZ.js.map +0 -1
- package/dist/chunk-ZQYFDYWV.js.map +0 -1
- /package/dist/{chunk-7KNOHGMI.js.map → chunk-PEIR7D25.js.map} +0 -0
- /package/dist/{chunk-7KDR5P23.js.map → chunk-QXYOGJQJ.js.map} +0 -0
|
@@ -41,7 +41,7 @@ export function HighlightCard({
|
|
|
41
41
|
width: `${desktopWidth}px`
|
|
42
42
|
}}
|
|
43
43
|
/>
|
|
44
|
-
<h3 className="text-
|
|
44
|
+
<h3 className="font-['Azeret_Mono'] font-semibold text-[24px] md:text-[28px] lg:text-[32px] leading-[1.25] tracking-[-0.64px] text-ods-text-primary relative z-10">
|
|
45
45
|
Your{' '}
|
|
46
46
|
<span style={{ color: item.categoryColor }}>
|
|
47
47
|
{item.category}
|
|
@@ -190,7 +190,7 @@ export function HoverDropdown({
|
|
|
190
190
|
// occupies the left expanding region; the optional secondary
|
|
191
191
|
// action ("Ask") sits at the right as a sibling icon-button so
|
|
192
192
|
// its click is independent of the primary navigation.
|
|
193
|
-
const rowClass = 'group flex w-full items-center gap-1.5 pl-2 pr-1 py-1.5 rounded text-
|
|
193
|
+
const rowClass = 'group flex w-full items-center gap-1.5 pl-2 pr-1 py-1.5 rounded text-[11px] text-ods-text-secondary hover:bg-ods-accent/10 transition-colors text-left'
|
|
194
194
|
const primaryClass = 'flex flex-1 items-center gap-1.5 min-w-0 hover:text-ods-accent cursor-pointer no-underline'
|
|
195
195
|
|
|
196
196
|
const secondary = item.secondaryAction ? (
|
|
@@ -147,7 +147,7 @@ export function ImageGalleryModal({
|
|
|
147
147
|
|
|
148
148
|
{/* Image Counter */}
|
|
149
149
|
{images.length > 1 && (
|
|
150
|
-
<div className="absolute bottom-4 left-1/2 -translate-x-1/2 z-[10000] px-4 py-2 rounded-full bg-black/50 text-white text-
|
|
150
|
+
<div className="absolute bottom-4 left-1/2 -translate-x-1/2 z-[10000] px-4 py-2 rounded-full bg-black/50 text-white text-sm">
|
|
151
151
|
{selectedImageIndex + 1} / {images.length}
|
|
152
152
|
</div>
|
|
153
153
|
)}
|
|
@@ -12,7 +12,7 @@ export function InfoRow({ label, value, icon }: InfoRowProps) {
|
|
|
12
12
|
<div className="text-h4 text-ods-text-primary overflow-hidden text-ellipsis whitespace-nowrap">
|
|
13
13
|
{label}
|
|
14
14
|
</div>
|
|
15
|
-
<div className="flex-1 bg-
|
|
15
|
+
<div className="flex-1 bg-[#3a3a3a] h-px min-h-px min-w-px" />
|
|
16
16
|
<div className="text-h4 text-ods-text-primary overflow-hidden text-ellipsis whitespace-nowrap flex items-center gap-1">
|
|
17
17
|
{value}
|
|
18
18
|
{icon}
|
|
@@ -26,7 +26,7 @@ export interface InputProps extends React.InputHTMLAttributes<HTMLInputElement>
|
|
|
26
26
|
|
|
27
27
|
const invalidBorderClasses = {
|
|
28
28
|
error: "border-ods-error hover:border-ods-error has-[:focus]:border-ods-error",
|
|
29
|
-
warning: "!border-ods-warning hover:!border-ods-warning has-[:focus]:!border-ods-warning",
|
|
29
|
+
warning: "!border-[var(--ods-attention-yellow-warning)] hover:!border-[var(--ods-attention-yellow-warning)] has-[:focus]:!border-[var(--ods-attention-yellow-warning)]",
|
|
30
30
|
} as const;
|
|
31
31
|
|
|
32
32
|
const Input = React.forwardRef<HTMLInputElement, InputProps>(
|
|
@@ -7,14 +7,14 @@ import { cva, type VariantProps } from "class-variance-authority"
|
|
|
7
7
|
import { cn } from "../../utils/cn"
|
|
8
8
|
|
|
9
9
|
const labelVariants = cva(
|
|
10
|
-
"block text-ods-text-primary",
|
|
10
|
+
"block font-body font-medium text-ods-text-primary leading-6",
|
|
11
11
|
{
|
|
12
12
|
variants: {
|
|
13
13
|
variant: {
|
|
14
|
-
default: "text-
|
|
15
|
-
small: "text-
|
|
16
|
-
medium: "text-
|
|
17
|
-
large: "text-
|
|
14
|
+
default: "text-[18px]",
|
|
15
|
+
small: "text-[14px]",
|
|
16
|
+
medium: "text-[16px]",
|
|
17
|
+
large: "text-[20px]"
|
|
18
18
|
},
|
|
19
19
|
spacing: {
|
|
20
20
|
default: "mb-1",
|
|
@@ -12,8 +12,8 @@ const MARKDOWN_EDITOR_STYLE_ID = "ods-markdown-editor-styles"
|
|
|
12
12
|
const mdEditorCSS = `
|
|
13
13
|
:root { --md-editor-text-color: var(--color-text-primary) !important; }
|
|
14
14
|
body .w-md-editor { background-color: var(--color-bg) !important; border: 1px solid var(--ods-system-greys-soft-grey) !important; border-radius: 6px !important; --md-editor-text-color: var(--color-text-primary) !important; --md-editor-box-shadow-color: transparent !important; box-shadow: none !important; }
|
|
15
|
-
body .w-md-editor-area, body .w-md-editor-input, body .w-md-editor-text, body .w-md-editor-text-pre, body .w-md-editor-text-input, body .w-md-editor-text-textarea { background-color: var(--color-bg-card) !important; color: var(--color-text-primary) !important; font-family:
|
|
16
|
-
body .w-md-editor-text-textarea::placeholder { color: var(--color-text-secondary) !important; font-family:
|
|
15
|
+
body .w-md-editor-area, body .w-md-editor-input, body .w-md-editor-text, body .w-md-editor-text-pre, body .w-md-editor-text-input, body .w-md-editor-text-textarea { background-color: var(--color-bg-card) !important; color: var(--color-text-primary) !important; font-family: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important; font-size: 18px !important; font-weight: 500 !important; line-height: 24px !important; padding: 16px !important; }
|
|
16
|
+
body .w-md-editor-text-textarea::placeholder { color: var(--color-text-secondary) !important; font-family: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important; font-size: 18px !important; font-weight: 500 !important; }
|
|
17
17
|
body .w-md-editor-text .token, body .w-md-editor-text-pre .token, body .w-md-editor-text-textarea, body .w-md-editor-text-input { color: var(--color-text-primary) !important; }
|
|
18
18
|
body .w-md-editor-text-pre *, body .w-md-editor-text-textarea *, body .w-md-editor-text-input *, body .w-md-editor-text * { color: var(--color-text-primary) !important; }
|
|
19
19
|
body .w-md-editor-text-pre .token.title, body .w-md-editor-text-pre .token.bold, body .w-md-editor-text-pre .token.code, body .w-md-editor-text-pre .token.string, body .w-md-editor-text-pre .token.keyword { color: var(--color-text-primary) !important; }
|
|
@@ -331,7 +331,8 @@ export function MarkdownEditor({
|
|
|
331
331
|
placeholder,
|
|
332
332
|
disabled,
|
|
333
333
|
style: {
|
|
334
|
-
fontFamily:
|
|
334
|
+
fontFamily:
|
|
335
|
+
'DM Sans, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',
|
|
335
336
|
fontSize: "18px",
|
|
336
337
|
fontWeight: 500,
|
|
337
338
|
lineHeight: "24px",
|
|
@@ -344,7 +345,7 @@ export function MarkdownEditor({
|
|
|
344
345
|
)}
|
|
345
346
|
|
|
346
347
|
{uploadProgress && (
|
|
347
|
-
<p className="text-
|
|
348
|
+
<p className="text-xs text-ods-text-secondary mt-1">{uploadProgress}</p>
|
|
348
349
|
)}
|
|
349
350
|
|
|
350
351
|
<MarkdownEditorStyles />
|
|
@@ -38,7 +38,7 @@ const MenubarTrigger = React.forwardRef<
|
|
|
38
38
|
<MenubarPrimitive.Trigger
|
|
39
39
|
ref={ref}
|
|
40
40
|
className={cn(
|
|
41
|
-
"flex cursor-default select-none items-center rounded-sm px-3 py-1.5 text-
|
|
41
|
+
"flex cursor-default select-none items-center rounded-sm px-3 py-1.5 text-sm font-medium outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",
|
|
42
42
|
className
|
|
43
43
|
)}
|
|
44
44
|
{...props}
|
|
@@ -55,7 +55,7 @@ const MenubarSubTrigger = React.forwardRef<
|
|
|
55
55
|
<MenubarPrimitive.SubTrigger
|
|
56
56
|
ref={ref}
|
|
57
57
|
className={cn(
|
|
58
|
-
"flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-
|
|
58
|
+
"flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",
|
|
59
59
|
inset && "pl-8",
|
|
60
60
|
className
|
|
61
61
|
)}
|
|
@@ -116,7 +116,7 @@ const MenubarItem = React.forwardRef<
|
|
|
116
116
|
<MenubarPrimitive.Item
|
|
117
117
|
ref={ref}
|
|
118
118
|
className={cn(
|
|
119
|
-
"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-
|
|
119
|
+
"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
120
120
|
inset && "pl-8",
|
|
121
121
|
className
|
|
122
122
|
)}
|
|
@@ -132,7 +132,7 @@ const MenubarCheckboxItem = React.forwardRef<
|
|
|
132
132
|
<MenubarPrimitive.CheckboxItem
|
|
133
133
|
ref={ref}
|
|
134
134
|
className={cn(
|
|
135
|
-
"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-
|
|
135
|
+
"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
136
136
|
className
|
|
137
137
|
)}
|
|
138
138
|
checked={checked}
|
|
@@ -155,7 +155,7 @@ const MenubarRadioItem = React.forwardRef<
|
|
|
155
155
|
<MenubarPrimitive.RadioItem
|
|
156
156
|
ref={ref}
|
|
157
157
|
className={cn(
|
|
158
|
-
"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-
|
|
158
|
+
"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
159
159
|
className
|
|
160
160
|
)}
|
|
161
161
|
{...props}
|
|
@@ -179,7 +179,7 @@ const MenubarLabel = React.forwardRef<
|
|
|
179
179
|
<MenubarPrimitive.Label
|
|
180
180
|
ref={ref}
|
|
181
181
|
className={cn(
|
|
182
|
-
"px-2 py-1.5 text-
|
|
182
|
+
"px-2 py-1.5 text-sm font-semibold",
|
|
183
183
|
inset && "pl-8",
|
|
184
184
|
className
|
|
185
185
|
)}
|
|
@@ -207,7 +207,7 @@ const MenubarShortcut = ({
|
|
|
207
207
|
return (
|
|
208
208
|
<span
|
|
209
209
|
className={cn(
|
|
210
|
-
"ml-auto text-
|
|
210
|
+
"ml-auto text-xs tracking-widest text-muted-foreground",
|
|
211
211
|
className
|
|
212
212
|
)}
|
|
213
213
|
{...props}
|
|
@@ -80,7 +80,7 @@ const Modal = React.forwardRef<HTMLDivElement, ModalProps>(
|
|
|
80
80
|
<div
|
|
81
81
|
data-state={state}
|
|
82
82
|
className={cn(
|
|
83
|
-
"absolute inset-0 bg-
|
|
83
|
+
"absolute inset-0 bg-black/50 backdrop-blur-[2px] md:backdrop-blur-none",
|
|
84
84
|
"duration-200 fill-mode-forwards",
|
|
85
85
|
"data-[state=open]:animate-in data-[state=open]:fade-in-0",
|
|
86
86
|
"data-[state=closed]:animate-out data-[state=closed]:fade-out-0",
|
|
@@ -58,7 +58,7 @@ const Modal = React.forwardRef<HTMLDivElement, ModalProps>(
|
|
|
58
58
|
return (
|
|
59
59
|
<div className="fixed inset-0 z-[1300] flex items-center justify-center">
|
|
60
60
|
<div
|
|
61
|
-
className="absolute inset-0 bg-
|
|
61
|
+
className="absolute inset-0 bg-black/50"
|
|
62
62
|
onClick={onClose}
|
|
63
63
|
aria-hidden="true"
|
|
64
64
|
/>
|
|
@@ -43,7 +43,7 @@ NavigationMenuList.displayName = NavigationMenuPrimitive.List.displayName
|
|
|
43
43
|
const NavigationMenuItem = NavigationMenuPrimitive.Item
|
|
44
44
|
|
|
45
45
|
const navigationMenuTriggerStyle = cva(
|
|
46
|
-
"group inline-flex h-10 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-
|
|
46
|
+
"group inline-flex h-10 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50"
|
|
47
47
|
)
|
|
48
48
|
|
|
49
49
|
const NavigationMenuTrigger = React.forwardRef<
|
|
@@ -73,7 +73,7 @@ export function OrganizationCard({
|
|
|
73
73
|
{deviceCount !== undefined && (
|
|
74
74
|
<div className="absolute top-4 right-4 flex items-center gap-2 shrink-0">
|
|
75
75
|
<Monitor className="w-4 h-4 text-ods-text-secondary" />
|
|
76
|
-
<span className="text-
|
|
76
|
+
<span className="font-['DM_Sans'] font-medium text-[14px] leading-[20px] text-ods-text-secondary">
|
|
77
77
|
{deviceCount.toLocaleString()} devices
|
|
78
78
|
</span>
|
|
79
79
|
</div>
|
|
@@ -85,8 +85,8 @@ export function OrganizationCard({
|
|
|
85
85
|
className={cn(
|
|
86
86
|
"absolute top-2 right-2 h-8 w-8 rounded flex items-center justify-center z-10 transition-colors",
|
|
87
87
|
actionButton.variant === 'primary'
|
|
88
|
-
? "bg-ods-accent text-
|
|
89
|
-
: "text-ods-text-secondary hover:text-
|
|
88
|
+
? "bg-ods-accent text-black hover:bg-ods-accent-hover"
|
|
89
|
+
: "text-ods-text-secondary hover:text-red-500 hover:bg-red-100/10"
|
|
90
90
|
)}
|
|
91
91
|
onClick={handleActionClick}
|
|
92
92
|
disabled={actionButton.disabled}
|
|
@@ -104,10 +104,10 @@ export function OrganizationCard({
|
|
|
104
104
|
/>
|
|
105
105
|
|
|
106
106
|
<div className="flex-1 flex flex-col justify-center py-2 min-w-0">
|
|
107
|
-
<h3 className="text-
|
|
107
|
+
<h3 className="font-['DM_Sans'] font-bold text-lg leading-[1.33] tracking-[-0.02em] text-ods-text-primary transition-colors truncate" title={organization.name}>
|
|
108
108
|
{organization.name}
|
|
109
109
|
</h3>
|
|
110
|
-
<p className="text-
|
|
110
|
+
<p className="font-['DM_Sans'] font-medium text-sm leading-[1.43] text-ods-text-secondary truncate" title={organization.industry || organization.tier || organization.websiteUrl || "Organization"}>
|
|
111
111
|
{organization.industry || organization.tier || organization.websiteUrl || "Organization"}
|
|
112
112
|
</p>
|
|
113
113
|
</div>
|
|
@@ -116,7 +116,7 @@ export function OrganizationCard({
|
|
|
116
116
|
{/* Description */}
|
|
117
117
|
{organization.description && (
|
|
118
118
|
<div className="w-full h-12 overflow-hidden">
|
|
119
|
-
<p className="text-
|
|
119
|
+
<p className="font-['DM_Sans'] font-medium text-lg leading-[1.33] text-ods-text-primary line-clamp-2" title={organization.description}>
|
|
120
120
|
{organization.description}
|
|
121
121
|
</p>
|
|
122
122
|
</div>
|
|
@@ -131,11 +131,11 @@ export function OrganizationCard({
|
|
|
131
131
|
{footerStats.map((stat, index) => (
|
|
132
132
|
<div key={index} className="flex items-center gap-1 flex-shrink-0">
|
|
133
133
|
{stat.icon}
|
|
134
|
-
<span className="text-
|
|
134
|
+
<span className="font-['DM_Sans'] font-medium text-base text-ods-text-primary">
|
|
135
135
|
{typeof stat.value === 'number' ? stat.value.toLocaleString() : stat.value}
|
|
136
136
|
</span>
|
|
137
137
|
{stat.label && (
|
|
138
|
-
<span className="text-
|
|
138
|
+
<span className="font-['DM_Sans'] font-medium text-sm text-ods-text-secondary">
|
|
139
139
|
{stat.label}
|
|
140
140
|
</span>
|
|
141
141
|
)}
|
|
@@ -46,15 +46,15 @@ export function PageLoader({
|
|
|
46
46
|
<OpenFrameLogo
|
|
47
47
|
className="w-6 h-6 animate-pulse text-ods-accent"
|
|
48
48
|
upperPathColor="currentColor"
|
|
49
|
-
lowerPathColor="var(--
|
|
49
|
+
lowerPathColor="var(--ods-text-tertiary)"
|
|
50
50
|
/>
|
|
51
51
|
</div>
|
|
52
52
|
)}
|
|
53
53
|
<div className="flex flex-col items-center text-center">
|
|
54
|
-
<p className="text-
|
|
54
|
+
<p className="text-lg font-medium text-ods-text-tertiary leading-6">
|
|
55
55
|
{title}
|
|
56
56
|
</p>
|
|
57
|
-
<p className="text-
|
|
57
|
+
<p className="text-sm font-medium text-ods-text-tertiary opacity-70 leading-5 mt-1">
|
|
58
58
|
{description}
|
|
59
59
|
</p>
|
|
60
60
|
</div>
|
|
@@ -85,16 +85,16 @@ export function CompactPageLoader({
|
|
|
85
85
|
<OpenFrameLogo
|
|
86
86
|
className="w-6 h-6 animate-pulse text-ods-accent"
|
|
87
87
|
upperPathColor="currentColor"
|
|
88
|
-
lowerPathColor="var(--
|
|
88
|
+
lowerPathColor="var(--ods-text-tertiary)"
|
|
89
89
|
/>
|
|
90
90
|
</div>
|
|
91
91
|
)}
|
|
92
92
|
<div className="flex flex-col items-center text-center">
|
|
93
|
-
<p className="text-
|
|
93
|
+
<p className="text-base font-medium text-ods-text-tertiary">
|
|
94
94
|
{title}
|
|
95
95
|
</p>
|
|
96
96
|
{description && (
|
|
97
|
-
<p className="text-
|
|
97
|
+
<p className="text-sm text-ods-text-tertiary opacity-70 mt-1">
|
|
98
98
|
{description}
|
|
99
99
|
</p>
|
|
100
100
|
)}
|
|
@@ -114,7 +114,7 @@ export function PhoneInput({
|
|
|
114
114
|
disabled={disabled}
|
|
115
115
|
placeholder={placeholder}
|
|
116
116
|
onKeyDown={onKeyDown}
|
|
117
|
-
className={`min-w-0 flex-1 ${isInvalid ? '!border-ods-warning' : ''}`}
|
|
117
|
+
className={`min-w-0 flex-1 ${isInvalid ? '!border-[var(--ods-attention-yellow-warning)]' : ''}`}
|
|
118
118
|
/>
|
|
119
119
|
</div>
|
|
120
120
|
)
|
|
@@ -56,15 +56,15 @@ export const ProgressBar: React.FC<ProgressBarProps> = ({
|
|
|
56
56
|
if (inverted) {
|
|
57
57
|
// Inverted: high values = good (green), low values = bad (red)
|
|
58
58
|
// For battery health: 100% = green, <30% = red
|
|
59
|
-
if (progress >= criticalThreshold) return "var(--
|
|
59
|
+
if (progress >= criticalThreshold) return "var(--ods-attention-green-success)"; // high = green
|
|
60
60
|
if (progress >= warningThreshold) return "var(--color-warning)"; // medium = warning
|
|
61
|
-
return "var(--
|
|
61
|
+
return "var(--ods-attention-red-error)"; // low = red
|
|
62
62
|
} else {
|
|
63
63
|
// Normal: high values = bad (red), low values = good (green)
|
|
64
64
|
// For disk usage: 100% = red, <70% = green
|
|
65
|
-
if (progress >= criticalThreshold) return "var(--
|
|
65
|
+
if (progress >= criticalThreshold) return "var(--ods-attention-red-error)"; // critical red
|
|
66
66
|
if (progress >= warningThreshold) return "var(--color-warning)"; // warning yellow
|
|
67
|
-
return "var(--
|
|
67
|
+
return "var(--ods-attention-green-success)"; // base green
|
|
68
68
|
}
|
|
69
69
|
};
|
|
70
70
|
|
|
@@ -84,7 +84,7 @@ export const ProgressBar: React.FC<ProgressBarProps> = ({
|
|
|
84
84
|
backgroundColor:
|
|
85
85
|
i < Math.round((progress / 100) * segmentCount)
|
|
86
86
|
? getColor()
|
|
87
|
-
: "var(--
|
|
87
|
+
: "var(--ods-system-greys-soft-grey-action)", // unfilled segments
|
|
88
88
|
}}
|
|
89
89
|
/>
|
|
90
90
|
))}
|
|
@@ -58,7 +58,7 @@ function TruncatedHeaderCell({ value, width }: { value: string; width: number })
|
|
|
58
58
|
>
|
|
59
59
|
<div
|
|
60
60
|
ref={textRef}
|
|
61
|
-
className="text-
|
|
61
|
+
className="font-mono font-medium text-[14px] leading-[20px] text-ods-text-secondary uppercase tracking-[-0.28px] truncate"
|
|
62
62
|
>
|
|
63
63
|
{value}
|
|
64
64
|
</div>
|
|
@@ -45,8 +45,8 @@ export function QueryReportTableRow({
|
|
|
45
45
|
className={cn(
|
|
46
46
|
'text-ods-text-primary',
|
|
47
47
|
isCompact
|
|
48
|
-
? 'text-
|
|
49
|
-
: 'text-
|
|
48
|
+
? 'font-sans font-normal text-[14px] leading-[20px]'
|
|
49
|
+
: 'font-sans font-medium text-[18px] leading-[24px]'
|
|
50
50
|
)}
|
|
51
51
|
value={displayValue}
|
|
52
52
|
/>
|
|
@@ -62,7 +62,7 @@ export function QueryReportTable({
|
|
|
62
62
|
{/* Title bar — hidden in compact mode and when empty */}
|
|
63
63
|
{!isCompact && (title || headerActions || (showExport && data.length > 0)) && (
|
|
64
64
|
<div className="flex items-end justify-between pt-6">
|
|
65
|
-
<h2 className="text-
|
|
65
|
+
<h2 className="font-mono font-semibold text-[32px] leading-[40px] text-ods-text-primary">
|
|
66
66
|
{title}
|
|
67
67
|
</h2>
|
|
68
68
|
<div className="flex items-center gap-3">
|
|
@@ -72,7 +72,7 @@ export function ReleaseChangelogSection({
|
|
|
72
72
|
onClick={() => setCollapsed(!collapsed)}
|
|
73
73
|
className="flex items-center justify-between w-full cursor-pointer"
|
|
74
74
|
>
|
|
75
|
-
<h2 className={`flex items-center gap-2 text-
|
|
75
|
+
<h2 className={`flex items-center gap-2 text-2xl font-bold ${isBreaking ? 'text-red-500' : 'text-ods-text-primary'}`}>
|
|
76
76
|
{icon}
|
|
77
77
|
{title}
|
|
78
78
|
<Badge variant="secondary" className="ml-2">{entries.length}</Badge>
|
|
@@ -84,7 +84,7 @@ export function ReleaseChangelogSection({
|
|
|
84
84
|
/>
|
|
85
85
|
</button>
|
|
86
86
|
) : (
|
|
87
|
-
<h2 className={`flex items-center gap-2 text-
|
|
87
|
+
<h2 className={`flex items-center gap-2 text-2xl font-bold ${isBreaking ? 'text-red-500' : 'text-ods-text-primary'}`}>
|
|
88
88
|
{icon}
|
|
89
89
|
{title}
|
|
90
90
|
<Badge variant="secondary" className="ml-2">{entries.length}</Badge>
|
|
@@ -713,7 +713,7 @@ const RichMarkdownInner: React.FC<InnerProps> = ({
|
|
|
713
713
|
<div className={`code-block-container border rounded-lg my-6 overflow-hidden ${
|
|
714
714
|
isDarkMode
|
|
715
715
|
? 'bg-ods-card border-ods-border'
|
|
716
|
-
: 'bg-ods-bg-
|
|
716
|
+
: 'bg-ods-bg-secondary border-ods-border'
|
|
717
717
|
}`}>
|
|
718
718
|
<div className={`code-header border-b px-4 py-2 ${
|
|
719
719
|
isDarkMode
|
|
@@ -734,7 +734,7 @@ const RichMarkdownInner: React.FC<InnerProps> = ({
|
|
|
734
734
|
fontSize: '14px',
|
|
735
735
|
fontFamily: "'JetBrains Mono', 'SF Mono', Consolas, monospace",
|
|
736
736
|
background: 'transparent',
|
|
737
|
-
color: isDarkMode ? 'var(--
|
|
737
|
+
color: isDarkMode ? 'var(--ods-text-primary)' : 'var(--ods-text-primary)'
|
|
738
738
|
}}
|
|
739
739
|
{...props}
|
|
740
740
|
>
|
|
@@ -751,7 +751,7 @@ const RichMarkdownInner: React.FC<InnerProps> = ({
|
|
|
751
751
|
className={`font-mono text-[0.9em] px-1.5 py-0.5 rounded border ${
|
|
752
752
|
isDarkMode
|
|
753
753
|
? 'bg-ods-card text-ods-text-primary border-ods-border'
|
|
754
|
-
: 'bg-ods-bg-
|
|
754
|
+
: 'bg-ods-bg-secondary text-ods-text-primary border-ods-border'
|
|
755
755
|
}`}
|
|
756
756
|
{...props}
|
|
757
757
|
>
|
|
@@ -821,7 +821,7 @@ const RichMarkdownInner: React.FC<InnerProps> = ({
|
|
|
821
821
|
|
|
822
822
|
// Style blockquotes
|
|
823
823
|
blockquote: ({ children }: any) => (
|
|
824
|
-
<blockquote className={`border-l-4 border-
|
|
824
|
+
<blockquote className={`border-l-4 border-[#FFC008] ml-0 pl-6 my-8 py-4 rounded-r-lg ${
|
|
825
825
|
isDarkMode
|
|
826
826
|
? 'bg-[#1F1F1F]'
|
|
827
827
|
: 'bg-[#F8F9FA]'
|
|
@@ -1013,7 +1013,7 @@ const RichMarkdownInner: React.FC<InnerProps> = ({
|
|
|
1013
1013
|
return (
|
|
1014
1014
|
<span className="text-ods-accent cursor-not-allowed">
|
|
1015
1015
|
{children}
|
|
1016
|
-
<sup className="ml-1 text-xs font-bold text-
|
|
1016
|
+
<sup className="ml-1 text-xs font-bold text-red-500">[BROKEN]</sup>
|
|
1017
1017
|
</span>
|
|
1018
1018
|
);
|
|
1019
1019
|
}
|
|
@@ -1136,7 +1136,7 @@ const RichMarkdownInner: React.FC<InnerProps> = ({
|
|
|
1136
1136
|
</div>
|
|
1137
1137
|
),
|
|
1138
1138
|
thead: ({ children }: any) => (
|
|
1139
|
-
<thead className={isDarkMode ? 'bg-ods-bg-
|
|
1139
|
+
<thead className={isDarkMode ? 'bg-ods-bg-secondary' : 'bg-ods-bg-secondary'}>
|
|
1140
1140
|
{children}
|
|
1141
1141
|
</thead>
|
|
1142
1142
|
),
|
|
@@ -326,19 +326,19 @@ export function SearchInput({
|
|
|
326
326
|
)}
|
|
327
327
|
<div className="min-w-0 flex-1">
|
|
328
328
|
<div className={cn(
|
|
329
|
-
"text-
|
|
329
|
+
"text-sm font-medium leading-5 truncate",
|
|
330
330
|
isHighlighted ? "text-ods-accent" : "text-ods-text-primary"
|
|
331
331
|
)} title={result.title}>
|
|
332
332
|
{result.title}
|
|
333
333
|
</div>
|
|
334
334
|
{result.description && (
|
|
335
|
-
<div className="text-
|
|
335
|
+
<div className="text-xs leading-4 text-ods-text-secondary truncate mt-0.5" title={result.description}>
|
|
336
336
|
{result.description}
|
|
337
337
|
</div>
|
|
338
338
|
)}
|
|
339
339
|
</div>
|
|
340
340
|
{result.type && (
|
|
341
|
-
<span className="flex-shrink-0 text-
|
|
341
|
+
<span className="flex-shrink-0 text-[11px] font-medium text-ods-text-muted uppercase tracking-wider">
|
|
342
342
|
{result.type}
|
|
343
343
|
</span>
|
|
344
344
|
)}
|
|
@@ -370,7 +370,7 @@ export function SearchInput({
|
|
|
370
370
|
const renderDropdownContent = () => {
|
|
371
371
|
if (isLoading) {
|
|
372
372
|
return (
|
|
373
|
-
<div className="px-4 py-3 text-ods-text-secondary text-
|
|
373
|
+
<div className="px-4 py-3 text-ods-text-secondary text-[14px]">
|
|
374
374
|
Loading...
|
|
375
375
|
</div>
|
|
376
376
|
)
|
|
@@ -378,7 +378,7 @@ export function SearchInput({
|
|
|
378
378
|
|
|
379
379
|
if (flatResults.length === 0) {
|
|
380
380
|
return (
|
|
381
|
-
<div className="px-4 py-3 text-ods-text-secondary text-
|
|
381
|
+
<div className="px-4 py-3 text-ods-text-secondary text-[14px]">
|
|
382
382
|
{emptyResultsText}
|
|
383
383
|
</div>
|
|
384
384
|
)
|
|
@@ -388,7 +388,7 @@ export function SearchInput({
|
|
|
388
388
|
let globalIndex = 0
|
|
389
389
|
return Array.from(groups.entries()).map(([groupLabel, groupResults]) => (
|
|
390
390
|
<div key={groupLabel}>
|
|
391
|
-
<div className="px-4 py-2 text-
|
|
391
|
+
<div className="px-4 py-2 text-[12px] font-semibold text-ods-text-secondary uppercase tracking-wide bg-ods-bg">
|
|
392
392
|
{groupLabel}
|
|
393
393
|
</div>
|
|
394
394
|
{groupResults.map((result) => {
|
|
@@ -451,7 +451,7 @@ export function SearchInput({
|
|
|
451
451
|
className={cn(
|
|
452
452
|
"flex items-center h-8 px-2",
|
|
453
453
|
"bg-ods-card border border-ods-border rounded-[6px]",
|
|
454
|
-
"text-
|
|
454
|
+
"font-mono text-[14px] font-medium leading-5 text-ods-text-secondary uppercase tracking-[-0.28px]",
|
|
455
455
|
"hover:bg-ods-bg-hover transition-colors cursor-pointer",
|
|
456
456
|
)}
|
|
457
457
|
aria-label={`${hiddenCount} more selected filters`}
|
|
@@ -137,7 +137,7 @@ const SelectLabel = React.forwardRef<
|
|
|
137
137
|
>(({ className, ...props }, ref) => (
|
|
138
138
|
<SelectPrimitive.Label
|
|
139
139
|
ref={ref}
|
|
140
|
-
className={cn("py-1.5 pl-8 pr-2 text-
|
|
140
|
+
className={cn("py-1.5 pl-8 pr-2 text-sm font-semibold", className)}
|
|
141
141
|
{...props}
|
|
142
142
|
/>
|
|
143
143
|
))
|
|
@@ -61,14 +61,14 @@ export function ServiceCard({ title, subtitle, icon, tag, rows, className }: Ser
|
|
|
61
61
|
{resolvedIcon}
|
|
62
62
|
</div>
|
|
63
63
|
<div className="min-w-0">
|
|
64
|
-
<div className="text-
|
|
64
|
+
<div className="text-xl font-semibold text-ods-text-primary truncate" title={title}>{title}</div>
|
|
65
65
|
{subtitle && (
|
|
66
|
-
<div className="text-
|
|
66
|
+
<div className="text-sm text-ods-text-secondary truncate" title={subtitle}>{subtitle}</div>
|
|
67
67
|
)}
|
|
68
68
|
</div>
|
|
69
69
|
</div>
|
|
70
70
|
{tag && (
|
|
71
|
-
<div className="px-3 py-1 rounded-full bg-ods-bg text-ods-text-primary text-
|
|
71
|
+
<div className="px-3 py-1 rounded-full bg-ods-bg text-ods-text-primary text-xs font-semibold whitespace-nowrap self-start border border-ods-border">
|
|
72
72
|
{tag.label}
|
|
73
73
|
</div>
|
|
74
74
|
)}
|
|
@@ -101,7 +101,7 @@ function ServiceCardRowItem({ row }: { row: ServiceCardRow }) {
|
|
|
101
101
|
return (
|
|
102
102
|
<div className="flex items-center gap-3 min-w-0">
|
|
103
103
|
{row.label && (
|
|
104
|
-
<div className="w-20 md:w-24 shrink-0 text-
|
|
104
|
+
<div className="w-20 md:w-24 shrink-0 text-sm font-medium text-ods-text-primary">{row.label}</div>
|
|
105
105
|
)}
|
|
106
106
|
<div className={cn('flex-1 h-12 rounded-md border border-ods-border bg-ods-bg px-3 md:px-4 flex items-center justify-between min-w-0', row.monospace ? 'font-mono' : '')}>
|
|
107
107
|
<div className="truncate text-ods-text-primary min-w-0" title={typeof row.value === 'string' ? row.value : undefined}>{displayValue}</div>
|
|
@@ -21,7 +21,7 @@ const SheetOverlay = React.forwardRef<
|
|
|
21
21
|
>(({ className, ...props }, ref) => (
|
|
22
22
|
<SheetPrimitive.Overlay
|
|
23
23
|
className={cn(
|
|
24
|
-
"fixed inset-0 z-[9997] bg-
|
|
24
|
+
"fixed inset-0 z-[9997] bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
25
25
|
className
|
|
26
26
|
)}
|
|
27
27
|
{...props}
|
|
@@ -108,7 +108,7 @@ const SheetTitle = React.forwardRef<
|
|
|
108
108
|
>(({ className, ...props }, ref) => (
|
|
109
109
|
<SheetPrimitive.Title
|
|
110
110
|
ref={ref}
|
|
111
|
-
className={cn("text-
|
|
111
|
+
className={cn("text-lg font-semibold text-foreground", className)}
|
|
112
112
|
{...props}
|
|
113
113
|
/>
|
|
114
114
|
))
|
|
@@ -120,7 +120,7 @@ const SheetDescription = React.forwardRef<
|
|
|
120
120
|
>(({ className, ...props }, ref) => (
|
|
121
121
|
<SheetPrimitive.Description
|
|
122
122
|
ref={ref}
|
|
123
|
-
className={cn("text-
|
|
123
|
+
className={cn("text-sm text-muted-foreground", className)}
|
|
124
124
|
{...props}
|
|
125
125
|
/>
|
|
126
126
|
))
|
|
@@ -698,7 +698,7 @@ const SimpleMarkdownRendererImpl: React.FC<SimpleMarkdownRendererProps> = ({
|
|
|
698
698
|
style={{
|
|
699
699
|
fontFamily: "JetBrains Mono', 'SF Mono', Consolas, monospace",
|
|
700
700
|
background: 'transparent',
|
|
701
|
-
color: 'var(--
|
|
701
|
+
color: 'var(--ods-text-primary)',
|
|
702
702
|
}}
|
|
703
703
|
{...props}
|
|
704
704
|
>
|
|
@@ -724,7 +724,7 @@ const SimpleMarkdownRendererImpl: React.FC<SimpleMarkdownRendererProps> = ({
|
|
|
724
724
|
|
|
725
725
|
// --- blockquote ---
|
|
726
726
|
blockquote: ({ children }: any) => (
|
|
727
|
-
<blockquote className="border-l-4 border-ods-accent ml-0 pl-6 my-8 py-4 rounded-r-lg bg-ods-bg-
|
|
727
|
+
<blockquote className="border-l-4 border-ods-accent ml-0 pl-6 my-8 py-4 rounded-r-lg bg-ods-bg-secondary">
|
|
728
728
|
<div className={cn('font-sans leading-relaxed text-ods-text-secondary', textSizes.blockquote)}>
|
|
729
729
|
{children}
|
|
730
730
|
</div>
|
|
@@ -760,7 +760,7 @@ const SimpleMarkdownRendererImpl: React.FC<SimpleMarkdownRendererProps> = ({
|
|
|
760
760
|
return (
|
|
761
761
|
<span className="text-ods-accent cursor-not-allowed">
|
|
762
762
|
{children}
|
|
763
|
-
<sup className="ml-1 text-xs font-bold text-ods-error">[BROKEN]</sup>
|
|
763
|
+
<sup className="ml-1 text-xs font-bold text-ods-attention-red-error">[BROKEN]</sup>
|
|
764
764
|
</span>
|
|
765
765
|
);
|
|
766
766
|
}
|
|
@@ -898,7 +898,7 @@ const SimpleMarkdownRendererImpl: React.FC<SimpleMarkdownRendererProps> = ({
|
|
|
898
898
|
</div>
|
|
899
899
|
),
|
|
900
900
|
thead: ({ children }: any) => (
|
|
901
|
-
<thead className="bg-ods-bg-
|
|
901
|
+
<thead className="bg-ods-bg-secondary">{children}</thead>
|
|
902
902
|
),
|
|
903
903
|
th: ({ children }: any) => (
|
|
904
904
|
<th className={cn('px-2 md:px-4 py-3 text-left font-semibold text-ods-accent border-r last:border-r-0 break-words border-ods-border', textSizes.th)}>
|