@flamingo-stack/openframe-frontend-core 0.0.439-snapshot.20260717095442 → 0.0.439
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-QAG357PE.js → chunk-2ELBNZJ3.js} +7 -7
- package/dist/chunk-2ELBNZJ3.js.map +1 -0
- package/dist/{chunk-IZ6A6K6N.cjs → chunk-3WJQL4DN.cjs} +25 -25
- package/dist/chunk-3WJQL4DN.cjs.map +1 -0
- package/dist/{chunk-6CITW5BD.js → chunk-4ACSUJ7Q.js} +10 -10
- package/dist/chunk-4ACSUJ7Q.js.map +1 -0
- package/dist/{chunk-JYI4R25Q.js → chunk-7WM77CSW.js} +5 -5
- package/dist/chunk-7WM77CSW.js.map +1 -0
- package/dist/{chunk-TAQMYVO6.cjs → chunk-AUJXLVXA.cjs} +42 -42
- package/dist/{chunk-TAQMYVO6.cjs.map → chunk-AUJXLVXA.cjs.map} +1 -1
- package/dist/{chunk-UFBUQO7Z.cjs → chunk-C3FH53AP.cjs} +19 -19
- package/dist/{chunk-UFBUQO7Z.cjs.map → chunk-C3FH53AP.cjs.map} +1 -1
- package/dist/{chunk-FPE3SQ5D.js → chunk-COMBYYQY.js} +13 -13
- package/dist/chunk-COMBYYQY.js.map +1 -0
- package/dist/{chunk-J5NO7PAG.cjs → chunk-EE5NH5SH.cjs} +3 -3
- package/dist/{chunk-J5NO7PAG.cjs.map → chunk-EE5NH5SH.cjs.map} +1 -1
- package/dist/{chunk-SM26C2L7.js → chunk-EGRZHR7J.js} +9 -9
- package/dist/chunk-EGRZHR7J.js.map +1 -0
- package/dist/{chunk-W3JZXLJ2.js → chunk-F7YVI54P.js} +10 -10
- package/dist/chunk-F7YVI54P.js.map +1 -0
- package/dist/{chunk-63TSTDME.js → chunk-G5FALXNO.js} +21 -21
- package/dist/chunk-G5FALXNO.js.map +1 -0
- package/dist/{chunk-DUQQEQ7G.cjs → chunk-HTVVXVJL.cjs} +1594 -1431
- package/dist/chunk-HTVVXVJL.cjs.map +1 -0
- package/dist/{chunk-JNC4LVD6.cjs → chunk-IAN7GUIV.cjs} +42 -42
- package/dist/chunk-IAN7GUIV.cjs.map +1 -0
- package/dist/{chunk-PYR4LVAF.cjs → chunk-IMK6RUEC.cjs} +10 -10
- package/dist/chunk-IMK6RUEC.cjs.map +1 -0
- package/dist/{chunk-LFWPWIAC.cjs → chunk-M3LD6DNE.cjs} +16 -16
- package/dist/{chunk-LFWPWIAC.cjs.map → chunk-M3LD6DNE.cjs.map} +1 -1
- package/dist/{chunk-KUXGQ2FQ.cjs → chunk-M6QGB6DC.cjs} +36 -36
- package/dist/chunk-M6QGB6DC.cjs.map +1 -0
- package/dist/{chunk-QO6MCQYE.cjs → chunk-N2TJ3HAM.cjs} +9 -9
- package/dist/chunk-N2TJ3HAM.cjs.map +1 -0
- package/dist/{chunk-ZQYFDYWV.js → chunk-NQQ4NLUT.js} +4461 -4298
- package/dist/chunk-NQQ4NLUT.js.map +1 -0
- package/dist/{chunk-Y3NFB6HR.js → chunk-P7PISHM5.js} +5 -5
- package/dist/chunk-P7PISHM5.js.map +1 -0
- package/dist/{chunk-YZJUHEPZ.js → chunk-PBTY7AH5.js} +95 -95
- package/dist/chunk-PBTY7AH5.js.map +1 -0
- package/dist/{chunk-7KNOHGMI.js → chunk-PEIR7D25.js} +2 -2
- package/dist/{chunk-7KDR5P23.js → chunk-QXYOGJQJ.js} +2 -2
- package/dist/{chunk-LUKRPHEW.cjs → chunk-R46QEE3R.cjs} +96 -96
- package/dist/chunk-R46QEE3R.cjs.map +1 -0
- package/dist/{chunk-IPEIOR77.cjs → chunk-RQQZF6G6.cjs} +130 -130
- package/dist/chunk-RQQZF6G6.cjs.map +1 -0
- package/dist/{chunk-2BTDPDME.js → chunk-RVWC4P3H.js} +9 -9
- package/dist/chunk-RVWC4P3H.js.map +1 -0
- package/dist/{chunk-JOH5D76X.cjs → chunk-VWGF6IFR.cjs} +108 -108
- package/dist/chunk-VWGF6IFR.cjs.map +1 -0
- package/dist/{chunk-IAZ5AN2E.js → chunk-WAGTZVQN.js} +30 -30
- package/dist/chunk-WAGTZVQN.js.map +1 -0
- package/dist/{chunk-AGV26PUR.js → chunk-WPVBTVI3.js} +6 -6
- package/dist/{chunk-AGV26PUR.js.map → chunk-WPVBTVI3.js.map} +1 -1
- package/dist/{chunk-XMCVUYKC.cjs → chunk-WZ6TCAYQ.cjs} +14 -14
- package/dist/chunk-WZ6TCAYQ.cjs.map +1 -0
- package/dist/{chunk-7QP65IE4.cjs → chunk-ZMUFTGL7.cjs} +5 -5
- package/dist/{chunk-7QP65IE4.cjs.map → chunk-ZMUFTGL7.cjs.map} +1 -1
- package/dist/components/accordion.d.ts +8 -0
- package/dist/components/accordion.d.ts.map +1 -0
- package/dist/components/alert-dialog.d.ts +21 -0
- package/dist/components/alert-dialog.d.ts.map +1 -0
- package/dist/components/alert.d.ts +9 -0
- package/dist/components/alert.d.ts.map +1 -0
- package/dist/components/badge.d.ts +10 -0
- package/dist/components/badge.d.ts.map +1 -0
- package/dist/components/breadcrumb.d.ts +20 -0
- package/dist/components/breadcrumb.d.ts.map +1 -0
- package/dist/components/case-studies/index.cjs +15 -15
- package/dist/components/case-studies/index.cjs.map +1 -1
- package/dist/components/case-studies/index.js +9 -9
- package/dist/components/case-studies/index.js.map +1 -1
- package/dist/components/chat/approval-request-message.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/blog-card.d.ts.map +1 -1
- package/dist/components/chat/index.cjs +4 -4
- package/dist/components/chat/index.js +3 -3
- package/dist/components/chat/tool-call-blocks.d.ts.map +1 -1
- package/dist/components/chat/utils/compact-card-classes.d.ts +3 -3
- package/dist/components/chat/utils/compact-card-classes.d.ts.map +1 -1
- package/dist/components/chevron-button.d.ts +14 -0
- package/dist/components/chevron-button.d.ts.map +1 -0
- package/dist/components/contact/index.cjs +5 -5
- package/dist/components/contact/index.js +4 -4
- package/dist/components/dialog.d.ts +29 -0
- package/dist/components/dialog.d.ts.map +1 -0
- package/dist/components/docs/index.cjs +7 -7
- package/dist/components/docs/index.js +6 -6
- package/dist/components/dropdown-menu.d.ts +28 -0
- package/dist/components/dropdown-menu.d.ts.map +1 -0
- package/dist/components/embeds/index.cjs +5 -5
- package/dist/components/embeds/index.js +4 -4
- package/dist/components/faq/index.cjs +6 -6
- package/dist/components/faq/index.js +5 -5
- package/dist/components/features/index.cjs +4 -4
- package/dist/components/features/index.js +3 -3
- package/dist/components/help-center-pages/index.cjs +23 -23
- package/dist/components/help-center-pages/index.js +14 -14
- package/dist/components/index.cjs +256 -262
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.js +111 -117
- package/dist/components/index.js.map +1 -1
- package/dist/components/input.d.ts +8 -0
- package/dist/components/input.d.ts.map +1 -0
- package/dist/components/label.d.ts +6 -0
- package/dist/components/label.d.ts.map +1 -0
- package/dist/components/menubar.d.ts +34 -0
- package/dist/components/menubar.d.ts.map +1 -0
- package/dist/components/msp-display.d.ts.map +1 -1
- package/dist/components/navigation/index.cjs +4 -4
- package/dist/components/navigation/index.js +3 -3
- package/dist/components/navigation/sticky-section-nav.d.ts.map +1 -1
- package/dist/components/navigation-menu.d.ts +13 -0
- package/dist/components/navigation-menu.d.ts.map +1 -0
- package/dist/components/onboarding-guides/index.cjs +8 -8
- package/dist/components/onboarding-guides/index.js +7 -7
- package/dist/components/pricing-display.d.ts +9 -9
- package/dist/components/related-content/index.cjs +6 -6
- package/dist/components/related-content/index.js +5 -5
- package/dist/components/select.d.ts +14 -0
- package/dist/components/select.d.ts.map +1 -0
- package/dist/components/sidebar.d.ts +67 -0
- package/dist/components/sidebar.d.ts.map +1 -0
- package/dist/components/square-avatar.d.ts +21 -0
- package/dist/components/square-avatar.d.ts.map +1 -0
- package/dist/components/table.d.ts +11 -0
- package/dist/components/table.d.ts.map +1 -0
- package/dist/components/tabs.d.ts +18 -0
- package/dist/components/tabs.d.ts.map +1 -0
- package/dist/components/tickets/index.cjs +7 -7
- package/dist/components/tickets/index.js +6 -6
- package/dist/components/toast/index.cjs +5 -5
- package/dist/components/toast/index.cjs.map +1 -1
- package/dist/components/toast/index.js +5 -5
- package/dist/components/toast/index.js.map +1 -1
- package/dist/components/toggle.d.ts +13 -0
- package/dist/components/toggle.d.ts.map +1 -0
- package/dist/components/ui/bullet-list.d.ts.map +1 -1
- package/dist/components/ui/drawer.d.ts +1 -1
- package/dist/components/ui/drawer.d.ts.map +1 -1
- package/dist/components/ui/file-manager/index.cjs +73 -73
- package/dist/components/ui/file-manager/index.cjs.map +1 -1
- package/dist/components/ui/file-manager/index.js +24 -24
- package/dist/components/ui/file-manager/index.js.map +1 -1
- package/dist/components/ui/index.cjs +4 -4
- package/dist/components/ui/index.js +3 -3
- package/dist/components/ui/markdown-editor.d.ts.map +1 -1
- package/dist/components/ui/square-avatar.d.ts +0 -3
- package/dist/components/ui/square-avatar.d.ts.map +1 -1
- package/dist/components/user-display.d.ts.map +1 -1
- package/dist/components/vendor-tag.d.ts.map +1 -1
- package/dist/hooks/index.cjs +2 -2
- package/dist/hooks/index.js +1 -1
- package/dist/index.cjs +4 -4
- package/dist/index.js +3 -3
- package/dist/tailwind.config.cjs +5 -38
- package/dist/tailwind.config.cjs.map +1 -1
- package/dist/tailwind.config.js +5 -38
- package/dist/tailwind.config.js.map +1 -1
- package/package.json +1 -1
- package/src/ODS_TOKEN_RULES.md +0 -5
- package/src/components/.accordion.md +42 -0
- package/src/components/.alert-dialog.md +58 -0
- package/src/components/.alert.md +43 -0
- package/src/components/.badge.md +40 -0
- package/src/components/.breadcrumb.md +54 -0
- package/src/components/.chevron-button.md +46 -0
- package/src/components/.dialog.md +60 -0
- package/src/components/.dropdown-menu.md +51 -0
- package/src/components/.footer.md +2 -2
- package/src/components/.input.md +40 -0
- package/src/components/.label.md +41 -0
- package/src/components/.menubar.md +49 -0
- package/src/components/.navigation-menu.md +44 -0
- package/src/components/.select.md +54 -0
- package/src/components/.sidebar.md +58 -0
- package/src/components/.square-avatar.md +42 -0
- package/src/components/.table.md +51 -0
- package/src/components/.tabs.md +38 -0
- package/src/components/.toggle.md +49 -0
- package/src/components/accordion.tsx +56 -0
- package/src/components/alert-dialog.tsx +141 -0
- package/src/components/alert.tsx +59 -0
- package/src/components/announcement-bar.tsx +1 -1
- package/src/components/authors/author-detail-view.tsx +3 -3
- package/src/components/badge.tsx +30 -0
- package/src/components/breadcrumb.tsx +115 -0
- package/src/components/calendar.tsx +2 -2
- package/src/components/case-studies/share-experience-section.tsx +5 -5
- package/src/components/categories-cart.tsx +6 -6
- package/src/components/category-card.tsx +5 -5
- package/src/components/chart.tsx +3 -3
- package/src/components/chat/approval-request-message.tsx +5 -2
- package/src/components/chat/chat-attachment-bar.tsx +3 -3
- package/src/components/chat/chat-message-enhanced.tsx +1 -1
- package/src/components/chat/chat-message-list.tsx +1 -1
- package/src/components/chat/chat-message-row.tsx +3 -3
- package/src/components/chat/chat-quick-action.tsx +1 -1
- package/src/components/chat/chat-sidebar-skeleton.tsx +1 -1
- package/src/components/chat/chat-sidebar.tsx +6 -6
- package/src/components/chat/chat-typing-indicator.tsx +1 -1
- package/src/components/chat/context-compaction-display.tsx +1 -1
- package/src/components/chat/embeddable-chat.tsx +3 -3
- package/src/components/chat/entity-cards/admin-content-card.tsx +5 -5
- package/src/components/chat/entity-cards/blog-card.tsx +8 -5
- package/src/components/chat/entity-cards/case-study-card.tsx +5 -5
- package/src/components/chat/entity-cards/chat-ticket-item.tsx +1 -1
- package/src/components/chat/entity-cards/customer-interview-card.tsx +9 -9
- package/src/components/chat/entity-cards/data-room-doc-card.tsx +2 -2
- package/src/components/chat/entity-cards/dispatch.tsx +1 -1
- package/src/components/chat/entity-cards/entity-author-card.tsx +3 -3
- package/src/components/chat/entity-cards/entity-portrait-card.tsx +4 -4
- package/src/components/chat/entity-cards/generic-entity-card.tsx +3 -3
- package/src/components/chat/entity-cards/github-activity-card.tsx +11 -11
- package/src/components/chat/entity-cards/hubspot-ticket-card.tsx +5 -5
- package/src/components/chat/entity-cards/investor-update-card.tsx +1 -1
- package/src/components/chat/entity-cards/onboarding-guide-card.tsx +12 -12
- package/src/components/chat/entity-cards/program-card.tsx +12 -12
- package/src/components/chat/entity-cards/roadmap-card.tsx +6 -6
- package/src/components/chat/entity-cards/roadmap-vote-button.tsx +1 -1
- package/src/components/chat/entity-cards/slack-message-card.tsx +4 -4
- package/src/components/chat/error-message-display.tsx +2 -2
- package/src/components/chat/mingo-info-card.tsx +2 -2
- package/src/components/chat/model-display.tsx +7 -7
- package/src/components/chat/quick-action-chip.tsx +1 -1
- package/src/components/chat/source-action-button.tsx +2 -2
- package/src/components/chat/tool-call-blocks.tsx +5 -3
- package/src/components/chat/utils/.chip-action-class.md +1 -1
- package/src/components/chat/utils/.chip-styles.md +2 -2
- package/src/components/chat/utils/chip-action-class.ts +1 -1
- package/src/components/chat/utils/chip-styles.ts +2 -2
- package/src/components/chat/utils/compact-card-classes.ts +3 -3
- package/src/components/chevron-button.tsx +68 -0
- package/src/components/command.tsx +3 -3
- package/src/components/comment-card.tsx +1 -1
- package/src/components/contact/contact-form.tsx +9 -9
- package/src/components/context-menu.tsx +5 -5
- package/src/components/date-time-picker.tsx +2 -2
- package/src/components/dialog.tsx +150 -0
- package/src/components/docs/doc-viewer.tsx +4 -4
- package/src/components/dropdown-menu.tsx +200 -0
- package/src/components/embeds/figma-embed.tsx +2 -2
- package/src/components/embeds/file-download-card.tsx +2 -2
- package/src/components/embeds/google-sheets-viewer.tsx +1 -1
- package/src/components/embeds/linkedin-embed-client.tsx +3 -3
- package/src/components/embeds/og-link-preview.tsx +14 -14
- package/src/components/embeds/pdf-viewer.tsx +1 -1
- package/src/components/embeds/reddit-embed-client.tsx +9 -9
- package/src/components/embeds/twitter-embed-client.tsx +9 -9
- package/src/components/empty-state.tsx +5 -5
- package/src/components/faq/faq-section.tsx +1 -1
- package/src/components/features/ai-enrich/AIEnrichSection.tsx +14 -14
- package/src/components/features/ai-enrich/AIRequiredBadge.tsx +5 -5
- package/src/components/features/ai-enrich/AIStatusIndicator.tsx +8 -8
- package/src/components/features/ai-enrich/AIWarningsSection.tsx +4 -4
- package/src/components/features/ai-enrich/ConfidenceBadge.tsx +4 -4
- package/src/components/features/array-entry-manager.tsx +7 -7
- package/src/components/features/auth-providers-list.tsx +1 -1
- package/src/components/features/board/ticket-card.tsx +1 -1
- package/src/components/features/changelog-manager.tsx +10 -10
- package/src/components/features/command-box.tsx +2 -2
- package/src/components/features/entity-summary-editor.tsx +3 -3
- package/src/components/features/figma-prototype-viewer.tsx +9 -9
- package/src/components/features/filters-dropdown.tsx +2 -2
- package/src/components/features/highlight-config-section.tsx +3 -3
- package/src/components/features/highlight-video-combined-section.tsx +2 -2
- package/src/components/features/highlight-video-preview.tsx +2 -2
- package/src/components/features/highlight-video-section.tsx +9 -9
- package/src/components/features/media-gallery-manager.tsx +14 -14
- package/src/components/features/og-editor-preview.tsx +4 -4
- package/src/components/features/os-type-badge-group.tsx +1 -1
- package/src/components/features/os-type-badge.tsx +2 -2
- package/src/components/features/platform-badge.tsx +4 -4
- package/src/components/features/policy-configuration-panel.tsx +6 -6
- package/src/components/features/provider-button.tsx +1 -1
- package/src/components/features/push-button-selector.tsx +21 -21
- package/src/components/features/release-media-manager.tsx +16 -16
- package/src/components/features/section-selector.tsx +8 -8
- package/src/components/features/select-button.tsx +4 -4
- package/src/components/features/seo-editor-preview.tsx +20 -20
- package/src/components/features/social-links-manager.tsx +3 -3
- package/src/components/features/start-with-openframe-button.tsx +3 -3
- package/src/components/features/status-filter-component.tsx +1 -1
- package/src/components/features/tags-selector.tsx +6 -6
- package/src/components/features/transcript-summary-editor.tsx +9 -9
- package/src/components/features/video-bites-strip.tsx +1 -1
- package/src/components/features/video-ratio-tabs.tsx +1 -1
- package/src/components/features/video-source-selector.tsx +7 -7
- package/src/components/features/video.tsx +1 -1
- package/src/components/features/waitlist-form.tsx +3 -3
- package/src/components/filter-chip.tsx +13 -13
- package/src/components/footer.tsx +3 -3
- package/src/components/form.tsx +2 -2
- package/src/components/hero-image-uploader.tsx +3 -3
- package/src/components/image-cropper.tsx +2 -2
- package/src/components/input.tsx +39 -0
- package/src/components/label.tsx +19 -0
- package/src/components/layout/page-container.tsx +6 -6
- package/src/components/layout/page-heading.tsx +1 -1
- package/src/components/loading/card-skeleton.tsx +2 -2
- package/src/components/loading/category-card-skeleton.tsx +1 -1
- package/src/components/loading/margin-report-skeleton.tsx +22 -22
- package/src/components/loading/openmsp-heartbeat.tsx +1 -1
- package/src/components/loading/page-layout-skeleton.tsx +83 -83
- package/src/components/loading/unified-skeleton.tsx +1 -1
- package/src/components/loading/users-grid-skeleton.tsx +2 -2
- package/src/components/logs-list.tsx +8 -8
- package/src/components/media-carousel.tsx +7 -7
- package/src/components/menubar.tsx +236 -0
- package/src/components/metric-value.tsx +2 -2
- package/src/components/msp-display.tsx +2 -8
- package/src/components/navigation/app-header.tsx +6 -6
- package/src/components/navigation/header-organization-filter.tsx +2 -2
- package/src/components/navigation/header.tsx +4 -4
- package/src/components/navigation/mobile-burger-menu.tsx +7 -7
- package/src/components/navigation/mobile-nav-panel.tsx +1 -1
- package/src/components/navigation/multi-level-navigation.tsx +7 -7
- package/src/components/navigation/navigation-sidebar.tsx +1 -1
- package/src/components/navigation/sticky-section-nav.tsx +2 -2
- package/src/components/navigation-menu.tsx +128 -0
- package/src/components/onboarding-guides/onboarding-guides-catalog-view.tsx +4 -4
- package/src/components/pagination.tsx +2 -2
- package/src/components/persistent-filter-controls.tsx +1 -1
- package/src/components/platform/.ShellTypeBadge.md +1 -1
- package/src/components/platform/CveLink.tsx +1 -1
- package/src/components/platform/ScriptArguments.tsx +2 -2
- package/src/components/platform/ScriptInfoSection.tsx +5 -5
- package/src/components/platform/ShellTypeBadge.tsx +6 -6
- package/src/components/platform/SoftwareInfo.tsx +2 -2
- package/src/components/pricing-display.tsx +9 -9
- package/src/components/profile/ProfileLoadingSkeleton.tsx +6 -6
- package/src/components/related-content/related-content-section.tsx +3 -3
- package/src/components/results-count.tsx +1 -1
- package/src/components/select.tsx +160 -0
- package/src/components/shared/delivery/delivery-row.tsx +1 -1
- package/src/components/shared/delivery/delivery-table.tsx +1 -1
- package/src/components/shared/dev-section/dev-section-view.tsx +1 -1
- package/src/components/shared/doc-search/doc-search-result-row.tsx +2 -2
- package/src/components/shared/legal-document/legal-document-page.tsx +5 -5
- package/src/components/shared/onboarding/onboarding-step-card.tsx +1 -1
- package/src/components/shared/product-release/product-release-card-skeleton.tsx +3 -3
- package/src/components/shared/product-release/product-release-card.tsx +14 -14
- package/src/components/shared/product-release/release-detail-page.tsx +16 -16
- package/src/components/shared/roadmap/roadmap-grid.tsx +2 -2
- package/src/components/sidebar.tsx +764 -0
- package/src/components/smooth-accordion.tsx +1 -1
- package/src/components/social-icon-row.tsx +1 -1
- package/src/components/sonner.tsx +5 -5
- package/src/components/square-avatar.tsx +61 -0
- package/src/components/steps.tsx +3 -3
- package/src/components/table.tsx +72 -0
- package/src/components/tabs.tsx +65 -0
- package/src/components/tickets/help-center-create-form.tsx +1 -1
- package/src/components/tickets/help-center-list.tsx +1 -1
- package/src/components/tickets/ticket-center.tsx +2 -2
- package/src/components/tickets/ticket-detail-drawer.tsx +5 -5
- package/src/components/tickets/ticket-open-form.tsx +6 -6
- package/src/components/toggle.tsx +45 -0
- package/src/components/ui/.title-content-block.md +1 -1
- package/src/components/ui/accordion.tsx +2 -2
- package/src/components/ui/actions-menu.tsx +1 -1
- package/src/components/ui/alert-dialog.tsx +3 -3
- package/src/components/ui/alert.tsx +2 -2
- package/src/components/ui/allowed-domains-input.tsx +3 -3
- package/src/components/ui/autocomplete.tsx +3 -3
- package/src/components/ui/badge.tsx +2 -2
- package/src/components/ui/brand-association-card.tsx +2 -2
- package/src/components/ui/breadcrumb.tsx +3 -3
- package/src/components/ui/bullet-list.tsx +2 -2
- package/src/components/ui/button/button.tsx +1 -1
- package/src/components/ui/card.tsx +4 -4
- package/src/components/ui/checkbox-with-description.tsx +1 -1
- package/src/components/ui/chevron-button.tsx +1 -1
- package/src/components/ui/content-loader.tsx +16 -16
- package/src/components/ui/cursor-pagination.tsx +1 -1
- package/src/components/ui/date-picker.tsx +2 -2
- package/src/components/ui/device-card-compact.tsx +2 -2
- package/src/components/ui/device-card.tsx +3 -3
- package/src/components/ui/dialog.tsx +3 -3
- package/src/components/ui/drawer.tsx +4 -4
- package/src/components/ui/dropdown-menu.tsx +6 -6
- package/src/components/ui/error-state.tsx +9 -9
- package/src/components/ui/fade-preview.tsx +1 -1
- package/src/components/ui/field-wrapper.tsx +1 -1
- package/src/components/ui/file-manager/file-manager-breadcrumb.tsx +2 -2
- package/src/components/ui/file-manager/file-manager-empty.tsx +3 -3
- package/src/components/ui/file-manager/file-manager-skeleton.tsx +4 -4
- package/src/components/ui/file-manager/file-manager-table-row.tsx +7 -7
- package/src/components/ui/file-manager/file-manager-table.tsx +8 -8
- package/src/components/ui/file-upload.tsx +9 -9
- package/src/components/ui/filter-pill-row.tsx +1 -1
- package/src/components/ui/floating-tooltip.tsx +1 -1
- package/src/components/ui/highlight-card.tsx +1 -1
- package/src/components/ui/hover-dropdown.tsx +1 -1
- package/src/components/ui/image-gallery-modal.tsx +1 -1
- package/src/components/ui/info-row.tsx +1 -1
- package/src/components/ui/input.tsx +1 -1
- package/src/components/ui/label.tsx +5 -5
- package/src/components/ui/markdown-editor.tsx +5 -4
- package/src/components/ui/menubar.tsx +7 -7
- package/src/components/ui/modal-v2.tsx +1 -1
- package/src/components/ui/modal.tsx +1 -1
- package/src/components/ui/more-actions-menu.tsx +1 -1
- package/src/components/ui/navigation-menu.tsx +1 -1
- package/src/components/ui/organization-card.tsx +8 -8
- package/src/components/ui/page-loader.tsx +6 -6
- package/src/components/ui/phone-input.tsx +1 -1
- package/src/components/ui/progress-bar.tsx +5 -5
- package/src/components/ui/query-report-table/.query-report-table-header.md +1 -1
- package/src/components/ui/query-report-table/query-report-table-header.tsx +1 -1
- package/src/components/ui/query-report-table/query-report-table-row.tsx +2 -2
- package/src/components/ui/query-report-table/query-report-table.tsx +1 -1
- package/src/components/ui/release-changelog-section.tsx +2 -2
- package/src/components/ui/rich-markdown-renderer.tsx +6 -6
- package/src/components/ui/search-input.tsx +7 -7
- package/src/components/ui/select.tsx +1 -1
- package/src/components/ui/service-card.tsx +4 -4
- package/src/components/ui/sheet.tsx +3 -3
- package/src/components/ui/simple-markdown-renderer.tsx +4 -4
- package/src/components/ui/square-avatar.tsx +5 -9
- package/src/components/ui/status-badge.tsx +11 -11
- package/src/components/ui/status-indicator.tsx +6 -6
- package/src/components/ui/tab-content.tsx +1 -1
- package/src/components/ui/tab-navigation.tsx +2 -2
- package/src/components/ui/table/table-column-filter-dropdown.tsx +1 -1
- package/src/components/ui/table/table-description-cell.tsx +1 -1
- package/src/components/ui/table/table-timestamp-cell.tsx +1 -1
- package/src/components/ui/table/table.tsx +2 -2
- package/src/components/ui/tabs.tsx +1 -1
- package/src/components/ui/tag-search-input.tsx +1 -1
- package/src/components/ui/tag.tsx +23 -23
- package/src/components/ui/tags-input.tsx +2 -2
- package/src/components/ui/ticket-status-tag.tsx +1 -1
- package/src/components/ui/toaster.tsx +8 -8
- package/src/components/ui/toggle.tsx +1 -1
- package/src/components/ui/tooltip.tsx +1 -1
- package/src/components/user-display.tsx +6 -12
- package/src/components/user-summary-stub.tsx +4 -4
- package/src/components/vendor-display-button.tsx +2 -2
- package/src/components/vendor-icon.tsx +1 -1
- package/src/components/vendor-tag.tsx +10 -9
- package/src/components/yes-no-display.tsx +3 -3
- package/src/styles/ods-colors.css +0 -2
- package/tailwind.config.ts +4 -49
- package/dist/chunk-2BTDPDME.js.map +0 -1
- package/dist/chunk-63TSTDME.js.map +0 -1
- package/dist/chunk-6CITW5BD.js.map +0 -1
- package/dist/chunk-DUQQEQ7G.cjs.map +0 -1
- package/dist/chunk-FPE3SQ5D.js.map +0 -1
- package/dist/chunk-IAZ5AN2E.js.map +0 -1
- package/dist/chunk-IPEIOR77.cjs.map +0 -1
- package/dist/chunk-IZ6A6K6N.cjs.map +0 -1
- package/dist/chunk-JNC4LVD6.cjs.map +0 -1
- package/dist/chunk-JOH5D76X.cjs.map +0 -1
- package/dist/chunk-JYI4R25Q.js.map +0 -1
- package/dist/chunk-KUXGQ2FQ.cjs.map +0 -1
- package/dist/chunk-LUKRPHEW.cjs.map +0 -1
- package/dist/chunk-PYR4LVAF.cjs.map +0 -1
- package/dist/chunk-QAG357PE.js.map +0 -1
- package/dist/chunk-QO6MCQYE.cjs.map +0 -1
- package/dist/chunk-SM26C2L7.js.map +0 -1
- package/dist/chunk-W3JZXLJ2.js.map +0 -1
- package/dist/chunk-XMCVUYKC.cjs.map +0 -1
- package/dist/chunk-Y3NFB6HR.js.map +0 -1
- package/dist/chunk-YZJUHEPZ.js.map +0 -1
- package/dist/chunk-ZQYFDYWV.js.map +0 -1
- /package/dist/{chunk-7KNOHGMI.js.map → chunk-PEIR7D25.js.map} +0 -0
- /package/dist/{chunk-7KDR5P23.js.map → chunk-QXYOGJQJ.js.map} +0 -0
|
@@ -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-[18px] font-medium">
|
|
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 text-
|
|
104
|
+
'text-ods-text-primary font-mono text-[14px] md:text-[16px] leading-relaxed 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-xs 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-[#1a1a1a] 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 text-
|
|
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 font-mono text-sm"
|
|
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-black/70 text-white 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-ods-open-yellow">Fae</span> and <span className="text-ods-open-yellow">Mingo</span>
|
|
432
|
+
<div className="text-xl md:text-2xl font-['Azeret_Mono'] font-semibold text-ods-text-primary">
|
|
433
|
+
Warming up <span className="text-[var(--ods-open-yellow-base)]">Fae</span> and <span className="text-[var(--ods-open-yellow-base)]">Mingo</span>
|
|
434
434
|
</div>
|
|
435
|
-
<div className="mt-2 text-
|
|
435
|
+
<div className="mt-2 text-sm 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="font-semibold text-ods-text-primary mb-3">🔍 Debug Panel</h3>
|
|
743
|
+
|
|
744
|
+
<div className="grid grid-cols-2 gap-4 text-sm">
|
|
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-xs 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-xs 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-secondary",
|
|
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-secondary" : "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-[#1a1a1a] 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-sm">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-sm 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-xs">
|
|
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-sm 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-xs">
|
|
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-sm 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-background-secondary 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-sm">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-background-tertiary 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-background-tertiary text-ods-accent focus:ring-ods-accent"
|
|
162
162
|
/>
|
|
163
|
-
<Label htmlFor="skipSubtitleBurning" className="text-
|
|
163
|
+
<Label htmlFor="skipSubtitleBurning" className="text-sm 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-xs">
|
|
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-sm text-ods-attention-red-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-white" 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-sm 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-white 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-red-500 hover:bg-red-600 border-red-500"
|
|
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-white" />
|
|
147
147
|
) : (
|
|
148
|
-
<Trash2 className="h-4 w-4 text-
|
|
148
|
+
<Trash2 className="h-4 w-4 text-white" />
|
|
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-sm font-medium 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-sm 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="font-['DM_Sans'] font-semibold text-ods-text-primary mb-1">
|
|
209
209
|
{isUploading ? 'Uploading...' : 'Upload Media'}
|
|
210
210
|
</h3>
|
|
211
|
-
<p className="text-
|
|
211
|
+
<p className="text-sm 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-xs 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="text-
|
|
224
|
+
className="font-['DM_Sans'] text-[16px] 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="font-['DM_Sans'] font-semibold text-ods-text-primary mb-2">
|
|
245
245
|
No media uploaded yet
|
|
246
246
|
</h3>
|
|
247
|
-
<p className="text-
|
|
247
|
+
<p className="text-sm 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="font-['DM_Sans'] font-semibold text-ods-text-primary">
|
|
255
255
|
Media Gallery ({media.length})
|
|
256
256
|
</h3>
|
|
257
|
-
<p className="text-
|
|
257
|
+
<p className="text-xs 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="text-
|
|
60
|
+
<Label className="font-['DM_Sans'] text-[14px] font-medium 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="text-
|
|
73
|
+
<Label className="font-['DM_Sans'] text-[14px] font-medium 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="text-
|
|
89
|
+
<Label className="font-['DM_Sans'] text-[14px] font-medium 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="text-
|
|
103
|
+
<Label className="font-['DM_Sans'] text-[14px] font-medium 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 = '#888888',
|
|
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-[14px] leading-[20px] md:text-[18px] md:leading-[24px]", 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-[10px]'
|
|
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-[11px]'
|
|
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-[12px]'
|
|
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-["DM_Sans"] font-medium',
|
|
146
146
|
className
|
|
147
147
|
)}
|
|
148
148
|
>
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
DropdownMenuContent,
|
|
12
12
|
DropdownMenuItem,
|
|
13
13
|
DropdownMenuTrigger,
|
|
14
|
-
} from '../
|
|
14
|
+
} from '../dropdown-menu'
|
|
15
15
|
import {
|
|
16
16
|
ApprovalLevel,
|
|
17
17
|
PermissionCategory,
|
|
@@ -49,10 +49,10 @@ const PolicyRow: React.FC<{
|
|
|
49
49
|
|
|
50
50
|
{/* Policy Info */}
|
|
51
51
|
<div className="flex-1 flex flex-col min-w-0">
|
|
52
|
-
<p className="text-
|
|
52
|
+
<p className="text-[16px] font-medium text-ods-text-primary truncate" title={policy.name}>
|
|
53
53
|
{policy.name}
|
|
54
54
|
</p>
|
|
55
|
-
<p className="text-
|
|
55
|
+
<p className="text-[12px] text-ods-text-secondary break-all font-mono">
|
|
56
56
|
{policy.commandPattern}
|
|
57
57
|
</p>
|
|
58
58
|
</div>
|
|
@@ -74,7 +74,7 @@ const PolicyRow: React.FC<{
|
|
|
74
74
|
<DropdownMenuItem
|
|
75
75
|
key={option.value}
|
|
76
76
|
onClick={() => onPermissionChange(categoryId, policy.id, option.value)}
|
|
77
|
-
className="text-
|
|
77
|
+
className="text-[16px]"
|
|
78
78
|
>
|
|
79
79
|
{option.label}
|
|
80
80
|
</DropdownMenuItem>
|
|
@@ -83,7 +83,7 @@ const PolicyRow: React.FC<{
|
|
|
83
83
|
</DropdownMenu>
|
|
84
84
|
) : policy.approvalLevel ? (
|
|
85
85
|
<div className="px-3 py-2 w-[180px]">
|
|
86
|
-
<span className="text-
|
|
86
|
+
<span className="text-[16px] font-medium text-ods-text-primary">
|
|
87
87
|
{getApprovalLevelLabel(policy.approvalLevel, editMode)}
|
|
88
88
|
</span>
|
|
89
89
|
</div>
|
|
@@ -142,7 +142,7 @@ const CategorySection: React.FC<{
|
|
|
142
142
|
<p className="md:!text-sm font-medium text-ods-text-primary">
|
|
143
143
|
{category.name}
|
|
144
144
|
</p>
|
|
145
|
-
<p className="text-
|
|
145
|
+
<p className="text-[14px] text-ods-text-secondary">
|
|
146
146
|
{category.configurationsCount} Configurations
|
|
147
147
|
</p>
|
|
148
148
|
</div>
|
|
@@ -72,7 +72,7 @@ export function ProviderButton({ provider, onClick, disabled = false, loading =
|
|
|
72
72
|
leftIcon={isLoading ? null : <IconComponent className="w-5 h-5" />}
|
|
73
73
|
className={`
|
|
74
74
|
w-full md:!w-full h-[56px]
|
|
75
|
-
!text-
|
|
75
|
+
!text-[16px] !font-bold !leading-tight
|
|
76
76
|
hover:bg-ods-bg-hover
|
|
77
77
|
${isLoading ? 'cursor-wait' : 'cursor-pointer'}
|
|
78
78
|
`}
|
|
@@ -48,20 +48,20 @@ function PushButtonSelectorSkeleton({ count = 3, hasTitle }: { count?: number; h
|
|
|
48
48
|
return (
|
|
49
49
|
<div className="space-y-3">
|
|
50
50
|
{hasTitle && (
|
|
51
|
-
<div className="h-5 w-20 bg-ods-
|
|
51
|
+
<div className="h-5 w-20 bg-ods-bg-secondary rounded animate-pulse" />
|
|
52
52
|
)}
|
|
53
53
|
<div className="space-y-3">
|
|
54
54
|
{[...Array(count)].map((_, i) => (
|
|
55
|
-
<div key={i} className="p-4 rounded-lg border border-ods-border bg-ods-
|
|
55
|
+
<div key={i} className="p-4 rounded-lg border border-ods-border bg-ods-bg-secondary animate-pulse">
|
|
56
56
|
<div className="flex items-center justify-between">
|
|
57
57
|
<div className="flex items-center gap-3">
|
|
58
|
-
<div className="w-8 h-8 bg-ods-
|
|
58
|
+
<div className="w-8 h-8 bg-ods-bg-primary rounded" />
|
|
59
59
|
<div>
|
|
60
|
-
<div className="h-4 w-20 bg-ods-
|
|
61
|
-
<div className="h-3 w-32 bg-ods-
|
|
60
|
+
<div className="h-4 w-20 bg-ods-bg-primary rounded mb-1" />
|
|
61
|
+
<div className="h-3 w-32 bg-ods-bg-primary rounded" />
|
|
62
62
|
</div>
|
|
63
63
|
</div>
|
|
64
|
-
<div className="w-6 h-6 bg-ods-
|
|
64
|
+
<div className="w-6 h-6 bg-ods-bg-primary rounded border-2 border-ods-border" />
|
|
65
65
|
</div>
|
|
66
66
|
</div>
|
|
67
67
|
))}
|
|
@@ -79,8 +79,8 @@ function PushButtonSelectorError({ message, title }: { message: string; title?:
|
|
|
79
79
|
{title}
|
|
80
80
|
</h3>
|
|
81
81
|
)}
|
|
82
|
-
<div className="p-4 bg-ods-error-secondary border border-ods-error rounded-lg">
|
|
83
|
-
<div className="text-
|
|
82
|
+
<div className="p-4 bg-ods-attention-red-error-secondary border border-ods-attention-red-error rounded-lg">
|
|
83
|
+
<div className="font-['DM_Sans'] text-[14px] text-ods-attention-red-error">
|
|
84
84
|
⚠️ {message}
|
|
85
85
|
</div>
|
|
86
86
|
</div>
|
|
@@ -161,8 +161,8 @@ export function PushButtonSelector({
|
|
|
161
161
|
${option.disabled
|
|
162
162
|
? `${isSelected ? 'cursor-pointer' : 'cursor-not-allowed'} opacity-40 bg-ods-card border-ods-border`
|
|
163
163
|
: isSelected
|
|
164
|
-
? 'cursor-pointer bg-ods-bg-
|
|
165
|
-
: 'cursor-pointer bg-ods-bg border-ods-border hover:border-ods-border-hover hover:bg-ods-bg-hover'
|
|
164
|
+
? 'cursor-pointer bg-ods-bg-secondary border-ods-accent shadow-sm'
|
|
165
|
+
: 'cursor-pointer bg-ods-bg-primary border-ods-border hover:border-ods-border-hover hover:bg-ods-bg-hover'
|
|
166
166
|
}
|
|
167
167
|
`}
|
|
168
168
|
// Disabled options can't be newly SELECTED, but an already-selected one
|
|
@@ -177,11 +177,11 @@ export function PushButtonSelector({
|
|
|
177
177
|
</div>
|
|
178
178
|
)}
|
|
179
179
|
<div className="flex-1 min-w-0">
|
|
180
|
-
<div className="text-
|
|
180
|
+
<div className="font-['DM_Sans'] text-[16px] font-semibold text-ods-text-primary">
|
|
181
181
|
{option.displayName || option.name}
|
|
182
182
|
</div>
|
|
183
183
|
{option.description && (
|
|
184
|
-
<div className="text-
|
|
184
|
+
<div className="font-['DM_Sans'] text-[12px] text-ods-text-secondary line-clamp-2" title={option.description}>
|
|
185
185
|
{option.description}
|
|
186
186
|
</div>
|
|
187
187
|
)}
|
|
@@ -258,11 +258,11 @@ export function PushButtonSelector({
|
|
|
258
258
|
</div>
|
|
259
259
|
)}
|
|
260
260
|
<div>
|
|
261
|
-
<div className="text-
|
|
261
|
+
<div className="font-['DM_Sans'] text-[14px] font-semibold text-ods-text-primary">
|
|
262
262
|
{section.label}
|
|
263
263
|
</div>
|
|
264
264
|
{section.description && (
|
|
265
|
-
<div className="text-
|
|
265
|
+
<div className="font-['DM_Sans'] text-[11px] text-ods-text-tertiary">
|
|
266
266
|
{section.description}
|
|
267
267
|
</div>
|
|
268
268
|
)}
|
|
@@ -299,10 +299,10 @@ export function PushButtonSelector({
|
|
|
299
299
|
|
|
300
300
|
{/* Selection Summary */}
|
|
301
301
|
{selectionSummary && validSelectedIds.length > 0 && (
|
|
302
|
-
<div className="p-4 bg-ods-success-secondary border border-ods-success rounded-lg">
|
|
302
|
+
<div className="p-4 bg-ods-attention-green-success-secondary border border-ods-attention-green-success rounded-lg">
|
|
303
303
|
<div className="flex items-center gap-2 mb-2">
|
|
304
|
-
<div className="w-2 h-2 bg-ods-success rounded-full"></div>
|
|
305
|
-
<span className="text-
|
|
304
|
+
<div className="w-2 h-2 bg-ods-attention-green-success rounded-full"></div>
|
|
305
|
+
<span className="font-['DM_Sans'] text-[14px] text-ods-attention-green-success font-medium">
|
|
306
306
|
{validSelectedIds.length} {multiSelect ? 'items' : 'item'} selected
|
|
307
307
|
</span>
|
|
308
308
|
</div>
|
|
@@ -311,7 +311,7 @@ export function PushButtonSelector({
|
|
|
311
311
|
{getSelectedOptions().map(option => (
|
|
312
312
|
<Badge
|
|
313
313
|
key={option.id}
|
|
314
|
-
className="bg-ods-accent text-ods-text-primary text-
|
|
314
|
+
className="bg-ods-accent text-ods-text-primary font-['DM_Sans'] text-[12px] font-medium"
|
|
315
315
|
>
|
|
316
316
|
{option.displayName || option.name}
|
|
317
317
|
</Badge>
|
|
@@ -322,15 +322,15 @@ export function PushButtonSelector({
|
|
|
322
322
|
|
|
323
323
|
{/* Help Text */}
|
|
324
324
|
{helpText && (
|
|
325
|
-
<div className="text-
|
|
325
|
+
<div className="text-[12px] text-ods-text-secondary font-['DM_Sans']">
|
|
326
326
|
{helpText}
|
|
327
327
|
</div>
|
|
328
328
|
)}
|
|
329
329
|
|
|
330
330
|
{/* Empty State Warning */}
|
|
331
331
|
{validSelectedIds.length === 0 && title && !optional && (
|
|
332
|
-
<div className="p-3 bg-ods-error-secondary border border-ods-error rounded-lg">
|
|
333
|
-
<div className="text-
|
|
332
|
+
<div className="p-3 bg-ods-attention-red-error-secondary border border-ods-attention-red-error rounded-lg">
|
|
333
|
+
<div className="font-['DM_Sans'] text-[12px] text-ods-attention-red-error">
|
|
334
334
|
⚠️ Please select at least one option
|
|
335
335
|
</div>
|
|
336
336
|
</div>
|