@flamingo-stack/openframe-frontend-core 0.0.748 → 0.0.749
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/build/export-map.json +1 -1
- package/dist/{chunk-7Y3VMMJB.cjs → chunk-2J2OBP4N.cjs} +26 -18
- package/dist/chunk-2YXOD2KL.cjs +137 -0
- package/dist/{chunk-BEC43GHL.cjs → chunk-34TWK3JE.cjs} +3 -3
- package/dist/{chunk-BBM2ICOY.cjs → chunk-3TELPOVH.cjs} +2 -2
- package/dist/{chunk-G2ELX3DG.cjs → chunk-45YRDD7W.cjs} +22 -19
- package/dist/{chunk-U6XWGK53.cjs → chunk-ALPRQ3ZX.cjs} +56 -46
- package/dist/{chunk-YKJQM2O6.cjs → chunk-BN6NA5RM.cjs} +56 -53
- package/dist/{chunk-HNLI4OU5.cjs → chunk-C6LPOYDM.cjs} +24 -24
- package/dist/{chunk-4MGZYY6U.cjs → chunk-CLAJIQ7E.cjs} +26 -18
- package/dist/{chunk-H34A2765.cjs → chunk-CXV7VBSI.cjs} +104 -118
- package/dist/{chunk-QPSQ5WLG.cjs → chunk-DGEB5GUZ.cjs} +2 -2
- package/dist/{chunk-OZUJYBQ2.cjs → chunk-E3KFEOFA.cjs} +9 -6
- package/dist/{chunk-PSSGIZXZ.cjs → chunk-FHT7SMA7.cjs} +49 -46
- package/dist/{chunk-46EIXJFC.cjs → chunk-GOFEOCQN.cjs} +44 -27
- package/dist/{chunk-UNR74CAC.cjs → chunk-HOEVD6EN.cjs} +4 -4
- package/dist/{chunk-EH3LOWGY.cjs → chunk-KRAQEZPB.cjs} +48 -40
- package/dist/{chunk-AKTPO2DN.cjs → chunk-L4UI63K6.cjs} +2 -2
- package/dist/{chunk-D4XZL27V.cjs → chunk-LQT2ITMG.cjs} +6 -6
- package/dist/{chunk-PSIKUDUV.cjs → chunk-LVO7FALW.cjs} +5 -5
- package/dist/{chunk-L2RMTGOK.cjs → chunk-MGF3FUKD.cjs} +7 -7
- package/dist/{chunk-P7KTAXXE.cjs → chunk-OFO75R2O.cjs} +169 -175
- package/dist/{chunk-JNBOQ7F2.cjs → chunk-OZLIKBKC.cjs} +24 -24
- package/dist/{chunk-B27QEHYR.cjs → chunk-P6F6PHVK.cjs} +9 -9
- package/dist/chunk-RB6BSE3O.cjs +21 -0
- package/dist/{chunk-6XP6RNFD.cjs → chunk-SECT4H34.cjs} +1780 -2076
- package/dist/{chunk-GE4PCDNZ.cjs → chunk-SGL47BS2.cjs} +12 -12
- package/dist/{chunk-4AZHFLOM.cjs → chunk-SOPVUD2Y.cjs} +3 -3
- package/dist/chunk-UGCRLRCT.cjs +25 -0
- package/dist/{chunk-BBTSJYTR.cjs → chunk-V3UJ6NDR.cjs} +243 -429
- package/dist/{chunk-JOPFX3PJ.cjs → chunk-VEVIMDNK.cjs} +137 -122
- package/dist/{chunk-ZNUSYMH7.cjs → chunk-WZX26ODJ.cjs} +121 -121
- package/dist/{chunk-YIRX6C7V.cjs → chunk-XJ3J4UIS.cjs} +57 -22
- package/dist/{chunk-TRXCQADV.cjs → chunk-ZLF55RDR.cjs} +103 -98
- package/dist/{cloud-tenants-V5727B7F.cjs → cloud-tenants-2MYFHEYY.cjs} +16 -14
- package/dist/components/case-studies/index.cjs +29 -27
- package/dist/components/categories-cart.d.ts.map +1 -1
- package/dist/components/categories-cart.js +2 -7
- package/dist/components/chat/chat-container.js +4 -4
- package/dist/components/chat/chat-context-picker.d.ts.map +1 -1
- package/dist/components/chat/chat-context-picker.js +2 -1
- package/dist/components/chat/chat-message-row.d.ts.map +1 -1
- package/dist/components/chat/chat-message-row.js +6 -5
- package/dist/components/chat/chat-message-skeleton.d.ts +3 -1
- package/dist/components/chat/chat-message-skeleton.d.ts.map +1 -1
- package/dist/components/chat/chat-message-skeleton.js +8 -5
- package/dist/components/chat/chat-sidebar-skeleton.d.ts.map +1 -1
- package/dist/components/chat/chat-sidebar-skeleton.js +4 -3
- package/dist/components/chat/chat-top-navigation.js +4 -4
- package/dist/components/chat/context-items-list.d.ts.map +1 -1
- package/dist/components/chat/context-items-list.js +5 -3
- package/dist/components/chat/entity-cards/admin-content-card-grid.d.ts +24 -1
- package/dist/components/chat/entity-cards/admin-content-card-grid.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/admin-content-card-grid.js +46 -15
- package/dist/components/chat/entity-cards/admin-content-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/admin-content-card.js +2 -1
- package/dist/components/chat/entity-cards/blog-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/blog-card.js +13 -12
- package/dist/components/chat/entity-cards/campaign-card-admin.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/campaign-card-admin.js +5 -4
- package/dist/components/chat/entity-cards/case-study-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/case-study-card.js +19 -18
- package/dist/components/chat/entity-cards/chat-ticket-item.js +5 -5
- package/dist/components/chat/entity-cards/customer-interview-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/customer-interview-card.js +15 -14
- package/dist/components/chat/entity-cards/data-room-doc-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/data-room-doc-card.js +7 -6
- package/dist/components/chat/entity-cards/design-doc-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/design-doc-card.js +0 -2
- package/dist/components/chat/entity-cards/generic-entity-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/generic-entity-card.js +8 -7
- package/dist/components/chat/entity-cards/github-activity-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/github-activity-card.js +11 -10
- package/dist/components/chat/entity-cards/hubspot-ticket-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/hubspot-ticket-card.js +16 -15
- package/dist/components/chat/entity-cards/index.d.ts +1 -1
- package/dist/components/chat/entity-cards/index.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/index.js +2 -0
- package/dist/components/chat/entity-cards/investor-update-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/investor-update-card.js +12 -11
- package/dist/components/chat/entity-cards/onboarding-guide-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/onboarding-guide-card.js +25 -30
- package/dist/components/chat/entity-cards/program-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/program-card.js +29 -28
- package/dist/components/chat/entity-cards/roadmap-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/roadmap-card.js +37 -39
- package/dist/components/chat/entity-cards/slack-message-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/slack-message-card.js +12 -11
- package/dist/components/chat/guide-welcome.js +2 -2
- package/dist/components/chat/index.cjs +13 -9
- package/dist/components/chat/mingo-archive-list.d.ts.map +1 -1
- package/dist/components/chat/mingo-archive-list.js +2 -1
- package/dist/components/chat/mingo-chat-history.d.ts +4 -2
- package/dist/components/chat/mingo-chat-history.d.ts.map +1 -1
- package/dist/components/chat/mingo-chat-history.js +11 -5
- package/dist/components/chat/mingo-chat-rail.d.ts.map +1 -1
- package/dist/components/chat/mingo-chat-rail.js +2 -1
- package/dist/components/chat/mingo-info-card.d.ts.map +1 -1
- package/dist/components/chat/mingo-info-card.js +6 -5
- package/dist/components/chat/mingo-onboarding-card-skeleton.d.ts +3 -1
- package/dist/components/chat/mingo-onboarding-card-skeleton.d.ts.map +1 -1
- package/dist/components/chat/mingo-onboarding-card-skeleton.js +12 -12
- package/dist/components/chat/model-display.js +4 -4
- package/dist/components/chat/msp-organization-card-skeleton.js +5 -5
- package/dist/components/chat/quick-action-chip.d.ts +3 -3
- package/dist/components/chat/quick-action-chip.d.ts.map +1 -1
- package/dist/components/chat/quick-action-chip.js +12 -6
- package/dist/components/chat/utils/compact-card-classes.d.ts +4 -4
- package/dist/components/chat/utils/compact-card-classes.d.ts.map +1 -1
- package/dist/components/chat/utils/compact-card-classes.js +2 -2
- package/dist/components/contact/index.cjs +17 -15
- package/dist/components/content-loading-container.d.ts +1 -1
- package/dist/components/content-loading-container.d.ts.map +1 -1
- package/dist/components/content-loading-container.js +6 -7
- package/dist/components/docs/doc-viewer.d.ts.map +1 -1
- package/dist/components/docs/doc-viewer.js +3 -2
- package/dist/components/docs/index.cjs +20 -18
- package/dist/components/docs/skeletons.d.ts +7 -8
- package/dist/components/docs/skeletons.d.ts.map +1 -1
- package/dist/components/docs/skeletons.js +62 -61
- package/dist/components/embeds/embed-iframe.d.ts +6 -6
- package/dist/components/embeds/embed-iframe.d.ts.map +1 -1
- package/dist/components/embeds/embed-iframe.js +9 -4
- package/dist/components/embeds/index.cjs +19 -15
- package/dist/components/embeds/index.d.ts +2 -2
- package/dist/components/embeds/index.d.ts.map +1 -1
- package/dist/components/embeds/index.js +2 -1
- package/dist/components/embeds/linkedin-embed-client.d.ts.map +1 -1
- package/dist/components/embeds/linkedin-embed-client.js +7 -6
- package/dist/components/embeds/markdown-image.d.ts.map +1 -1
- package/dist/components/embeds/markdown-image.js +5 -3
- package/dist/components/embeds/og-link-preview.d.ts +19 -18
- package/dist/components/embeds/og-link-preview.d.ts.map +1 -1
- package/dist/components/embeds/og-link-preview.js +143 -88
- package/dist/components/embeds/reddit-embed-client.d.ts.map +1 -1
- package/dist/components/embeds/reddit-embed-client.js +10 -9
- package/dist/components/embeds/twitter-embed-client.d.ts.map +1 -1
- package/dist/components/embeds/twitter-embed-client.js +10 -9
- package/dist/components/faq/faq-section.d.ts.map +1 -1
- package/dist/components/faq/faq-section.js +9 -5
- package/dist/components/faq/index.cjs +18 -16
- package/dist/components/features/board/ticket-card-skeleton.js +8 -8
- package/dist/components/features/capability-explorer.d.ts +3 -1
- package/dist/components/features/capability-explorer.d.ts.map +1 -1
- package/dist/components/features/capability-explorer.js +27 -24
- package/dist/components/features/devices/device-selector/device-selector-skeleton.d.ts +5 -2
- package/dist/components/features/devices/device-selector/device-selector-skeleton.d.ts.map +1 -1
- package/dist/components/features/devices/device-selector/device-selector-skeleton.js +2 -2
- package/dist/components/features/devices/device-selector/device-selector.d.ts +1 -1
- package/dist/components/features/devices/device-selector/device-selector.d.ts.map +1 -1
- package/dist/components/features/devices/device-selector/device-selector.js +2 -0
- package/dist/components/features/devices/device-selector/device-selector.types.d.ts +2 -0
- package/dist/components/features/devices/device-selector/device-selector.types.d.ts.map +1 -1
- package/dist/components/features/devices/devices-grid.d.ts +3 -1
- package/dist/components/features/devices/devices-grid.d.ts.map +1 -1
- package/dist/components/features/devices/devices-grid.js +3 -2
- package/dist/components/features/devices/devices-panel-view.d.ts +6 -1
- package/dist/components/features/devices/devices-panel-view.d.ts.map +1 -1
- package/dist/components/features/devices/devices-panel-view.js +4 -1
- package/dist/components/features/devices/devices-table-columns.d.ts +3 -1
- package/dist/components/features/devices/devices-table-columns.d.ts.map +1 -1
- package/dist/components/features/devices/devices-table-columns.js +2 -0
- package/dist/components/features/index.cjs +18 -14
- package/dist/components/features/logs/logs-table-view.d.ts +3 -1
- package/dist/components/features/logs/logs-table-view.d.ts.map +1 -1
- package/dist/components/features/logs/logs-table-view.js +2 -2
- package/dist/components/features/model-token-rates.d.ts +4 -1
- package/dist/components/features/model-token-rates.d.ts.map +1 -1
- package/dist/components/features/model-token-rates.js +18 -23
- package/dist/components/features/notifications/index.d.ts +2 -2
- package/dist/components/features/notifications/index.d.ts.map +1 -1
- package/dist/components/features/notifications/index.js +2 -1
- package/dist/components/features/notifications/notification-drawer.d.ts.map +1 -1
- package/dist/components/features/notifications/notification-drawer.js +9 -16
- package/dist/components/features/notifications/notification-tile.d.ts +14 -0
- package/dist/components/features/notifications/notification-tile.d.ts.map +1 -1
- package/dist/components/features/notifications/notification-tile.js +36 -1
- package/dist/components/features/policies/policy-summary-cards.js +2 -2
- package/dist/components/features/push-button-selector.d.ts.map +1 -1
- package/dist/components/features/push-button-selector.js +12 -7
- package/dist/components/features/remote-session/remote-desktop-view.d.ts +4 -1
- package/dist/components/features/remote-session/remote-desktop-view.d.ts.map +1 -1
- package/dist/components/features/remote-session/remote-desktop-view.js +14 -10
- package/dist/components/features/waitlist-form.d.ts.map +1 -1
- package/dist/components/features/waitlist-form.js +6 -5
- package/dist/components/help-center-pages/download-apps-page.d.ts.map +1 -1
- package/dist/components/help-center-pages/download-apps-page.js +2 -1
- package/dist/components/help-center-pages/index.cjs +127 -119
- package/dist/components/help-center-pages/trust-center-page.d.ts +4 -1
- package/dist/components/help-center-pages/trust-center-page.d.ts.map +1 -1
- package/dist/components/help-center-pages/trust-center-page.js +3 -2
- package/dist/components/help-center-pages/trust-center-sections.d.ts +4 -1
- package/dist/components/help-center-pages/trust-center-sections.d.ts.map +1 -1
- package/dist/components/help-center-pages/trust-center-sections.js +5 -2
- package/dist/components/index.cjs +70 -112
- package/dist/components/index.d.ts +0 -2
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +0 -2
- package/dist/components/layout/title-block.d.ts.map +1 -1
- package/dist/components/layout/title-block.js +18 -11
- package/dist/components/loading/card-skeleton.d.ts +6 -3
- package/dist/components/loading/card-skeleton.d.ts.map +1 -1
- package/dist/components/loading/card-skeleton.js +7 -27
- package/dist/components/loading/category-card-skeleton.d.ts.map +1 -1
- package/dist/components/loading/category-card-skeleton.js +2 -4
- package/dist/components/loading/category-vendor-selector-skeleton.d.ts +3 -1
- package/dist/components/loading/category-vendor-selector-skeleton.d.ts.map +1 -1
- package/dist/components/loading/category-vendor-selector-skeleton.js +9 -4
- package/dist/components/loading/device-card-skeleton.d.ts +18 -9
- package/dist/components/loading/device-card-skeleton.d.ts.map +1 -1
- package/dist/components/loading/device-card-skeleton.js +30 -21
- package/dist/components/loading/index.d.ts +3 -4
- package/dist/components/loading/index.d.ts.map +1 -1
- package/dist/components/loading/index.js +6 -29
- package/dist/components/loading/loading-region.d.ts +33 -0
- package/dist/components/loading/loading-region.d.ts.map +1 -0
- package/dist/components/loading/loading-region.js +22 -0
- package/dist/components/loading/margin-report-skeleton.d.ts +3 -1
- package/dist/components/loading/margin-report-skeleton.d.ts.map +1 -1
- package/dist/components/loading/margin-report-skeleton.js +70 -61
- package/dist/components/loading/msp-profile-form-skeleton.d.ts +3 -1
- package/dist/components/loading/msp-profile-form-skeleton.d.ts.map +1 -1
- package/dist/components/loading/msp-profile-form-skeleton.js +6 -5
- package/dist/components/loading/organization-card-skeleton.d.ts +3 -1
- package/dist/components/loading/organization-card-skeleton.d.ts.map +1 -1
- package/dist/components/loading/organization-card-skeleton.js +5 -5
- package/dist/components/loading/organization-icon-skeleton.d.ts.map +1 -1
- package/dist/components/loading/organization-icon-skeleton.js +2 -1
- package/dist/components/loading/page-layout-skeleton.d.ts +21 -6
- package/dist/components/loading/page-layout-skeleton.d.ts.map +1 -1
- package/dist/components/loading/page-layout-skeleton.js +283 -266
- package/dist/components/loading/settings-form-skeleton.d.ts +17 -0
- package/dist/components/loading/settings-form-skeleton.d.ts.map +1 -0
- package/dist/components/loading/settings-form-skeleton.js +42 -0
- package/dist/components/loading/unified-skeleton.d.ts +11 -4
- package/dist/components/loading/unified-skeleton.d.ts.map +1 -1
- package/dist/components/loading/unified-skeleton.js +14 -89
- package/dist/components/loading/wizard-layout-skeleton.d.ts +3 -1
- package/dist/components/loading/wizard-layout-skeleton.d.ts.map +1 -1
- package/dist/components/loading/wizard-layout-skeleton.js +3 -2
- package/dist/components/media-carousel.d.ts.map +1 -1
- package/dist/components/media-carousel.js +2 -1
- package/dist/components/meeting-scheduler/booking-form.d.ts.map +1 -1
- package/dist/components/meeting-scheduler/booking-form.js +14 -8
- package/dist/components/meeting-scheduler/context-panel.d.ts.map +1 -1
- package/dist/components/meeting-scheduler/context-panel.js +8 -7
- package/dist/components/meeting-scheduler/directory.d.ts.map +1 -1
- package/dist/components/meeting-scheduler/directory.js +10 -9
- package/dist/components/meeting-scheduler/index.cjs +85 -75
- package/dist/components/meeting-scheduler/index.d.ts.map +1 -1
- package/dist/components/meeting-scheduler/index.js +3 -2
- package/dist/components/meeting-scheduler/modal-header.d.ts.map +1 -1
- package/dist/components/meeting-scheduler/modal-header.js +8 -7
- package/dist/components/meeting-scheduler/slot-picker.d.ts.map +1 -1
- package/dist/components/meeting-scheduler/slot-picker.js +4 -3
- package/dist/components/navigation/app-header.d.ts.map +1 -1
- package/dist/components/navigation/app-header.js +8 -7
- package/dist/components/navigation/index.cjs +19 -17
- package/dist/components/navigation/multi-level-navigation.d.ts.map +1 -1
- package/dist/components/navigation/multi-level-navigation.js +3 -2
- package/dist/components/navigation/navigation-sidebar-item.d.ts.map +1 -1
- package/dist/components/navigation/navigation-sidebar-item.js +3 -2
- package/dist/components/onboarding-guides/index.cjs +19 -17
- package/dist/components/onboarding-guides/onboarding-guides-catalog-skeleton.d.ts +4 -1
- package/dist/components/onboarding-guides/onboarding-guides-catalog-skeleton.d.ts.map +1 -1
- package/dist/components/onboarding-guides/onboarding-guides-catalog-skeleton.js +12 -8
- package/dist/components/product-demo/index.cjs +16 -15
- package/dist/components/product-demo/product-screen.d.ts.map +1 -1
- package/dist/components/product-demo/product-screen.js +4 -4
- package/dist/components/profile/ProfileLoadingSkeleton.d.ts +3 -1
- package/dist/components/profile/ProfileLoadingSkeleton.d.ts.map +1 -1
- package/dist/components/profile/ProfileLoadingSkeleton.js +10 -8
- package/dist/components/related-content/index.cjs +7 -5
- package/dist/components/related-content/related-content-section.d.ts.map +1 -1
- package/dist/components/related-content/related-content-section.js +3 -2
- package/dist/components/shared/delivery/delivery-table.d.ts.map +1 -1
- package/dist/components/shared/delivery/delivery-table.js +8 -7
- package/dist/components/shared/detail-page-skeleton.d.ts +5 -1
- package/dist/components/shared/detail-page-skeleton.d.ts.map +1 -1
- package/dist/components/shared/detail-page-skeleton.js +18 -14
- package/dist/components/shared/dev-section/dev-card-row.d.ts +3 -1
- package/dist/components/shared/dev-section/dev-card-row.d.ts.map +1 -1
- package/dist/components/shared/dev-section/dev-card-row.js +22 -9
- package/dist/components/shared/legal-document/legal-document-page.d.ts.map +1 -1
- package/dist/components/shared/legal-document/legal-document-page.js +8 -7
- package/dist/components/shared/onboarding/onboarding-step-card.d.ts.map +1 -1
- package/dist/components/shared/onboarding/onboarding-step-card.js +3 -2
- package/dist/components/shared/onboarding/onboarding-walkthrough.d.ts.map +1 -1
- package/dist/components/shared/onboarding/onboarding-walkthrough.js +2 -1
- package/dist/components/shared/product-release/index.d.ts +0 -1
- package/dist/components/shared/product-release/index.d.ts.map +1 -1
- package/dist/components/shared/product-release/index.js +1 -3
- package/dist/components/shared/product-release/product-release-card-skeleton.d.ts.map +1 -1
- package/dist/components/shared/product-release/product-release-card-skeleton.js +21 -20
- package/dist/components/shared/product-release/product-releases-view.d.ts.map +1 -1
- package/dist/components/shared/product-release/product-releases-view.js +2 -1
- package/dist/components/shared/roadmap/roadmap-grid-skeleton.d.ts +6 -13
- package/dist/components/shared/roadmap/roadmap-grid-skeleton.d.ts.map +1 -1
- package/dist/components/shared/roadmap/roadmap-grid-skeleton.js +13 -25
- package/dist/components/tickets/help-center-create-form.d.ts +4 -1
- package/dist/components/tickets/help-center-create-form.d.ts.map +1 -1
- package/dist/components/tickets/help-center-create-form.js +38 -26
- package/dist/components/tickets/index.cjs +22 -20
- package/dist/components/tickets/ticket-center.d.ts.map +1 -1
- package/dist/components/tickets/ticket-center.js +13 -10
- package/dist/components/tickets/ticket-detail-drawer.d.ts.map +1 -1
- package/dist/components/tickets/ticket-detail-drawer.js +2 -1
- package/dist/components/ui/admin-form-drawer.d.ts.map +1 -1
- package/dist/components/ui/admin-form-drawer.js +6 -8
- package/dist/components/ui/admin-form-modal.d.ts.map +1 -1
- package/dist/components/ui/admin-form-modal.js +12 -11
- package/dist/components/ui/analyzing-state.d.ts +1 -1
- package/dist/components/ui/analyzing-state.d.ts.map +1 -1
- package/dist/components/ui/analyzing-state.js +4 -10
- package/dist/components/ui/content-loader.d.ts +5 -1
- package/dist/components/ui/content-loader.d.ts.map +1 -1
- package/dist/components/ui/content-loader.js +27 -23
- package/dist/components/ui/dashboard-info-card.d.ts +17 -3
- package/dist/components/ui/dashboard-info-card.d.ts.map +1 -1
- package/dist/components/ui/dashboard-info-card.js +30 -10
- package/dist/components/ui/data-attribution.d.ts +6 -0
- package/dist/components/ui/data-attribution.d.ts.map +1 -1
- package/dist/components/ui/data-attribution.js +12 -1
- package/dist/components/ui/data-table/data-table-body.d.ts +6 -1
- package/dist/components/ui/data-table/data-table-body.d.ts.map +1 -1
- package/dist/components/ui/data-table/data-table-body.js +3 -1
- package/dist/components/ui/data-table/data-table-infinite-footer.d.ts.map +1 -1
- package/dist/components/ui/data-table/data-table-infinite-footer.js +3 -1
- package/dist/components/ui/data-table/data-table-skeleton.d.ts.map +1 -1
- package/dist/components/ui/data-table/data-table-skeleton.js +7 -5
- package/dist/components/ui/feature-card.d.ts.map +1 -1
- package/dist/components/ui/feature-card.js +7 -9
- package/dist/components/ui/file-manager/file-manager-skeleton.d.ts +3 -1
- package/dist/components/ui/file-manager/file-manager-skeleton.d.ts.map +1 -1
- package/dist/components/ui/file-manager/file-manager-skeleton.js +27 -21
- package/dist/components/ui/file-manager/file-manager-table.js +10 -10
- package/dist/components/ui/file-manager/index.cjs +45 -36
- package/dist/components/ui/filter-modal.d.ts.map +1 -1
- package/dist/components/ui/filter-modal.js +5 -5
- package/dist/components/ui/filter-pill-row.d.ts +10 -0
- package/dist/components/ui/filter-pill-row.d.ts.map +1 -1
- package/dist/components/ui/filter-pill-row.js +8 -1
- package/dist/components/ui/index.cjs +19 -28
- package/dist/components/ui/index.d.ts +0 -1
- package/dist/components/ui/index.d.ts.map +1 -1
- package/dist/components/ui/index.js +0 -1
- package/dist/components/ui/layout-hold.d.ts +5 -4
- package/dist/components/ui/layout-hold.d.ts.map +1 -1
- package/dist/components/ui/layout-hold.js +20 -29
- package/dist/components/ui/markdown/base-components.js +1 -1
- package/dist/components/ui/page-actions.d.ts.map +1 -1
- package/dist/components/ui/page-actions.js +6 -8
- package/dist/components/ui/photo-wall.d.ts.map +1 -1
- package/dist/components/ui/photo-wall.js +11 -18
- package/dist/components/ui/query-report-table/query-report-table-skeleton.d.ts +1 -1
- package/dist/components/ui/query-report-table/query-report-table-skeleton.d.ts.map +1 -1
- package/dist/components/ui/query-report-table/query-report-table-skeleton.js +28 -18
- package/dist/components/ui/query-report-table/query-report-table.d.ts +1 -1
- package/dist/components/ui/query-report-table/query-report-table.d.ts.map +1 -1
- package/dist/components/ui/query-report-table/query-report-table.js +3 -1
- package/dist/components/ui/query-report-table/types.d.ts +4 -0
- package/dist/components/ui/query-report-table/types.d.ts.map +1 -1
- package/dist/components/ui/skeleton-surface.d.ts +7 -0
- package/dist/components/ui/skeleton-surface.d.ts.map +1 -0
- package/dist/components/ui/skeleton-surface.js +5 -0
- package/dist/components/ui/table/table-skeleton.d.ts.map +1 -1
- package/dist/components/ui/table/table-skeleton.js +11 -13
- package/dist/components/ui/test-run.d.ts +6 -4
- package/dist/components/ui/test-run.d.ts.map +1 -1
- package/dist/components/ui/test-run.js +9 -5
- package/dist/{devices-WWMXIIHI.cjs → devices-FVXAGKVX.cjs} +17 -15
- package/dist/{embeddable-chat-IJHCGQ24.cjs → embeddable-chat-SNYQSMS7.cjs} +79 -77
- package/dist/index.cjs +24 -31
- package/dist/{knowledge-JZP4RIXB.cjs → knowledge-ZL3ZHBSL.cjs} +17 -15
- package/dist/{logs-WIRYFNUC.cjs → logs-KQCWDIOB.cjs} +24 -22
- package/dist/{policies-X7OJYA7G.cjs → policies-ARDCZ3CT.cjs} +20 -18
- package/dist/{remote-session-IYT4LWJC.cjs → remote-session-ZKP2W3IS.cjs} +9 -7
- package/dist/{scripts-GRMT2NGW.cjs → scripts-ZAMVWCY4.cjs} +23 -21
- package/dist/{software-update-G3QOB7RT.cjs → software-update-6F7BIYS3.cjs} +20 -18
- package/dist/{tickets-board-4MT6ZB4F.cjs → tickets-board-BNW4AYFL.cjs} +11 -10
- package/package.json +1 -1
- package/src/components/categories-cart.tsx +2 -4
- package/src/components/chat/chat-container.tsx +4 -4
- package/src/components/chat/chat-context-picker.tsx +3 -2
- package/src/components/chat/chat-message-row.tsx +6 -7
- package/src/components/chat/chat-message-skeleton.tsx +11 -6
- package/src/components/chat/chat-sidebar-skeleton.tsx +4 -3
- package/src/components/chat/chat-top-navigation.tsx +4 -4
- package/src/components/chat/context-items-list.tsx +9 -3
- package/src/components/chat/entity-cards/admin-content-card-grid.tsx +65 -18
- package/src/components/chat/entity-cards/admin-content-card.tsx +2 -1
- package/src/components/chat/entity-cards/blog-card.tsx +13 -12
- package/src/components/chat/entity-cards/campaign-card-admin.tsx +5 -4
- package/src/components/chat/entity-cards/case-study-card.tsx +19 -18
- package/src/components/chat/entity-cards/chat-ticket-item.tsx +5 -5
- package/src/components/chat/entity-cards/customer-interview-card.tsx +15 -14
- package/src/components/chat/entity-cards/data-room-doc-card.tsx +7 -6
- package/src/components/chat/entity-cards/design-doc-card.tsx +0 -2
- package/src/components/chat/entity-cards/generic-entity-card.tsx +8 -7
- package/src/components/chat/entity-cards/github-activity-card.tsx +11 -10
- package/src/components/chat/entity-cards/hubspot-ticket-card.tsx +16 -15
- package/src/components/chat/entity-cards/index.ts +2 -0
- package/src/components/chat/entity-cards/investor-update-card.tsx +12 -11
- package/src/components/chat/entity-cards/onboarding-guide-card.tsx +21 -22
- package/src/components/chat/entity-cards/program-card.tsx +29 -28
- package/src/components/chat/entity-cards/roadmap-card.tsx +22 -23
- package/src/components/chat/entity-cards/slack-message-card.tsx +12 -11
- package/src/components/chat/guide-welcome.tsx +2 -2
- package/src/components/chat/mingo-archive-list.tsx +2 -1
- package/src/components/chat/mingo-chat-history.tsx +18 -9
- package/src/components/chat/mingo-chat-rail.tsx +2 -1
- package/src/components/chat/mingo-info-card.tsx +6 -5
- package/src/components/chat/mingo-onboarding-card-skeleton.tsx +15 -13
- package/src/components/chat/model-display.tsx +4 -4
- package/src/components/chat/msp-organization-card-skeleton.tsx +5 -5
- package/src/components/chat/quick-action-chip.tsx +17 -14
- package/src/components/chat/utils/compact-card-classes.ts +4 -5
- package/src/components/content-loading-container.tsx +7 -8
- package/src/components/docs/doc-viewer.tsx +3 -2
- package/src/components/docs/skeletons.tsx +64 -63
- package/src/components/embeds/embed-iframe.tsx +16 -9
- package/src/components/embeds/index.ts +2 -2
- package/src/components/embeds/linkedin-embed-client.tsx +7 -6
- package/src/components/embeds/markdown-image.tsx +5 -3
- package/src/components/embeds/og-link-preview.tsx +162 -79
- package/src/components/embeds/reddit-embed-client.tsx +10 -9
- package/src/components/embeds/twitter-embed-client.tsx +10 -9
- package/src/components/faq/faq-section.tsx +13 -6
- package/src/components/features/board/ticket-card-skeleton.tsx +8 -8
- package/src/components/features/capability-explorer.tsx +61 -30
- package/src/components/features/devices/device-selector/device-selector-skeleton.tsx +9 -3
- package/src/components/features/devices/device-selector/device-selector.tsx +2 -0
- package/src/components/features/devices/device-selector/device-selector.types.ts +2 -0
- package/src/components/features/devices/devices-grid.tsx +4 -1
- package/src/components/features/devices/devices-panel-view.tsx +9 -1
- package/src/components/features/devices/devices-table-columns.tsx +4 -0
- package/src/components/features/logs/logs-table-view.tsx +4 -2
- package/src/components/features/model-token-rates.tsx +27 -24
- package/src/components/features/notifications/index.ts +2 -2
- package/src/components/features/notifications/notification-drawer.tsx +7 -10
- package/src/components/features/notifications/notification-tile.tsx +57 -0
- package/src/components/features/policies/policy-summary-cards.tsx +2 -2
- package/src/components/features/push-button-selector.tsx +20 -11
- package/src/components/features/remote-session/remote-desktop-view.tsx +26 -16
- package/src/components/features/waitlist-form.tsx +6 -5
- package/src/components/help-center-pages/download-apps-page.tsx +3 -2
- package/src/components/help-center-pages/trust-center-page.tsx +6 -2
- package/src/components/help-center-pages/trust-center-sections.tsx +9 -3
- package/src/components/index.ts +0 -2
- package/src/components/layout/title-block.tsx +17 -15
- package/src/components/loading/card-skeleton.tsx +14 -46
- package/src/components/loading/category-card-skeleton.tsx +2 -4
- package/src/components/loading/category-vendor-selector-skeleton.tsx +12 -5
- package/src/components/loading/device-card-skeleton.tsx +58 -51
- package/src/components/loading/index.ts +5 -19
- package/src/components/loading/loading-region.tsx +60 -0
- package/src/components/loading/margin-report-skeleton.tsx +45 -34
- package/src/components/loading/msp-profile-form-skeleton.tsx +9 -6
- package/src/components/loading/organization-card-skeleton.tsx +8 -6
- package/src/components/loading/organization-icon-skeleton.tsx +3 -2
- package/src/components/loading/page-layout-skeleton.tsx +162 -133
- package/src/components/loading/settings-form-skeleton.tsx +52 -0
- package/src/components/loading/unified-skeleton.tsx +26 -71
- package/src/components/loading/wizard-layout-skeleton.tsx +6 -3
- package/src/components/media-carousel.tsx +2 -1
- package/src/components/meeting-scheduler/booking-form.tsx +10 -7
- package/src/components/meeting-scheduler/context-panel.tsx +8 -7
- package/src/components/meeting-scheduler/directory.tsx +10 -9
- package/src/components/meeting-scheduler/index.tsx +5 -4
- package/src/components/meeting-scheduler/modal-header.tsx +8 -7
- package/src/components/meeting-scheduler/slot-picker.tsx +4 -3
- package/src/components/navigation/app-header.tsx +8 -7
- package/src/components/navigation/multi-level-navigation.tsx +3 -2
- package/src/components/navigation/navigation-sidebar-item.tsx +3 -2
- package/src/components/onboarding-guides/onboarding-guides-catalog-skeleton.tsx +17 -10
- package/src/components/product-demo/product-screen.tsx +4 -4
- package/src/components/profile/ProfileLoadingSkeleton.tsx +13 -9
- package/src/components/related-content/related-content-section.tsx +5 -4
- package/src/components/shared/delivery/delivery-table.tsx +8 -7
- package/src/components/shared/detail-page-skeleton.tsx +22 -14
- package/src/components/shared/dev-section/dev-card-row.tsx +23 -10
- package/src/components/shared/legal-document/legal-document-page.tsx +8 -7
- package/src/components/shared/onboarding/onboarding-step-card.tsx +3 -2
- package/src/components/shared/onboarding/onboarding-walkthrough.tsx +2 -1
- package/src/components/shared/product-release/index.ts +0 -1
- package/src/components/shared/product-release/product-release-card-skeleton.tsx +23 -25
- package/src/components/shared/product-release/product-releases-view.tsx +3 -2
- package/src/components/shared/roadmap/roadmap-grid-skeleton.tsx +14 -56
- package/src/components/tickets/help-center-create-form.tsx +23 -12
- package/src/components/tickets/ticket-center.tsx +17 -11
- package/src/components/tickets/ticket-detail-drawer.tsx +3 -2
- package/src/components/ui/admin-form-drawer.tsx +7 -7
- package/src/components/ui/admin-form-modal.tsx +9 -8
- package/src/components/ui/analyzing-state.tsx +5 -8
- package/src/components/ui/content-loader.tsx +31 -23
- package/src/components/ui/dashboard-info-card.tsx +81 -20
- package/src/components/ui/data-attribution.tsx +18 -0
- package/src/components/ui/data-table/data-table-body.tsx +9 -2
- package/src/components/ui/data-table/data-table-infinite-footer.tsx +4 -2
- package/src/components/ui/data-table/data-table-skeleton.tsx +8 -5
- package/src/components/ui/feature-card.tsx +27 -11
- package/src/components/ui/file-manager/file-manager-skeleton.tsx +30 -22
- package/src/components/ui/file-manager/file-manager-table.tsx +10 -10
- package/src/components/ui/filter-modal.tsx +5 -5
- package/src/components/ui/filter-pill-row.tsx +19 -0
- package/src/components/ui/index.ts +0 -1
- package/src/components/ui/layout-hold.tsx +30 -38
- package/src/components/ui/markdown/base-components.tsx +1 -1
- package/src/components/ui/page-actions.tsx +10 -8
- package/src/components/ui/photo-wall.tsx +4 -7
- package/src/components/ui/query-report-table/query-report-table-skeleton.tsx +13 -7
- package/src/components/ui/query-report-table/query-report-table.tsx +2 -0
- package/src/components/ui/query-report-table/types.ts +4 -0
- package/src/components/ui/skeleton-surface.ts +6 -0
- package/src/components/ui/table/table-skeleton.tsx +11 -13
- package/src/components/ui/test-run.tsx +30 -22
- package/src/styles/ods-colors.css +2 -2
- package/dist/chunk-5M5C6UV4.cjs +0 -125
- package/dist/components/dynamic-skeleton.d.ts +0 -108
- package/dist/components/dynamic-skeleton.d.ts.map +0 -1
- package/dist/components/dynamic-skeleton.js +0 -221
- package/dist/components/loading/content-skeleton.d.ts +0 -73
- package/dist/components/loading/content-skeleton.d.ts.map +0 -1
- package/dist/components/loading/content-skeleton.js +0 -217
- package/dist/components/loading/users-grid-skeleton.d.ts +0 -7
- package/dist/components/loading/users-grid-skeleton.d.ts.map +0 -1
- package/dist/components/loading/users-grid-skeleton.js +0 -13
- package/dist/components/shared/product-release/release-detail-skeleton.d.ts +0 -2
- package/dist/components/shared/product-release/release-detail-skeleton.d.ts.map +0 -1
- package/dist/components/shared/product-release/release-detail-skeleton.js +0 -9
- package/dist/components/skeleton.d.ts +0 -4
- package/dist/components/skeleton.d.ts.map +0 -1
- package/dist/components/skeleton.js +0 -9
- package/dist/components/ui/skeleton.d.ts +0 -44
- package/dist/components/ui/skeleton.d.ts.map +0 -1
- package/dist/components/ui/skeleton.js +0 -103
- package/dist/components/vendor-page-skeleton.d.ts +0 -2
- package/dist/components/vendor-page-skeleton.d.ts.map +0 -1
- package/dist/components/vendor-page-skeleton.js +0 -9
- package/src/components/dynamic-skeleton.tsx +0 -365
- package/src/components/loading/content-skeleton.tsx +0 -374
- package/src/components/loading/users-grid-skeleton.tsx +0 -36
- package/src/components/shared/product-release/release-detail-skeleton.tsx +0 -7
- package/src/components/skeleton.tsx +0 -8
- package/src/components/ui/skeleton.tsx +0 -173
- package/src/components/vendor-page-skeleton.tsx +0 -7
|
@@ -1,31 +1,41 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
2
|
import { cn } from '../../utils/cn';
|
|
3
3
|
import { CardSkeletonGrid } from './card-skeleton';
|
|
4
|
+
import { LoadingRegion } from './loading-region';
|
|
4
5
|
import { UnifiedSkeleton, TextSkeleton, MediaSkeleton, InteractiveSkeleton } from './unified-skeleton';
|
|
5
6
|
|
|
6
7
|
interface PageLayoutSkeletonProps {
|
|
7
8
|
className?: string;
|
|
8
9
|
}
|
|
9
10
|
|
|
11
|
+
/**
|
|
12
|
+
* A whole loading state (a layout or a grid, not a piece of chrome): it announces itself once
|
|
13
|
+
* (`LoadingRegion`). `region={false}` inside another loading region.
|
|
14
|
+
*/
|
|
15
|
+
interface LoadingLayoutProps extends PageLayoutSkeletonProps {
|
|
16
|
+
/** The loading state announces itself (`LoadingRegion`). `false` inside another loading region. Default `true`. */
|
|
17
|
+
region?: boolean;
|
|
18
|
+
}
|
|
19
|
+
|
|
10
20
|
/**
|
|
11
21
|
* Announcement bar skeleton that matches the AnnouncementBar component
|
|
12
22
|
*/
|
|
13
23
|
export function AnnouncementBarSkeleton() {
|
|
14
24
|
return (
|
|
15
|
-
<div className="relative w-full
|
|
25
|
+
<div className="relative w-full bg-ods-card">
|
|
16
26
|
<div className="relative flex w-full flex-row items-center">
|
|
17
27
|
<div className="relative box-border flex w-full flex-row items-center justify-start gap-4 py-3 pl-4 pr-12 content-md:gap-6 content-md:py-4 content-md:pl-6 content-md:pr-16">
|
|
18
28
|
{/* Logo skeleton */}
|
|
19
|
-
<
|
|
29
|
+
<UnifiedSkeleton className="relative h-6 w-6 shrink-0 rounded content-md:h-8 content-md:w-8" />
|
|
20
30
|
|
|
21
31
|
{/* Text content skeleton */}
|
|
22
32
|
<div className="min-w-0 flex-1 space-y-1 content-md:space-y-2">
|
|
23
|
-
<
|
|
24
|
-
<
|
|
33
|
+
<UnifiedSkeleton className="h-[14px] w-3/4 max-w-md rounded content-md:h-[18px]" />
|
|
34
|
+
<UnifiedSkeleton className="hidden h-[12px] w-full max-w-lg rounded content-md:block content-md:h-[18px]" />
|
|
25
35
|
</div>
|
|
26
36
|
|
|
27
37
|
{/* Close button skeleton */}
|
|
28
|
-
<
|
|
38
|
+
<UnifiedSkeleton className="absolute right-2 top-2 h-6 w-6 rounded" />
|
|
29
39
|
</div>
|
|
30
40
|
</div>
|
|
31
41
|
</div>
|
|
@@ -37,10 +47,10 @@ export function AnnouncementBarSkeleton() {
|
|
|
37
47
|
*/
|
|
38
48
|
export function HeaderSkeleton() {
|
|
39
49
|
return (
|
|
40
|
-
<header className="sticky top-0 z-40 flex w-full
|
|
50
|
+
<header className="sticky top-0 z-40 flex w-full items-center justify-between border-b border-ods-border bg-ods-card bg-ods-card/95 px-4 py-3 backdrop-blur-sm content-md:px-[80px] content-md:py-[12px]">
|
|
41
51
|
{/* Left: Logo skeleton */}
|
|
42
52
|
<div className="flex min-w-0 flex-1 items-center justify-start">
|
|
43
|
-
<
|
|
53
|
+
<UnifiedSkeleton className="h-[26px] w-[110px] rounded content-md:h-8 content-md:w-[137px]" />
|
|
44
54
|
</div>
|
|
45
55
|
|
|
46
56
|
{/* Center: Navigation skeleton - hidden on mobile, visible on desktop */}
|
|
@@ -76,7 +86,7 @@ export function HeaderSkeleton() {
|
|
|
76
86
|
export function HeroSkeleton() {
|
|
77
87
|
return (
|
|
78
88
|
<section
|
|
79
|
-
className="flex w-full
|
|
89
|
+
className="flex w-full flex-col items-center justify-center px-4 py-12 text-center content-md:px-8 content-md:py-20"
|
|
80
90
|
style={{
|
|
81
91
|
background: 'radial-gradient(circle at 50% 0%, #242323 0%, #1A1A1A 100%)',
|
|
82
92
|
}}
|
|
@@ -190,6 +200,14 @@ export function BreadcrumbSkeleton({ className }: PageLayoutSkeletonProps) {
|
|
|
190
200
|
);
|
|
191
201
|
}
|
|
192
202
|
|
|
203
|
+
/**
|
|
204
|
+
* ONE breadcrumb link while it loads: a bar the height of the link's line
|
|
205
|
+
* (`text-h6`), for a trail whose links stream in one by one.
|
|
206
|
+
*/
|
|
207
|
+
export function BreadcrumbLinkSkeleton({ className }: PageLayoutSkeletonProps) {
|
|
208
|
+
return <UnifiedSkeleton as="span" className={cn('inline-block h-5 w-16', className)} />;
|
|
209
|
+
}
|
|
210
|
+
|
|
193
211
|
/**
|
|
194
212
|
* Results header skeleton with count and sorting
|
|
195
213
|
*/
|
|
@@ -217,16 +235,20 @@ export function TwoColumnLayoutSkeleton({
|
|
|
217
235
|
sidebarContent,
|
|
218
236
|
mainContent,
|
|
219
237
|
sidebarPosition = 'left',
|
|
220
|
-
|
|
238
|
+
region = true,
|
|
239
|
+
}: LoadingLayoutProps & {
|
|
221
240
|
sidebarContent?: React.ReactNode;
|
|
222
241
|
mainContent?: React.ReactNode;
|
|
223
242
|
sidebarPosition?: 'left' | 'right';
|
|
224
243
|
}) {
|
|
225
244
|
const sidebar = sidebarContent || <CategorySidebarSkeleton />;
|
|
226
|
-
|
|
245
|
+
// The layout announces for its parts: content passed in should not announce again (`region={false}`).
|
|
246
|
+
const main = mainContent || <CardSkeletonGrid count={6} region={false} />;
|
|
227
247
|
|
|
228
248
|
return (
|
|
229
|
-
<
|
|
249
|
+
<LoadingRegion
|
|
250
|
+
label="Loading"
|
|
251
|
+
announce={region}
|
|
230
252
|
className={cn(
|
|
231
253
|
'grid grid-cols-1 gap-6 content-lg:grid-cols-[320px_1fr] content-lg:gap-8',
|
|
232
254
|
sidebarPosition === 'right' && 'content-lg:grid-cols-[1fr_320px]',
|
|
@@ -244,16 +266,21 @@ export function TwoColumnLayoutSkeleton({
|
|
|
244
266
|
<aside className="order-2">{sidebar}</aside>
|
|
245
267
|
</>
|
|
246
268
|
)}
|
|
247
|
-
</
|
|
269
|
+
</LoadingRegion>
|
|
248
270
|
);
|
|
249
271
|
}
|
|
250
272
|
|
|
251
273
|
/**
|
|
252
274
|
* Article/blog post layout skeleton
|
|
253
275
|
*/
|
|
254
|
-
export function ArticleLayoutSkeleton({ className }:
|
|
276
|
+
export function ArticleLayoutSkeleton({ className, region = true }: LoadingLayoutProps) {
|
|
255
277
|
return (
|
|
256
|
-
<
|
|
278
|
+
<LoadingRegion
|
|
279
|
+
label="Loading the article"
|
|
280
|
+
as="article"
|
|
281
|
+
announce={region}
|
|
282
|
+
className={cn('mx-auto max-w-4xl', className)}
|
|
283
|
+
>
|
|
257
284
|
{/* Article header */}
|
|
258
285
|
<header className="mb-8 space-y-4 content-md:mb-12 content-md:space-y-6">
|
|
259
286
|
{/* Category/tags */}
|
|
@@ -305,7 +332,7 @@ export function ArticleLayoutSkeleton({ className }: PageLayoutSkeletonProps) {
|
|
|
305
332
|
</div>
|
|
306
333
|
</div>
|
|
307
334
|
</div>
|
|
308
|
-
</
|
|
335
|
+
</LoadingRegion>
|
|
309
336
|
);
|
|
310
337
|
}
|
|
311
338
|
|
|
@@ -313,9 +340,14 @@ export function ArticleLayoutSkeleton({ className }: PageLayoutSkeletonProps) {
|
|
|
313
340
|
* Vendor Detail Layout Skeleton - Complete vendor detail page structure
|
|
314
341
|
* Matches the refactored vendor detail page with proper platform colors and responsive layout
|
|
315
342
|
*/
|
|
316
|
-
export function VendorDetailLayoutSkeleton({ className }:
|
|
343
|
+
export function VendorDetailLayoutSkeleton({ className, region = true }: LoadingLayoutProps) {
|
|
317
344
|
return (
|
|
318
|
-
<
|
|
345
|
+
<LoadingRegion
|
|
346
|
+
label="Loading the vendor"
|
|
347
|
+
as="main"
|
|
348
|
+
announce={region}
|
|
349
|
+
className={cn('min-h-screen bg-ods-bg', className)}
|
|
350
|
+
>
|
|
319
351
|
<div className="mx-auto max-w-[1920px] px-6 py-6 content-md:px-20 content-md:py-10">
|
|
320
352
|
{/* Breadcrumb */}
|
|
321
353
|
<BreadcrumbSkeleton className="mb-6" />
|
|
@@ -328,28 +360,28 @@ export function VendorDetailLayoutSkeleton({ className }: PageLayoutSkeletonProp
|
|
|
328
360
|
<div className="mb-10">
|
|
329
361
|
{/* Header - Logo and Title Side by Side */}
|
|
330
362
|
<div className="mb-6 flex gap-6">
|
|
331
|
-
<
|
|
363
|
+
<UnifiedSkeleton className="h-20 w-20 flex-shrink-0 rounded-lg border border-ods-border" />
|
|
332
364
|
|
|
333
365
|
<div className="flex flex-col gap-3">
|
|
334
366
|
<div className="flex flex-col gap-2">
|
|
335
367
|
{/* Large title skeleton */}
|
|
336
|
-
<
|
|
368
|
+
<UnifiedSkeleton className="h-12 w-80 max-w-full rounded content-md:h-16 content-lg:h-20" />
|
|
337
369
|
{/* Category text */}
|
|
338
|
-
<
|
|
370
|
+
<UnifiedSkeleton className="h-5 w-32 rounded content-md:h-6" />
|
|
339
371
|
</div>
|
|
340
372
|
|
|
341
373
|
{/* Pricing tags */}
|
|
342
374
|
<div className="flex items-center gap-2">
|
|
343
|
-
<
|
|
344
|
-
<
|
|
375
|
+
<UnifiedSkeleton className="h-8 w-20 rounded" />
|
|
376
|
+
<UnifiedSkeleton className="h-8 w-16 rounded" />
|
|
345
377
|
</div>
|
|
346
378
|
</div>
|
|
347
379
|
</div>
|
|
348
380
|
|
|
349
381
|
{/* Vendor Image Display Skeleton */}
|
|
350
|
-
<
|
|
382
|
+
<UnifiedSkeleton className="mb-2 h-[300px] w-full rounded-lg border border-ods-border content-md:h-[400px] content-lg:h-[500px]" />
|
|
351
383
|
<div className="text-center">
|
|
352
|
-
<
|
|
384
|
+
<UnifiedSkeleton className="mx-auto h-4 w-24 rounded" />
|
|
353
385
|
</div>
|
|
354
386
|
</div>
|
|
355
387
|
|
|
@@ -357,22 +389,22 @@ export function VendorDetailLayoutSkeleton({ className }: PageLayoutSkeletonProp
|
|
|
357
389
|
<div className="mb-10 content-lg:hidden">
|
|
358
390
|
<div className="space-y-4">
|
|
359
391
|
{/* Deploy Button */}
|
|
360
|
-
<
|
|
392
|
+
<UnifiedSkeleton className="h-12 rounded-lg border border-ods-border" />
|
|
361
393
|
|
|
362
394
|
{/* Voting Buttons */}
|
|
363
395
|
<div className="space-y-2">
|
|
364
|
-
<
|
|
365
|
-
<
|
|
396
|
+
<UnifiedSkeleton className="h-12 rounded-lg border border-ods-border" />
|
|
397
|
+
<UnifiedSkeleton className="h-12 rounded-lg border border-ods-border" />
|
|
366
398
|
</div>
|
|
367
399
|
|
|
368
400
|
{/* GitHub Score Section */}
|
|
369
401
|
<div className="overflow-hidden rounded-lg border border-ods-border">
|
|
370
402
|
{/* Header */}
|
|
371
403
|
<div className="flex items-center gap-3 bg-ods-card p-4">
|
|
372
|
-
<
|
|
404
|
+
<UnifiedSkeleton className="h-8 w-8 rounded" />
|
|
373
405
|
<div className="flex flex-col gap-1">
|
|
374
|
-
<
|
|
375
|
-
<
|
|
406
|
+
<UnifiedSkeleton className="h-4 w-20 rounded" />
|
|
407
|
+
<UnifiedSkeleton className="h-6 w-12 rounded" />
|
|
376
408
|
</div>
|
|
377
409
|
</div>
|
|
378
410
|
|
|
@@ -380,10 +412,10 @@ export function VendorDetailLayoutSkeleton({ className }: PageLayoutSkeletonProp
|
|
|
380
412
|
<div className="space-y-3 p-4">
|
|
381
413
|
{Array.from({ length: 4 }).map((_, i) => (
|
|
382
414
|
<div key={i} className="flex items-center gap-3">
|
|
383
|
-
<
|
|
415
|
+
<UnifiedSkeleton className="h-6 w-6 rounded" />
|
|
384
416
|
<div className="flex items-end gap-1">
|
|
385
|
-
<
|
|
386
|
-
<
|
|
417
|
+
<UnifiedSkeleton className="h-4 w-12 rounded" />
|
|
418
|
+
<UnifiedSkeleton className="h-3 w-8 rounded" />
|
|
387
419
|
</div>
|
|
388
420
|
</div>
|
|
389
421
|
))}
|
|
@@ -392,39 +424,33 @@ export function VendorDetailLayoutSkeleton({ className }: PageLayoutSkeletonProp
|
|
|
392
424
|
|
|
393
425
|
{/* Action Buttons */}
|
|
394
426
|
<div className="space-y-3">
|
|
395
|
-
<
|
|
396
|
-
<
|
|
397
|
-
<
|
|
427
|
+
<UnifiedSkeleton className="h-12 rounded-lg border border-ods-border" />
|
|
428
|
+
<UnifiedSkeleton className="h-12 rounded-lg border border-ods-border" />
|
|
429
|
+
<UnifiedSkeleton className="h-12 rounded-lg border border-ods-border" />
|
|
398
430
|
</div>
|
|
399
431
|
</div>
|
|
400
432
|
</div>
|
|
401
433
|
|
|
402
434
|
{/* Alternatives Container */}
|
|
403
435
|
<div className="mb-20 flex flex-col gap-6">
|
|
404
|
-
<
|
|
436
|
+
<UnifiedSkeleton className="h-8 w-48 rounded content-md:h-10" />
|
|
405
437
|
|
|
406
438
|
{/* Open Source Alternatives */}
|
|
407
439
|
<div className="flex flex-col gap-4">
|
|
408
|
-
<
|
|
440
|
+
<UnifiedSkeleton className="h-5 w-48 rounded" />
|
|
409
441
|
<div className="flex flex-wrap gap-2">
|
|
410
442
|
{Array.from({ length: 6 }).map((_, i) => (
|
|
411
|
-
<
|
|
412
|
-
key={i}
|
|
413
|
-
className="h-10 w-24 animate-pulse rounded-lg border border-ods-border bg-ods-card"
|
|
414
|
-
></div>
|
|
443
|
+
<UnifiedSkeleton key={i} className="h-10 w-24 rounded-lg border border-ods-border" />
|
|
415
444
|
))}
|
|
416
445
|
</div>
|
|
417
446
|
</div>
|
|
418
447
|
|
|
419
448
|
{/* Commercial Alternatives */}
|
|
420
449
|
<div className="flex flex-col gap-4">
|
|
421
|
-
<
|
|
450
|
+
<UnifiedSkeleton className="h-5 w-52 rounded" />
|
|
422
451
|
<div className="flex flex-wrap gap-2">
|
|
423
452
|
{Array.from({ length: 4 }).map((_, i) => (
|
|
424
|
-
<
|
|
425
|
-
key={i}
|
|
426
|
-
className="h-10 w-28 animate-pulse rounded-lg border border-ods-border bg-ods-card"
|
|
427
|
-
></div>
|
|
453
|
+
<UnifiedSkeleton key={i} className="h-10 w-28 rounded-lg border border-ods-border" />
|
|
428
454
|
))}
|
|
429
455
|
</div>
|
|
430
456
|
</div>
|
|
@@ -432,28 +458,28 @@ export function VendorDetailLayoutSkeleton({ className }: PageLayoutSkeletonProp
|
|
|
432
458
|
|
|
433
459
|
{/* About Section */}
|
|
434
460
|
<div className="mb-20 flex flex-col gap-6">
|
|
435
|
-
<
|
|
461
|
+
<UnifiedSkeleton className="h-8 w-64 rounded content-md:h-10" />
|
|
436
462
|
|
|
437
463
|
<div className="rounded-lg border border-ods-border bg-ods-card p-6 content-md:p-8">
|
|
438
464
|
<div className="space-y-4">
|
|
439
|
-
<
|
|
440
|
-
<
|
|
441
|
-
<
|
|
442
|
-
<
|
|
465
|
+
<UnifiedSkeleton className="h-6 rounded" />
|
|
466
|
+
<UnifiedSkeleton className="h-6 rounded" />
|
|
467
|
+
<UnifiedSkeleton className="h-6 w-5/6 rounded" />
|
|
468
|
+
<UnifiedSkeleton className="h-6 w-4/5 rounded" />
|
|
443
469
|
</div>
|
|
444
470
|
</div>
|
|
445
471
|
</div>
|
|
446
472
|
|
|
447
473
|
{/* Key Features Section */}
|
|
448
474
|
<div className="mb-20 flex flex-col gap-6">
|
|
449
|
-
<
|
|
475
|
+
<UnifiedSkeleton className="h-8 w-72 rounded content-md:h-10" />
|
|
450
476
|
<div className="grid grid-cols-1 gap-6 content-md:grid-cols-2 content-lg:grid-cols-3">
|
|
451
477
|
{Array.from({ length: 6 }).map((_, i) => (
|
|
452
478
|
<div key={i} className="flex gap-4 rounded-lg border border-ods-border bg-ods-card p-4">
|
|
453
|
-
<
|
|
479
|
+
<UnifiedSkeleton className="h-12 w-12 flex-shrink-0 rounded" />
|
|
454
480
|
<div className="flex-1 space-y-2">
|
|
455
|
-
<
|
|
456
|
-
<
|
|
481
|
+
<UnifiedSkeleton className="h-5 w-3/4 rounded" />
|
|
482
|
+
<UnifiedSkeleton className="h-4 rounded" />
|
|
457
483
|
</div>
|
|
458
484
|
</div>
|
|
459
485
|
))}
|
|
@@ -462,30 +488,30 @@ export function VendorDetailLayoutSkeleton({ className }: PageLayoutSkeletonProp
|
|
|
462
488
|
|
|
463
489
|
{/* Pros and Cons Section */}
|
|
464
490
|
<div className="mb-20 flex flex-col gap-6">
|
|
465
|
-
<
|
|
491
|
+
<UnifiedSkeleton className="h-8 w-80 rounded content-md:h-10" />
|
|
466
492
|
<div className="grid grid-cols-1 gap-6 content-lg:grid-cols-2">
|
|
467
493
|
{/* Pros Column */}
|
|
468
494
|
<div className="flex flex-col gap-6">
|
|
469
|
-
<
|
|
495
|
+
<UnifiedSkeleton className="h-5 w-16 rounded" />
|
|
470
496
|
{Array.from({ length: 3 }).map((_, i) => (
|
|
471
497
|
<div key={i} className="flex gap-3 rounded-lg border border-ods-border bg-ods-card p-4">
|
|
472
|
-
<
|
|
498
|
+
<UnifiedSkeleton className="h-12 w-12 flex-shrink-0 rounded border border-ods-border" />
|
|
473
499
|
<div className="flex-1 space-y-2">
|
|
474
|
-
<
|
|
475
|
-
<
|
|
500
|
+
<UnifiedSkeleton className="h-5 w-2/3 rounded" />
|
|
501
|
+
<UnifiedSkeleton className="h-4 rounded" />
|
|
476
502
|
</div>
|
|
477
503
|
</div>
|
|
478
504
|
))}
|
|
479
505
|
</div>
|
|
480
506
|
{/* Cons Column */}
|
|
481
507
|
<div className="flex flex-col gap-6">
|
|
482
|
-
<
|
|
508
|
+
<UnifiedSkeleton className="h-5 w-16 rounded" />
|
|
483
509
|
{Array.from({ length: 3 }).map((_, i) => (
|
|
484
510
|
<div key={i} className="flex gap-3 rounded-lg border border-ods-border bg-ods-card p-4">
|
|
485
|
-
<
|
|
511
|
+
<UnifiedSkeleton className="h-12 w-12 flex-shrink-0 rounded border border-ods-border" />
|
|
486
512
|
<div className="flex-1 space-y-2">
|
|
487
|
-
<
|
|
488
|
-
<
|
|
513
|
+
<UnifiedSkeleton className="h-5 w-2/3 rounded" />
|
|
514
|
+
<UnifiedSkeleton className="h-4 rounded" />
|
|
489
515
|
</div>
|
|
490
516
|
</div>
|
|
491
517
|
))}
|
|
@@ -495,42 +521,42 @@ export function VendorDetailLayoutSkeleton({ className }: PageLayoutSkeletonProp
|
|
|
495
521
|
|
|
496
522
|
{/* Alternatives Section */}
|
|
497
523
|
<div className="mb-20 flex flex-col gap-6">
|
|
498
|
-
<
|
|
524
|
+
<UnifiedSkeleton className="h-8 w-72 rounded content-md:h-10" />
|
|
499
525
|
<div className="grid grid-cols-1 gap-6 content-md:grid-cols-2 content-lg:grid-cols-3">
|
|
500
526
|
{Array.from({ length: 6 }).map((_, i) => (
|
|
501
527
|
<div key={i} className="space-y-4 rounded-lg border border-ods-border bg-ods-card p-6">
|
|
502
528
|
{/* Header */}
|
|
503
529
|
<div className="flex items-start gap-4">
|
|
504
|
-
<
|
|
530
|
+
<UnifiedSkeleton className="h-16 w-16 flex-shrink-0 rounded-lg border border-ods-border" />
|
|
505
531
|
<div className="flex-1 space-y-2">
|
|
506
|
-
<
|
|
507
|
-
<
|
|
532
|
+
<UnifiedSkeleton className="h-6 w-3/4 rounded" />
|
|
533
|
+
<UnifiedSkeleton className="h-4 w-1/2 rounded" />
|
|
508
534
|
</div>
|
|
509
|
-
<
|
|
535
|
+
<UnifiedSkeleton className="h-6 w-20 rounded" />
|
|
510
536
|
</div>
|
|
511
537
|
|
|
512
538
|
{/* Description */}
|
|
513
539
|
<div className="space-y-2">
|
|
514
|
-
<
|
|
515
|
-
<
|
|
516
|
-
<
|
|
540
|
+
<UnifiedSkeleton className="h-4 rounded" />
|
|
541
|
+
<UnifiedSkeleton className="h-4 w-5/6 rounded" />
|
|
542
|
+
<UnifiedSkeleton className="h-4 w-4/5 rounded" />
|
|
517
543
|
</div>
|
|
518
544
|
|
|
519
545
|
{/* Footer */}
|
|
520
546
|
<div className="flex items-center justify-between border-t border-ods-border pt-2">
|
|
521
|
-
<
|
|
522
|
-
<
|
|
547
|
+
<UnifiedSkeleton className="h-4 w-16 rounded" />
|
|
548
|
+
<UnifiedSkeleton className="h-4 w-20 rounded" />
|
|
523
549
|
</div>
|
|
524
550
|
</div>
|
|
525
551
|
))}
|
|
526
552
|
</div>
|
|
527
553
|
{/* Show All Button */}
|
|
528
|
-
<
|
|
554
|
+
<UnifiedSkeleton className="h-12 rounded-md" />
|
|
529
555
|
</div>
|
|
530
556
|
|
|
531
557
|
{/* Comments Section */}
|
|
532
558
|
<div className="mb-20 flex flex-col gap-6">
|
|
533
|
-
<
|
|
559
|
+
<UnifiedSkeleton className="h-8 w-64 rounded content-md:h-10" />
|
|
534
560
|
|
|
535
561
|
{/* Comment Form Skeleton */}
|
|
536
562
|
<div className="space-y-3">
|
|
@@ -538,24 +564,24 @@ export function VendorDetailLayoutSkeleton({ className }: PageLayoutSkeletonProp
|
|
|
538
564
|
<div className="flex-1 overflow-hidden rounded-lg border border-ods-border bg-ods-bg">
|
|
539
565
|
{/* Title Section */}
|
|
540
566
|
<div className="border-b border-ods-border p-3">
|
|
541
|
-
<
|
|
542
|
-
<
|
|
567
|
+
<UnifiedSkeleton className="mb-2 h-3 w-8 rounded" />
|
|
568
|
+
<UnifiedSkeleton className="h-6 w-full rounded" />
|
|
543
569
|
</div>
|
|
544
570
|
|
|
545
571
|
{/* Description Section */}
|
|
546
572
|
<div className="p-3">
|
|
547
|
-
<
|
|
573
|
+
<UnifiedSkeleton className="mb-2 h-3 w-16 rounded" />
|
|
548
574
|
<div className="space-y-2">
|
|
549
|
-
<
|
|
550
|
-
<
|
|
551
|
-
<
|
|
575
|
+
<UnifiedSkeleton className="h-4 w-full rounded" />
|
|
576
|
+
<UnifiedSkeleton className="h-4 w-3/4 rounded" />
|
|
577
|
+
<UnifiedSkeleton className="h-4 w-1/2 rounded" />
|
|
552
578
|
</div>
|
|
553
579
|
</div>
|
|
554
580
|
</div>
|
|
555
581
|
|
|
556
582
|
{/* Send Button */}
|
|
557
583
|
<div className="flex items-stretch">
|
|
558
|
-
<
|
|
584
|
+
<UnifiedSkeleton className="h-[120px] w-20 rounded-lg" />
|
|
559
585
|
</div>
|
|
560
586
|
</div>
|
|
561
587
|
</div>
|
|
@@ -569,22 +595,22 @@ export function VendorDetailLayoutSkeleton({ className }: PageLayoutSkeletonProp
|
|
|
569
595
|
<div className="flex items-center gap-2">
|
|
570
596
|
{/* User Info */}
|
|
571
597
|
<div className="flex items-center gap-2 rounded-lg border border-ods-border bg-ods-card px-3 py-2">
|
|
572
|
-
<
|
|
573
|
-
<
|
|
598
|
+
<UnifiedSkeleton className="h-8 w-8 rounded-lg" />
|
|
599
|
+
<UnifiedSkeleton className="h-4 w-20 rounded" />
|
|
574
600
|
</div>
|
|
575
601
|
|
|
576
602
|
{/* Timestamp */}
|
|
577
|
-
<
|
|
603
|
+
<UnifiedSkeleton className="h-4 w-12 rounded" />
|
|
578
604
|
</div>
|
|
579
605
|
</div>
|
|
580
606
|
|
|
581
607
|
{/* Comment Content */}
|
|
582
608
|
<div className="space-y-2">
|
|
583
|
-
<
|
|
609
|
+
<UnifiedSkeleton className="h-6 w-2/3 rounded" />
|
|
584
610
|
<div className="space-y-1">
|
|
585
|
-
<
|
|
586
|
-
<
|
|
587
|
-
<
|
|
611
|
+
<UnifiedSkeleton className="h-4 w-full rounded" />
|
|
612
|
+
<UnifiedSkeleton className="h-4 w-4/5 rounded" />
|
|
613
|
+
<UnifiedSkeleton className="h-4 w-3/5 rounded" />
|
|
588
614
|
</div>
|
|
589
615
|
</div>
|
|
590
616
|
</div>
|
|
@@ -597,22 +623,22 @@ export function VendorDetailLayoutSkeleton({ className }: PageLayoutSkeletonProp
|
|
|
597
623
|
<div className="hidden w-[290px] flex-shrink-0 content-lg:block">
|
|
598
624
|
<div className="space-y-4">
|
|
599
625
|
{/* Deploy Button */}
|
|
600
|
-
<
|
|
626
|
+
<UnifiedSkeleton className="h-12 rounded-lg border border-ods-border" />
|
|
601
627
|
|
|
602
628
|
{/* Voting Buttons */}
|
|
603
629
|
<div className="space-y-2">
|
|
604
|
-
<
|
|
605
|
-
<
|
|
630
|
+
<UnifiedSkeleton className="h-12 rounded-lg border border-ods-border" />
|
|
631
|
+
<UnifiedSkeleton className="h-12 rounded-lg border border-ods-border" />
|
|
606
632
|
</div>
|
|
607
633
|
|
|
608
634
|
{/* GitHub Score Section */}
|
|
609
635
|
<div className="overflow-hidden rounded-lg border border-ods-border">
|
|
610
636
|
{/* Header */}
|
|
611
637
|
<div className="flex items-center gap-3 bg-ods-card p-4">
|
|
612
|
-
<
|
|
638
|
+
<UnifiedSkeleton className="h-8 w-8 rounded" />
|
|
613
639
|
<div className="flex flex-col gap-1">
|
|
614
|
-
<
|
|
615
|
-
<
|
|
640
|
+
<UnifiedSkeleton className="h-4 w-20 rounded" />
|
|
641
|
+
<UnifiedSkeleton className="h-6 w-12 rounded" />
|
|
616
642
|
</div>
|
|
617
643
|
</div>
|
|
618
644
|
|
|
@@ -620,10 +646,10 @@ export function VendorDetailLayoutSkeleton({ className }: PageLayoutSkeletonProp
|
|
|
620
646
|
<div className="space-y-3 p-4">
|
|
621
647
|
{Array.from({ length: 4 }).map((_, i) => (
|
|
622
648
|
<div key={i} className="flex items-center gap-3">
|
|
623
|
-
<
|
|
649
|
+
<UnifiedSkeleton className="h-6 w-6 rounded" />
|
|
624
650
|
<div className="flex items-end gap-1">
|
|
625
|
-
<
|
|
626
|
-
<
|
|
651
|
+
<UnifiedSkeleton className="h-4 w-12 rounded" />
|
|
652
|
+
<UnifiedSkeleton className="h-3 w-8 rounded" />
|
|
627
653
|
</div>
|
|
628
654
|
</div>
|
|
629
655
|
))}
|
|
@@ -632,15 +658,15 @@ export function VendorDetailLayoutSkeleton({ className }: PageLayoutSkeletonProp
|
|
|
632
658
|
|
|
633
659
|
{/* Action Buttons */}
|
|
634
660
|
<div className="space-y-3">
|
|
635
|
-
<
|
|
636
|
-
<
|
|
637
|
-
<
|
|
661
|
+
<UnifiedSkeleton className="h-12 rounded-lg border border-ods-border" />
|
|
662
|
+
<UnifiedSkeleton className="h-12 rounded-lg border border-ods-border" />
|
|
663
|
+
<UnifiedSkeleton className="h-12 rounded-lg border border-ods-border" />
|
|
638
664
|
</div>
|
|
639
665
|
</div>
|
|
640
666
|
</div>
|
|
641
667
|
</div>
|
|
642
668
|
</div>
|
|
643
|
-
</
|
|
669
|
+
</LoadingRegion>
|
|
644
670
|
);
|
|
645
671
|
}
|
|
646
672
|
|
|
@@ -677,10 +703,10 @@ export function StatsSectionSkeleton({ className, columns = 3 }: PageLayoutSkele
|
|
|
677
703
|
* Blog Card Grid Skeleton - Always displays exactly 4 blog card skeletons
|
|
678
704
|
* Used for consistent blog page layout with predictable height
|
|
679
705
|
*/
|
|
680
|
-
export function BlogCardGridSkeleton({ className }:
|
|
706
|
+
export function BlogCardGridSkeleton({ className, region = true }: LoadingLayoutProps) {
|
|
681
707
|
return (
|
|
682
708
|
<div className={cn('space-y-6', className)}>
|
|
683
|
-
<CardSkeletonGrid count={4} variant="blog" className="grid-cols-1 content-md:grid-cols-2" />
|
|
709
|
+
<CardSkeletonGrid count={4} variant="blog" region={region} className="grid-cols-1 content-md:grid-cols-2" />
|
|
684
710
|
</div>
|
|
685
711
|
);
|
|
686
712
|
}
|
|
@@ -689,12 +715,13 @@ export function BlogCardGridSkeleton({ className }: PageLayoutSkeletonProps) {
|
|
|
689
715
|
* Vendor Grid Skeleton - Always displays exactly 12 vendor card skeletons
|
|
690
716
|
* Used for consistent vendor page layout with predictable height
|
|
691
717
|
*/
|
|
692
|
-
export function VendorGridSkeleton({ className }:
|
|
718
|
+
export function VendorGridSkeleton({ className, region = true }: LoadingLayoutProps) {
|
|
693
719
|
return (
|
|
694
720
|
<div className={cn('space-y-6', className)}>
|
|
695
721
|
<CardSkeletonGrid
|
|
696
722
|
count={12}
|
|
697
723
|
variant="vendor"
|
|
724
|
+
region={region}
|
|
698
725
|
className="grid-cols-1 content-md:grid-cols-2 content-lg:grid-cols-3"
|
|
699
726
|
/>
|
|
700
727
|
</div>
|
|
@@ -705,42 +732,44 @@ export function VendorGridSkeleton({ className }: PageLayoutSkeletonProps) {
|
|
|
705
732
|
* Slack Community Section Skeleton
|
|
706
733
|
* Matches SlackCommunity component structure with title, channel list, and chat interface
|
|
707
734
|
*/
|
|
708
|
-
export function SlackCommunitySkeleton() {
|
|
735
|
+
export function SlackCommunitySkeleton({ region = true }: { region?: boolean } = {}) {
|
|
709
736
|
return (
|
|
710
|
-
<
|
|
737
|
+
<LoadingRegion
|
|
738
|
+
label="Loading the Slack community"
|
|
739
|
+
as="section"
|
|
740
|
+
announce={region}
|
|
711
741
|
className="w-full bg-ods-bg px-4 py-12 content-md:px-20 content-md:py-20 content-lg:px-20"
|
|
712
|
-
aria-label="Slack Community Loading"
|
|
713
742
|
>
|
|
714
743
|
{/* Frame 651 Container */}
|
|
715
744
|
<div className="flex w-full flex-col gap-4 content-md:gap-6">
|
|
716
745
|
{/* Title Skeleton */}
|
|
717
746
|
<div className="w-full">
|
|
718
|
-
<
|
|
747
|
+
<UnifiedSkeleton className="h-8 max-w-md rounded-lg content-md:h-12 content-lg:h-14" />
|
|
719
748
|
</div>
|
|
720
749
|
|
|
721
750
|
{/* Content Area - Channel List + Chat Interface */}
|
|
722
751
|
<div className="flex w-full min-w-0 flex-col gap-4 content-md:gap-6 content-lg:flex-row content-lg:items-start content-lg:justify-end">
|
|
723
752
|
{/* Channel List Skeleton */}
|
|
724
|
-
<div className="flex w-full flex-shrink-0
|
|
753
|
+
<div className="flex w-full flex-shrink-0 flex-col overflow-hidden rounded border border-ods-border bg-ods-bg content-lg:w-[290px] content-lg:max-w-[290px]">
|
|
725
754
|
<div className="space-y-4 p-4">
|
|
726
755
|
{/* Header */}
|
|
727
756
|
<div className="flex flex-col gap-2">
|
|
728
757
|
<div className="flex items-center justify-between">
|
|
729
|
-
<
|
|
730
|
-
<
|
|
758
|
+
<UnifiedSkeleton className="h-4 w-24 rounded" />
|
|
759
|
+
<UnifiedSkeleton className="h-3 w-16 rounded" />
|
|
731
760
|
</div>
|
|
732
|
-
<
|
|
761
|
+
<UnifiedSkeleton className="h-3 w-32 rounded" />
|
|
733
762
|
</div>
|
|
734
763
|
|
|
735
764
|
{/* Channels */}
|
|
736
765
|
<div className="flex flex-col gap-1">
|
|
737
|
-
<
|
|
766
|
+
<UnifiedSkeleton className="mb-2 h-3 w-16 rounded" />
|
|
738
767
|
{Array.from({ length: 5 }).map((_, i) => (
|
|
739
768
|
<div key={i} className="flex min-h-[48px] items-center gap-2 px-2 py-3">
|
|
740
|
-
<
|
|
769
|
+
<UnifiedSkeleton className="h-4 w-4 rounded" />
|
|
741
770
|
<div className="flex-1">
|
|
742
|
-
<
|
|
743
|
-
<
|
|
771
|
+
<UnifiedSkeleton className="mb-1 h-3 w-24 rounded" />
|
|
772
|
+
<UnifiedSkeleton className="h-2 w-16 rounded" />
|
|
744
773
|
</div>
|
|
745
774
|
</div>
|
|
746
775
|
))}
|
|
@@ -750,12 +779,12 @@ export function SlackCommunitySkeleton() {
|
|
|
750
779
|
<div className="mt-2 border-t border-ods-border pt-3">
|
|
751
780
|
<div className="space-y-2">
|
|
752
781
|
<div className="flex justify-between">
|
|
753
|
-
<
|
|
754
|
-
<
|
|
782
|
+
<UnifiedSkeleton className="h-3 w-16 rounded" />
|
|
783
|
+
<UnifiedSkeleton className="h-3 w-8 rounded" />
|
|
755
784
|
</div>
|
|
756
785
|
<div className="flex justify-between">
|
|
757
|
-
<
|
|
758
|
-
<
|
|
786
|
+
<UnifiedSkeleton className="h-3 w-20 rounded" />
|
|
787
|
+
<UnifiedSkeleton className="h-3 w-8 rounded" />
|
|
759
788
|
</div>
|
|
760
789
|
</div>
|
|
761
790
|
</div>
|
|
@@ -763,27 +792,27 @@ export function SlackCommunitySkeleton() {
|
|
|
763
792
|
</div>
|
|
764
793
|
|
|
765
794
|
{/* Chat Interface Skeleton */}
|
|
766
|
-
<div className="flex h-[450px] min-h-[450px] min-w-0 flex-1
|
|
795
|
+
<div className="flex h-[450px] min-h-[450px] min-w-0 flex-1 flex-col rounded-lg border border-ods-border bg-ods-card content-md:h-[500px] content-md:min-h-[500px] content-lg:h-[600px] content-lg:min-h-[600px]">
|
|
767
796
|
{/* Header */}
|
|
768
797
|
<div className="flex h-[56px] flex-shrink-0 items-center justify-between border-b border-ods-border bg-ods-bg p-4 content-md:h-[60px] content-md:p-6">
|
|
769
798
|
<div className="flex items-center gap-2">
|
|
770
|
-
<
|
|
771
|
-
<
|
|
799
|
+
<UnifiedSkeleton className="h-3 w-3 rounded content-md:h-4 content-md:w-4" />
|
|
800
|
+
<UnifiedSkeleton className="h-3 w-24 rounded content-md:h-4 content-md:w-32" />
|
|
772
801
|
</div>
|
|
773
|
-
<
|
|
802
|
+
<UnifiedSkeleton className="h-3 w-12 rounded content-md:w-16" />
|
|
774
803
|
</div>
|
|
775
804
|
|
|
776
805
|
{/* Messages */}
|
|
777
806
|
<div className="min-h-[280px] flex-1 space-y-3 overflow-hidden bg-ods-bg p-4 content-md:min-h-[320px] content-md:space-y-4 content-md:p-6 content-lg:min-h-[420px]">
|
|
778
807
|
{Array.from({ length: 6 }).map((_, i) => (
|
|
779
808
|
<div key={i} className="flex gap-2 content-md:gap-3">
|
|
780
|
-
<
|
|
809
|
+
<UnifiedSkeleton className="h-10 w-10 flex-shrink-0 rounded-lg content-md:h-12 content-md:w-12" />
|
|
781
810
|
<div className="flex-1">
|
|
782
811
|
<div className="mb-1 flex items-center gap-2">
|
|
783
|
-
<
|
|
784
|
-
<
|
|
812
|
+
<UnifiedSkeleton className="h-3 w-16 rounded content-md:w-20" />
|
|
813
|
+
<UnifiedSkeleton className="h-3 w-12 rounded content-md:w-16" />
|
|
785
814
|
</div>
|
|
786
|
-
<
|
|
815
|
+
<UnifiedSkeleton className="h-3 w-full rounded content-md:h-4" />
|
|
787
816
|
</div>
|
|
788
817
|
</div>
|
|
789
818
|
))}
|
|
@@ -792,12 +821,12 @@ export function SlackCommunitySkeleton() {
|
|
|
792
821
|
{/* Input Area */}
|
|
793
822
|
<div className="h-[72px] flex-shrink-0 border-t border-ods-border bg-ods-card p-4 content-md:h-[80px] content-md:p-6">
|
|
794
823
|
<div className="flex items-end justify-center gap-3 content-md:justify-end">
|
|
795
|
-
<
|
|
824
|
+
<UnifiedSkeleton className="h-10 w-28 rounded-lg content-md:h-12 content-md:w-32" />
|
|
796
825
|
</div>
|
|
797
826
|
</div>
|
|
798
827
|
</div>
|
|
799
828
|
</div>
|
|
800
829
|
</div>
|
|
801
|
-
</
|
|
830
|
+
</LoadingRegion>
|
|
802
831
|
);
|
|
803
832
|
}
|