@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
|
@@ -19,9 +19,9 @@ export interface ConfidenceBadgeProps {
|
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
const sizeStyles = {
|
|
22
|
-
sm: 'text-
|
|
23
|
-
md: 'text-
|
|
24
|
-
lg: 'text-
|
|
22
|
+
sm: 'text-h6 px-1.5 py-0.5',
|
|
23
|
+
md: 'text-h6 px-2 py-1',
|
|
24
|
+
lg: 'text-h6 px-3 py-1.5',
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
export const ConfidenceBadge: React.FC<ConfidenceBadgeProps> = ({
|
|
@@ -45,7 +45,7 @@ export const ConfidenceBadge: React.FC<ConfidenceBadgeProps> = ({
|
|
|
45
45
|
return (
|
|
46
46
|
<span
|
|
47
47
|
className={cn(
|
|
48
|
-
'inline-flex items-center gap-1 rounded-full border
|
|
48
|
+
'inline-flex items-center gap-1 rounded-full border',
|
|
49
49
|
sizeStyles[size],
|
|
50
50
|
borderClass,
|
|
51
51
|
textClass,
|
|
@@ -124,7 +124,7 @@ export function ArrayEntryManager<T extends { [key: string]: any }>({
|
|
|
124
124
|
return (
|
|
125
125
|
<div className={`space-y-3 ${className}`}>
|
|
126
126
|
<div className="flex items-center justify-between">
|
|
127
|
-
<Label className="text-
|
|
127
|
+
<Label className="text-h6 text-ods-text-primary">{title}</Label>
|
|
128
128
|
<div className="flex items-center gap-2">
|
|
129
129
|
{requireSave && isDirty && (
|
|
130
130
|
<Button
|
|
@@ -133,7 +133,7 @@ export function ArrayEntryManager<T extends { [key: string]: any }>({
|
|
|
133
133
|
onClick={handleSave}
|
|
134
134
|
disabled={isSaving}
|
|
135
135
|
leftIcon={isSaving ? <Loader2 className="h-4 w-4 animate-spin" /> : <Save className="h-4 w-4" />}
|
|
136
|
-
className="
|
|
136
|
+
className="text-h6 bg-ods-accent text-ods-text-on-accent hover:bg-ods-accent-hover"
|
|
137
137
|
>
|
|
138
138
|
{isSaving ? 'Saving...' : saveButtonText}
|
|
139
139
|
</Button>
|
|
@@ -144,7 +144,7 @@ export function ArrayEntryManager<T extends { [key: string]: any }>({
|
|
|
144
144
|
size="small-legacy"
|
|
145
145
|
onClick={addItem}
|
|
146
146
|
leftIcon={<Plus className="h-4 w-4" />}
|
|
147
|
-
className="
|
|
147
|
+
className="text-h6"
|
|
148
148
|
>
|
|
149
149
|
{addButtonText}
|
|
150
150
|
</Button>
|
|
@@ -152,7 +152,7 @@ export function ArrayEntryManager<T extends { [key: string]: any }>({
|
|
|
152
152
|
</div>
|
|
153
153
|
|
|
154
154
|
{workingItems.map((item, index) => (
|
|
155
|
-
<div key={index} className="flex items-center gap-3 p-3 bg-ods-bg-
|
|
155
|
+
<div key={index} className="flex items-center gap-3 p-3 bg-ods-bg-surface rounded-lg border border-ods-border">
|
|
156
156
|
{icon && (
|
|
157
157
|
<div className="w-8 h-8 flex items-center justify-center">
|
|
158
158
|
{icon}
|
|
@@ -176,7 +176,7 @@ export function ArrayEntryManager<T extends { [key: string]: any }>({
|
|
|
176
176
|
variant="transparent"
|
|
177
177
|
size="icon"
|
|
178
178
|
onClick={() => removeItem(index)}
|
|
179
|
-
className="text-ods-
|
|
179
|
+
className="text-ods-error hover:bg-ods-error-secondary"
|
|
180
180
|
>
|
|
181
181
|
<Trash2 className="h-4 w-4" />
|
|
182
182
|
</Button>
|
|
@@ -184,8 +184,8 @@ export function ArrayEntryManager<T extends { [key: string]: any }>({
|
|
|
184
184
|
))}
|
|
185
185
|
|
|
186
186
|
{workingItems.length === 0 && (
|
|
187
|
-
<div className="text-center py-4 px-4 bg-ods-bg-
|
|
188
|
-
<p className="text-ods-text-secondary text-
|
|
187
|
+
<div className="text-center py-4 px-4 bg-ods-bg-surface border border-ods-border rounded-lg">
|
|
188
|
+
<p className="text-ods-text-secondary text-h6">
|
|
189
189
|
{emptyMessage}
|
|
190
190
|
</p>
|
|
191
191
|
</div>
|
|
@@ -50,7 +50,7 @@ export function AuthProvidersList({
|
|
|
50
50
|
<div className="absolute inset-0 flex items-center">
|
|
51
51
|
<div className="w-full border-t border-ods-border" />
|
|
52
52
|
</div>
|
|
53
|
-
<div className="relative flex justify-center text-
|
|
53
|
+
<div className="relative flex justify-center text-h6">
|
|
54
54
|
<span className="px-2 bg-ods-card text-ods-text-secondary">{dividerText}</span>
|
|
55
55
|
</div>
|
|
56
56
|
</div>
|
|
@@ -77,7 +77,7 @@ export function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprov
|
|
|
77
77
|
/>
|
|
78
78
|
))}
|
|
79
79
|
{ticket.assignees.length > MAX_VISIBLE_ASSIGNEES && (
|
|
80
|
-
<div className="flex h-8 w-8 shrink-0 items-center justify-center rounded-full border border-ods-border bg-ods-bg text-
|
|
80
|
+
<div className="flex h-8 w-8 shrink-0 items-center justify-center rounded-full border border-ods-border bg-ods-bg text-h6 text-ods-text-secondary">
|
|
81
81
|
+{ticket.assignees.length - MAX_VISIBLE_ASSIGNEES}
|
|
82
82
|
</div>
|
|
83
83
|
)}
|
|
@@ -89,7 +89,7 @@ export function ChangelogManager({
|
|
|
89
89
|
return (
|
|
90
90
|
<div className={`space-y-3 ${className}`}>
|
|
91
91
|
<div className="flex items-center justify-between">
|
|
92
|
-
<Label className="text-
|
|
92
|
+
<Label className="text-h6 text-ods-text-primary">
|
|
93
93
|
{title}
|
|
94
94
|
</Label>
|
|
95
95
|
<Button
|
|
@@ -98,7 +98,7 @@ export function ChangelogManager({
|
|
|
98
98
|
size="small-legacy"
|
|
99
99
|
onClick={addEntry}
|
|
100
100
|
leftIcon={<Plus className="h-4 w-4" />}
|
|
101
|
-
className="
|
|
101
|
+
className="text-h6"
|
|
102
102
|
>
|
|
103
103
|
Add Entry
|
|
104
104
|
</Button>
|
|
@@ -109,7 +109,7 @@ export function ChangelogManager({
|
|
|
109
109
|
const hasContent = entry.title.trim().length > 0;
|
|
110
110
|
|
|
111
111
|
return (
|
|
112
|
-
<div key={index} className="bg-ods-bg-
|
|
112
|
+
<div key={index} className="bg-ods-bg-surface rounded-lg border border-ods-border overflow-hidden">
|
|
113
113
|
{/* Header - always visible */}
|
|
114
114
|
<div className="flex items-center gap-3 p-3">
|
|
115
115
|
<Button
|
|
@@ -124,11 +124,11 @@ export function ChangelogManager({
|
|
|
124
124
|
|
|
125
125
|
<div className="flex-1 min-w-0">
|
|
126
126
|
{hasContent ? (
|
|
127
|
-
<p className="
|
|
127
|
+
<p className="text-h6 text-ods-text-primary truncate">
|
|
128
128
|
{entry.title}
|
|
129
129
|
</p>
|
|
130
130
|
) : (
|
|
131
|
-
<p className="
|
|
131
|
+
<p className="text-h6 text-ods-text-secondary italic">
|
|
132
132
|
New entry (click to edit)
|
|
133
133
|
</p>
|
|
134
134
|
)}
|
|
@@ -160,7 +160,7 @@ export function ChangelogManager({
|
|
|
160
160
|
variant="transparent"
|
|
161
161
|
size="icon"
|
|
162
162
|
onClick={() => removeEntry(index)}
|
|
163
|
-
className="text-
|
|
163
|
+
className="text-ods-error hover:text-ods-error-hover hover:bg-ods-error-secondary shrink-0"
|
|
164
164
|
>
|
|
165
165
|
<Trash2 className="h-4 w-4" />
|
|
166
166
|
</Button>
|
|
@@ -171,7 +171,7 @@ export function ChangelogManager({
|
|
|
171
171
|
<div className="px-3 pb-3 space-y-3 border-t border-ods-border pt-3">
|
|
172
172
|
{/* Title */}
|
|
173
173
|
<div className="space-y-1">
|
|
174
|
-
<Label className="text-
|
|
174
|
+
<Label className="text-h6 text-ods-text-secondary">Title *</Label>
|
|
175
175
|
<Input
|
|
176
176
|
placeholder="e.g., New dark mode theme support"
|
|
177
177
|
value={entry.title}
|
|
@@ -183,7 +183,7 @@ export function ChangelogManager({
|
|
|
183
183
|
|
|
184
184
|
{/* Description */}
|
|
185
185
|
<div className="space-y-1">
|
|
186
|
-
<Label className="text-
|
|
186
|
+
<Label className="text-h6 text-ods-text-secondary">Description</Label>
|
|
187
187
|
<Textarea
|
|
188
188
|
placeholder="Detailed explanation of the change..."
|
|
189
189
|
value={entry.description || ''}
|
|
@@ -199,8 +199,8 @@ export function ChangelogManager({
|
|
|
199
199
|
})}
|
|
200
200
|
|
|
201
201
|
{entries.length === 0 && (
|
|
202
|
-
<div className="text-center py-4 px-4 bg-ods-bg-
|
|
203
|
-
<p className="text-ods-text-secondary text-
|
|
202
|
+
<div className="text-center py-4 px-4 bg-ods-bg-surface border border-ods-border rounded-lg">
|
|
203
|
+
<p className="text-ods-text-secondary text-h6">
|
|
204
204
|
No entries added. Click "Add Entry" to create {title.toLowerCase()}.
|
|
205
205
|
</p>
|
|
206
206
|
</div>
|
|
@@ -94,14 +94,14 @@ export function CommandBox({
|
|
|
94
94
|
return (
|
|
95
95
|
<div className={cn('flex flex-col gap-2', className)}>
|
|
96
96
|
{title && (
|
|
97
|
-
<div className="text-ods-text-primary text-
|
|
97
|
+
<div className="text-ods-text-primary text-h4">
|
|
98
98
|
{title}
|
|
99
99
|
</div>
|
|
100
100
|
)}
|
|
101
101
|
<div className="bg-ods-bg border border-ods-border rounded-[6px] p-4">
|
|
102
102
|
<div
|
|
103
103
|
className={cn(
|
|
104
|
-
'text-ods-text-primary
|
|
104
|
+
'text-ods-text-primary text-code break-all',
|
|
105
105
|
lineClampClass,
|
|
106
106
|
commandClassName
|
|
107
107
|
)}
|
|
@@ -66,10 +66,10 @@ export function EntitySummaryEditor({
|
|
|
66
66
|
/>
|
|
67
67
|
)}
|
|
68
68
|
</div>
|
|
69
|
-
<p className="text-
|
|
69
|
+
<p className="text-h6 text-ods-text-secondary mt-1">{helperText}</p>
|
|
70
70
|
</div>
|
|
71
71
|
<div
|
|
72
|
-
className="rounded-lg border border-ods-border bg-
|
|
72
|
+
className="rounded-lg border border-ods-border bg-ods-card overflow-hidden"
|
|
73
73
|
style={{ minHeight: `${minHeight}px` }}
|
|
74
74
|
>
|
|
75
75
|
<Textarea
|
|
@@ -78,7 +78,7 @@ export function EntitySummaryEditor({
|
|
|
78
78
|
onChange={(e) => onSummaryChange(e.target.value)}
|
|
79
79
|
placeholder={placeholder}
|
|
80
80
|
disabled={disabled}
|
|
81
|
-
className="h-full w-full resize-none border-0 bg-transparent text-ods-text-primary placeholder:text-ods-text-secondary/50 focus:ring-0 focus:outline-none p-4
|
|
81
|
+
className="h-full w-full resize-none border-0 bg-transparent text-ods-text-primary placeholder:text-ods-text-secondary/50 focus:ring-0 focus:outline-none p-4 text-code"
|
|
82
82
|
style={{ minHeight: `${minHeight}px`, lineHeight: '1.6' }}
|
|
83
83
|
/>
|
|
84
84
|
</div>
|
|
@@ -391,7 +391,7 @@ function renderUnifiedUI(state: UnifiedState, handlers: {
|
|
|
391
391
|
<div
|
|
392
392
|
className="absolute z-10 bottom-4 left-4"
|
|
393
393
|
>
|
|
394
|
-
<Badge variant="secondary" className="bg-
|
|
394
|
+
<Badge variant="secondary" className="bg-ods-overlay text-ods-text-on-dark backdrop-blur-sm">
|
|
395
395
|
Tap twice to click
|
|
396
396
|
</Badge>
|
|
397
397
|
</div>
|
|
@@ -429,10 +429,10 @@ function renderUnifiedUI(state: UnifiedState, handlers: {
|
|
|
429
429
|
{showSkeleton && (
|
|
430
430
|
<div className="absolute inset-0 w-full h-full bg-ods-skeleton animate-pulse rounded-lg z-10 flex items-center justify-center">
|
|
431
431
|
<div className="text-center">
|
|
432
|
-
<div className="text-
|
|
433
|
-
Warming up <span className="text-
|
|
432
|
+
<div className="text-h2 text-ods-text-primary">
|
|
433
|
+
Warming up <span className="text-ods-open-yellow">Fae</span> and <span className="text-ods-open-yellow">Mingo</span>
|
|
434
434
|
</div>
|
|
435
|
-
<div className="mt-2 text-
|
|
435
|
+
<div className="mt-2 text-h6 text-ods-text-secondary">
|
|
436
436
|
Loading AI Co-Pilots...
|
|
437
437
|
</div>
|
|
438
438
|
</div>
|
|
@@ -739,9 +739,9 @@ export const FigmaPrototypeViewer: React.FC<FigmaPrototypeViewerProps> = ({
|
|
|
739
739
|
{/* Debug Panel */}
|
|
740
740
|
{showDebugPanel && (
|
|
741
741
|
<div className="mt-6 p-4 bg-ods-card border border-ods-border rounded-md">
|
|
742
|
-
<h3 className="
|
|
743
|
-
|
|
744
|
-
<div className="grid grid-cols-2 gap-4 text-
|
|
742
|
+
<h3 className="text-h3 text-ods-text-primary mb-3">🔍 Debug Panel</h3>
|
|
743
|
+
|
|
744
|
+
<div className="grid grid-cols-2 gap-4 text-h6">
|
|
745
745
|
<div>
|
|
746
746
|
<span className="text-ods-text-secondary">View Mode:</span>{' '}
|
|
747
747
|
<span className="text-ods-text-primary font-mono">{viewMode}</span>
|
|
@@ -774,13 +774,13 @@ export const FigmaPrototypeViewer: React.FC<FigmaPrototypeViewerProps> = ({
|
|
|
774
774
|
</div>
|
|
775
775
|
</div>
|
|
776
776
|
|
|
777
|
-
<div className="mt-3 text-
|
|
777
|
+
<div className="mt-3 text-h6 text-ods-text-secondary">
|
|
778
778
|
Margins: {scaling.marginX.toFixed(0)}px × {scaling.marginY.toFixed(0)}px
|
|
779
779
|
</div>
|
|
780
780
|
|
|
781
781
|
{/* Additional debug info */}
|
|
782
782
|
<div className="mt-3 pt-3 border-t border-ods-border">
|
|
783
|
-
<div className="text-
|
|
783
|
+
<div className="text-h6 text-ods-text-secondary space-y-1">
|
|
784
784
|
<div>
|
|
785
785
|
<span className="text-ods-text-secondary">File Key:</span>{' '}
|
|
786
786
|
<span className="text-ods-text-primary font-mono">
|
|
@@ -69,7 +69,7 @@ const FilterCheckbox: React.FC<{
|
|
|
69
69
|
aria-checked={checked}
|
|
70
70
|
className={cn(
|
|
71
71
|
"relative h-6 w-6 rounded-[6px] transition-all duration-150 shrink-0",
|
|
72
|
-
checked ? "bg-ods-accent" : "bg-ods-bg-
|
|
72
|
+
checked ? "bg-ods-accent" : "bg-ods-bg-surface",
|
|
73
73
|
!checked && "border-2 border-ods-border",
|
|
74
74
|
disabled && "opacity-50",
|
|
75
75
|
className
|
|
@@ -423,7 +423,7 @@ export const FiltersDropdown: React.FC<FiltersDropdownProps> = ({
|
|
|
423
423
|
onClick={() => handleToggleOption(section.id, option.id, section.type)}
|
|
424
424
|
className={cn(
|
|
425
425
|
"flex items-center gap-[var(--spacing-system-s)] p-[var(--spacing-system-s)] w-full text-left",
|
|
426
|
-
isSelected ? "bg-ods-bg-
|
|
426
|
+
isSelected ? "bg-ods-bg-surface" : "bg-ods-bg",
|
|
427
427
|
!isLast && "border-b border-ods-border",
|
|
428
428
|
"hover:bg-ods-bg-hover transition-colors"
|
|
429
429
|
)}
|
|
@@ -34,10 +34,10 @@ export function HighlightConfigSection({
|
|
|
34
34
|
className = '',
|
|
35
35
|
}: HighlightConfigSectionProps) {
|
|
36
36
|
return (
|
|
37
|
-
<div className={`space-y-3 p-4 bg-
|
|
37
|
+
<div className={`space-y-3 p-4 bg-ods-card rounded-lg border border-ods-border ${className}`}>
|
|
38
38
|
<div className="flex items-center gap-4">
|
|
39
39
|
<div className="flex-1">
|
|
40
|
-
<Label className="text-
|
|
40
|
+
<Label className="text-h6">Target Duration</Label>
|
|
41
41
|
<Select
|
|
42
42
|
value={targetDurationSeconds.toString()}
|
|
43
43
|
onValueChange={(value) => onTargetDurationChange(parseInt(value))}
|
|
@@ -64,7 +64,7 @@ export function HighlightConfigSection({
|
|
|
64
64
|
disabled={disabled}
|
|
65
65
|
className="h-4 w-4 rounded border-ods-border bg-ods-bg text-ods-accent focus:ring-ods-accent"
|
|
66
66
|
/>
|
|
67
|
-
<Label htmlFor="skipSubtitleBurning" className="text-
|
|
67
|
+
<Label htmlFor="skipSubtitleBurning" className="text-h6 cursor-pointer">
|
|
68
68
|
Skip subtitle burning
|
|
69
69
|
</Label>
|
|
70
70
|
</div>
|
|
@@ -197,7 +197,7 @@ export function HighlightVideoCombinedSection({
|
|
|
197
197
|
<AIGeneratedBadge />
|
|
198
198
|
)}
|
|
199
199
|
{highlightVideoDurationMs && (
|
|
200
|
-
<Badge variant="outline" className="text-
|
|
200
|
+
<Badge variant="outline" className="text-h6">
|
|
201
201
|
{formatDuration(highlightVideoDurationMs)}
|
|
202
202
|
</Badge>
|
|
203
203
|
)}
|
|
@@ -224,7 +224,7 @@ export function HighlightVideoCombinedSection({
|
|
|
224
224
|
onDelete,
|
|
225
225
|
})
|
|
226
226
|
) : (
|
|
227
|
-
<p className="text-
|
|
227
|
+
<p className="text-h6 text-ods-text-secondary italic">
|
|
228
228
|
{emptyMessage}
|
|
229
229
|
</p>
|
|
230
230
|
)}
|
|
@@ -84,7 +84,7 @@ export function HighlightVideoPreview({
|
|
|
84
84
|
<AIGeneratedBadge />
|
|
85
85
|
)}
|
|
86
86
|
{highlightVideoDurationMs && (
|
|
87
|
-
<Badge variant="outline" className="text-
|
|
87
|
+
<Badge variant="outline" className="text-h6">
|
|
88
88
|
{formatDuration(highlightVideoDurationMs)}
|
|
89
89
|
</Badge>
|
|
90
90
|
)}
|
|
@@ -111,7 +111,7 @@ export function HighlightVideoPreview({
|
|
|
111
111
|
onDelete,
|
|
112
112
|
})
|
|
113
113
|
) : (
|
|
114
|
-
<p className="text-
|
|
114
|
+
<p className="text-h6 text-ods-text-secondary italic">
|
|
115
115
|
{emptyMessage}
|
|
116
116
|
</p>
|
|
117
117
|
)}
|
|
@@ -130,16 +130,16 @@ export function HighlightVideoSection({
|
|
|
130
130
|
return (
|
|
131
131
|
<div className={`space-y-4 ${className}`}>
|
|
132
132
|
{/* Highlight Video Configuration */}
|
|
133
|
-
<div className="space-y-3 p-4 bg-ods-
|
|
133
|
+
<div className="space-y-3 p-4 bg-ods-card rounded-lg border border-ods-border">
|
|
134
134
|
<div className="flex items-center gap-4">
|
|
135
135
|
<div className="flex-1">
|
|
136
|
-
<Label className="text-
|
|
136
|
+
<Label className="text-h6">Target Duration</Label>
|
|
137
137
|
<Select
|
|
138
138
|
value={targetDurationSeconds.toString()}
|
|
139
139
|
onValueChange={(value) => onTargetDurationChange(parseInt(value))}
|
|
140
140
|
disabled={disabled}
|
|
141
141
|
>
|
|
142
|
-
<SelectTrigger className="bg-ods-
|
|
142
|
+
<SelectTrigger className="bg-ods-bg-surface mt-1">
|
|
143
143
|
<SelectValue />
|
|
144
144
|
</SelectTrigger>
|
|
145
145
|
<SelectContent className="bg-ods-card">
|
|
@@ -158,9 +158,9 @@ export function HighlightVideoSection({
|
|
|
158
158
|
checked={skipSubtitleBurning}
|
|
159
159
|
onChange={(e) => onSkipSubtitleBurningChange(e.target.checked)}
|
|
160
160
|
disabled={disabled}
|
|
161
|
-
className="h-4 w-4 rounded border-ods-border bg-ods-
|
|
161
|
+
className="h-4 w-4 rounded border-ods-border bg-ods-bg-surface text-ods-accent focus:ring-ods-accent"
|
|
162
162
|
/>
|
|
163
|
-
<Label htmlFor="skipSubtitleBurning" className="text-
|
|
163
|
+
<Label htmlFor="skipSubtitleBurning" className="text-h6 cursor-pointer">
|
|
164
164
|
Skip subtitle burning
|
|
165
165
|
</Label>
|
|
166
166
|
</div>
|
|
@@ -199,7 +199,7 @@ export function HighlightVideoSection({
|
|
|
199
199
|
<AIGeneratedBadge />
|
|
200
200
|
)}
|
|
201
201
|
{highlightVideoDurationMs && (
|
|
202
|
-
<Badge variant="outline" className="text-
|
|
202
|
+
<Badge variant="outline" className="text-h6">
|
|
203
203
|
{formatDuration(highlightVideoDurationMs)}
|
|
204
204
|
</Badge>
|
|
205
205
|
)}
|
|
@@ -217,7 +217,7 @@ export function HighlightVideoSection({
|
|
|
217
217
|
</div>
|
|
218
218
|
|
|
219
219
|
{uploadError && (
|
|
220
|
-
<p className="text-
|
|
220
|
+
<p className="text-h6 text-ods-error">{uploadError}</p>
|
|
221
221
|
)}
|
|
222
222
|
|
|
223
223
|
{highlightVideoUrl ? (
|
|
@@ -243,7 +243,7 @@ export function HighlightVideoSection({
|
|
|
243
243
|
className="absolute top-2 right-2 p-1.5 bg-black/60 hover:bg-black/80 rounded-full transition-colors"
|
|
244
244
|
>
|
|
245
245
|
<span className="sr-only">Delete</span>
|
|
246
|
-
<svg className="h-4 w-4 text-
|
|
246
|
+
<svg className="h-4 w-4 text-ods-text-on-dark" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
|
247
247
|
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M6 18L18 6M6 6l12 12" />
|
|
248
248
|
</svg>
|
|
249
249
|
</button>
|
|
@@ -251,7 +251,7 @@ export function HighlightVideoSection({
|
|
|
251
251
|
</div>
|
|
252
252
|
)
|
|
253
253
|
) : (
|
|
254
|
-
<p className="text-
|
|
254
|
+
<p className="text-h6 text-ods-text-secondary italic">
|
|
255
255
|
No highlight video yet. Use AI generation above or upload manually.
|
|
256
256
|
</p>
|
|
257
257
|
)}
|
|
@@ -129,7 +129,7 @@ export function MediaGalleryManager({
|
|
|
129
129
|
>
|
|
130
130
|
{/* Drag Handle */}
|
|
131
131
|
<div className="absolute top-2 left-2 opacity-0 group-hover:opacity-100 transition-opacity cursor-move z-10">
|
|
132
|
-
<GripVertical className="h-4 w-4 text-
|
|
132
|
+
<GripVertical className="h-4 w-4 text-ods-text-on-dark drop-shadow" />
|
|
133
133
|
</div>
|
|
134
134
|
|
|
135
135
|
{/* Delete Button */}
|
|
@@ -140,12 +140,12 @@ export function MediaGalleryManager({
|
|
|
140
140
|
size="small-legacy"
|
|
141
141
|
onClick={() => handleDeleteMedia(index)}
|
|
142
142
|
disabled={isDeleting}
|
|
143
|
-
className="h-8 w-8 p-0 bg-
|
|
143
|
+
className="h-8 w-8 p-0 bg-ods-error hover:bg-ods-error-hover border-ods-error"
|
|
144
144
|
>
|
|
145
145
|
{isDeleting ? (
|
|
146
|
-
<Loader2 className="h-4 w-4 animate-spin text-
|
|
146
|
+
<Loader2 className="h-4 w-4 animate-spin text-ods-text-on-dark" />
|
|
147
147
|
) : (
|
|
148
|
-
<Trash2 className="h-4 w-4 text-
|
|
148
|
+
<Trash2 className="h-4 w-4 text-ods-text-on-dark" />
|
|
149
149
|
)}
|
|
150
150
|
</Button>
|
|
151
151
|
</div>
|
|
@@ -178,12 +178,12 @@ export function MediaGalleryManager({
|
|
|
178
178
|
) : (
|
|
179
179
|
<ImageIcon className="h-4 w-4 text-ods-text-secondary" />
|
|
180
180
|
)}
|
|
181
|
-
<span className="text-
|
|
181
|
+
<span className="text-h6 text-ods-text-primary capitalize">
|
|
182
182
|
{mediaItem.media_type}
|
|
183
183
|
</span>
|
|
184
184
|
</div>
|
|
185
185
|
{mediaItem.title && (
|
|
186
|
-
<p className="text-
|
|
186
|
+
<p className="text-h6 text-ods-text-secondary truncate">
|
|
187
187
|
{mediaItem.title}
|
|
188
188
|
</p>
|
|
189
189
|
)}
|
|
@@ -205,13 +205,13 @@ export function MediaGalleryManager({
|
|
|
205
205
|
)}
|
|
206
206
|
</div>
|
|
207
207
|
<div>
|
|
208
|
-
<h3 className="
|
|
208
|
+
<h3 className="text-h3 text-ods-text-primary mb-1">
|
|
209
209
|
{isUploading ? 'Uploading...' : 'Upload Media'}
|
|
210
210
|
</h3>
|
|
211
|
-
<p className="text-
|
|
211
|
+
<p className="text-h6 text-ods-text-secondary">
|
|
212
212
|
Drag and drop or click to select images and videos
|
|
213
213
|
</p>
|
|
214
|
-
<p className="text-
|
|
214
|
+
<p className="text-h6 text-ods-text-secondary mt-1">
|
|
215
215
|
Maximum file size: 50MB
|
|
216
216
|
</p>
|
|
217
217
|
</div>
|
|
@@ -221,7 +221,7 @@ export function MediaGalleryManager({
|
|
|
221
221
|
onClick={() => fileInputRef.current?.click()}
|
|
222
222
|
disabled={isUploading}
|
|
223
223
|
leftIcon={<Plus className="h-4 w-4" />}
|
|
224
|
-
className="
|
|
224
|
+
className="text-h6 font-bold"
|
|
225
225
|
>
|
|
226
226
|
{isUploading ? 'Uploading...' : 'Select Files'}
|
|
227
227
|
</Button>
|
|
@@ -241,20 +241,20 @@ export function MediaGalleryManager({
|
|
|
241
241
|
{media.length === 0 ? (
|
|
242
242
|
<div className="text-center py-8">
|
|
243
243
|
<ImageIcon className="h-12 w-12 text-ods-text-secondary mx-auto mb-4" />
|
|
244
|
-
<h3 className="
|
|
244
|
+
<h3 className="text-h3 text-ods-text-primary mb-2">
|
|
245
245
|
No media uploaded yet
|
|
246
246
|
</h3>
|
|
247
|
-
<p className="text-
|
|
247
|
+
<p className="text-h6 text-ods-text-secondary">
|
|
248
248
|
Upload your first image or video to get started
|
|
249
249
|
</p>
|
|
250
250
|
</div>
|
|
251
251
|
) : (
|
|
252
252
|
<div>
|
|
253
253
|
<div className="flex items-center justify-between mb-4">
|
|
254
|
-
<h3 className="
|
|
254
|
+
<h3 className="text-h3 text-ods-text-primary">
|
|
255
255
|
Media Gallery ({media.length})
|
|
256
256
|
</h3>
|
|
257
|
-
<p className="text-
|
|
257
|
+
<p className="text-h6 text-ods-text-secondary">
|
|
258
258
|
Drag to reorder
|
|
259
259
|
</p>
|
|
260
260
|
</div>
|
|
@@ -57,7 +57,7 @@ export function OGEditorPreview({
|
|
|
57
57
|
{/* SEO Title & Keywords - Same Row */}
|
|
58
58
|
<div className="grid grid-cols-1 lg:grid-cols-2 gap-4">
|
|
59
59
|
<div className="space-y-2">
|
|
60
|
-
<Label className="
|
|
60
|
+
<Label className="text-h6 text-ods-text-primary">
|
|
61
61
|
SEO Title
|
|
62
62
|
</Label>
|
|
63
63
|
<Input
|
|
@@ -70,7 +70,7 @@ export function OGEditorPreview({
|
|
|
70
70
|
</div>
|
|
71
71
|
|
|
72
72
|
<div className="space-y-2">
|
|
73
|
-
<Label className="
|
|
73
|
+
<Label className="text-h6 text-ods-text-primary">
|
|
74
74
|
SEO Keywords
|
|
75
75
|
</Label>
|
|
76
76
|
<Input
|
|
@@ -86,7 +86,7 @@ export function OGEditorPreview({
|
|
|
86
86
|
{/* SEO Description & OG Image - Same Row */}
|
|
87
87
|
<div className="grid grid-cols-1 lg:grid-cols-2 gap-4">
|
|
88
88
|
<div className="space-y-2 flex flex-col h-full">
|
|
89
|
-
<Label className="
|
|
89
|
+
<Label className="text-h6 text-ods-text-primary">
|
|
90
90
|
SEO Description
|
|
91
91
|
</Label>
|
|
92
92
|
<Textarea
|
|
@@ -100,7 +100,7 @@ export function OGEditorPreview({
|
|
|
100
100
|
</div>
|
|
101
101
|
|
|
102
102
|
<div className="space-y-2 flex flex-col h-full">
|
|
103
|
-
<Label className="
|
|
103
|
+
<Label className="text-h6 text-ods-text-primary">
|
|
104
104
|
OG Image
|
|
105
105
|
</Label>
|
|
106
106
|
<div className="flex-1">
|
|
@@ -43,7 +43,7 @@ export const OSTypeBadge: React.FC<OSTypeBadgeProps> = ({
|
|
|
43
43
|
className = '',
|
|
44
44
|
iconOnly = false,
|
|
45
45
|
iconSize = 'w-4 h-4',
|
|
46
|
-
iconColor = '
|
|
46
|
+
iconColor = 'var(--color-text-secondary)',
|
|
47
47
|
labelOnly = false,
|
|
48
48
|
rightIcon = null
|
|
49
49
|
}) => {
|
|
@@ -74,7 +74,7 @@ export const OSTypeBadge: React.FC<OSTypeBadgeProps> = ({
|
|
|
74
74
|
}
|
|
75
75
|
|
|
76
76
|
return (
|
|
77
|
-
<div className={cn("flex items-center gap-1 text-ods-text-primary text-
|
|
77
|
+
<div className={cn("flex items-center gap-1 text-ods-text-primary text-h4", className)}>
|
|
78
78
|
{IconComponent && <IconComponent className={iconSize} color={iconColor} />}
|
|
79
79
|
{label}
|
|
80
80
|
{rightIcon && rightIcon}
|
|
@@ -23,17 +23,17 @@ const sizeClasses = {
|
|
|
23
23
|
xs: {
|
|
24
24
|
container: 'gap-1 px-1.5 py-0.5',
|
|
25
25
|
icon: 'h-3 w-3',
|
|
26
|
-
text: 'text-
|
|
26
|
+
text: 'text-h6'
|
|
27
27
|
},
|
|
28
28
|
sm: {
|
|
29
29
|
container: 'gap-1.5 px-2 py-1',
|
|
30
30
|
icon: 'h-4 w-4',
|
|
31
|
-
text: 'text-
|
|
31
|
+
text: 'text-h6'
|
|
32
32
|
},
|
|
33
33
|
md: {
|
|
34
34
|
container: 'gap-2 px-2.5 py-1.5',
|
|
35
35
|
icon: 'h-5 w-5',
|
|
36
|
-
text: 'text-
|
|
36
|
+
text: 'text-h6'
|
|
37
37
|
}
|
|
38
38
|
};
|
|
39
39
|
|
|
@@ -142,7 +142,7 @@ export function PlatformBadge({
|
|
|
142
142
|
colors.bg,
|
|
143
143
|
colors.border,
|
|
144
144
|
colors.text,
|
|
145
|
-
'font-
|
|
145
|
+
'font-body font-medium',
|
|
146
146
|
className
|
|
147
147
|
)}
|
|
148
148
|
>
|