@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
|
@@ -39,7 +39,7 @@ const buttonVariants = cva(
|
|
|
39
39
|
// mono-uppercase control style of "small" nor a heavier weight.
|
|
40
40
|
// Pinned h-6 across breakpoints (24px = the WCAG 2.5.8 target-size
|
|
41
41
|
// floor) with horizontal-dominant padding and a 14px glyph.
|
|
42
|
-
compact: "py-0 px-[var(--spacing-system-sf)]
|
|
42
|
+
compact: "py-0 px-[var(--spacing-system-sf)] font-body font-normal text-[13px] md:text-sm leading-snug h-6 [&_svg]:h-3.5 [&_svg]:w-3.5",
|
|
43
43
|
icon: "p-[var(--spacing-system-sf)] h-11 w-11 md:h-12 md:w-12 [&_svg]:h-4 [&_svg]:w-4 md:[&_svg]:h-6 md:[&_svg]:w-6",
|
|
44
44
|
// Quiet 32px icon target with a 16px glyph, fixed across breakpoints
|
|
45
45
|
// (Carbon ghost sm / Primer medium / shadcn icon-sm all pin 32px;
|
|
@@ -38,7 +38,7 @@ const CardTitle = React.forwardRef<
|
|
|
38
38
|
<div
|
|
39
39
|
ref={ref}
|
|
40
40
|
className={cn(
|
|
41
|
-
"text-
|
|
41
|
+
"text-2xl font-semibold leading-none tracking-tight",
|
|
42
42
|
className
|
|
43
43
|
)}
|
|
44
44
|
{...props}
|
|
@@ -52,7 +52,7 @@ const CardDescription = React.forwardRef<
|
|
|
52
52
|
>(({ className, ...props }, ref) => (
|
|
53
53
|
<div
|
|
54
54
|
ref={ref}
|
|
55
|
-
className={cn("text-
|
|
55
|
+
className={cn("text-sm text-muted-foreground", className)}
|
|
56
56
|
{...props}
|
|
57
57
|
/>
|
|
58
58
|
))
|
|
@@ -98,8 +98,8 @@ export function CardHorizontal({ icon, title, description, className = '', borde
|
|
|
98
98
|
>
|
|
99
99
|
<div className="w-5 h-5 flex-shrink-0">{icon}</div>
|
|
100
100
|
<div className="flex flex-col min-w-0">
|
|
101
|
-
<span className="text-
|
|
102
|
-
<span className="text-
|
|
101
|
+
<span className="font-medium text-sm md:text-sm text-ods-text-primary leading-tight mb-0.5 text-left">{title}</span>
|
|
102
|
+
<span className="text-xs md:text-sm text-ods-text-secondary leading-tight text-left">{description}</span>
|
|
103
103
|
</div>
|
|
104
104
|
</div>
|
|
105
105
|
);
|
|
@@ -24,7 +24,7 @@ const ChevronButton = React.forwardRef<HTMLButtonElement, ChevronButtonProps>(
|
|
|
24
24
|
return (
|
|
25
25
|
<button
|
|
26
26
|
className={cn(
|
|
27
|
-
"inline-flex items-center justify-center rounded-md text-
|
|
27
|
+
"inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
|
|
28
28
|
"h-10 px-4 py-2",
|
|
29
29
|
className
|
|
30
30
|
)}
|
|
@@ -38,18 +38,18 @@ export function ContentLoader({
|
|
|
38
38
|
}: ContentLoaderProps) {
|
|
39
39
|
const renderCardSkeleton = () => (
|
|
40
40
|
<div className="animate-pulse">
|
|
41
|
-
{showTitle && <div className="h-8 w-64 bg-ods-
|
|
41
|
+
{showTitle && <div className="h-8 w-64 bg-ods-bg-secondary rounded mb-6" />}
|
|
42
42
|
<div className="bg-ods-card border border-ods-border rounded-lg p-6">
|
|
43
43
|
<div className="grid grid-cols-1 md:grid-cols-4 gap-6 mb-6">
|
|
44
44
|
{Array.from({ length: items }).map((_, i) => (
|
|
45
45
|
<div key={i}>
|
|
46
|
-
<div className="h-4 w-20 bg-ods-
|
|
47
|
-
<div className="h-6 w-32 bg-ods-
|
|
46
|
+
<div className="h-4 w-20 bg-ods-bg-secondary rounded mb-2" />
|
|
47
|
+
<div className="h-6 w-32 bg-ods-bg-secondary rounded" />
|
|
48
48
|
</div>
|
|
49
49
|
))}
|
|
50
50
|
</div>
|
|
51
51
|
<div className="border-t border-ods-border pt-4">
|
|
52
|
-
<div className="h-4 w-64 bg-ods-
|
|
52
|
+
<div className="h-4 w-64 bg-ods-bg-secondary rounded" />
|
|
53
53
|
</div>
|
|
54
54
|
</div>
|
|
55
55
|
</div>
|
|
@@ -62,8 +62,8 @@ export function ContentLoader({
|
|
|
62
62
|
<div className="space-y-4">
|
|
63
63
|
{Array.from({ length: items }).map((_, i) => (
|
|
64
64
|
<div key={i}>
|
|
65
|
-
<div className="h-4 bg-ods-
|
|
66
|
-
<div className="h-10 bg-ods-
|
|
65
|
+
<div className="h-4 bg-ods-bg-secondary rounded w-32 mb-2" />
|
|
66
|
+
<div className="h-10 bg-ods-bg-secondary rounded" />
|
|
67
67
|
</div>
|
|
68
68
|
))}
|
|
69
69
|
</div>
|
|
@@ -73,22 +73,22 @@ export function ContentLoader({
|
|
|
73
73
|
|
|
74
74
|
const renderDetailSkeleton = () => (
|
|
75
75
|
<div className="animate-pulse">
|
|
76
|
-
{showTitle && <div className="h-8 w-64 bg-ods-
|
|
76
|
+
{showTitle && <div className="h-8 w-64 bg-ods-bg-secondary rounded mb-6" />}
|
|
77
77
|
<div className="bg-ods-card border border-ods-border rounded-lg p-6">
|
|
78
78
|
<div className="grid grid-cols-1 lg:grid-cols-3 gap-6">
|
|
79
79
|
<div className="lg:col-span-2">
|
|
80
|
-
<div className="h-64 bg-ods-
|
|
80
|
+
<div className="h-64 bg-ods-bg-secondary rounded mb-4" />
|
|
81
81
|
<div className="space-y-2">
|
|
82
82
|
{Array.from({ length: 3 }).map((_, i) => (
|
|
83
|
-
<div key={i} className="h-4 bg-ods-
|
|
83
|
+
<div key={i} className="h-4 bg-ods-bg-secondary rounded" />
|
|
84
84
|
))}
|
|
85
85
|
</div>
|
|
86
86
|
</div>
|
|
87
87
|
<div>
|
|
88
|
-
<div className="h-32 bg-ods-
|
|
88
|
+
<div className="h-32 bg-ods-bg-secondary rounded mb-4" />
|
|
89
89
|
<div className="space-y-2">
|
|
90
90
|
{Array.from({ length: items }).map((_, i) => (
|
|
91
|
-
<div key={i} className="h-3 bg-ods-
|
|
91
|
+
<div key={i} className="h-3 bg-ods-bg-secondary rounded" />
|
|
92
92
|
))}
|
|
93
93
|
</div>
|
|
94
94
|
</div>
|
|
@@ -99,16 +99,16 @@ export function ContentLoader({
|
|
|
99
99
|
|
|
100
100
|
const renderListSkeleton = () => (
|
|
101
101
|
<div className="animate-pulse space-y-3">
|
|
102
|
-
{showTitle && <div className="h-8 w-64 bg-ods-
|
|
102
|
+
{showTitle && <div className="h-8 w-64 bg-ods-bg-secondary rounded mb-6" />}
|
|
103
103
|
{Array.from({ length: items }).map((_, i) => (
|
|
104
104
|
<div key={i} className="bg-ods-card border border-ods-border rounded-lg p-4">
|
|
105
105
|
<div className="flex items-center gap-4">
|
|
106
|
-
<div className="h-12 w-12 bg-ods-
|
|
106
|
+
<div className="h-12 w-12 bg-ods-bg-secondary rounded" />
|
|
107
107
|
<div className="flex-1">
|
|
108
|
-
<div className="h-4 bg-ods-
|
|
109
|
-
<div className="h-3 bg-ods-
|
|
108
|
+
<div className="h-4 bg-ods-bg-secondary rounded w-3/4 mb-2" />
|
|
109
|
+
<div className="h-3 bg-ods-bg-secondary rounded w-1/2" />
|
|
110
110
|
</div>
|
|
111
|
-
<div className="h-8 w-20 bg-ods-
|
|
111
|
+
<div className="h-8 w-20 bg-ods-bg-secondary rounded" />
|
|
112
112
|
</div>
|
|
113
113
|
</div>
|
|
114
114
|
))}
|
|
@@ -209,7 +209,7 @@ function DatePickerCalendar({
|
|
|
209
209
|
weekday: cn(
|
|
210
210
|
cellOuter,
|
|
211
211
|
"flex items-center justify-center",
|
|
212
|
-
"text-
|
|
212
|
+
"text-[14px] font-medium leading-5 text-ods-text-secondary"
|
|
213
213
|
),
|
|
214
214
|
week: "flex",
|
|
215
215
|
day: cn(
|
|
@@ -248,7 +248,7 @@ function DatePickerCalendar({
|
|
|
248
248
|
"range-end !bg-ods-accent !text-ods-card !font-bold hover:!bg-ods-accent",
|
|
249
249
|
hasCompleteRange ? "!rounded-r-[6px] !rounded-l-none" : "!rounded-[6px]"
|
|
250
250
|
),
|
|
251
|
-
range_middle: "range-middle !bg-ods-open-yellow-light !text-ods-card !font-medium !rounded-none hover:!bg-ods-open-yellow-light",
|
|
251
|
+
range_middle: "range-middle !bg-[var(--ods-open-yellow-light)] !text-ods-card !font-medium !rounded-none hover:!bg-[var(--ods-open-yellow-light)]",
|
|
252
252
|
};
|
|
253
253
|
|
|
254
254
|
const [month, setMonth] = React.useState<Date>(
|
|
@@ -35,12 +35,12 @@ export function DeviceCardCompact({
|
|
|
35
35
|
{...props}
|
|
36
36
|
>
|
|
37
37
|
{hasName && (
|
|
38
|
-
<span className="text-
|
|
38
|
+
<span className="font-['DM_Sans'] font-medium text-[16px] leading-[20px] text-ods-text-primary truncate" title={deviceName}>
|
|
39
39
|
{deviceName}
|
|
40
40
|
</span>
|
|
41
41
|
)}
|
|
42
42
|
{hasOrg && (
|
|
43
|
-
<span className="text-
|
|
43
|
+
<span className="font-['DM_Sans'] font-medium text-[14px] leading-[18px] text-ods-text-secondary truncate" title={organization}>
|
|
44
44
|
{organization}
|
|
45
45
|
</span>
|
|
46
46
|
)}
|
|
@@ -110,7 +110,7 @@ export function DeviceCard({
|
|
|
110
110
|
</span>
|
|
111
111
|
</div>
|
|
112
112
|
{device.organization && (
|
|
113
|
-
<span className="text-
|
|
113
|
+
<span className="font-['DM_Sans'] font-medium text-[14px] leading-[20px] text-ods-text-secondary truncate" title={device.organization}>
|
|
114
114
|
{device.organization}
|
|
115
115
|
</span>
|
|
116
116
|
)}
|
|
@@ -141,7 +141,7 @@ export function DeviceCard({
|
|
|
141
141
|
className="flex items-center justify-center px-4 py-3 rounded-[6px] shrink-0 border border-ods-border cursor-pointer hover:bg-ods-bg-hover transition-colors"
|
|
142
142
|
onClick={(e) => { e.stopPropagation(); action.onClick?.() }}
|
|
143
143
|
>
|
|
144
|
-
<span className="text-h3 text-ods-text-primary text-nowrap">
|
|
144
|
+
<span className="text-h3 text-ods-text-primary text-nowrap tracking-[-0.36px]">
|
|
145
145
|
{action.label}
|
|
146
146
|
</span>
|
|
147
147
|
</div>
|
|
@@ -162,7 +162,7 @@ export function DeviceCard({
|
|
|
162
162
|
/>
|
|
163
163
|
)}
|
|
164
164
|
{device.lastSeen && (
|
|
165
|
-
<span className="flex-1 text-
|
|
165
|
+
<span className="flex-1 font-['DM_Sans'] font-medium text-[14px] leading-[20px] text-ods-text-secondary truncate">
|
|
166
166
|
Last Seen: {formatLastSeen(device.lastSeen)}
|
|
167
167
|
</span>
|
|
168
168
|
)}
|
|
@@ -21,7 +21,7 @@ const DialogOverlay = React.forwardRef<
|
|
|
21
21
|
<DialogPrimitive.Overlay
|
|
22
22
|
ref={ref}
|
|
23
23
|
className={cn(
|
|
24
|
-
"fixed inset-0 z-[9998] bg-
|
|
24
|
+
"fixed inset-0 z-[9998] bg-black/80 backdrop-blur-sm 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}
|
|
@@ -69,7 +69,7 @@ const DialogTitle = React.forwardRef<
|
|
|
69
69
|
>(({ className, ...props }, ref) => (
|
|
70
70
|
<DialogPrimitive.Title
|
|
71
71
|
ref={ref}
|
|
72
|
-
className={cn("text-
|
|
72
|
+
className={cn("text-lg font-semibold leading-none tracking-tight", className)}
|
|
73
73
|
{...props}
|
|
74
74
|
/>
|
|
75
75
|
))
|
|
@@ -79,7 +79,7 @@ const DialogDescription = React.forwardRef<
|
|
|
79
79
|
React.ElementRef<typeof DialogPrimitive.Description>,
|
|
80
80
|
React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>
|
|
81
81
|
>(({ className, ...props }, ref) => (
|
|
82
|
-
<DialogPrimitive.Description ref={ref} className={cn("text-
|
|
82
|
+
<DialogPrimitive.Description ref={ref} className={cn("text-sm text-muted-foreground", className)} {...props} />
|
|
83
83
|
))
|
|
84
84
|
DialogDescription.displayName = DialogPrimitive.Description.displayName
|
|
85
85
|
|
|
@@ -11,7 +11,7 @@ import { useHeaderHeight } from "../../hooks/ui/use-header-height"
|
|
|
11
11
|
/** Unified overlay backdrop — dimmed, no blur. Single source of truth for
|
|
12
12
|
* every full-screen backdrop (Drawer, AppLayoutDrawer, MobileBurgerMenu,
|
|
13
13
|
* TimeTracker popover) so all panels dim the page identically. */
|
|
14
|
-
const OVERLAY_BACKDROP_CLASS = "bg-
|
|
14
|
+
const OVERLAY_BACKDROP_CLASS = "bg-black/50"
|
|
15
15
|
|
|
16
16
|
const Drawer = DialogPrimitive.Root
|
|
17
17
|
|
|
@@ -316,7 +316,7 @@ function DrawerResizeHandle({
|
|
|
316
316
|
<div
|
|
317
317
|
aria-hidden
|
|
318
318
|
className={cn(
|
|
319
|
-
"rounded-full bg-
|
|
319
|
+
"rounded-full bg-[var(--system-greys-soft-grey,#3A3A3A)]",
|
|
320
320
|
gripClass,
|
|
321
321
|
)}
|
|
322
322
|
/>
|
|
@@ -495,7 +495,7 @@ const DrawerTitle = React.forwardRef<
|
|
|
495
495
|
<DialogPrimitive.Title
|
|
496
496
|
ref={ref}
|
|
497
497
|
className={cn(
|
|
498
|
-
"min-w-0 flex-1 break-words text-
|
|
498
|
+
"min-w-0 flex-1 break-words font-sans text-lg font-bold leading-6 tracking-[-0.36px] text-ods-text-primary",
|
|
499
499
|
className
|
|
500
500
|
)}
|
|
501
501
|
{...props}
|
|
@@ -520,7 +520,7 @@ const DrawerDescription = React.forwardRef<
|
|
|
520
520
|
<DialogPrimitive.Description
|
|
521
521
|
ref={ref}
|
|
522
522
|
className={cn(
|
|
523
|
-
"min-w-0 break-words text-
|
|
523
|
+
"min-w-0 break-words font-sans text-sm font-medium leading-5 text-ods-text-secondary",
|
|
524
524
|
className
|
|
525
525
|
)}
|
|
526
526
|
{...props}
|
|
@@ -28,7 +28,7 @@ const DropdownMenuSubTrigger = React.forwardRef<
|
|
|
28
28
|
<DropdownMenuPrimitive.SubTrigger
|
|
29
29
|
ref={ref}
|
|
30
30
|
className={cn(
|
|
31
|
-
"flex cursor-pointer gap-2 select-none items-center rounded-sm px-2 py-1.5 text-
|
|
31
|
+
"flex cursor-pointer gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none hover:bg-ods-bg-hover focus:bg-ods-bg-hover data-[state=open]:bg-ods-bg-hover [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
|
32
32
|
inset && "pl-8",
|
|
33
33
|
className
|
|
34
34
|
)}
|
|
@@ -89,7 +89,7 @@ const DropdownMenuItem = React.forwardRef<
|
|
|
89
89
|
<DropdownMenuPrimitive.Item
|
|
90
90
|
ref={ref}
|
|
91
91
|
className={cn(
|
|
92
|
-
"relative flex cursor-pointer select-none items-center gap-2 rounded-sm px-2 py-1.5 text-
|
|
92
|
+
"relative flex cursor-pointer select-none items-center gap-2 rounded-sm px-2 py-1.5 text-base outline-none transition-colors text-ods-text-primary hover:bg-ods-bg-hover hover:text-ods-text-primary focus:bg-ods-bg-hover focus:text-ods-text-primary data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
|
93
93
|
inset && "pl-8",
|
|
94
94
|
className
|
|
95
95
|
)}
|
|
@@ -105,7 +105,7 @@ const DropdownMenuCheckboxItem = React.forwardRef<
|
|
|
105
105
|
<DropdownMenuPrimitive.CheckboxItem
|
|
106
106
|
ref={ref}
|
|
107
107
|
className={cn(
|
|
108
|
-
"relative flex cursor-pointer select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-
|
|
108
|
+
"relative flex cursor-pointer select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors text-ods-text-primary hover:bg-ods-bg-hover hover:text-ods-text-primary focus:bg-ods-bg-hover focus:text-ods-text-primary data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
109
109
|
className
|
|
110
110
|
)}
|
|
111
111
|
checked={checked}
|
|
@@ -129,7 +129,7 @@ const DropdownMenuRadioItem = React.forwardRef<
|
|
|
129
129
|
<DropdownMenuPrimitive.RadioItem
|
|
130
130
|
ref={ref}
|
|
131
131
|
className={cn(
|
|
132
|
-
"relative flex cursor-pointer select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-
|
|
132
|
+
"relative flex cursor-pointer select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors text-ods-text-primary hover:bg-ods-bg-hover hover:text-ods-text-primary focus:bg-ods-bg-hover focus:text-ods-text-primary data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
133
133
|
className
|
|
134
134
|
)}
|
|
135
135
|
{...props}
|
|
@@ -153,7 +153,7 @@ const DropdownMenuLabel = React.forwardRef<
|
|
|
153
153
|
<DropdownMenuPrimitive.Label
|
|
154
154
|
ref={ref}
|
|
155
155
|
className={cn(
|
|
156
|
-
"px-2 py-1.5 text-
|
|
156
|
+
"px-2 py-1.5 text-sm font-semibold text-ods-text-secondary",
|
|
157
157
|
inset && "pl-8",
|
|
158
158
|
className
|
|
159
159
|
)}
|
|
@@ -180,7 +180,7 @@ const DropdownMenuShortcut = ({
|
|
|
180
180
|
}: React.HTMLAttributes<HTMLSpanElement>) => {
|
|
181
181
|
return (
|
|
182
182
|
<span
|
|
183
|
-
className={cn("ml-auto text-
|
|
183
|
+
className={cn("ml-auto text-xs tracking-widest text-ods-text-secondary opacity-60", className)}
|
|
184
184
|
{...props}
|
|
185
185
|
/>
|
|
186
186
|
)
|
|
@@ -37,17 +37,17 @@ export function ErrorState({
|
|
|
37
37
|
// -secondary tokens, NOT `/20` alpha modifiers: the ods colors are
|
|
38
38
|
// hex CSS vars, and Tailwind 3.x can't inject alpha into those —
|
|
39
39
|
// the modifier silently produced no background at all.
|
|
40
|
-
bg: 'bg-ods-error-secondary',
|
|
41
|
-
border: 'border-ods-error',
|
|
42
|
-
text: 'text-ods-error',
|
|
43
|
-
icon: 'text-ods-error'
|
|
40
|
+
bg: 'bg-ods-attention-red-error-secondary',
|
|
41
|
+
border: 'border-ods-attention-red-error',
|
|
42
|
+
text: 'text-ods-attention-red-error',
|
|
43
|
+
icon: 'text-ods-attention-red-error'
|
|
44
44
|
}
|
|
45
45
|
case 'warning':
|
|
46
46
|
return {
|
|
47
|
-
bg: 'bg-ods-warning-secondary',
|
|
48
|
-
border: 'border-ods-warning',
|
|
49
|
-
text: 'text-ods-warning',
|
|
50
|
-
icon: 'text-ods-warning'
|
|
47
|
+
bg: 'bg-ods-attention-yellow-warning-secondary',
|
|
48
|
+
border: 'border-ods-attention-yellow-warning',
|
|
49
|
+
text: 'text-ods-attention-yellow-warning',
|
|
50
|
+
icon: 'text-ods-attention-yellow-warning'
|
|
51
51
|
}
|
|
52
52
|
case 'info':
|
|
53
53
|
return {
|
|
@@ -77,7 +77,7 @@ export function ErrorState({
|
|
|
77
77
|
<h3 className={cn("font-semibold mb-1", styles.text)}>
|
|
78
78
|
{title}
|
|
79
79
|
</h3>
|
|
80
|
-
<p className={cn("text-
|
|
80
|
+
<p className={cn("text-sm", styles.text)}>
|
|
81
81
|
{message}
|
|
82
82
|
</p>
|
|
83
83
|
{(showRetry || showHome) && (
|
|
@@ -75,7 +75,7 @@ export function FadePreview({
|
|
|
75
75
|
<button
|
|
76
76
|
type="button"
|
|
77
77
|
onClick={() => setExpanded(!expanded)}
|
|
78
|
-
className="mt-4 flex items-center gap-1.5 text-
|
|
78
|
+
className="mt-4 flex items-center gap-1.5 text-sm text-ods-text-secondary hover:text-ods-accent transition-colors duration-200"
|
|
79
79
|
>
|
|
80
80
|
<span>{expanded ? 'Show less' : `Show ${hiddenCount} more`}</span>
|
|
81
81
|
<ChevronDown
|
|
@@ -17,7 +17,7 @@ export interface FieldWrapperProps {
|
|
|
17
17
|
|
|
18
18
|
const errorVariantClasses = {
|
|
19
19
|
error: "text-ods-error",
|
|
20
|
-
warning: "text-ods-warning",
|
|
20
|
+
warning: "text-[var(--ods-attention-yellow-warning)]",
|
|
21
21
|
success: "text-ods-success",
|
|
22
22
|
muted: "text-ods-text-secondary",
|
|
23
23
|
} as const
|
|
@@ -12,7 +12,7 @@ export function FileManagerBreadcrumb({
|
|
|
12
12
|
}: FileManagerBreadcrumbProps) {
|
|
13
13
|
return (
|
|
14
14
|
<nav className={cn(
|
|
15
|
-
'flex flex-wrap items-center gap-x-1 gap-y-1 text-
|
|
15
|
+
'flex flex-wrap items-center gap-x-1 gap-y-1 text-sm break-words',
|
|
16
16
|
className
|
|
17
17
|
)}>
|
|
18
18
|
{items.map((item, index) => (
|
|
@@ -23,7 +23,7 @@ export function FileManagerBreadcrumb({
|
|
|
23
23
|
<button
|
|
24
24
|
onClick={() => onItemClick?.(item.path)}
|
|
25
25
|
className={cn(
|
|
26
|
-
'shrink-0 px-1 py-0.5 rounded hover:bg-ods-bg-
|
|
26
|
+
'shrink-0 px-1 py-0.5 rounded hover:bg-ods-bg-secondary transition-colors',
|
|
27
27
|
'text-ods-text-primary hover:text-ods-accent text-left break-all',
|
|
28
28
|
index === items.length - 1 && 'font-medium'
|
|
29
29
|
)}
|
|
@@ -17,15 +17,15 @@ export function FileManagerEmpty({
|
|
|
17
17
|
'flex flex-col items-center justify-center py-20 px-4',
|
|
18
18
|
className
|
|
19
19
|
)}>
|
|
20
|
-
<div className="p-4 bg-ods-bg-
|
|
20
|
+
<div className="p-4 bg-ods-bg-secondary rounded-full mb-6">
|
|
21
21
|
<FolderOpen className="h-12 w-12 text-ods-text-tertiary" />
|
|
22
22
|
</div>
|
|
23
23
|
|
|
24
|
-
<h3 className="text-
|
|
24
|
+
<h3 className="text-lg font-medium text-ods-text-primary mb-2">
|
|
25
25
|
{message}
|
|
26
26
|
</h3>
|
|
27
27
|
|
|
28
|
-
<p className="text-
|
|
28
|
+
<p className="text-sm text-ods-text-secondary text-center max-w-md mb-6">
|
|
29
29
|
{description}
|
|
30
30
|
</p>
|
|
31
31
|
|
|
@@ -50,22 +50,22 @@ export function FileManagerSkeleton({
|
|
|
50
50
|
<div className="flex-1 min-h-0">
|
|
51
51
|
<div className="bg-ods-bg border border-ods-border rounded-lg flex flex-col">
|
|
52
52
|
{/* Table header */}
|
|
53
|
-
<div className="flex items-center h-12 px-4 bg-ods-bg-
|
|
53
|
+
<div className="flex items-center h-12 px-4 bg-ods-bg-secondary border-b border-ods-border rounded-t-lg">
|
|
54
54
|
{/* Checkbox */}
|
|
55
55
|
<div className="mr-4">
|
|
56
56
|
<Skeleton className="h-5 w-5 rounded" />
|
|
57
57
|
</div>
|
|
58
58
|
|
|
59
59
|
{/* Column headers */}
|
|
60
|
-
<div className="flex items-center gap-3 flex-1 min-w-0 text-
|
|
60
|
+
<div className="flex items-center gap-3 flex-1 min-w-0 text-sm font-medium text-ods-text-secondary">
|
|
61
61
|
NAME
|
|
62
62
|
</div>
|
|
63
63
|
|
|
64
|
-
<div className="w-24 shrink-0 pr-4 text-
|
|
64
|
+
<div className="w-24 shrink-0 pr-4 text-sm font-medium text-ods-text-secondary">
|
|
65
65
|
SIZE
|
|
66
66
|
</div>
|
|
67
67
|
|
|
68
|
-
<div className="w-36 shrink-0 pl-4 text-
|
|
68
|
+
<div className="w-36 shrink-0 pl-4 text-sm font-medium text-ods-text-secondary">
|
|
69
69
|
EDITED
|
|
70
70
|
</div>
|
|
71
71
|
|
|
@@ -48,8 +48,8 @@ export function FileManagerTableRow({
|
|
|
48
48
|
<div
|
|
49
49
|
className={cn(
|
|
50
50
|
'bg-ods-card group flex items-center h-16 px-4 border-ods-border',
|
|
51
|
-
'hover:bg-ods-bg-
|
|
52
|
-
isSelected && 'bg-ods-bg-
|
|
51
|
+
'hover:bg-ods-bg-secondary transition-colors cursor-pointer',
|
|
52
|
+
isSelected && 'bg-ods-bg-secondary',
|
|
53
53
|
className
|
|
54
54
|
)}
|
|
55
55
|
onClick={handleRowClick}
|
|
@@ -76,22 +76,22 @@ export function FileManagerTableRow({
|
|
|
76
76
|
size="md"
|
|
77
77
|
/>
|
|
78
78
|
<div className="flex flex-col min-w-0">
|
|
79
|
-
<span className="text-
|
|
79
|
+
<span className="text-sm text-ods-text-primary truncate" title={file.name}>
|
|
80
80
|
{file.name}
|
|
81
81
|
</span>
|
|
82
82
|
{showPath && file.path && (
|
|
83
|
-
<span className="text-
|
|
83
|
+
<span className="text-xs text-ods-text-secondary truncate" title={file.path}>
|
|
84
84
|
{file.path}
|
|
85
85
|
</span>
|
|
86
86
|
)}
|
|
87
87
|
</div>
|
|
88
88
|
</div>
|
|
89
89
|
|
|
90
|
-
<div className="w-24 shrink-0 pr-4 text-
|
|
90
|
+
<div className="w-24 shrink-0 pr-4 text-sm text-ods-text-secondary">
|
|
91
91
|
{file.size || ''}
|
|
92
92
|
</div>
|
|
93
|
-
|
|
94
|
-
<div className="w-36 shrink-0 pl-4 text-
|
|
93
|
+
|
|
94
|
+
<div className="w-36 shrink-0 pl-4 text-sm text-ods-text-secondary">
|
|
95
95
|
{file.modified}
|
|
96
96
|
</div>
|
|
97
97
|
|
|
@@ -76,22 +76,22 @@ export function FileManagerTable({
|
|
|
76
76
|
return (
|
|
77
77
|
<div className={cn('bg-ods-bg border border-ods-border rounded-lg flex flex-col', className)}>
|
|
78
78
|
{/* Table header */}
|
|
79
|
-
<div className="flex items-center h-12 px-4 bg-ods-bg-
|
|
79
|
+
<div className="flex items-center h-12 px-4 bg-ods-bg-secondary border-b border-ods-border rounded-t-lg">
|
|
80
80
|
{showCheckboxes && (
|
|
81
81
|
<div className="mr-4">
|
|
82
82
|
<Skeleton className="h-5 w-5 rounded" />
|
|
83
83
|
</div>
|
|
84
84
|
)}
|
|
85
85
|
|
|
86
|
-
<div className="flex items-center gap-3 flex-1 min-w-0 text-
|
|
86
|
+
<div className="flex items-center gap-3 flex-1 min-w-0 text-sm font-medium text-ods-text-secondary">
|
|
87
87
|
NAME
|
|
88
88
|
</div>
|
|
89
89
|
|
|
90
|
-
<div className="w-24 shrink-0 pr-4 text-
|
|
90
|
+
<div className="w-24 shrink-0 pr-4 text-sm font-medium text-ods-text-secondary">
|
|
91
91
|
SIZE
|
|
92
92
|
</div>
|
|
93
93
|
|
|
94
|
-
<div className="w-36 shrink-0 pl-4 text-
|
|
94
|
+
<div className="w-36 shrink-0 pl-4 text-sm font-medium text-ods-text-secondary">
|
|
95
95
|
EDITED
|
|
96
96
|
</div>
|
|
97
97
|
|
|
@@ -153,7 +153,7 @@ export function FileManagerTable({
|
|
|
153
153
|
className={cn('bg-ods-bg border border-ods-border rounded-lg flex flex-col', className)}
|
|
154
154
|
style={tableHeight ? { height: `${tableHeight}px` } : undefined}
|
|
155
155
|
>
|
|
156
|
-
<div className="flex items-center h-12 px-4 bg-ods-bg-
|
|
156
|
+
<div className="flex items-center h-12 px-4 bg-ods-bg-secondary border-b border-ods-border rounded-t-lg">
|
|
157
157
|
{showCheckboxes && (
|
|
158
158
|
<div className="mr-4">
|
|
159
159
|
<Checkbox
|
|
@@ -164,15 +164,15 @@ export function FileManagerTable({
|
|
|
164
164
|
</div>
|
|
165
165
|
)}
|
|
166
166
|
|
|
167
|
-
<div className="flex items-center gap-3 flex-1 min-w-0 text-
|
|
167
|
+
<div className="flex items-center gap-3 flex-1 min-w-0 text-sm font-medium text-ods-text-secondary">
|
|
168
168
|
NAME
|
|
169
169
|
</div>
|
|
170
170
|
|
|
171
|
-
<div className="w-24 shrink-0 pr-4 text-
|
|
171
|
+
<div className="w-24 shrink-0 pr-4 text-sm font-medium text-ods-text-secondary">
|
|
172
172
|
SIZE
|
|
173
173
|
</div>
|
|
174
174
|
|
|
175
|
-
<div className="w-36 shrink-0 pl-4 text-
|
|
175
|
+
<div className="w-36 shrink-0 pl-4 text-sm font-medium text-ods-text-secondary">
|
|
176
176
|
EDITED
|
|
177
177
|
</div>
|
|
178
178
|
|
|
@@ -329,21 +329,21 @@ export function FileUpload({
|
|
|
329
329
|
<FileIcon className="size-6 text-ods-text-secondary" />
|
|
330
330
|
</div>
|
|
331
331
|
<div className="flex-1 min-w-0">
|
|
332
|
-
<p className="text-
|
|
332
|
+
<p className="text-heading-4 font-medium text-ods-text-primary truncate" title={entry.fileName}>
|
|
333
333
|
{entry.fileName}
|
|
334
334
|
</p>
|
|
335
335
|
<div className="flex items-center gap-[var(--spacing-system-xsf)]">
|
|
336
|
-
<span className="text-
|
|
336
|
+
<span className="text-heading-5 text-ods-text-secondary">
|
|
337
337
|
{formatFileSize(entry.fileSize)}
|
|
338
338
|
</span>
|
|
339
339
|
{entry.status === "uploading" && (
|
|
340
|
-
<span className="flex items-center gap-[var(--spacing-system-xxs)] text-
|
|
340
|
+
<span className="flex items-center gap-[var(--spacing-system-xxs)] text-heading-5 text-ods-text-secondary">
|
|
341
341
|
<Loader2 className="size-3 animate-spin" />
|
|
342
342
|
Uploading...
|
|
343
343
|
</span>
|
|
344
344
|
)}
|
|
345
345
|
{entry.status === "error" && (
|
|
346
|
-
<span className="text-
|
|
346
|
+
<span className="text-heading-5 text-ods-error">
|
|
347
347
|
{entry.error || "Upload failed"}
|
|
348
348
|
</span>
|
|
349
349
|
)}
|
|
@@ -380,10 +380,10 @@ export function FileUpload({
|
|
|
380
380
|
<FileIcon className="size-6 text-ods-text-secondary" />
|
|
381
381
|
</div>
|
|
382
382
|
<div className="flex-1 min-w-0">
|
|
383
|
-
<p className="text-
|
|
383
|
+
<p className="text-heading-4 font-medium text-ods-text-primary truncate" title={file.name}>
|
|
384
384
|
{file.name}
|
|
385
385
|
</p>
|
|
386
|
-
<p className="text-
|
|
386
|
+
<p className="text-heading-5 text-ods-text-secondary">
|
|
387
387
|
{formatFileSize(file.size)}
|
|
388
388
|
</p>
|
|
389
389
|
</div>
|
|
@@ -424,9 +424,9 @@ export function FileUpload({
|
|
|
424
424
|
<div className="flex items-center p-[var(--spacing-system-sf)] rounded-full bg-ods-card border border-ods-border shrink-0">
|
|
425
425
|
{icon || <ImagePlusIcon className="size-6 text-ods-text-primary" />}
|
|
426
426
|
</div>
|
|
427
|
-
<div className="flex flex-1 flex-col min-w-0">
|
|
428
|
-
<span className="text-
|
|
429
|
-
<span className="text-
|
|
427
|
+
<div className="flex flex-1 flex-col font-['DM_Sans'] font-medium min-w-0">
|
|
428
|
+
<span className="text-heading-4 text-ods-text-primary">{label}</span>
|
|
429
|
+
<span className="text-heading-5 text-ods-text-secondary">{description}</span>
|
|
430
430
|
</div>
|
|
431
431
|
</button>
|
|
432
432
|
)}
|
|
@@ -63,7 +63,7 @@ export function FilterPillRow({
|
|
|
63
63
|
</Button>
|
|
64
64
|
))}
|
|
65
65
|
{countLabel && (
|
|
66
|
-
<div className="ml-auto text-
|
|
66
|
+
<div className="ml-auto text-[12px] font-['DM_Sans'] text-ods-text-secondary shrink-0">
|
|
67
67
|
{countLabel}
|
|
68
68
|
</div>
|
|
69
69
|
)}
|
|
@@ -175,7 +175,7 @@ export function FloatingTooltip({
|
|
|
175
175
|
>
|
|
176
176
|
{/* Scroll wrapper — `min-h-0` lets it shrink below content height inside
|
|
177
177
|
the max-height cap set by the `size` middleware, so tall content scrolls. */}
|
|
178
|
-
<div className="min-h-0 overflow-y-auto px-3 py-2.5 text-
|
|
178
|
+
<div className="min-h-0 overflow-y-auto px-3 py-2.5 text-sm leading-relaxed text-ods-text-primary whitespace-pre-line">
|
|
179
179
|
{parsedContent}
|
|
180
180
|
</div>
|
|
181
181
|
{/* Arrow element */}
|