@flamingo-stack/openframe-frontend-core 0.0.439 → 0.0.440
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-RVWC4P3H.js → chunk-2BTDPDME.js} +9 -9
- package/dist/chunk-2BTDPDME.js.map +1 -0
- package/dist/{chunk-G5FALXNO.js → chunk-63TSTDME.js} +21 -21
- package/dist/chunk-63TSTDME.js.map +1 -0
- package/dist/{chunk-4ACSUJ7Q.js → chunk-6CITW5BD.js} +10 -10
- package/dist/chunk-6CITW5BD.js.map +1 -0
- package/dist/{chunk-QXYOGJQJ.js → chunk-7KDR5P23.js} +2 -2
- package/dist/{chunk-PEIR7D25.js → chunk-7KNOHGMI.js} +2 -2
- package/dist/{chunk-ZMUFTGL7.cjs → chunk-7QP65IE4.cjs} +5 -5
- package/dist/{chunk-ZMUFTGL7.cjs.map → chunk-7QP65IE4.cjs.map} +1 -1
- package/dist/{chunk-WPVBTVI3.js → chunk-AGV26PUR.js} +6 -6
- package/dist/{chunk-WPVBTVI3.js.map → chunk-AGV26PUR.js.map} +1 -1
- package/dist/{chunk-HTVVXVJL.cjs → chunk-DUQQEQ7G.cjs} +1431 -1594
- package/dist/chunk-DUQQEQ7G.cjs.map +1 -0
- package/dist/{chunk-COMBYYQY.js → chunk-FPE3SQ5D.js} +13 -13
- package/dist/chunk-FPE3SQ5D.js.map +1 -0
- package/dist/{chunk-WAGTZVQN.js → chunk-IAZ5AN2E.js} +30 -30
- package/dist/chunk-IAZ5AN2E.js.map +1 -0
- package/dist/{chunk-RQQZF6G6.cjs → chunk-IPEIOR77.cjs} +130 -130
- package/dist/chunk-IPEIOR77.cjs.map +1 -0
- package/dist/{chunk-3WJQL4DN.cjs → chunk-IZ6A6K6N.cjs} +25 -25
- package/dist/chunk-IZ6A6K6N.cjs.map +1 -0
- package/dist/{chunk-EE5NH5SH.cjs → chunk-J5NO7PAG.cjs} +3 -3
- package/dist/{chunk-EE5NH5SH.cjs.map → chunk-J5NO7PAG.cjs.map} +1 -1
- package/dist/{chunk-IAN7GUIV.cjs → chunk-JNC4LVD6.cjs} +42 -42
- package/dist/chunk-JNC4LVD6.cjs.map +1 -0
- package/dist/{chunk-VWGF6IFR.cjs → chunk-JOH5D76X.cjs} +108 -108
- package/dist/chunk-JOH5D76X.cjs.map +1 -0
- package/dist/{chunk-7WM77CSW.js → chunk-JYI4R25Q.js} +5 -5
- package/dist/chunk-JYI4R25Q.js.map +1 -0
- package/dist/{chunk-M6QGB6DC.cjs → chunk-KUXGQ2FQ.cjs} +36 -36
- package/dist/chunk-KUXGQ2FQ.cjs.map +1 -0
- package/dist/{chunk-M3LD6DNE.cjs → chunk-LFWPWIAC.cjs} +16 -16
- package/dist/{chunk-M3LD6DNE.cjs.map → chunk-LFWPWIAC.cjs.map} +1 -1
- package/dist/{chunk-R46QEE3R.cjs → chunk-LUKRPHEW.cjs} +96 -96
- package/dist/chunk-LUKRPHEW.cjs.map +1 -0
- package/dist/{chunk-IMK6RUEC.cjs → chunk-PYR4LVAF.cjs} +10 -10
- package/dist/chunk-PYR4LVAF.cjs.map +1 -0
- package/dist/{chunk-2ELBNZJ3.js → chunk-QAG357PE.js} +7 -7
- package/dist/chunk-QAG357PE.js.map +1 -0
- package/dist/{chunk-N2TJ3HAM.cjs → chunk-QO6MCQYE.cjs} +9 -9
- package/dist/chunk-QO6MCQYE.cjs.map +1 -0
- package/dist/{chunk-EGRZHR7J.js → chunk-SM26C2L7.js} +9 -9
- package/dist/chunk-SM26C2L7.js.map +1 -0
- package/dist/{chunk-AUJXLVXA.cjs → chunk-TAQMYVO6.cjs} +42 -42
- package/dist/{chunk-AUJXLVXA.cjs.map → chunk-TAQMYVO6.cjs.map} +1 -1
- package/dist/{chunk-C3FH53AP.cjs → chunk-UFBUQO7Z.cjs} +19 -19
- package/dist/{chunk-C3FH53AP.cjs.map → chunk-UFBUQO7Z.cjs.map} +1 -1
- package/dist/{chunk-F7YVI54P.js → chunk-W3JZXLJ2.js} +10 -10
- package/dist/chunk-W3JZXLJ2.js.map +1 -0
- package/dist/{chunk-WZ6TCAYQ.cjs → chunk-XMCVUYKC.cjs} +14 -14
- package/dist/chunk-XMCVUYKC.cjs.map +1 -0
- package/dist/{chunk-P7PISHM5.js → chunk-Y3NFB6HR.js} +5 -5
- package/dist/chunk-Y3NFB6HR.js.map +1 -0
- package/dist/{chunk-PBTY7AH5.js → chunk-YZJUHEPZ.js} +95 -95
- package/dist/chunk-YZJUHEPZ.js.map +1 -0
- package/dist/{chunk-NQQ4NLUT.js → chunk-ZQYFDYWV.js} +4298 -4461
- package/dist/chunk-ZQYFDYWV.js.map +1 -0
- package/dist/components/case-studies/index.cjs +15 -15
- package/dist/components/case-studies/index.cjs.map +1 -1
- package/dist/components/case-studies/index.js +9 -9
- package/dist/components/case-studies/index.js.map +1 -1
- package/dist/components/chat/approval-request-message.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/blog-card.d.ts.map +1 -1
- package/dist/components/chat/index.cjs +4 -4
- package/dist/components/chat/index.js +3 -3
- package/dist/components/chat/tool-call-blocks.d.ts.map +1 -1
- package/dist/components/chat/utils/compact-card-classes.d.ts +3 -3
- package/dist/components/chat/utils/compact-card-classes.d.ts.map +1 -1
- package/dist/components/contact/index.cjs +5 -5
- package/dist/components/contact/index.js +4 -4
- package/dist/components/docs/index.cjs +7 -7
- package/dist/components/docs/index.js +6 -6
- package/dist/components/embeds/index.cjs +5 -5
- package/dist/components/embeds/index.js +4 -4
- package/dist/components/faq/index.cjs +6 -6
- package/dist/components/faq/index.js +5 -5
- package/dist/components/features/index.cjs +4 -4
- package/dist/components/features/index.js +3 -3
- package/dist/components/help-center-pages/index.cjs +23 -23
- package/dist/components/help-center-pages/index.js +14 -14
- package/dist/components/index.cjs +262 -256
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.js +117 -111
- package/dist/components/index.js.map +1 -1
- package/dist/components/msp-display.d.ts.map +1 -1
- package/dist/components/navigation/index.cjs +4 -4
- package/dist/components/navigation/index.js +3 -3
- package/dist/components/navigation/sticky-section-nav.d.ts.map +1 -1
- package/dist/components/onboarding-guides/index.cjs +8 -8
- package/dist/components/onboarding-guides/index.js +7 -7
- package/dist/components/pricing-display.d.ts +9 -9
- package/dist/components/related-content/index.cjs +6 -6
- package/dist/components/related-content/index.js +5 -5
- package/dist/components/tickets/index.cjs +7 -7
- package/dist/components/tickets/index.js +6 -6
- package/dist/components/toast/index.cjs +5 -5
- package/dist/components/toast/index.cjs.map +1 -1
- package/dist/components/toast/index.js +5 -5
- package/dist/components/toast/index.js.map +1 -1
- package/dist/components/ui/bullet-list.d.ts.map +1 -1
- package/dist/components/ui/drawer.d.ts +1 -1
- package/dist/components/ui/drawer.d.ts.map +1 -1
- package/dist/components/ui/file-manager/index.cjs +73 -73
- package/dist/components/ui/file-manager/index.cjs.map +1 -1
- package/dist/components/ui/file-manager/index.js +24 -24
- package/dist/components/ui/file-manager/index.js.map +1 -1
- package/dist/components/ui/index.cjs +4 -4
- package/dist/components/ui/index.js +3 -3
- package/dist/components/ui/markdown-editor.d.ts.map +1 -1
- package/dist/components/ui/square-avatar.d.ts +3 -0
- package/dist/components/ui/square-avatar.d.ts.map +1 -1
- package/dist/components/user-display.d.ts.map +1 -1
- package/dist/components/vendor-tag.d.ts.map +1 -1
- package/dist/hooks/index.cjs +2 -2
- package/dist/hooks/index.js +1 -1
- package/dist/index.cjs +4 -4
- package/dist/index.js +3 -3
- package/dist/tailwind.config.cjs +38 -5
- package/dist/tailwind.config.cjs.map +1 -1
- package/dist/tailwind.config.js +38 -5
- package/dist/tailwind.config.js.map +1 -1
- package/package.json +1 -1
- package/src/ODS_TOKEN_RULES.md +5 -0
- package/src/components/.footer.md +2 -2
- package/src/components/announcement-bar.tsx +1 -1
- package/src/components/authors/author-detail-view.tsx +3 -3
- package/src/components/calendar.tsx +2 -2
- package/src/components/case-studies/share-experience-section.tsx +5 -5
- package/src/components/categories-cart.tsx +6 -6
- package/src/components/category-card.tsx +5 -5
- package/src/components/chart.tsx +3 -3
- package/src/components/chat/approval-request-message.tsx +2 -5
- package/src/components/chat/chat-attachment-bar.tsx +3 -3
- package/src/components/chat/chat-message-enhanced.tsx +1 -1
- package/src/components/chat/chat-message-list.tsx +1 -1
- package/src/components/chat/chat-message-row.tsx +3 -3
- package/src/components/chat/chat-quick-action.tsx +1 -1
- package/src/components/chat/chat-sidebar-skeleton.tsx +1 -1
- package/src/components/chat/chat-sidebar.tsx +6 -6
- package/src/components/chat/chat-typing-indicator.tsx +1 -1
- package/src/components/chat/context-compaction-display.tsx +1 -1
- package/src/components/chat/embeddable-chat.tsx +3 -3
- package/src/components/chat/entity-cards/admin-content-card.tsx +5 -5
- package/src/components/chat/entity-cards/blog-card.tsx +5 -8
- package/src/components/chat/entity-cards/case-study-card.tsx +5 -5
- package/src/components/chat/entity-cards/chat-ticket-item.tsx +1 -1
- package/src/components/chat/entity-cards/customer-interview-card.tsx +9 -9
- package/src/components/chat/entity-cards/data-room-doc-card.tsx +2 -2
- package/src/components/chat/entity-cards/dispatch.tsx +1 -1
- package/src/components/chat/entity-cards/entity-author-card.tsx +3 -3
- package/src/components/chat/entity-cards/entity-portrait-card.tsx +4 -4
- package/src/components/chat/entity-cards/generic-entity-card.tsx +3 -3
- package/src/components/chat/entity-cards/github-activity-card.tsx +11 -11
- package/src/components/chat/entity-cards/hubspot-ticket-card.tsx +5 -5
- package/src/components/chat/entity-cards/investor-update-card.tsx +1 -1
- package/src/components/chat/entity-cards/onboarding-guide-card.tsx +12 -12
- package/src/components/chat/entity-cards/program-card.tsx +12 -12
- package/src/components/chat/entity-cards/roadmap-card.tsx +6 -6
- package/src/components/chat/entity-cards/roadmap-vote-button.tsx +1 -1
- package/src/components/chat/entity-cards/slack-message-card.tsx +4 -4
- package/src/components/chat/error-message-display.tsx +2 -2
- package/src/components/chat/mingo-info-card.tsx +2 -2
- package/src/components/chat/model-display.tsx +7 -7
- package/src/components/chat/quick-action-chip.tsx +1 -1
- package/src/components/chat/source-action-button.tsx +2 -2
- package/src/components/chat/tool-call-blocks.tsx +3 -5
- package/src/components/chat/utils/.chip-action-class.md +1 -1
- package/src/components/chat/utils/.chip-styles.md +2 -2
- package/src/components/chat/utils/chip-action-class.ts +1 -1
- package/src/components/chat/utils/chip-styles.ts +2 -2
- package/src/components/chat/utils/compact-card-classes.ts +3 -3
- package/src/components/command.tsx +3 -3
- package/src/components/comment-card.tsx +1 -1
- package/src/components/contact/contact-form.tsx +9 -9
- package/src/components/context-menu.tsx +5 -5
- package/src/components/date-time-picker.tsx +2 -2
- package/src/components/docs/doc-viewer.tsx +4 -4
- package/src/components/embeds/figma-embed.tsx +2 -2
- package/src/components/embeds/file-download-card.tsx +2 -2
- package/src/components/embeds/google-sheets-viewer.tsx +1 -1
- package/src/components/embeds/linkedin-embed-client.tsx +3 -3
- package/src/components/embeds/og-link-preview.tsx +14 -14
- package/src/components/embeds/pdf-viewer.tsx +1 -1
- package/src/components/embeds/reddit-embed-client.tsx +9 -9
- package/src/components/embeds/twitter-embed-client.tsx +9 -9
- package/src/components/empty-state.tsx +5 -5
- package/src/components/faq/faq-section.tsx +1 -1
- package/src/components/features/ai-enrich/AIEnrichSection.tsx +14 -14
- package/src/components/features/ai-enrich/AIRequiredBadge.tsx +5 -5
- package/src/components/features/ai-enrich/AIStatusIndicator.tsx +8 -8
- package/src/components/features/ai-enrich/AIWarningsSection.tsx +4 -4
- package/src/components/features/ai-enrich/ConfidenceBadge.tsx +4 -4
- package/src/components/features/array-entry-manager.tsx +7 -7
- package/src/components/features/auth-providers-list.tsx +1 -1
- package/src/components/features/board/ticket-card.tsx +1 -1
- package/src/components/features/changelog-manager.tsx +10 -10
- package/src/components/features/command-box.tsx +2 -2
- package/src/components/features/entity-summary-editor.tsx +3 -3
- package/src/components/features/figma-prototype-viewer.tsx +9 -9
- package/src/components/features/filters-dropdown.tsx +2 -2
- package/src/components/features/highlight-config-section.tsx +3 -3
- package/src/components/features/highlight-video-combined-section.tsx +2 -2
- package/src/components/features/highlight-video-preview.tsx +2 -2
- package/src/components/features/highlight-video-section.tsx +9 -9
- package/src/components/features/media-gallery-manager.tsx +14 -14
- package/src/components/features/og-editor-preview.tsx +4 -4
- package/src/components/features/os-type-badge-group.tsx +1 -1
- package/src/components/features/os-type-badge.tsx +2 -2
- package/src/components/features/platform-badge.tsx +4 -4
- package/src/components/features/policy-configuration-panel.tsx +6 -6
- package/src/components/features/provider-button.tsx +1 -1
- package/src/components/features/push-button-selector.tsx +21 -21
- package/src/components/features/release-media-manager.tsx +16 -16
- package/src/components/features/section-selector.tsx +8 -8
- package/src/components/features/select-button.tsx +4 -4
- package/src/components/features/seo-editor-preview.tsx +20 -20
- package/src/components/features/social-links-manager.tsx +3 -3
- package/src/components/features/start-with-openframe-button.tsx +3 -3
- package/src/components/features/status-filter-component.tsx +1 -1
- package/src/components/features/tags-selector.tsx +6 -6
- package/src/components/features/transcript-summary-editor.tsx +9 -9
- package/src/components/features/video-bites-strip.tsx +1 -1
- package/src/components/features/video-ratio-tabs.tsx +1 -1
- package/src/components/features/video-source-selector.tsx +7 -7
- package/src/components/features/video.tsx +1 -1
- package/src/components/features/waitlist-form.tsx +3 -3
- package/src/components/filter-chip.tsx +13 -13
- package/src/components/footer.tsx +3 -3
- package/src/components/form.tsx +2 -2
- package/src/components/hero-image-uploader.tsx +3 -3
- package/src/components/image-cropper.tsx +2 -2
- package/src/components/layout/page-container.tsx +6 -6
- package/src/components/layout/page-heading.tsx +1 -1
- package/src/components/loading/card-skeleton.tsx +2 -2
- package/src/components/loading/category-card-skeleton.tsx +1 -1
- package/src/components/loading/margin-report-skeleton.tsx +22 -22
- package/src/components/loading/openmsp-heartbeat.tsx +1 -1
- package/src/components/loading/page-layout-skeleton.tsx +83 -83
- package/src/components/loading/unified-skeleton.tsx +1 -1
- package/src/components/loading/users-grid-skeleton.tsx +2 -2
- package/src/components/logs-list.tsx +8 -8
- package/src/components/media-carousel.tsx +7 -7
- package/src/components/metric-value.tsx +2 -2
- package/src/components/msp-display.tsx +8 -2
- package/src/components/navigation/app-header.tsx +6 -6
- package/src/components/navigation/header-organization-filter.tsx +2 -2
- package/src/components/navigation/header.tsx +4 -4
- package/src/components/navigation/mobile-burger-menu.tsx +7 -7
- package/src/components/navigation/mobile-nav-panel.tsx +1 -1
- package/src/components/navigation/multi-level-navigation.tsx +7 -7
- package/src/components/navigation/navigation-sidebar.tsx +1 -1
- package/src/components/navigation/sticky-section-nav.tsx +2 -2
- package/src/components/onboarding-guides/onboarding-guides-catalog-view.tsx +4 -4
- package/src/components/pagination.tsx +2 -2
- package/src/components/persistent-filter-controls.tsx +1 -1
- package/src/components/platform/.ShellTypeBadge.md +1 -1
- package/src/components/platform/CveLink.tsx +1 -1
- package/src/components/platform/ScriptArguments.tsx +2 -2
- package/src/components/platform/ScriptInfoSection.tsx +5 -5
- package/src/components/platform/ShellTypeBadge.tsx +6 -6
- package/src/components/platform/SoftwareInfo.tsx +2 -2
- package/src/components/pricing-display.tsx +9 -9
- package/src/components/profile/ProfileLoadingSkeleton.tsx +6 -6
- package/src/components/related-content/related-content-section.tsx +3 -3
- package/src/components/results-count.tsx +1 -1
- package/src/components/shared/delivery/delivery-row.tsx +1 -1
- package/src/components/shared/delivery/delivery-table.tsx +1 -1
- package/src/components/shared/dev-section/dev-section-view.tsx +1 -1
- package/src/components/shared/doc-search/doc-search-result-row.tsx +2 -2
- package/src/components/shared/legal-document/legal-document-page.tsx +5 -5
- package/src/components/shared/onboarding/onboarding-step-card.tsx +1 -1
- package/src/components/shared/product-release/product-release-card-skeleton.tsx +3 -3
- package/src/components/shared/product-release/product-release-card.tsx +14 -14
- package/src/components/shared/product-release/release-detail-page.tsx +16 -16
- package/src/components/shared/roadmap/roadmap-grid.tsx +2 -2
- package/src/components/smooth-accordion.tsx +1 -1
- package/src/components/social-icon-row.tsx +1 -1
- package/src/components/sonner.tsx +5 -5
- package/src/components/steps.tsx +3 -3
- package/src/components/tickets/help-center-create-form.tsx +1 -1
- package/src/components/tickets/help-center-list.tsx +1 -1
- package/src/components/tickets/ticket-center.tsx +2 -2
- package/src/components/tickets/ticket-detail-drawer.tsx +5 -5
- package/src/components/tickets/ticket-open-form.tsx +6 -6
- package/src/components/ui/.title-content-block.md +1 -1
- package/src/components/ui/accordion.tsx +2 -2
- package/src/components/ui/actions-menu.tsx +1 -1
- package/src/components/ui/alert-dialog.tsx +3 -3
- package/src/components/ui/alert.tsx +2 -2
- package/src/components/ui/allowed-domains-input.tsx +3 -3
- package/src/components/ui/autocomplete.tsx +3 -3
- package/src/components/ui/badge.tsx +2 -2
- package/src/components/ui/brand-association-card.tsx +2 -2
- package/src/components/ui/breadcrumb.tsx +3 -3
- package/src/components/ui/bullet-list.tsx +2 -2
- package/src/components/ui/button/button.tsx +1 -1
- package/src/components/ui/card.tsx +4 -4
- package/src/components/ui/checkbox-with-description.tsx +1 -1
- package/src/components/ui/chevron-button.tsx +1 -1
- package/src/components/ui/content-loader.tsx +16 -16
- package/src/components/ui/cursor-pagination.tsx +1 -1
- package/src/components/ui/date-picker.tsx +2 -2
- package/src/components/ui/device-card-compact.tsx +2 -2
- package/src/components/ui/device-card.tsx +3 -3
- package/src/components/ui/dialog.tsx +3 -3
- package/src/components/ui/drawer.tsx +4 -4
- package/src/components/ui/dropdown-menu.tsx +6 -6
- package/src/components/ui/error-state.tsx +9 -9
- package/src/components/ui/fade-preview.tsx +1 -1
- package/src/components/ui/field-wrapper.tsx +1 -1
- package/src/components/ui/file-manager/file-manager-breadcrumb.tsx +2 -2
- package/src/components/ui/file-manager/file-manager-empty.tsx +3 -3
- package/src/components/ui/file-manager/file-manager-skeleton.tsx +4 -4
- package/src/components/ui/file-manager/file-manager-table-row.tsx +7 -7
- package/src/components/ui/file-manager/file-manager-table.tsx +8 -8
- package/src/components/ui/file-upload.tsx +9 -9
- package/src/components/ui/filter-pill-row.tsx +1 -1
- package/src/components/ui/floating-tooltip.tsx +1 -1
- package/src/components/ui/highlight-card.tsx +1 -1
- package/src/components/ui/hover-dropdown.tsx +1 -1
- package/src/components/ui/image-gallery-modal.tsx +1 -1
- package/src/components/ui/info-row.tsx +1 -1
- package/src/components/ui/input.tsx +1 -1
- package/src/components/ui/label.tsx +5 -5
- package/src/components/ui/markdown-editor.tsx +4 -5
- package/src/components/ui/menubar.tsx +7 -7
- package/src/components/ui/modal-v2.tsx +1 -1
- package/src/components/ui/modal.tsx +1 -1
- package/src/components/ui/more-actions-menu.tsx +1 -1
- package/src/components/ui/navigation-menu.tsx +1 -1
- package/src/components/ui/organization-card.tsx +8 -8
- package/src/components/ui/page-loader.tsx +6 -6
- package/src/components/ui/phone-input.tsx +1 -1
- package/src/components/ui/progress-bar.tsx +5 -5
- package/src/components/ui/query-report-table/.query-report-table-header.md +1 -1
- package/src/components/ui/query-report-table/query-report-table-header.tsx +1 -1
- package/src/components/ui/query-report-table/query-report-table-row.tsx +2 -2
- package/src/components/ui/query-report-table/query-report-table.tsx +1 -1
- package/src/components/ui/release-changelog-section.tsx +2 -2
- package/src/components/ui/rich-markdown-renderer.tsx +6 -6
- package/src/components/ui/search-input.tsx +7 -7
- package/src/components/ui/select.tsx +1 -1
- package/src/components/ui/service-card.tsx +4 -4
- package/src/components/ui/sheet.tsx +3 -3
- package/src/components/ui/simple-markdown-renderer.tsx +4 -4
- package/src/components/ui/square-avatar.tsx +9 -5
- package/src/components/ui/status-badge.tsx +11 -11
- package/src/components/ui/status-indicator.tsx +6 -6
- package/src/components/ui/tab-content.tsx +1 -1
- package/src/components/ui/tab-navigation.tsx +2 -2
- package/src/components/ui/table/table-column-filter-dropdown.tsx +1 -1
- package/src/components/ui/table/table-description-cell.tsx +1 -1
- package/src/components/ui/table/table-timestamp-cell.tsx +1 -1
- package/src/components/ui/table/table.tsx +2 -2
- package/src/components/ui/tabs.tsx +1 -1
- package/src/components/ui/tag-search-input.tsx +1 -1
- package/src/components/ui/tag.tsx +23 -23
- package/src/components/ui/tags-input.tsx +2 -2
- package/src/components/ui/ticket-status-tag.tsx +1 -1
- package/src/components/ui/toaster.tsx +8 -8
- package/src/components/ui/toggle.tsx +1 -1
- package/src/components/ui/tooltip.tsx +1 -1
- package/src/components/user-display.tsx +12 -6
- package/src/components/user-summary-stub.tsx +4 -4
- package/src/components/vendor-display-button.tsx +2 -2
- package/src/components/vendor-icon.tsx +1 -1
- package/src/components/vendor-tag.tsx +9 -10
- package/src/components/yes-no-display.tsx +3 -3
- package/src/styles/ods-colors.css +2 -0
- package/tailwind.config.ts +49 -4
- package/dist/chunk-2ELBNZJ3.js.map +0 -1
- package/dist/chunk-3WJQL4DN.cjs.map +0 -1
- package/dist/chunk-4ACSUJ7Q.js.map +0 -1
- package/dist/chunk-7WM77CSW.js.map +0 -1
- package/dist/chunk-COMBYYQY.js.map +0 -1
- package/dist/chunk-EGRZHR7J.js.map +0 -1
- package/dist/chunk-F7YVI54P.js.map +0 -1
- package/dist/chunk-G5FALXNO.js.map +0 -1
- package/dist/chunk-HTVVXVJL.cjs.map +0 -1
- package/dist/chunk-IAN7GUIV.cjs.map +0 -1
- package/dist/chunk-IMK6RUEC.cjs.map +0 -1
- package/dist/chunk-M6QGB6DC.cjs.map +0 -1
- package/dist/chunk-N2TJ3HAM.cjs.map +0 -1
- package/dist/chunk-NQQ4NLUT.js.map +0 -1
- package/dist/chunk-P7PISHM5.js.map +0 -1
- package/dist/chunk-PBTY7AH5.js.map +0 -1
- package/dist/chunk-R46QEE3R.cjs.map +0 -1
- package/dist/chunk-RQQZF6G6.cjs.map +0 -1
- package/dist/chunk-RVWC4P3H.js.map +0 -1
- package/dist/chunk-VWGF6IFR.cjs.map +0 -1
- package/dist/chunk-WAGTZVQN.js.map +0 -1
- package/dist/chunk-WZ6TCAYQ.cjs.map +0 -1
- package/dist/components/accordion.d.ts +0 -8
- package/dist/components/accordion.d.ts.map +0 -1
- package/dist/components/alert-dialog.d.ts +0 -21
- package/dist/components/alert-dialog.d.ts.map +0 -1
- package/dist/components/alert.d.ts +0 -9
- package/dist/components/alert.d.ts.map +0 -1
- package/dist/components/badge.d.ts +0 -10
- package/dist/components/badge.d.ts.map +0 -1
- package/dist/components/breadcrumb.d.ts +0 -20
- package/dist/components/breadcrumb.d.ts.map +0 -1
- package/dist/components/chevron-button.d.ts +0 -14
- package/dist/components/chevron-button.d.ts.map +0 -1
- package/dist/components/dialog.d.ts +0 -29
- package/dist/components/dialog.d.ts.map +0 -1
- package/dist/components/dropdown-menu.d.ts +0 -28
- package/dist/components/dropdown-menu.d.ts.map +0 -1
- package/dist/components/input.d.ts +0 -8
- package/dist/components/input.d.ts.map +0 -1
- package/dist/components/label.d.ts +0 -6
- package/dist/components/label.d.ts.map +0 -1
- package/dist/components/menubar.d.ts +0 -34
- package/dist/components/menubar.d.ts.map +0 -1
- package/dist/components/navigation-menu.d.ts +0 -13
- package/dist/components/navigation-menu.d.ts.map +0 -1
- package/dist/components/select.d.ts +0 -14
- package/dist/components/select.d.ts.map +0 -1
- package/dist/components/sidebar.d.ts +0 -67
- package/dist/components/sidebar.d.ts.map +0 -1
- package/dist/components/square-avatar.d.ts +0 -21
- package/dist/components/square-avatar.d.ts.map +0 -1
- package/dist/components/table.d.ts +0 -11
- package/dist/components/table.d.ts.map +0 -1
- package/dist/components/tabs.d.ts +0 -18
- package/dist/components/tabs.d.ts.map +0 -1
- package/dist/components/toggle.d.ts +0 -13
- package/dist/components/toggle.d.ts.map +0 -1
- package/src/components/.accordion.md +0 -42
- package/src/components/.alert-dialog.md +0 -58
- package/src/components/.alert.md +0 -43
- package/src/components/.badge.md +0 -40
- package/src/components/.breadcrumb.md +0 -54
- package/src/components/.chevron-button.md +0 -46
- package/src/components/.dialog.md +0 -60
- package/src/components/.dropdown-menu.md +0 -51
- package/src/components/.input.md +0 -40
- package/src/components/.label.md +0 -41
- package/src/components/.menubar.md +0 -49
- package/src/components/.navigation-menu.md +0 -44
- package/src/components/.select.md +0 -54
- package/src/components/.sidebar.md +0 -58
- package/src/components/.square-avatar.md +0 -42
- package/src/components/.table.md +0 -51
- package/src/components/.tabs.md +0 -38
- package/src/components/.toggle.md +0 -49
- package/src/components/accordion.tsx +0 -56
- package/src/components/alert-dialog.tsx +0 -141
- package/src/components/alert.tsx +0 -59
- package/src/components/badge.tsx +0 -30
- package/src/components/breadcrumb.tsx +0 -115
- package/src/components/chevron-button.tsx +0 -68
- package/src/components/dialog.tsx +0 -150
- package/src/components/dropdown-menu.tsx +0 -200
- package/src/components/input.tsx +0 -39
- package/src/components/label.tsx +0 -19
- package/src/components/menubar.tsx +0 -236
- package/src/components/navigation-menu.tsx +0 -128
- package/src/components/select.tsx +0 -160
- package/src/components/sidebar.tsx +0 -764
- package/src/components/square-avatar.tsx +0 -61
- package/src/components/table.tsx +0 -72
- package/src/components/tabs.tsx +0 -65
- package/src/components/toggle.tsx +0 -45
- /package/dist/{chunk-QXYOGJQJ.js.map → chunk-7KDR5P23.js.map} +0 -0
- /package/dist/{chunk-PEIR7D25.js.map → chunk-7KNOHGMI.js.map} +0 -0
|
@@ -21,7 +21,7 @@ const BreadcrumbList = React.forwardRef<
|
|
|
21
21
|
<ol
|
|
22
22
|
ref={ref}
|
|
23
23
|
className={cn(
|
|
24
|
-
"flex flex-wrap items-center gap-1.5 break-words text-
|
|
24
|
+
"flex flex-wrap items-center gap-1.5 break-words text-h6 text-ods-text-muted md:gap-2.5",
|
|
25
25
|
className
|
|
26
26
|
)}
|
|
27
27
|
{...props}
|
|
@@ -52,7 +52,7 @@ const BreadcrumbLink = React.forwardRef<
|
|
|
52
52
|
return (
|
|
53
53
|
<Comp
|
|
54
54
|
ref={ref}
|
|
55
|
-
className={cn("transition-colors hover:text-
|
|
55
|
+
className={cn("transition-colors hover:text-ods-text-primary", className)}
|
|
56
56
|
{...props}
|
|
57
57
|
/>
|
|
58
58
|
)
|
|
@@ -68,7 +68,7 @@ const BreadcrumbPage = React.forwardRef<
|
|
|
68
68
|
role="link"
|
|
69
69
|
aria-disabled="true"
|
|
70
70
|
aria-current="page"
|
|
71
|
-
className={cn("font-normal text-
|
|
71
|
+
className={cn("font-normal text-ods-text-primary", className)}
|
|
72
72
|
{...props}
|
|
73
73
|
/>
|
|
74
74
|
))
|
|
@@ -27,10 +27,10 @@ const spacingMap = {
|
|
|
27
27
|
|
|
28
28
|
export function BulletList({
|
|
29
29
|
items,
|
|
30
|
-
bulletColor = 'var(--
|
|
30
|
+
bulletColor = 'var(--color-text-primary)',
|
|
31
31
|
bulletIcon: BulletIcon = ShapeCircleDashIcon,
|
|
32
32
|
bulletSize = 16,
|
|
33
|
-
textClassName =
|
|
33
|
+
textClassName = 'text-h4 text-ods-text-primary',
|
|
34
34
|
itemClassName = 'flex items-start gap-3',
|
|
35
35
|
containerClassName = '',
|
|
36
36
|
spacing = 'md'
|
|
@@ -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)] text-h6 font-normal 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-h2",
|
|
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-h6 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="
|
|
102
|
-
<span className="text-
|
|
101
|
+
<span className="text-h6 text-ods-text-primary mb-0.5 text-left">{title}</span>
|
|
102
|
+
<span className="text-h6 text-ods-text-secondary 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-h6 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-skeleton 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-skeleton rounded mb-2" />
|
|
47
|
+
<div className="h-6 w-32 bg-ods-skeleton 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-skeleton 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-skeleton rounded w-32 mb-2" />
|
|
66
|
+
<div className="h-10 bg-ods-skeleton 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-skeleton 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-skeleton 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-skeleton 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-skeleton 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-skeleton 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-skeleton 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-skeleton 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-skeleton rounded w-3/4 mb-2" />
|
|
109
|
+
<div className="h-3 bg-ods-skeleton 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-skeleton 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-h6 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-
|
|
251
|
+
range_middle: "range-middle !bg-ods-open-yellow-light !text-ods-card !font-medium !rounded-none hover:!bg-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="
|
|
38
|
+
<span className="text-h6 text-ods-text-primary truncate" title={deviceName}>
|
|
39
39
|
{deviceName}
|
|
40
40
|
</span>
|
|
41
41
|
)}
|
|
42
42
|
{hasOrg && (
|
|
43
|
-
<span className="
|
|
43
|
+
<span className="text-h6 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="
|
|
113
|
+
<span className="text-h6 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">
|
|
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
|
|
165
|
+
<span className="flex-1 text-h6 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-ods-overlay 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-h3", 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-h6 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-ods-overlay"
|
|
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-ods-bg-surface",
|
|
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
|
|
498
|
+
"min-w-0 flex-1 break-words text-h3 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
|
|
523
|
+
"min-w-0 break-words text-h6 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-h6 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-h6 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-h6 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-h6 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-h6 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-h6 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-
|
|
41
|
-
border: 'border-ods-
|
|
42
|
-
text: 'text-ods-
|
|
43
|
-
icon: 'text-ods-
|
|
40
|
+
bg: 'bg-ods-error-secondary',
|
|
41
|
+
border: 'border-ods-error',
|
|
42
|
+
text: 'text-ods-error',
|
|
43
|
+
icon: 'text-ods-error'
|
|
44
44
|
}
|
|
45
45
|
case 'warning':
|
|
46
46
|
return {
|
|
47
|
-
bg: 'bg-ods-
|
|
48
|
-
border: 'border-ods-
|
|
49
|
-
text: 'text-ods-
|
|
50
|
-
icon: 'text-ods-
|
|
47
|
+
bg: 'bg-ods-warning-secondary',
|
|
48
|
+
border: 'border-ods-warning',
|
|
49
|
+
text: 'text-ods-warning',
|
|
50
|
+
icon: 'text-ods-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-h6", 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-h6 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-
|
|
20
|
+
warning: "text-ods-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-h6 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-hover 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-surface 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-h4 text-ods-text-primary mb-2">
|
|
25
25
|
{message}
|
|
26
26
|
</h3>
|
|
27
27
|
|
|
28
|
-
<p className="text-
|
|
28
|
+
<p className="text-h6 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-surface 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-h5 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-h5 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-h5 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-hover transition-colors cursor-pointer',
|
|
52
|
+
isSelected && 'bg-ods-bg-surface',
|
|
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-h6 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-h6 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-h6 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-h6 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-surface 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-h5 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-h5 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-h5 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-surface 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-h5 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-h5 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-h5 text-ods-text-secondary">
|
|
176
176
|
EDITED
|
|
177
177
|
</div>
|
|
178
178
|
|