@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
|
@@ -38,6 +38,7 @@ import { isImageMedia } from '../../../utils/media-type';
|
|
|
38
38
|
import { programMetaFormatters, programMetaLine } from '../../../utils/program-instant';
|
|
39
39
|
import { PROGRAM_META_RENDERERS } from '../../../utils/program-meta-renderers';
|
|
40
40
|
import { CardHoverPlay } from '../../features/video-center-badge';
|
|
41
|
+
import { UnifiedSkeleton } from '../../loading/unified-skeleton';
|
|
41
42
|
import { Button } from '../../ui/button/button';
|
|
42
43
|
import { ImageGalleryModal } from '../../ui/image-gallery-modal';
|
|
43
44
|
import { SquareAvatar } from '../../ui/square-avatar';
|
|
@@ -119,32 +120,32 @@ export function ProgramCardSkeleton({
|
|
|
119
120
|
// that row's line height.
|
|
120
121
|
if (size === 'row') {
|
|
121
122
|
return (
|
|
122
|
-
<span className={cn(EDITORIAL_FRAME, EDITORIAL_ROW_GRID
|
|
123
|
-
<span className={
|
|
123
|
+
<span className={cn(EDITORIAL_FRAME, EDITORIAL_ROW_GRID)}>
|
|
124
|
+
<UnifiedSkeleton as="span" className={EDITORIAL_ROW_THUMB} />
|
|
124
125
|
<span className={EDITORIAL_ROW_TEXT}>
|
|
125
|
-
<span className="block h-[2lh] w-full rounded
|
|
126
|
+
<UnifiedSkeleton as="span" className="block h-[2lh] w-full rounded text-h3" />
|
|
126
127
|
<span className={EDITORIAL_META_ROW}>
|
|
127
|
-
<span className="block h-[1lh] w-40 rounded
|
|
128
|
+
<UnifiedSkeleton as="span" className="block h-[1lh] w-40 rounded" />
|
|
128
129
|
</span>
|
|
129
|
-
<span className="block h-[2lh] w-full rounded
|
|
130
|
+
<UnifiedSkeleton as="span" className="block h-[2lh] w-full rounded text-h6" />
|
|
130
131
|
</span>
|
|
131
132
|
</span>
|
|
132
133
|
);
|
|
133
134
|
}
|
|
134
135
|
if (size === 'feature') {
|
|
135
136
|
return (
|
|
136
|
-
<span className={cn(EDITORIAL_FRAME, 'flex
|
|
137
|
-
<span className={cn(EDITORIAL_FEATURE_COVER, '
|
|
137
|
+
<span className={cn(EDITORIAL_FRAME, 'flex flex-col')}>
|
|
138
|
+
<UnifiedSkeleton as="span" className={cn(EDITORIAL_FEATURE_COVER, 'rounded-none')} />
|
|
138
139
|
<span className={EDITORIAL_FEATURE_BODY}>
|
|
139
|
-
{eyebrow && <span className="block h-[1lh] w-28 rounded
|
|
140
|
-
<span className="block h-[2lh] w-full rounded
|
|
140
|
+
{eyebrow && <UnifiedSkeleton as="span" className="block h-[1lh] w-28 rounded text-h5" />}
|
|
141
|
+
<UnifiedSkeleton as="span" className="block h-[2lh] w-full rounded text-h3" />
|
|
141
142
|
<span className={EDITORIAL_META_ROW}>
|
|
142
|
-
<span className="block h-[1lh] w-40 rounded
|
|
143
|
+
<UnifiedSkeleton as="span" className="block h-[1lh] w-40 rounded" />
|
|
143
144
|
</span>
|
|
144
|
-
<span className="block h-[3lh] w-full rounded
|
|
145
|
+
<UnifiedSkeleton as="span" className="block h-[3lh] w-full rounded text-h4" />
|
|
145
146
|
<span className={EDITORIAL_PERSON_ROW}>
|
|
146
|
-
<span className="block h-8 w-8 shrink-0 rounded-full
|
|
147
|
-
<span className="block h-[1lh] w-40 rounded
|
|
147
|
+
<UnifiedSkeleton as="span" className="block h-8 w-8 shrink-0 rounded-full" />
|
|
148
|
+
<UnifiedSkeleton as="span" className="block h-[1lh] w-40 rounded text-h6" />
|
|
148
149
|
</span>
|
|
149
150
|
</span>
|
|
150
151
|
</span>
|
|
@@ -153,43 +154,43 @@ export function ProgramCardSkeleton({
|
|
|
153
154
|
if (size === 'sm') {
|
|
154
155
|
return (
|
|
155
156
|
<span className={COMPACT_CARD_SKELETON_OUTER}>
|
|
156
|
-
<span className={COMPACT_CARD_SKELETON_IMAGE_SLOT} />
|
|
157
|
+
<UnifiedSkeleton as="span" className={COMPACT_CARD_SKELETON_IMAGE_SLOT} />
|
|
157
158
|
<span className={COMPACT_CARD_TEXT_COL}>
|
|
158
159
|
<span className={COMPACT_CARD_TITLE_ROW}>
|
|
159
|
-
<span className="h-3.5 w-3/5 rounded
|
|
160
|
+
<UnifiedSkeleton as="span" className="h-3.5 w-3/5 rounded" />
|
|
160
161
|
</span>
|
|
161
162
|
<span className={COMPACT_CARD_META_ROW_BOX}>
|
|
162
|
-
<span className="h-3 w-2/5 rounded
|
|
163
|
+
<UnifiedSkeleton as="span" className="h-3 w-2/5 rounded" />
|
|
163
164
|
</span>
|
|
164
165
|
<span className={COMPACT_CARD_META_ROW_BOX}>
|
|
165
|
-
<span className="h-3 w-11/12 rounded
|
|
166
|
+
<UnifiedSkeleton as="span" className="h-3 w-11/12 rounded" />
|
|
166
167
|
</span>
|
|
167
168
|
</span>
|
|
168
169
|
<span className="flex h-5 shrink-0 items-center self-start">
|
|
169
|
-
<span className="h-3.5 w-3.5 rounded
|
|
170
|
+
<UnifiedSkeleton as="span" className="h-3.5 w-3.5 rounded" />
|
|
170
171
|
</span>
|
|
171
172
|
</span>
|
|
172
173
|
);
|
|
173
174
|
}
|
|
174
175
|
return (
|
|
175
|
-
<div className={cn(CONTENT_CARD_SKELETON_FRAME_CLASS, DEFAULT_BODY
|
|
176
|
+
<div className={cn(CONTENT_CARD_SKELETON_FRAME_CLASS, DEFAULT_BODY)}>
|
|
176
177
|
<div className={DEFAULT_HEADER}>
|
|
177
|
-
<
|
|
178
|
+
<UnifiedSkeleton className={DEFAULT_COVER_FRAME} />
|
|
178
179
|
<div className={DEFAULT_TEXT}>
|
|
179
180
|
<div className={DEFAULT_TITLE}>
|
|
180
|
-
<span className="block h-[2lh] w-3/4 rounded
|
|
181
|
+
<UnifiedSkeleton as="span" className="block h-[2lh] w-3/4 rounded" />
|
|
181
182
|
</div>
|
|
182
183
|
<div className={DEFAULT_META_ROW}>
|
|
183
|
-
<span className="block h-[1lh] w-32 rounded
|
|
184
|
-
<span className="block h-[1lh] w-40 rounded
|
|
184
|
+
<UnifiedSkeleton as="span" className="block h-[1lh] w-32 rounded" />
|
|
185
|
+
<UnifiedSkeleton as="span" className="block h-[1lh] w-40 rounded" />
|
|
185
186
|
</div>
|
|
186
187
|
<div className={DEFAULT_DESCRIPTION}>
|
|
187
|
-
<span className="block h-[3lh] w-full rounded
|
|
188
|
+
<UnifiedSkeleton as="span" className="block h-[3lh] w-full rounded" />
|
|
188
189
|
</div>
|
|
189
190
|
{tags && (
|
|
190
191
|
<div className={DEFAULT_TAG_ROW}>
|
|
191
|
-
<span className="block h-8 w-24 rounded
|
|
192
|
-
<span className="block h-8 w-24 rounded
|
|
192
|
+
<UnifiedSkeleton as="span" className="block h-8 w-24 rounded" />
|
|
193
|
+
<UnifiedSkeleton as="span" className="block h-8 w-24 rounded" />
|
|
193
194
|
</div>
|
|
194
195
|
)}
|
|
195
196
|
</div>
|
|
@@ -197,13 +198,13 @@ export function ProgramCardSkeleton({
|
|
|
197
198
|
{media > 0 && (
|
|
198
199
|
<div className={DEFAULT_GALLERY_ROW}>
|
|
199
200
|
{Array.from({ length: media }, (_, i) => (
|
|
200
|
-
<
|
|
201
|
+
<UnifiedSkeleton key={i} className={DEFAULT_GALLERY_THUMB} />
|
|
201
202
|
))}
|
|
202
203
|
</div>
|
|
203
204
|
)}
|
|
204
205
|
<div className={DEFAULT_FOOTER}>
|
|
205
206
|
{/* The action button's own height (44px, 48px from md). */}
|
|
206
|
-
<
|
|
207
|
+
<UnifiedSkeleton className="h-11 w-40 rounded md:h-12" />
|
|
207
208
|
</div>
|
|
208
209
|
</div>
|
|
209
210
|
);
|
|
@@ -18,6 +18,7 @@ import { cn } from '../../../utils/cn';
|
|
|
18
18
|
import { getProxiedImageUrl } from '../../../utils/image-proxy';
|
|
19
19
|
import { ImageClassicIcon } from '../../icons-v2-generated/audio-and-visual/image-classic-icon';
|
|
20
20
|
import { FigmaClassicIcon } from '../../icons-v2-generated/brand-logos/figma-classic-icon';
|
|
21
|
+
import { UnifiedSkeleton } from '../../loading/unified-skeleton';
|
|
21
22
|
import { AvatarStack, type AvatarStackPerson } from '../../ui/avatar-stack';
|
|
22
23
|
import { Button } from '../../ui/button/button';
|
|
23
24
|
import { ImageGalleryModal } from '../../ui/image-gallery-modal';
|
|
@@ -48,54 +49,52 @@ export function RoadmapCardSkeleton({ size = 'default' }: { size?: CardSize }) {
|
|
|
48
49
|
if (size === 'sm') {
|
|
49
50
|
return (
|
|
50
51
|
<span className={COMPACT_CARD_SKELETON_OUTER}>
|
|
51
|
-
<
|
|
52
|
+
<UnifiedSkeleton
|
|
53
|
+
as="span"
|
|
54
|
+
className="block aspect-square h-12 w-12 shrink-0 self-start rounded-md border border-ods-border p-1.5"
|
|
55
|
+
/>
|
|
52
56
|
<span className={COMPACT_CARD_TEXT_COL}>
|
|
53
57
|
<span className={`${COMPACT_CARD_TITLE_ROW} flex-nowrap gap-2`}>
|
|
54
|
-
<span className="h-3.5 w-1/2 rounded
|
|
55
|
-
<span className="h-4 w-12 shrink-0 rounded
|
|
58
|
+
<UnifiedSkeleton as="span" className="h-3.5 w-1/2 rounded" />
|
|
59
|
+
<UnifiedSkeleton as="span" className="h-4 w-12 shrink-0 rounded" />
|
|
56
60
|
</span>
|
|
57
61
|
<span className={`${COMPACT_CARD_META_ROW_BOX} flex-nowrap gap-2`}>
|
|
58
|
-
<span className="h-3 w-2/5 flex-1 rounded
|
|
59
|
-
<span className="h-3 w-10 shrink-0 rounded
|
|
62
|
+
<UnifiedSkeleton as="span" className="h-3 w-2/5 flex-1 rounded" />
|
|
63
|
+
<UnifiedSkeleton as="span" className="h-3 w-10 shrink-0 rounded" />
|
|
60
64
|
{/* assignee-stack placeholder — mirrors the xs AvatarStack
|
|
61
65
|
slot so row width doesn't shift when assignees load */}
|
|
62
|
-
<span className="h-6 w-14 shrink-0 rounded-full
|
|
66
|
+
<UnifiedSkeleton as="span" className="h-6 w-14 shrink-0 rounded-full" />
|
|
63
67
|
</span>
|
|
64
68
|
<span className={COMPACT_CARD_META_ROW_BOX}>
|
|
65
|
-
<span className="h-3 w-5/6 rounded
|
|
69
|
+
<UnifiedSkeleton as="span" className="h-3 w-5/6 rounded" />
|
|
66
70
|
</span>
|
|
67
71
|
</span>
|
|
68
72
|
</span>
|
|
69
73
|
);
|
|
70
74
|
}
|
|
71
75
|
return (
|
|
72
|
-
<div
|
|
73
|
-
className={cn(
|
|
74
|
-
CONTENT_CARD_SKELETON_FRAME_CLASS,
|
|
75
|
-
'flex h-full animate-pulse flex-col gap-4 p-[var(--spacing-system-lf)]',
|
|
76
|
-
)}
|
|
77
|
-
>
|
|
76
|
+
<div className={cn(CONTENT_CARD_SKELETON_FRAME_CLASS, 'flex h-full flex-col gap-4 p-[var(--spacing-system-lf)]')}>
|
|
78
77
|
<div className="flex items-center gap-4">
|
|
79
|
-
<
|
|
78
|
+
<UnifiedSkeleton className="h-16 w-16 flex-shrink-0 rounded-lg" />
|
|
80
79
|
<div className="flex-1 space-y-2">
|
|
81
|
-
<
|
|
82
|
-
<
|
|
80
|
+
<UnifiedSkeleton className="h-5 w-3/4 rounded" />
|
|
81
|
+
<UnifiedSkeleton className="h-3 w-1/2 rounded" />
|
|
83
82
|
</div>
|
|
84
|
-
<
|
|
83
|
+
<UnifiedSkeleton className="h-6 w-16 rounded" />
|
|
85
84
|
</div>
|
|
86
85
|
<div className="space-y-2">
|
|
87
|
-
<
|
|
88
|
-
<
|
|
89
|
-
<
|
|
86
|
+
<UnifiedSkeleton className="h-3 w-full rounded" />
|
|
87
|
+
<UnifiedSkeleton className="h-3 w-5/6 rounded" />
|
|
88
|
+
<UnifiedSkeleton className="h-3 w-4/5 rounded" />
|
|
90
89
|
</div>
|
|
91
90
|
<div className="flex-1" />
|
|
92
91
|
<div className="flex items-center justify-between">
|
|
93
|
-
<
|
|
92
|
+
<UnifiedSkeleton className="h-12 w-32 rounded" />
|
|
94
93
|
<div className="flex items-center gap-2">
|
|
95
94
|
{/* assignee-stack placeholder — matches the xs AvatarStack in
|
|
96
95
|
the loaded card's action row */}
|
|
97
|
-
<
|
|
98
|
-
<
|
|
96
|
+
<UnifiedSkeleton className="h-6 w-14 rounded-full" />
|
|
97
|
+
<UnifiedSkeleton className="h-8 w-20 rounded" />
|
|
99
98
|
</div>
|
|
100
99
|
</div>
|
|
101
100
|
</div>
|
|
@@ -14,6 +14,7 @@ import React from 'react';
|
|
|
14
14
|
import Link from '../../../embed-shims/next-link';
|
|
15
15
|
import { formatDateUTC as formatDate } from '../../../utils/format';
|
|
16
16
|
import { SlackIcon } from '../../icons-v2-generated/brand-logos/slack-icon';
|
|
17
|
+
import { UnifiedSkeleton } from '../../loading/unified-skeleton';
|
|
17
18
|
import type { SlackMessageItem } from '../types/entities/slack-message';
|
|
18
19
|
import {
|
|
19
20
|
COMPACT_CARD_ICON_SLOT,
|
|
@@ -160,31 +161,31 @@ export function SlackMessageCardSkeleton({
|
|
|
160
161
|
}) {
|
|
161
162
|
if (variant === 'row') {
|
|
162
163
|
return (
|
|
163
|
-
<div className={`flex min-w-0
|
|
164
|
-
<
|
|
165
|
-
<
|
|
166
|
-
<
|
|
167
|
-
<
|
|
168
|
-
<
|
|
164
|
+
<div className={`flex min-w-0 items-center gap-3 ${className ?? ''}`}>
|
|
165
|
+
<UnifiedSkeleton className="h-3.5 w-3.5 shrink-0 rounded" />
|
|
166
|
+
<UnifiedSkeleton className="h-3 w-32 shrink-0 rounded" />
|
|
167
|
+
<UnifiedSkeleton className="h-3 w-2/3 flex-1 rounded" />
|
|
168
|
+
<UnifiedSkeleton className="h-3 w-24 shrink-0 rounded" />
|
|
169
|
+
<UnifiedSkeleton className="h-3 w-20 shrink-0 rounded" />
|
|
169
170
|
</div>
|
|
170
171
|
);
|
|
171
172
|
}
|
|
172
173
|
return (
|
|
173
174
|
<span className={`${COMPACT_CARD_SKELETON_OUTER} ${className ?? ''}`}>
|
|
174
|
-
<span className={COMPACT_CARD_SKELETON_IMAGE_SLOT} />
|
|
175
|
+
<UnifiedSkeleton as="span" className={COMPACT_CARD_SKELETON_IMAGE_SLOT} />
|
|
175
176
|
<span className={COMPACT_CARD_TEXT_COL}>
|
|
176
177
|
<span className={COMPACT_CARD_TITLE_ROW}>
|
|
177
|
-
<span className="h-3.5 w-2/3 rounded
|
|
178
|
+
<UnifiedSkeleton as="span" className="h-3.5 w-2/3 rounded" />
|
|
178
179
|
</span>
|
|
179
180
|
<span className={COMPACT_CARD_META_ROW_BOX}>
|
|
180
|
-
<span className="h-3 w-5/6 rounded
|
|
181
|
+
<UnifiedSkeleton as="span" className="h-3 w-5/6 rounded" />
|
|
181
182
|
</span>
|
|
182
183
|
<span className={COMPACT_CARD_META_ROW_BOX}>
|
|
183
|
-
<span className="h-3 w-1/3 rounded
|
|
184
|
+
<UnifiedSkeleton as="span" className="h-3 w-1/3 rounded" />
|
|
184
185
|
</span>
|
|
185
186
|
</span>
|
|
186
187
|
<span className="flex h-5 shrink-0 items-center self-start">
|
|
187
|
-
<span className="h-3.5 w-3.5 rounded
|
|
188
|
+
<UnifiedSkeleton as="span" className="h-3.5 w-3.5 rounded" />
|
|
188
189
|
</span>
|
|
189
190
|
</span>
|
|
190
191
|
);
|
|
@@ -4,8 +4,8 @@ import { type ReactNode, useMemo } from 'react';
|
|
|
4
4
|
import { cn } from '../../utils/cn';
|
|
5
5
|
import { AgentMark } from '../agent-mark';
|
|
6
6
|
import { EntityIcon } from '../icon-display';
|
|
7
|
+
import { UnifiedSkeleton } from '../loading/unified-skeleton';
|
|
7
8
|
import { ScrollFadeOverlay, useScrollFade } from '../ui/scroll-fade';
|
|
8
|
-
import { Skeleton } from '../ui/skeleton';
|
|
9
9
|
import { accentFromIdentityIcon, type QuickActionAccent } from './quick-action-chip';
|
|
10
10
|
import { QuickActionWall } from './quick-action-wall';
|
|
11
11
|
|
|
@@ -175,7 +175,7 @@ export function GuideWelcome({
|
|
|
175
175
|
<p className="text-ods-text-secondary text-h4">{subtitle}</p>
|
|
176
176
|
) : subtitleLoading ? (
|
|
177
177
|
<div className="flex w-full justify-center">
|
|
178
|
-
<
|
|
178
|
+
<UnifiedSkeleton className="h-5 w-3/4 max-w-80 rounded-sm" />
|
|
179
179
|
</div>
|
|
180
180
|
) : null}
|
|
181
181
|
</div>
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import { useEffect, useRef } from 'react';
|
|
4
4
|
import { formatRelativeTime } from '../../utils/date-utils';
|
|
5
5
|
import { BoxArchiveIcon } from '../icons-v2-generated';
|
|
6
|
+
import { UnifiedSkeleton } from '../loading/unified-skeleton';
|
|
6
7
|
import { SquareAvatar } from '../ui/square-avatar';
|
|
7
8
|
import { ChatListEmptyState } from './chat-list-empty-state';
|
|
8
9
|
import { ChatListItem } from './chat-nav-sidebar';
|
|
@@ -93,7 +94,7 @@ export function MingoArchiveList({
|
|
|
93
94
|
</>
|
|
94
95
|
) : isLoading ? (
|
|
95
96
|
Array.from({ length: 6 }, (_, i) => (
|
|
96
|
-
<
|
|
97
|
+
<UnifiedSkeleton key={i} aria-hidden className="h-10 shrink-0 rounded-md" />
|
|
97
98
|
))
|
|
98
99
|
) : (
|
|
99
100
|
<ChatListEmptyState
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
import { useState, useMemo, useRef, useEffect } from 'react';
|
|
4
4
|
import { cn } from '../../utils/cn';
|
|
5
5
|
import { Ellipsis01Icon, SearchXmarkIcon } from '../icons-v2-generated';
|
|
6
|
+
import { LoadingRegion } from '../loading/loading-region';
|
|
7
|
+
import { UnifiedSkeleton } from '../loading/unified-skeleton';
|
|
6
8
|
import { ActionsMenuDropdown } from '../ui/actions-menu';
|
|
7
9
|
import { Button } from '../ui/button';
|
|
8
10
|
import { ScrollFadeOverlay, useScrollFade } from '../ui/scroll-fade';
|
|
@@ -250,22 +252,29 @@ function MingoChatHistoryRow({
|
|
|
250
252
|
* above. Shown while the FIRST page of dialogs is in flight so the Mingo empty
|
|
251
253
|
* state doesn't flash the new-user greeting+grid before the list arrives (the
|
|
252
254
|
* two layouts are mutually exclusive — swapping between them mid-load reads as
|
|
253
|
-
* a flicker).
|
|
255
|
+
* a flicker). Built from `UnifiedSkeleton`.
|
|
254
256
|
*/
|
|
255
|
-
export function MingoChatHistorySkeleton({
|
|
257
|
+
export function MingoChatHistorySkeleton({
|
|
258
|
+
region = true,
|
|
259
|
+
className,
|
|
260
|
+
}: {
|
|
261
|
+
/** The loading state announces itself (`LoadingRegion`). `false` inside another loading region. Default `true`. */
|
|
262
|
+
region?: boolean;
|
|
263
|
+
className?: string;
|
|
264
|
+
}) {
|
|
256
265
|
// Mirror the real grouped list exactly: a small group label, then a bordered
|
|
257
266
|
// rounded container of `h-12` rows, each with a single title bar of varying
|
|
258
267
|
// width (no unread-badge squares — the real rows currently never show one, so
|
|
259
|
-
// a badge placeholder would mis-promise the layout). `bg-ods-
|
|
260
|
-
// the kit's canonical `Skeleton` placeholder colour; `bg-ods-bg` rows read a
|
|
268
|
+
// a badge placeholder would mis-promise the layout). `bg-ods-bg` rows read a
|
|
261
269
|
// touch darker than the `bg-ods-card` panel so the bars stay legible.
|
|
262
270
|
const groups: ReadonlyArray<ReadonlyArray<string>> = [
|
|
263
271
|
['w-3/5', 'w-4/5', 'w-2/5', 'w-3/4'],
|
|
264
272
|
['w-1/2', 'w-2/3'],
|
|
265
273
|
];
|
|
266
274
|
return (
|
|
267
|
-
<
|
|
268
|
-
|
|
275
|
+
<LoadingRegion
|
|
276
|
+
label="Loading conversations"
|
|
277
|
+
announce={region}
|
|
269
278
|
// `overflow-hidden` clips the placeholder rows to the flex-1 box (the real
|
|
270
279
|
// list scrolls; the skeleton just needs to stay within bounds).
|
|
271
280
|
className={cn('flex min-h-0 flex-1 flex-col gap-[var(--spacing-system-m)] overflow-hidden', className)}
|
|
@@ -273,20 +282,20 @@ export function MingoChatHistorySkeleton({ className }: { className?: string })
|
|
|
273
282
|
{groups.map((widths, g) => (
|
|
274
283
|
<div key={g} className="flex shrink-0 flex-col gap-[var(--spacing-system-xxs)]">
|
|
275
284
|
{/* Group label (Today / Older). */}
|
|
276
|
-
<
|
|
285
|
+
<UnifiedSkeleton className="h-3 w-16 rounded" />
|
|
277
286
|
<div className="overflow-hidden rounded-md border border-ods-border">
|
|
278
287
|
{widths.map((w, i) => (
|
|
279
288
|
<div
|
|
280
289
|
key={i}
|
|
281
290
|
className="flex h-12 items-center border-b border-ods-border bg-ods-bg px-[var(--spacing-system-s)] last:border-b-0"
|
|
282
291
|
>
|
|
283
|
-
<
|
|
292
|
+
<UnifiedSkeleton className={cn('h-4 rounded', w)} />
|
|
284
293
|
</div>
|
|
285
294
|
))}
|
|
286
295
|
</div>
|
|
287
296
|
</div>
|
|
288
297
|
))}
|
|
289
|
-
</
|
|
298
|
+
</LoadingRegion>
|
|
290
299
|
);
|
|
291
300
|
}
|
|
292
301
|
|
|
@@ -19,6 +19,7 @@ import {
|
|
|
19
19
|
UserIcon,
|
|
20
20
|
UsersIcon,
|
|
21
21
|
} from '../icons-v2-generated';
|
|
22
|
+
import { UnifiedSkeleton } from '../loading/unified-skeleton';
|
|
22
23
|
import { ActionsMenuDropdown, type ActionsMenuItem } from '../ui/actions-menu';
|
|
23
24
|
import { Button } from '../ui/button';
|
|
24
25
|
import { chatDialogMenuItems } from './chat-dialog-menu-items';
|
|
@@ -209,7 +210,7 @@ export function MingoChatRail({
|
|
|
209
210
|
);
|
|
210
211
|
} else if (isLoadingHistory) {
|
|
211
212
|
list = Array.from({ length: 6 }, (_, i) => (
|
|
212
|
-
<
|
|
213
|
+
<UnifiedSkeleton key={i} aria-hidden className="h-10 shrink-0 rounded-md" />
|
|
213
214
|
));
|
|
214
215
|
} else if (dialogs.length === 0 && !draftTitle) {
|
|
215
216
|
list = hasSearch ? (
|
|
@@ -6,6 +6,7 @@ import Link from '../../embed-shims/next-link';
|
|
|
6
6
|
import { cn } from '../../utils/cn';
|
|
7
7
|
import { personInitials } from '../../utils/format';
|
|
8
8
|
import { Ellipsis01Icon } from '../icons-v2-generated';
|
|
9
|
+
import { UnifiedSkeleton } from '../loading/unified-skeleton';
|
|
9
10
|
import { ActionsMenuDropdown, type ActionsMenuGroup } from '../ui/actions-menu';
|
|
10
11
|
import { tagVariants, type TagProps } from '../ui/tag';
|
|
11
12
|
|
|
@@ -158,16 +159,16 @@ export function MingoInfoCardSkeleton({ className }: { className?: string }) {
|
|
|
158
159
|
return (
|
|
159
160
|
<span
|
|
160
161
|
className={cn(
|
|
161
|
-
'flex w-full
|
|
162
|
+
'flex w-full items-center gap-[var(--spacing-system-s)] overflow-hidden rounded-md border border-ods-border bg-ods-card p-[var(--spacing-system-s)]',
|
|
162
163
|
className,
|
|
163
164
|
)}
|
|
164
165
|
>
|
|
165
|
-
<span className="block size-10 shrink-0 rounded-md border border-ods-border
|
|
166
|
+
<UnifiedSkeleton as="span" className="block size-10 shrink-0 rounded-md border border-ods-border" />
|
|
166
167
|
<span className="flex min-w-0 flex-1 flex-col justify-center gap-1.5">
|
|
167
|
-
<span className="block h-4 w-1/2 rounded
|
|
168
|
-
<span className="block h-3 w-3/4 rounded
|
|
168
|
+
<UnifiedSkeleton as="span" className="block h-4 w-1/2 rounded" />
|
|
169
|
+
<UnifiedSkeleton as="span" className="block h-3 w-3/4 rounded" />
|
|
169
170
|
</span>
|
|
170
|
-
<span className="block h-5 w-16 shrink-0 rounded
|
|
171
|
+
<UnifiedSkeleton as="span" className="block h-5 w-16 shrink-0 rounded" />
|
|
171
172
|
</span>
|
|
172
173
|
);
|
|
173
174
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
3
|
import { cn } from '../../utils/cn';
|
|
4
|
-
import {
|
|
4
|
+
import { LoadingRegion } from '../loading/loading-region';
|
|
5
|
+
import { UnifiedSkeleton } from '../loading/unified-skeleton';
|
|
5
6
|
|
|
6
7
|
export interface MingoOnboardingCardSkeletonProps {
|
|
7
8
|
/** Title bar width — Tailwind width utility. Defaults to `w-32`. Vary
|
|
@@ -54,23 +55,23 @@ export function MingoOnboardingCardSkeleton({
|
|
|
54
55
|
<div className="flex w-full flex-col gap-[var(--spacing-system-xxs)]">
|
|
55
56
|
{/* Title row — icon + title bar + right-rail slash bar. */}
|
|
56
57
|
<div className="flex w-full items-center gap-[var(--spacing-system-xxs)]">
|
|
57
|
-
<
|
|
58
|
-
<
|
|
58
|
+
<UnifiedSkeleton className="size-4 shrink-0 rounded-sm" />
|
|
59
|
+
<UnifiedSkeleton className={cn('h-3.5 rounded-sm', titleWidth)} />
|
|
59
60
|
<span className="flex-1" />
|
|
60
|
-
<
|
|
61
|
+
<UnifiedSkeleton className={cn('h-3.5 shrink-0 rounded-sm', slashWidth)} />
|
|
61
62
|
</div>
|
|
62
63
|
{/* Description — 1 or 2 lines; second line is 70% so the
|
|
63
64
|
* ragged edge mimics natural text wrapping. */}
|
|
64
65
|
<div className="flex flex-col gap-[var(--spacing-system-xxs)]">
|
|
65
|
-
<
|
|
66
|
-
{descriptionLines === 2 ? <
|
|
66
|
+
<UnifiedSkeleton className="h-3.5 w-full rounded-sm" />
|
|
67
|
+
{descriptionLines === 2 ? <UnifiedSkeleton className="h-3.5 w-[70%] rounded-sm" /> : null}
|
|
67
68
|
</div>
|
|
68
69
|
{/* Action chip row — `h-7` matches the live card's outline
|
|
69
70
|
* chips so the skeleton sits at exactly the same height. */}
|
|
70
71
|
{hasChips ? (
|
|
71
72
|
<div className="mt-[var(--spacing-system-xs)] flex flex-wrap items-center gap-[var(--spacing-system-xxs)]">
|
|
72
73
|
{chipWidths.map((w, i) => (
|
|
73
|
-
<
|
|
74
|
+
<UnifiedSkeleton key={i} className={cn('h-7 rounded-md', w)} />
|
|
74
75
|
))}
|
|
75
76
|
</div>
|
|
76
77
|
) : null}
|
|
@@ -80,6 +81,8 @@ export function MingoOnboardingCardSkeleton({
|
|
|
80
81
|
}
|
|
81
82
|
|
|
82
83
|
export interface MingoOnboardingListSkeletonProps {
|
|
84
|
+
/** The loading state announces itself (`LoadingRegion`). `false` inside another loading region. Default `true`. */
|
|
85
|
+
region?: boolean;
|
|
83
86
|
/** Row count. Defaults to 6 — fills the typical empty-state
|
|
84
87
|
* viewport so the loader doesn't pop in shorter than the resolved
|
|
85
88
|
* list. */
|
|
@@ -120,12 +123,11 @@ const ROW_VARIANTS: ReadonlyArray<{
|
|
|
120
123
|
{ titleWidth: 'w-24', slashWidth: 'w-16', descriptionLines: 2 },
|
|
121
124
|
];
|
|
122
125
|
|
|
123
|
-
export function MingoOnboardingListSkeleton({ rows = 6, className }: MingoOnboardingListSkeletonProps) {
|
|
126
|
+
export function MingoOnboardingListSkeleton({ region = true, rows = 6, className }: MingoOnboardingListSkeletonProps) {
|
|
124
127
|
return (
|
|
125
|
-
<
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
aria-busy="true"
|
|
128
|
+
<LoadingRegion
|
|
129
|
+
label="Loading slash commands"
|
|
130
|
+
announce={region}
|
|
129
131
|
className={cn('overflow-hidden rounded-md border border-ods-border bg-ods-card', className)}
|
|
130
132
|
>
|
|
131
133
|
{Array.from({ length: rows }).map((_, i) => {
|
|
@@ -139,6 +141,6 @@ export function MingoOnboardingListSkeleton({ rows = 6, className }: MingoOnboar
|
|
|
139
141
|
/>
|
|
140
142
|
);
|
|
141
143
|
})}
|
|
142
|
-
</
|
|
144
|
+
</LoadingRegion>
|
|
143
145
|
);
|
|
144
146
|
}
|
|
@@ -4,7 +4,7 @@ import React from 'react';
|
|
|
4
4
|
import { cn } from '../../utils/cn';
|
|
5
5
|
import { HoverCard, HoverCardContent, HoverCardTrigger } from '../hover-card';
|
|
6
6
|
import { AnthropicLogoGreyIcon, GeminiLogoGreyIcon, OpenaiLogoGreyIcon } from '../icons-v2-generated';
|
|
7
|
-
import {
|
|
7
|
+
import { UnifiedSkeleton } from '../loading/unified-skeleton';
|
|
8
8
|
import { useChatAppearance } from './chat-appearance-context';
|
|
9
9
|
import type { ModelDisplayProps, ModelUsageBreakdown } from './types';
|
|
10
10
|
import { CHAT_APPEARANCE } from './types/chat.types';
|
|
@@ -185,11 +185,11 @@ const ModelDisplaySkeleton = React.forwardRef<HTMLDivElement, ModelDisplaySkelet
|
|
|
185
185
|
({ className, showTokens = false, ...props }, ref) => (
|
|
186
186
|
<div ref={ref} aria-hidden className={cn('flex items-center gap-1 text-h6', className)} {...props}>
|
|
187
187
|
{/* provider icon */}
|
|
188
|
-
<
|
|
188
|
+
<UnifiedSkeleton className="h-5 w-4 shrink-0 rounded-sm" />
|
|
189
189
|
{/* model name */}
|
|
190
|
-
<
|
|
190
|
+
<UnifiedSkeleton className="h-5 w-24" />
|
|
191
191
|
{/* "X / Y tokens used" tail — only when tokens are expected */}
|
|
192
|
-
{showTokens && <
|
|
192
|
+
{showTokens && <UnifiedSkeleton className="ml-auto h-3 w-32" />}
|
|
193
193
|
</div>
|
|
194
194
|
),
|
|
195
195
|
);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
3
|
import { cn } from '../../utils/cn';
|
|
4
|
-
import {
|
|
4
|
+
import { UnifiedSkeleton } from '../loading/unified-skeleton';
|
|
5
5
|
|
|
6
6
|
export interface MspOrganizationCardSkeletonProps {
|
|
7
7
|
/** Appended to the root element. */
|
|
@@ -22,12 +22,12 @@ export function MspOrganizationCardSkeleton({ className }: MspOrganizationCardSk
|
|
|
22
22
|
className,
|
|
23
23
|
)}
|
|
24
24
|
>
|
|
25
|
-
<
|
|
25
|
+
<UnifiedSkeleton className="size-12 shrink-0 rounded-md" />
|
|
26
26
|
<div className="flex min-w-0 flex-1 flex-col justify-center gap-2 self-stretch">
|
|
27
|
-
<
|
|
28
|
-
<
|
|
27
|
+
<UnifiedSkeleton className="h-5 w-3/5 rounded-md" />
|
|
28
|
+
<UnifiedSkeleton className="h-4 w-2/5 rounded-md" />
|
|
29
29
|
</div>
|
|
30
|
-
<
|
|
30
|
+
<UnifiedSkeleton className="size-12 shrink-0 rounded-md" />
|
|
31
31
|
</div>
|
|
32
32
|
);
|
|
33
33
|
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import { type
|
|
3
|
+
import { type ReactNode, isValidElement } from 'react';
|
|
4
4
|
import { cn } from '../../utils/cn';
|
|
5
5
|
import { EntityIcon, type EntityIconValue } from '../icon-display';
|
|
6
|
+
import { UnifiedSkeleton } from '../loading/unified-skeleton';
|
|
6
7
|
import { Tag } from '../ui/tag';
|
|
7
8
|
|
|
8
9
|
// =============================================================================
|
|
@@ -201,18 +202,11 @@ export interface QuickActionChipSkeletonProps {
|
|
|
201
202
|
className?: string;
|
|
202
203
|
}
|
|
203
204
|
|
|
204
|
-
/** Pulse bar inside the chip skeleton — the standard `ui/skeleton` treatment
|
|
205
|
-
* (`animate-pulse bg-ods-border`), as a SPAN so it stays valid phrasing
|
|
206
|
-
* content inside the Tag's label span. */
|
|
207
|
-
function ChipSkelBar({ className, style }: { className?: string; style?: CSSProperties }) {
|
|
208
|
-
return <span aria-hidden className={cn('animate-pulse rounded-md bg-ods-border', className)} style={style} />;
|
|
209
|
-
}
|
|
210
|
-
|
|
211
205
|
/**
|
|
212
206
|
* Loading placeholder for {@link QuickActionChipButton} — renders the REAL
|
|
213
|
-
* `Tag` (same height, padding, border, radius, icon box) with
|
|
214
|
-
*
|
|
215
|
-
* icon/lozenge/label slots, so a skeleton chip is 1:1 with a loaded chip by
|
|
207
|
+
* `Tag` (same height, padding, border, radius, icon box) with `UnifiedSkeleton`
|
|
208
|
+
* bars (as spans, so they stay valid phrasing content inside the Tag's label
|
|
209
|
+
* span) in the icon/lozenge/label slots, so a skeleton chip is 1:1 with a loaded chip by
|
|
216
210
|
* construction. Use anywhere quick actions stream in (chat empty states,
|
|
217
211
|
* marketing walls, deck panels).
|
|
218
212
|
*/
|
|
@@ -231,12 +225,21 @@ export function QuickActionChipSkeleton({
|
|
|
231
225
|
size={question ? 'sentence' : size}
|
|
232
226
|
className={cn(question && 'max-w-full', className)}
|
|
233
227
|
icon={
|
|
234
|
-
icon && !question ?
|
|
228
|
+
icon && !question ? (
|
|
229
|
+
<UnifiedSkeleton as="span" aria-hidden className={size === 'large' ? 'block size-5' : 'block size-4'} />
|
|
230
|
+
) : undefined
|
|
235
231
|
}
|
|
236
232
|
label={
|
|
237
233
|
<>
|
|
238
|
-
{lozenge &&
|
|
239
|
-
|
|
234
|
+
{lozenge && (
|
|
235
|
+
<UnifiedSkeleton as="span" aria-hidden className="mr-2 inline-block h-[16px] w-[26px] translate-y-[2px]" />
|
|
236
|
+
)}
|
|
237
|
+
<UnifiedSkeleton
|
|
238
|
+
as="span"
|
|
239
|
+
aria-hidden
|
|
240
|
+
className="inline-block h-[0.9em] translate-y-[0.08em]"
|
|
241
|
+
width={`${labelCh}ch`}
|
|
242
|
+
/>
|
|
240
243
|
</>
|
|
241
244
|
}
|
|
242
245
|
/>
|
|
@@ -26,17 +26,16 @@ export const COMPACT_CARD_OUTER =
|
|
|
26
26
|
export const COMPACT_CARD_OUTER_STATIC =
|
|
27
27
|
'my-1.5 flex items-start gap-3 w-full p-2 rounded-lg border border-ods-border bg-ods-card no-underline cursor-default';
|
|
28
28
|
|
|
29
|
-
/** Skeleton outer frame
|
|
29
|
+
/** Skeleton outer frame: same dimensions as loaded. Static; its placeholders are `UnifiedSkeleton`s. */
|
|
30
30
|
export const COMPACT_CARD_SKELETON_OUTER =
|
|
31
|
-
'my-1.5 flex w-full
|
|
31
|
+
'my-1.5 flex w-full items-start gap-3 rounded-lg border border-ods-border bg-ods-card p-2';
|
|
32
32
|
|
|
33
33
|
/** 56×56 image slot — for cards with a cover image. */
|
|
34
34
|
export const COMPACT_CARD_IMAGE_SLOT =
|
|
35
35
|
'relative block shrink-0 self-start w-14 h-14 aspect-square overflow-hidden rounded-md bg-ods-bg';
|
|
36
36
|
|
|
37
|
-
/** 56×56 placeholder slot for skeletons. */
|
|
38
|
-
export const COMPACT_CARD_SKELETON_IMAGE_SLOT =
|
|
39
|
-
'block h-14 w-14 aspect-square shrink-0 self-start rounded-md bg-ods-bg';
|
|
37
|
+
/** 56×56 placeholder slot for skeletons: the box of a `UnifiedSkeleton as="span"`, which draws the surface. */
|
|
38
|
+
export const COMPACT_CARD_SKELETON_IMAGE_SLOT = 'block h-14 w-14 aspect-square shrink-0 self-start rounded-md';
|
|
40
39
|
|
|
41
40
|
/** 56×56 icon slot — for cards without a cover image. */
|
|
42
41
|
export const COMPACT_CARD_ICON_SLOT =
|