@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
|
@@ -1,47 +1,46 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
|
|
1
|
+
<!-- source-hash: 6f802a22aab4156f34b7564f49df9553 -->
|
|
2
|
+
Responsive navigation sidebar component that renders a collapsible, accessible side navigation panel with distinct behavior for tablet (overlay/floating) and desktop (push layout) viewports.
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
| Export | Type | Description |
|
|
7
|
+
|--------|------|-------------|
|
|
8
|
+
| `NavigationSidebar` | Component | Main sidebar component with responsive layout logic |
|
|
9
|
+
| `NavigationSidebarProps` | Interface | Props: `config: NavigationSidebarConfig`, `disabled?: boolean` |
|
|
10
|
+
| `MINIMIZED_WIDTH` | Constant | Collapsed width: `56px` |
|
|
11
|
+
| `EXPANDED_WIDTH` | Constant | Expanded width: `224px` |
|
|
12
|
+
| `STORAGE_KEY` | Constant | localStorage key for desktop minimized state |
|
|
13
|
+
|
|
14
|
+
### Behavior by Breakpoint
|
|
15
|
+
|
|
16
|
+
| Viewport | Behavior | State Persistence |
|
|
17
|
+
|----------|----------|-------------------|
|
|
18
|
+
| `< md` | Hidden | — |
|
|
19
|
+
| `md` (tablet) | Floating overlay, starts minimized | In-memory only |
|
|
20
|
+
| `≥ lg` (desktop) | Push layout | localStorage |
|
|
21
|
+
|
|
22
|
+
### Key Internal Logic
|
|
23
|
+
|
|
24
|
+
- **`minimized`** — resolves to `tabletMinimized` or `desktopMinimized` based on viewport
|
|
25
|
+
- **`transitionsEnabled`** — deferred via `requestAnimationFrame` to prevent flash of wrong width on hydration
|
|
26
|
+
- **`isOverlayOpen`** — drives backdrop scrim visibility and `Escape` key dismissal
|
|
27
|
+
- **`primaryItems` / `secondaryItems`** — items split by `section !== 'secondary'` filter
|
|
11
28
|
|
|
12
29
|
## Usage Example
|
|
13
30
|
|
|
14
31
|
```typescript
|
|
15
32
|
import { NavigationSidebar } from './navigation-sidebar'
|
|
16
|
-
import {
|
|
33
|
+
import { NavigationSidebarConfig } from '../../types/navigation'
|
|
17
34
|
|
|
18
|
-
const
|
|
35
|
+
const config: NavigationSidebarConfig = {
|
|
36
|
+
minimized: false,
|
|
19
37
|
items: [
|
|
20
|
-
{
|
|
21
|
-
|
|
22
|
-
label: 'Home',
|
|
23
|
-
icon: <HomeIcon />,
|
|
24
|
-
path: '/',
|
|
25
|
-
isActive: true
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
id: 'settings',
|
|
29
|
-
label: 'Settings',
|
|
30
|
-
icon: <SettingsIcon />,
|
|
31
|
-
path: '/settings',
|
|
32
|
-
section: 'secondary',
|
|
33
|
-
badge: '2'
|
|
34
|
-
}
|
|
38
|
+
{ id: 'dashboard', label: 'Dashboard', path: '/dashboard', icon: HomeIcon },
|
|
39
|
+
{ id: 'settings', label: 'Settings', path: '/settings', icon: SettingsIcon, section: 'secondary' },
|
|
35
40
|
],
|
|
36
|
-
onNavigate: (path
|
|
37
|
-
onToggleMinimized: () => console.log('
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
function App() {
|
|
41
|
-
return (
|
|
42
|
-
<NavigationSidebar config={sidebarConfig} />
|
|
43
|
-
)
|
|
41
|
+
onNavigate: (path) => router.push(path),
|
|
42
|
+
onToggleMinimized: () => console.log('toggled'),
|
|
44
43
|
}
|
|
45
|
-
```
|
|
46
44
|
|
|
47
|
-
|
|
45
|
+
<NavigationSidebar config={config} disabled={false} />
|
|
46
|
+
```
|
|
@@ -1,54 +1,65 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
A
|
|
1
|
+
<!-- source-hash: 84f0966556e789258670b58482f3bc27 -->
|
|
2
|
+
A client-side animated sidebar component that slides in from either edge of the screen, supporting nested navigation items, dynamic header offset calculation, and animated expand/collapse for sub-menus.
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
### `SlidingSidebarProps`
|
|
7
|
+
| Prop | Type | Description |
|
|
8
|
+
|------|------|-------------|
|
|
9
|
+
| `config` | `SlidingSidebarConfig` | Full sidebar configuration including `isOpen`, `position`, `items`, `onClose`, `footer`, and `className` |
|
|
10
|
+
|
|
11
|
+
### Internal State
|
|
12
|
+
| State | Purpose |
|
|
13
|
+
|-------|---------|
|
|
14
|
+
| `expandedItems` | Tracks which nav items have their children visible |
|
|
15
|
+
| `mounted` | Guards against SSR hydration mismatches |
|
|
16
|
+
| `headerHeight` | Dynamic offset calculated from `<header>` and `[data-announcement-bar]` elements |
|
|
17
|
+
|
|
18
|
+
### `renderMenuItem(item, level)`
|
|
19
|
+
Recursive renderer that handles three item variants:
|
|
20
|
+
- **Custom element** — renders `item.element` directly
|
|
21
|
+
- **Parent node** — renders a toggle button with animated `AnimatePresence` child list
|
|
22
|
+
- **Leaf node** — renders a `Button` that calls `item.onClick?.()` then `config.onClose()`
|
|
23
|
+
|
|
24
|
+
### Header Height Detection
|
|
25
|
+
Uses `ResizeObserver` + `MutationObserver` to dynamically track the combined height of `<header>` and `[data-announcement-bar]`, keeping the sidebar content correctly offset as layout changes.
|
|
11
26
|
|
|
12
27
|
## Usage Example
|
|
13
28
|
|
|
14
29
|
```typescript
|
|
15
|
-
import { SlidingSidebar } from './
|
|
16
|
-
import {
|
|
17
|
-
|
|
18
|
-
function
|
|
19
|
-
const [
|
|
20
|
-
|
|
21
|
-
const sidebarConfig: SlidingSidebarConfig = {
|
|
22
|
-
isOpen: sidebarOpen,
|
|
23
|
-
onClose: () => setSidebarOpen(false),
|
|
24
|
-
position: 'left',
|
|
25
|
-
items: [
|
|
26
|
-
{
|
|
27
|
-
id: 'dashboard',
|
|
28
|
-
label: 'Dashboard',
|
|
29
|
-
href: '/dashboard',
|
|
30
|
-
icon: <DashboardIcon />,
|
|
31
|
-
isActive: true
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
id: 'docs',
|
|
35
|
-
label: 'Documentation',
|
|
36
|
-
children: [
|
|
37
|
-
{
|
|
38
|
-
id: 'getting-started',
|
|
39
|
-
label: 'Getting Started',
|
|
40
|
-
href: '/docs/getting-started'
|
|
41
|
-
}
|
|
42
|
-
]
|
|
43
|
-
}
|
|
44
|
-
],
|
|
45
|
-
footer: <div>Footer content</div>
|
|
46
|
-
}
|
|
30
|
+
import { SlidingSidebar } from './sliding-sidebar'
|
|
31
|
+
import { useState } from 'react'
|
|
32
|
+
|
|
33
|
+
function AppShell() {
|
|
34
|
+
const [isOpen, setIsOpen] = useState(false)
|
|
47
35
|
|
|
48
36
|
return (
|
|
49
|
-
<SlidingSidebar
|
|
37
|
+
<SlidingSidebar
|
|
38
|
+
config={{
|
|
39
|
+
isOpen,
|
|
40
|
+
onClose: () => setIsOpen(false),
|
|
41
|
+
position: 'left',
|
|
42
|
+
items: [
|
|
43
|
+
{
|
|
44
|
+
id: 'dashboard',
|
|
45
|
+
label: 'Dashboard',
|
|
46
|
+
href: '/dashboard',
|
|
47
|
+
isActive: true,
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
id: 'settings',
|
|
51
|
+
label: 'Settings',
|
|
52
|
+
children: [
|
|
53
|
+
{ id: 'profile', label: 'Profile', href: '/settings/profile' },
|
|
54
|
+
{ id: 'billing', label: 'Billing', href: '/settings/billing' },
|
|
55
|
+
],
|
|
56
|
+
},
|
|
57
|
+
],
|
|
58
|
+
footer: <div>v1.0.0</div>,
|
|
59
|
+
}}
|
|
60
|
+
/>
|
|
50
61
|
)
|
|
51
62
|
}
|
|
52
63
|
```
|
|
53
64
|
|
|
54
|
-
|
|
65
|
+
> **Note:** The sidebar is client-only (`"use client"`). It returns `null` until after mount to prevent SSR/hydration mismatches. Nest it inside a layout that also renders the `<header>` element so the offset calculation works correctly.
|
|
@@ -1,55 +1,63 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
|
|
1
|
+
<!-- source-hash: fab223205d06a85cbd1f071b97356037 -->
|
|
2
|
+
Sticky section navigation component and scroll-spy hook for section-based page navigation, used across vendor detail pages, knowledge base, and documentation surfaces.
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
### `StickySectionNav`
|
|
7
|
+
A `<nav>` component that renders a vertical list of section buttons with an animated yellow ribbon indicator for the active section.
|
|
8
|
+
|
|
9
|
+
**Props:**
|
|
10
|
+
|
|
11
|
+
| Prop | Type | Default | Description |
|
|
12
|
+
|------|------|---------|-------------|
|
|
13
|
+
| `sections` | `StickyNavSection[]` | — | Array of `{ id, label }` nav items |
|
|
14
|
+
| `activeSection` | `string` | — | ID of the currently active section |
|
|
15
|
+
| `onSectionClick` | `(id: string) => void` | — | Click handler for nav items |
|
|
16
|
+
| `ribbonPosition` | `'left' \| 'right'` | `'left'` | Side the active ribbon renders on |
|
|
17
|
+
| `ribbonColor` | `string` | `'#FFC008'` | Active ribbon color |
|
|
18
|
+
| `className` | `string` | — | Optional extra class names |
|
|
19
|
+
|
|
20
|
+
### `useSectionNavigation`
|
|
21
|
+
A hook that wires up scroll-spy and programmatic scrolling for a set of section refs.
|
|
22
|
+
|
|
23
|
+
**Returns:** `{ activeSection, handleSectionClick }`
|
|
24
|
+
|
|
25
|
+
**Options:**
|
|
26
|
+
|
|
27
|
+
| Option | Type | Default | Description |
|
|
28
|
+
|--------|------|---------|-------------|
|
|
29
|
+
| `offset` | `number` | `100` | Header offset in px passed to `scrollElementIntoView` |
|
|
10
30
|
|
|
11
31
|
## Usage Example
|
|
12
32
|
|
|
13
33
|
```typescript
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
ribbonPosition="left"
|
|
45
|
-
ribbonColor="#FFC008"
|
|
46
|
-
/>
|
|
47
|
-
<main>
|
|
48
|
-
<section ref={overviewRef} id="overview">Overview content</section>
|
|
49
|
-
<section ref={featuresRef} id="features">Features content</section>
|
|
50
|
-
<section ref={apiRef} id="api">API content</section>
|
|
51
|
-
</main>
|
|
52
|
-
</div>
|
|
53
|
-
)
|
|
54
|
-
}
|
|
55
|
-
```
|
|
34
|
+
const heroRef = useRef<HTMLElement>(null)
|
|
35
|
+
const detailsRef = useRef<HTMLElement>(null)
|
|
36
|
+
|
|
37
|
+
const sections = [
|
|
38
|
+
{ id: 'hero', ref: heroRef },
|
|
39
|
+
{ id: 'details', ref: detailsRef },
|
|
40
|
+
]
|
|
41
|
+
|
|
42
|
+
const { activeSection, handleSectionClick } = useSectionNavigation(sections, {
|
|
43
|
+
offset: 80,
|
|
44
|
+
})
|
|
45
|
+
|
|
46
|
+
return (
|
|
47
|
+
<>
|
|
48
|
+
<StickySectionNav
|
|
49
|
+
sections={[
|
|
50
|
+
{ id: 'hero', label: 'Overview' },
|
|
51
|
+
{ id: 'details', label: 'Details' },
|
|
52
|
+
]}
|
|
53
|
+
activeSection={activeSection}
|
|
54
|
+
onSectionClick={handleSectionClick}
|
|
55
|
+
ribbonPosition="left"
|
|
56
|
+
/>
|
|
57
|
+
<section id="hero" ref={heroRef}>...</section>
|
|
58
|
+
<section id="details" ref={detailsRef}>...</section>
|
|
59
|
+
</>
|
|
60
|
+
)
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
> **Scroll-spy behavior:** Scroll events are throttled at 100ms. A `isScrollingFromClick` guard suppresses the spy for 500ms after a nav click to prevent active-state flicker during programmatic scrolling.
|
|
@@ -1,36 +1,50 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
|
|
1
|
+
<!-- source-hash: a38e5427737fa8905946762e9d50beed -->
|
|
2
|
+
Manages a dynamic list of script arguments as editable key-value pairs, allowing users to add, modify, and delete entries through a controlled form interface.
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
### Interfaces
|
|
7
|
+
|
|
8
|
+
| Interface | Description |
|
|
9
|
+
|-----------|-------------|
|
|
10
|
+
| `ScriptArgument` | Represents a single argument with `id`, `key`, and `value` fields |
|
|
11
|
+
| `ScriptArgumentsProps` | Props for the component including arguments array, change callbacks, and display options |
|
|
12
|
+
|
|
13
|
+
### Component
|
|
14
|
+
|
|
15
|
+
**`ScriptArguments`** — A controlled React component that renders a vertically stacked list of key-value input rows. Each row contains:
|
|
16
|
+
- A **key input** (with label shown only on the first row)
|
|
17
|
+
- A **value input** (placeholder indicates empty = flag-type argument)
|
|
18
|
+
- A **delete button** (`Trash2` icon) to remove the row
|
|
19
|
+
|
|
20
|
+
An **"Add Script Argument"** button appends a new empty entry using `crypto.randomUUID()` for unique IDs.
|
|
10
21
|
|
|
11
22
|
## Usage Example
|
|
12
23
|
|
|
13
24
|
```typescript
|
|
14
25
|
import { ScriptArguments, ScriptArgument } from './ScriptArguments'
|
|
15
26
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
disabled={false}
|
|
31
|
-
/>
|
|
32
|
-
)
|
|
33
|
-
}
|
|
27
|
+
const [args, setArgs] = useState<ScriptArgument[]>([
|
|
28
|
+
{ id: '1', key: 'port', value: '3000' },
|
|
29
|
+
{ id: '2', key: 'verbose', value: '' }, // empty value = flag
|
|
30
|
+
])
|
|
31
|
+
|
|
32
|
+
<ScriptArguments
|
|
33
|
+
titleLabel="Argument"
|
|
34
|
+
arguments={args}
|
|
35
|
+
onArgumentsChange={setArgs}
|
|
36
|
+
keyPlaceholder="Enter Key"
|
|
37
|
+
valuePlaceholder="Enter Value (empty=flag)"
|
|
38
|
+
addButtonLabel="Add Script Argument"
|
|
39
|
+
disabled={false}
|
|
40
|
+
/>
|
|
34
41
|
```
|
|
35
42
|
|
|
36
|
-
|
|
43
|
+
### Prop Defaults
|
|
44
|
+
|
|
45
|
+
| Prop | Default |
|
|
46
|
+
|------|---------|
|
|
47
|
+
| `keyPlaceholder` | `'Enter Key'` |
|
|
48
|
+
| `valuePlaceholder` | `'Enter Value (empty=flag)'` |
|
|
49
|
+
| `addButtonLabel` | `'Add Script Argument'` |
|
|
50
|
+
| `disabled` | `false` |
|
|
@@ -1,37 +1,41 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
|
|
1
|
+
<!-- source-hash: c574ff5a6a70b0f22372e3d68b48aaf2 -->
|
|
2
|
+
Displays script metadata in a structured card layout, including title, description, shell type, supported platforms, category, and author information. Adapts between a 2×2 grid on mobile/tablet and a single 4-column row on desktop.
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
-
|
|
6
|
+
### Exported Interfaces
|
|
7
|
+
- **`ScriptAuthor`** — Author data shape: `name`, optional `initials`, optional `photoUrl`
|
|
8
|
+
- **`ScriptInfoSectionProps`** — Component props: `headline`, `subheadline`, `shellType`, `supportedPlatforms`, `category`, `author`, `className`
|
|
9
|
+
|
|
10
|
+
### Internal Helpers
|
|
11
|
+
- **`formatSupportedPlatforms(platforms?)`** — Maps platform strings (e.g., `'darwin'`) to display labels (e.g., `'macOS'`) via `getOSLabel`; returns `'All Platforms'` when empty
|
|
12
|
+
- **`getInitials(name)`** — Derives two-letter uppercase initials from a full name
|
|
13
|
+
- **`InfoCell`** — Internal cell component rendering a label/value pair with an optional circular avatar
|
|
14
|
+
|
|
15
|
+
### Main Export
|
|
16
|
+
- **`ScriptInfoSection`** — Card component composing the header row and two responsive detail rows
|
|
12
17
|
|
|
13
18
|
## Usage Example
|
|
14
19
|
|
|
15
20
|
```typescript
|
|
16
21
|
import { ScriptInfoSection } from './ScriptInfoSection'
|
|
17
22
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
initials: 'JD'
|
|
30
|
-
}}
|
|
31
|
-
className="max-w-4xl"
|
|
32
|
-
/>
|
|
33
|
-
)
|
|
34
|
-
}
|
|
23
|
+
<ScriptInfoSection
|
|
24
|
+
headline="System Backup Script"
|
|
25
|
+
subheadline="Comprehensive Linux system backup with rotation support."
|
|
26
|
+
shellType="BASH"
|
|
27
|
+
supportedPlatforms={['linux', 'darwin']}
|
|
28
|
+
category="System Maintenance"
|
|
29
|
+
author={{
|
|
30
|
+
name: "Jane Smith",
|
|
31
|
+
photoUrl: "/avatars/jane.jpg"
|
|
32
|
+
}}
|
|
33
|
+
/>
|
|
35
34
|
```
|
|
36
35
|
|
|
37
|
-
|
|
36
|
+
## Layout Behavior
|
|
37
|
+
|
|
38
|
+
| Breakpoint | Layout |
|
|
39
|
+
|---|---|
|
|
40
|
+
| Mobile / Tablet (`< lg`) | Two rows, 2 columns each (Shell + Platforms / Category + Author) |
|
|
41
|
+
| Desktop (`lg+`) | Single row, 4 columns |
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
|
|
1
|
+
<!-- source-hash: f614dd9faeadf368597d094822bcd3c7 -->
|
|
2
|
+
Displays a badge combining an icon and label for a given shell/script type, supporting all Tactical RMM shell types (PowerShell, CMD, Bash, Python, Nushell, Deno, Shell).
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
|
-
- **`
|
|
7
|
-
- **`
|
|
8
|
-
- **`
|
|
9
|
-
- **`
|
|
6
|
+
- **`shellIconMap`** — A typed `Record<ShellType, ShellIconConfig>` mapping every shell type to its corresponding icon component and display props, ensuring exhaustive coverage at compile time.
|
|
7
|
+
- **`defaultIconConfig`** — Fallback icon config (`ShellIcon`) used when an unrecognized shell type is passed.
|
|
8
|
+
- **`ShellTypeBadgeProps`** — Props interface accepting `shellType`, optional `className` for the wrapper, and optional `iconClassName` for icon styling overrides.
|
|
9
|
+
- **`ShellTypeBadge`** — Main React component that normalizes the shell type to uppercase, resolves the label via `getShellLabel`, and renders the icon + label in a flex row.
|
|
10
10
|
|
|
11
11
|
## Usage Example
|
|
12
12
|
|
|
@@ -14,17 +14,22 @@ React component that displays a badge for shell/script types with appropriate ic
|
|
|
14
14
|
import { ShellTypeBadge } from './components/ShellTypeBadge'
|
|
15
15
|
import { ShellTypeValues } from './types/shell.types'
|
|
16
16
|
|
|
17
|
-
// Basic usage
|
|
17
|
+
// Basic usage
|
|
18
18
|
<ShellTypeBadge shellType={ShellTypeValues.POWERSHELL} />
|
|
19
19
|
|
|
20
|
-
// With custom
|
|
21
|
-
<ShellTypeBadge
|
|
20
|
+
// With custom wrapper and icon class overrides
|
|
21
|
+
<ShellTypeBadge
|
|
22
22
|
shellType={ShellTypeValues.PYTHON}
|
|
23
|
-
className="bg-
|
|
23
|
+
className="bg-ods-surface-secondary px-2 py-1 rounded"
|
|
24
|
+
iconClassName="opacity-75"
|
|
24
25
|
/>
|
|
25
26
|
|
|
26
|
-
// Dynamic shell type from data
|
|
27
|
-
<ShellTypeBadge shellType={script.
|
|
27
|
+
// Dynamic shell type from API data
|
|
28
|
+
<ShellTypeBadge shellType={script.shell_type} />
|
|
28
29
|
```
|
|
29
30
|
|
|
30
|
-
|
|
31
|
+
## Notes
|
|
32
|
+
|
|
33
|
+
- Shell type input is normalized to uppercase before lookup, making the component tolerant of mixed-case values from API responses.
|
|
34
|
+
- Icon props support either a `className` (for CSS-driven theming) or a `color` string — the component automatically forwards whichever is applicable.
|
|
35
|
+
- Falls back to `ShellIcon` for any unknown or undefined shell type rather than throwing.
|
|
@@ -1,44 +1,40 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
|
|
1
|
+
<!-- source-hash: c5159aa07b6a4d2c8ddb68c466359feb -->
|
|
2
|
+
Displays software name with optional vendor and version information, part of the ODS (OpenFrame Design System) platform components.
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
### `SoftwareInfo`
|
|
7
|
+
A React functional component that renders software metadata in a stacked layout.
|
|
7
8
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
### `SoftwareInfoProps`
|
|
10
|
+
| Prop | Type | Required | Description |
|
|
11
|
+
|------|------|----------|-------------|
|
|
12
|
+
| `name` | `string` | ✅ | Software name |
|
|
13
|
+
| `vendor` | `string` | ❌ | Software vendor/publisher |
|
|
14
|
+
| `version` | `string` | ❌ | Software version, rendered as a styled badge |
|
|
15
|
+
| `className` | `string` | ❌ | Additional CSS classes for the root element |
|
|
13
16
|
|
|
14
17
|
## Usage Example
|
|
15
18
|
|
|
16
19
|
```typescript
|
|
17
20
|
import { SoftwareInfo } from './components/SoftwareInfo'
|
|
18
21
|
|
|
19
|
-
//
|
|
20
|
-
<SoftwareInfo
|
|
21
|
-
name="Visual Studio Code"
|
|
22
|
-
vendor="Microsoft"
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
// With version badge
|
|
26
|
-
<SoftwareInfo
|
|
27
|
-
name="Node.js"
|
|
28
|
-
vendor="OpenJS Foundation"
|
|
29
|
-
version="v18.17.0"
|
|
22
|
+
// Full usage with all props
|
|
23
|
+
<SoftwareInfo
|
|
24
|
+
name="Visual Studio Code"
|
|
25
|
+
vendor="Microsoft"
|
|
26
|
+
version="1.85.0"
|
|
30
27
|
/>
|
|
31
28
|
|
|
32
29
|
// Name only
|
|
33
30
|
<SoftwareInfo name="Chrome" />
|
|
34
31
|
|
|
35
|
-
//
|
|
36
|
-
<SoftwareInfo
|
|
37
|
-
name="Docker Desktop"
|
|
38
|
-
vendor="Docker Inc."
|
|
39
|
-
version="4.21.1"
|
|
40
|
-
className="bg-white p-4 rounded-lg"
|
|
41
|
-
/>
|
|
32
|
+
// Name + version badge, no vendor
|
|
33
|
+
<SoftwareInfo name="Node.js" version="20.11.0" />
|
|
42
34
|
```
|
|
43
35
|
|
|
44
|
-
|
|
36
|
+
## Rendering Behavior
|
|
37
|
+
|
|
38
|
+
- **Name** — rendered with `text-h4` and primary text color, always visible.
|
|
39
|
+
- **Version** — rendered inline next to the name as a pill badge with secondary text and a soft-grey background.
|
|
40
|
+
- **Vendor** — rendered below the name row in secondary text color using DM Sans 16px.
|
|
@@ -1,33 +1,42 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
|
|
1
|
+
<!-- source-hash: 71f33513a3eb1de6b10214a8a00cf9e8 -->
|
|
2
|
+
Displays a badge with an icon and label for Fleet MDM software source types, mapping all osquery source identifiers to human-readable names with platform-appropriate icons.
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
|
-
- **`SoftwareSource`**
|
|
7
|
-
- **`SoftwareSourceBadgeProps`**
|
|
8
|
-
- **`sourceConfig`**
|
|
9
|
-
- **`SoftwareSourceBadge`**
|
|
6
|
+
- **`SoftwareSource`** — Union type of all 18 supported Fleet MDM software source strings
|
|
7
|
+
- **`SoftwareSourceBadgeProps`** — Props interface accepting `source` and optional `className`
|
|
8
|
+
- **`sourceConfig`** — Internal mapping of each source type to a label and platform icon (macOS, Windows, Linux, or generic Package)
|
|
9
|
+
- **`SoftwareSourceBadge`** — Main component rendering an inline icon + label span; falls back to a `PackageIcon` with the raw source string if the type is unrecognized
|
|
10
10
|
|
|
11
11
|
## Usage Example
|
|
12
12
|
|
|
13
13
|
```typescript
|
|
14
|
-
import { SoftwareSourceBadge } from './
|
|
14
|
+
import { SoftwareSourceBadge } from './SoftwareSourceBadge'
|
|
15
15
|
|
|
16
|
-
//
|
|
16
|
+
// macOS application
|
|
17
17
|
<SoftwareSourceBadge source="apps" />
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
// → 🍎 App
|
|
19
|
+
|
|
20
|
+
// Linux package manager
|
|
21
|
+
<SoftwareSourceBadge source="apt_sources" />
|
|
22
|
+
// → 🐧 APT
|
|
23
|
+
|
|
24
|
+
// Windows package
|
|
25
|
+
<SoftwareSourceBadge source="chocolatey_packages" />
|
|
26
|
+
// → 🪟 Chocolatey
|
|
20
27
|
|
|
21
28
|
// With custom styling
|
|
22
|
-
<SoftwareSourceBadge
|
|
23
|
-
source="
|
|
24
|
-
className="
|
|
29
|
+
<SoftwareSourceBadge
|
|
30
|
+
source="python_packages"
|
|
31
|
+
className="text-sm font-medium"
|
|
25
32
|
/>
|
|
26
|
-
|
|
27
|
-
// Platform-specific examples
|
|
28
|
-
<SoftwareSourceBadge source="chocolatey_packages" /> // Windows
|
|
29
|
-
<SoftwareSourceBadge source="apt_sources" /> // Linux/Debian
|
|
30
|
-
<SoftwareSourceBadge source="homebrew_packages" /> // macOS
|
|
31
33
|
```
|
|
32
34
|
|
|
33
|
-
|
|
35
|
+
## Source-to-Platform Mapping
|
|
36
|
+
|
|
37
|
+
| Platform | Sources |
|
|
38
|
+
|----------|---------|
|
|
39
|
+
| macOS | `apps`, `homebrew_packages` |
|
|
40
|
+
| Windows | `chocolatey_packages`, `programs` |
|
|
41
|
+
| Linux | `apt_sources`, `deb_packages`, `rpm_packages`, `yum_sources`, `portage_packages` |
|
|
42
|
+
| Generic | All browser extensions, `npm_packages`, `python_packages`, `atom_packages`, `vscode_extensions`, `pkg_packages` |
|