@flamingo-stack/openframe-frontend-core 0.0.764 → 0.0.766
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/chat-protocol/decode.d.ts +0 -1
- package/dist/chat-protocol/decode.d.ts.map +1 -1
- package/dist/chat-protocol/decode.js +1 -3
- package/dist/chat-protocol/index.d.ts +1 -0
- package/dist/chat-protocol/index.d.ts.map +1 -1
- package/dist/chat-protocol/index.js +2 -0
- package/dist/{chunk-FQSXZC2K.cjs → chunk-2JRSYWFP.cjs} +3 -3
- package/dist/{chunk-I5MSCD57.cjs → chunk-3LW5TD54.cjs} +7 -3
- package/dist/{chunk-7AM3AFM4.cjs → chunk-4YIDZCTL.cjs} +1 -3
- package/dist/{chunk-SVP6DJFL.cjs → chunk-57B5RUYD.cjs} +2 -2
- package/dist/{chunk-R3TWQ3ZJ.cjs → chunk-5P4TDV7V.cjs} +16 -7
- package/dist/chunk-65VVJSQZ.cjs +109 -0
- package/dist/{chunk-LNGR4DXA.cjs → chunk-7U3ELNGC.cjs} +103 -61
- package/dist/{chunk-T5FRANE6.cjs → chunk-7VI7TOGI.cjs} +509 -353
- package/dist/{chunk-5AV5R5RC.cjs → chunk-7XFVUUVZ.cjs} +14 -14
- package/dist/{chunk-M7YZGRAV.cjs → chunk-AAECWUNV.cjs} +35 -8
- package/dist/{chunk-YUMFVQIN.cjs → chunk-C42WIUH6.cjs} +11 -5
- package/dist/{chunk-22XAPV6N.cjs → chunk-DGNBXZXT.cjs} +1069 -1020
- package/dist/{chunk-HOTM4UM6.cjs → chunk-E76ONBKF.cjs} +28 -0
- package/dist/{chunk-PERN37KO.cjs → chunk-F7R3U5EN.cjs} +5 -25
- package/dist/{chunk-K6VWTUCH.cjs → chunk-FL2RMEDX.cjs} +2 -2
- package/dist/chunk-FZB4RMRK.cjs +695 -0
- package/dist/{chunk-BIA77I6B.cjs → chunk-GTONIRJU.cjs} +56 -54
- package/dist/{chunk-3FC6AKEJ.cjs → chunk-HNQRY6RU.cjs} +200 -87
- package/dist/chunk-INI4ADPT.cjs +495 -0
- package/dist/{chunk-JD7CL2I6.cjs → chunk-JGWN6GH5.cjs} +11 -7
- package/dist/{chunk-RYSNH2VY.cjs → chunk-JKQVKWLB.cjs} +258 -179
- package/dist/{chunk-EQZXJUYV.cjs → chunk-JTSUAHDL.cjs} +73 -51
- package/dist/chunk-K3IHNXR4.cjs +40 -0
- package/dist/{chunk-EFTUFJS2.cjs → chunk-LELS4XMX.cjs} +20 -22
- package/dist/{chunk-ZCU2PYCW.cjs → chunk-MPTMT773.cjs} +62 -62
- package/dist/{chunk-LVKUMVUJ.cjs → chunk-NBVZIHGS.cjs} +12 -8
- package/dist/{chunk-IDGOMHTC.cjs → chunk-NF3PBWDJ.cjs} +521 -413
- package/dist/{chunk-7GUWPGB4.cjs → chunk-NJMZ3N7Q.cjs} +44 -44
- package/dist/{chunk-OJJ4RL2T.cjs → chunk-R3JX4MXD.cjs} +4 -4
- package/dist/{chunk-GY2JESOC.cjs → chunk-RB7VLVMD.cjs} +15 -15
- package/dist/{chunk-47GZ33ND.cjs → chunk-REJMFXGD.cjs} +198 -73
- package/dist/chunk-RMUSPTJN.cjs +102 -0
- package/dist/{chunk-3RFQPQ7Z.cjs → chunk-RNLRS4ID.cjs} +3 -3
- package/dist/{chunk-ZG6F5A3A.cjs → chunk-RTBYQWAV.cjs} +286 -201
- package/dist/{chunk-63N4FN5V.cjs → chunk-SETFUCZA.cjs} +7 -7
- package/dist/{chunk-2QMBXGMQ.cjs → chunk-TF5D5MNO.cjs} +222 -120
- package/dist/{chunk-NET74KSQ.cjs → chunk-TZ4GKUO2.cjs} +5 -5
- package/dist/{chunk-JJ2S6C5U.cjs → chunk-UW7UWUZU.cjs} +105 -117
- package/dist/{chunk-MWLD6NXV.cjs → chunk-VFZFCRAL.cjs} +4 -6
- package/dist/{chunk-VL6IXTAI.cjs → chunk-VRDHAR3X.cjs} +4229 -3918
- package/dist/{chunk-NJS7FQRW.cjs → chunk-VYYLYZUC.cjs} +207 -74
- package/dist/{chunk-NO5UJLLQ.cjs → chunk-WEANWBJH.cjs} +6 -1
- package/dist/{chunk-XFNWHCRM.cjs → chunk-WO3XO27C.cjs} +13 -13
- package/dist/{chunk-L2V7K7RR.cjs → chunk-X7ECVSVN.cjs} +43 -41
- package/dist/chunk-XFRBEXQN.cjs +304 -0
- package/dist/{chunk-AKK3EO37.cjs → chunk-XIFEZ2JT.cjs} +35 -23
- package/dist/{chunk-XCH7SPGI.cjs → chunk-XVFM6SJA.cjs} +61 -52
- package/dist/{chunk-3RYIF4OW.cjs → chunk-XXJL5GY3.cjs} +3 -3
- package/dist/{chunk-GZKWF6NH.cjs → chunk-XZ6DKGT4.cjs} +34 -34
- package/dist/{chunk-74ALTXXC.cjs → chunk-YL6ZB2SR.cjs} +1624 -1440
- package/dist/{chunk-TSJUL6IH.cjs → chunk-YRFWOJF4.cjs} +16 -8
- package/dist/{chunk-HTRILBJD.cjs → chunk-YXDHVHB2.cjs} +30 -13
- package/dist/{chunk-RO72PRQI.cjs → chunk-ZRDMGMY7.cjs} +75 -50
- package/dist/{chunk-2IFCRPNP.cjs → chunk-ZV45VS6K.cjs} +369 -433
- package/dist/{cloud-tenants-N5CLYDPU.cjs → cloud-tenants-U2KMEIO7.cjs} +35 -39
- package/dist/components/agent-identity.d.ts +1 -2
- package/dist/components/agent-identity.d.ts.map +1 -1
- package/dist/components/agent-identity.js +0 -1
- package/dist/components/agent-mark.d.ts +4 -6
- package/dist/components/agent-mark.d.ts.map +1 -1
- package/dist/components/agent-mark.js +7 -8
- package/dist/components/authors/author-detail-view.d.ts.map +1 -1
- package/dist/components/authors/author-detail-view.js +51 -18
- package/dist/components/calendar.cjs +10 -10
- package/dist/components/case-studies/entity-quotes-panel.d.ts +6 -4
- package/dist/components/case-studies/entity-quotes-panel.d.ts.map +1 -1
- package/dist/components/case-studies/entity-quotes-panel.js +44 -11
- package/dist/components/case-studies/index.cjs +140 -70
- package/dist/components/case-studies/index.d.ts +2 -2
- package/dist/components/case-studies/index.d.ts.map +1 -1
- package/dist/components/case-studies/index.js +5 -2
- package/dist/components/case-studies/quote-cards-strip.d.ts +23 -2
- package/dist/components/case-studies/quote-cards-strip.d.ts.map +1 -1
- package/dist/components/case-studies/quote-cards-strip.js +48 -10
- package/dist/components/categories-cart.d.ts +7 -0
- package/dist/components/categories-cart.d.ts.map +1 -1
- package/dist/components/categories-cart.js +58 -36
- package/dist/components/category-card.js +1 -1
- package/dist/components/chat/chat-attachment-bar.js +1 -1
- package/dist/components/chat/chat-container.d.ts.map +1 -1
- package/dist/components/chat/chat-container.js +2 -1
- package/dist/components/chat/chat-ticket-list.d.ts +0 -1
- package/dist/components/chat/chat-ticket-list.d.ts.map +1 -1
- package/dist/components/chat/chat-turn.d.ts +31 -1
- package/dist/components/chat/chat-turn.d.ts.map +1 -1
- package/dist/components/chat/chat-turn.js +85 -19
- package/dist/components/chat/embeddable-chat.d.ts.map +1 -1
- package/dist/components/chat/embeddable-chat.js +1 -1
- package/dist/components/chat/entity-cards/admin-content-card-grid.d.ts +0 -15
- 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 +2 -38
- package/dist/components/chat/entity-cards/admin-content-card.d.ts +15 -0
- package/dist/components/chat/entity-cards/admin-content-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/admin-content-card.js +52 -10
- package/dist/components/chat/entity-cards/blog-card.d.ts +9 -2
- package/dist/components/chat/entity-cards/blog-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/blog-card.js +49 -33
- package/dist/components/chat/entity-cards/campaign-card-admin.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/campaign-card-admin.js +4 -11
- package/dist/components/chat/entity-cards/case-study-card.d.ts +27 -9
- package/dist/components/chat/entity-cards/case-study-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/case-study-card.js +80 -54
- package/dist/components/chat/entity-cards/chat-ticket-item.d.ts +7 -0
- package/dist/components/chat/entity-cards/chat-ticket-item.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/chat-ticket-item.js +24 -28
- package/dist/components/chat/entity-cards/customer-interview-card.d.ts +9 -2
- package/dist/components/chat/entity-cards/customer-interview-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/customer-interview-card.js +39 -36
- 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 +14 -16
- package/dist/components/chat/entity-cards/design-doc-card.d.ts +8 -2
- package/dist/components/chat/entity-cards/design-doc-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/design-doc-card.js +37 -43
- package/dist/components/chat/entity-cards/dispatch.d.ts +2 -5
- package/dist/components/chat/entity-cards/dispatch.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/dispatch.js +6 -6
- package/dist/components/chat/entity-cards/employee-entry-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/employee-entry-card.js +5 -5
- package/dist/components/chat/entity-cards/entity-author-card.d.ts +33 -6
- package/dist/components/chat/entity-cards/entity-author-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/entity-author-card.js +98 -32
- package/dist/components/chat/entity-cards/entity-portrait-card.d.ts +9 -0
- package/dist/components/chat/entity-cards/entity-portrait-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/entity-portrait-card.js +46 -18
- package/dist/components/chat/entity-cards/generic-entity-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/generic-entity-card.js +14 -17
- package/dist/components/chat/entity-cards/github-activity-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/github-activity-card.js +15 -20
- package/dist/components/chat/entity-cards/hubspot-ticket-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/hubspot-ticket-card.js +14 -19
- package/dist/components/chat/entity-cards/index.d.ts +8 -7
- package/dist/components/chat/entity-cards/index.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/index.js +21 -8
- package/dist/components/chat/entity-cards/investor-update-card.d.ts +9 -3
- package/dist/components/chat/entity-cards/investor-update-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/investor-update-card.js +28 -28
- package/dist/components/chat/entity-cards/onboarding-guide-card.d.ts +11 -2
- package/dist/components/chat/entity-cards/onboarding-guide-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/onboarding-guide-card.js +66 -63
- package/dist/components/chat/entity-cards/program-card.d.ts +9 -2
- package/dist/components/chat/entity-cards/program-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/program-card.js +69 -58
- package/dist/components/chat/entity-cards/roadmap-card.d.ts +10 -1
- package/dist/components/chat/entity-cards/roadmap-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/roadmap-card.js +148 -156
- package/dist/components/chat/entity-cards/roadmap-vote-button.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/roadmap-vote-button.js +5 -1
- package/dist/components/chat/entity-cards/slack-message-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/slack-message-card.js +23 -18
- package/dist/components/chat/hooks/index.d.ts +7 -1
- package/dist/components/chat/hooks/index.d.ts.map +1 -1
- package/dist/components/chat/hooks/index.js +8 -1
- package/dist/components/chat/hooks/use-ask-prompts.d.ts.map +1 -1
- package/dist/components/chat/hooks/use-ask-prompts.js +3 -1
- package/dist/components/chat/hooks/use-chat-dialog-manager.d.ts +1 -1
- package/dist/components/chat/hooks/use-chat-dialog-manager.d.ts.map +1 -1
- package/dist/components/chat/hooks/use-chat-history-hydration.d.ts +1 -1
- package/dist/components/chat/hooks/use-chat-history-hydration.d.ts.map +1 -1
- package/dist/components/chat/hooks/use-chat.d.ts +1 -2
- package/dist/components/chat/hooks/use-chat.d.ts.map +1 -1
- package/dist/components/chat/hooks/use-nats-chat-adapter.d.ts +0 -2
- package/dist/components/chat/hooks/use-nats-chat-adapter.d.ts.map +1 -1
- package/dist/components/chat/hooks/use-nats-chat-adapter.js +0 -8
- package/dist/components/chat/hooks/use-proxied-image-url.d.ts +17 -13
- package/dist/components/chat/hooks/use-proxied-image-url.d.ts.map +1 -1
- package/dist/components/chat/hooks/use-proxied-image-url.js +10 -8
- package/dist/components/chat/hooks/use-slash-commands.d.ts +1 -2
- package/dist/components/chat/hooks/use-slash-commands.d.ts.map +1 -1
- package/dist/components/chat/hooks/use-sse-chat-adapter.d.ts +1 -8
- package/dist/components/chat/hooks/use-sse-chat-adapter.d.ts.map +1 -1
- package/dist/components/chat/hooks/use-sse-chat-adapter.js +1 -1
- package/dist/components/chat/index.cjs +44 -29
- package/dist/components/chat/stream/chat-stream-reducer.d.ts +1 -1
- package/dist/components/chat/stream/chat-stream-reducer.d.ts.map +1 -1
- package/dist/components/chat/stream/chat-stream-reducer.js +1 -1
- package/dist/components/chat/types/entities/index.d.ts +6 -4
- package/dist/components/chat/types/entities/index.d.ts.map +1 -1
- package/dist/components/chat/types/entities/index.js +4 -4
- package/dist/components/chat/types/entities/investor-update.d.ts +1 -1
- package/dist/components/chat/types/entities/investor-update.d.ts.map +1 -1
- package/dist/components/chat/types/entities/program-types.d.ts +2 -1
- package/dist/components/chat/types/entities/program-types.d.ts.map +1 -1
- package/dist/components/chat/types/entities/program-types.js +1 -4
- package/dist/components/chat/utils/compact-card-classes.d.ts +9 -1
- package/dist/components/chat/utils/compact-card-classes.d.ts.map +1 -1
- package/dist/components/chat/utils/compact-card-classes.js +11 -2
- package/dist/components/chat/utils/compact-card-skeleton.d.ts +40 -0
- package/dist/components/chat/utils/compact-card-skeleton.d.ts.map +1 -0
- package/dist/components/chat/utils/compact-card-skeleton.js +61 -0
- package/dist/components/chat/utils/icon-library.d.ts +0 -1
- package/dist/components/chat/utils/icon-library.d.ts.map +1 -1
- package/dist/components/chat/utils/index.d.ts +5 -3
- package/dist/components/chat/utils/index.d.ts.map +1 -1
- package/dist/components/chat/utils/index.js +3 -2
- package/dist/components/chat/utils/scroll-anchor.d.ts +1 -2
- package/dist/components/chat/utils/scroll-anchor.d.ts.map +1 -1
- package/dist/components/chat/utils/scroll-anchor.js +0 -1
- package/dist/components/chat/utils/source-row-cta.d.ts +0 -2
- package/dist/components/chat/utils/source-row-cta.d.ts.map +1 -1
- package/dist/components/chat/utils/source-row-cta.js +1 -2
- package/dist/components/comment-card.d.ts +15 -0
- package/dist/components/comment-card.d.ts.map +1 -1
- package/dist/components/comment-card.js +178 -119
- package/dist/components/comment-thread.d.ts +29 -0
- package/dist/components/comment-thread.d.ts.map +1 -1
- package/dist/components/comment-thread.js +76 -18
- package/dist/components/contact/index.cjs +36 -40
- package/dist/components/content-loading-container.d.ts +1 -1
- package/dist/components/docs/doc-viewer.d.ts.map +1 -1
- package/dist/components/docs/doc-viewer.js +10 -9
- package/dist/components/docs/index.cjs +39 -43
- package/dist/components/docs/skeletons.d.ts +0 -5
- package/dist/components/docs/skeletons.d.ts.map +1 -1
- package/dist/components/docs/skeletons.js +30 -50
- package/dist/components/docs/use-document-tree.d.ts +0 -1
- package/dist/components/docs/use-document-tree.d.ts.map +1 -1
- package/dist/components/docs/use-document-tree.js +6 -1
- package/dist/components/embeds/embed-iframe.d.ts.map +1 -1
- package/dist/components/embeds/embed-iframe.js +3 -0
- package/dist/components/embeds/index.cjs +38 -40
- package/dist/components/embeds/index.d.ts +1 -1
- package/dist/components/embeds/index.d.ts.map +1 -1
- package/dist/components/embeds/index.js +2 -1
- package/dist/components/embeds/markdown-image.d.ts.map +1 -1
- package/dist/components/embeds/markdown-image.js +5 -2
- package/dist/components/embeds/og-link-preview.d.ts +7 -3
- package/dist/components/embeds/og-link-preview.d.ts.map +1 -1
- package/dist/components/embeds/og-link-preview.js +106 -62
- package/dist/components/faq/faq-document-page.d.ts +5 -1
- package/dist/components/faq/faq-document-page.d.ts.map +1 -1
- package/dist/components/faq/faq-document-page.js +5 -1
- package/dist/components/faq/faq-section.d.ts +34 -1
- package/dist/components/faq/faq-section.d.ts.map +1 -1
- package/dist/components/faq/faq-section.js +146 -59
- package/dist/components/faq/index.cjs +41 -41
- package/dist/components/faq/index.d.ts +1 -1
- package/dist/components/faq/index.d.ts.map +1 -1
- package/dist/components/faq/index.js +9 -1
- package/dist/components/faq-accordion.d.ts +15 -0
- package/dist/components/faq-accordion.d.ts.map +1 -1
- package/dist/components/faq-accordion.js +37 -9
- package/dist/components/features/ai-enrich/AIStatusIndicator.d.ts.map +1 -1
- package/dist/components/features/ai-enrich/AIStatusIndicator.js +2 -1
- package/dist/components/features/approval-level.d.ts +15 -1
- package/dist/components/features/approval-level.d.ts.map +1 -1
- package/dist/components/features/approval-level.js +42 -6
- package/dist/components/features/capability-explorer.d.ts +5 -1
- package/dist/components/features/capability-explorer.d.ts.map +1 -1
- package/dist/components/features/capability-explorer.js +42 -37
- package/dist/components/features/cards-strip.d.ts +9 -0
- package/dist/components/features/cards-strip.d.ts.map +1 -1
- package/dist/components/features/cards-strip.js +35 -11
- package/dist/components/features/command-box.d.ts +19 -0
- package/dist/components/features/command-box.d.ts.map +1 -1
- package/dist/components/features/command-box.js +103 -11
- package/dist/components/features/conversation-card.d.ts +70 -5
- package/dist/components/features/conversation-card.d.ts.map +1 -1
- package/dist/components/features/conversation-card.js +146 -13
- package/dist/components/features/devices/device-selector/device-selector.d.ts.map +1 -1
- package/dist/components/features/devices/device-selector/device-selector.js +1 -0
- package/dist/components/features/devices/devices-panel-view.d.ts +1 -1
- package/dist/components/features/devices/devices-panel-view.js +1 -1
- package/dist/components/features/entity-tag-badges.d.ts +32 -7
- package/dist/components/features/entity-tag-badges.d.ts.map +1 -1
- package/dist/components/features/entity-tag-badges.js +73 -9
- package/dist/components/features/entity-video-section.d.ts +14 -14
- package/dist/components/features/entity-video-section.d.ts.map +1 -1
- package/dist/components/features/entity-video-section.js +29 -22
- package/dist/components/features/figma-prototype-viewer.d.ts.map +1 -1
- package/dist/components/features/figma-prototype-viewer.js +3 -10
- package/dist/components/features/index.cjs +77 -39
- package/dist/components/features/index.d.ts +3 -0
- package/dist/components/features/index.d.ts.map +1 -1
- package/dist/components/features/index.js +5 -0
- package/dist/components/features/knowledge-base/index.d.ts +2 -1
- package/dist/components/features/knowledge-base/index.d.ts.map +1 -1
- package/dist/components/features/knowledge-base/knowledge-base-article-view.d.ts +0 -1
- package/dist/components/features/knowledge-base/knowledge-base-article-view.d.ts.map +1 -1
- package/dist/components/features/model-token-rates.d.ts.map +1 -1
- package/dist/components/features/model-token-rates.js +50 -78
- package/dist/components/features/notifications/approval-request-notification-tile.d.ts.map +1 -1
- package/dist/components/features/notifications/approval-request-notification-tile.js +9 -5
- package/dist/components/features/notifications/notification-tile.d.ts +22 -7
- package/dist/components/features/notifications/notification-tile.d.ts.map +1 -1
- package/dist/components/features/notifications/notification-tile.js +42 -15
- package/dist/components/features/paths-display.d.ts +9 -0
- package/dist/components/features/paths-display.d.ts.map +1 -1
- package/dist/components/features/paths-display.js +50 -5
- package/dist/components/features/platform-badge.d.ts +2 -0
- package/dist/components/features/platform-badge.d.ts.map +1 -1
- package/dist/components/features/platform-badge.js +33 -2
- package/dist/components/features/push-button-selector.d.ts +23 -1
- package/dist/components/features/push-button-selector.d.ts.map +1 -1
- package/dist/components/features/push-button-selector.js +114 -41
- package/dist/components/features/remote-session/index.d.ts +2 -2
- package/dist/components/features/remote-session/index.d.ts.map +1 -1
- package/dist/components/features/remote-session/index.js +3 -3
- package/dist/components/features/remote-session/remote-desktop-chat-message-row.d.ts +2 -0
- package/dist/components/features/remote-session/remote-desktop-chat-message-row.d.ts.map +1 -1
- package/dist/components/features/remote-session/remote-desktop-chat-message-row.js +18 -4
- package/dist/components/features/remote-session/remote-desktop-chat-panel.d.ts.map +1 -1
- package/dist/components/features/remote-session/remote-desktop-chat-panel.js +11 -2
- package/dist/components/features/remote-session/remote-desktop-view.d.ts +6 -6
- package/dist/components/features/remote-session/remote-desktop-view.d.ts.map +1 -1
- package/dist/components/features/remote-session/remote-desktop-view.js +27 -27
- package/dist/components/features/remote-session/remote-session-chat-panel.js +1 -1
- package/dist/components/features/status-filter-component.d.ts +19 -1
- package/dist/components/features/status-filter-component.d.ts.map +1 -1
- package/dist/components/features/status-filter-component.js +106 -43
- package/dist/components/features/use-video-warmup.d.ts +1 -1
- package/dist/components/features/use-video-warmup.d.ts.map +1 -1
- package/dist/components/features/use-video-warmup.js +2 -5
- package/dist/components/features/use-walkthrough-video.d.ts.map +1 -1
- package/dist/components/features/use-walkthrough-video.js +4 -1
- package/dist/components/features/video-bites-strip.d.ts +42 -1
- package/dist/components/features/video-bites-strip.d.ts.map +1 -1
- package/dist/components/features/video-bites-strip.js +100 -21
- package/dist/components/features/video-hover-preview.d.ts +1 -1
- package/dist/components/features/video-hover-preview.d.ts.map +1 -1
- package/dist/components/features/video.d.ts +9 -2
- package/dist/components/features/video.d.ts.map +1 -1
- package/dist/components/features/video.js +10 -5
- package/dist/components/features/walkthrough-video.d.ts.map +1 -1
- package/dist/components/features/walkthrough-video.js +5 -1
- package/dist/components/help-center-pages/download-apps-page.d.ts.map +1 -1
- package/dist/components/help-center-pages/download-apps-page.js +65 -33
- package/dist/components/help-center-pages/index.cjs +410 -316
- package/dist/components/help-center-pages/trust-center-page.d.ts +21 -9
- package/dist/components/help-center-pages/trust-center-page.d.ts.map +1 -1
- package/dist/components/help-center-pages/trust-center-page.js +100 -67
- package/dist/components/help-center-pages/trust-center-sections.d.ts +19 -14
- package/dist/components/help-center-pages/trust-center-sections.d.ts.map +1 -1
- package/dist/components/help-center-pages/trust-center-sections.js +124 -97
- package/dist/components/icon-display.d.ts.map +1 -1
- package/dist/components/icon-display.js +6 -0
- package/dist/components/index.cjs +1505 -380
- package/dist/components/index.d.ts +5 -2
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +12 -2
- package/dist/components/interactive-wrapper.d.ts.map +1 -1
- package/dist/components/interactive-wrapper.js +2 -1
- package/dist/components/layout/list-page-layout.d.ts +3 -3
- package/dist/components/layout/list-page-layout.d.ts.map +1 -1
- package/dist/components/layout/page-container.d.ts +8 -1
- package/dist/components/layout/page-container.d.ts.map +1 -1
- package/dist/components/layout/page-container.js +25 -10
- package/dist/components/layout/page-data-sync.d.ts +7 -1
- package/dist/components/layout/page-data-sync.d.ts.map +1 -1
- package/dist/components/layout/page-data-sync.js +13 -4
- package/dist/components/layout/page-heading.d.ts +31 -0
- package/dist/components/layout/page-heading.d.ts.map +1 -1
- package/dist/components/layout/page-heading.js +44 -1
- package/dist/components/layout/page-layout.d.ts +4 -4
- package/dist/components/layout/page-layout.d.ts.map +1 -1
- package/dist/components/layout/page-layout.js +4 -5
- package/dist/components/layout/title-block.d.ts +12 -1
- package/dist/components/layout/title-block.d.ts.map +1 -1
- package/dist/components/layout/title-block.js +50 -12
- package/dist/components/loading/category-vendor-selector-skeleton.d.ts +3 -0
- package/dist/components/loading/category-vendor-selector-skeleton.d.ts.map +1 -1
- package/dist/components/loading/deprecated-layout-skeletons.d.ts +25 -0
- package/dist/components/loading/deprecated-layout-skeletons.d.ts.map +1 -0
- package/dist/components/loading/deprecated-layout-skeletons.js +78 -0
- package/dist/components/loading/device-card-skeleton.js +4 -4
- package/dist/components/loading/index.d.ts +4 -3
- package/dist/components/loading/index.d.ts.map +1 -1
- package/dist/components/loading/index.js +10 -16
- package/dist/components/loading/loading-region.d.ts +10 -9
- package/dist/components/loading/loading-region.d.ts.map +1 -1
- package/dist/components/loading/loading-region.js +4 -1
- package/dist/components/loading/msp-profile-form-skeleton.d.ts +2 -0
- package/dist/components/loading/msp-profile-form-skeleton.d.ts.map +1 -1
- package/dist/components/loading/organization-card-skeleton.d.ts +14 -10
- package/dist/components/loading/organization-card-skeleton.d.ts.map +1 -1
- package/dist/components/loading/organization-card-skeleton.js +38 -40
- package/dist/components/loading/page-layout-skeleton.d.ts +7 -51
- package/dist/components/loading/page-layout-skeleton.d.ts.map +1 -1
- package/dist/components/loading/page-layout-skeleton.js +2 -411
- package/dist/components/loading/settings-form-skeleton.d.ts +2 -0
- package/dist/components/loading/settings-form-skeleton.d.ts.map +1 -1
- package/dist/components/loading/unified-skeleton.d.ts +57 -9
- package/dist/components/loading/unified-skeleton.d.ts.map +1 -1
- package/dist/components/loading/unified-skeleton.js +57 -8
- package/dist/components/log-severity-dot.d.ts +2 -0
- package/dist/components/log-severity-dot.d.ts.map +1 -1
- package/dist/components/log-severity-dot.js +11 -13
- package/dist/components/logs-list.d.ts.map +1 -1
- package/dist/components/logs-list.js +34 -43
- package/dist/components/media-carousel.d.ts +0 -1
- package/dist/components/media-carousel.d.ts.map +1 -1
- package/dist/components/meeting-scheduler/booking-form.d.ts +52 -8
- package/dist/components/meeting-scheduler/booking-form.d.ts.map +1 -1
- package/dist/components/meeting-scheduler/booking-form.js +150 -30
- package/dist/components/meeting-scheduler/context-panel.d.ts +18 -2
- package/dist/components/meeting-scheduler/context-panel.d.ts.map +1 -1
- package/dist/components/meeting-scheduler/context-panel.js +61 -23
- package/dist/components/meeting-scheduler/directory.d.ts +11 -1
- package/dist/components/meeting-scheduler/directory.d.ts.map +1 -1
- package/dist/components/meeting-scheduler/directory.js +47 -27
- package/dist/components/meeting-scheduler/index.cjs +556 -344
- package/dist/components/meeting-scheduler/index.d.ts +5 -4
- package/dist/components/meeting-scheduler/index.d.ts.map +1 -1
- package/dist/components/meeting-scheduler/index.js +127 -102
- package/dist/components/meeting-scheduler/modal-header.d.ts +7 -3
- package/dist/components/meeting-scheduler/modal-header.d.ts.map +1 -1
- package/dist/components/meeting-scheduler/modal-header.js +29 -18
- package/dist/components/meeting-scheduler/slot-picker.d.ts +11 -4
- package/dist/components/meeting-scheduler/slot-picker.d.ts.map +1 -1
- package/dist/components/meeting-scheduler/slot-picker.js +12 -7
- package/dist/components/metric-value.d.ts +5 -0
- package/dist/components/metric-value.d.ts.map +1 -1
- package/dist/components/metric-value.js +15 -3
- package/dist/components/msp-display.d.ts +5 -0
- package/dist/components/msp-display.d.ts.map +1 -1
- package/dist/components/msp-display.js +19 -14
- package/dist/components/navigation/app-layout.d.ts +0 -2
- package/dist/components/navigation/app-layout.d.ts.map +1 -1
- package/dist/components/navigation/app-layout.js +1 -4
- package/dist/components/navigation/index.cjs +48 -42
- package/dist/components/navigation/index.d.ts +8 -3
- package/dist/components/navigation/index.d.ts.map +1 -1
- package/dist/components/navigation/index.js +18 -3
- package/dist/components/navigation/mingo-ai-button.d.ts +0 -2
- package/dist/components/navigation/mingo-ai-button.d.ts.map +1 -1
- package/dist/components/navigation/mingo-ai-button.js +2 -4
- package/dist/components/navigation/mobile-nav-sheet.d.ts +0 -1
- package/dist/components/navigation/mobile-nav-sheet.d.ts.map +1 -1
- package/dist/components/navigation/mobile-nav-sheet.js +0 -2
- package/dist/components/navigation/multi-level-navigation.d.ts +21 -0
- package/dist/components/navigation/multi-level-navigation.d.ts.map +1 -1
- package/dist/components/navigation/multi-level-navigation.js +98 -24
- package/dist/components/navigation/page-section-bar.d.ts +50 -0
- package/dist/components/navigation/page-section-bar.d.ts.map +1 -0
- package/dist/components/navigation/page-section-bar.js +85 -0
- package/dist/components/navigation/sticky-section-nav.d.ts +12 -0
- package/dist/components/navigation/sticky-section-nav.d.ts.map +1 -1
- package/dist/components/navigation/sticky-section-nav.js +87 -20
- package/dist/components/navigation/ticket-alerts-button.js +1 -1
- package/dist/components/onboarding-guides/hooks/use-onboarding-guides.d.ts.map +1 -1
- package/dist/components/onboarding-guides/hooks/use-onboarding-guides.js +7 -1
- package/dist/components/onboarding-guides/index.cjs +38 -42
- package/dist/components/onboarding-guides/index.d.ts +1 -2
- package/dist/components/onboarding-guides/index.d.ts.map +1 -1
- package/dist/components/onboarding-guides/index.js +5 -3
- package/dist/components/onboarding-guides/onboarding-guide-detail-view.d.ts +8 -0
- package/dist/components/onboarding-guides/onboarding-guide-detail-view.d.ts.map +1 -1
- package/dist/components/onboarding-guides/onboarding-guide-detail-view.js +142 -84
- package/dist/components/onboarding-guides/onboarding-guides-catalog-skeleton.d.ts +18 -17
- package/dist/components/onboarding-guides/onboarding-guides-catalog-skeleton.d.ts.map +1 -1
- package/dist/components/onboarding-guides/onboarding-guides-catalog-skeleton.js +28 -21
- package/dist/components/onboarding-guides/onboarding-guides-catalog-view.d.ts.map +1 -1
- package/dist/components/onboarding-guides/onboarding-guides-catalog-view.js +57 -18
- package/dist/components/pagination.d.ts +26 -2
- package/dist/components/pagination.d.ts.map +1 -1
- package/dist/components/pagination.js +61 -38
- package/dist/components/persistent-filter-controls.d.ts.map +1 -1
- package/dist/components/persistent-filter-controls.js +1 -2
- package/dist/components/persistent-pagination.d.ts.map +1 -1
- package/dist/components/persistent-pagination.js +3 -1
- package/dist/components/platform/ToolBadge.d.ts +13 -1
- package/dist/components/platform/ToolBadge.d.ts.map +1 -1
- package/dist/components/platform/ToolBadge.js +38 -9
- package/dist/components/platform/index.d.ts +2 -2
- package/dist/components/platform/index.d.ts.map +1 -1
- package/dist/components/platform/index.js +4 -2
- package/dist/components/platform/tool-badge-mark.d.ts +6 -0
- package/dist/components/platform/tool-badge-mark.d.ts.map +1 -0
- package/dist/components/platform/tool-badge-mark.js +6 -0
- package/dist/components/product-demo/fixtures/devices.d.ts +0 -2
- package/dist/components/product-demo/fixtures/devices.d.ts.map +1 -1
- package/dist/components/product-demo/fixtures/devices.js +0 -2
- package/dist/components/product-demo/index.cjs +1889 -32
- package/dist/components/product-demo/product-screen.d.ts +5 -5
- package/dist/components/product-demo/product-screen.d.ts.map +1 -1
- package/dist/components/product-demo/product-screen.js +19 -15
- package/dist/components/product-demo/screen-loading.d.ts +10 -0
- package/dist/components/product-demo/screen-loading.d.ts.map +1 -0
- package/dist/components/product-demo/screen-loading.js +12 -0
- package/dist/components/product-demo/screens/devices-view.d.ts +22 -0
- package/dist/components/product-demo/screens/devices-view.d.ts.map +1 -0
- package/dist/components/product-demo/screens/devices-view.js +35 -0
- package/dist/components/product-demo/screens/devices.d.ts +1 -7
- package/dist/components/product-demo/screens/devices.d.ts.map +1 -1
- package/dist/components/product-demo/screens/devices.js +8 -15
- package/dist/components/related-content/card-registry.d.ts +3 -2
- package/dist/components/related-content/card-registry.d.ts.map +1 -1
- package/dist/components/related-content/card-registry.js +15 -3
- package/dist/components/related-content/index.cjs +19 -18
- package/dist/components/related-content/index.d.ts +2 -1
- package/dist/components/related-content/index.d.ts.map +1 -1
- package/dist/components/related-content/index.js +3 -1
- package/dist/components/related-content/related-content-section.d.ts +14 -1
- package/dist/components/related-content/related-content-section.d.ts.map +1 -1
- package/dist/components/related-content/related-content-section.js +144 -32
- package/dist/components/results-count.d.ts +5 -0
- package/dist/components/results-count.d.ts.map +1 -1
- package/dist/components/results-count.js +30 -6
- package/dist/components/shared/article-author-byline.d.ts +8 -0
- package/dist/components/shared/article-author-byline.d.ts.map +1 -1
- package/dist/components/shared/article-author-byline.js +54 -52
- package/dist/components/shared/delivery/delivery-lists.d.ts.map +1 -1
- package/dist/components/shared/delivery/delivery-lists.js +14 -2
- package/dist/components/shared/delivery/delivery-row.d.ts +5 -0
- package/dist/components/shared/delivery/delivery-row.d.ts.map +1 -1
- package/dist/components/shared/delivery/delivery-row.js +37 -10
- package/dist/components/shared/delivery/delivery-table.d.ts +4 -0
- package/dist/components/shared/delivery/delivery-table.d.ts.map +1 -1
- package/dist/components/shared/delivery/delivery-table.js +14 -26
- package/dist/components/shared/detail-page-skeleton.d.ts +3 -0
- package/dist/components/shared/detail-page-skeleton.d.ts.map +1 -1
- package/dist/components/shared/detail-page-skeleton.js +9 -1
- package/dist/components/shared/dev-section/dev-card-row.d.ts +2 -0
- package/dist/components/shared/dev-section/dev-card-row.d.ts.map +1 -1
- package/dist/components/shared/dev-section/dev-card-row.js +31 -21
- package/dist/components/shared/dev-section/dev-section-view.js +1 -1
- package/dist/components/shared/legal-document/index.d.ts +1 -1
- package/dist/components/shared/legal-document/index.d.ts.map +1 -1
- package/dist/components/shared/legal-document/index.js +5 -1
- package/dist/components/shared/legal-document/legal-document-page.d.ts +14 -0
- package/dist/components/shared/legal-document/legal-document-page.d.ts.map +1 -1
- package/dist/components/shared/legal-document/legal-document-page.js +47 -42
- package/dist/components/shared/legal-document/use-legal-docs.d.ts.map +1 -1
- package/dist/components/shared/legal-document/use-legal-docs.js +4 -1
- package/dist/components/shared/legal-document/use-legal-documents.d.ts.map +1 -1
- package/dist/components/shared/legal-document/use-legal-documents.js +3 -1
- package/dist/components/shared/media-gallery-strip.d.ts +7 -0
- package/dist/components/shared/media-gallery-strip.d.ts.map +1 -1
- package/dist/components/shared/media-gallery-strip.js +22 -3
- package/dist/components/shared/onboarding/index.d.ts +2 -1
- package/dist/components/shared/onboarding/index.d.ts.map +1 -1
- package/dist/components/shared/onboarding/index.js +1 -3
- package/dist/components/shared/product-release/index.d.ts +2 -1
- package/dist/components/shared/product-release/index.d.ts.map +1 -1
- package/dist/components/shared/product-release/product-release-card-classes.d.ts +26 -0
- package/dist/components/shared/product-release/product-release-card-classes.d.ts.map +1 -0
- package/dist/components/shared/product-release/product-release-card-classes.js +40 -0
- 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 +37 -35
- package/dist/components/shared/product-release/product-release-card.d.ts +3 -1
- package/dist/components/shared/product-release/product-release-card.d.ts.map +1 -1
- package/dist/components/shared/product-release/product-release-card.js +86 -73
- package/dist/components/shared/product-release/product-releases-view.d.ts.map +1 -1
- package/dist/components/shared/product-release/product-releases-view.js +26 -13
- package/dist/components/shared/product-release/release-detail-page.d.ts +0 -1
- package/dist/components/shared/product-release/release-detail-page.d.ts.map +1 -1
- package/dist/components/shared/product-release/release-detail-page.js +281 -215
- package/dist/components/shared/roadmap/roadmap-grid-skeleton.d.ts +9 -1
- package/dist/components/shared/roadmap/roadmap-grid-skeleton.d.ts.map +1 -1
- package/dist/components/shared/roadmap/roadmap-grid-skeleton.js +12 -11
- package/dist/components/shared/roadmap/roadmap-grid.d.ts +13 -1
- package/dist/components/shared/roadmap/roadmap-grid.d.ts.map +1 -1
- package/dist/components/shared/roadmap/roadmap-grid.js +45 -29
- package/dist/components/shared/roadmap/roadmap-view.d.ts.map +1 -1
- package/dist/components/shared/roadmap/roadmap-view.js +2 -3
- package/dist/components/social-icon-row.d.ts +9 -2
- package/dist/components/social-icon-row.d.ts.map +1 -1
- package/dist/components/social-icon-row.js +12 -6
- package/dist/components/tickets/help-center-list.d.ts.map +1 -1
- package/dist/components/tickets/help-center-list.js +6 -2
- package/dist/components/tickets/hooks/use-ticket-actions.d.ts +2 -2
- package/dist/components/tickets/hooks/use-ticket-actions.d.ts.map +1 -1
- package/dist/components/tickets/index.cjs +42 -46
- package/dist/components/tickets/index.d.ts +2 -1
- package/dist/components/tickets/index.d.ts.map +1 -1
- package/dist/components/tickets/index.js +2 -3
- package/dist/components/tickets/ticket-center.d.ts.map +1 -1
- package/dist/components/tickets/ticket-center.js +117 -58
- package/dist/components/tickets/types.d.ts +0 -8
- package/dist/components/tickets/types.d.ts.map +1 -1
- package/dist/components/tickets/types.js +0 -3
- package/dist/components/toggle-group.d.ts +4 -2
- package/dist/components/toggle-group.d.ts.map +1 -1
- package/dist/components/toggle-group.js +3 -1
- package/dist/components/tool-icon.d.ts.map +1 -1
- package/dist/components/ui/analyzing-state.d.ts +3 -2
- package/dist/components/ui/analyzing-state.d.ts.map +1 -1
- package/dist/components/ui/analyzing-state.js +7 -4
- package/dist/components/ui/announcement-bar-view.d.ts +5 -0
- package/dist/components/ui/announcement-bar-view.d.ts.map +1 -1
- package/dist/components/ui/announcement-bar-view.js +3 -1
- package/dist/components/ui/autocomplete.d.ts +13 -0
- package/dist/components/ui/autocomplete.d.ts.map +1 -1
- package/dist/components/ui/autocomplete.js +30 -6
- package/dist/components/ui/avatar-stack.d.ts +7 -0
- package/dist/components/ui/avatar-stack.d.ts.map +1 -1
- package/dist/components/ui/avatar-stack.js +29 -4
- package/dist/components/ui/badge.d.ts +9 -1
- package/dist/components/ui/badge.d.ts.map +1 -1
- package/dist/components/ui/badge.js +11 -0
- package/dist/components/ui/benefit-list.d.ts +8 -0
- package/dist/components/ui/benefit-list.d.ts.map +1 -1
- package/dist/components/ui/benefit-list.js +20 -11
- package/dist/components/ui/button/button-styles.d.ts +16 -0
- package/dist/components/ui/button/button-styles.d.ts.map +1 -1
- package/dist/components/ui/button/button-styles.js +42 -0
- package/dist/components/ui/button/button.d.ts +3 -1
- package/dist/components/ui/button/button.d.ts.map +1 -1
- package/dist/components/ui/button/button.js +4 -40
- package/dist/components/ui/button/index.d.ts +1 -0
- package/dist/components/ui/button/index.d.ts.map +1 -1
- package/dist/components/ui/button/index.js +4 -0
- package/dist/components/ui/card.d.ts +13 -1
- package/dist/components/ui/card.d.ts.map +1 -1
- package/dist/components/ui/card.js +21 -14
- package/dist/components/ui/checkbox.d.ts +2 -0
- package/dist/components/ui/checkbox.d.ts.map +1 -1
- package/dist/components/ui/checkbox.js +5 -1
- package/dist/components/ui/compliance-badge.d.ts +2 -0
- package/dist/components/ui/compliance-badge.d.ts.map +1 -1
- package/dist/components/ui/compliance-badge.js +5 -2
- package/dist/components/ui/cursor-pagination.d.ts +8 -1
- package/dist/components/ui/cursor-pagination.d.ts.map +1 -1
- package/dist/components/ui/cursor-pagination.js +10 -4
- package/dist/components/ui/dashboard-info-card.d.ts +6 -1
- package/dist/components/ui/dashboard-info-card.d.ts.map +1 -1
- package/dist/components/ui/dashboard-info-card.js +19 -10
- package/dist/components/ui/data-attribution.d.ts +10 -5
- package/dist/components/ui/data-attribution.d.ts.map +1 -1
- package/dist/components/ui/data-attribution.js +27 -9
- package/dist/components/ui/data-table/data-table-body.d.ts +1 -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 +18 -7
- package/dist/components/ui/data-table/data-table-row-count.d.ts +5 -0
- package/dist/components/ui/data-table/data-table-row-count.d.ts.map +1 -1
- package/dist/components/ui/data-table/data-table-row-count.js +18 -3
- package/dist/components/ui/data-table/data-table-row.d.ts.map +1 -1
- package/dist/components/ui/data-table/data-table-row.js +2 -6
- package/dist/components/ui/data-table/data-table-skeleton.js +5 -5
- package/dist/components/ui/data-table/index.d.ts +2 -2
- package/dist/components/ui/data-table/index.d.ts.map +1 -1
- package/dist/components/ui/data-table/index.js +2 -1
- package/dist/components/ui/date-picker.d.ts +0 -1
- package/dist/components/ui/date-picker.d.ts.map +1 -1
- package/dist/components/ui/entity-image.d.ts +4 -0
- package/dist/components/ui/entity-image.d.ts.map +1 -1
- package/dist/components/ui/entity-image.js +27 -5
- package/dist/components/ui/error-state.d.ts.map +1 -1
- package/dist/components/ui/error-state.js +4 -1
- package/dist/components/ui/feature-card.d.ts +31 -1
- package/dist/components/ui/feature-card.d.ts.map +1 -1
- package/dist/components/ui/feature-card.js +40 -11
- package/dist/components/ui/feature-list.d.ts +15 -1
- package/dist/components/ui/feature-list.d.ts.map +1 -1
- package/dist/components/ui/feature-list.js +43 -8
- package/dist/components/ui/field-wrapper.d.ts +6 -0
- package/dist/components/ui/field-wrapper.d.ts.map +1 -1
- package/dist/components/ui/field-wrapper.js +16 -5
- package/dist/components/ui/file-manager/index.cjs +63 -64
- package/dist/components/ui/filter-checkbox-item.d.ts +9 -0
- package/dist/components/ui/filter-checkbox-item.d.ts.map +1 -1
- package/dist/components/ui/filter-checkbox-item.js +36 -6
- package/dist/components/ui/filter-modal.d.ts +2 -3
- package/dist/components/ui/filter-modal.d.ts.map +1 -1
- package/dist/components/ui/filter-pill-row.d.ts +10 -5
- package/dist/components/ui/filter-pill-row.d.ts.map +1 -1
- package/dist/components/ui/filter-pill-row.js +56 -19
- package/dist/components/ui/incident-feed.d.ts +1 -1
- package/dist/components/ui/incident-feed.d.ts.map +1 -1
- package/dist/components/ui/incident-feed.js +57 -56
- package/dist/components/ui/index.cjs +219 -39
- package/dist/components/ui/index.d.ts +10 -1
- package/dist/components/ui/index.d.ts.map +1 -1
- package/dist/components/ui/index.js +29 -1
- package/dist/components/ui/info-card-row.d.ts +12 -0
- package/dist/components/ui/info-card-row.d.ts.map +1 -1
- package/dist/components/ui/info-card-row.js +56 -30
- package/dist/components/ui/info-card.d.ts +24 -1
- package/dist/components/ui/info-card.d.ts.map +1 -1
- package/dist/components/ui/info-card.js +87 -52
- package/dist/components/ui/input-styles.d.ts +7 -0
- package/dist/components/ui/input-styles.d.ts.map +1 -0
- package/dist/components/ui/input-styles.js +7 -0
- package/dist/components/ui/input.d.ts.map +1 -1
- package/dist/components/ui/input.js +4 -1
- package/dist/components/ui/layout-hold.d.ts +9 -7
- package/dist/components/ui/layout-hold.d.ts.map +1 -1
- package/dist/components/ui/leader-row.d.ts +11 -4
- package/dist/components/ui/leader-row.d.ts.map +1 -1
- package/dist/components/ui/leader-row.js +29 -5
- package/dist/components/ui/loading-scope.d.ts +26 -0
- package/dist/components/ui/loading-scope.d.ts.map +1 -0
- package/dist/components/ui/loading-scope.js +31 -0
- package/dist/components/ui/markdown/base-components.d.ts +25 -0
- package/dist/components/ui/markdown/base-components.d.ts.map +1 -1
- package/dist/components/ui/markdown/base-components.js +13 -7
- package/dist/components/ui/markdown/engine.d.ts +26 -1
- package/dist/components/ui/markdown/engine.d.ts.map +1 -1
- package/dist/components/ui/markdown/engine.js +63 -4
- package/dist/components/ui/markdown/index.d.ts +5 -3
- package/dist/components/ui/markdown/index.d.ts.map +1 -1
- package/dist/components/ui/markdown/index.js +12 -4
- package/dist/components/ui/markdown/mermaid-diagram.d.ts.map +1 -1
- package/dist/components/ui/markdown/mermaid-diagram.js +8 -2
- package/dist/components/ui/markdown/rich/rich-markdown-renderer.d.ts +10 -0
- package/dist/components/ui/markdown/rich/rich-markdown-renderer.d.ts.map +1 -1
- package/dist/components/ui/markdown/rich/rich-markdown-renderer.js +21 -5
- package/dist/components/ui/markdown/simple-markdown-renderer.d.ts +0 -2
- package/dist/components/ui/markdown/simple-markdown-renderer.d.ts.map +1 -1
- package/dist/components/ui/markdown-editor.d.ts +10 -0
- package/dist/components/ui/markdown-editor.d.ts.map +1 -1
- package/dist/components/ui/markdown-editor.js +23 -7
- package/dist/components/ui/numbered-step.d.ts +10 -0
- package/dist/components/ui/numbered-step.d.ts.map +1 -1
- package/dist/components/ui/numbered-step.js +19 -2
- package/dist/components/ui/organization-card.d.ts.map +1 -1
- package/dist/components/ui/organization-card.js +30 -5
- package/dist/components/ui/page-actions.d.ts +2 -1
- package/dist/components/ui/page-actions.d.ts.map +1 -1
- package/dist/components/ui/page-actions.js +26 -21
- package/dist/components/ui/page-loader.d.ts.map +1 -1
- package/dist/components/ui/page-loader.js +2 -1
- package/dist/components/ui/people-cell.d.ts +4 -0
- package/dist/components/ui/people-cell.d.ts.map +1 -1
- package/dist/components/ui/people-cell.js +19 -3
- package/dist/components/ui/photo-wall.d.ts +1 -1
- package/dist/components/ui/photo-wall.d.ts.map +1 -1
- package/dist/components/ui/photo-wall.js +13 -3
- package/dist/components/ui/product-screen-frame.d.ts.map +1 -1
- package/dist/components/ui/product-screen-frame.js +3 -2
- package/dist/components/ui/progress-bar.d.ts +9 -0
- package/dist/components/ui/progress-bar.d.ts.map +1 -1
- package/dist/components/ui/progress-bar.js +34 -14
- package/dist/components/ui/progress.d.ts +15 -0
- package/dist/components/ui/progress.d.ts.map +1 -1
- package/dist/components/ui/progress.js +8 -3
- package/dist/components/ui/release-changelog-section.d.ts +22 -1
- package/dist/components/ui/release-changelog-section.d.ts.map +1 -1
- package/dist/components/ui/release-changelog-section.js +96 -28
- package/dist/components/ui/search-input.d.ts.map +1 -1
- package/dist/components/ui/search-input.js +11 -3
- package/dist/components/ui/searchable-select.d.ts.map +1 -1
- package/dist/components/ui/searchable-select.js +17 -4
- package/dist/components/ui/skeleton-surface.d.ts +12 -4
- package/dist/components/ui/skeleton-surface.d.ts.map +1 -1
- package/dist/components/ui/skeleton-surface.js +6 -2
- package/dist/components/ui/slack-channel-chip.d.ts +5 -1
- package/dist/components/ui/slack-channel-chip.d.ts.map +1 -1
- package/dist/components/ui/slack-channel-chip.js +16 -3
- package/dist/components/ui/snap-carousel.d.ts +4 -1
- package/dist/components/ui/snap-carousel.d.ts.map +1 -1
- package/dist/components/ui/snap-carousel.js +2 -0
- package/dist/components/ui/square-avatar.d.ts +3 -0
- package/dist/components/ui/square-avatar.d.ts.map +1 -1
- package/dist/components/ui/square-avatar.js +38 -23
- package/dist/components/ui/stacked-rows-panel.d.ts +24 -1
- package/dist/components/ui/stacked-rows-panel.d.ts.map +1 -1
- package/dist/components/ui/stacked-rows-panel.js +50 -13
- package/dist/components/ui/status-badge.d.ts +10 -2
- package/dist/components/ui/status-badge.d.ts.map +1 -1
- package/dist/components/ui/status-badge.js +14 -0
- package/dist/components/ui/status-indicator.d.ts +4 -0
- package/dist/components/ui/status-indicator.d.ts.map +1 -1
- package/dist/components/ui/status-indicator.js +16 -3
- package/dist/components/ui/status-line.d.ts.map +1 -1
- package/dist/components/ui/status-line.js +2 -1
- package/dist/components/ui/strip-card.d.ts +9 -0
- package/dist/components/ui/strip-card.d.ts.map +1 -1
- package/dist/components/ui/strip-card.js +57 -39
- package/dist/components/ui/tab-navigation.d.ts +26 -2
- package/dist/components/ui/tab-navigation.d.ts.map +1 -1
- package/dist/components/ui/tab-navigation.js +182 -115
- package/dist/components/ui/table/table-header.js +2 -2
- package/dist/components/ui/table/table-row.d.ts.map +1 -1
- package/dist/components/ui/table/table-row.js +2 -4
- package/dist/components/ui/table/table-skeleton.d.ts +6 -1
- package/dist/components/ui/table/table-skeleton.d.ts.map +1 -1
- package/dist/components/ui/table/table-skeleton.js +38 -50
- package/dist/components/ui/table/table.d.ts +1 -1
- package/dist/components/ui/table/table.d.ts.map +1 -1
- package/dist/components/ui/table/table.js +30 -25
- package/dist/components/ui/table/types.d.ts +14 -4
- package/dist/components/ui/table/types.d.ts.map +1 -1
- package/dist/components/ui/table/utils.d.ts +4 -0
- package/dist/components/ui/table/utils.d.ts.map +1 -1
- package/dist/components/ui/table/utils.js +4 -0
- package/dist/components/ui/tabs.d.ts +22 -1
- package/dist/components/ui/tabs.d.ts.map +1 -1
- package/dist/components/ui/tabs.js +33 -2
- package/dist/components/ui/tag.d.ts +21 -1
- package/dist/components/ui/tag.d.ts.map +1 -1
- package/dist/components/ui/tag.js +17 -12
- package/dist/components/ui/tags-input.d.ts +9 -0
- package/dist/components/ui/tags-input.d.ts.map +1 -1
- package/dist/components/ui/tags-input.js +41 -10
- package/dist/components/ui/textarea.d.ts +17 -1
- package/dist/components/ui/textarea.d.ts.map +1 -1
- package/dist/components/ui/textarea.js +22 -3
- package/dist/components/ui/ticket-info-section.d.ts +0 -1
- package/dist/components/ui/ticket-info-section.d.ts.map +1 -1
- package/dist/components/ui/timezone-select.d.ts +3 -1
- package/dist/components/ui/timezone-select.d.ts.map +1 -1
- package/dist/components/ui/timezone-select.js +3 -1
- package/dist/components/ui/toggle.d.ts +8 -2
- package/dist/components/ui/toggle.d.ts.map +1 -1
- package/dist/components/ui/toggle.js +10 -6
- package/dist/components/unified-pagination.d.ts +3 -1
- package/dist/components/unified-pagination.d.ts.map +1 -1
- package/dist/components/unified-pagination.js +7 -1
- package/dist/components/user-display.d.ts +11 -0
- package/dist/components/user-display.d.ts.map +1 -1
- package/dist/components/user-display.js +38 -14
- package/dist/components/user-summary-stub.d.ts.map +1 -1
- package/dist/components/user-summary-stub.js +7 -14
- package/dist/components/vendor-display-button.d.ts +4 -0
- package/dist/components/vendor-display-button.d.ts.map +1 -1
- package/dist/components/vendor-display-button.js +11 -13
- package/dist/components/vendor-icon.d.ts +5 -0
- package/dist/components/vendor-icon.d.ts.map +1 -1
- package/dist/components/vendor-icon.js +12 -3
- package/dist/components/vendor-tag.d.ts +5 -0
- package/dist/components/vendor-tag.d.ts.map +1 -1
- package/dist/components/vendor-tag.js +13 -5
- package/dist/{devices-557PMFDC.cjs → devices-2D3XSIIE.cjs} +43 -55
- package/dist/embed-shims/index.cjs +4 -2
- package/dist/embed-shims/next-image.cjs +4 -2
- package/dist/embed-shims/next-image.d.ts.map +1 -1
- package/dist/embed-shims/next-image.js +24 -0
- package/dist/{embeddable-chat-YFUCVDMV.cjs → embeddable-chat-YL6ZSTDJ.cjs} +117 -119
- package/dist/hooks/index.cjs +12 -12
- package/dist/hooks/state/flatten-schema.d.ts +0 -1
- package/dist/hooks/state/flatten-schema.d.ts.map +1 -1
- package/dist/hooks/state/flatten-schema.js +0 -2
- package/dist/hooks/state/index.d.ts +6 -3
- package/dist/hooks/state/index.d.ts.map +1 -1
- package/dist/hooks/state/index.js +4 -3
- package/dist/hooks/state/url-converter.d.ts +1 -1
- package/dist/hooks/state/url-converter.d.ts.map +1 -1
- package/dist/hooks/state/url-converter.js +1 -2
- package/dist/hooks/state/use-api-params.d.ts +1 -3
- package/dist/hooks/state/use-api-params.d.ts.map +1 -1
- package/dist/hooks/state/use-api-params.js +1 -5
- package/dist/hooks/ui/index.d.ts +1 -0
- package/dist/hooks/ui/index.d.ts.map +1 -1
- package/dist/hooks/ui/use-image-edge-color.d.ts +1 -1
- package/dist/hooks/ui/use-image-edge-color.d.ts.map +1 -1
- package/dist/hooks/ui/use-image-edge-color.js +3 -1
- package/dist/hooks/ui/use-onboarding-state.d.ts +0 -1
- package/dist/hooks/ui/use-onboarding-state.d.ts.map +1 -1
- package/dist/hooks/use-downloads.d.ts +1 -1
- package/dist/hooks/use-downloads.d.ts.map +1 -1
- package/dist/hooks/use-downloads.js +8 -1
- package/dist/hooks/use-meeting-booking.d.ts.map +1 -1
- package/dist/hooks/use-meeting-booking.js +3 -0
- package/dist/hooks/use-self-fetch.d.ts +1 -1
- package/dist/hooks/use-self-fetch.d.ts.map +1 -1
- package/dist/hooks/use-self-fetch.js +7 -4
- package/dist/hooks/use-toast.d.ts +1 -1
- package/dist/index.cjs +329 -103
- package/dist/{knowledge-4JTOUDAR.cjs → knowledge-AJ36PMK2.cjs} +36 -40
- package/dist/{logs-7YWAOPZ2.cjs → logs-DNE44ACE.cjs} +44 -48
- package/dist/nats/index.d.ts +1 -0
- package/dist/nats/index.d.ts.map +1 -1
- package/dist/nats/nats-provider.d.ts +0 -1
- package/dist/nats/nats-provider.d.ts.map +1 -1
- package/dist/nats/nats.d.ts +0 -1
- package/dist/nats/nats.d.ts.map +1 -1
- package/dist/nats/use-nats-subscription.d.ts +2 -1
- package/dist/nats/use-nats-subscription.d.ts.map +1 -1
- package/dist/{policies-W5JEPQTA.cjs → policies-AJHSP6ZY.cjs} +39 -43
- package/dist/{remote-session-F72S6I7J.cjs → remote-session-PPA5SXX7.cjs} +18 -21
- package/dist/schemas/meeting-booking-schema.cjs +4 -0
- package/dist/schemas/meeting-booking-schema.d.ts +8 -0
- package/dist/schemas/meeting-booking-schema.d.ts.map +1 -1
- package/dist/schemas/meeting-booking-schema.js +4 -0
- package/dist/{scripts-FY5IPOIM.cjs → scripts-4YO2QL36.cjs} +42 -46
- package/dist/{software-update-5BOGZOHG.cjs → software-update-KMI2EOO3.cjs} +41 -45
- package/dist/styles/component-sizes.d.ts +96 -0
- package/dist/styles/component-sizes.d.ts.map +1 -0
- package/dist/styles/component-sizes.js +77 -0
- package/dist/{tickets-board-DXMF7IKL.cjs → tickets-board-G3WBH4SV.cjs} +18 -20
- package/dist/types/announcement.d.ts +0 -1
- package/dist/types/announcement.d.ts.map +1 -1
- package/dist/types/blog.d.ts +0 -1
- package/dist/types/blog.d.ts.map +1 -1
- package/dist/types/case-study.d.ts +2 -2
- package/dist/types/case-study.d.ts.map +1 -1
- package/dist/types/customer-interview-ai.types.d.ts +1 -2
- package/dist/types/customer-interview-ai.types.d.ts.map +1 -1
- package/dist/types/customer-interview.d.ts +0 -1
- package/dist/types/customer-interview.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/product-release.d.ts +3 -0
- package/dist/types/product-release.d.ts.map +1 -1
- package/dist/types/stack.d.ts +0 -2
- package/dist/types/stack.d.ts.map +1 -1
- package/dist/utils/announcement-storage.d.ts +0 -3
- package/dist/utils/announcement-storage.d.ts.map +1 -1
- package/dist/utils/announcement-storage.js +1 -3
- package/dist/utils/dev-sections/openframe-dev-sections.d.ts +11 -0
- package/dist/utils/dev-sections/openframe-dev-sections.d.ts.map +1 -1
- package/dist/utils/dev-sections/openframe-dev-sections.js +5 -0
- package/dist/utils/index.cjs +19 -0
- package/dist/utils/index.d.ts +7 -2
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +8 -6
- package/dist/utils/markdown-heading-id.d.ts +0 -19
- package/dist/utils/markdown-heading-id.d.ts.map +1 -1
- package/dist/utils/markdown-heading-id.js +2 -5
- package/dist/utils/ods-color-utils.d.ts +0 -1
- package/dist/utils/ods-color-utils.d.ts.map +1 -1
- package/dist/utils/ods-color-utils.js +0 -2
- package/dist/utils/own-click.d.ts +4 -0
- package/dist/utils/own-click.d.ts.map +1 -0
- package/dist/utils/own-click.js +14 -0
- package/dist/utils/platform-config.d.ts +0 -1
- package/dist/utils/platform-config.d.ts.map +1 -1
- package/dist/utils/platform-config.js +0 -26
- package/dist/utils/source-icons.d.ts +2 -2
- package/dist/{video-file-player-QZ3YOLHO.cjs → video-file-player-COXRF4M5.cjs} +13 -13
- package/eslint-config/base.js +2 -0
- package/eslint-config/re-exports.js +56 -0
- package/package.json +1 -1
- package/src/ODS_TOKEN_RULES.md +2 -2
- package/src/chat-protocol/decode.ts +0 -5
- package/src/chat-protocol/index.ts +1 -0
- package/src/components/agent-identity.tsx +0 -2
- package/src/components/agent-mark.tsx +13 -4
- package/src/components/authors/author-detail-view.tsx +90 -44
- package/src/components/case-studies/entity-quotes-panel.tsx +50 -3
- package/src/components/case-studies/index.ts +2 -2
- package/src/components/case-studies/quote-cards-strip.tsx +75 -10
- package/src/components/categories-cart.tsx +82 -38
- package/src/components/category-card.tsx +1 -1
- package/src/components/chat/chat-attachment-bar.tsx +1 -1
- package/src/components/chat/chat-container.tsx +2 -1
- package/src/components/chat/chat-ticket-list.tsx +0 -1
- package/src/components/chat/chat-turn.tsx +124 -18
- package/src/components/chat/embeddable-chat.tsx +5 -5
- package/src/components/chat/entity-cards/admin-content-card-grid.tsx +1 -51
- package/src/components/chat/entity-cards/admin-content-card.tsx +80 -15
- package/src/components/chat/entity-cards/blog-card.tsx +71 -41
- package/src/components/chat/entity-cards/campaign-card-admin.tsx +4 -17
- package/src/components/chat/entity-cards/case-study-card.tsx +129 -68
- package/src/components/chat/entity-cards/chat-ticket-item.tsx +34 -29
- package/src/components/chat/entity-cards/customer-interview-card.tsx +61 -45
- package/src/components/chat/entity-cards/data-room-doc-card.tsx +11 -18
- package/src/components/chat/entity-cards/design-doc-card.tsx +48 -34
- package/src/components/chat/entity-cards/dispatch.tsx +9 -13
- package/src/components/chat/entity-cards/employee-entry-card.tsx +5 -5
- package/src/components/chat/entity-cards/entity-author-card.tsx +138 -32
- package/src/components/chat/entity-cards/entity-portrait-card.tsx +61 -16
- package/src/components/chat/entity-cards/generic-entity-card.tsx +11 -19
- package/src/components/chat/entity-cards/github-activity-card.tsx +14 -30
- package/src/components/chat/entity-cards/hubspot-ticket-card.tsx +11 -23
- package/src/components/chat/entity-cards/index.ts +20 -7
- package/src/components/chat/entity-cards/investor-update-card.tsx +42 -35
- package/src/components/chat/entity-cards/onboarding-guide-card.tsx +78 -64
- package/src/components/chat/entity-cards/program-card.tsx +96 -66
- package/src/components/chat/entity-cards/roadmap-card.tsx +85 -65
- package/src/components/chat/entity-cards/roadmap-vote-button.tsx +12 -1
- package/src/components/chat/entity-cards/slack-message-card.tsx +19 -26
- package/src/components/chat/hooks/index.ts +12 -2
- package/src/components/chat/hooks/use-ask-prompts.ts +5 -1
- package/src/components/chat/hooks/use-chat-dialog-manager.ts +1 -1
- package/src/components/chat/hooks/use-chat-history-hydration.ts +1 -1
- package/src/components/chat/hooks/use-chat.ts +0 -3
- package/src/components/chat/hooks/use-nats-chat-adapter.ts +0 -20
- package/src/components/chat/hooks/use-proxied-image-url.ts +27 -20
- package/src/components/chat/hooks/use-slash-commands.ts +1 -7
- package/src/components/chat/hooks/use-sse-chat-adapter.ts +4 -18
- package/src/components/chat/stream/chat-stream-reducer.ts +3 -2
- package/src/components/chat/types/entities/index.ts +24 -4
- package/src/components/chat/types/entities/investor-update.ts +1 -1
- package/src/components/chat/types/entities/program-types.ts +2 -5
- package/src/components/chat/utils/compact-card-classes.ts +15 -2
- package/src/components/chat/utils/compact-card-skeleton.tsx +111 -0
- package/src/components/chat/utils/icon-library.tsx +0 -2
- package/src/components/chat/utils/index.ts +5 -3
- package/src/components/chat/utils/scroll-anchor.ts +0 -2
- package/src/components/chat/utils/source-row-cta.ts +1 -5
- package/src/components/comment-card.tsx +118 -19
- package/src/components/comment-thread.tsx +130 -17
- package/src/components/docs/doc-viewer.tsx +33 -31
- package/src/components/docs/skeletons.tsx +37 -49
- package/src/components/docs/use-document-tree.ts +11 -7
- package/src/components/embeds/embed-iframe.tsx +5 -0
- package/src/components/embeds/index.ts +1 -1
- package/src/components/embeds/markdown-image.tsx +6 -2
- package/src/components/embeds/og-link-preview.tsx +155 -81
- package/src/components/faq/faq-document-page.tsx +8 -0
- package/src/components/faq/faq-section.tsx +249 -70
- package/src/components/faq/index.ts +12 -1
- package/src/components/faq-accordion.tsx +67 -7
- package/src/components/features/ai-enrich/AIStatusIndicator.tsx +2 -1
- package/src/components/features/approval-level.tsx +71 -8
- package/src/components/features/capability-explorer.tsx +59 -61
- package/src/components/features/cards-strip.tsx +54 -12
- package/src/components/features/command-box.tsx +139 -10
- package/src/components/features/conversation-card.tsx +242 -16
- package/src/components/features/devices/device-selector/device-selector.tsx +1 -0
- package/src/components/features/devices/devices-panel-view.tsx +2 -2
- package/src/components/features/entity-tag-badges.tsx +143 -10
- package/src/components/features/entity-video-section.tsx +52 -14
- package/src/components/features/figma-prototype-viewer.tsx +4 -8
- package/src/components/features/index.ts +11 -0
- package/src/components/features/knowledge-base/index.ts +2 -5
- package/src/components/features/knowledge-base/knowledge-base-article-view.tsx +0 -2
- package/src/components/features/model-token-rates.tsx +64 -84
- package/src/components/features/notifications/approval-request-notification-tile.tsx +9 -11
- package/src/components/features/notifications/notification-tile.tsx +58 -23
- package/src/components/features/paths-display.tsx +73 -6
- package/src/components/features/platform-badge.tsx +41 -1
- package/src/components/features/push-button-selector.tsx +167 -64
- package/src/components/features/remote-session/index.ts +2 -2
- package/src/components/features/remote-session/remote-desktop-chat-message-row.tsx +24 -3
- package/src/components/features/remote-session/remote-desktop-chat-panel.tsx +19 -5
- package/src/components/features/remote-session/remote-desktop-view.tsx +47 -38
- package/src/components/features/remote-session/remote-session-chat-panel.tsx +1 -1
- package/src/components/features/status-filter-component.tsx +105 -11
- package/src/components/features/use-video-warmup.ts +0 -7
- package/src/components/features/use-walkthrough-video.ts +5 -1
- package/src/components/features/video-bites-strip.tsx +137 -22
- package/src/components/features/video-hover-preview.tsx +2 -1
- package/src/components/features/video.tsx +16 -12
- package/src/components/features/walkthrough-video.tsx +9 -2
- package/src/components/help-center-pages/download-apps-page.tsx +86 -32
- package/src/components/help-center-pages/trust-center-page.tsx +132 -66
- package/src/components/help-center-pages/trust-center-sections.tsx +205 -148
- package/src/components/icon-display.tsx +9 -0
- package/src/components/index.ts +11 -2
- package/src/components/interactive-wrapper.tsx +2 -1
- package/src/components/layout/list-page-layout.tsx +4 -5
- package/src/components/layout/page-container.tsx +59 -29
- package/src/components/layout/page-data-sync.tsx +40 -5
- package/src/components/layout/page-heading.tsx +84 -1
- package/src/components/layout/page-layout.tsx +5 -5
- package/src/components/layout/title-block.tsx +72 -17
- package/src/components/loading/category-vendor-selector-skeleton.tsx +4 -0
- package/src/components/loading/deprecated-layout-skeletons.tsx +133 -0
- package/src/components/loading/device-card-skeleton.tsx +4 -4
- package/src/components/loading/index.ts +11 -13
- package/src/components/loading/loading-region.tsx +16 -9
- package/src/components/loading/msp-profile-form-skeleton.tsx +3 -0
- package/src/components/loading/organization-card-skeleton.tsx +45 -71
- package/src/components/loading/page-layout-skeleton.tsx +1 -641
- package/src/components/loading/settings-form-skeleton.tsx +3 -0
- package/src/components/loading/unified-skeleton.tsx +101 -11
- package/src/components/log-severity-dot.tsx +17 -14
- package/src/components/logs-list.tsx +43 -29
- package/src/components/media-carousel.tsx +0 -4
- package/src/components/meeting-scheduler/booking-form.tsx +245 -35
- package/src/components/meeting-scheduler/context-panel.tsx +96 -30
- package/src/components/meeting-scheduler/directory.tsx +70 -37
- package/src/components/meeting-scheduler/index.tsx +136 -132
- package/src/components/meeting-scheduler/modal-header.tsx +45 -31
- package/src/components/meeting-scheduler/slot-picker.tsx +20 -8
- package/src/components/metric-value.tsx +19 -2
- package/src/components/msp-display.tsx +25 -10
- package/src/components/navigation/app-layout.tsx +0 -3
- package/src/components/navigation/index.ts +15 -3
- package/src/components/navigation/mingo-ai-button.tsx +3 -4
- package/src/components/navigation/mobile-nav-sheet.tsx +0 -2
- package/src/components/navigation/multi-level-navigation.tsx +152 -35
- package/src/components/navigation/page-section-bar.tsx +132 -0
- package/src/components/navigation/sticky-section-nav.tsx +109 -18
- package/src/components/navigation/ticket-alerts-button.tsx +1 -1
- package/src/components/onboarding-guides/hooks/use-onboarding-guides.ts +8 -1
- package/src/components/onboarding-guides/index.ts +5 -2
- package/src/components/onboarding-guides/onboarding-guide-detail-view.tsx +166 -67
- package/src/components/onboarding-guides/onboarding-guides-catalog-skeleton.tsx +38 -51
- package/src/components/onboarding-guides/onboarding-guides-catalog-view.tsx +91 -45
- package/src/components/pagination.tsx +103 -48
- package/src/components/persistent-filter-controls.tsx +0 -7
- package/src/components/persistent-pagination.tsx +6 -1
- package/src/components/platform/ToolBadge.tsx +57 -10
- package/src/components/platform/index.ts +2 -2
- package/src/components/platform/tool-badge-mark.ts +6 -0
- package/src/components/product-demo/fixtures/devices.ts +0 -3
- package/src/components/product-demo/product-screen.tsx +42 -23
- package/src/components/product-demo/screen-loading.tsx +20 -0
- package/src/components/product-demo/screens/devices-view.tsx +58 -0
- package/src/components/product-demo/screens/devices.tsx +9 -29
- package/src/components/related-content/card-registry.tsx +20 -6
- package/src/components/related-content/index.ts +3 -1
- package/src/components/related-content/related-content-section.tsx +222 -46
- package/src/components/results-count.tsx +37 -6
- package/src/components/shared/article-author-byline.tsx +65 -41
- package/src/components/shared/delivery/delivery-lists.tsx +15 -2
- package/src/components/shared/delivery/delivery-row.tsx +55 -9
- package/src/components/shared/delivery/delivery-table.tsx +19 -46
- package/src/components/shared/detail-page-skeleton.tsx +15 -1
- package/src/components/shared/dev-section/dev-card-row.tsx +45 -28
- package/src/components/shared/dev-section/dev-section-view.tsx +1 -1
- package/src/components/shared/doc-search/use-doc-search.ts +1 -1
- package/src/components/shared/legal-document/index.ts +2 -0
- package/src/components/shared/legal-document/legal-document-page.tsx +41 -21
- package/src/components/shared/legal-document/use-legal-docs.ts +5 -1
- package/src/components/shared/legal-document/use-legal-documents.ts +4 -1
- package/src/components/shared/media-gallery-strip.tsx +35 -3
- package/src/components/shared/onboarding/index.ts +2 -5
- package/src/components/shared/product-release/index.ts +1 -1
- package/src/components/shared/product-release/product-release-card-classes.ts +28 -0
- package/src/components/shared/product-release/product-release-card-skeleton.tsx +62 -56
- package/src/components/shared/product-release/product-release-card.tsx +62 -44
- package/src/components/shared/product-release/product-releases-view.tsx +32 -24
- package/src/components/shared/product-release/release-detail-page.tsx +229 -134
- package/src/components/shared/roadmap/roadmap-grid-skeleton.tsx +20 -6
- package/src/components/shared/roadmap/roadmap-grid.tsx +59 -9
- package/src/components/shared/roadmap/roadmap-view.tsx +3 -3
- package/src/components/social-icon-row.tsx +14 -8
- package/src/components/tickets/help-center-list.tsx +6 -2
- package/src/components/tickets/hooks/use-ticket-actions.ts +0 -4
- package/src/components/tickets/index.ts +1 -2
- package/src/components/tickets/ticket-center.tsx +189 -75
- package/src/components/tickets/types.ts +0 -9
- package/src/components/toggle-group.tsx +4 -1
- package/src/components/tool-icon.tsx +2 -1
- package/src/components/ui/analyzing-state.tsx +11 -6
- package/src/components/ui/announcement-bar-view.tsx +7 -1
- package/src/components/ui/autocomplete.tsx +58 -6
- package/src/components/ui/avatar-stack.tsx +42 -3
- package/src/components/ui/badge.tsx +16 -1
- package/src/components/ui/benefit-list.tsx +41 -6
- package/src/components/ui/button/button-styles.ts +48 -0
- package/src/components/ui/button/button.tsx +5 -39
- package/src/components/ui/button/index.ts +1 -0
- package/src/components/ui/card.tsx +28 -13
- package/src/components/ui/checkbox.tsx +6 -1
- package/src/components/ui/compliance-badge.tsx +6 -2
- package/src/components/ui/cursor-pagination.tsx +28 -3
- package/src/components/ui/dashboard-info-card.tsx +29 -11
- package/src/components/ui/data-attribution.tsx +42 -12
- package/src/components/ui/data-table/data-table-body.tsx +11 -2
- package/src/components/ui/data-table/data-table-row-count.tsx +19 -1
- package/src/components/ui/data-table/data-table-row.tsx +4 -9
- package/src/components/ui/data-table/data-table-skeleton.tsx +7 -7
- package/src/components/ui/data-table/index.ts +2 -1
- package/src/components/ui/date-picker.tsx +0 -6
- package/src/components/ui/entity-image.tsx +27 -4
- package/src/components/ui/error-state.tsx +8 -1
- package/src/components/ui/feature-card.tsx +77 -12
- package/src/components/ui/feature-list.tsx +72 -8
- package/src/components/ui/field-wrapper.tsx +13 -1
- package/src/components/ui/filter-checkbox-item.tsx +57 -6
- package/src/components/ui/filter-modal.tsx +2 -6
- package/src/components/ui/filter-pill-row.tsx +81 -27
- package/src/components/ui/incident-feed.tsx +20 -11
- package/src/components/ui/index.ts +21 -1
- package/src/components/ui/info-card-row.tsx +74 -19
- package/src/components/ui/info-card.tsx +87 -13
- package/src/components/ui/input-styles.ts +6 -0
- package/src/components/ui/input.tsx +4 -1
- package/src/components/ui/layout-hold.tsx +9 -7
- package/src/components/ui/leader-row.tsx +58 -4
- package/src/components/ui/loading-scope.tsx +54 -0
- package/src/components/ui/markdown/base-components.tsx +18 -9
- package/src/components/ui/markdown/engine.tsx +131 -7
- package/src/components/ui/markdown/index.ts +8 -6
- package/src/components/ui/markdown/mermaid-diagram.tsx +7 -4
- package/src/components/ui/markdown/rich/rich-markdown-renderer.tsx +26 -1
- package/src/components/ui/markdown/simple-markdown-renderer.tsx +0 -3
- package/src/components/ui/markdown-editor.tsx +83 -50
- package/src/components/ui/numbered-step.tsx +32 -2
- package/src/components/ui/organization-card.tsx +32 -7
- package/src/components/ui/page-actions.tsx +51 -31
- package/src/components/ui/page-loader.tsx +2 -1
- package/src/components/ui/people-cell.tsx +25 -2
- package/src/components/ui/photo-wall.tsx +14 -3
- package/src/components/ui/product-screen-frame.tsx +14 -3
- package/src/components/ui/progress-bar.tsx +26 -3
- package/src/components/ui/progress.tsx +14 -3
- package/src/components/ui/release-changelog-section.tsx +153 -20
- package/src/components/ui/search-input.tsx +23 -3
- package/src/components/ui/searchable-select.tsx +26 -6
- package/src/components/ui/skeleton-surface.ts +16 -4
- package/src/components/ui/slack-channel-chip.tsx +23 -3
- package/src/components/ui/snap-carousel.tsx +5 -0
- package/src/components/ui/square-avatar.tsx +41 -23
- package/src/components/ui/stacked-rows-panel.tsx +88 -15
- package/src/components/ui/status-badge.tsx +18 -1
- package/src/components/ui/status-indicator.tsx +21 -2
- package/src/components/ui/status-line.tsx +2 -1
- package/src/components/ui/strip-card.tsx +73 -23
- package/src/components/ui/tab-navigation.tsx +141 -28
- package/src/components/ui/table/table-header.tsx +2 -2
- package/src/components/ui/table/table-row.tsx +2 -4
- package/src/components/ui/table/table-skeleton.tsx +48 -54
- package/src/components/ui/table/table.tsx +36 -19
- package/src/components/ui/table/types.ts +12 -4
- package/src/components/ui/table/utils.ts +5 -0
- package/src/components/ui/tabs.tsx +64 -4
- package/src/components/ui/tag.tsx +33 -13
- package/src/components/ui/tags-input.tsx +48 -10
- package/src/components/ui/textarea.tsx +33 -3
- package/src/components/ui/ticket-info-section.tsx +0 -2
- package/src/components/ui/timezone-select.tsx +4 -0
- package/src/components/ui/toggle.tsx +11 -5
- package/src/components/unified-pagination.tsx +15 -0
- package/src/components/user-display.tsx +53 -12
- package/src/components/user-summary-stub.tsx +7 -11
- package/src/components/vendor-display-button.tsx +15 -12
- package/src/components/vendor-icon.tsx +13 -2
- package/src/components/vendor-tag.tsx +18 -4
- package/src/embed-shims/next-image.tsx +36 -1
- package/src/hooks/state/flatten-schema.ts +0 -4
- package/src/hooks/state/index.ts +5 -3
- package/src/hooks/state/url-converter.ts +2 -2
- package/src/hooks/state/use-api-params.ts +2 -10
- package/src/hooks/ui/index.ts +1 -0
- package/src/hooks/ui/use-image-edge-color.ts +4 -1
- package/src/hooks/ui/use-onboarding-state.ts +0 -2
- package/src/hooks/use-downloads.ts +9 -1
- package/src/hooks/use-meeting-booking.ts +4 -0
- package/src/hooks/use-self-fetch.ts +12 -4
- package/src/nats/index.ts +1 -0
- package/src/nats/nats-provider.tsx +0 -2
- package/src/nats/nats.ts +0 -2
- package/src/nats/use-nats-subscription.ts +2 -1
- package/src/schemas/meeting-booking-schema.ts +11 -0
- package/src/styles/component-sizes.ts +105 -0
- package/src/types/announcement.ts +0 -3
- package/src/types/blog.ts +0 -4
- package/src/types/case-study.ts +2 -2
- package/src/types/customer-interview-ai.types.ts +1 -4
- package/src/types/customer-interview.ts +0 -11
- package/src/types/index.ts +2 -0
- package/src/types/product-release.ts +4 -2
- package/src/types/stack.ts +0 -4
- package/src/utils/announcement-storage.ts +0 -7
- package/src/utils/dev-sections/openframe-dev-sections.ts +11 -0
- package/src/utils/index.ts +6 -9
- package/src/utils/markdown-heading-id.ts +0 -28
- package/src/utils/ods-color-utils.ts +0 -4
- package/src/utils/own-click.ts +25 -0
- package/src/utils/platform-config.tsx +0 -17
- package/src/utils/source-icons.ts +2 -2
- package/dist/chunk-3ATAYP36.cjs +0 -19
- package/dist/chunk-3LU4UFPS.cjs +0 -14
- package/dist/chunk-FQWBIKF4.cjs +0 -404
- package/dist/chunk-H3RYUTND.cjs +0 -142
- package/dist/chunk-L4UI63K6.cjs +0 -103
- package/dist/chunk-NS64LMVE.cjs +0 -470
- package/dist/chunk-OF336YWG.cjs +0 -20
- package/dist/chunk-RB6BSE3O.cjs +0 -21
- package/dist/chunk-RM6AHNM4.cjs +0 -163
- package/dist/components/chat/entity-cards/product-release-card.d.ts +0 -12
- package/dist/components/chat/entity-cards/product-release-card.d.ts.map +0 -1
- package/dist/components/chat/entity-cards/product-release-card.js +0 -8
- package/dist/components/chat/hooks/use-embedded-chat.d.ts +0 -15
- package/dist/components/chat/hooks/use-embedded-chat.d.ts.map +0 -1
- package/dist/components/chat/hooks/use-embedded-chat.js +0 -6
- package/dist/components/chat/types/entities/blog.d.ts +0 -14
- package/dist/components/chat/types/entities/blog.d.ts.map +0 -1
- package/dist/components/chat/types/entities/blog.js +0 -1
- package/dist/components/chat/types/entities/case-study.d.ts +0 -10
- package/dist/components/chat/types/entities/case-study.d.ts.map +0 -1
- package/dist/components/chat/types/entities/case-study.js +0 -1
- package/dist/components/chat/types/entities/content-ref.d.ts +0 -8
- package/dist/components/chat/types/entities/content-ref.d.ts.map +0 -1
- package/dist/components/chat/types/entities/content-ref.js +0 -1
- package/dist/components/chat/types/entities/customer-interview.d.ts +0 -10
- package/dist/components/chat/types/entities/customer-interview.d.ts.map +0 -1
- package/dist/components/chat/types/entities/customer-interview.js +0 -1
- package/dist/components/chat/utils/source-icons.d.ts +0 -8
- package/dist/components/chat/utils/source-icons.d.ts.map +0 -1
- package/dist/components/chat/utils/source-icons.js +0 -16
- package/dist/utils/image-proxy-stub.d.ts +0 -14
- package/dist/utils/image-proxy-stub.d.ts.map +0 -1
- package/dist/utils/image-proxy-stub.js +0 -22
- package/src/components/chat/entity-cards/product-release-card.tsx +0 -19
- package/src/components/chat/hooks/use-embedded-chat.ts +0 -25
- package/src/components/chat/types/entities/blog.ts +0 -27
- package/src/components/chat/types/entities/case-study.ts +0 -10
- package/src/components/chat/types/entities/content-ref.ts +0 -7
- package/src/components/chat/types/entities/customer-interview.ts +0 -15
- package/src/components/chat/utils/source-icons.ts +0 -14
- package/src/utils/image-proxy-stub.ts +0 -40
|
@@ -14,12 +14,12 @@
|
|
|
14
14
|
* server answers as one flat, grouped, counted list.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import { createElement, useState, type ReactNode } from 'react';
|
|
17
|
+
import { createElement, useState, type CSSProperties, type ReactNode } from 'react';
|
|
18
18
|
import { useDebounce } from '../../hooks/ui/use-debounce';
|
|
19
19
|
import { useSelfFetch } from '../../hooks/use-self-fetch';
|
|
20
|
+
import { ICON_SIZE } from '../../styles/component-sizes';
|
|
20
21
|
import {
|
|
21
22
|
TRUST_CENTER_SEARCH_DEBOUNCE_MS,
|
|
22
|
-
TRUST_CENTER_SECTIONS,
|
|
23
23
|
normalizeTrustControlQuery,
|
|
24
24
|
trustCenterControlsUrl,
|
|
25
25
|
trustFrameworkBadge,
|
|
@@ -33,6 +33,7 @@ import {
|
|
|
33
33
|
type TrustCenterSubprocessor,
|
|
34
34
|
type TrustFrameworkMonitoringEntry,
|
|
35
35
|
} from '../../types/trust-center';
|
|
36
|
+
import { cn } from '../../utils/cn';
|
|
36
37
|
import { getFlagFromCountryName } from '../../utils/country-phone-utils';
|
|
37
38
|
import { RESCUE_FORMS } from '../../utils/form-rescue';
|
|
38
39
|
import { STICKY_HEADER_OFFSET_PX } from '../../utils/same-page-hash-nav';
|
|
@@ -47,17 +48,18 @@ import { CheckIcon } from '../icons-v2-generated/signs-and-symbols/check-icon';
|
|
|
47
48
|
import { SECTION_HEADING_CLASS } from '../layout/page-heading';
|
|
48
49
|
import { ListEmptyState } from '../list-empty-state';
|
|
49
50
|
import { LoadingRegion } from '../loading/loading-region';
|
|
50
|
-
import { TextSkeleton, UnifiedSkeleton } from '../loading/unified-skeleton';
|
|
51
|
+
import { InteractiveSkeleton, TextLineSkeleton, TextSkeleton, UnifiedSkeleton } from '../loading/unified-skeleton';
|
|
51
52
|
import { Button } from '../ui/button/button';
|
|
52
|
-
import { ComplianceLogo } from '../ui/compliance-badge';
|
|
53
|
+
import { COMPLIANCE_LOGO_SIZE_CLASS, ComplianceLogo } from '../ui/compliance-badge';
|
|
53
54
|
import { EntityImage } from '../ui/entity-image';
|
|
54
55
|
import { LoadError } from '../ui/error-state';
|
|
56
|
+
import { useLoadingScope } from '../ui/loading-scope';
|
|
55
57
|
import { ModalV2, ModalV2Content, ModalV2Header, ModalV2Title } from '../ui/modal-v2';
|
|
56
58
|
import { ScrollShadow } from '../ui/scroll-fade';
|
|
57
59
|
import { SearchInput } from '../ui/search-input';
|
|
58
60
|
import { StackedRowsPanel, type PanelRow } from '../ui/stacked-rows-panel';
|
|
59
|
-
import { StatusBadge } from '../ui/status-badge';
|
|
60
|
-
import { TabNavigation, type TabItem } from '../ui/tab-navigation';
|
|
61
|
+
import { StatusBadge, StatusBadgeSkeleton } from '../ui/status-badge';
|
|
62
|
+
import { TabNavigation, TabNavigationSkeleton, type TabItem } from '../ui/tab-navigation';
|
|
61
63
|
|
|
62
64
|
/** Monitoring `icon` vocabulary (owned by `TRUST_FRAMEWORK_MONITORING`) → icon component, ONE lookup. */
|
|
63
65
|
const FRAMEWORK_ICONS: Record<TrustFrameworkMonitoringEntry['icon'], typeof ShieldCheckIcon> = {
|
|
@@ -136,7 +138,15 @@ export function TrustSection({
|
|
|
136
138
|
* in Vanta's order: the question as the row title, the answer beneath. The
|
|
137
139
|
* first is the commitment (success shield). The page's ONE row style.
|
|
138
140
|
*/
|
|
139
|
-
export function AiSection({
|
|
141
|
+
export function AiSection({
|
|
142
|
+
practices,
|
|
143
|
+
skeletonRows,
|
|
144
|
+
}: {
|
|
145
|
+
practices: TrustCenterAiPractice[];
|
|
146
|
+
/** Rows the loading state draws (`TrustPanelRows`). Absent: the layout's fold. */
|
|
147
|
+
skeletonRows?: TrustPanelRows;
|
|
148
|
+
}) {
|
|
149
|
+
if (useLoadingScope()) return <TrustPanelSkeleton panel="ai" rows={skeletonRows} />;
|
|
140
150
|
const rows: PanelRow[] = practices.map(practice => ({
|
|
141
151
|
id: practice.label,
|
|
142
152
|
columns: [
|
|
@@ -153,7 +163,7 @@ export function AiSection({ practices }: { practices: TrustCenterAiPractice[] })
|
|
|
153
163
|
},
|
|
154
164
|
],
|
|
155
165
|
}));
|
|
156
|
-
return <StackedRowsPanel rows={rows} />;
|
|
166
|
+
return <StackedRowsPanel rows={rows} listItems />;
|
|
157
167
|
}
|
|
158
168
|
|
|
159
169
|
// ---------------------------------------------------------------------------
|
|
@@ -166,7 +176,15 @@ export function AiSection({ practices }: { practices: TrustCenterAiPractice[] })
|
|
|
166
176
|
* "Planned" — never a certification claim, which Vanta's API does
|
|
167
177
|
* not hold.
|
|
168
178
|
*/
|
|
169
|
-
export function ComplianceSection({
|
|
179
|
+
export function ComplianceSection({
|
|
180
|
+
frameworks,
|
|
181
|
+
skeletonRows,
|
|
182
|
+
}: {
|
|
183
|
+
frameworks: TrustCenterFramework[];
|
|
184
|
+
/** Rows the loading state draws (`TrustPanelRows`): a host whose frameworks are a curated list passes its length. */
|
|
185
|
+
skeletonRows?: TrustPanelRows;
|
|
186
|
+
}) {
|
|
187
|
+
if (useLoadingScope()) return <TrustPanelSkeleton panel="compliance" rows={skeletonRows} />;
|
|
170
188
|
const rows: PanelRow[] = frameworks.map(framework => {
|
|
171
189
|
const entry = trustFrameworkMonitoringEntry(framework.monitoring);
|
|
172
190
|
const Icon = FRAMEWORK_ICONS[entry.icon];
|
|
@@ -191,7 +209,7 @@ export function ComplianceSection({ frameworks }: { frameworks: TrustCenterFrame
|
|
|
191
209
|
],
|
|
192
210
|
};
|
|
193
211
|
});
|
|
194
|
-
return <StackedRowsPanel rows={rows} />;
|
|
212
|
+
return <StackedRowsPanel rows={rows} listItems />;
|
|
195
213
|
}
|
|
196
214
|
|
|
197
215
|
// ---------------------------------------------------------------------------
|
|
@@ -203,7 +221,7 @@ export function ComplianceSection({ frameworks }: { frameworks: TrustCenterFrame
|
|
|
203
221
|
* so the list box shows exactly 5 of them and scrolls for
|
|
204
222
|
* the rest.
|
|
205
223
|
*/
|
|
206
|
-
const CONTROL_ROW_CLASS = 'h-
|
|
224
|
+
const CONTROL_ROW_CLASS = 'h-[var(--control-row-h)] overflow-hidden';
|
|
207
225
|
|
|
208
226
|
/** ONE row renderer for the controls list: fixed-height rows, one line each for name and description. */
|
|
209
227
|
function controlRows(controls: TrustCenterControl[]): PanelRow[] {
|
|
@@ -226,20 +244,40 @@ function countLabel(n: number, noun: string): string {
|
|
|
226
244
|
}
|
|
227
245
|
|
|
228
246
|
/**
|
|
229
|
-
* The list box: exactly
|
|
230
|
-
*
|
|
231
|
-
* empty and error all fill this same box, so nothing below it moves.
|
|
247
|
+
* The list box: exactly `CONTROLS_SKELETON_ROWS` control rows (`CONTROL_ROW_CLASS`) plus their 1px separators and the
|
|
248
|
+
* panel's 1px border, computed from the section's row height and row count (`CONTROLS_SECTION_CLASS` and
|
|
249
|
+
* `controlsSectionStyle`). Controls, loading, empty and error all fill this same box, so nothing below it moves.
|
|
250
|
+
*/
|
|
251
|
+
const CONTROLS_LIST_HEIGHT = 'h-[calc(var(--controls-rows)*(var(--control-row-h)+1px)+2px)]';
|
|
252
|
+
|
|
253
|
+
/**
|
|
254
|
+
* The controls section's stack, loaded and loading. It states a control row's height (3.5rem, 5rem from md: one line
|
|
255
|
+
* of name, one of description), which the rows and the list box read.
|
|
232
256
|
*/
|
|
233
|
-
const
|
|
257
|
+
const CONTROLS_SECTION_CLASS =
|
|
258
|
+
'flex flex-col gap-[var(--spacing-system-m)] [--control-row-h:3.5rem] content-md:[--control-row-h:5rem]';
|
|
259
|
+
/** The controls toolbar (summary line + search), loaded and loading. */
|
|
260
|
+
const CONTROLS_TOOLBAR_CLASS =
|
|
261
|
+
'flex flex-col gap-[var(--spacing-system-s)] content-md:flex-row content-md:items-center content-md:justify-between';
|
|
262
|
+
const CONTROLS_SEARCH_CLASS = 'w-full content-md:w-80';
|
|
263
|
+
const CONTROLS_SEARCH_PLACEHOLDER = 'Search controls';
|
|
264
|
+
/** Category tabs the Controls skeleton draws (the categories are read). */
|
|
265
|
+
const CONTROLS_SKELETON_TABS = 4;
|
|
234
266
|
|
|
235
267
|
/** Skeleton rows shown in the list box while the server's answer is on its way: exactly the box's visible rows. */
|
|
236
268
|
const CONTROLS_SKELETON_ROWS = 5;
|
|
269
|
+
/** The section's row count, which the list box's height reads. */
|
|
270
|
+
const controlsSectionStyle = { '--controls-rows': CONTROLS_SKELETON_ROWS } as CSSProperties;
|
|
237
271
|
|
|
238
272
|
function controlsTabId(domain: string): string {
|
|
239
273
|
return `domain-${domain.toLowerCase().replace(/[^a-z0-9]+/g, '-')}`;
|
|
240
274
|
}
|
|
241
275
|
|
|
242
|
-
|
|
276
|
+
/**
|
|
277
|
+
* The list box while a category or a search is read. It announces itself (`LoadingRegion`) so a tab switch or a search
|
|
278
|
+
* is heard as loading; `region={false}` inside the page's own loading region, which already announced.
|
|
279
|
+
*/
|
|
280
|
+
function ControlsListSkeleton({ region = true }: { region?: boolean } = {}) {
|
|
243
281
|
const rows: PanelRow[] = Array.from({ length: CONTROLS_SKELETON_ROWS }, (_, index) => ({
|
|
244
282
|
id: `skeleton-${index}`,
|
|
245
283
|
className: CONTROL_ROW_CLASS,
|
|
@@ -255,7 +293,11 @@ function ControlsListSkeleton() {
|
|
|
255
293
|
},
|
|
256
294
|
],
|
|
257
295
|
}));
|
|
258
|
-
return
|
|
296
|
+
return (
|
|
297
|
+
<LoadingRegion label="Loading the controls" announce={region}>
|
|
298
|
+
<StackedRowsPanel rows={rows} />
|
|
299
|
+
</LoadingRegion>
|
|
300
|
+
);
|
|
259
301
|
}
|
|
260
302
|
|
|
261
303
|
/**
|
|
@@ -271,6 +313,12 @@ function ControlsListSkeleton() {
|
|
|
271
313
|
* (the page's own data), so the first paint needs no request.
|
|
272
314
|
*/
|
|
273
315
|
export function ControlsSection({ endpoint, seed }: { endpoint: string; seed: TrustCenterControlsPage }) {
|
|
316
|
+
// In a page's loading state the categories and controls are read: the section is its skeleton and reads nothing.
|
|
317
|
+
if (useLoadingScope()) return <ControlsSectionSkeleton />;
|
|
318
|
+
return <ControlsSectionLoaded endpoint={endpoint} seed={seed} />;
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
function ControlsSectionLoaded({ endpoint, seed }: { endpoint: string; seed: TrustCenterControlsPage }) {
|
|
274
322
|
const [domain, setDomain] = useState<string | null>(seed.domain);
|
|
275
323
|
const [typed, setTyped] = useState('');
|
|
276
324
|
const query = useDebounce(normalizeTrustControlQuery(typed), TRUST_CENTER_SEARCH_DEBOUNCE_MS);
|
|
@@ -295,9 +343,11 @@ export function ControlsSection({ endpoint, seed }: { endpoint: string; seed: Tr
|
|
|
295
343
|
const activeDomain = current?.domain ?? domain;
|
|
296
344
|
const activeTab = activeDomain ? controlsTabId(activeDomain) : '';
|
|
297
345
|
|
|
298
|
-
let summary:
|
|
346
|
+
let summary: ReactNode;
|
|
299
347
|
if (answer.error && !current) summary = 'Controls are unavailable';
|
|
300
|
-
else if (!current) summary =
|
|
348
|
+
else if (!current && typedQuery) summary = `Searching for “${typedQuery}”…`;
|
|
349
|
+
// A category's first read: the summary's line as the skeleton's own bar (`ControlsSectionSkeleton`).
|
|
350
|
+
else if (!current) summary = <ControlsSummarySkeleton />;
|
|
301
351
|
else if (query)
|
|
302
352
|
summary = `${current.controls.length} in ${current.domain} match “${query}” · ${countLabel(total, 'control')} in total`;
|
|
303
353
|
else summary = `${countLabel(current.controls.length, 'passing control')} in ${current.domain}`;
|
|
@@ -325,7 +375,7 @@ export function ControlsSection({ endpoint, seed }: { endpoint: string; seed: Tr
|
|
|
325
375
|
}
|
|
326
376
|
|
|
327
377
|
return (
|
|
328
|
-
<div className=
|
|
378
|
+
<div className={CONTROLS_SECTION_CLASS} style={controlsSectionStyle}>
|
|
329
379
|
<TabNavigation
|
|
330
380
|
tabs={tabs}
|
|
331
381
|
activeTab={activeTab}
|
|
@@ -333,13 +383,13 @@ export function ControlsSection({ endpoint, seed }: { endpoint: string; seed: Tr
|
|
|
333
383
|
setDomain(categories.find(category => controlsTabId(category.domain) === tabId)?.domain ?? null)
|
|
334
384
|
}
|
|
335
385
|
/>
|
|
336
|
-
<div className=
|
|
386
|
+
<div className={CONTROLS_TOOLBAR_CLASS}>
|
|
337
387
|
<p className={BODY_TEXT} aria-live="polite">
|
|
338
388
|
{summary}
|
|
339
389
|
</p>
|
|
340
|
-
<div className=
|
|
390
|
+
<div className={CONTROLS_SEARCH_CLASS}>
|
|
341
391
|
<SearchInput
|
|
342
|
-
placeholder=
|
|
392
|
+
placeholder={CONTROLS_SEARCH_PLACEHOLDER}
|
|
343
393
|
value={typed}
|
|
344
394
|
onChange={setTyped}
|
|
345
395
|
debounceMs={0}
|
|
@@ -362,13 +412,17 @@ export function DocumentsSection({
|
|
|
362
412
|
documents,
|
|
363
413
|
documentUrl,
|
|
364
414
|
onRequest,
|
|
415
|
+
skeletonRows,
|
|
365
416
|
}: {
|
|
366
417
|
documents: TrustCenterDocument[];
|
|
418
|
+
/** Rows the loading state draws (`TrustPanelRows`). Absent: the layout's fold. */
|
|
419
|
+
skeletonRows?: TrustPanelRows;
|
|
367
420
|
/** Where a public document opens (`trustCenterDocumentUrl`); `null` → offer a request instead. */
|
|
368
421
|
documentUrl: (document: TrustCenterDocument) => string | null;
|
|
369
422
|
/** Open the ONE access request, optionally for a named document. */
|
|
370
423
|
onRequest: (documentTitle: string | null) => void;
|
|
371
424
|
}) {
|
|
425
|
+
if (useLoadingScope()) return <TrustPanelSkeleton panel="documents" rows={skeletonRows} />;
|
|
372
426
|
const rows: PanelRow[] = documents.map(document => {
|
|
373
427
|
const gated = document.access === 'request';
|
|
374
428
|
const href = gated ? null : documentUrl(document);
|
|
@@ -409,7 +463,7 @@ export function DocumentsSection({
|
|
|
409
463
|
],
|
|
410
464
|
};
|
|
411
465
|
});
|
|
412
|
-
return <StackedRowsPanel rows={rows} />;
|
|
466
|
+
return <StackedRowsPanel rows={rows} listItems />;
|
|
413
467
|
}
|
|
414
468
|
|
|
415
469
|
/**
|
|
@@ -467,6 +521,9 @@ export function DocumentRequestModal({
|
|
|
467
521
|
// Subprocessors
|
|
468
522
|
// ---------------------------------------------------------------------------
|
|
469
523
|
|
|
524
|
+
/** A row's glyph mark (a subprocessor's icon, a document's glyph): read by the rows and their skeleton. */
|
|
525
|
+
const TRUST_GLYPH_SIZE_CLASS = ICON_SIZE.lg;
|
|
526
|
+
|
|
470
527
|
/**
|
|
471
528
|
* A subprocessor's mark, best source first: its own site's icon (the hub looks
|
|
472
529
|
* it up from the website Vanta holds), else the brand logo our icon set has for
|
|
@@ -474,14 +531,15 @@ export function DocumentRequestModal({
|
|
|
474
531
|
* icon that fails to load falls back to.
|
|
475
532
|
*/
|
|
476
533
|
function subprocessorMark({ name, logoUrl }: TrustCenterSubprocessor): ReactNode {
|
|
477
|
-
if (logoUrl)
|
|
534
|
+
if (logoUrl)
|
|
535
|
+
return <EntityImage src={logoUrl} alt={name} fallbackText={name} sizeClassName={TRUST_GLYPH_SIZE_CLASS} />;
|
|
478
536
|
const logo = brandLogoForName(name);
|
|
479
537
|
return logo ? (
|
|
480
538
|
<span role="img" aria-label={name} className="flex">
|
|
481
|
-
{createElement(logo, { className:
|
|
539
|
+
{createElement(logo, { className: TRUST_GLYPH_SIZE_CLASS })}
|
|
482
540
|
</span>
|
|
483
541
|
) : (
|
|
484
|
-
<EntityImage alt={name} fallbackText={name} sizeClassName=
|
|
542
|
+
<EntityImage alt={name} fallbackText={name} sizeClassName={TRUST_GLYPH_SIZE_CLASS} />
|
|
485
543
|
);
|
|
486
544
|
}
|
|
487
545
|
|
|
@@ -491,7 +549,15 @@ function countryWithFlag(country: string): string {
|
|
|
491
549
|
return flag ? `${flag} ${country}` : country;
|
|
492
550
|
}
|
|
493
551
|
|
|
494
|
-
export function SubprocessorsSection({
|
|
552
|
+
export function SubprocessorsSection({
|
|
553
|
+
subprocessors,
|
|
554
|
+
skeletonRows,
|
|
555
|
+
}: {
|
|
556
|
+
subprocessors: TrustCenterSubprocessor[];
|
|
557
|
+
/** Rows the loading state draws (`TrustPanelRows`). Absent: the layout's fold. */
|
|
558
|
+
skeletonRows?: TrustPanelRows;
|
|
559
|
+
}) {
|
|
560
|
+
if (useLoadingScope()) return <TrustPanelSkeleton panel="subprocessors" rows={skeletonRows} />;
|
|
495
561
|
// The location column exists only when Vanta holds a location for at least one of them.
|
|
496
562
|
const anyLocation = subprocessors.some(subprocessor => subprocessor.location);
|
|
497
563
|
const rows: PanelRow[] = subprocessors.map(subprocessor => ({
|
|
@@ -518,11 +584,11 @@ export function SubprocessorsSection({ subprocessors }: { subprocessors: TrustCe
|
|
|
518
584
|
: []),
|
|
519
585
|
],
|
|
520
586
|
}));
|
|
521
|
-
return <StackedRowsPanel rows={rows} />;
|
|
587
|
+
return <StackedRowsPanel rows={rows} listItems />;
|
|
522
588
|
}
|
|
523
589
|
|
|
524
590
|
// ---------------------------------------------------------------------------
|
|
525
|
-
// Contact
|
|
591
|
+
// Contact
|
|
526
592
|
// ---------------------------------------------------------------------------
|
|
527
593
|
|
|
528
594
|
/**
|
|
@@ -567,144 +633,135 @@ export function ContactSection({ onContact }: { onContact: () => void }) {
|
|
|
567
633
|
// Skeleton
|
|
568
634
|
// ---------------------------------------------------------------------------
|
|
569
635
|
|
|
570
|
-
/**
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
636
|
+
/**
|
|
637
|
+
* Rows a panel's skeleton draws, on a phone (below `content-md`) and from `content-md`: the rows of a panel one screen
|
|
638
|
+
* holds below its section's heading (a row of a typical description is about 100px on a phone and 80px wide). The
|
|
639
|
+
* panels list what the host's data lists, so the skeleton draws the layout's fold, never one record set's length; a
|
|
640
|
+
* host whose list is curated passes its length (each section's `skeletonRows`, the page's `panelSkeletonRows`).
|
|
641
|
+
*/
|
|
642
|
+
const TRUST_PANEL_FOLD = { phone: 4, wide: 5 } as const;
|
|
643
|
+
|
|
644
|
+
/** The panels whose rows `TrustPanelSkeleton` draws (Controls, Contact and the FAQ draw their own). */
|
|
645
|
+
export type TrustCenterPanelId = 'compliance' | 'documents' | 'subprocessors' | 'ai';
|
|
646
|
+
|
|
647
|
+
/** Rows a panel's skeleton draws: one count, or one per breakpoint. */
|
|
648
|
+
export type TrustPanelRows = number | { phone: number; wide: number };
|
|
649
|
+
|
|
650
|
+
/**
|
|
651
|
+
* Each panel's row: its mark (a 40px compliance logo or a 24px glyph), its right-hand cell, and the lines its TYPICAL
|
|
652
|
+
* description takes (`text-h6` lines) on a phone (below `content-md`) and from `content-md`. A framework's or an AI
|
|
653
|
+
* statement's text is a few sentences that wrap in a phone's narrow cell; a document's and a subprocessor's is a short
|
|
654
|
+
* phrase on one line. A description longer than typical is the record's length, a settle below its row.
|
|
655
|
+
*/
|
|
656
|
+
const TRUST_PANEL_SHAPES: Record<
|
|
657
|
+
TrustCenterPanelId,
|
|
658
|
+
{ mark: 'logo' | 'glyph'; action: 'badge' | 'button' | 'none'; lines: { phone: number; wide: number } }
|
|
659
|
+
> = {
|
|
660
|
+
compliance: { mark: 'logo', action: 'badge', lines: { phone: 4, wide: 1 } },
|
|
661
|
+
documents: { mark: 'glyph', action: 'button', lines: { phone: 1, wide: 1 } },
|
|
662
|
+
subprocessors: { mark: 'glyph', action: 'none', lines: { phone: 1, wide: 1 } },
|
|
663
|
+
ai: { mark: 'glyph', action: 'none', lines: { phone: 6, wide: 2 } },
|
|
664
|
+
};
|
|
665
|
+
|
|
666
|
+
function panelFold(rows: TrustPanelRows | undefined): { phone: number; wide: number } {
|
|
667
|
+
if (rows === undefined) return TRUST_PANEL_FOLD;
|
|
668
|
+
return typeof rows === 'number' ? { phone: rows, wide: rows } : rows;
|
|
583
669
|
}
|
|
584
670
|
|
|
585
671
|
/**
|
|
586
|
-
*
|
|
587
|
-
* cells hold bars:
|
|
588
|
-
*
|
|
672
|
+
* A panel section while it is read: rows of the REAL `StackedRowsPanel` (its own row heights and borders, each row a
|
|
673
|
+
* read list item) whose cells hold bars: the panel's mark, a value over its typical description, and the right-hand
|
|
674
|
+
* badge or button in the page's `ACTION_COLUMN`.
|
|
589
675
|
*/
|
|
590
|
-
function
|
|
591
|
-
|
|
676
|
+
function TrustPanelSkeleton({ panel, rows }: { panel: TrustCenterPanelId; rows?: TrustPanelRows }) {
|
|
677
|
+
const shape = TRUST_PANEL_SHAPES[panel];
|
|
678
|
+
const fold = panelFold(rows);
|
|
679
|
+
const panelRows: PanelRow[] = Array.from({ length: Math.max(fold.phone, fold.wide) }, (_, index) => ({
|
|
592
680
|
id: `skeleton-${index}`,
|
|
681
|
+
// A row past a breakpoint's fold is not drawn there; the last row drawn on a phone drops its divider like the
|
|
682
|
+
// panel's last row (`last:` cannot see a hidden sibling).
|
|
683
|
+
className: cn(
|
|
684
|
+
index >= fold.phone && 'hidden content-md:flex',
|
|
685
|
+
index >= fold.wide && 'content-md:hidden',
|
|
686
|
+
fold.phone < fold.wide && index === fold.phone - 1 && 'content-max-md:border-b-0',
|
|
687
|
+
fold.wide < fold.phone && index === fold.wide - 1 && 'content-md:border-b-0',
|
|
688
|
+
),
|
|
593
689
|
columns: [
|
|
594
690
|
{
|
|
691
|
+
// The loaded rows' own cell (leading mark, `text-h4` value over a wrapping `text-h6` label): the panel lays
|
|
692
|
+
// the bars out exactly as it lays out the text.
|
|
595
693
|
key: 'item',
|
|
596
|
-
|
|
597
|
-
<
|
|
598
|
-
|
|
599
|
-
|
|
694
|
+
leadingIcon: (
|
|
695
|
+
<UnifiedSkeleton
|
|
696
|
+
className={
|
|
697
|
+
shape.mark === 'logo'
|
|
698
|
+
? cn(COMPLIANCE_LOGO_SIZE_CLASS, 'shrink-0 rounded-full')
|
|
699
|
+
: cn(TRUST_GLYPH_SIZE_CLASS, 'shrink-0 rounded')
|
|
700
|
+
}
|
|
701
|
+
/>
|
|
702
|
+
),
|
|
703
|
+
value: <TextLineSkeleton type="inherit" as="span" className="w-1/3" />,
|
|
704
|
+
label: (
|
|
705
|
+
<>
|
|
706
|
+
<TextLineSkeleton type="inherit" as="span" lines={shape.lines.phone} className="w-full content-md:hidden" />
|
|
707
|
+
<TextLineSkeleton
|
|
708
|
+
type="inherit"
|
|
709
|
+
as="span"
|
|
710
|
+
lines={shape.lines.wide}
|
|
711
|
+
className="hidden w-full content-md:block"
|
|
600
712
|
/>
|
|
601
|
-
|
|
602
|
-
<UnifiedSkeleton variant="text" className="h-5 w-1/3 content-md:h-6" />
|
|
603
|
-
<TextSkeleton.Body className="w-1/2" />
|
|
604
|
-
</div>
|
|
605
|
-
</div>
|
|
713
|
+
</>
|
|
606
714
|
),
|
|
715
|
+
wrap: true,
|
|
607
716
|
},
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
717
|
+
...(shape.action === 'none'
|
|
718
|
+
? []
|
|
719
|
+
: [
|
|
720
|
+
{
|
|
721
|
+
key: 'action',
|
|
722
|
+
width: ACTION_COLUMN,
|
|
723
|
+
align: 'right' as const,
|
|
724
|
+
content:
|
|
725
|
+
shape.action === 'badge' ? (
|
|
726
|
+
<StatusBadgeSkeleton />
|
|
727
|
+
) : (
|
|
728
|
+
// The rows' action is a `size="small"` Button: its own size classes.
|
|
729
|
+
<InteractiveSkeleton.Button size="small" className="w-16" />
|
|
730
|
+
),
|
|
731
|
+
},
|
|
732
|
+
]),
|
|
619
733
|
],
|
|
620
734
|
}));
|
|
735
|
+
return <StackedRowsPanel rows={panelRows} listItems />;
|
|
736
|
+
}
|
|
737
|
+
|
|
738
|
+
/** The controls summary line while its counts are read. */
|
|
739
|
+
function ControlsSummarySkeleton() {
|
|
740
|
+
return <TextLineSkeleton as="span" type="h6" className="w-48" />;
|
|
621
741
|
}
|
|
622
742
|
|
|
623
|
-
/** The Controls section while loading: its tab strip, its summary and search, and the list box's
|
|
743
|
+
/** The Controls section while loading: its tab strip, its summary and the real search, and the list box's skeleton. */
|
|
624
744
|
function ControlsSectionSkeleton() {
|
|
625
745
|
return (
|
|
626
|
-
<div className=
|
|
627
|
-
<
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
746
|
+
<div className={CONTROLS_SECTION_CLASS} style={controlsSectionStyle}>
|
|
747
|
+
<TabNavigationSkeleton count={CONTROLS_SKELETON_TABS} />
|
|
748
|
+
<div className={CONTROLS_TOOLBAR_CLASS}>
|
|
749
|
+
<p className={BODY_TEXT}>
|
|
750
|
+
<ControlsSummarySkeleton />
|
|
751
|
+
</p>
|
|
752
|
+
<div className={CONTROLS_SEARCH_CLASS}>
|
|
753
|
+
<SearchInput
|
|
754
|
+
placeholder={CONTROLS_SEARCH_PLACEHOLDER}
|
|
755
|
+
value=""
|
|
756
|
+
onChange={() => undefined}
|
|
757
|
+
debounceMs={0}
|
|
758
|
+
showDropdown={false}
|
|
759
|
+
/>
|
|
760
|
+
</div>
|
|
637
761
|
</div>
|
|
638
762
|
<div className={CONTROLS_LIST_HEIGHT}>
|
|
639
|
-
<ControlsListSkeleton />
|
|
763
|
+
<ControlsListSkeleton region={false} />
|
|
640
764
|
</div>
|
|
641
765
|
</div>
|
|
642
766
|
);
|
|
643
767
|
}
|
|
644
|
-
|
|
645
|
-
/** The section rail while loading: `StickySectionNav`'s line and its 40px items. */
|
|
646
|
-
function SectionRailSkeleton() {
|
|
647
|
-
return (
|
|
648
|
-
<div className="sticky" style={{ top: STICKY_HEADER_OFFSET_PX }}>
|
|
649
|
-
<div className="relative">
|
|
650
|
-
<div
|
|
651
|
-
className="absolute -left-0.5 top-0 w-px bg-ods-border"
|
|
652
|
-
style={{ height: TRUST_CENTER_SECTIONS.length * 40 }}
|
|
653
|
-
/>
|
|
654
|
-
{TRUST_CENTER_SECTIONS.map(section => (
|
|
655
|
-
<div key={section.id} className="flex h-10 items-center px-3 py-2">
|
|
656
|
-
<TextSkeleton.Body className="w-24" />
|
|
657
|
-
</div>
|
|
658
|
-
))}
|
|
659
|
-
</div>
|
|
660
|
-
</div>
|
|
661
|
-
);
|
|
662
|
-
}
|
|
663
|
-
|
|
664
|
-
/**
|
|
665
|
-
* The page BODY while the trust center loads: built on the loaded body's own
|
|
666
|
-
* layout classes and the real section headings and panels, so nothing moves when
|
|
667
|
-
* the content replaces it. The status row, then Compliance, Controls and
|
|
668
|
-
* Documents (what fills the first screens), beside the section rail.
|
|
669
|
-
*/
|
|
670
|
-
export function TrustCenterSkeleton({
|
|
671
|
-
region = true,
|
|
672
|
-
}: {
|
|
673
|
-
/** The loading state announces itself (`LoadingRegion`). `false` inside another loading region. Default `true`. */
|
|
674
|
-
region?: boolean;
|
|
675
|
-
} = {}) {
|
|
676
|
-
return (
|
|
677
|
-
<>
|
|
678
|
-
<div className={TRUST_STATUS_ROW_CLASS} aria-hidden="true">
|
|
679
|
-
<div className="flex items-center gap-1.5">
|
|
680
|
-
<UnifiedSkeleton className="size-3 rounded-full" />
|
|
681
|
-
<TextSkeleton.Body className="w-44" />
|
|
682
|
-
</div>
|
|
683
|
-
{/* `DataAttribution`'s own layout: two lines below `sm`, one row above it. */}
|
|
684
|
-
<div className="flex shrink-0 flex-col gap-[var(--spacing-system-xsf)] content-sm:flex-row content-sm:items-center content-sm:gap-[var(--spacing-system-sf)]">
|
|
685
|
-
<div className="flex items-center gap-[var(--spacing-system-xsf)]">
|
|
686
|
-
<UnifiedSkeleton className="size-4 rounded" />
|
|
687
|
-
<TextSkeleton.Body className="w-36" />
|
|
688
|
-
</div>
|
|
689
|
-
<TextSkeleton.Body className="w-44" />
|
|
690
|
-
</div>
|
|
691
|
-
</div>
|
|
692
|
-
<LoadingRegion label="Loading the trust center" announce={region} className={TRUST_BODY_GRID_CLASS}>
|
|
693
|
-
<div className={TRUST_SECTIONS_COLUMN_CLASS}>
|
|
694
|
-
<SkeletonSection id="compliance">
|
|
695
|
-
<StackedRowsPanel rows={skeletonRows(3, { mark: 'logo', action: 'badge' })} />
|
|
696
|
-
</SkeletonSection>
|
|
697
|
-
<SkeletonSection id="controls">
|
|
698
|
-
<ControlsSectionSkeleton />
|
|
699
|
-
</SkeletonSection>
|
|
700
|
-
<SkeletonSection id="documents">
|
|
701
|
-
<StackedRowsPanel rows={skeletonRows(2, { mark: 'glyph', action: 'button' })} />
|
|
702
|
-
</SkeletonSection>
|
|
703
|
-
</div>
|
|
704
|
-
<aside className="hidden content-lg:block" aria-hidden="true">
|
|
705
|
-
<SectionRailSkeleton />
|
|
706
|
-
</aside>
|
|
707
|
-
</LoadingRegion>
|
|
708
|
-
</>
|
|
709
|
-
);
|
|
710
|
-
}
|
|
@@ -5,6 +5,8 @@ import Image from '../embed-shims/next-image';
|
|
|
5
5
|
import { cn } from '../utils/cn';
|
|
6
6
|
import { AGENT_GLYPH_COLOR, AGENT_PICTURE_CLASS, useAgentIdentityIcon } from './agent-identity';
|
|
7
7
|
import { resolveIcon } from './chat/utils/icon-library';
|
|
8
|
+
import { UnifiedSkeleton } from './loading/unified-skeleton';
|
|
9
|
+
import { useLoadingScope } from './ui/loading-scope';
|
|
8
10
|
|
|
9
11
|
/** Unified icon value used across the app (announcement bar, chat quick actions,
|
|
10
12
|
* AI-agent identity). Exactly one of `name`/`url` is typically set. */
|
|
@@ -40,6 +42,13 @@ export function EntityIcon({
|
|
|
40
42
|
// An agent named by its slug is drawn from its identity (`AgentIdentityProvider`):
|
|
41
43
|
// its uploaded picture, or the glyph the identity names with the identity's props.
|
|
42
44
|
const identity = useAgentIdentityIcon(icon?.url ? null : icon?.name);
|
|
45
|
+
const held = useLoadingScope();
|
|
46
|
+
// In a loading scope the icon is data still being read: a box of its size.
|
|
47
|
+
if (held) {
|
|
48
|
+
return (
|
|
49
|
+
<UnifiedSkeleton as="span" width={size} height={size} className={cn('inline-block shrink-0 rounded-md', className)} />
|
|
50
|
+
);
|
|
51
|
+
}
|
|
43
52
|
if (!icon?.url && identity?.url) {
|
|
44
53
|
// An agent's picture: a square file, cropped to a circle like every picture of an agent.
|
|
45
54
|
return (
|
package/src/components/index.ts
CHANGED
|
@@ -93,19 +93,25 @@ export * from './shared/delivery';
|
|
|
93
93
|
// Legal-document shared component (privacy policy, terms of service)
|
|
94
94
|
export * from './shared/legal-document';
|
|
95
95
|
|
|
96
|
-
// Detail Page Skeleton
|
|
96
|
+
// Detail Page Skeleton (deprecated: kept for hosts on an older release)
|
|
97
97
|
export { DetailPageSkeleton, type DetailPageSkeletonProps } from './shared/detail-page-skeleton';
|
|
98
98
|
|
|
99
99
|
// Author byline card (end-of-article author description) — embeddable via
|
|
100
100
|
// embed-shims + optional-runtime avatar proxying; hosts pass their own
|
|
101
101
|
// fallbackBio copy (the hub uses defaultAuthorFallbackBio()).
|
|
102
|
-
export {
|
|
102
|
+
export {
|
|
103
|
+
ArticleAuthorByline,
|
|
104
|
+
ArticleAuthorBylineSkeleton,
|
|
105
|
+
type ArticleAuthorBylineProps,
|
|
106
|
+
} from './shared/article-author-byline';
|
|
103
107
|
|
|
104
108
|
// Read-only media gallery strip (horizontal scroll; images → lightbox, clips →
|
|
105
109
|
// inline Video). Single source of truth for the detail-page media gallery —
|
|
106
110
|
// used by product-release + What I Shipped detail pages.
|
|
107
111
|
export {
|
|
108
112
|
MediaGalleryStrip,
|
|
113
|
+
MediaGalleryStripSkeleton,
|
|
114
|
+
MEDIA_GALLERY_STRIP_SKELETON_COUNT,
|
|
109
115
|
type MediaGalleryStripItem,
|
|
110
116
|
type MediaGalleryStripProps,
|
|
111
117
|
} from './shared/media-gallery-strip';
|
|
@@ -122,3 +128,6 @@ export { EntityIcon, type EntityIconValue } from './icon-display';
|
|
|
122
128
|
// An icon stated as DATA (its name, and a mark's own colours) and loaded when it is drawn: what a table keyed by a
|
|
123
129
|
// string (a platform, a provider, a job) holds in place of imported icon components.
|
|
124
130
|
export { NamedIcon, PlatformMark, type IconRef } from './chat/utils/icon-loading';
|
|
131
|
+
export { AGENT_IDENTITIES_API_PATH } from '../hooks/use-agent-identities';
|
|
132
|
+
export type { AgentIdentityIcon, AgentIdentityIcons } from '../hooks/use-agent-identities';
|
|
133
|
+
export type { SocialIconLink } from '../utils/social-platforms';
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import React, { forwardRef } from 'react';
|
|
4
4
|
import { useInteractiveState, type InteractiveState } from '../hooks/use-interactive-state';
|
|
5
5
|
import { cn } from '../utils/cn';
|
|
6
|
+
import { LIVE_PULSE_CLASS } from './ui/skeleton-surface';
|
|
6
7
|
|
|
7
8
|
interface InteractiveOptions {
|
|
8
9
|
enableHover?: boolean;
|
|
@@ -175,7 +176,7 @@ export const InteractiveWrapper = forwardRef<HTMLElement, InteractiveWrapperProp
|
|
|
175
176
|
) : null,
|
|
176
177
|
/* Loading Overlay */
|
|
177
178
|
loading ? (
|
|
178
|
-
<div key="loading" className=
|
|
179
|
+
<div key="loading" className={cn('pointer-events-none absolute inset-0 bg-current opacity-10', LIVE_PULSE_CLASS)} />
|
|
179
180
|
) : null,
|
|
180
181
|
);
|
|
181
182
|
},
|
|
@@ -7,10 +7,12 @@ import { cn } from '../../utils/cn';
|
|
|
7
7
|
import { Filter02Icon, SearchIcon } from '../icons-v2-generated';
|
|
8
8
|
import { Button } from '../ui/button';
|
|
9
9
|
import { PageError } from '../ui/error-state';
|
|
10
|
-
import { FilterModal, type FilterGroup
|
|
10
|
+
import { FilterModal, type FilterGroup } from '../ui/filter-modal';
|
|
11
11
|
import { Input } from '../ui/input';
|
|
12
|
+
import type { PageActionButton } from '../ui/page-actions';
|
|
13
|
+
import type { SortConfig, SortDirection } from '../ui/sort-column-item';
|
|
12
14
|
import type { TableFilters } from '../ui/table/types';
|
|
13
|
-
import { ListPageContainer
|
|
15
|
+
import { ListPageContainer } from './page-container';
|
|
14
16
|
|
|
15
17
|
export interface ListPageLayoutProps {
|
|
16
18
|
title: string;
|
|
@@ -203,8 +205,5 @@ export function ListPageLayout({
|
|
|
203
205
|
);
|
|
204
206
|
}
|
|
205
207
|
|
|
206
|
-
// Re-export PageActionButton type for convenience
|
|
207
|
-
export type { PageActionButton } from './page-container';
|
|
208
|
-
|
|
209
208
|
/** @deprecated Use `PageLayout` from `'../layout/page-layout'` instead. */
|
|
210
209
|
export default ListPageLayout;
|