@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
|
@@ -10,10 +10,10 @@ var _chunkDKOLQPE7cjs = require('./chunk-DKOLQPE7.cjs');
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
var
|
|
13
|
+
var _chunkC6LPOYDMcjs = require('./chunk-C6LPOYDM.cjs');
|
|
14
14
|
require('./chunk-LU7TD6QS.cjs');
|
|
15
|
-
require('./chunk-
|
|
16
|
-
require('./chunk-
|
|
15
|
+
require('./chunk-LVO7FALW.cjs');
|
|
16
|
+
require('./chunk-P6F6PHVK.cjs');
|
|
17
17
|
require('./chunk-ZOZR3QI2.cjs');
|
|
18
18
|
require('./chunk-OMV5S5PI.cjs');
|
|
19
19
|
require('./chunk-KHPX3KU4.cjs');
|
|
@@ -1818,13 +1818,14 @@ require('./chunk-ASMNNSUQ.cjs');
|
|
|
1818
1818
|
require('./chunk-KTPR66EE.cjs');
|
|
1819
1819
|
require('./chunk-DGFDBPO7.cjs');
|
|
1820
1820
|
require('./chunk-HOTM4UM6.cjs');
|
|
1821
|
-
require('./chunk-
|
|
1821
|
+
require('./chunk-MGF3FUKD.cjs');
|
|
1822
1822
|
require('./chunk-Z74QE57T.cjs');
|
|
1823
1823
|
require('./chunk-XZJCBIYR.cjs');
|
|
1824
1824
|
require('./chunk-2QMBXGMQ.cjs');
|
|
1825
1825
|
require('./chunk-V45KLJQP.cjs');
|
|
1826
1826
|
require('./chunk-3LU4UFPS.cjs');
|
|
1827
|
-
require('./chunk-
|
|
1827
|
+
require('./chunk-RB6BSE3O.cjs');
|
|
1828
|
+
require('./chunk-2YXOD2KL.cjs');
|
|
1828
1829
|
require('./chunk-3ATAYP36.cjs');
|
|
1829
1830
|
|
|
1830
1831
|
// src/components/product-demo/screens/tickets-board.tsx
|
|
@@ -1839,7 +1840,7 @@ function buildTicketsBoardFixture(cast) {
|
|
|
1839
1840
|
const dana = assignee(cast.person("dana"));
|
|
1840
1841
|
const alex = assignee(cast.person("alex"));
|
|
1841
1842
|
return [
|
|
1842
|
-
|
|
1843
|
+
_chunkC6LPOYDMcjs.columnFromTicketStatus.call(void 0, "ACTIVE", [
|
|
1843
1844
|
ticket("tk-1051", "Printer offline at the front desk", "ACTIVE", {
|
|
1844
1845
|
ticketNumber: "1051",
|
|
1845
1846
|
agent: "fae",
|
|
@@ -1857,7 +1858,7 @@ function buildTicketsBoardFixture(cast) {
|
|
|
1857
1858
|
tags: ["onboarding"]
|
|
1858
1859
|
})
|
|
1859
1860
|
]),
|
|
1860
|
-
|
|
1861
|
+
_chunkC6LPOYDMcjs.columnFromTicketStatus.call(void 0, "TECH_REQUIRED", [
|
|
1861
1862
|
ticket("tk-1049", "Acrobat Pro for Maya", "TECH_REQUIRED", {
|
|
1862
1863
|
ticketNumber: "1049",
|
|
1863
1864
|
agent: "fae",
|
|
@@ -1881,7 +1882,7 @@ function buildTicketsBoardFixture(cast) {
|
|
|
1881
1882
|
escalatedByUser: true
|
|
1882
1883
|
})
|
|
1883
1884
|
]),
|
|
1884
|
-
|
|
1885
|
+
_chunkC6LPOYDMcjs.columnFromTicketStatus.call(void 0, "ON_HOLD", [
|
|
1885
1886
|
ticket("tk-1046", "Replace the conference room display", "ON_HOLD", {
|
|
1886
1887
|
ticketNumber: "1046",
|
|
1887
1888
|
organizationName: _chunkDKOLQPE7cjs.DEMO_ORGANIZATIONS.acme.name,
|
|
@@ -1890,7 +1891,7 @@ function buildTicketsBoardFixture(cast) {
|
|
|
1890
1891
|
activity: { kind: "waiting-external" }
|
|
1891
1892
|
})
|
|
1892
1893
|
]),
|
|
1893
|
-
|
|
1894
|
+
_chunkC6LPOYDMcjs.columnFromTicketStatus.call(void 0,
|
|
1894
1895
|
"RESOLVED",
|
|
1895
1896
|
[
|
|
1896
1897
|
ticket("tk-1048", "Slow laptop", "RESOLVED", {
|
|
@@ -1926,7 +1927,7 @@ function TicketsBoardScreen({ compact = false }) {
|
|
|
1926
1927
|
const cast = _chunkSTEJZPIOcjs.useProductDemoCast.call(void 0, );
|
|
1927
1928
|
const board = _react.useMemo.call(void 0, () => buildTicketsBoardFixture(cast), [cast]);
|
|
1928
1929
|
const columns = compact ? board.filter((column) => column.id !== "ON_HOLD") : board;
|
|
1929
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-full bg-ods-bg p-[var(--spacing-system-m)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1930
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-full bg-ods-bg p-[var(--spacing-system-m)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6LPOYDMcjs.Board, { columns, onChange: noop, initialCollapsed: compact ? void 0 : FOLDED }) });
|
|
1930
1931
|
}
|
|
1931
1932
|
|
|
1932
1933
|
|
package/package.json
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import { ChevronRight } from 'lucide-react';
|
|
4
4
|
import Link from '../embed-shims/next-link';
|
|
5
5
|
import type { RealCategoryCardProps } from '../types/category';
|
|
6
|
+
import { UnifiedSkeleton } from './loading/unified-skeleton';
|
|
6
7
|
import { VendorIcon } from './vendor-icon';
|
|
7
8
|
|
|
8
9
|
// Component that receives vendor and subcategory data as props
|
|
@@ -26,10 +27,7 @@ export function CategoriesCart({
|
|
|
26
27
|
{isLoading
|
|
27
28
|
? // Skeleton loading for vendor icons
|
|
28
29
|
Array.from({ length: 20 }).map((_, index) => (
|
|
29
|
-
<
|
|
30
|
-
key={index}
|
|
31
|
-
className="h-8 w-8 flex-shrink-0 animate-pulse rounded bg-ods-border md:h-10 md:w-10"
|
|
32
|
-
/>
|
|
30
|
+
<UnifiedSkeleton key={index} className="h-8 w-8 flex-shrink-0 rounded md:h-10 md:w-10" />
|
|
33
31
|
))
|
|
34
32
|
: vendors && vendors.length > 0
|
|
35
33
|
? vendors.map(vendor => (
|
|
@@ -3,8 +3,8 @@ import { cn } from '../../utils/cn';
|
|
|
3
3
|
import { Chevron02LeftIcon } from '../icons-v2-generated';
|
|
4
4
|
import { PlusCircleIcon } from '../icons-v2-generated/signs-and-symbols/plus-circle-icon';
|
|
5
5
|
import { XmarkIcon } from '../icons-v2-generated/signs-and-symbols/xmark-icon';
|
|
6
|
+
import { UnifiedSkeleton } from '../loading/unified-skeleton';
|
|
6
7
|
import { Button } from '../ui/button';
|
|
7
|
-
import { Skeleton } from '../ui/skeleton';
|
|
8
8
|
import { SquareAvatar as Avatar } from '../ui/square-avatar';
|
|
9
9
|
import { TicketStatusTag, resolveStatusTagProps } from '../ui/ticket-status-tag';
|
|
10
10
|
import { MspOrganizationCard } from './msp-organization-card';
|
|
@@ -111,12 +111,12 @@ const ChatHeader = forwardRef<HTMLDivElement, ChatHeaderProps>(
|
|
|
111
111
|
<div className="flex items-center gap-3">
|
|
112
112
|
{/* 64px round avatar placeholder — matches the `w-16 h-16`
|
|
113
113
|
rounded-full avatar / userIcon block below. */}
|
|
114
|
-
<
|
|
114
|
+
<UnifiedSkeleton className="h-16 w-16 shrink-0 rounded-full" />
|
|
115
115
|
<div className="flex flex-col gap-1">
|
|
116
116
|
{/* Name line — sized to the `text-h3` name. */}
|
|
117
|
-
<
|
|
117
|
+
<UnifiedSkeleton className="h-6 w-40" />
|
|
118
118
|
{/* Server line — sized to the `text-h4` secondary row. */}
|
|
119
|
-
<
|
|
119
|
+
<UnifiedSkeleton className="h-4 w-28" />
|
|
120
120
|
</div>
|
|
121
121
|
</div>
|
|
122
122
|
) : (
|
|
@@ -29,6 +29,7 @@ import { SearchIcon } from '../icons-v2-generated/interface/search-icon';
|
|
|
29
29
|
import { Upload02Icon } from '../icons-v2-generated/interface/upload-02-icon';
|
|
30
30
|
import { PlusIcon } from '../icons-v2-generated/signs-and-symbols/plus-icon';
|
|
31
31
|
import { XmarkCircleIcon } from '../icons-v2-generated/signs-and-symbols/xmark-circle-icon';
|
|
32
|
+
import { LoadingRegion } from '../loading/loading-region';
|
|
32
33
|
import {
|
|
33
34
|
CONTEXT_BACK_CLASS,
|
|
34
35
|
CONTEXT_STATE_CLASS,
|
|
@@ -384,9 +385,9 @@ export function ChatContextPicker({
|
|
|
384
385
|
>
|
|
385
386
|
<Suspense
|
|
386
387
|
fallback={
|
|
387
|
-
<
|
|
388
|
+
<LoadingRegion label="Loading items" className="max-h-[340px] overflow-hidden">
|
|
388
389
|
<ContextItemsSkeleton count={ITEMS_SKELETON_ROWS} />
|
|
389
|
-
</
|
|
390
|
+
</LoadingRegion>
|
|
390
391
|
}
|
|
391
392
|
>
|
|
392
393
|
{config.renderItems({
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
import { useState, type ReactNode } from 'react';
|
|
23
23
|
import Image from '../../embed-shims/next-image';
|
|
24
24
|
import { personInitials } from '../../utils/format';
|
|
25
|
+
import { UnifiedSkeleton } from '../loading/unified-skeleton';
|
|
25
26
|
import { useProxiedImageUrl } from './hooks/use-proxied-image-url';
|
|
26
27
|
|
|
27
28
|
export interface ChatMessageRowProps {
|
|
@@ -104,20 +105,18 @@ export function ChatMessageRow({ displayName, avatarUrl, timeLabel, body, footer
|
|
|
104
105
|
* name/time/body line-heights so the loading→loaded swap does not reflow.
|
|
105
106
|
*/
|
|
106
107
|
export function ChatMessageRowSkeleton() {
|
|
107
|
-
// Bars use `bg-ods-border` (NOT `bg-ods-skeleton` — that token resolves to
|
|
108
|
-
// transparent in this build, leaving the box visually empty).
|
|
109
108
|
return (
|
|
110
109
|
<div className="flex w-full min-w-0 gap-2 md:gap-3">
|
|
111
|
-
<
|
|
110
|
+
<UnifiedSkeleton className="h-8 w-8 flex-shrink-0 rounded-lg md:h-10 md:w-10" />
|
|
112
111
|
<div className="min-w-0 flex-1">
|
|
113
112
|
{/* Header row — name + time bars, same mb-1 + gap-2 as the real header. */}
|
|
114
113
|
<div className="mb-1 flex items-center gap-2">
|
|
115
|
-
<
|
|
116
|
-
<
|
|
114
|
+
<UnifiedSkeleton className="h-[15px] w-24 rounded md:h-[20px] md:w-32" />
|
|
115
|
+
<UnifiedSkeleton className="h-[12px] w-12 rounded md:h-[16px] md:w-16" />
|
|
117
116
|
</div>
|
|
118
117
|
{/* Two body lines — match the 12/14px body line-height. */}
|
|
119
|
-
<
|
|
120
|
-
<
|
|
118
|
+
<UnifiedSkeleton className="h-[14px] w-full rounded md:h-[18px]" />
|
|
119
|
+
<UnifiedSkeleton className="mt-1 h-[14px] w-3/4 rounded md:h-[18px]" />
|
|
121
120
|
</div>
|
|
122
121
|
</div>
|
|
123
122
|
);
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
3
|
import { cn } from '../../utils/cn';
|
|
4
|
+
import { LoadingRegion } from '../loading/loading-region';
|
|
5
|
+
import { UnifiedSkeleton } from '../loading/unified-skeleton';
|
|
4
6
|
|
|
5
7
|
interface ChatMessageSkeletonProps {
|
|
6
8
|
className?: string;
|
|
@@ -40,15 +42,15 @@ export function ChatMessageSkeleton({
|
|
|
40
42
|
`bg-ods-border` so the placeholders are actually visible (a tinted
|
|
41
43
|
low-alpha fill reads as blank on the dark surface). */}
|
|
42
44
|
<div className="flex items-center gap-[var(--spacing-system-xs)]">
|
|
43
|
-
{showAvatar && !isUser && <
|
|
44
|
-
<
|
|
45
|
-
<
|
|
45
|
+
{showAvatar && !isUser && <UnifiedSkeleton className="h-8 w-8 flex-shrink-0 rounded-full" />}
|
|
46
|
+
<UnifiedSkeleton className="h-5 w-32 rounded" />
|
|
47
|
+
<UnifiedSkeleton className="ml-auto h-4 w-14 rounded" />
|
|
46
48
|
</div>
|
|
47
49
|
|
|
48
50
|
{/* Body lines — percentage widths so they reflow on panel resize. */}
|
|
49
51
|
<div className="flex flex-col gap-2 pt-[var(--spacing-system-xxs)]">
|
|
50
52
|
{Array.from({ length: lines }, (_, i) => (
|
|
51
|
-
<
|
|
53
|
+
<UnifiedSkeleton key={i} className={cn('h-4 rounded', bodyLineWidth(i, lines))} />
|
|
52
54
|
))}
|
|
53
55
|
</div>
|
|
54
56
|
</div>
|
|
@@ -57,6 +59,8 @@ export function ChatMessageSkeleton({
|
|
|
57
59
|
}
|
|
58
60
|
|
|
59
61
|
interface ChatMessageListSkeletonProps {
|
|
62
|
+
/** The loading state announces itself (`LoadingRegion`). `false` inside another loading region. Default `true`. */
|
|
63
|
+
region?: boolean;
|
|
60
64
|
className?: string;
|
|
61
65
|
messageCount?: number;
|
|
62
66
|
showAvatars?: boolean;
|
|
@@ -85,6 +89,7 @@ interface ChatMessageListSkeletonProps {
|
|
|
85
89
|
}
|
|
86
90
|
|
|
87
91
|
export function ChatMessageListSkeleton({
|
|
92
|
+
region = true,
|
|
88
93
|
className,
|
|
89
94
|
messageCount = 6,
|
|
90
95
|
showAvatars = true,
|
|
@@ -99,7 +104,7 @@ export function ChatMessageListSkeleton({
|
|
|
99
104
|
}));
|
|
100
105
|
|
|
101
106
|
return (
|
|
102
|
-
<
|
|
107
|
+
<LoadingRegion label="Loading messages" announce={region} className="relative flex min-h-0 flex-1 flex-col">
|
|
103
108
|
<div
|
|
104
109
|
className={cn(
|
|
105
110
|
'flex h-full w-full flex-1 flex-col',
|
|
@@ -131,6 +136,6 @@ export function ChatMessageListSkeleton({
|
|
|
131
136
|
))}
|
|
132
137
|
</div>
|
|
133
138
|
</div>
|
|
134
|
-
</
|
|
139
|
+
</LoadingRegion>
|
|
135
140
|
);
|
|
136
141
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { forwardRef } from 'react';
|
|
2
2
|
import { cn } from '../../utils/cn';
|
|
3
3
|
import { ChatPlusIcon } from '../icons-v2-generated';
|
|
4
|
+
import { UnifiedSkeleton } from '../loading/unified-skeleton';
|
|
4
5
|
import { Button } from '../ui/button';
|
|
5
6
|
|
|
6
7
|
interface DialogListItemSkeletonProps {
|
|
@@ -25,14 +26,14 @@ const DialogListItemSkeleton = forwardRef<HTMLDivElement, DialogListItemSkeleton
|
|
|
25
26
|
<div className="flex flex-1 flex-col items-start justify-center gap-1">
|
|
26
27
|
<div className="flex w-full items-center">
|
|
27
28
|
{/* Title skeleton */}
|
|
28
|
-
<
|
|
29
|
+
<UnifiedSkeleton className="h-6 w-full max-w-[200px] rounded" />
|
|
29
30
|
</div>
|
|
30
31
|
{/* Timestamp skeleton */}
|
|
31
|
-
<
|
|
32
|
+
<UnifiedSkeleton className="h-4 w-32 rounded" />
|
|
32
33
|
</div>
|
|
33
34
|
|
|
34
35
|
{/* Right side chevron skeleton */}
|
|
35
|
-
<
|
|
36
|
+
<UnifiedSkeleton className="size-6 shrink-0 rounded" />
|
|
36
37
|
</div>
|
|
37
38
|
);
|
|
38
39
|
},
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import { forwardRef, type HTMLAttributes, type ReactNode } from 'react';
|
|
4
4
|
import { cn } from '../../utils/cn';
|
|
5
5
|
import { Settings01Icon, SidebarIcon } from '../icons-v2-generated';
|
|
6
|
-
import {
|
|
6
|
+
import { UnifiedSkeleton } from '../loading/unified-skeleton';
|
|
7
7
|
import { SquareAvatar } from '../ui/square-avatar';
|
|
8
8
|
|
|
9
9
|
export interface ChatTopNavigationProps extends HTMLAttributes<HTMLElement> {
|
|
@@ -72,10 +72,10 @@ const ChatTopNavigation = forwardRef<HTMLElement, ChatTopNavigationProps>(
|
|
|
72
72
|
<div className="flex min-w-0 flex-1 items-center gap-[var(--spacing-system-m)] px-[var(--spacing-system-m)]">
|
|
73
73
|
{isLoading ? (
|
|
74
74
|
<>
|
|
75
|
-
<
|
|
75
|
+
<UnifiedSkeleton className="size-10 shrink-0 rounded-full" />
|
|
76
76
|
<div className="flex min-w-0 flex-1 flex-col gap-[var(--spacing-system-xxs)]">
|
|
77
|
-
<
|
|
78
|
-
<
|
|
77
|
+
<UnifiedSkeleton className="h-5 w-24" />
|
|
78
|
+
<UnifiedSkeleton className="h-4 w-32" />
|
|
79
79
|
</div>
|
|
80
80
|
</>
|
|
81
81
|
) : (
|
|
@@ -14,7 +14,8 @@
|
|
|
14
14
|
import { Component, type ReactNode, type UIEvent, useCallback } from 'react';
|
|
15
15
|
import { cn } from '../../utils/cn';
|
|
16
16
|
import { CheckFillIcon } from '../icons-v2-generated/signs-and-symbols/check-fill-icon';
|
|
17
|
-
import {
|
|
17
|
+
import { LoadingRegion } from '../loading/loading-region';
|
|
18
|
+
import { UnifiedSkeleton } from '../loading/unified-skeleton';
|
|
18
19
|
import type { ChatContextItem } from './types/context-item.types';
|
|
19
20
|
|
|
20
21
|
const itemKey = (i: { type: string; id: string }) => `${i.type}:${i.id}`;
|
|
@@ -86,7 +87,7 @@ export function ContextItemsSkeleton({ count }: { count: number }) {
|
|
|
86
87
|
key={`ctx-skeleton-${i}`}
|
|
87
88
|
className="flex items-center border-b border-ods-border bg-ods-bg py-3 pl-4 pr-2 last:border-b-0"
|
|
88
89
|
>
|
|
89
|
-
<
|
|
90
|
+
<UnifiedSkeleton className="h-5 w-1/2" />
|
|
90
91
|
</div>
|
|
91
92
|
))}
|
|
92
93
|
</>
|
|
@@ -164,7 +165,12 @@ export function ContextItemsList({
|
|
|
164
165
|
/>
|
|
165
166
|
);
|
|
166
167
|
})}
|
|
167
|
-
{loadingMore &&
|
|
168
|
+
{loadingMore && (
|
|
169
|
+
// `contents`: the rows stay the list's own rows; the region only adds the one announcement.
|
|
170
|
+
<LoadingRegion label="Loading more items" className="contents">
|
|
171
|
+
<ContextItemsSkeleton count={3} />
|
|
172
|
+
</LoadingRegion>
|
|
173
|
+
)}
|
|
168
174
|
</div>
|
|
169
175
|
);
|
|
170
176
|
}
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
import type { ComponentType, ReactNode } from 'react';
|
|
4
4
|
import { cn } from '../../../utils/cn';
|
|
5
|
+
import { LoadingRegion } from '../../loading/loading-region';
|
|
6
|
+
import { UnifiedSkeleton } from '../../loading/unified-skeleton';
|
|
5
7
|
|
|
6
8
|
/** THE admin card grid: columns and gap shared by the live grid and its skeleton. */
|
|
7
9
|
export const ADMIN_CONTENT_CARD_GRID_CLASS =
|
|
@@ -29,26 +31,26 @@ export function AdminContentCardSkeleton({
|
|
|
29
31
|
return (
|
|
30
32
|
<div
|
|
31
33
|
className={cn(
|
|
32
|
-
'flex h-full
|
|
34
|
+
'flex h-full flex-col overflow-hidden rounded-2xl border border-ods-border bg-transparent',
|
|
33
35
|
className,
|
|
34
36
|
)}
|
|
35
37
|
>
|
|
36
|
-
<
|
|
38
|
+
<UnifiedSkeleton className="aspect-[3/2] w-full shrink-0" />
|
|
37
39
|
<div className="flex flex-1 flex-col gap-[var(--spacing-system-sf)] p-5">
|
|
38
|
-
<
|
|
39
|
-
{subtitleRow && <
|
|
40
|
-
<
|
|
40
|
+
<UnifiedSkeleton className="h-[2lh] w-full rounded text-h3" />
|
|
41
|
+
{subtitleRow && <UnifiedSkeleton className="h-[1lh] w-1/2 rounded text-h6" />}
|
|
42
|
+
<UnifiedSkeleton className="h-[2lh] w-full rounded text-h6" />
|
|
41
43
|
<div className="flex h-7 items-center gap-[var(--spacing-system-xsf)]">
|
|
42
|
-
<
|
|
43
|
-
<
|
|
44
|
+
<UnifiedSkeleton className="h-5 w-20 rounded-full" />
|
|
45
|
+
<UnifiedSkeleton className="h-5 w-24 rounded-full" />
|
|
44
46
|
</div>
|
|
45
|
-
<
|
|
47
|
+
<UnifiedSkeleton className="h-[1lh] w-32 rounded text-h6" />
|
|
46
48
|
{actions && (
|
|
47
49
|
<div className="mt-auto flex items-center justify-between border-t border-ods-border pt-[var(--spacing-system-sf)]">
|
|
48
|
-
<
|
|
50
|
+
<UnifiedSkeleton className="h-10 w-24 rounded" />
|
|
49
51
|
<div className="flex gap-[var(--spacing-system-xsf)]">
|
|
50
|
-
<
|
|
51
|
-
<
|
|
52
|
+
<UnifiedSkeleton className="h-10 w-20 rounded" />
|
|
53
|
+
<UnifiedSkeleton className="h-10 w-20 rounded" />
|
|
52
54
|
</div>
|
|
53
55
|
</div>
|
|
54
56
|
)}
|
|
@@ -57,6 +59,44 @@ export function AdminContentCardSkeleton({
|
|
|
57
59
|
);
|
|
58
60
|
}
|
|
59
61
|
|
|
62
|
+
export interface AdminContentCardGridSkeletonProps {
|
|
63
|
+
/** How many placeholder cards: one page. */
|
|
64
|
+
count?: number;
|
|
65
|
+
/** The placeholder card. Default `AdminContentCardSkeleton`. */
|
|
66
|
+
Skeleton?: ComponentType<{ className?: string }>;
|
|
67
|
+
className?: string;
|
|
68
|
+
/** What is loading, read once by a screen reader. Default "Loading". */
|
|
69
|
+
label?: string;
|
|
70
|
+
/** The loading state announces itself (`LoadingRegion`). `false` inside another loading region. Default `true`. */
|
|
71
|
+
region?: boolean;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* The grid's loading state on its own: one page of placeholder cards in the
|
|
76
|
+
* grid's columns. `AdminContentCardGrid` draws exactly this while it loads; a
|
|
77
|
+
* page that has no grid yet (a Suspense fallback) draws it directly.
|
|
78
|
+
*/
|
|
79
|
+
export function AdminContentCardGridSkeleton({
|
|
80
|
+
count = 12,
|
|
81
|
+
Skeleton = AdminContentCardSkeleton,
|
|
82
|
+
className,
|
|
83
|
+
label = 'Loading',
|
|
84
|
+
region = true,
|
|
85
|
+
}: AdminContentCardGridSkeletonProps) {
|
|
86
|
+
return (
|
|
87
|
+
<LoadingRegion
|
|
88
|
+
label={label}
|
|
89
|
+
announce={region}
|
|
90
|
+
className={cn(ADMIN_CONTENT_CARD_GRID_CLASS, className)}
|
|
91
|
+
data-state="loading"
|
|
92
|
+
>
|
|
93
|
+
{Array.from({ length: count }, (_, i) => (
|
|
94
|
+
<Skeleton key={i} />
|
|
95
|
+
))}
|
|
96
|
+
</LoadingRegion>
|
|
97
|
+
);
|
|
98
|
+
}
|
|
99
|
+
|
|
60
100
|
export interface AdminContentCardGridProps<T> {
|
|
61
101
|
items: readonly T[];
|
|
62
102
|
/** One page of cards: the loading skeleton count and the reserved slot count. */
|
|
@@ -73,6 +113,10 @@ export interface AdminContentCardGridProps<T> {
|
|
|
73
113
|
*/
|
|
74
114
|
Skeleton?: ComponentType<{ className?: string }>;
|
|
75
115
|
className?: string;
|
|
116
|
+
/** What is loading, read once by a screen reader while `loading`. Default "Loading". */
|
|
117
|
+
loadingLabel?: string;
|
|
118
|
+
/** The loading state announces itself. `false` inside another loading region. Default `true`. */
|
|
119
|
+
loadingRegion?: boolean;
|
|
76
120
|
}
|
|
77
121
|
|
|
78
122
|
/**
|
|
@@ -97,18 +141,21 @@ export function AdminContentCardGrid<T>({
|
|
|
97
141
|
empty,
|
|
98
142
|
Skeleton = AdminContentCardSkeleton,
|
|
99
143
|
className,
|
|
144
|
+
loadingLabel,
|
|
145
|
+
loadingRegion,
|
|
100
146
|
}: AdminContentCardGridProps<T>) {
|
|
101
147
|
const gridClass = cn(ADMIN_CONTENT_CARD_GRID_CLASS, className);
|
|
102
148
|
|
|
103
|
-
if (loading)
|
|
149
|
+
if (loading)
|
|
104
150
|
return (
|
|
105
|
-
<
|
|
106
|
-
{
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
151
|
+
<AdminContentCardGridSkeleton
|
|
152
|
+
count={pageSize}
|
|
153
|
+
Skeleton={Skeleton}
|
|
154
|
+
className={className}
|
|
155
|
+
label={loadingLabel}
|
|
156
|
+
region={loadingRegion}
|
|
157
|
+
/>
|
|
110
158
|
);
|
|
111
|
-
}
|
|
112
159
|
|
|
113
160
|
const slots = Array.from({ length: Math.max(0, pageSize - items.length) }, (_, i) => (
|
|
114
161
|
<Skeleton key={`slot-${i}`} className="invisible" />
|
|
@@ -6,6 +6,7 @@ import Image from '../../../embed-shims/next-image';
|
|
|
6
6
|
import { useImageEdgeColor } from '../../../hooks/ui/use-image-edge-color';
|
|
7
7
|
import { cn } from '../../../utils/cn';
|
|
8
8
|
import { PlatformBadge } from '../../features/platform-badge';
|
|
9
|
+
import { UnifiedSkeleton } from '../../loading/unified-skeleton';
|
|
9
10
|
import { CONTENT_CARD_FRAME_CLASS } from './content-card-frame';
|
|
10
11
|
|
|
11
12
|
interface PlatformInfo {
|
|
@@ -84,7 +85,7 @@ export function AdminContentCard({
|
|
|
84
85
|
<div className="relative aspect-[3/2] w-full shrink-0 overflow-hidden" style={{ backgroundColor: imageBgColor }}>
|
|
85
86
|
{displayUrl ? (
|
|
86
87
|
<>
|
|
87
|
-
{!imageLoaded && <
|
|
88
|
+
{!imageLoaded && <UnifiedSkeleton className="absolute inset-0 h-full rounded-none" />}
|
|
88
89
|
<Image
|
|
89
90
|
src={displayUrl}
|
|
90
91
|
alt={title}
|
|
@@ -24,6 +24,7 @@ import Link from '../../../embed-shims/next-link';
|
|
|
24
24
|
import type { BlogPostSummary } from '../../../types/blog';
|
|
25
25
|
import { cn } from '../../../utils/cn';
|
|
26
26
|
import { formatDateWithTimezone } from '../../../utils/format';
|
|
27
|
+
import { UnifiedSkeleton } from '../../loading/unified-skeleton';
|
|
27
28
|
import { StatusBadge } from '../../ui/status-badge';
|
|
28
29
|
import {
|
|
29
30
|
COMPACT_CARD_IMAGE_SLOT,
|
|
@@ -76,32 +77,32 @@ export function BlogCardSkeleton({ size = 'default' }: { size?: 'default' | 'sm'
|
|
|
76
77
|
if (size === 'sm') {
|
|
77
78
|
return (
|
|
78
79
|
<span className={COMPACT_CARD_SKELETON_OUTER}>
|
|
79
|
-
<span className={COMPACT_CARD_SKELETON_IMAGE_SLOT} />
|
|
80
|
+
<UnifiedSkeleton as="span" className={COMPACT_CARD_SKELETON_IMAGE_SLOT} />
|
|
80
81
|
<span className={COMPACT_CARD_TEXT_COL}>
|
|
81
82
|
<span className={COMPACT_CARD_TITLE_ROW}>
|
|
82
|
-
<span className="h-3.5 w-3/5 rounded
|
|
83
|
+
<UnifiedSkeleton as="span" className="h-3.5 w-3/5 rounded" />
|
|
83
84
|
</span>
|
|
84
85
|
<span className={COMPACT_CARD_META_ROW_BOX}>
|
|
85
|
-
<span className="h-3 w-2/5 rounded
|
|
86
|
+
<UnifiedSkeleton as="span" className="h-3 w-2/5 rounded" />
|
|
86
87
|
</span>
|
|
87
88
|
<span className={COMPACT_CARD_META_ROW_BOX}>
|
|
88
|
-
<span className="h-3 w-11/12 rounded
|
|
89
|
+
<UnifiedSkeleton as="span" className="h-3 w-11/12 rounded" />
|
|
89
90
|
</span>
|
|
90
91
|
</span>
|
|
91
92
|
</span>
|
|
92
93
|
);
|
|
93
94
|
}
|
|
94
95
|
return (
|
|
95
|
-
<article className={cn(CONTENT_CARD_SKELETON_FRAME_CLASS, 'group flex h-full
|
|
96
|
-
<
|
|
96
|
+
<article className={cn(CONTENT_CARD_SKELETON_FRAME_CLASS, 'group flex h-full flex-col')}>
|
|
97
|
+
<UnifiedSkeleton className="aspect-[1200/630]" />
|
|
97
98
|
<div className="flex flex-grow flex-col space-y-3 p-4">
|
|
98
|
-
<
|
|
99
|
-
<
|
|
100
|
-
<
|
|
101
|
-
<
|
|
99
|
+
<UnifiedSkeleton className="h-5 w-3/4 rounded" />
|
|
100
|
+
<UnifiedSkeleton className="h-5 w-1/2 rounded" />
|
|
101
|
+
<UnifiedSkeleton className="h-3 w-full rounded" />
|
|
102
|
+
<UnifiedSkeleton className="h-3 w-4/5 rounded" />
|
|
102
103
|
<div className="mt-auto flex items-center gap-2">
|
|
103
|
-
<
|
|
104
|
-
<
|
|
104
|
+
<UnifiedSkeleton className="h-8 w-8 rounded-full" />
|
|
105
|
+
<UnifiedSkeleton className="h-3 w-24 rounded" />
|
|
105
106
|
</div>
|
|
106
107
|
</div>
|
|
107
108
|
</article>
|
|
@@ -13,6 +13,7 @@ import { Megaphone } from 'lucide-react';
|
|
|
13
13
|
import type React from 'react';
|
|
14
14
|
import Link from '../../../embed-shims/next-link';
|
|
15
15
|
import { formatDateShort } from '../../../utils/date-formatters';
|
|
16
|
+
import { UnifiedSkeleton } from '../../loading/unified-skeleton';
|
|
16
17
|
import {
|
|
17
18
|
COMPACT_CARD_ICON_SLOT,
|
|
18
19
|
COMPACT_CARD_META_ROW_BOX,
|
|
@@ -96,16 +97,16 @@ export function CampaignCardAdmin({ campaign, className, anchorProps }: Campaign
|
|
|
96
97
|
export function CampaignCardAdminSkeleton({ className }: { className?: string }) {
|
|
97
98
|
return (
|
|
98
99
|
<span className={`${COMPACT_CARD_SKELETON_OUTER} ${className ?? ''}`}>
|
|
99
|
-
<span className={COMPACT_CARD_SKELETON_IMAGE_SLOT} />
|
|
100
|
+
<UnifiedSkeleton as="span" className={COMPACT_CARD_SKELETON_IMAGE_SLOT} />
|
|
100
101
|
<span className={COMPACT_CARD_TEXT_COL}>
|
|
101
102
|
<span className={COMPACT_CARD_TITLE_ROW}>
|
|
102
|
-
<span className="h-3.5 w-3/5 rounded
|
|
103
|
+
<UnifiedSkeleton as="span" className="h-3.5 w-3/5 rounded" />
|
|
103
104
|
</span>
|
|
104
105
|
<span className={COMPACT_CARD_META_ROW_BOX}>
|
|
105
|
-
<span className="h-3 w-1/2 rounded
|
|
106
|
+
<UnifiedSkeleton as="span" className="h-3 w-1/2 rounded" />
|
|
106
107
|
</span>
|
|
107
108
|
<span className={COMPACT_CARD_META_ROW_BOX}>
|
|
108
|
-
<span className="h-3 w-11/12 rounded
|
|
109
|
+
<UnifiedSkeleton as="span" className="h-3 w-11/12 rounded" />
|
|
109
110
|
</span>
|
|
110
111
|
</span>
|
|
111
112
|
</span>
|