@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
|
@@ -12,10 +12,11 @@ import { serializeJsonLd } from '../../utils/common';
|
|
|
12
12
|
import { faqSectionSlug, parseFaqHash, type FaqHashTarget } from '../../utils/faq-anchor';
|
|
13
13
|
import { navigateSamePageHash, STICKY_HEADER_OFFSET_PX } from '../../utils/same-page-hash-nav';
|
|
14
14
|
import { buildSuggestionUrl } from '../../utils/suggestion-url';
|
|
15
|
-
import { FaqAccordion, type FaqItem } from '../faq-accordion';
|
|
15
|
+
import { FAQ_ACCORDION_SKELETON_ROWS, FaqAccordion, FaqAccordionSkeleton, type FaqItem } from '../faq-accordion';
|
|
16
16
|
import { SECTION_HEADING_CLASS } from '../layout/page-heading';
|
|
17
17
|
import { LoadingRegion } from '../loading/loading-region';
|
|
18
|
-
import {
|
|
18
|
+
import { TextLineSkeleton } from '../loading/unified-skeleton';
|
|
19
|
+
import { useLoadingScope } from '../ui/loading-scope';
|
|
19
20
|
import { FaqAskCard, faqAskCardShown, type FaqAskOptions } from './faq-ask-card';
|
|
20
21
|
import { buildFaqJsonLdFromFaqs, type FaqSchemaOptions } from './json-ld';
|
|
21
22
|
|
|
@@ -87,10 +88,136 @@ export interface FaqSectionProps {
|
|
|
87
88
|
* (`onOpen`). An `aside` takes the card's place.
|
|
88
89
|
*/
|
|
89
90
|
ask?: false | FaqAskOptions;
|
|
91
|
+
/**
|
|
92
|
+
* The loading state's groups of questions, in order: THE one way to say what the skeleton draws (see
|
|
93
|
+
* `FaqSkeletonShape`). Absent: one group with no category heading, of `minResults` rows (else one screen of rows).
|
|
94
|
+
*/
|
|
95
|
+
skeletonShape?: FaqSkeletonShape;
|
|
96
|
+
/**
|
|
97
|
+
* The host's FAQs fall into named categories, so the loaded block draws its category nav (the platform's full,
|
|
98
|
+
* categorised list): the loading state draws the nav's row too, so what follows it (the ask card) does not move.
|
|
99
|
+
* Default false (a nav only when `skeletonShape` names two or more categories).
|
|
100
|
+
*/
|
|
101
|
+
skeletonNav?: boolean;
|
|
90
102
|
}
|
|
91
103
|
|
|
92
104
|
const DEFAULT_HEADING_TEXT = 'Frequently Asked Questions';
|
|
93
105
|
|
|
106
|
+
/** The block's layout, read by the block and by its skeleton, so the skeleton is the block's size. */
|
|
107
|
+
const SECTION_DEFAULT_CLASS = 'space-y-10';
|
|
108
|
+
/** The nav's gap to its neighbour, inside the nav's own wrapper (padding), so the nav takes its gap with it. */
|
|
109
|
+
const NAV_ABOVE_QUESTIONS_CLASS = 'pb-8';
|
|
110
|
+
const NAV_BELOW_HEADING_CLASS = 'pt-8';
|
|
111
|
+
const QUESTIONS_STACK_CLASS = 'space-y-10';
|
|
112
|
+
// `grid-cols-1` (a `minmax(0, 1fr)` track): one column never grows to a child's content width (the nav skeleton's
|
|
113
|
+
// one-line pill row is wider than a phone).
|
|
114
|
+
const ASIDE_GRID_CLASS =
|
|
115
|
+
'grid grid-cols-1 gap-10 content-lg:grid-cols-[minmax(0,1fr)_minmax(0,2fr)] content-lg:grid-rows-[auto_1fr] content-lg:gap-x-16';
|
|
116
|
+
const ASIDE_QUESTIONS_CELL_CLASS = 'content-lg:col-start-2 content-lg:row-span-2 content-lg:row-start-1';
|
|
117
|
+
const ASIDE_CELL_CLASS = 'content-lg:col-start-1 content-lg:row-start-2';
|
|
118
|
+
const TOPIC_STACK_CLASS = 'space-y-1';
|
|
119
|
+
const TOPIC_CLASS = 'text-ods-text-muted text-h6';
|
|
120
|
+
const CATEGORY_NAV_CLASS = 'flex flex-wrap gap-2';
|
|
121
|
+
/**
|
|
122
|
+
* The nav's row while the categories are read (`skeletonNav`): which categories there are, and how many, is read data,
|
|
123
|
+
* so the skeleton draws ONE line of pills, the pills that do not fit cut off at its edge (never wrapped to a second
|
|
124
|
+
* line). `FAQ_NAV_SKELETON_PILLS` is more than the widest column holds on one line.
|
|
125
|
+
*/
|
|
126
|
+
const CATEGORY_NAV_SKELETON_LINE_CLASS = 'flex min-w-0 flex-nowrap gap-2 overflow-hidden';
|
|
127
|
+
const FAQ_NAV_SKELETON_PILLS = 8;
|
|
128
|
+
const CATEGORY_PILL_CLASS = 'rounded-full border px-4 py-2 transition-colors text-h6';
|
|
129
|
+
const CATEGORY_SECTION_CLASS = 'scroll-mt-24';
|
|
130
|
+
/**
|
|
131
|
+
* A category's heading, with the gap to its questions inside its own box (padding, not the group's spacing): only a
|
|
132
|
+
* named group has one, so it is the group's optional part (`data-loading-optional`) and takes its gap with it, unless
|
|
133
|
+
* the host declared its FAQs categorised (`skeletonNav`): then every group it draws is named, loading and loaded.
|
|
134
|
+
*/
|
|
135
|
+
const CATEGORY_HEADING_CLASS = cn(SECTION_HEADING_CLASS, 'pb-4');
|
|
136
|
+
/** Questions the block's skeleton draws when the host states no count (`minResults`): one screen of the accordion's rows. */
|
|
137
|
+
export const FAQ_SECTION_SKELETON_QUESTIONS = FAQ_ACCORDION_SKELETON_ROWS;
|
|
138
|
+
|
|
139
|
+
/** One group of questions the FAQ's loading state draws. */
|
|
140
|
+
export interface FaqSkeletonGroup {
|
|
141
|
+
/** The group is a named category: drawn with its heading bar (and counted for the category nav). Default false. */
|
|
142
|
+
heading?: boolean;
|
|
143
|
+
/** Question rows the group draws. Default `FAQ_SECTION_SKELETON_QUESTIONS`, one screen of rows. */
|
|
144
|
+
rows?: number;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* What the FAQ's loading state draws, group by group in order: the one shape `FaqSection`, `FaqSectionSkeleton`,
|
|
149
|
+
* `FaqDocumentPage` and `TrustCenterPage` take. Stated by the host from what it knows before the read (its FAQs are
|
|
150
|
+
* filed in categories, the server's page size), never copied from today's FAQs.
|
|
151
|
+
*/
|
|
152
|
+
export type FaqSkeletonShape = readonly FaqSkeletonGroup[];
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* The block's arrangement, for the loaded list and its skeleton alike: without an aside the category nav above the
|
|
156
|
+
* questions; with one, heading and nav in a left column, questions on the right, the aside under the left column.
|
|
157
|
+
*/
|
|
158
|
+
function FaqLayout({
|
|
159
|
+
heading,
|
|
160
|
+
nav,
|
|
161
|
+
navDeclared = false,
|
|
162
|
+
questions,
|
|
163
|
+
aside,
|
|
164
|
+
}: {
|
|
165
|
+
heading?: React.ReactNode;
|
|
166
|
+
nav?: React.ReactNode;
|
|
167
|
+
/** The host states its FAQs are categorised (`skeletonNav`): the nav is drawn loading and loaded, never optional. */
|
|
168
|
+
navDeclared?: boolean;
|
|
169
|
+
questions: React.ReactNode;
|
|
170
|
+
aside?: React.ReactNode;
|
|
171
|
+
}) {
|
|
172
|
+
// The category nav is drawn only when the FAQs fall into two or more categories: a part of the record
|
|
173
|
+
// (`data-loading-optional`), carrying its own gap, unless the host declared it (`navDeclared`).
|
|
174
|
+
const optional = navDeclared ? undefined : true;
|
|
175
|
+
if (!aside) {
|
|
176
|
+
return (
|
|
177
|
+
<div>
|
|
178
|
+
{nav && (
|
|
179
|
+
<div className={NAV_ABOVE_QUESTIONS_CLASS} data-loading-optional={optional}>
|
|
180
|
+
{nav}
|
|
181
|
+
</div>
|
|
182
|
+
)}
|
|
183
|
+
{questions}
|
|
184
|
+
</div>
|
|
185
|
+
);
|
|
186
|
+
}
|
|
187
|
+
// One instance of each block, placed by the grid: questions second in the
|
|
188
|
+
// document (and on a narrow area), in the right column from `lg`.
|
|
189
|
+
return (
|
|
190
|
+
<div className={ASIDE_GRID_CLASS}>
|
|
191
|
+
<div>
|
|
192
|
+
{heading}
|
|
193
|
+
{nav && (
|
|
194
|
+
<div className={NAV_BELOW_HEADING_CLASS} data-loading-optional={optional}>
|
|
195
|
+
{nav}
|
|
196
|
+
</div>
|
|
197
|
+
)}
|
|
198
|
+
</div>
|
|
199
|
+
<div className={ASIDE_QUESTIONS_CELL_CLASS}>{questions}</div>
|
|
200
|
+
<div className={ASIDE_CELL_CLASS}>{aside}</div>
|
|
201
|
+
</div>
|
|
202
|
+
);
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
/** The heading above the questions: the host's node (or the default `<h2>`), with the topic's bare name under it. */
|
|
206
|
+
function faqHeadingNode(heading: React.ReactNode | null | undefined, showTopic: boolean, topic?: string) {
|
|
207
|
+
// `undefined` → default <h2> title; `null` → the host page owns the <h1>, so no title renders here.
|
|
208
|
+
const titleNode = heading === undefined ? <h2 className={SECTION_HEADING_CLASS}>{DEFAULT_HEADING_TEXT}</h2> : heading;
|
|
209
|
+
if (!(showTopic && topic)) return titleNode;
|
|
210
|
+
// The host's heading may arrive from a server component, still streaming: React cannot check such a
|
|
211
|
+
// node when it sits in a list of siblings and warns about a missing key. So it is the ONLY child of its
|
|
212
|
+
// own wrapper, and the two siblings here are this component's own elements.
|
|
213
|
+
return (
|
|
214
|
+
<div className={TOPIC_STACK_CLASS}>
|
|
215
|
+
<div>{titleNode}</div>
|
|
216
|
+
<p className={TOPIC_CLASS}>{topic}</p>
|
|
217
|
+
</div>
|
|
218
|
+
);
|
|
219
|
+
}
|
|
220
|
+
|
|
94
221
|
/** The id of a page's own FAQ block: what a page's "FAQ" link or section nav points at. */
|
|
95
222
|
export const PAGE_FAQ_SECTION_ID = 'faq';
|
|
96
223
|
|
|
@@ -193,7 +320,10 @@ function GroupedFaqList({
|
|
|
193
320
|
categoryHeadingAs,
|
|
194
321
|
heading,
|
|
195
322
|
aside,
|
|
323
|
+
navDeclared,
|
|
196
324
|
}: {
|
|
325
|
+
/** The host declared the category nav (`skeletonNav`). */
|
|
326
|
+
navDeclared?: boolean;
|
|
197
327
|
/** With `aside`, the section heading: it sits in the left column above the category nav. */
|
|
198
328
|
heading?: React.ReactNode;
|
|
199
329
|
aside?: React.ReactNode;
|
|
@@ -348,7 +478,7 @@ function GroupedFaqList({
|
|
|
348
478
|
}, []);
|
|
349
479
|
|
|
350
480
|
const categoryNav = navGroups.length > 1 && (
|
|
351
|
-
<nav aria-label="FAQ categories" className=
|
|
481
|
+
<nav aria-label="FAQ categories" className={CATEGORY_NAV_CLASS}>
|
|
352
482
|
{navGroups.map(group => {
|
|
353
483
|
const isActive = group.slug === activeSlug;
|
|
354
484
|
return (
|
|
@@ -358,7 +488,7 @@ function GroupedFaqList({
|
|
|
358
488
|
aria-current={isActive ? 'true' : undefined}
|
|
359
489
|
onClick={e => handleJump(e, group.slug as string)}
|
|
360
490
|
className={cn(
|
|
361
|
-
|
|
491
|
+
CATEGORY_PILL_CLASS,
|
|
362
492
|
isActive
|
|
363
493
|
? 'border-ods-text-primary bg-ods-card text-ods-text-primary'
|
|
364
494
|
: 'border-ods-border bg-ods-card text-ods-text-secondary hover:border-ods-text-secondary hover:text-ods-text-primary',
|
|
@@ -371,12 +501,21 @@ function GroupedFaqList({
|
|
|
371
501
|
</nav>
|
|
372
502
|
);
|
|
373
503
|
const questions = (
|
|
374
|
-
<div className=
|
|
504
|
+
<div className={QUESTIONS_STACK_CLASS}>
|
|
375
505
|
{groups.map(group => {
|
|
376
506
|
const key = groupKey(group);
|
|
377
507
|
return (
|
|
378
|
-
|
|
379
|
-
|
|
508
|
+
// A category is a record's group: how many there are is the data's (`data-loading-item`, like a list row).
|
|
509
|
+
<section key={key} id={group.slug ?? undefined} className={CATEGORY_SECTION_CLASS} data-loading-item>
|
|
510
|
+
{/* Only a named group has a heading (the uncategorized one has none): a part of the record, not of every group. */}
|
|
511
|
+
{group.section && (
|
|
512
|
+
<CategoryHeading
|
|
513
|
+
className={CATEGORY_HEADING_CLASS}
|
|
514
|
+
data-loading-optional={navDeclared ? undefined : true}
|
|
515
|
+
>
|
|
516
|
+
{group.section}
|
|
517
|
+
</CategoryHeading>
|
|
518
|
+
)}
|
|
380
519
|
<FaqAccordion
|
|
381
520
|
// Re-key on item-hash changes so the remount picks up the new
|
|
382
521
|
// `defaultOpenIds` (the accordion is uncontrolled). Stable for
|
|
@@ -391,47 +530,8 @@ function GroupedFaqList({
|
|
|
391
530
|
</div>
|
|
392
531
|
);
|
|
393
532
|
|
|
394
|
-
if (!aside) {
|
|
395
|
-
return (
|
|
396
|
-
<div className="space-y-8">
|
|
397
|
-
{categoryNav}
|
|
398
|
-
{questions}
|
|
399
|
-
</div>
|
|
400
|
-
);
|
|
401
|
-
}
|
|
402
|
-
|
|
403
|
-
// One instance of each block, placed by the grid: questions second in the
|
|
404
|
-
// document (and on a narrow area), in the right column from `lg`.
|
|
405
533
|
return (
|
|
406
|
-
<
|
|
407
|
-
<div className="space-y-8">
|
|
408
|
-
{heading}
|
|
409
|
-
{categoryNav}
|
|
410
|
-
</div>
|
|
411
|
-
<div className="content-lg:col-start-2 content-lg:row-span-2 content-lg:row-start-1">{questions}</div>
|
|
412
|
-
<div className="content-lg:col-start-1 content-lg:row-start-2">{aside}</div>
|
|
413
|
-
</div>
|
|
414
|
-
);
|
|
415
|
-
}
|
|
416
|
-
|
|
417
|
-
function FaqSkeleton({
|
|
418
|
-
region = true,
|
|
419
|
-
}: {
|
|
420
|
-
/** The loading state announces itself (`LoadingRegion`). `false` inside another loading region. Default `true`. */
|
|
421
|
-
region?: boolean;
|
|
422
|
-
} = {}) {
|
|
423
|
-
return (
|
|
424
|
-
<LoadingRegion label="Loading questions" announce={region} className="space-y-8">
|
|
425
|
-
<UnifiedSkeleton className="h-12 w-2/3 rounded content-md:h-14" />
|
|
426
|
-
<div className="w-full divide-y divide-ods-border overflow-hidden rounded-md border border-ods-border bg-transparent">
|
|
427
|
-
{Array.from({ length: 8 }).map((_, idx) => (
|
|
428
|
-
<div key={idx} className="flex items-center justify-between gap-6 px-6 py-4 content-md:gap-10">
|
|
429
|
-
<UnifiedSkeleton className="h-6 w-5/6 rounded" />
|
|
430
|
-
<UnifiedSkeleton className="size-6 rounded" />
|
|
431
|
-
</div>
|
|
432
|
-
))}
|
|
433
|
-
</div>
|
|
434
|
-
</LoadingRegion>
|
|
534
|
+
<FaqLayout heading={heading} nav={categoryNav} navDeclared={navDeclared} questions={questions} aside={aside} />
|
|
435
535
|
);
|
|
436
536
|
}
|
|
437
537
|
|
|
@@ -473,8 +573,11 @@ export function FaqSection({
|
|
|
473
573
|
apiBaseUrl = '',
|
|
474
574
|
aside: asideProp,
|
|
475
575
|
ask,
|
|
576
|
+
skeletonShape,
|
|
577
|
+
skeletonNav = false,
|
|
476
578
|
}: FaqSectionProps) {
|
|
477
579
|
const assistant = useAssistantRuntime();
|
|
580
|
+
const inScope = useLoadingScope();
|
|
478
581
|
// The host's own block wins; else the card, where a chat is there to open and the FAQ has a topic
|
|
479
582
|
// (an empty topic is no topic, as the questions request reads it).
|
|
480
583
|
const askTopic = ask === false ? undefined : ask?.topic || topic || entityType;
|
|
@@ -488,7 +591,8 @@ export function FaqSection({
|
|
|
488
591
|
() => (initialFaqs ? { faqs: initialFaqs } : undefined),
|
|
489
592
|
[initialFaqs],
|
|
490
593
|
);
|
|
491
|
-
|
|
594
|
+
// A loading scope fetches nothing.
|
|
595
|
+
const { data, dataUrl, isLoading, error } = useSelfFetch<FaqsResponse>(inScope ? null : url, { initialData });
|
|
492
596
|
|
|
493
597
|
// Only the answer for THIS url: while another topic's questions load, the
|
|
494
598
|
// previous topic's are not this page's. Memoised because the `??` fallback
|
|
@@ -499,46 +603,42 @@ export function FaqSection({
|
|
|
499
603
|
// Grouped before the early returns so the hook order stays stable.
|
|
500
604
|
const groups = useMemo(() => (faqs.length > 0 ? groupFaqsBySection(faqs) : []), [faqs]);
|
|
501
605
|
|
|
502
|
-
// `
|
|
503
|
-
//
|
|
504
|
-
|
|
505
|
-
const titleNode = heading === undefined ? <h2 className={SECTION_HEADING_CLASS}>{DEFAULT_HEADING_TEXT}</h2> : heading;
|
|
506
|
-
const headingNode =
|
|
507
|
-
showTopic && topic ? (
|
|
508
|
-
// The host's heading may arrive from a server component, still streaming: React cannot check such a
|
|
509
|
-
// node when it sits in a list of siblings and warns about a missing key. So it is the ONLY child of its
|
|
510
|
-
// own wrapper, and the two siblings here are this component's own elements.
|
|
511
|
-
<div className="space-y-1">
|
|
512
|
-
<div>{titleNode}</div>
|
|
513
|
-
<p className="text-ods-text-muted text-h6">{topic}</p>
|
|
514
|
-
</div>
|
|
515
|
-
) : (
|
|
516
|
-
titleNode
|
|
517
|
-
);
|
|
606
|
+
// `heading === null` also makes the category headings <h2> (directly under the page <h1>); otherwise they nest
|
|
607
|
+
// as <h3>.
|
|
608
|
+
const headingNode = faqHeadingNode(heading, showTopic, topic);
|
|
518
609
|
|
|
519
610
|
// Degrade silently — never show an error banner or an empty section shell
|
|
520
611
|
// where FAQs would be (host pages and the standalone surface both rely on it).
|
|
521
612
|
if (error) return null;
|
|
522
|
-
|
|
523
|
-
if (isLoading && faqs.length === 0) {
|
|
613
|
+
// In a loading scope, or while its own request is unanswered, the block is its skeleton.
|
|
614
|
+
if (inScope || (isLoading && faqs.length === 0)) {
|
|
524
615
|
return (
|
|
525
|
-
<
|
|
526
|
-
|
|
527
|
-
|
|
616
|
+
<FaqSectionSkeleton
|
|
617
|
+
heading={heading}
|
|
618
|
+
topic={topic}
|
|
619
|
+
showTopic={showTopic}
|
|
620
|
+
aside={aside}
|
|
621
|
+
shape={skeletonShape ?? [{ rows: minResults }]}
|
|
622
|
+
navRow={skeletonNav}
|
|
623
|
+
className={className}
|
|
624
|
+
id={id}
|
|
625
|
+
/>
|
|
528
626
|
);
|
|
529
627
|
}
|
|
628
|
+
if (faqs.length === 0) return null;
|
|
530
629
|
|
|
531
630
|
const schema = emitJsonLd ? buildFaqJsonLdFromFaqs(faqs, jsonLd) : null;
|
|
532
631
|
|
|
533
632
|
return (
|
|
534
633
|
<>
|
|
535
|
-
<section id={id} data-faq-topic={topic} className={className ??
|
|
634
|
+
<section id={id} data-faq-topic={topic} className={className ?? SECTION_DEFAULT_CLASS}>
|
|
536
635
|
{!aside && headingNode}
|
|
537
636
|
<GroupedFaqList
|
|
538
637
|
groups={groups}
|
|
539
638
|
categoryHeadingAs={heading === null ? 'h2' : 'h3'}
|
|
540
639
|
heading={aside ? headingNode : undefined}
|
|
541
640
|
aside={aside}
|
|
641
|
+
navDeclared={skeletonNav}
|
|
542
642
|
/>
|
|
543
643
|
</section>
|
|
544
644
|
{schema && (
|
|
@@ -552,3 +652,82 @@ export function FaqSection({
|
|
|
552
652
|
</>
|
|
553
653
|
);
|
|
554
654
|
}
|
|
655
|
+
|
|
656
|
+
export interface FaqSectionSkeletonProps extends Pick<
|
|
657
|
+
FaqSectionProps,
|
|
658
|
+
'heading' | 'topic' | 'showTopic' | 'aside' | 'className' | 'id'
|
|
659
|
+
> {
|
|
660
|
+
/** The groups drawn, in order. Default one group with no heading, of one screen of rows. */
|
|
661
|
+
shape?: FaqSkeletonShape;
|
|
662
|
+
/** Draw the category nav's row (one line of pills) whatever `sections` is: the host's FAQs are categorised. */
|
|
663
|
+
navRow?: boolean;
|
|
664
|
+
}
|
|
665
|
+
|
|
666
|
+
/**
|
|
667
|
+
* The FAQ block while its questions are read: the heading (the host's node, or "Frequently Asked Questions") and the
|
|
668
|
+
* topic line real, the aside (the ask card, which draws its own loading state) in its place, then the `shape`'s groups:
|
|
669
|
+
* a named one with its heading bar (two or more named ones draw the nav's pills), each its question rows, as bars.
|
|
670
|
+
*/
|
|
671
|
+
const DEFAULT_SKELETON_SHAPE: FaqSkeletonShape = [{}];
|
|
672
|
+
|
|
673
|
+
export function FaqSectionSkeleton({
|
|
674
|
+
heading,
|
|
675
|
+
topic,
|
|
676
|
+
showTopic = false,
|
|
677
|
+
aside,
|
|
678
|
+
shape = DEFAULT_SKELETON_SHAPE,
|
|
679
|
+
navRow = false,
|
|
680
|
+
className,
|
|
681
|
+
id,
|
|
682
|
+
}: FaqSectionSkeletonProps) {
|
|
683
|
+
const headingNode = faqHeadingNode(heading, showTopic, topic);
|
|
684
|
+
const CategoryHeading = heading === null ? 'h2' : 'h3';
|
|
685
|
+
const groups = shape.length > 0 ? shape : DEFAULT_SKELETON_SHAPE;
|
|
686
|
+
const named = groups.filter(group => group.heading).length;
|
|
687
|
+
const pill = (i: number) => (
|
|
688
|
+
// biome-ignore lint/suspicious/noArrayIndexKey: skeleton pills never reorder
|
|
689
|
+
<span key={i} className={cn(CATEGORY_PILL_CLASS, 'shrink-0 border-ods-border bg-ods-card')}>
|
|
690
|
+
<TextLineSkeleton type="inherit" as="span" className="w-24" />
|
|
691
|
+
</span>
|
|
692
|
+
);
|
|
693
|
+
const nav = navRow ? (
|
|
694
|
+
<div className={CATEGORY_NAV_SKELETON_LINE_CLASS} aria-hidden>
|
|
695
|
+
{Array.from({ length: FAQ_NAV_SKELETON_PILLS }, (_, i) => pill(i))}
|
|
696
|
+
</div>
|
|
697
|
+
) : named > 1 ? (
|
|
698
|
+
<div className={CATEGORY_NAV_CLASS} aria-hidden>
|
|
699
|
+
{Array.from({ length: named }, (_, i) => pill(i))}
|
|
700
|
+
</div>
|
|
701
|
+
) : undefined;
|
|
702
|
+
const questions = (
|
|
703
|
+
<div className={QUESTIONS_STACK_CLASS}>
|
|
704
|
+
{groups.map((group, index) => {
|
|
705
|
+
return (
|
|
706
|
+
// biome-ignore lint/suspicious/noArrayIndexKey: skeleton groups never reorder
|
|
707
|
+
<section key={index} className={CATEGORY_SECTION_CLASS} data-loading-item>
|
|
708
|
+
{group.heading && (
|
|
709
|
+
<CategoryHeading className={CATEGORY_HEADING_CLASS} data-loading-optional={navRow ? undefined : true}>
|
|
710
|
+
<TextLineSkeleton type="inherit" as="span" className="w-1/3" />
|
|
711
|
+
</CategoryHeading>
|
|
712
|
+
)}
|
|
713
|
+
<FaqAccordionSkeleton count={Math.max(1, group.rows ?? FAQ_SECTION_SKELETON_QUESTIONS)} />
|
|
714
|
+
</section>
|
|
715
|
+
);
|
|
716
|
+
})}
|
|
717
|
+
</div>
|
|
718
|
+
);
|
|
719
|
+
return (
|
|
720
|
+
<LoadingRegion label="Loading questions">
|
|
721
|
+
<section id={id} data-faq-topic={topic} className={className ?? SECTION_DEFAULT_CLASS}>
|
|
722
|
+
{!aside && headingNode}
|
|
723
|
+
<FaqLayout
|
|
724
|
+
heading={aside ? headingNode : undefined}
|
|
725
|
+
nav={nav}
|
|
726
|
+
navDeclared={navRow}
|
|
727
|
+
questions={questions}
|
|
728
|
+
aside={aside}
|
|
729
|
+
/>
|
|
730
|
+
</section>
|
|
731
|
+
</LoadingRegion>
|
|
732
|
+
);
|
|
733
|
+
}
|
|
@@ -9,6 +9,17 @@
|
|
|
9
9
|
//
|
|
10
10
|
// (Server-safe subpath is wired in tsup.config.ts under the server/universal
|
|
11
11
|
// block and exposed via "./components/faq/json-ld" in package.json#exports.)
|
|
12
|
-
export {
|
|
12
|
+
export {
|
|
13
|
+
FaqSection,
|
|
14
|
+
FaqSectionSkeleton,
|
|
15
|
+
FAQ_SECTION_SKELETON_QUESTIONS,
|
|
16
|
+
PAGE_FAQ_SECTION_ID,
|
|
17
|
+
pageFaqProps,
|
|
18
|
+
type FaqSectionProps,
|
|
19
|
+
type FaqSectionSkeletonProps,
|
|
20
|
+
type FaqSkeletonGroup,
|
|
21
|
+
type FaqSkeletonShape,
|
|
22
|
+
type PageFaqSlot,
|
|
23
|
+
} from './faq-section';
|
|
13
24
|
export { FaqDocumentPage, type FaqDocumentPageProps } from './faq-document-page';
|
|
14
25
|
export { FaqAskCard, type FaqAskOptions } from './faq-ask-card';
|
|
@@ -4,6 +4,8 @@ import { useState } from 'react';
|
|
|
4
4
|
import { cn } from '../utils/cn';
|
|
5
5
|
import { faqItemAnchor } from '../utils/faq-anchor';
|
|
6
6
|
import { Chevron02DownIcon } from './icons-v2-generated/arrows/chevron-02-down-icon';
|
|
7
|
+
import { TextLineSkeleton } from './loading/unified-skeleton';
|
|
8
|
+
import { useLoadingScope } from './ui/loading-scope';
|
|
7
9
|
|
|
8
10
|
export interface FaqItem {
|
|
9
11
|
id: number | string;
|
|
@@ -16,8 +18,30 @@ interface FaqAccordionProps {
|
|
|
16
18
|
defaultOpenIds?: (number | string)[];
|
|
17
19
|
}
|
|
18
20
|
|
|
21
|
+
/** The accordion's layout, read by the accordion and by its skeleton, so the skeleton is the accordion's size. */
|
|
22
|
+
const ACCORDION_FRAME_CLASS =
|
|
23
|
+
'divide-y divide-ods-border overflow-hidden rounded-md border border-ods-border bg-transparent';
|
|
24
|
+
const ROW_HEADER_CLASS = 'flex w-full items-center gap-6 px-6 py-4 text-left content-md:gap-10';
|
|
25
|
+
const QUESTION_CLASS = 'min-w-0 flex-1 break-words';
|
|
26
|
+
const CHEVRON_CLASS = 'shrink-0 text-ods-text-primary';
|
|
27
|
+
/**
|
|
28
|
+
* Rows the accordion's skeleton draws when not told how many: one screen of closed rows, from the row's layout. A
|
|
29
|
+
* closed row is `py-4` around one `text-h3` line from `content-md` (57px with its divider: 13 under a 900px desktop
|
|
30
|
+
* viewport once the block's heading sits above them) and about one and a half lines on a phone (about 62px: 12 under
|
|
31
|
+
* an 844px one). 12 fills the first screen at both widths without drawing a second.
|
|
32
|
+
*/
|
|
33
|
+
export const FAQ_ACCORDION_SKELETON_ROWS = 12;
|
|
34
|
+
/**
|
|
35
|
+
* Whether a skeleton row's question takes two lines on a phone (one from `content-md`, where a question fits a line).
|
|
36
|
+
* Typically about every other question wraps on a phone: the skeleton alternates, starting with a wrapping row.
|
|
37
|
+
*/
|
|
38
|
+
const wrapsOnPhone = (index: number) => index % 2 === 0;
|
|
39
|
+
|
|
19
40
|
export function FaqAccordion({ items, defaultOpenIds = [] }: FaqAccordionProps) {
|
|
20
41
|
const [openSet, setOpenSet] = useState<Set<string | number>>(new Set(defaultOpenIds));
|
|
42
|
+
// In a loading scope the items are the empty record: the accordion is its skeleton.
|
|
43
|
+
const loading = useLoadingScope();
|
|
44
|
+
if (loading) return <FaqAccordionSkeleton count={items.length || undefined} />;
|
|
21
45
|
|
|
22
46
|
const toggle = (id: string | number) => {
|
|
23
47
|
setOpenSet(prev => {
|
|
@@ -29,7 +53,7 @@ export function FaqAccordion({ items, defaultOpenIds = [] }: FaqAccordionProps)
|
|
|
29
53
|
};
|
|
30
54
|
|
|
31
55
|
return (
|
|
32
|
-
<div className=
|
|
56
|
+
<div className={ACCORDION_FRAME_CLASS}>
|
|
33
57
|
{items.map(item => {
|
|
34
58
|
const isOpen = openSet.has(item.id);
|
|
35
59
|
|
|
@@ -43,6 +67,8 @@ export function FaqAccordion({ items, defaultOpenIds = [] }: FaqAccordionProps)
|
|
|
43
67
|
// category anchors).
|
|
44
68
|
id={faqItemAnchor(item.id)}
|
|
45
69
|
className="scroll-mt-24 transition-colors hover:bg-ods-bg-hover"
|
|
70
|
+
// A question is a read list's row: how many there are is the data's.
|
|
71
|
+
data-loading-item
|
|
46
72
|
>
|
|
47
73
|
{/* Header */}
|
|
48
74
|
<div
|
|
@@ -56,16 +82,16 @@ export function FaqAccordion({ items, defaultOpenIds = [] }: FaqAccordionProps)
|
|
|
56
82
|
}
|
|
57
83
|
}}
|
|
58
84
|
aria-expanded={isOpen}
|
|
59
|
-
className=
|
|
85
|
+
className={cn(
|
|
86
|
+
ROW_HEADER_CLASS,
|
|
87
|
+
'cursor-pointer transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ods-focus',
|
|
88
|
+
)}
|
|
60
89
|
>
|
|
61
|
-
<h3 className=
|
|
90
|
+
<h3 className={QUESTION_CLASS}>{item.question}</h3>
|
|
62
91
|
<Chevron02DownIcon
|
|
63
92
|
aria-hidden="true"
|
|
64
93
|
size={24}
|
|
65
|
-
className={cn(
|
|
66
|
-
'shrink-0 text-ods-text-primary transition-transform duration-300',
|
|
67
|
-
isOpen && 'rotate-180',
|
|
68
|
-
)}
|
|
94
|
+
className={cn(CHEVRON_CLASS, 'transition-transform duration-300', isOpen && 'rotate-180')}
|
|
69
95
|
/>
|
|
70
96
|
</div>
|
|
71
97
|
{/* Content wrapper. Collapses with the grid 1fr->0fr transition the
|
|
@@ -93,3 +119,37 @@ export function FaqAccordion({ items, defaultOpenIds = [] }: FaqAccordionProps)
|
|
|
93
119
|
</div>
|
|
94
120
|
);
|
|
95
121
|
}
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* The accordion while its questions are read: the bordered list of `count` closed rows, each question a bar (two
|
|
125
|
+
* lines on a phone, one from `content-md`) inside the row's own `h3`, the chevron real.
|
|
126
|
+
*/
|
|
127
|
+
export function FaqAccordionSkeleton({
|
|
128
|
+
count = FAQ_ACCORDION_SKELETON_ROWS,
|
|
129
|
+
className,
|
|
130
|
+
}: {
|
|
131
|
+
count?: number;
|
|
132
|
+
className?: string;
|
|
133
|
+
}) {
|
|
134
|
+
return (
|
|
135
|
+
<div className={cn(ACCORDION_FRAME_CLASS, className)} aria-hidden>
|
|
136
|
+
{Array.from({ length: count }, (_, i) => (
|
|
137
|
+
// biome-ignore lint/suspicious/noArrayIndexKey: skeleton rows never reorder
|
|
138
|
+
<div key={i} className={ROW_HEADER_CLASS} data-loading-item>
|
|
139
|
+
<h3 className={QUESTION_CLASS}>
|
|
140
|
+
{/* A typical question's lines: `wrapsOnPhone` on a phone, one from `content-md`. */}
|
|
141
|
+
{wrapsOnPhone(i) ? (
|
|
142
|
+
<>
|
|
143
|
+
<TextLineSkeleton type="inherit" as="span" lines={2} className="w-5/6 content-md:hidden" />
|
|
144
|
+
<TextLineSkeleton type="inherit" as="span" className="hidden w-5/6 content-md:block" />
|
|
145
|
+
</>
|
|
146
|
+
) : (
|
|
147
|
+
<TextLineSkeleton type="inherit" as="span" className="w-5/6" />
|
|
148
|
+
)}
|
|
149
|
+
</h3>
|
|
150
|
+
<Chevron02DownIcon aria-hidden="true" size={24} className={CHEVRON_CLASS} />
|
|
151
|
+
</div>
|
|
152
|
+
))}
|
|
153
|
+
</div>
|
|
154
|
+
);
|
|
155
|
+
}
|
|
@@ -8,6 +8,7 @@ import {
|
|
|
8
8
|
getConfidenceLabel,
|
|
9
9
|
} from '../../../utils/confidence-helpers';
|
|
10
10
|
import { SparklesIcon } from '../../icons-v2-generated/interface/sparkles-icon';
|
|
11
|
+
import { LIVE_PULSE_CLASS } from '../../ui/skeleton-surface';
|
|
11
12
|
|
|
12
13
|
export type AIStatus = 'idle' | 'loading' | 'success' | 'error';
|
|
13
14
|
|
|
@@ -60,7 +61,7 @@ export const AIStatusIndicator: React.FC<AIStatusIndicatorProps> = ({
|
|
|
60
61
|
<SparklesIcon
|
|
61
62
|
size={16}
|
|
62
63
|
className={cn(
|
|
63
|
-
status === 'loading' &&
|
|
64
|
+
status === 'loading' && LIVE_PULSE_CLASS,
|
|
64
65
|
confidence !== undefined && status === 'success' ? getConfidenceTextClass(confidence) : config.color,
|
|
65
66
|
)}
|
|
66
67
|
/>
|