@flamingo-stack/openframe-frontend-core 0.0.213 → 0.0.214-snapshot.20260528192313
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-35XIT2CF.cjs → chunk-2G3NXF6J.cjs} +17 -17
- package/dist/{chunk-35XIT2CF.cjs.map → chunk-2G3NXF6J.cjs.map} +1 -1
- package/dist/{chunk-IK2X5YJU.js → chunk-7PCP7YQR.js} +2 -2
- package/dist/{chunk-ZDF6F7ED.cjs → chunk-D4MNFY67.cjs} +4 -3
- package/dist/chunk-D4MNFY67.cjs.map +1 -0
- package/dist/{chunk-OTKJASSX.cjs → chunk-NGFP4RVL.cjs} +24 -24
- package/dist/{chunk-OTKJASSX.cjs.map → chunk-NGFP4RVL.cjs.map} +1 -1
- package/dist/{chunk-3JWIJJ44.js → chunk-R6MLPU4A.js} +2 -2
- package/dist/{chunk-ZTJVRSN5.js → chunk-WQZP3JIZ.js} +4 -3
- package/dist/chunk-WQZP3JIZ.js.map +1 -0
- package/dist/components/chat/index.cjs +2 -2
- package/dist/components/chat/index.js +1 -1
- package/dist/components/contact/index.cjs +3 -3
- package/dist/components/contact/index.js +2 -2
- package/dist/components/features/index.cjs +2 -2
- package/dist/components/features/index.js +1 -1
- package/dist/components/index.cjs +49 -49
- package/dist/components/index.js +2 -2
- package/dist/components/navigation/index.cjs +2 -2
- package/dist/components/navigation/index.js +1 -1
- package/dist/components/tickets/index.cjs +61 -61
- package/dist/components/tickets/index.js +3 -3
- package/dist/components/ui/index.cjs +2 -2
- package/dist/components/ui/index.js +1 -1
- package/dist/index.cjs +2 -2
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/src/.index.md +36 -34
- package/src/components/.alert-dialog.md +27 -23
- package/src/components/.announcement-bar.md +26 -21
- package/src/components/.breadcrumb.md +19 -15
- package/src/components/.calendar.md +24 -19
- package/src/components/.categories-cart.md +29 -24
- package/src/components/.checkbox.md +23 -25
- package/src/components/.chevron-button.md +37 -32
- package/src/components/.comment-card.md +32 -62
- package/src/components/.dialog.md +26 -26
- package/src/components/.dynamic-skeleton.md +54 -57
- package/src/components/.empty-state.md +42 -51
- package/src/components/.faq-accordion.md +27 -21
- package/src/components/.filter-chip.md +41 -24
- package/src/components/.flamingo-logo.md +20 -23
- package/src/components/.footer-waitlist-button.md +29 -22
- package/src/components/.footer.md +32 -32
- package/src/components/.icons-block.md +27 -17
- package/src/components/.image-cropper.md +41 -32
- package/src/components/.index.md +33 -39
- package/src/components/.input.md +31 -35
- package/src/components/.logs-list.md +31 -20
- package/src/components/.media-carousel.md +35 -36
- package/src/components/.open-source-features.md +33 -16
- package/src/components/.pagination.md +52 -51
- package/src/components/.provider-button.md +21 -23
- package/src/components/.select.md +31 -20
- package/src/components/.sidebar.md +34 -24
- package/src/components/.smooth-accordion.md +29 -24
- package/src/components/.social-icon-row.md +36 -32
- package/src/components/.textarea.md +25 -31
- package/src/components/.tool-icon.md +24 -26
- package/src/components/.unified-filter-logic.md +37 -30
- package/src/components/.unified-pagination.md +23 -22
- package/src/components/.user-summary-stub.md +38 -22
- package/src/components/.vendor-display-button.md +25 -25
- package/src/components/.vendor-icon.md +33 -25
- package/src/components/.why-it-matters.md +28 -25
- package/src/components/chat/.approval-batch-message.md +51 -0
- package/src/components/chat/.approval-request-message.md +35 -34
- package/src/components/chat/.chat-attachment-bar.md +64 -0
- package/src/components/chat/.chat-container.md +36 -18
- package/src/components/chat/.chat-input.md +37 -20
- package/src/components/chat/.chat-message-enhanced.md +30 -49
- package/src/components/chat/.chat-message-list.md +45 -32
- package/src/components/chat/.chat-message-skeleton.md +26 -22
- package/src/components/chat/.chat-panel-context.md +52 -0
- package/src/components/chat/.chat-ref.types.md +42 -0
- package/src/components/chat/.chat-sidebar-skeleton.md +34 -25
- package/src/components/chat/.chat-sidebar.md +31 -26
- package/src/components/chat/.chat-ticket-list.md +39 -0
- package/src/components/chat/.context-compaction-display.md +36 -0
- package/src/components/chat/.cycling-phrase.md +52 -0
- package/src/components/chat/.embeddable-chat.md +48 -0
- package/src/components/chat/.expand-chevron.md +24 -0
- package/src/components/chat/.index.md +31 -35
- package/src/components/chat/.mingo-onboarding-card-skeleton.md +44 -0
- package/src/components/chat/.mingo-onboarding-card.md +62 -0
- package/src/components/chat/.model-display.md +32 -30
- package/src/components/chat/.nav-link-anchor-via-runtime.md +40 -0
- package/src/components/chat/.remark-card-links.md +38 -0
- package/src/components/chat/.slash-command-suggestions.md +47 -0
- package/src/components/chat/.source-action-button.md +48 -0
- package/src/components/chat/.thinking-display.md +42 -0
- package/src/components/chat/.tool-call-blocks.md +45 -0
- package/src/components/chat/.tool-execution-display.md +44 -36
- package/src/components/chat/chat-container.tsx +1 -1
- package/src/components/chat/entity-cards/.admin-content-card.md +43 -0
- package/src/components/chat/entity-cards/.block-card.md +47 -0
- package/src/components/chat/entity-cards/.blog-card.md +52 -0
- package/src/components/chat/entity-cards/.blog-image-placeholder.md +39 -0
- package/src/components/chat/entity-cards/.campaign-card-admin.md +47 -0
- package/src/components/chat/entity-cards/.case-study-card.md +58 -0
- package/src/components/chat/entity-cards/.chat-ticket-item.md +40 -0
- package/src/components/chat/entity-cards/.chat-video-entity-card.md +43 -0
- package/src/components/chat/entity-cards/.customer-interview-card.md +53 -0
- package/src/components/chat/entity-cards/.data-room-doc-card.md +47 -0
- package/src/components/chat/entity-cards/.dispatch.md +39 -0
- package/src/components/chat/entity-cards/.entity-author-card.md +51 -0
- package/src/components/chat/entity-cards/.generic-entity-card.md +62 -0
- package/src/components/chat/entity-cards/.github-activity-card.md +61 -0
- package/src/components/chat/entity-cards/.hubspot-ticket-card.md +53 -0
- package/src/components/chat/entity-cards/.index.md +66 -0
- package/src/components/chat/entity-cards/.investor-update-card.md +47 -0
- package/src/components/chat/entity-cards/.onboarding-guide-card.md +58 -0
- package/src/components/chat/entity-cards/.product-release-card-defaults.md +31 -0
- package/src/components/chat/entity-cards/.product-release-card.md +29 -0
- package/src/components/chat/entity-cards/.program-card-defaults.md +41 -0
- package/src/components/chat/entity-cards/.program-card.md +59 -0
- package/src/components/chat/entity-cards/.roadmap-card.md +46 -0
- package/src/components/chat/entity-cards/.roadmap-vote-button.md +52 -0
- package/src/components/chat/entity-cards/.slack-message-card.md +48 -0
- package/src/components/chat/entity-cards/.task-type-icon.md +47 -0
- package/src/components/chat/hooks/.index.md +36 -21
- package/src/components/chat/hooks/.use-chat-attachment-image-gallery.md +51 -0
- package/src/components/chat/hooks/.use-chat-attachments.md +48 -0
- package/src/components/chat/hooks/.use-chat-card-item.md +39 -0
- package/src/components/chat/hooks/.use-chat-identity.md +45 -0
- package/src/components/chat/hooks/.use-chat.md +58 -0
- package/src/components/chat/hooks/.use-chunk-catchup.md +46 -48
- package/src/components/chat/hooks/.use-close-on-navigation.md +44 -0
- package/src/components/chat/hooks/.use-collapsible.md +48 -0
- package/src/components/chat/hooks/.use-embedded-chat.md +32 -0
- package/src/components/chat/hooks/.use-jetstream-dialog-subscription.md +40 -0
- package/src/components/chat/hooks/.use-nats-chat-adapter.md +52 -0
- package/src/components/chat/hooks/.use-nats-dialog-subscription.md +49 -30
- package/src/components/chat/hooks/.use-proxied-image-url.md +40 -0
- package/src/components/chat/hooks/.use-realtime-chunk-processor.md +43 -40
- package/src/components/chat/hooks/.use-slash-commands.md +46 -0
- package/src/components/chat/hooks/.use-sse-chat-adapter.md +34 -0
- package/src/components/chat/hooks/.use-sse.md +60 -0
- package/src/components/chat/hooks/.use-unified-chat.md +57 -0
- package/src/components/chat/types/.api.types.md +52 -38
- package/src/components/chat/types/.chat.types.md +43 -34
- package/src/components/chat/types/.component.types.md +47 -48
- package/src/components/chat/types/.index.md +20 -27
- package/src/components/chat/types/.message.types.md +58 -48
- package/src/components/chat/types/.network.types.md +57 -31
- package/src/components/chat/types/.processing.types.md +49 -31
- package/src/components/chat/types/.unified-chat-state.types.md +41 -0
- package/src/components/chat/types/entities/.blog.md +43 -0
- package/src/components/chat/types/entities/.case-study.md +26 -0
- package/src/components/chat/types/entities/.content-ref.md +41 -0
- package/src/components/chat/types/entities/.customer-interview.md +28 -0
- package/src/components/chat/types/entities/.data-room-doc.md +36 -0
- package/src/components/chat/types/entities/.github-activity.md +43 -0
- package/src/components/chat/types/entities/.hubspot-ticket.md +53 -0
- package/src/components/chat/types/entities/.index.md +42 -0
- package/src/components/chat/types/entities/.investor-update.md +45 -0
- package/src/components/chat/types/entities/.onboarding-guide.md +50 -0
- package/src/components/chat/types/entities/.program-types.md +57 -0
- package/src/components/chat/types/entities/.roadmap-item.md +58 -0
- package/src/components/chat/types/entities/.slack-message.md +35 -0
- package/src/components/chat/utils/.agent-status-message.md +45 -0
- package/src/components/chat/utils/.auto-continuation-directive.md +58 -0
- package/src/components/chat/utils/.chat-attachment-markdown.md +54 -0
- package/src/components/chat/utils/.chat-authed-fetch.md +25 -0
- package/src/components/chat/utils/.chat-nav-resolution.md +46 -0
- package/src/components/chat/utils/.chat-proxy-auth-storage.md +38 -0
- package/src/components/chat/utils/.chip-action-class.md +34 -0
- package/src/components/chat/utils/.chip-styles.md +46 -0
- package/src/components/chat/utils/.chunk-parser.md +38 -28
- package/src/components/chat/utils/.clickup-task-type-utils.md +48 -0
- package/src/components/chat/utils/.compact-card-classes.md +62 -0
- package/src/components/chat/utils/.decide-new-tab.md +51 -0
- package/src/components/chat/utils/.external-app-urls.md +29 -0
- package/src/components/chat/utils/.extract-incomplete-message-state.md +25 -29
- package/src/components/chat/utils/.flatten-assistant-content.md +34 -0
- package/src/components/chat/utils/.icon-registry.md +46 -0
- package/src/components/chat/utils/.index.md +37 -32
- package/src/components/chat/utils/.is-cross-origin-url.md +35 -0
- package/src/components/chat/utils/.message-segment-accumulator.md +25 -34
- package/src/components/chat/utils/.nav-anchor-props.md +44 -0
- package/src/components/chat/utils/.nav-click-handler.md +47 -0
- package/src/components/chat/utils/.onboarding-icons.md +28 -0
- package/src/components/chat/utils/.process-historical-messages.md +46 -35
- package/src/components/chat/utils/.scroll-anchor.md +40 -0
- package/src/components/chat/utils/.slash-dispatch-utils.md +44 -0
- package/src/components/chat/utils/.source-icons.md +35 -0
- package/src/components/chat/utils/.source-row-cta.md +54 -0
- package/src/components/chat/utils/.tool-call-helpers.md +42 -0
- package/src/components/contact/.contact-form.md +43 -0
- package/src/components/contact/.index.md +27 -0
- package/src/components/features/.array-entry-manager.md +36 -45
- package/src/components/features/.changelog-manager.md +47 -21
- package/src/components/features/.changelog-sections-manager.md +21 -26
- package/src/components/features/.command-box.md +31 -28
- package/src/components/features/.entity-summary-editor.md +46 -0
- package/src/components/features/.entity-video-section.md +51 -0
- package/src/components/features/.figma-prototype-viewer.md +48 -29
- package/src/components/features/.filters-dropdown.md +33 -46
- package/src/components/features/.highlight-config-section.md +42 -0
- package/src/components/features/.highlight-generation-section.md +46 -0
- package/src/components/features/.highlight-video-combined-section.md +47 -0
- package/src/components/features/.highlight-video-preview.md +44 -0
- package/src/components/features/.highlight-video-section.md +47 -0
- package/src/components/features/.index.md +40 -66
- package/src/components/features/.media-gallery-manager.md +48 -38
- package/src/components/features/.more-about-button.md +22 -19
- package/src/components/features/.og-editor-preview.md +40 -36
- package/src/components/features/.parallax-image-showcase.md +33 -26
- package/src/components/features/.paths-display.md +42 -43
- package/src/components/features/.platform-badge.md +37 -36
- package/src/components/features/.platform-filter.md +23 -16
- package/src/components/features/.policy-configuration-panel.md +48 -56
- package/src/components/features/.provider-button.md +33 -36
- package/src/components/features/.push-button-selector.md +40 -29
- package/src/components/features/.release-media-manager.md +46 -31
- package/src/components/features/.section-selector.md +26 -31
- package/src/components/features/.select-button.md +35 -25
- package/src/components/features/.seo-editor-preview.md +41 -44
- package/src/components/features/.social-links-manager.md +25 -19
- package/src/components/features/.start-with-openframe-button.md +37 -29
- package/src/components/features/.status-filter-component.md +36 -20
- package/src/components/features/.tags-selector.md +40 -24
- package/src/components/features/.transcribe-and-summarize-combined-section.md +45 -0
- package/src/components/features/.transcribe-summarize-section.md +48 -0
- package/src/components/features/.transcript-summary-editor.md +53 -0
- package/src/components/features/.video-bites-display.md +46 -0
- package/src/components/features/.video-clips-section.md +41 -0
- package/src/components/features/.video-ratio-tabs.md +56 -0
- package/src/components/features/.video-source-selector.md +60 -0
- package/src/components/features/.video.md +44 -0
- package/src/components/features/.waitlist-form.md +60 -0
- package/src/components/features/ai-enrich/.AIEnrichButton.md +30 -27
- package/src/components/features/ai-enrich/.AIEnrichSection.md +46 -42
- package/src/components/features/board/.board-column-header.md +38 -0
- package/src/components/features/board/.board-column.md +43 -0
- package/src/components/features/board/.board.md +51 -0
- package/src/components/features/board/.color-utils.md +26 -0
- package/src/components/features/board/.index.md +56 -0
- package/src/components/features/board/.ticket-card-skeleton.md +38 -0
- package/src/components/features/board/.ticket-card.md +47 -0
- package/src/components/features/board/.types.md +45 -0
- package/src/components/features/board/.use-board-collapse.md +34 -0
- package/src/components/features/notifications/.index.md +57 -0
- package/src/components/features/notifications/.notification-drawer.md +34 -0
- package/src/components/features/notifications/.notification-tile.md +39 -0
- package/src/components/features/notifications/.notifications-context.md +73 -0
- package/src/components/features/notifications/.types.md +45 -0
- package/src/components/icons/.about-icon.md +20 -28
- package/src/components/icons/.ai-robot-icon.md +15 -17
- package/src/components/icons/.bash-icon.md +16 -23
- package/src/components/icons/.buildings-icon.md +10 -24
- package/src/components/icons/.capterra-icon.md +30 -26
- package/src/components/icons/.carta-icon.md +29 -0
- package/src/components/icons/.clickup-icon.md +26 -0
- package/src/components/icons/.cmd-icon.md +15 -22
- package/src/components/icons/.coins-icon.md +17 -25
- package/src/components/icons/.community-hub-icon.md +19 -25
- package/src/components/icons/.community-icon.md +24 -21
- package/src/components/icons/.compare-icon.md +32 -19
- package/src/components/icons/.copy-icon.md +29 -15
- package/src/components/icons/.custom-external-link-icon.md +19 -17
- package/src/components/icons/.custom-fork-icon.md +32 -21
- package/src/components/icons/.custom-license-icon.md +29 -25
- package/src/components/icons/.custom-star-icon.md +20 -28
- package/src/components/icons/.custom-time-icon.md +21 -22
- package/src/components/icons/.cut-vendor-costs-icon.md +6 -19
- package/src/components/icons/.dashboard-icon.md +13 -18
- package/src/components/icons/.deno-icon.md +16 -23
- package/src/components/icons/.donut-icon.md +12 -23
- package/src/components/icons/.double-chevron-icon.md +28 -36
- package/src/components/icons/.elestio-logo.md +13 -23
- package/src/components/icons/.empty-vendor-icon.md +16 -18
- package/src/components/icons/.explore-categories-icon.md +18 -29
- package/src/components/icons/.eye-icon.md +16 -26
- package/src/components/icons/.facebook-icon.md +9 -20
- package/src/components/icons/.figma-icon.md +8 -17
- package/src/components/icons/.filter-icon.md +15 -17
- package/src/components/icons/.flamingo-logo.md +28 -27
- package/src/components/icons/.folder-shield-icon.md +28 -19
- package/src/components/icons/.g2-icon.md +22 -21
- package/src/components/icons/.getapp-icon.md +25 -21
- package/src/components/icons/.github-icon.md +13 -25
- package/src/components/icons/.globe-icon.md +14 -19
- package/src/components/icons/.google-gemini-icon.md +16 -19
- package/src/components/icons/.google-logo.md +15 -21
- package/src/components/icons/.grid-view-icon.md +30 -19
- package/src/components/icons/.hamburger-icon.md +22 -20
- package/src/components/icons/.hand-dollar-icon.md +24 -34
- package/src/components/icons/.hotel-icon.md +27 -21
- package/src/components/icons/.icon-utils.md +28 -29
- package/src/components/icons/.image-icon.md +15 -22
- package/src/components/icons/.index.md +25 -28
- package/src/components/icons/.info-circle-icon.md +29 -30
- package/src/components/icons/.instagram-icon.md +10 -24
- package/src/components/icons/.jump-in-icon.md +18 -18
- package/src/components/icons/.linux-icon.md +18 -18
- package/src/components/icons/.log-out-icon.md +15 -23
- package/src/components/icons/.logs-icon.md +14 -23
- package/src/components/icons/.margin-crisis-icon.md +21 -20
- package/src/components/icons/.menu-icon.md +18 -19
- package/src/components/icons/.miami-cyber-gang-logo-face-only.md +18 -21
- package/src/components/icons/.miami-cyber-gang-logo.md +22 -14
- package/src/components/icons/.mlg-logo.md +18 -16
- package/src/components/icons/.moon-icon.md +32 -22
- package/src/components/icons/.ms-icon.md +30 -19
- package/src/components/icons/.nushell-icon.md +7 -21
- package/src/components/icons/.open-source-icon.md +19 -23
- package/src/components/icons/.openai-icon.md +9 -24
- package/src/components/icons/.openframe-ai-icons.md +25 -26
- package/src/components/icons/.openframe-logo.md +28 -22
- package/src/components/icons/.openframe-text.md +24 -27
- package/src/components/icons/.openmsp-logo.md +26 -23
- package/src/components/icons/.pilot-icon.md +23 -0
- package/src/components/icons/.powershell-icon.md +17 -22
- package/src/components/icons/.python-icon.md +16 -23
- package/src/components/icons/.queries-icon.md +13 -21
- package/src/components/icons/.reddit-icon.md +28 -24
- package/src/components/icons/.remote-control-icon.md +13 -17
- package/src/components/icons/.script-icon.md +27 -19
- package/src/components/icons/.search-icon.md +21 -21
- package/src/components/icons/.send-icon.md +14 -16
- package/src/components/icons/.settings-icon.md +30 -19
- package/src/components/icons/.shape-circle-dash-icon.md +16 -21
- package/src/components/icons/.shell-icon.md +15 -19
- package/src/components/icons/.shield-check-icon.md +18 -31
- package/src/components/icons/.shield-key-icon.md +25 -25
- package/src/components/icons/.shield-lock-icon.md +8 -18
- package/src/components/icons/.slack-icon.md +28 -32
- package/src/components/icons/.sparkles-icon.md +18 -23
- package/src/components/icons/.sso-configuration-icon.md +29 -16
- package/src/components/icons/.sun-icon.md +20 -18
- package/src/components/icons/.table-view-icon.md +17 -19
- package/src/components/icons/.telegram-icon.md +8 -22
- package/src/components/icons/.thumbs-down-icon.md +10 -19
- package/src/components/icons/.thumbs-up-icon.md +8 -17
- package/src/components/icons/.tool-directory-icons.md +24 -28
- package/src/components/icons/.trustpilot-icon.md +25 -22
- package/src/components/icons/.user-icon.md +26 -28
- package/src/components/icons/.users-group-icon.md +28 -24
- package/src/components/icons/.vendor-showcase-icons.md +21 -29
- package/src/components/icons/.vendors-icon.md +18 -22
- package/src/components/icons/.whatsapp-icon.md +30 -14
- package/src/components/icons/.x-icon.md +18 -23
- package/src/components/icons/.x-logo.md +13 -38
- package/src/components/icons/.youtube-icon.md +8 -19
- package/src/components/icons/device-type-icons/.get-device-type-icon.md +26 -34
- package/src/components/icons-v2-generated/.index.md +52 -0
- package/src/components/icons-v2-generated/alphabet/.index.md +33 -0
- package/src/components/icons-v2-generated/arrows/.index.md +39 -0
- package/src/components/icons-v2-generated/audio-and-visual/.index.md +40 -0
- package/src/components/icons-v2-generated/brand-logos/.elestio-logo-icon.md +40 -0
- package/src/components/icons-v2-generated/brand-logos/.gemini-logo-icon.md +37 -0
- package/src/components/icons-v2-generated/brand-logos/.google-gemini-logo-icon.md +33 -0
- package/src/components/icons-v2-generated/brand-logos/.index.md +38 -0
- package/src/components/icons-v2-generated/brand-logos/.meshcentral-logo-grey-icon.md +35 -0
- package/src/components/icons-v2-generated/brand-logos/.meshcentral-logo-icon.md +36 -0
- package/src/components/icons-v2-generated/buildings/.index.md +48 -0
- package/src/components/icons-v2-generated/charts/.index.md +40 -0
- package/src/components/icons-v2-generated/clothes/.index.md +48 -0
- package/src/components/icons-v2-generated/coding/.index.md +42 -0
- package/src/components/icons-v2-generated/communication/.index.md +39 -0
- package/src/components/icons-v2-generated/date-and-time/.index.md +29 -0
- package/src/components/icons-v2-generated/design/.index.md +39 -0
- package/src/components/icons-v2-generated/devices/.index.md +38 -0
- package/src/components/icons-v2-generated/documents/.index.md +38 -0
- package/src/components/icons-v2-generated/finance/.index.md +34 -0
- package/src/components/icons-v2-generated/food-and-drinks/.index.md +34 -0
- package/src/components/icons-v2-generated/food-and-drinks/.leafy-green-icon.md +36 -0
- package/src/components/icons-v2-generated/food-and-drinks/.strawberry-icon.md +39 -0
- package/src/components/icons-v2-generated/health/.index.md +40 -0
- package/src/components/icons-v2-generated/household/.index.md +45 -0
- package/src/components/icons-v2-generated/interface/.index.md +36 -0
- package/src/components/icons-v2-generated/map-and-travel/.index.md +41 -0
- package/src/components/icons-v2-generated/media-playback/.index.md +51 -0
- package/src/components/icons-v2-generated/number/.index.md +41 -0
- package/src/components/icons-v2-generated/school/.index.md +37 -0
- package/src/components/icons-v2-generated/security/.fingerprint-icon.md +38 -0
- package/src/components/icons-v2-generated/security/.index.md +39 -0
- package/src/components/icons-v2-generated/shopping/.index.md +42 -0
- package/src/components/icons-v2-generated/signs-and-symbols/.index.md +32 -0
- package/src/components/icons-v2-generated/sort-and-filter/.index.md +35 -0
- package/src/components/icons-v2-generated/sport/.index.md +41 -0
- package/src/components/icons-v2-generated/text-editor/.index.md +44 -0
- package/src/components/icons-v2-generated/users/.index.md +45 -0
- package/src/components/icons-v2-generated/vehicles-and-delivery/.index.md +36 -0
- package/src/components/icons-v2-generated/weather-and-nature/.flower-sakura-icon.md +36 -0
- package/src/components/icons-v2-generated/weather-and-nature/.index.md +34 -0
- package/src/components/layout/.article-detail-layout.md +43 -0
- package/src/components/layout/.back-button.md +40 -0
- package/src/components/layout/.list-page-layout.md +35 -26
- package/src/components/layout/.page-container.md +27 -38
- package/src/components/layout/.page-layout.md +50 -0
- package/src/components/layout/.title-block.md +42 -0
- package/src/components/loading/.card-skeleton.md +38 -29
- package/src/components/loading/.device-card-skeleton.md +29 -25
- package/src/components/loading/.index.md +39 -46
- package/src/components/loading/.margin-report-skeleton.md +45 -34
- package/src/components/loading/.organization-card-skeleton.md +39 -44
- package/src/components/loading/.page-layout-skeleton.md +34 -45
- package/src/components/loading/.unified-skeleton.md +62 -36
- package/src/components/navigation/.app-header.md +40 -29
- package/src/components/navigation/.app-layout.md +25 -26
- package/src/components/navigation/.header-global-search.md +34 -37
- package/src/components/navigation/.header-organization-filter.md +23 -22
- package/src/components/navigation/.header.md +31 -35
- package/src/components/navigation/.mobile-burger-menu.md +39 -47
- package/src/components/navigation/.mobile-nav-panel.md +51 -32
- package/src/components/navigation/.navigation-sidebar-header.md +36 -0
- package/src/components/navigation/.navigation-sidebar-item.md +45 -0
- package/src/components/navigation/.navigation-sidebar-toggle.md +38 -0
- package/src/components/navigation/.navigation-sidebar.md +33 -34
- package/src/components/navigation/.sliding-sidebar.md +52 -41
- package/src/components/navigation/.sticky-section-nav.md +56 -48
- package/src/components/platform/.ScriptArguments.md +39 -25
- package/src/components/platform/.ScriptInfoSection.md +30 -26
- package/src/components/platform/.ShellTypeBadge.md +18 -13
- package/src/components/platform/.SoftwareInfo.md +23 -27
- package/src/components/platform/.SoftwareSourceBadge.md +28 -19
- package/src/components/platform/.ToolBadge.md +25 -26
- package/src/components/platform/ShellTypeBadge.tsx +2 -2
- package/src/components/providers/.theme-provider.md +52 -0
- package/src/components/shared/delivery/.delivery-lists.md +39 -0
- package/src/components/shared/delivery/.delivery-row.md +41 -0
- package/src/components/shared/delivery/.delivery-table.md +41 -0
- package/src/components/shared/delivery/.index.md +38 -0
- package/src/components/shared/dev-section/.dev-card-row.md +60 -0
- package/src/components/shared/dev-section/.dev-section-page.md +48 -0
- package/src/components/shared/dev-section/.dev-section-view.md +43 -0
- package/src/components/shared/dev-section/.index.md +38 -0
- package/src/components/shared/legal-document/.index.md +40 -0
- package/src/components/shared/legal-document/.legal-document-page.md +50 -0
- package/src/components/shared/legal-document/.use-legal-docs.md +42 -0
- package/src/components/shared/onboarding/.onboarding-step-card.md +32 -31
- package/src/components/shared/onboarding/.onboarding-walkthrough.md +39 -43
- package/src/components/shared/product-release/.index.md +28 -30
- package/src/components/shared/product-release/.product-release-card-skeleton.md +28 -28
- package/src/components/shared/product-release/.product-release-card.md +45 -27
- package/src/components/shared/product-release/.release-detail-page.md +23 -24
- package/src/components/shared/roadmap/.index.md +37 -0
- package/src/components/shared/roadmap/.roadmap-grid-skeleton.md +39 -0
- package/src/components/shared/roadmap/.roadmap-grid.md +66 -0
- package/src/components/shared/roadmap/.use-roadmap-voting.md +68 -0
- package/src/components/tickets/.help-center-card.md +51 -0
- package/src/components/tickets/.help-center-create-form.md +38 -0
- package/src/components/tickets/.help-center-list.md +40 -0
- package/src/components/tickets/.index.md +65 -0
- package/src/components/tickets/.ticket-center.md +51 -0
- package/src/components/tickets/.ticket-detail-drawer.md +48 -0
- package/src/components/tickets/.ticket-linked-delivery-card.md +36 -0
- package/src/components/tickets/.ticket-open-form.md +50 -0
- package/src/components/tickets/.ticket-row.md +30 -0
- package/src/components/tickets/.types.md +57 -0
- package/src/components/tickets/hooks/.use-ticket-actions.md +77 -0
- package/src/components/tickets/hooks/.use-ticket-engagements.md +42 -0
- package/src/components/tickets/hooks/.use-tickets-list.md +54 -0
- package/src/components/ui/.actions-menu.md +66 -41
- package/src/components/ui/.alert-dialog.md +29 -26
- package/src/components/ui/.allowed-domains-input.md +29 -21
- package/src/components/ui/.assignee-dropdown.md +45 -0
- package/src/components/ui/.autocomplete.md +47 -41
- package/src/components/ui/.benefit-card.md +51 -36
- package/src/components/ui/.brand-association-card.md +30 -27
- package/src/components/ui/.breadcrumb.md +17 -15
- package/src/components/ui/.checkbox-block.md +39 -35
- package/src/components/ui/.checkbox-with-description.md +23 -16
- package/src/components/ui/.checkbox.md +31 -23
- package/src/components/ui/.circular-progress.md +49 -19
- package/src/components/ui/.content-loader.md +32 -20
- package/src/components/ui/.cursor-pagination.md +41 -52
- package/src/components/ui/.dashboard-info-card.md +33 -26
- package/src/components/ui/.date-picker.md +27 -25
- package/src/components/ui/.device-card-compact.md +28 -29
- package/src/components/ui/.device-card.md +27 -27
- package/src/components/ui/.dialog.md +25 -16
- package/src/components/ui/.drawer.md +86 -0
- package/src/components/ui/.dropdown-button.md +45 -0
- package/src/components/ui/.entity-image.md +46 -0
- package/src/components/ui/.error-state.md +41 -28
- package/src/components/ui/.feature-card.md +35 -31
- package/src/components/ui/.feature-list.md +48 -0
- package/src/components/ui/.field-wrapper.md +47 -0
- package/src/components/ui/.file-upload.md +42 -0
- package/src/components/ui/.filter-checkbox-item.md +43 -0
- package/src/components/ui/.filter-list.md +57 -0
- package/src/components/ui/.filter-modal.md +59 -0
- package/src/components/ui/.floating-tooltip.md +43 -26
- package/src/components/ui/.hidden-tags-popup.md +49 -0
- package/src/components/ui/.hover-dropdown.md +54 -0
- package/src/components/ui/.image-gallery-modal.md +41 -34
- package/src/components/ui/.image-uploader.md +53 -0
- package/src/components/ui/.index.md +40 -34
- package/src/components/ui/.info-card.md +31 -31
- package/src/components/ui/.info-row.md +31 -27
- package/src/components/ui/.input-trigger.md +44 -0
- package/src/components/ui/.input.md +37 -31
- package/src/components/ui/.markdown-editor.md +57 -0
- package/src/components/ui/.modal-v2.md +51 -0
- package/src/components/ui/.modal.md +32 -31
- package/src/components/ui/.more-actions-menu.md +45 -38
- package/src/components/ui/.organization-card.md +31 -37
- package/src/components/ui/.page-actions.md +44 -54
- package/src/components/ui/.phone-input.md +54 -0
- package/src/components/ui/.progress-bar.md +35 -27
- package/src/components/ui/.radio-group.md +39 -27
- package/src/components/ui/.release-changelog-section.md +34 -34
- package/src/components/ui/.search-input.md +48 -0
- package/src/components/ui/.select.md +54 -34
- package/src/components/ui/.service-card.md +42 -40
- package/src/components/ui/.sheet.md +27 -18
- package/src/components/ui/.simple-markdown-renderer.md +29 -31
- package/src/components/ui/.sort-column-item.md +42 -0
- package/src/components/ui/.square-avatar.md +34 -24
- package/src/components/ui/.status-badge.md +26 -38
- package/src/components/ui/.switch.md +22 -35
- package/src/components/ui/.tab-navigation.md +56 -53
- package/src/components/ui/.tab-selector.md +40 -0
- package/src/components/ui/.tag-key-value-filter.md +56 -0
- package/src/components/ui/.tag-search-input.md +53 -0
- package/src/components/ui/.tag.md +49 -31
- package/src/components/ui/.tags-manager.md +60 -0
- package/src/components/ui/.textarea.md +44 -34
- package/src/components/ui/.ticket-attachments-list.md +45 -0
- package/src/components/ui/.ticket-detail-section.md +29 -0
- package/src/components/ui/.ticket-info-section.md +56 -0
- package/src/components/ui/.ticket-note-card.md +53 -0
- package/src/components/ui/.ticket-notes-section.md +54 -0
- package/src/components/ui/.ticket-status-tag.md +49 -0
- package/src/components/ui/.title-content-block.md +25 -26
- package/src/components/ui/.toaster.md +40 -28
- package/src/components/ui/.tooltip.md +22 -11
- package/src/components/ui/.truncate-text.md +39 -0
- package/src/components/ui/button/.button-styles.md +35 -0
- package/src/components/ui/button/.button.md +53 -0
- package/src/components/ui/button/.split-button.md +48 -0
- package/src/components/ui/data-table/.data-table-body.md +48 -0
- package/src/components/ui/data-table/.data-table-column-filter.md +45 -0
- package/src/components/ui/data-table/.data-table-cursor-footer.md +45 -0
- package/src/components/ui/data-table/.data-table-empty.md +43 -0
- package/src/components/ui/data-table/.data-table-header.md +55 -0
- package/src/components/ui/data-table/.data-table-infinite-footer.md +44 -0
- package/src/components/ui/data-table/.data-table-row-count.md +43 -0
- package/src/components/ui/data-table/.data-table-row.md +47 -0
- package/src/components/ui/data-table/.data-table-skeleton.md +42 -0
- package/src/components/ui/data-table/.data-table.md +47 -0
- package/src/components/ui/data-table/.index.md +55 -0
- package/src/components/ui/data-table/.types.md +54 -0
- package/src/components/ui/data-table/.use-data-table.md +45 -0
- package/src/components/ui/data-table/.utils.md +38 -0
- package/src/components/ui/file-manager/.file-manager-action-bar.md +39 -30
- package/src/components/ui/file-manager/.file-manager-breadcrumb.md +29 -27
- package/src/components/ui/file-manager/.file-manager-context-menu.md +38 -42
- package/src/components/ui/file-manager/.file-manager-empty.md +26 -39
- package/src/components/ui/file-manager/.file-manager-table-row.md +33 -41
- package/src/components/ui/file-manager/.file-manager.md +35 -31
- package/src/components/ui/query-report-table/.index.md +43 -0
- package/src/components/ui/query-report-table/.query-report-table-header.md +36 -0
- package/src/components/ui/query-report-table/.query-report-table-row.md +40 -0
- package/src/components/ui/query-report-table/.query-report-table-skeleton.md +44 -0
- package/src/components/ui/query-report-table/.query-report-table.md +47 -0
- package/src/components/ui/query-report-table/.types.md +41 -0
- package/src/components/ui/query-report-table/.utils.md +35 -0
- package/src/components/ui/table/.index.md +27 -48
- package/src/components/ui/table/.table-cell.md +18 -27
- package/src/components/ui/table/.table-column-filter-dropdown.md +40 -0
- package/src/components/ui/table/.table-description-cell.md +24 -14
- package/src/components/ui/table/.table-empty-state.md +21 -22
- package/src/components/ui/table/.table-header.md +25 -40
- package/src/components/ui/table/.table-row.md +22 -40
- package/src/components/ui/table/.table-skeleton.md +33 -26
- package/src/components/ui/table/.table-timestamp-cell.md +26 -16
- package/src/components/ui/table/.table.md +39 -59
- package/src/components/ui/table/.types.md +44 -36
- package/src/components/ui/table/.utils.md +18 -20
- package/src/contexts/.chat-runtime-context.md +54 -0
- package/src/contexts/.endpoints-runtime-context.md +58 -0
- package/src/contexts/.index.md +53 -0
- package/src/contexts/.use-outer-or-default.md +36 -0
- package/src/embed-shims/.index.md +45 -0
- package/src/embed-shims/.next-dynamic.md +43 -0
- package/src/embed-shims/.next-image.md +45 -0
- package/src/embed-shims/.next-link.md +59 -0
- package/src/embed-shims/.next-navigation.md +59 -0
- package/src/hooks/.index.md +34 -29
- package/src/hooks/.use-access-code-integration.md +49 -0
- package/src/hooks/.use-contact-submission.md +37 -26
- package/src/hooks/.use-copy-to-clipboard.md +42 -0
- package/src/hooks/.use-near-viewport.md +44 -0
- package/src/hooks/.use-og-placeholder.md +51 -0
- package/src/hooks/.use-toast.md +36 -35
- package/src/hooks/state/.use-api-params.md +29 -46
- package/src/hooks/state/.use-query-params.md +37 -33
- package/src/hooks/ui/.index.md +33 -32
- package/src/hooks/ui/.use-auto-limit-tags.md +54 -0
- package/src/hooks/ui/.use-horizontal-scrollbar.md +74 -0
- package/src/hooks/ui/.use-image-edge-color.md +42 -0
- package/src/hooks/ui/.use-media-query.md +33 -25
- package/src/hooks/ui/.use-search.md +51 -0
- package/src/nats/.nats.md +49 -28
- package/src/schemas/.contact-schema.md +45 -0
- package/src/stories/.AnnouncementBar.stories.md +45 -0
- package/src/stories/.AppLayout.stories.md +20 -21
- package/src/stories/.Autocomplete.stories.md +48 -34
- package/src/stories/.Board.stories.md +35 -0
- package/src/stories/.Button.stories.md +36 -33
- package/src/stories/.ChatTicketList.stories.md +33 -0
- package/src/stories/.CheckboxBlock.stories.md +40 -28
- package/src/stories/.ContentLoader.stories.md +47 -0
- package/src/stories/.DashboardInfoCard.stories.md +57 -0
- package/src/stories/.DataTable.stories.md +41 -0
- package/src/stories/.DatePicker.stories.md +66 -52
- package/src/stories/.DeviceCard.stories.md +41 -40
- package/src/stories/.DeviceCardCompact.stories.md +41 -0
- package/src/stories/.DotsLoaderIcon.stories.md +36 -0
- package/src/stories/.Drawer.stories.md +58 -0
- package/src/stories/.EmbeddableChat.stories.md +41 -0
- package/src/stories/.FileManager.stories.md +41 -0
- package/src/stories/.FileManagerActionBar.stories.md +38 -0
- package/src/stories/.FileUpload.stories.md +53 -0
- package/src/stories/.FilterList.stories.md +54 -0
- package/src/stories/.FilterModal.stories.md +72 -0
- package/src/stories/.FiltersDropdown.stories.md +57 -0
- package/src/stories/.Header.stories.md +48 -0
- package/src/stories/.ImageUploader.stories.md +49 -0
- package/src/stories/.InfoCard.stories.md +54 -0
- package/src/stories/.Input.stories.md +48 -30
- package/src/stories/.ListPageLayout.stories.md +56 -43
- package/src/stories/.MingoOnboardingCard.stories.md +42 -0
- package/src/stories/.MingoOnboardingCardSkeleton.stories.md +35 -0
- package/src/stories/.Modal.stories.md +40 -31
- package/src/stories/.NotificationDrawer.stories.md +55 -0
- package/src/stories/.OnboardingStepCard.stories.md +41 -0
- package/src/stories/.OrganizationCard.stories.md +61 -0
- package/src/stories/.PageActions.stories.md +52 -49
- package/src/stories/.PageContainer.stories.md +41 -35
- package/src/stories/.PageLayout.stories.md +60 -0
- package/src/stories/.ParallaxImageShowcase.stories.md +49 -0
- package/src/stories/.PhoneInput.stories.md +53 -0
- package/src/stories/.QueryReportTable.stories.md +44 -0
- package/src/stories/.RadioGroup.stories.md +46 -0
- package/src/stories/.RadioGroupBlock.stories.md +45 -0
- package/src/stories/.Select.stories.md +29 -15
- package/src/stories/.SlashCommandSuggestions.stories.md +41 -0
- package/src/stories/.SplitButton.stories.md +62 -0
- package/src/stories/.TabNavigation.stories.md +47 -38
- package/src/stories/.TabSelector.stories.md +65 -0
- package/src/stories/.Table.stories.md +38 -46
- package/src/stories/.TableColumnFilterDropdown.stories.md +46 -0
- package/src/stories/.Tag.stories.md +43 -32
- package/src/stories/.TagKeyValueFilter.stories.md +44 -0
- package/src/stories/.TagSearchInput.stories.md +61 -0
- package/src/stories/.Textarea.stories.md +49 -26
- package/src/stories/.Theme.stories.md +41 -0
- package/src/stories/.TicketAttachmentsList.stories.md +39 -0
- package/src/stories/.TicketDescriptionViewer.stories.md +39 -0
- package/src/stories/.TicketInfoSection.stories.md +40 -0
- package/src/stories/.TicketKnowledgeBaseList.stories.md +36 -0
- package/src/stories/.TicketNotesSection.stories.md +50 -0
- package/src/stories/.Toaster.stories.md +40 -0
- package/src/stories/.ToolExecutionDisplay.stories.md +41 -0
- package/src/stories/.Tooltip.stories.md +41 -0
- package/src/stories/.UserSummary.stories.md +41 -0
- package/src/stories/.WaitlistForm.stories.md +42 -0
- package/src/stories/BlogCard.stories.tsx +61 -0
- package/src/stories/CampaignCardAdmin.stories.tsx +52 -0
- package/src/stories/CaseStudyCard.stories.tsx +42 -0
- package/src/stories/ChatContainer.stories.tsx +186 -0
- package/src/stories/ChatInlineVideoPill.stories.tsx +63 -0
- package/src/stories/CustomerInterviewCard.stories.tsx +42 -0
- package/src/stories/DataRoomDocCard.stories.tsx +52 -0
- package/src/stories/GenericEntityCard.stories.tsx +66 -0
- package/src/stories/GitHubActivityCard.stories.tsx +61 -0
- package/src/stories/HubspotTicketCard.stories.tsx +98 -0
- package/src/stories/InvestorUpdateCard.stories.tsx +42 -0
- package/src/stories/OnboardingGuideCard.stories.tsx +52 -0
- package/src/stories/ProductReleaseCard.stories.tsx +61 -0
- package/src/stories/ProgramCard.stories.tsx +79 -0
- package/src/stories/RoadmapCard.stories.tsx +75 -0
- package/src/stories/SlackMessageCard.stories.tsx +41 -0
- package/src/stories/__fixtures__/chat-cards.ts +604 -0
- package/src/types/.blog.md +53 -29
- package/src/types/.case-study.md +44 -27
- package/src/types/.customer-interview.md +66 -44
- package/src/types/.delivery.md +40 -0
- package/src/types/.employee.md +24 -30
- package/src/types/.index.md +33 -47
- package/src/types/.marketing.md +49 -44
- package/src/types/.navigation.md +33 -25
- package/src/types/.os.types.md +32 -27
- package/src/types/.platform.md +31 -28
- package/src/types/.product-release.md +65 -38
- package/src/types/.supabase.md +37 -29
- package/src/types/.team.md +41 -33
- package/src/types/.video-processing.md +54 -0
- package/src/types/.waitlist.md +40 -36
- package/src/utils/.access-code-client.md +37 -36
- package/src/utils/.cn.md +31 -23
- package/src/utils/.color-analysis.md +35 -0
- package/src/utils/.country-phone-utils.md +39 -0
- package/src/utils/.date-formatters.md +19 -18
- package/src/utils/.embed-authed-fetch.md +39 -0
- package/src/utils/.embed-proxy-auth-storage.md +38 -0
- package/src/utils/.fetch-priority.md +41 -0
- package/src/utils/.format.md +74 -25
- package/src/utils/.generic-domain-utils.md +42 -0
- package/src/utils/.image-proxy.md +59 -23
- package/src/utils/.index.md +42 -49
- package/src/utils/.local-storage-adapter.md +50 -0
- package/src/utils/.ods-color-utils.md +55 -38
- package/src/utils/.platform-config.md +45 -25
- package/src/utils/.scroll-into-view.md +40 -0
- package/src/utils/.source-icons.md +53 -0
- package/src/utils/.sse-decision-frame.md +46 -0
- package/src/utils/dev-sections/.index.md +34 -0
- package/src/utils/dev-sections/.openframe-dev-sections.md +49 -0
- package/dist/chunk-ZDF6F7ED.cjs.map +0 -1
- package/dist/chunk-ZTJVRSN5.js.map +0 -1
- package/src/components/.card.md +0 -42
- package/src/components/.contact-button.md +0 -30
- package/src/components/.drawer.md +0 -46
- package/src/components/.fixed-layout-container.md +0 -47
- package/src/components/.footer-waitlist-card.md +0 -29
- package/src/components/.join-waitlist-cta.md +0 -29
- package/src/components/.sheet.md +0 -47
- package/src/components/.sliding-panel.md +0 -48
- package/src/components/.tooltip.md +0 -48
- package/src/components/.use-mobile.md +0 -42
- package/src/components/.vendor-compact-card.md +0 -66
- package/src/components/.x-button.md +0 -42
- package/src/components/features/.github-repo-button.md +0 -40
- package/src/components/features/.organization-icon.md +0 -47
- package/src/components/features/.organization-selector.md +0 -45
- package/src/components/icons/.fleet-icon.md +0 -39
- package/src/components/icons/.meshcentral-icon.md +0 -35
- package/src/components/icons/.refresh-icon.md +0 -34
- package/src/components/icons/.tactical-icon.md +0 -35
- package/src/components/ui/.button.md +0 -69
- package/src/components/ui/.log-table-row.md +0 -47
- package/src/components/ui/.selectable-device-card.md +0 -46
- package/src/hooks/.api-hooks-stub.md +0 -45
- package/src/hooks/api/.use-product-releases.md +0 -53
- package/src/stories/.OrganizationSelector.stories.md +0 -42
- package/src/stories/.SelectableDeviceCard.stories.md +0 -30
- package/src/utils/.lite-youtube-embed-stub.md +0 -37
- package/src/utils/.lite-youtube-embed.md +0 -33
- /package/dist/{chunk-IK2X5YJU.js.map → chunk-7PCP7YQR.js.map} +0 -0
- /package/dist/{chunk-3JWIJJ44.js.map → chunk-R6MLPU4A.js.map} +0 -0
package/src/components/.card.md
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
<!-- source-hash: 7f5f4e9fc3cf030cd0a457a087d76849 -->
|
|
2
|
-
A comprehensive React card component library providing both standard card elements and a specialized horizontal layout variant for category displays.
|
|
3
|
-
|
|
4
|
-
## Key Components
|
|
5
|
-
|
|
6
|
-
- **Card**: Base container with rounded borders and shadow styling
|
|
7
|
-
- **CardHeader**: Top section with vertical spacing for titles and descriptions
|
|
8
|
-
- **CardTitle**: Large, semibold heading text with tight tracking
|
|
9
|
-
- **CardDescription**: Muted subtitle text for additional context
|
|
10
|
-
- **CardContent**: Main body content area with standard padding
|
|
11
|
-
- **CardFooter**: Bottom section with horizontal flex layout for actions
|
|
12
|
-
- **CardHorizontal**: Specialized horizontal card with icon, title, and description for homepage categories
|
|
13
|
-
|
|
14
|
-
## Usage Example
|
|
15
|
-
|
|
16
|
-
```typescript
|
|
17
|
-
import { Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter, CardHorizontal } from './card'
|
|
18
|
-
|
|
19
|
-
// Standard card layout
|
|
20
|
-
<Card className="w-full max-w-md">
|
|
21
|
-
<CardHeader>
|
|
22
|
-
<CardTitle>Getting Started</CardTitle>
|
|
23
|
-
<CardDescription>Learn the basics of our platform</CardDescription>
|
|
24
|
-
</CardHeader>
|
|
25
|
-
<CardContent>
|
|
26
|
-
<p>Welcome to our documentation system...</p>
|
|
27
|
-
</CardContent>
|
|
28
|
-
<CardFooter>
|
|
29
|
-
<button>Read More</button>
|
|
30
|
-
</CardFooter>
|
|
31
|
-
</Card>
|
|
32
|
-
|
|
33
|
-
// Horizontal card for categories
|
|
34
|
-
<CardHorizontal
|
|
35
|
-
icon={<DocumentIcon />}
|
|
36
|
-
title="API Reference"
|
|
37
|
-
description="Complete API documentation and examples"
|
|
38
|
-
borderLeft={true}
|
|
39
|
-
/>
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
All components are built with `React.forwardRef` for proper ref forwarding and use the `cn` utility for conditional class merging.
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
<!-- source-hash: 06bbc1613a73935df9ce7e564ffcb143 -->
|
|
2
|
-
A client-side button component that navigates users to the contact page when clicked. This component provides a reusable way to add contact navigation throughout the application with customizable styling and content.
|
|
3
|
-
|
|
4
|
-
## Key Components
|
|
5
|
-
|
|
6
|
-
- **ContactButton** - The main functional component that renders a clickable button
|
|
7
|
-
- **ContactButtonProps** - TypeScript interface defining the component's props (children and optional className)
|
|
8
|
-
- **handleClick** - Click handler function that performs client-side navigation to `/contact`
|
|
9
|
-
|
|
10
|
-
## Usage Example
|
|
11
|
-
|
|
12
|
-
```typescript
|
|
13
|
-
import { ContactButton } from './contact-button';
|
|
14
|
-
|
|
15
|
-
// Basic usage
|
|
16
|
-
<ContactButton>Get in Touch</ContactButton>
|
|
17
|
-
|
|
18
|
-
// With custom styling
|
|
19
|
-
<ContactButton className="bg-blue-500 text-white px-4 py-2 rounded">
|
|
20
|
-
Contact Us
|
|
21
|
-
</ContactButton>
|
|
22
|
-
|
|
23
|
-
// With custom content
|
|
24
|
-
<ContactButton className="flex items-center gap-2">
|
|
25
|
-
<MailIcon />
|
|
26
|
-
Send Message
|
|
27
|
-
</ContactButton>
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
The component uses `window.location.href` for navigation, which triggers a full page reload. For Next.js applications, consider using `useRouter` from `next/navigation` for client-side routing without page reloads.
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
<!-- source-hash: 4dba78b167ab0543cc3c3511ec3f84e7 -->
|
|
2
|
-
A React component library that provides a styled drawer/modal interface built on top of the Vaul primitive library. This file exports a complete set of drawer components with consistent styling and accessibility features.
|
|
3
|
-
|
|
4
|
-
## Key Components
|
|
5
|
-
|
|
6
|
-
- **Drawer** - Root container component with optional background scaling
|
|
7
|
-
- **DrawerTrigger** - Button or element that opens the drawer
|
|
8
|
-
- **DrawerContent** - Main drawer panel with bottom sheet styling and drag handle
|
|
9
|
-
- **DrawerOverlay** - Semi-transparent backdrop overlay
|
|
10
|
-
- **DrawerHeader/DrawerFooter** - Layout sections for drawer content organization
|
|
11
|
-
- **DrawerTitle/DrawerDescription** - Semantic text components for drawer headers
|
|
12
|
-
- **DrawerPortal/DrawerClose** - Portal rendering and close functionality
|
|
13
|
-
|
|
14
|
-
## Usage Example
|
|
15
|
-
|
|
16
|
-
```typescript
|
|
17
|
-
import {
|
|
18
|
-
Drawer,
|
|
19
|
-
DrawerContent,
|
|
20
|
-
DrawerDescription,
|
|
21
|
-
DrawerHeader,
|
|
22
|
-
DrawerTitle,
|
|
23
|
-
DrawerTrigger,
|
|
24
|
-
} from "./drawer"
|
|
25
|
-
|
|
26
|
-
function MyDrawer() {
|
|
27
|
-
return (
|
|
28
|
-
<Drawer>
|
|
29
|
-
<DrawerTrigger asChild>
|
|
30
|
-
<button>Open Drawer</button>
|
|
31
|
-
</DrawerTrigger>
|
|
32
|
-
<DrawerContent>
|
|
33
|
-
<DrawerHeader>
|
|
34
|
-
<DrawerTitle>Settings</DrawerTitle>
|
|
35
|
-
<DrawerDescription>
|
|
36
|
-
Manage your account settings and preferences.
|
|
37
|
-
</DrawerDescription>
|
|
38
|
-
</DrawerHeader>
|
|
39
|
-
{/* Drawer content */}
|
|
40
|
-
</DrawerContent>
|
|
41
|
-
</Drawer>
|
|
42
|
-
)
|
|
43
|
-
}
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
The drawer appears as a bottom sheet on mobile with a drag handle, backdrop overlay, and smooth animations. All components are forwardRef-compatible and accept custom className props for styling customization.
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
<!-- source-hash: eec64c454da156b6de3dfdb1754d4764 -->
|
|
2
|
-
A React component library providing layout containers that maintain stable positioning during content loading states to prevent visual jumping and layout shifts.
|
|
3
|
-
|
|
4
|
-
## Key Components
|
|
5
|
-
|
|
6
|
-
- **`FixedLayoutContainer`** - Main wrapper component with configurable content types ('blog' | 'vendor') and optional pagination display
|
|
7
|
-
- **`FixedContentArea`** - Content-specific container with loading state support and accessibility attributes
|
|
8
|
-
- **`StableControlsContainer`** - Simple wrapper for search and filter controls
|
|
9
|
-
- **`StablePaginationContainer`** - Pagination wrapper with disabled state handling
|
|
10
|
-
|
|
11
|
-
## Usage Example
|
|
12
|
-
|
|
13
|
-
```typescript
|
|
14
|
-
import {
|
|
15
|
-
FixedLayoutContainer,
|
|
16
|
-
FixedContentArea,
|
|
17
|
-
StableControlsContainer,
|
|
18
|
-
StablePaginationContainer
|
|
19
|
-
} from './fixed-layout-container'
|
|
20
|
-
|
|
21
|
-
function BlogPage() {
|
|
22
|
-
const [isLoading, setIsLoading] = useState(false)
|
|
23
|
-
|
|
24
|
-
return (
|
|
25
|
-
<FixedLayoutContainer contentType="blog" showPagination={true}>
|
|
26
|
-
<StableControlsContainer className="mb-4">
|
|
27
|
-
<SearchInput />
|
|
28
|
-
<FilterControls />
|
|
29
|
-
</StableControlsContainer>
|
|
30
|
-
|
|
31
|
-
<FixedContentArea
|
|
32
|
-
contentType="blog"
|
|
33
|
-
isLoading={isLoading}
|
|
34
|
-
className="min-h-[400px]"
|
|
35
|
-
>
|
|
36
|
-
<BlogCardGrid posts={posts} />
|
|
37
|
-
</FixedContentArea>
|
|
38
|
-
|
|
39
|
-
<StablePaginationContainer disabled={isLoading}>
|
|
40
|
-
<PaginationControls />
|
|
41
|
-
</StablePaginationContainer>
|
|
42
|
-
</FixedLayoutContainer>
|
|
43
|
-
)
|
|
44
|
-
}
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
The components use a simplified approach with natural content height determination rather than forced dimensions, providing stable layouts while avoiding layout calculation issues.
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
<!-- source-hash: 51871db59129328dc60e5dca9f64dfcd -->
|
|
2
|
-
A React component that renders a promotional waitlist card for OpenFrame, featuring smart navigation behavior that either scrolls to an existing form or navigates to the waitlist page.
|
|
3
|
-
|
|
4
|
-
## Key Components
|
|
5
|
-
|
|
6
|
-
- **FooterWaitlistCard**: Main component that displays OpenFrame promotional content with a call-to-action button
|
|
7
|
-
- **handleClick**: Smart navigation handler that detects current page context and either scrolls to existing form or navigates to waitlist page
|
|
8
|
-
- **OpenFrameLogo**: Custom logo component with configurable colors for the button icon
|
|
9
|
-
- **Button**: UI component with left icon support for the call-to-action
|
|
10
|
-
|
|
11
|
-
## Usage Example
|
|
12
|
-
|
|
13
|
-
```typescript
|
|
14
|
-
import { FooterWaitlistCard } from './footer-waitlist-card';
|
|
15
|
-
|
|
16
|
-
function Footer() {
|
|
17
|
-
return (
|
|
18
|
-
<footer className="p-6">
|
|
19
|
-
<FooterWaitlistCard />
|
|
20
|
-
</footer>
|
|
21
|
-
);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
// The component handles two scenarios automatically:
|
|
25
|
-
// 1. On /waitlist page: Scrolls to #waitlist-form anchor and focuses email input
|
|
26
|
-
// 2. On other pages: Navigates to /waitlist#waitlist-form
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
The component uses Next.js navigation hooks and implements smooth scrolling with automatic email input focus when already on the waitlist page. It features a responsive design with OpenFrame branding and a distinctive call-to-action button with the OpenFrame logo.
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
<!-- source-hash: 90522847a433b51f7e5cbd0fa607c5d4 -->
|
|
2
|
-
A reusable call-to-action component that promotes OpenFrame early access signup with intelligent navigation handling and customizable behavior.
|
|
3
|
-
|
|
4
|
-
## Key Components
|
|
5
|
-
|
|
6
|
-
- **JoinWaitlistCTA** - Main component with OpenFrame branding, hero text, and CTA button
|
|
7
|
-
- **JoinWaitlistCTAProps** - Interface defining optional custom handlers, loading states, and styling props
|
|
8
|
-
- **defaultHandler** - Smart navigation logic that scrolls to form if already on waitlist page, otherwise navigates there
|
|
9
|
-
- **ResponsiveIconsBlock** - Visual element displaying partner/technology icons in the bottom section
|
|
10
|
-
|
|
11
|
-
## Usage Example
|
|
12
|
-
|
|
13
|
-
```typescript
|
|
14
|
-
// Basic usage with default behavior
|
|
15
|
-
<JoinWaitlistCTA />
|
|
16
|
-
|
|
17
|
-
// With custom join handler and loading state
|
|
18
|
-
<JoinWaitlistCTA
|
|
19
|
-
onJoin={() => handleCustomSignup()}
|
|
20
|
-
loading={isSubmitting}
|
|
21
|
-
showBottomText={false}
|
|
22
|
-
className="mt-8"
|
|
23
|
-
/>
|
|
24
|
-
|
|
25
|
-
// On waitlist page (automatically scrolls to form)
|
|
26
|
-
<JoinWaitlistCTA showBottomText={false} />
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
The component features a radial gradient background, OpenFrame logo with wordmark, and intelligent UX that either navigates to `/waitlist#waitlist-form` or smooth-scrolls to the form if already on the waitlist page. The CTA button includes auto-focus functionality and supports external loading states when using custom handlers.
|
package/src/components/.sheet.md
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
<!-- source-hash: def6780e314223ec7c16ecc202b30bc5 -->
|
|
2
|
-
A customizable slide-out sheet component built on Radix UI Dialog primitives, providing modal-like overlays that can slide in from any side of the screen. Features responsive design, smooth animations, and accessibility support.
|
|
3
|
-
|
|
4
|
-
## Key Components
|
|
5
|
-
|
|
6
|
-
- **Sheet** - Root container component (Radix Dialog.Root)
|
|
7
|
-
- **SheetTrigger** - Button to open the sheet
|
|
8
|
-
- **SheetContent** - Main content area with configurable slide direction
|
|
9
|
-
- **SheetOverlay** - Background overlay with fade animations
|
|
10
|
-
- **SheetHeader/SheetFooter** - Layout components for content organization
|
|
11
|
-
- **SheetTitle/SheetDescription** - Accessible heading and description components
|
|
12
|
-
- **SheetClose** - Close button with X icon
|
|
13
|
-
- **SheetPortal** - Portal for rendering outside DOM tree
|
|
14
|
-
|
|
15
|
-
## Usage Example
|
|
16
|
-
|
|
17
|
-
```typescript
|
|
18
|
-
import {
|
|
19
|
-
Sheet,
|
|
20
|
-
SheetContent,
|
|
21
|
-
SheetDescription,
|
|
22
|
-
SheetHeader,
|
|
23
|
-
SheetTitle,
|
|
24
|
-
SheetTrigger,
|
|
25
|
-
} from "./sheet"
|
|
26
|
-
|
|
27
|
-
function MySheet() {
|
|
28
|
-
return (
|
|
29
|
-
<Sheet>
|
|
30
|
-
<SheetTrigger asChild>
|
|
31
|
-
<button>Open Settings</button>
|
|
32
|
-
</SheetTrigger>
|
|
33
|
-
<SheetContent side="right">
|
|
34
|
-
<SheetHeader>
|
|
35
|
-
<SheetTitle>Settings</SheetTitle>
|
|
36
|
-
<SheetDescription>
|
|
37
|
-
Configure your application preferences here.
|
|
38
|
-
</SheetDescription>
|
|
39
|
-
</SheetHeader>
|
|
40
|
-
{/* Your content */}
|
|
41
|
-
</SheetContent>
|
|
42
|
-
</Sheet>
|
|
43
|
-
)
|
|
44
|
-
}
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
The `side` prop accepts "top", "bottom", "left", or "right" (default) to control slide direction. Content is responsive with mobile-optimized widths and smooth enter/exit animations.
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
<!-- source-hash: 2662f35e5ddfa676dff33957c81825fe -->
|
|
2
|
-
A sliding panel component that slides in from the right side of the screen, built on Headless UI Dialog for proper accessibility and smooth transitions.
|
|
3
|
-
|
|
4
|
-
## Key Components
|
|
5
|
-
|
|
6
|
-
- **SlidingPanel**: Main component with configurable size options (sm, md, lg, xl, half, fullscreen)
|
|
7
|
-
- **SlidingPanelProps**: Interface defining component props including open state, close handler, title, subtitle, children, and optional footer
|
|
8
|
-
- **Size variants**: Predefined width classes for different panel sizes
|
|
9
|
-
- **Body scroll prevention**: Effect that prevents background scrolling when panel is open
|
|
10
|
-
|
|
11
|
-
## Usage Example
|
|
12
|
-
|
|
13
|
-
```typescript
|
|
14
|
-
import { SlidingPanel } from './sliding-panel';
|
|
15
|
-
import { useState } from 'react';
|
|
16
|
-
|
|
17
|
-
function MyComponent() {
|
|
18
|
-
const [isPanelOpen, setIsPanelOpen] = useState(false);
|
|
19
|
-
|
|
20
|
-
return (
|
|
21
|
-
<>
|
|
22
|
-
<button onClick={() => setIsPanelOpen(true)}>
|
|
23
|
-
Open Panel
|
|
24
|
-
</button>
|
|
25
|
-
|
|
26
|
-
<SlidingPanel
|
|
27
|
-
isOpen={isPanelOpen}
|
|
28
|
-
onClose={() => setIsPanelOpen(false)}
|
|
29
|
-
title="Panel Title"
|
|
30
|
-
subtitle="Optional subtitle"
|
|
31
|
-
size="lg"
|
|
32
|
-
footer={
|
|
33
|
-
<div className="flex gap-2">
|
|
34
|
-
<button>Cancel</button>
|
|
35
|
-
<button>Save</button>
|
|
36
|
-
</div>
|
|
37
|
-
}
|
|
38
|
-
>
|
|
39
|
-
<div className="p-6">
|
|
40
|
-
Panel content goes here
|
|
41
|
-
</div>
|
|
42
|
-
</SlidingPanel>
|
|
43
|
-
</>
|
|
44
|
-
);
|
|
45
|
-
}
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
The component features smooth slide-in animations, backdrop blur, proper focus management, and responsive sizing options.
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
<!-- source-hash: 07e48d3063c765b8f0aaadfb30488f31 -->
|
|
2
|
-
A React tooltip component system with both compound and simple implementations, featuring intelligent positioning, viewport collision detection, and portal rendering.
|
|
3
|
-
|
|
4
|
-
## Key Components
|
|
5
|
-
|
|
6
|
-
- **`Tooltip`** - Main component for simple tooltip usage with automatic positioning
|
|
7
|
-
- **`TooltipProvider`** - Context provider for compound tooltip patterns
|
|
8
|
-
- **`TooltipRoot`** - State management for compound tooltips
|
|
9
|
-
- **`TooltipTrigger`** - Trigger element with hover/focus handlers
|
|
10
|
-
- **`TooltipContent`** - Tooltip content with conditional rendering
|
|
11
|
-
- **`TooltipContext`** - React context for sharing tooltip state
|
|
12
|
-
|
|
13
|
-
## Usage Example
|
|
14
|
-
|
|
15
|
-
```typescript
|
|
16
|
-
import { Tooltip, TooltipProvider, TooltipRoot, TooltipTrigger, TooltipContent } from './tooltip'
|
|
17
|
-
|
|
18
|
-
// Simple usage
|
|
19
|
-
function SimpleTooltip() {
|
|
20
|
-
return (
|
|
21
|
-
<Tooltip
|
|
22
|
-
content="This is a helpful tooltip"
|
|
23
|
-
side="top"
|
|
24
|
-
align="center"
|
|
25
|
-
>
|
|
26
|
-
<button>Hover me</button>
|
|
27
|
-
</Tooltip>
|
|
28
|
-
)
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
// Compound usage for complex content
|
|
32
|
-
function CompoundTooltip() {
|
|
33
|
-
return (
|
|
34
|
-
<TooltipProvider>
|
|
35
|
-
<TooltipRoot>
|
|
36
|
-
<TooltipTrigger>
|
|
37
|
-
<button>Complex tooltip</button>
|
|
38
|
-
</TooltipTrigger>
|
|
39
|
-
<TooltipContent>
|
|
40
|
-
<div>Rich content with formatting</div>
|
|
41
|
-
</TooltipContent>
|
|
42
|
-
</TooltipRoot>
|
|
43
|
-
</TooltipProvider>
|
|
44
|
-
)
|
|
45
|
-
}
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
The component supports intelligent positioning with collision detection, custom styling with yellow text formatting, arrow indicators, and handles both mouse and keyboard interactions for accessibility.
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
<!-- source-hash: b52f9a2097229f30bb9694a66e168241 -->
|
|
2
|
-
A React hook for detecting mobile screen sizes with responsive breakpoint detection at 768px.
|
|
3
|
-
|
|
4
|
-
## Key Components
|
|
5
|
-
|
|
6
|
-
- **`useIsMobile()`** - Custom hook that returns a boolean indicating if the current viewport is mobile-sized
|
|
7
|
-
- **`MOBILE_BREAKPOINT`** - Constant set to 768px defining the mobile/desktop threshold
|
|
8
|
-
- **Responsive listener** - Uses `matchMedia` API to detect viewport changes in real-time
|
|
9
|
-
|
|
10
|
-
## Usage Example
|
|
11
|
-
|
|
12
|
-
```typescript
|
|
13
|
-
import { useIsMobile } from './use-mobile'
|
|
14
|
-
|
|
15
|
-
function ResponsiveComponent() {
|
|
16
|
-
const isMobile = useIsMobile()
|
|
17
|
-
|
|
18
|
-
return (
|
|
19
|
-
<div>
|
|
20
|
-
{isMobile ? (
|
|
21
|
-
<MobileNavigation />
|
|
22
|
-
) : (
|
|
23
|
-
<DesktopNavigation />
|
|
24
|
-
)}
|
|
25
|
-
<p>Current view: {isMobile ? 'Mobile' : 'Desktop'}</p>
|
|
26
|
-
</div>
|
|
27
|
-
)
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
// Conditional rendering based on screen size
|
|
31
|
-
function Layout() {
|
|
32
|
-
const isMobile = useIsMobile()
|
|
33
|
-
|
|
34
|
-
return (
|
|
35
|
-
<main className={isMobile ? 'mobile-layout' : 'desktop-layout'}>
|
|
36
|
-
{/* Content adapts to screen size */}
|
|
37
|
-
</main>
|
|
38
|
-
)
|
|
39
|
-
}
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
The hook returns `false` during initial server-side rendering to prevent hydration mismatches, then updates to the correct value once mounted on the client.
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
<!-- source-hash: fcf5e2a60dfc10761e7d21abb629aa8b -->
|
|
2
|
-
A compact card component for displaying vendor information in lists, comparisons, and selection interfaces with support for pricing, scoring, and interactive states.
|
|
3
|
-
|
|
4
|
-
## Key Components
|
|
5
|
-
|
|
6
|
-
**Main Component:**
|
|
7
|
-
- `VendorCompactCard` - Primary compact card component with configurable layout and interactions
|
|
8
|
-
|
|
9
|
-
**Key Props:**
|
|
10
|
-
- `vendor` - Vendor data including title, logo, pricing, and classifications
|
|
11
|
-
- `score` - Optional scoring display (score/total format)
|
|
12
|
-
- `isExpanded/showChevron` - Expansion state and chevron button controls
|
|
13
|
-
- `showPricing` - Toggle pricing information display
|
|
14
|
-
- `isEmptyState` - Special styling for placeholder/empty states
|
|
15
|
-
- `isEditableText` - Inline text editing capability
|
|
16
|
-
- `stackedInfoTop/stackedInfoBottom` - Additional info elements in stacked layout
|
|
17
|
-
- `linkToVendor` - Auto-navigation to vendor detail page
|
|
18
|
-
|
|
19
|
-
**Interactive Elements:**
|
|
20
|
-
- Chevron expansion button with customizable styling
|
|
21
|
-
- X button for removal/closing actions
|
|
22
|
-
- Click-to-edit text input for vendor names
|
|
23
|
-
- Pricing display integration using `PricingDisplay` component
|
|
24
|
-
|
|
25
|
-
## Usage Example
|
|
26
|
-
|
|
27
|
-
```typescript
|
|
28
|
-
import { VendorCompactCard } from './vendor-compact-card';
|
|
29
|
-
|
|
30
|
-
// Basic vendor card
|
|
31
|
-
<VendorCompactCard
|
|
32
|
-
vendor={{
|
|
33
|
-
id: 1,
|
|
34
|
-
title: "Flamingo MSP",
|
|
35
|
-
slug: "flamingo-msp",
|
|
36
|
-
logo: "/logos/flamingo.png",
|
|
37
|
-
vendor_classification: [
|
|
38
|
-
{ classification: 'open_source' }
|
|
39
|
-
]
|
|
40
|
-
}}
|
|
41
|
-
score={{ score: 8, total: 10 }}
|
|
42
|
-
showPricing={true}
|
|
43
|
-
linkToVendor={true}
|
|
44
|
-
/>
|
|
45
|
-
|
|
46
|
-
// Expandable card with custom actions
|
|
47
|
-
<VendorCompactCard
|
|
48
|
-
vendor={vendorData}
|
|
49
|
-
isExpanded={expanded}
|
|
50
|
-
onChevronClick={() => setExpanded(!expanded)}
|
|
51
|
-
onXClick={() => removeVendor(vendorData.id)}
|
|
52
|
-
rightAddon={<CustomBadge />}
|
|
53
|
-
stackedInfoTop={<PricingBadge />}
|
|
54
|
-
className="border rounded-lg p-4"
|
|
55
|
-
/>
|
|
56
|
-
|
|
57
|
-
// Editable card for comparison tables
|
|
58
|
-
<VendorCompactCard
|
|
59
|
-
vendor={vendor}
|
|
60
|
-
isEditableText={true}
|
|
61
|
-
editableValue={customName}
|
|
62
|
-
onEditableChange={setCustomName}
|
|
63
|
-
comparisonContext={true}
|
|
64
|
-
featureSummary="Core MSP features included"
|
|
65
|
-
/>
|
|
66
|
-
```
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
<!-- source-hash: 94dc1041b128d032b51d69d3fcf1bb02 -->
|
|
2
|
-
A reusable close button component built on Lucide React's X icon with customizable styling and hover effects.
|
|
3
|
-
|
|
4
|
-
## Key Components
|
|
5
|
-
|
|
6
|
-
- **XButton** - Main component export that renders a customizable X (close) button
|
|
7
|
-
- **XButtonProps** - TypeScript interface defining component props:
|
|
8
|
-
- `className` - Optional CSS classes for styling
|
|
9
|
-
- `size` - Button size variants ('sm', 'default', 'lg', 'icon')
|
|
10
|
-
- `backgroundColor` - Custom background color
|
|
11
|
-
- `borderColor` - Custom border color
|
|
12
|
-
- `onClick` - Click event handler
|
|
13
|
-
|
|
14
|
-
## Usage Example
|
|
15
|
-
|
|
16
|
-
```typescript
|
|
17
|
-
import { XButton } from './x-button';
|
|
18
|
-
|
|
19
|
-
function Modal() {
|
|
20
|
-
const handleClose = () => {
|
|
21
|
-
console.log('Modal closed');
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
return (
|
|
25
|
-
<div className="modal">
|
|
26
|
-
{/* Default icon size */}
|
|
27
|
-
<XButton onClick={handleClose} />
|
|
28
|
-
|
|
29
|
-
{/* Custom styling with background and border */}
|
|
30
|
-
<XButton
|
|
31
|
-
size="lg"
|
|
32
|
-
backgroundColor="rgba(255, 0, 0, 0.1)"
|
|
33
|
-
borderColor="red"
|
|
34
|
-
onClick={handleClose}
|
|
35
|
-
className="absolute top-2 right-2"
|
|
36
|
-
/>
|
|
37
|
-
</div>
|
|
38
|
-
);
|
|
39
|
-
}
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
The component features dynamic hover states that make the background transparent on hover, smooth transitions, and responsive sizing based on the selected size variant. It leverages the shadcn/ui Button component as its foundation while providing X-specific customizations.
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
<!-- source-hash: 400a2c07bec9623931c10cd2795cdf1c -->
|
|
2
|
-
A pre-configured React button component for linking to GitHub repositories with consistent styling and GitHub branding.
|
|
3
|
-
|
|
4
|
-
## Key Components
|
|
5
|
-
|
|
6
|
-
- **GithubRepoButton**: Main component that renders a button with GitHub icon, outline styling, and customizable text
|
|
7
|
-
- **GithubRepoButtonProps**: Interface extending Button props with restrictions on certain properties and defaults for GitHub-specific usage
|
|
8
|
-
|
|
9
|
-
## Usage Example
|
|
10
|
-
|
|
11
|
-
```typescript
|
|
12
|
-
import { GithubRepoButton } from './github-repo-button';
|
|
13
|
-
|
|
14
|
-
function ProjectSection() {
|
|
15
|
-
return (
|
|
16
|
-
<div>
|
|
17
|
-
{/* Default usage - links to OpenFrame OSS Tenant repo */}
|
|
18
|
-
<GithubRepoButton />
|
|
19
|
-
|
|
20
|
-
{/* Custom text and size */}
|
|
21
|
-
<GithubRepoButton size="lg">
|
|
22
|
-
View Repository
|
|
23
|
-
</GithubRepoButton>
|
|
24
|
-
|
|
25
|
-
{/* Custom repository URL */}
|
|
26
|
-
<GithubRepoButton
|
|
27
|
-
href="https://github.com/your-org/your-repo"
|
|
28
|
-
className="mt-4"
|
|
29
|
-
>
|
|
30
|
-
Fork This Project
|
|
31
|
-
</GithubRepoButton>
|
|
32
|
-
|
|
33
|
-
{/* Icon-only button */}
|
|
34
|
-
<GithubRepoButton size="icon" />
|
|
35
|
-
</div>
|
|
36
|
-
);
|
|
37
|
-
}
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
The component automatically opens links in new tabs, uses outline variant styling, and includes the GitHub icon. It defaults to the OpenFrame OSS Tenant repository but can be customized with any GitHub URL.
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
<!-- source-hash: 36896b883a8f0d239dc900379868fd5f -->
|
|
2
|
-
A React component that displays organization logos with automatic fallback to initials, maintaining visual consistency with the VendorIcon component across the application.
|
|
3
|
-
|
|
4
|
-
## Key Components
|
|
5
|
-
|
|
6
|
-
- **OrganizationIcon**: Main component that renders organization logos with fallback initials
|
|
7
|
-
- **OrganizationIconProps**: TypeScript interface defining component props including image URL, organization name, size variants, and styling options
|
|
8
|
-
- **Size Configuration**: Six predefined size variants (xs through xl) with corresponding Tailwind classes and image dimensions
|
|
9
|
-
- **Background Variants**: Three background styles (dark, light, white) for different UI contexts
|
|
10
|
-
- **Error Handling**: Automatic fallback to initials when image loading fails
|
|
11
|
-
|
|
12
|
-
## Usage Example
|
|
13
|
-
|
|
14
|
-
```typescript
|
|
15
|
-
import { OrganizationIcon } from './organization-icon'
|
|
16
|
-
|
|
17
|
-
// Basic usage with medium size (default)
|
|
18
|
-
<OrganizationIcon
|
|
19
|
-
imageUrl={organization.logoUrl}
|
|
20
|
-
organizationName="Acme Corporation"
|
|
21
|
-
/>
|
|
22
|
-
|
|
23
|
-
// Large icon for detail views
|
|
24
|
-
<OrganizationIcon
|
|
25
|
-
imageUrl={org.imageUrl}
|
|
26
|
-
organizationName={org.name}
|
|
27
|
-
size="xl"
|
|
28
|
-
backgroundStyle="light"
|
|
29
|
-
/>
|
|
30
|
-
|
|
31
|
-
// Inline icon without background
|
|
32
|
-
<OrganizationIcon
|
|
33
|
-
imageUrl={org.logoUrl}
|
|
34
|
-
organizationName="Tech Corp"
|
|
35
|
-
size="sm"
|
|
36
|
-
showBackground={false}
|
|
37
|
-
className="mr-2"
|
|
38
|
-
/>
|
|
39
|
-
|
|
40
|
-
// Fallback example (no image URL provided)
|
|
41
|
-
<OrganizationIcon
|
|
42
|
-
organizationName="Example Inc"
|
|
43
|
-
size="md"
|
|
44
|
-
/>
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
The component automatically handles loading states, displays two-letter initials as fallbacks, and maintains consistent dimensions to prevent layout shifts. It supports various image URL formats including blob URLs, API paths, and full URLs.
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
<!-- source-hash: 319c57ac13da3078bf12a6a248a5d596 -->
|
|
2
|
-
A React dropdown component for selecting organizations with image pre-fetching, search functionality, and loading states. Built on top of Radix UI Select with custom searchable mode for enhanced user experience.
|
|
3
|
-
|
|
4
|
-
## Key Components
|
|
5
|
-
|
|
6
|
-
- **OrganizationSelector**: Main component with two modes - standard Select (non-searchable) and custom dropdown (searchable)
|
|
7
|
-
- **OrganizationOption**: Interface defining organization data structure with id, name, imageUrl, and default status
|
|
8
|
-
- **OrganizationSelectorProps**: Comprehensive props interface supporting customization, loading states, and search functionality
|
|
9
|
-
- **useBatchImages**: Hook for pre-fetching organization images for better performance
|
|
10
|
-
- **OrganizationIcon**: Child component for displaying organization avatars with fallback to initials
|
|
11
|
-
|
|
12
|
-
## Usage Example
|
|
13
|
-
|
|
14
|
-
```typescript
|
|
15
|
-
import { OrganizationSelector } from '@/components/features'
|
|
16
|
-
|
|
17
|
-
function MyComponent() {
|
|
18
|
-
const [selectedOrgId, setSelectedOrgId] = useState('')
|
|
19
|
-
|
|
20
|
-
const organizations = [
|
|
21
|
-
{
|
|
22
|
-
id: '1',
|
|
23
|
-
organizationId: 'org-1',
|
|
24
|
-
name: 'Acme Corp',
|
|
25
|
-
imageUrl: 'https://example.com/logo.png',
|
|
26
|
-
isDefault: true
|
|
27
|
-
}
|
|
28
|
-
]
|
|
29
|
-
|
|
30
|
-
return (
|
|
31
|
-
<OrganizationSelector
|
|
32
|
-
organizations={organizations}
|
|
33
|
-
value={selectedOrgId}
|
|
34
|
-
onValueChange={setSelectedOrgId}
|
|
35
|
-
label="Select Organization"
|
|
36
|
-
placeholder="Choose organization"
|
|
37
|
-
searchable
|
|
38
|
-
iconSize="md"
|
|
39
|
-
maxItems={50}
|
|
40
|
-
/>
|
|
41
|
-
)
|
|
42
|
-
}
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
The component automatically switches between Radix UI Select (for better accessibility when search isn't needed) and a custom popover implementation (when `searchable={true}`) with keyboard navigation, click-outside handling, and real-time search filtering.
|