@flamingo-stack/openframe-frontend-core 0.0.765 → 0.0.767
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-BVA7YX4P.cjs → chunk-7TJVYRHR.cjs} +44 -44
- package/dist/{chunk-L2V7K7RR.cjs → chunk-7ZU3AVEX.cjs} +43 -41
- package/dist/{chunk-M7YZGRAV.cjs → chunk-AAECWUNV.cjs} +35 -8
- package/dist/{chunk-PERN37KO.cjs → chunk-BXMDLQUA.cjs} +5 -25
- 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-K6VWTUCH.cjs → chunk-FL2RMEDX.cjs} +2 -2
- package/dist/{chunk-FMH2DYBC.cjs → chunk-FVH53QZJ.cjs} +4238 -3915
- package/dist/chunk-FZB4RMRK.cjs +695 -0
- package/dist/{chunk-PYK4ZSEZ.cjs → chunk-GJ5DHDFQ.cjs} +14 -14
- package/dist/{chunk-2OPYWMAV.cjs → chunk-GQ7RGD4Y.cjs} +258 -179
- package/dist/{chunk-BIA77I6B.cjs → chunk-GTONIRJU.cjs} +56 -54
- package/dist/chunk-I7A5MPXA.cjs +40 -0
- package/dist/{chunk-NJS7FQRW.cjs → chunk-IKXUJUXC.cjs} +207 -74
- package/dist/{chunk-T5FRANE6.cjs → chunk-JBJVUQVH.cjs} +546 -352
- package/dist/{chunk-EQZXJUYV.cjs → chunk-JTSUAHDL.cjs} +73 -51
- package/dist/{chunk-2Y36SQSZ.cjs → chunk-KHISVNNH.cjs} +11 -7
- package/dist/{chunk-EFTUFJS2.cjs → chunk-LELS4XMX.cjs} +20 -22
- package/dist/{chunk-QQ7LKNNP.cjs → chunk-M2UU3CWX.cjs} +13 -13
- package/dist/chunk-MNIMYGFR.cjs +495 -0
- package/dist/{chunk-ZCU2PYCW.cjs → chunk-MPTMT773.cjs} +62 -62
- package/dist/{chunk-LVKUMVUJ.cjs → chunk-NBVZIHGS.cjs} +12 -8
- package/dist/{chunk-RQQVN7LC.cjs → chunk-NO2DEFAP.cjs} +521 -413
- 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-63N4FN5V.cjs → chunk-SETFUCZA.cjs} +7 -7
- package/dist/{chunk-2QMBXGMQ.cjs → chunk-TF5D5MNO.cjs} +222 -120
- package/dist/{chunk-B3W7RCQF.cjs → chunk-TPOLNGOW.cjs} +105 -117
- package/dist/{chunk-NET74KSQ.cjs → chunk-TZ4GKUO2.cjs} +5 -5
- package/dist/{chunk-3FC6AKEJ.cjs → chunk-UHDBMKJB.cjs} +200 -87
- package/dist/{chunk-MWLD6NXV.cjs → chunk-VFZFCRAL.cjs} +4 -6
- package/dist/{chunk-NO5UJLLQ.cjs → chunk-WEANWBJH.cjs} +6 -1
- package/dist/{chunk-VLJFAGMR.cjs → chunk-WEPIWJGR.cjs} +103 -61
- package/dist/chunk-XFRBEXQN.cjs +304 -0
- package/dist/{chunk-AKK3EO37.cjs → chunk-XIFEZ2JT.cjs} +35 -23
- package/dist/{chunk-MDB65HQC.cjs → chunk-XIXR6BHI.cjs} +286 -201
- 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-WA4X55XY.cjs → chunk-ZV45VS6K.cjs} +359 -432
- package/dist/{cloud-tenants-6PSTDE3F.cjs → cloud-tenants-WXK5RDSY.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/index.d.ts.map +1 -1
- package/dist/components/chat/index.js +18 -4
- 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/embeds/rich-markdown-runtime.d.ts +4 -1
- package/dist/components/embeds/rich-markdown-runtime.d.ts.map +1 -1
- package/dist/components/embeds/rich-markdown-runtime.js +6 -5
- 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 +8 -2
- 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/embed-overrides.d.ts.map +1 -1
- package/dist/components/ui/markdown/rich/embed-overrides.js +10 -1
- 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.map +1 -1
- package/dist/components/ui/page-actions.js +16 -20
- 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-O5PZ4IR6.cjs → devices-UHHHTCJF.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 +331 -103
- package/dist/{knowledge-4OU73KTO.cjs → knowledge-TJKHM7W4.cjs} +36 -40
- package/dist/{logs-R6ZH32UU.cjs → logs-B3KCCMPE.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-XN4TDX3G.cjs → policies-ZTUIXSYZ.cjs} +39 -43
- package/dist/{remote-session-7NSC7DI5.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-53VHKMY3.cjs → scripts-FIFAHBS6.cjs} +42 -46
- package/dist/{software-update-KLJSMAUM.cjs → software-update-62PLASQU.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/after-page-load.d.ts +8 -0
- package/dist/utils/after-page-load.d.ts.map +1 -0
- package/dist/utils/after-page-load.js +24 -0
- 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 +43 -0
- package/dist/utils/index.d.ts +8 -2
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +9 -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/index.ts +22 -5
- 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/embeds/rich-markdown-runtime.tsx +10 -6
- 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 +17 -3
- 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/embed-overrides.tsx +11 -1
- 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 +25 -29
- 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/after-page-load.ts +30 -0
- package/src/utils/announcement-storage.ts +0 -7
- package/src/utils/dev-sections/openframe-dev-sections.ts +11 -0
- package/src/utils/index.ts +7 -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-H3RYUTND.cjs +0 -142
- package/dist/chunk-JB424IQK.cjs +0 -404
- 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-UI2TLQWA.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
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { DOT_SIZE } from '../../styles/component-sizes';
|
|
1
2
|
import { cn } from '../../utils/cn';
|
|
2
3
|
import { ChatTypingIndicator } from '../chat/chat-typing-indicator';
|
|
3
|
-
import {
|
|
4
|
+
import { LIVE_PULSE_CLASS } from './skeleton-surface';
|
|
4
5
|
|
|
5
6
|
export interface AnalyzingStateProps {
|
|
6
7
|
/** What is being worked on, as a sentence with no closing mark ("Mingo is analyzing your logs"). */
|
|
@@ -12,6 +13,9 @@ export interface AnalyzingStateProps {
|
|
|
12
13
|
const ROW_OPACITY = ['opacity-100', 'opacity-60', 'opacity-30'] as const;
|
|
13
14
|
/** Each row pulses a beat after the one above it, so the eye reads them as a scan. */
|
|
14
15
|
const ROW_STAGGER_MS = 200;
|
|
16
|
+
/** A row's marks: a live dot and two bars of the row's own words, on ODS tokens. Live, not a loading state. */
|
|
17
|
+
const ROW_DOT_CLASS = cn(DOT_SIZE.sm, 'shrink-0 rounded-full bg-ods-flamingo-cyan', LIVE_PULSE_CLASS);
|
|
18
|
+
const ROW_BAR_CLASS = cn('h-2.5 rounded-md bg-ods-border', LIVE_PULSE_CLASS);
|
|
15
19
|
|
|
16
20
|
/**
|
|
17
21
|
* THE "it is working, nothing to show yet" state of a feed or a window: three
|
|
@@ -19,8 +23,9 @@ const ROW_STAGGER_MS = 200;
|
|
|
19
23
|
* and the chat's own typing dots. It says an agent is at work, where a bare
|
|
20
24
|
* sentence in an empty box reads as idle.
|
|
21
25
|
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
26
|
+
* It is a live state, never a loading one: the rows pulse on the library's live pulse (`LIVE_PULSE_CLASS`), so no
|
|
27
|
+
* skeleton surface is left on a loaded page, and the dots are the chat's `ChatTypingIndicator`. Still under
|
|
28
|
+
* reduced motion. It is
|
|
24
29
|
* announced as a status; the rows and dots are decoration.
|
|
25
30
|
*/
|
|
26
31
|
export function AnalyzingState({ label, className }: AnalyzingStateProps) {
|
|
@@ -37,9 +42,9 @@ export function AnalyzingState({ label, className }: AnalyzingStateProps) {
|
|
|
37
42
|
opacity,
|
|
38
43
|
)}
|
|
39
44
|
>
|
|
40
|
-
<
|
|
41
|
-
<
|
|
42
|
-
<
|
|
45
|
+
<span className={ROW_DOT_CLASS} style={delay} />
|
|
46
|
+
<span className={cn(ROW_BAR_CLASS, 'min-w-0 flex-1')} style={delay} />
|
|
47
|
+
<span className={cn(ROW_BAR_CLASS, 'w-12 shrink-0')} style={delay} />
|
|
43
48
|
</div>
|
|
44
49
|
);
|
|
45
50
|
})}
|
|
@@ -4,6 +4,12 @@ import type { CSSProperties, ReactElement, ReactNode } from 'react';
|
|
|
4
4
|
import { breakpoints } from '../../hooks/ui/use-media-query';
|
|
5
5
|
import { cn } from '../../utils/cn';
|
|
6
6
|
|
|
7
|
+
/**
|
|
8
|
+
* The bar's height (the 44px one-line strip, see the design note on `AnnouncementBarView`): read by the bar and by
|
|
9
|
+
* every shape that stands for it (a preview's loading state).
|
|
10
|
+
*/
|
|
11
|
+
export const ANNOUNCEMENT_BAR_HEIGHT_CLASS = 'min-h-11';
|
|
12
|
+
|
|
7
13
|
export interface AnnouncementBarViewProps {
|
|
8
14
|
/**
|
|
9
15
|
* Leading slot — typically an icon, at content width before the title. Size
|
|
@@ -89,7 +95,7 @@ export function AnnouncementBarView({
|
|
|
89
95
|
: undefined;
|
|
90
96
|
|
|
91
97
|
return (
|
|
92
|
-
<div className={cn('flex
|
|
98
|
+
<div className={cn('flex w-full max-w-full items-center', ANNOUNCEMENT_BAR_HEIGHT_CLASS, className)} style={style}>
|
|
93
99
|
{/* Content row — the tap target below `md`, where the CTA is hidden.
|
|
94
100
|
Its vertical padding never drives the height; the 44px strip does. */}
|
|
95
101
|
<div
|
|
@@ -24,8 +24,11 @@ import { Chevron02DownIcon } from '../icons-v2-generated/arrows/chevron-02-down-
|
|
|
24
24
|
import { TrashIcon } from '../icons-v2-generated/interface/trash-icon';
|
|
25
25
|
import { CheckIcon } from '../icons-v2-generated/signs-and-symbols/check-icon';
|
|
26
26
|
import { XmarkCircleIcon } from '../icons-v2-generated/signs-and-symbols/xmark-circle-icon';
|
|
27
|
+
import { LoadingRegion } from '../loading/loading-region';
|
|
28
|
+
import { TextLineSkeleton, UnifiedSkeleton } from '../loading/unified-skeleton';
|
|
27
29
|
import { FieldWrapper } from './field-wrapper';
|
|
28
30
|
import { HiddenTagsPopup } from './hidden-tags-popup';
|
|
31
|
+
import { useLoadingScope } from './loading-scope';
|
|
29
32
|
import { Tag } from './tag';
|
|
30
33
|
import { TruncateText } from './truncate-text';
|
|
31
34
|
|
|
@@ -99,6 +102,11 @@ interface AutocompleteBaseProps<T = string> {
|
|
|
99
102
|
loading?: boolean;
|
|
100
103
|
/** Loading text */
|
|
101
104
|
loadingText?: string;
|
|
105
|
+
/**
|
|
106
|
+
* The field itself is read and has not arrived (its value and its options): it draws its skeleton, as in a
|
|
107
|
+
* loading scope. DISTINCT from `loading`, a search in flight under a field that stays up.
|
|
108
|
+
*/
|
|
109
|
+
fieldLoading?: boolean;
|
|
102
110
|
/** When true, shows a clickable "+ Create" option when no results match the input */
|
|
103
111
|
creatable?: boolean;
|
|
104
112
|
/** Callback fired after a new option is created via creatable. Use it to persist the new option server-side, etc. */
|
|
@@ -159,7 +167,34 @@ const innerInputStyles = cn(
|
|
|
159
167
|
'disabled:cursor-not-allowed disabled:text-ods-text-disabled disabled:placeholder:text-ods-border',
|
|
160
168
|
);
|
|
161
169
|
|
|
170
|
+
/** The field's height, read by the field and by its skeleton. */
|
|
171
|
+
const AUTOCOMPLETE_ANCHOR_HEIGHT_CLASS = 'min-h-11 md:min-h-12';
|
|
172
|
+
/** An option row's frame, read by the rows and by the list's loading state. */
|
|
173
|
+
const AUTOCOMPLETE_OPTION_ROW_CLASS =
|
|
174
|
+
'flex min-h-11 items-center border-b border-ods-border px-[var(--spacing-system-mf)] py-[var(--spacing-system-xsf)] last:border-b-0 md:min-h-12 text-h4';
|
|
175
|
+
/** Option rows the list's loading state draws: the 240px scroller holds five 48px rows. */
|
|
176
|
+
const AUTOCOMPLETE_OPTIONS_FOLD = 5;
|
|
177
|
+
const AUTOCOMPLETE_ANCHOR_SHAPE_CLASS = 'rounded-[6px]';
|
|
178
|
+
|
|
179
|
+
export interface AutocompleteSkeletonProps {
|
|
180
|
+
/** The field's label: the page's own words, drawn as they are. */
|
|
181
|
+
label?: string;
|
|
182
|
+
labelVariant?: 'default' | 'large';
|
|
183
|
+
className?: string;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
/** A field while its options are read: its label for real, its control a box of the control's height. */
|
|
187
|
+
export function AutocompleteSkeleton({ label, labelVariant, className }: AutocompleteSkeletonProps) {
|
|
188
|
+
return (
|
|
189
|
+
<FieldWrapper label={label} labelVariant={labelVariant} className={className}>
|
|
190
|
+
<UnifiedSkeleton className={cn('w-full', AUTOCOMPLETE_ANCHOR_SHAPE_CLASS, AUTOCOMPLETE_ANCHOR_HEIGHT_CLASS)} />
|
|
191
|
+
</FieldWrapper>
|
|
192
|
+
);
|
|
193
|
+
}
|
|
194
|
+
|
|
162
195
|
function AutocompleteInner<T = string>(props: AutocompleteProps<T>, ref: ForwardedRef<HTMLDivElement>) {
|
|
196
|
+
// In a loading scope the field is its skeleton (drawn at the end, after every hook has run).
|
|
197
|
+
const inScope = useLoadingScope();
|
|
163
198
|
const {
|
|
164
199
|
options,
|
|
165
200
|
disabled = false,
|
|
@@ -178,7 +213,8 @@ function AutocompleteInner<T = string>(props: AutocompleteProps<T>, ref: Forward
|
|
|
178
213
|
inputValue: inputValueProp,
|
|
179
214
|
onInputChange,
|
|
180
215
|
loading = false,
|
|
181
|
-
loadingText = 'Loading
|
|
216
|
+
loadingText = 'Loading options',
|
|
217
|
+
fieldLoading = false,
|
|
182
218
|
creatable = false,
|
|
183
219
|
onCreateOption,
|
|
184
220
|
maxCreateLength,
|
|
@@ -470,7 +506,9 @@ function AutocompleteInner<T = string>(props: AutocompleteProps<T>, ref: Forward
|
|
|
470
506
|
data-invalid={isInvalid || undefined}
|
|
471
507
|
className={cn(
|
|
472
508
|
// Layout — single line, no wrapping
|
|
473
|
-
'flex
|
|
509
|
+
'flex cursor-text items-center border',
|
|
510
|
+
AUTOCOMPLETE_ANCHOR_SHAPE_CLASS,
|
|
511
|
+
AUTOCOMPLETE_ANCHOR_HEIGHT_CLASS,
|
|
474
512
|
'focus-within:outline-none',
|
|
475
513
|
'transition-colors duration-200',
|
|
476
514
|
'border-ods-border bg-ods-card',
|
|
@@ -645,9 +683,20 @@ function AutocompleteInner<T = string>(props: AutocompleteProps<T>, ref: Forward
|
|
|
645
683
|
>
|
|
646
684
|
<ScrollAreaPrimitive.Root className="flex min-h-0 flex-col overflow-hidden">
|
|
647
685
|
<ScrollAreaPrimitive.Viewport className="max-h-[240px] min-h-0 w-full [&>div]:!block">
|
|
648
|
-
|
|
686
|
+
{/* A listbox owns options only: while they are read the box is the loading region's (a status and
|
|
687
|
+
hidden rows), with no listbox role around it. */}
|
|
688
|
+
<div role={loading ? undefined : 'listbox'}>
|
|
649
689
|
{loading ? (
|
|
650
|
-
|
|
690
|
+
// The options while they are read: the list's own rows, a label bar each (`loadingText` is what a
|
|
691
|
+
// screen reader hears).
|
|
692
|
+
<LoadingRegion label={loadingText}>
|
|
693
|
+
{Array.from({ length: AUTOCOMPLETE_OPTIONS_FOLD }, (_, i) => (
|
|
694
|
+
// biome-ignore lint/suspicious/noArrayIndexKey: skeleton rows never reorder
|
|
695
|
+
<div key={i} className={AUTOCOMPLETE_OPTION_ROW_CLASS} aria-hidden>
|
|
696
|
+
<TextLineSkeleton type="inherit" className="w-2/3" />
|
|
697
|
+
</div>
|
|
698
|
+
))}
|
|
699
|
+
</LoadingRegion>
|
|
651
700
|
) : filteredOptions.length === 0 ? (
|
|
652
701
|
showCreateOption ? (
|
|
653
702
|
isCreateTooLong ? (
|
|
@@ -691,8 +740,8 @@ function AutocompleteInner<T = string>(props: AutocompleteProps<T>, ref: Forward
|
|
|
691
740
|
className={cn(
|
|
692
741
|
// `min-h` rather than a fixed height: an option may carry
|
|
693
742
|
// a second line, and a clipped one is worse than a taller row.
|
|
694
|
-
|
|
695
|
-
'
|
|
743
|
+
AUTOCOMPLETE_OPTION_ROW_CLASS,
|
|
744
|
+
'group/item cursor-pointer transition-colors',
|
|
696
745
|
isHighlighted && 'bg-ods-bg-surface',
|
|
697
746
|
isSelected ? 'text-ods-accent' : 'text-ods-text-primary',
|
|
698
747
|
!isHighlighted && 'hover:bg-ods-bg-hover',
|
|
@@ -755,6 +804,9 @@ function AutocompleteInner<T = string>(props: AutocompleteProps<T>, ref: Forward
|
|
|
755
804
|
</PopoverPrimitive.Root>
|
|
756
805
|
);
|
|
757
806
|
|
|
807
|
+
if (inScope || fieldLoading)
|
|
808
|
+
return <AutocompleteSkeleton label={label} labelVariant={labelVariant} className={className} />;
|
|
809
|
+
|
|
758
810
|
return (
|
|
759
811
|
<FieldWrapper
|
|
760
812
|
label={label}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
3
|
import { cn } from '../../utils/cn';
|
|
4
|
+
import { UnifiedSkeleton } from '../loading/unified-skeleton';
|
|
5
|
+
import { useLoadingScope } from './loading-scope';
|
|
4
6
|
import { SquareAvatar } from './square-avatar';
|
|
5
7
|
|
|
6
8
|
/**
|
|
@@ -63,6 +65,41 @@ const OVERFLOW_CIRCLE_SIZE: Record<AvatarStackSize, string> = {
|
|
|
63
65
|
lg: 'h-12 min-w-12',
|
|
64
66
|
};
|
|
65
67
|
|
|
68
|
+
const STACK_ROW_CLASS = 'flex items-center';
|
|
69
|
+
/** How far each later face tucks under the previous one, as the class both the stack and its skeleton use. */
|
|
70
|
+
const overlapClass = (size: AvatarStackSize) => (size === 'xs' ? '-ml-2' : '-ml-3');
|
|
71
|
+
/** A fixed-width stack's width (`slots`). */
|
|
72
|
+
const slotsWidthStyle = (size: AvatarStackSize, slots?: number) =>
|
|
73
|
+
slots ? { width: SIZE_PX[size] + (slots - 1) * (SIZE_PX[size] - OVERLAP_PX[size]) } : undefined;
|
|
74
|
+
|
|
75
|
+
/** A stack while its people are read: `count` overlapped circles of the faces' size. */
|
|
76
|
+
export function AvatarStackSkeleton({
|
|
77
|
+
count = 3,
|
|
78
|
+
size = 'md',
|
|
79
|
+
slots,
|
|
80
|
+
className,
|
|
81
|
+
}: {
|
|
82
|
+
count?: number;
|
|
83
|
+
size?: AvatarStackSize;
|
|
84
|
+
slots?: number;
|
|
85
|
+
className?: string;
|
|
86
|
+
}) {
|
|
87
|
+
return (
|
|
88
|
+
<div aria-hidden className={cn(STACK_ROW_CLASS, slots && 'shrink-0', className)} style={slotsWidthStyle(size, slots)}>
|
|
89
|
+
{Array.from({ length: count }, (_, i) => (
|
|
90
|
+
<UnifiedSkeleton
|
|
91
|
+
// biome-ignore lint/suspicious/noArrayIndexKey: skeleton faces never reorder
|
|
92
|
+
key={i}
|
|
93
|
+
variant="circular"
|
|
94
|
+
className={cn('relative shrink-0 ring-2 ring-ods-card', i > 0 && overlapClass(size))}
|
|
95
|
+
width={SIZE_PX[size]}
|
|
96
|
+
height={SIZE_PX[size]}
|
|
97
|
+
/>
|
|
98
|
+
))}
|
|
99
|
+
</div>
|
|
100
|
+
);
|
|
101
|
+
}
|
|
102
|
+
|
|
66
103
|
export function AvatarStack({
|
|
67
104
|
people,
|
|
68
105
|
max = 3,
|
|
@@ -73,6 +110,8 @@ export function AvatarStack({
|
|
|
73
110
|
label = 'Assignees',
|
|
74
111
|
className,
|
|
75
112
|
}: AvatarStackProps) {
|
|
113
|
+
const loading = useLoadingScope();
|
|
114
|
+
if (loading) return <AvatarStackSkeleton count={slots ?? max} size={size} slots={slots} className={className} />;
|
|
76
115
|
if (people.length === 0) return null;
|
|
77
116
|
const groupSize = Math.max(total ?? people.length, people.length);
|
|
78
117
|
const faces = slots ? (groupSize > slots ? slots - 1 : slots) : max;
|
|
@@ -85,8 +124,8 @@ export function AvatarStack({
|
|
|
85
124
|
const compact = size === 'xs';
|
|
86
125
|
return (
|
|
87
126
|
<div
|
|
88
|
-
className={cn(
|
|
89
|
-
style={
|
|
127
|
+
className={cn(STACK_ROW_CLASS, slots && 'shrink-0', className)}
|
|
128
|
+
style={slotsWidthStyle(size, slots)}
|
|
90
129
|
role="group"
|
|
91
130
|
aria-label={`${label}: ${names}${unnamed > 0 ? ` and ${unnamed} more` : ''}`}
|
|
92
131
|
>
|
|
@@ -99,7 +138,7 @@ export function AvatarStack({
|
|
|
99
138
|
alt={person.name}
|
|
100
139
|
fallback={person.name}
|
|
101
140
|
title={person.name}
|
|
102
|
-
className={cn('relative ring-2', ringClassName, i > 0 && (
|
|
141
|
+
className={cn('relative ring-2', ringClassName, i > 0 && overlapClass(size))}
|
|
103
142
|
// Leftmost (primary assignee) on TOP — later avatars tuck
|
|
104
143
|
// BEHIND, so the first face is always fully visible.
|
|
105
144
|
style={{ zIndex: visible.length - i }}
|
|
@@ -4,6 +4,7 @@ import { cva, type VariantProps } from 'class-variance-authority';
|
|
|
4
4
|
import type { HTMLAttributes } from 'react';
|
|
5
5
|
|
|
6
6
|
import { cn } from '../../utils/cn';
|
|
7
|
+
import { UnifiedSkeleton } from '../loading/unified-skeleton';
|
|
7
8
|
|
|
8
9
|
const badgeVariants = cva(
|
|
9
10
|
// Weight from the ODS token. Scale stays at 12px rather than the `text-h6`
|
|
@@ -32,4 +33,18 @@ function Badge({ className, variant, ...props }: BadgeProps) {
|
|
|
32
33
|
return <div className={cn(badgeVariants({ variant }), className)} {...props} />;
|
|
33
34
|
}
|
|
34
35
|
|
|
35
|
-
|
|
36
|
+
/**
|
|
37
|
+
* A badge while its text is read: one skeleton box with the badge's own frame, padding and type step, its content
|
|
38
|
+
* one line of that step (`box-content`: the padding adds to the line, as it does around the badge's text). The
|
|
39
|
+
* width stands for the text (`className` overrides it).
|
|
40
|
+
*/
|
|
41
|
+
function BadgeSkeleton({ className }: { className?: string }) {
|
|
42
|
+
return (
|
|
43
|
+
<UnifiedSkeleton
|
|
44
|
+
as="span"
|
|
45
|
+
className={cn(badgeVariants({ variant: null }), 'box-content h-[1lh] w-10 border-transparent', className)}
|
|
46
|
+
/>
|
|
47
|
+
);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export { Badge, BadgeSkeleton, badgeVariants };
|
|
@@ -1,17 +1,48 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
|
+
import { ICON_SIZE } from '../../styles/component-sizes';
|
|
2
3
|
import { cn } from '../../utils/cn';
|
|
3
4
|
import { trialLabels } from '../../utils/trial';
|
|
4
5
|
import { FileOffIcon } from '../icons-v2-generated/documents/file-off-icon';
|
|
5
6
|
import { CreditCardXmarkIcon } from '../icons-v2-generated/finance/credit-card-xmark-icon';
|
|
6
7
|
import { FlaskVialIcon } from '../icons-v2-generated/school/flask-vial-icon';
|
|
7
8
|
import { XmarkAltIcon } from '../icons-v2-generated/signs-and-symbols/xmark-alt-icon';
|
|
9
|
+
import { TextHold } from './layout-hold';
|
|
8
10
|
|
|
9
11
|
export interface BenefitItem {
|
|
10
12
|
/** Drawn at 16px in the quiet colour. */
|
|
11
13
|
icon?: ReactNode;
|
|
12
14
|
label: string;
|
|
15
|
+
/**
|
|
16
|
+
* The words carry read data that is not here yet ("Trusted by {count} MSPs" before the count): pass the copy with
|
|
17
|
+
* its slots unfilled. The mark and the page's own words are drawn real, and each `{slot}` is a bar as wide as
|
|
18
|
+
* `typical` (a typical value of the data, held unseen: `'000'` for a count).
|
|
19
|
+
*/
|
|
20
|
+
loading?: boolean;
|
|
21
|
+
/** A typical value of a loading item's slots, whose width each slot's bar takes. */
|
|
22
|
+
typical?: string;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/** A loading benefit's words: the copy real, each `{slot}` a bar as wide as a typical value. */
|
|
26
|
+
function LoadingLabel({ label, typical }: { label: string; typical: string }) {
|
|
27
|
+
return (
|
|
28
|
+
<>
|
|
29
|
+
{label.split(/(\{\w+\})/).map((part, index) =>
|
|
30
|
+
/^\{\w+\}$/.test(part) ? (
|
|
31
|
+
// biome-ignore lint/suspicious/noArrayIndexKey: the parts of one fixed string never reorder
|
|
32
|
+
<TextHold key={index}>{typical}</TextHold>
|
|
33
|
+
) : (
|
|
34
|
+
part
|
|
35
|
+
),
|
|
36
|
+
)}
|
|
37
|
+
</>
|
|
38
|
+
);
|
|
13
39
|
}
|
|
14
40
|
|
|
41
|
+
/** A benefit's layout, read by the benefit and by its loading form. */
|
|
42
|
+
const BENEFIT_ITEM_CLASS = 'flex items-center gap-[var(--spacing-system-xs)]';
|
|
43
|
+
const BENEFIT_ICON_CLASS = `flex ${ICON_SIZE.sm} shrink-0 items-center justify-center text-ods-text-secondary [&_svg]:size-4`;
|
|
44
|
+
const BENEFIT_LABEL_CLASS = 'whitespace-nowrap text-ods-text-primary text-h4';
|
|
45
|
+
|
|
15
46
|
/** The mark of each of the trial's terms, wherever a term is listed. */
|
|
16
47
|
export const TRIAL_TERM_ICONS = {
|
|
17
48
|
noCard: <CreditCardXmarkIcon />,
|
|
@@ -80,16 +111,20 @@ export function BenefitList({
|
|
|
80
111
|
)}
|
|
81
112
|
>
|
|
82
113
|
{all.map(item => (
|
|
83
|
-
<li key={item.label} className=
|
|
114
|
+
<li key={item.label} className={BENEFIT_ITEM_CLASS}>
|
|
84
115
|
{item.icon && (
|
|
85
|
-
<span
|
|
86
|
-
className="flex size-4 shrink-0 items-center justify-center text-ods-text-secondary [&_svg]:size-4"
|
|
87
|
-
aria-hidden
|
|
88
|
-
>
|
|
116
|
+
<span className={BENEFIT_ICON_CLASS} aria-hidden>
|
|
89
117
|
{item.icon}
|
|
90
118
|
</span>
|
|
91
119
|
)}
|
|
92
|
-
|
|
120
|
+
{item.loading ? (
|
|
121
|
+
// The page's own words, real, and a bar where each read value goes: the row keeps its box.
|
|
122
|
+
<span className={BENEFIT_LABEL_CLASS}>
|
|
123
|
+
<LoadingLabel label={item.label} typical={item.typical ?? '000'} />
|
|
124
|
+
</span>
|
|
125
|
+
) : (
|
|
126
|
+
<span className={BENEFIT_LABEL_CLASS}>{item.label}</span>
|
|
127
|
+
)}
|
|
93
128
|
</li>
|
|
94
129
|
))}
|
|
95
130
|
</ul>
|
|
@@ -78,3 +78,51 @@ export const splitDividerColorClasses = {
|
|
|
78
78
|
} as const;
|
|
79
79
|
|
|
80
80
|
export type ButtonSurfaceVariant = keyof typeof buttonSurfaceClasses;
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* A button's box per size (height, padding, label type, glyph size): read by `buttonVariants` and by
|
|
84
|
+
* `InteractiveSkeleton.Button`'s `size`, so a button's skeleton is the button's box at every breakpoint.
|
|
85
|
+
*/
|
|
86
|
+
export const BUTTON_SIZE_CLASS = {
|
|
87
|
+
default: 'h-11 px-[var(--spacing-system-m)] py-[var(--spacing-system-sf)] text-h3 md:h-12',
|
|
88
|
+
small: 'h-6 p-[var(--spacing-system-xs)] text-h5 md:h-8',
|
|
89
|
+
// The CHILD is the affordance (a badge, a chip, a thumbnail): the button
|
|
90
|
+
// contributes the hit target, the focus ring and the keyboard/ARIA
|
|
91
|
+
// semantics, and NO box of its own. Without this, call sites reached for
|
|
92
|
+
// a `className="h-auto p-0"` override to cancel the default box.
|
|
93
|
+
wrap: 'h-auto p-0',
|
|
94
|
+
'small-legacy': 'h-10 px-[var(--spacing-system-m)] py-[var(--spacing-system-xs)] text-[14px] font-bold', // Temporary alias for "small" — deprecated; grep size="small-legacy" (lib + hub) and migrate the remaining consumers before removal
|
|
95
|
+
// 24px pill for slim strips (announcement/promo bars, inline banner
|
|
96
|
+
// actions — Primer banner / Polaris banner / Vercel-bar convention).
|
|
97
|
+
// The label matches the strip's MESSAGE type ramp exactly (DM Sans
|
|
98
|
+
// regular, 13px -> md:14px, snug leading — the announcement bar's
|
|
99
|
+
// subtitle styling): in-strip CTAs must never read louder than the
|
|
100
|
+
// message beside them, so this deliberately uses neither the
|
|
101
|
+
// mono-uppercase control style of "small" nor a heavier weight.
|
|
102
|
+
// Pinned h-6 across breakpoints (24px = the WCAG 2.5.8 target-size
|
|
103
|
+
// floor) with horizontal-dominant padding and a 14px glyph.
|
|
104
|
+
compact: 'h-6 px-[var(--spacing-system-sf)] py-0 font-normal text-h6 [&_svg]:h-3.5 [&_svg]:w-3.5',
|
|
105
|
+
icon: 'h-11 w-11 p-[var(--spacing-system-sf)] md:h-12 md:w-12 [&_svg]:h-4 [&_svg]:w-4 md:[&_svg]:h-6 md:[&_svg]:w-6',
|
|
106
|
+
// Quiet 32px icon target with a 16px glyph, fixed across breakpoints
|
|
107
|
+
// (Carbon ghost sm / Primer medium / shadcn icon-sm all pin 32px;
|
|
108
|
+
// ≥ the 24px WCAG 2.5.8 target floor). For icon actions that read as
|
|
109
|
+
// metadata rather than CTAs — author-page social rows, share rows.
|
|
110
|
+
// Pair with variant="transparent" for the ghost treatment.
|
|
111
|
+
// `BUTTON_ICON_SM_SIZE` states the same 32px for a layout that must clear one.
|
|
112
|
+
'icon-sm': 'h-8 w-8 p-[var(--spacing-system-xxs)] [&_svg]:h-4 [&_svg]:w-4',
|
|
113
|
+
// 20px inline glyph for affordances that sit INSIDE a line of text —
|
|
114
|
+
// an info hint beside a badge, a copy glyph after an id. `icon-sm`'s
|
|
115
|
+
// 32px target is correct for a metadata row but visually swamps a
|
|
116
|
+
// 10px badge or a 14px label, so hosts were reaching for className
|
|
117
|
+
// overrides to shrink it. Below the WCAG 2.5.8 target floor on purpose:
|
|
118
|
+
// this is only for glyphs whose information is ALSO available another
|
|
119
|
+
// way (tooltip content mirrored into an aria-describedby node), never
|
|
120
|
+
// for a sole means of performing an action.
|
|
121
|
+
'icon-inline': 'h-5 min-h-0 w-5 min-w-0 shrink-0 p-0 [&_svg]:h-3.5 [&_svg]:w-3.5',
|
|
122
|
+
// Bare 56px media glyph (play / unmute over video). A size variant so
|
|
123
|
+
// hosts stop re-implementing a <button> to escape the 20px svg cap.
|
|
124
|
+
'icon-glyph': 'h-14 w-14 p-0 [&_svg]:h-14 [&_svg]:w-14',
|
|
125
|
+
} as const;
|
|
126
|
+
|
|
127
|
+
export type ButtonSizeKey = keyof typeof BUTTON_SIZE_CLASS;
|
|
128
|
+
|
|
@@ -6,6 +6,7 @@ import React from 'react';
|
|
|
6
6
|
import Link from '../../../embed-shims/next-link';
|
|
7
7
|
import { cn } from '../../../utils/cn';
|
|
8
8
|
import {
|
|
9
|
+
BUTTON_SIZE_CLASS,
|
|
9
10
|
buttonSurfaceClasses,
|
|
10
11
|
outlineBorderClasses,
|
|
11
12
|
splitDividerColorClasses,
|
|
@@ -13,6 +14,9 @@ import {
|
|
|
13
14
|
} from './button-styles';
|
|
14
15
|
|
|
15
16
|
// Default layout: centered single content area, padding/gap on the button itself.
|
|
17
|
+
/** The `icon-sm` button's size (its `h-8 w-8`), for a layout that must leave room for one. */
|
|
18
|
+
export const BUTTON_ICON_SM_SIZE = '2rem';
|
|
19
|
+
|
|
16
20
|
const buttonVariants = cva(
|
|
17
21
|
[
|
|
18
22
|
'relative inline-flex items-center justify-center gap-[var(--spacing-system-xsf)]',
|
|
@@ -35,45 +39,7 @@ const buttonVariants = cva(
|
|
|
35
39
|
overlay: buttonSurfaceClasses.overlay,
|
|
36
40
|
link: buttonSurfaceClasses.link,
|
|
37
41
|
},
|
|
38
|
-
size:
|
|
39
|
-
default: 'h-11 px-[var(--spacing-system-m)] py-[var(--spacing-system-sf)] text-h3 md:h-12',
|
|
40
|
-
small: 'h-6 p-[var(--spacing-system-xs)] text-h5 md:h-8',
|
|
41
|
-
// The CHILD is the affordance (a badge, a chip, a thumbnail): the button
|
|
42
|
-
// contributes the hit target, the focus ring and the keyboard/ARIA
|
|
43
|
-
// semantics, and NO box of its own. Without this, call sites reached for
|
|
44
|
-
// a `className="h-auto p-0"` override to cancel the default box.
|
|
45
|
-
wrap: 'h-auto p-0',
|
|
46
|
-
'small-legacy': 'h-10 px-[var(--spacing-system-m)] py-[var(--spacing-system-xs)] text-[14px] font-bold', // Temporary alias for "small" — deprecated; grep size="small-legacy" (lib + hub) and migrate the remaining consumers before removal
|
|
47
|
-
// 24px pill for slim strips (announcement/promo bars, inline banner
|
|
48
|
-
// actions — Primer banner / Polaris banner / Vercel-bar convention).
|
|
49
|
-
// The label matches the strip's MESSAGE type ramp exactly (DM Sans
|
|
50
|
-
// regular, 13px -> md:14px, snug leading — the announcement bar's
|
|
51
|
-
// subtitle styling): in-strip CTAs must never read louder than the
|
|
52
|
-
// message beside them, so this deliberately uses neither the
|
|
53
|
-
// mono-uppercase control style of "small" nor a heavier weight.
|
|
54
|
-
// Pinned h-6 across breakpoints (24px = the WCAG 2.5.8 target-size
|
|
55
|
-
// floor) with horizontal-dominant padding and a 14px glyph.
|
|
56
|
-
compact: 'h-6 px-[var(--spacing-system-sf)] py-0 font-normal text-h6 [&_svg]:h-3.5 [&_svg]:w-3.5',
|
|
57
|
-
icon: 'h-11 w-11 p-[var(--spacing-system-sf)] md:h-12 md:w-12 [&_svg]:h-4 [&_svg]:w-4 md:[&_svg]:h-6 md:[&_svg]:w-6',
|
|
58
|
-
// Quiet 32px icon target with a 16px glyph, fixed across breakpoints
|
|
59
|
-
// (Carbon ghost sm / Primer medium / shadcn icon-sm all pin 32px;
|
|
60
|
-
// ≥ the 24px WCAG 2.5.8 target floor). For icon actions that read as
|
|
61
|
-
// metadata rather than CTAs — author-page social rows, share rows.
|
|
62
|
-
// Pair with variant="transparent" for the ghost treatment.
|
|
63
|
-
'icon-sm': 'h-8 w-8 p-[var(--spacing-system-xxs)] [&_svg]:h-4 [&_svg]:w-4',
|
|
64
|
-
// 20px inline glyph for affordances that sit INSIDE a line of text —
|
|
65
|
-
// an info hint beside a badge, a copy glyph after an id. `icon-sm`'s
|
|
66
|
-
// 32px target is correct for a metadata row but visually swamps a
|
|
67
|
-
// 10px badge or a 14px label, so hosts were reaching for className
|
|
68
|
-
// overrides to shrink it. Below the WCAG 2.5.8 target floor on purpose:
|
|
69
|
-
// this is only for glyphs whose information is ALSO available another
|
|
70
|
-
// way (tooltip content mirrored into an aria-describedby node), never
|
|
71
|
-
// for a sole means of performing an action.
|
|
72
|
-
'icon-inline': 'h-5 min-h-0 w-5 min-w-0 shrink-0 p-0 [&_svg]:h-3.5 [&_svg]:w-3.5',
|
|
73
|
-
// Bare 56px media glyph (play / unmute over video). A size variant so
|
|
74
|
-
// hosts stop re-implementing a <button> to escape the 20px svg cap.
|
|
75
|
-
'icon-glyph': 'h-14 w-14 p-0 [&_svg]:h-14 [&_svg]:w-14',
|
|
76
|
-
},
|
|
42
|
+
size: BUTTON_SIZE_CLASS,
|
|
77
43
|
// Label typography axis (Figma 133-740). `bold` is the classic h3-bold
|
|
78
44
|
// label; `regular` swaps the DEFAULT size's label to the h4 step
|
|
79
45
|
// (DM Sans 500, neutral tracking) — added for navigation buttons.
|
|
@@ -4,19 +4,34 @@ import { type HTMLAttributes, type ReactNode, forwardRef } from 'react';
|
|
|
4
4
|
|
|
5
5
|
import { cn } from '../../utils/cn';
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
7
|
+
/**
|
|
8
|
+
* `default`: the raised card (a shadow, the card colour). `panel`: a flat ODS card surface,
|
|
9
|
+
* the frame a page section draws around a block of its own (a call-to-action band, the
|
|
10
|
+
* booking fold, a quote tile): small radius, the card fill, no shadow.
|
|
11
|
+
*/
|
|
12
|
+
const CARD_VARIANT_CLASS = {
|
|
13
|
+
default: 'rounded-lg bg-card text-card-foreground shadow-sm',
|
|
14
|
+
panel: 'rounded-md bg-ods-card text-ods-text-primary',
|
|
15
|
+
} as const;
|
|
16
|
+
|
|
17
|
+
export type CardVariant = keyof typeof CARD_VARIANT_CLASS;
|
|
18
|
+
|
|
19
|
+
const Card = forwardRef<HTMLDivElement, HTMLAttributes<HTMLDivElement> & { variant?: CardVariant }>(
|
|
20
|
+
({ className, variant = 'default', ...props }, ref) => (
|
|
21
|
+
<div
|
|
22
|
+
ref={ref}
|
|
23
|
+
className={cn(
|
|
24
|
+
// `border` with NO color token resolves to `currentColor` — on a dark card
|
|
25
|
+
// with light text that paints a WHITE outline. Every ODS surface borders
|
|
26
|
+
// on `--color-border`; say so.
|
|
27
|
+
'border border-ods-border',
|
|
28
|
+
CARD_VARIANT_CLASS[variant],
|
|
29
|
+
className,
|
|
30
|
+
)}
|
|
31
|
+
{...props}
|
|
32
|
+
/>
|
|
33
|
+
),
|
|
34
|
+
);
|
|
20
35
|
Card.displayName = 'Card';
|
|
21
36
|
|
|
22
37
|
const CardHeader = forwardRef<HTMLDivElement, HTMLAttributes<HTMLDivElement>>(({ className, ...props }, ref) => (
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
|
|
4
4
|
import { type ComponentPropsWithoutRef, type ElementRef, forwardRef } from 'react';
|
|
5
5
|
|
|
6
|
+
import { CONTROL_SIZE } from '../../styles/component-sizes';
|
|
6
7
|
import { cn } from '../../utils/cn';
|
|
7
8
|
import { CheckboxCheckmarkIcon } from '../icons-v2-generated/signs-and-symbols/checkbox-checkmark-icon';
|
|
8
9
|
|
|
@@ -23,13 +24,17 @@ export interface CheckboxProps extends Omit<CheckboxPrimitiveProps, 'onCheckedCh
|
|
|
23
24
|
onCheckedChange?: (checked: boolean) => void;
|
|
24
25
|
}
|
|
25
26
|
|
|
27
|
+
/** The checkbox's box (its size and corners): read by the checkbox and by every skeleton that stands for one. */
|
|
28
|
+
export const CHECKBOX_BOX_CLASS = `${CONTROL_SIZE.checkbox} shrink-0 rounded-sm`;
|
|
29
|
+
|
|
26
30
|
const Checkbox = forwardRef<ElementRef<typeof CheckboxPrimitive.Root>, CheckboxProps>(
|
|
27
31
|
({ className, onCheckedChange, ...props }, ref) => (
|
|
28
32
|
<CheckboxPrimitive.Root
|
|
29
33
|
ref={ref}
|
|
30
34
|
onCheckedChange={booleanCheckedChange(onCheckedChange)}
|
|
31
35
|
className={cn(
|
|
32
|
-
|
|
36
|
+
CHECKBOX_BOX_CLASS,
|
|
37
|
+
'peer border border-ods-border bg-ods-card focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ods-accent focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:border-ods-accent data-[state=checked]:bg-ods-accent',
|
|
33
38
|
className,
|
|
34
39
|
)}
|
|
35
40
|
{...props}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ComponentType, ReactNode } from 'react';
|
|
2
|
+
import { TILE_SIZE } from '../../styles/component-sizes';
|
|
2
3
|
import { cn } from '../../utils/cn';
|
|
3
4
|
import {
|
|
4
5
|
complianceStandardForName,
|
|
@@ -33,6 +34,9 @@ function markFontSize(mark: string): number {
|
|
|
33
34
|
return 7;
|
|
34
35
|
}
|
|
35
36
|
|
|
37
|
+
/** A compliance logo's box (the official mark's frame and the drawn badge alike): read by its skeletons too. */
|
|
38
|
+
export const COMPLIANCE_LOGO_SIZE_CLASS = TILE_SIZE.lg;
|
|
39
|
+
|
|
36
40
|
/**
|
|
37
41
|
* A compliance standard's badge, for a standard the icon set has no official
|
|
38
42
|
* mark for: the standard's mark ("CMMC", "FedRAMP") in a plain ring, drawn in
|
|
@@ -45,7 +49,7 @@ export function ComplianceBadge({ standard, className }: { standard: ComplianceS
|
|
|
45
49
|
<svg
|
|
46
50
|
viewBox="0 0 40 40"
|
|
47
51
|
xmlns="http://www.w3.org/2000/svg"
|
|
48
|
-
className={cn('
|
|
52
|
+
className={cn(COMPLIANCE_LOGO_SIZE_CLASS, 'shrink-0', className)}
|
|
49
53
|
role="img"
|
|
50
54
|
aria-label={`${standard.body} ${standard.mark}`}
|
|
51
55
|
>
|
|
@@ -96,7 +100,7 @@ export function ComplianceLogo({
|
|
|
96
100
|
<span
|
|
97
101
|
role="img"
|
|
98
102
|
aria-label={`${standard.body} ${standard.mark}`}
|
|
99
|
-
className={cn('flex
|
|
103
|
+
className={cn('flex shrink-0 items-center justify-center', COMPLIANCE_LOGO_SIZE_CLASS, className)}
|
|
100
104
|
>
|
|
101
105
|
{/* Fills the box, so a caller's size class sizes the mark too (not only its frame). */}
|
|
102
106
|
<Official size={40} className="size-full" aria-hidden="true" />
|