@flamingo-stack/openframe-frontend-core 0.0.764 → 0.0.766
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/build/export-map.json +1 -1
- package/dist/chat-protocol/decode.d.ts +0 -1
- package/dist/chat-protocol/decode.d.ts.map +1 -1
- package/dist/chat-protocol/decode.js +1 -3
- package/dist/chat-protocol/index.d.ts +1 -0
- package/dist/chat-protocol/index.d.ts.map +1 -1
- package/dist/chat-protocol/index.js +2 -0
- package/dist/{chunk-FQSXZC2K.cjs → chunk-2JRSYWFP.cjs} +3 -3
- package/dist/{chunk-I5MSCD57.cjs → chunk-3LW5TD54.cjs} +7 -3
- package/dist/{chunk-7AM3AFM4.cjs → chunk-4YIDZCTL.cjs} +1 -3
- package/dist/{chunk-SVP6DJFL.cjs → chunk-57B5RUYD.cjs} +2 -2
- package/dist/{chunk-R3TWQ3ZJ.cjs → chunk-5P4TDV7V.cjs} +16 -7
- package/dist/chunk-65VVJSQZ.cjs +109 -0
- package/dist/{chunk-LNGR4DXA.cjs → chunk-7U3ELNGC.cjs} +103 -61
- package/dist/{chunk-T5FRANE6.cjs → chunk-7VI7TOGI.cjs} +509 -353
- package/dist/{chunk-5AV5R5RC.cjs → chunk-7XFVUUVZ.cjs} +14 -14
- package/dist/{chunk-M7YZGRAV.cjs → chunk-AAECWUNV.cjs} +35 -8
- package/dist/{chunk-YUMFVQIN.cjs → chunk-C42WIUH6.cjs} +11 -5
- package/dist/{chunk-22XAPV6N.cjs → chunk-DGNBXZXT.cjs} +1069 -1020
- package/dist/{chunk-HOTM4UM6.cjs → chunk-E76ONBKF.cjs} +28 -0
- package/dist/{chunk-PERN37KO.cjs → chunk-F7R3U5EN.cjs} +5 -25
- package/dist/{chunk-K6VWTUCH.cjs → chunk-FL2RMEDX.cjs} +2 -2
- package/dist/chunk-FZB4RMRK.cjs +695 -0
- package/dist/{chunk-BIA77I6B.cjs → chunk-GTONIRJU.cjs} +56 -54
- package/dist/{chunk-3FC6AKEJ.cjs → chunk-HNQRY6RU.cjs} +200 -87
- package/dist/chunk-INI4ADPT.cjs +495 -0
- package/dist/{chunk-JD7CL2I6.cjs → chunk-JGWN6GH5.cjs} +11 -7
- package/dist/{chunk-RYSNH2VY.cjs → chunk-JKQVKWLB.cjs} +258 -179
- package/dist/{chunk-EQZXJUYV.cjs → chunk-JTSUAHDL.cjs} +73 -51
- package/dist/chunk-K3IHNXR4.cjs +40 -0
- package/dist/{chunk-EFTUFJS2.cjs → chunk-LELS4XMX.cjs} +20 -22
- package/dist/{chunk-ZCU2PYCW.cjs → chunk-MPTMT773.cjs} +62 -62
- package/dist/{chunk-LVKUMVUJ.cjs → chunk-NBVZIHGS.cjs} +12 -8
- package/dist/{chunk-IDGOMHTC.cjs → chunk-NF3PBWDJ.cjs} +521 -413
- package/dist/{chunk-7GUWPGB4.cjs → chunk-NJMZ3N7Q.cjs} +44 -44
- package/dist/{chunk-OJJ4RL2T.cjs → chunk-R3JX4MXD.cjs} +4 -4
- package/dist/{chunk-GY2JESOC.cjs → chunk-RB7VLVMD.cjs} +15 -15
- package/dist/{chunk-47GZ33ND.cjs → chunk-REJMFXGD.cjs} +198 -73
- package/dist/chunk-RMUSPTJN.cjs +102 -0
- package/dist/{chunk-3RFQPQ7Z.cjs → chunk-RNLRS4ID.cjs} +3 -3
- package/dist/{chunk-ZG6F5A3A.cjs → chunk-RTBYQWAV.cjs} +286 -201
- package/dist/{chunk-63N4FN5V.cjs → chunk-SETFUCZA.cjs} +7 -7
- package/dist/{chunk-2QMBXGMQ.cjs → chunk-TF5D5MNO.cjs} +222 -120
- package/dist/{chunk-NET74KSQ.cjs → chunk-TZ4GKUO2.cjs} +5 -5
- package/dist/{chunk-JJ2S6C5U.cjs → chunk-UW7UWUZU.cjs} +105 -117
- package/dist/{chunk-MWLD6NXV.cjs → chunk-VFZFCRAL.cjs} +4 -6
- package/dist/{chunk-VL6IXTAI.cjs → chunk-VRDHAR3X.cjs} +4229 -3918
- package/dist/{chunk-NJS7FQRW.cjs → chunk-VYYLYZUC.cjs} +207 -74
- package/dist/{chunk-NO5UJLLQ.cjs → chunk-WEANWBJH.cjs} +6 -1
- package/dist/{chunk-XFNWHCRM.cjs → chunk-WO3XO27C.cjs} +13 -13
- package/dist/{chunk-L2V7K7RR.cjs → chunk-X7ECVSVN.cjs} +43 -41
- package/dist/chunk-XFRBEXQN.cjs +304 -0
- package/dist/{chunk-AKK3EO37.cjs → chunk-XIFEZ2JT.cjs} +35 -23
- package/dist/{chunk-XCH7SPGI.cjs → chunk-XVFM6SJA.cjs} +61 -52
- package/dist/{chunk-3RYIF4OW.cjs → chunk-XXJL5GY3.cjs} +3 -3
- package/dist/{chunk-GZKWF6NH.cjs → chunk-XZ6DKGT4.cjs} +34 -34
- package/dist/{chunk-74ALTXXC.cjs → chunk-YL6ZB2SR.cjs} +1624 -1440
- package/dist/{chunk-TSJUL6IH.cjs → chunk-YRFWOJF4.cjs} +16 -8
- package/dist/{chunk-HTRILBJD.cjs → chunk-YXDHVHB2.cjs} +30 -13
- package/dist/{chunk-RO72PRQI.cjs → chunk-ZRDMGMY7.cjs} +75 -50
- package/dist/{chunk-2IFCRPNP.cjs → chunk-ZV45VS6K.cjs} +369 -433
- package/dist/{cloud-tenants-N5CLYDPU.cjs → cloud-tenants-U2KMEIO7.cjs} +35 -39
- package/dist/components/agent-identity.d.ts +1 -2
- package/dist/components/agent-identity.d.ts.map +1 -1
- package/dist/components/agent-identity.js +0 -1
- package/dist/components/agent-mark.d.ts +4 -6
- package/dist/components/agent-mark.d.ts.map +1 -1
- package/dist/components/agent-mark.js +7 -8
- package/dist/components/authors/author-detail-view.d.ts.map +1 -1
- package/dist/components/authors/author-detail-view.js +51 -18
- package/dist/components/calendar.cjs +10 -10
- package/dist/components/case-studies/entity-quotes-panel.d.ts +6 -4
- package/dist/components/case-studies/entity-quotes-panel.d.ts.map +1 -1
- package/dist/components/case-studies/entity-quotes-panel.js +44 -11
- package/dist/components/case-studies/index.cjs +140 -70
- package/dist/components/case-studies/index.d.ts +2 -2
- package/dist/components/case-studies/index.d.ts.map +1 -1
- package/dist/components/case-studies/index.js +5 -2
- package/dist/components/case-studies/quote-cards-strip.d.ts +23 -2
- package/dist/components/case-studies/quote-cards-strip.d.ts.map +1 -1
- package/dist/components/case-studies/quote-cards-strip.js +48 -10
- package/dist/components/categories-cart.d.ts +7 -0
- package/dist/components/categories-cart.d.ts.map +1 -1
- package/dist/components/categories-cart.js +58 -36
- package/dist/components/category-card.js +1 -1
- package/dist/components/chat/chat-attachment-bar.js +1 -1
- package/dist/components/chat/chat-container.d.ts.map +1 -1
- package/dist/components/chat/chat-container.js +2 -1
- package/dist/components/chat/chat-ticket-list.d.ts +0 -1
- package/dist/components/chat/chat-ticket-list.d.ts.map +1 -1
- package/dist/components/chat/chat-turn.d.ts +31 -1
- package/dist/components/chat/chat-turn.d.ts.map +1 -1
- package/dist/components/chat/chat-turn.js +85 -19
- package/dist/components/chat/embeddable-chat.d.ts.map +1 -1
- package/dist/components/chat/embeddable-chat.js +1 -1
- package/dist/components/chat/entity-cards/admin-content-card-grid.d.ts +0 -15
- package/dist/components/chat/entity-cards/admin-content-card-grid.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/admin-content-card-grid.js +2 -38
- package/dist/components/chat/entity-cards/admin-content-card.d.ts +15 -0
- package/dist/components/chat/entity-cards/admin-content-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/admin-content-card.js +52 -10
- package/dist/components/chat/entity-cards/blog-card.d.ts +9 -2
- package/dist/components/chat/entity-cards/blog-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/blog-card.js +49 -33
- package/dist/components/chat/entity-cards/campaign-card-admin.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/campaign-card-admin.js +4 -11
- package/dist/components/chat/entity-cards/case-study-card.d.ts +27 -9
- package/dist/components/chat/entity-cards/case-study-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/case-study-card.js +80 -54
- package/dist/components/chat/entity-cards/chat-ticket-item.d.ts +7 -0
- package/dist/components/chat/entity-cards/chat-ticket-item.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/chat-ticket-item.js +24 -28
- package/dist/components/chat/entity-cards/customer-interview-card.d.ts +9 -2
- package/dist/components/chat/entity-cards/customer-interview-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/customer-interview-card.js +39 -36
- package/dist/components/chat/entity-cards/data-room-doc-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/data-room-doc-card.js +14 -16
- package/dist/components/chat/entity-cards/design-doc-card.d.ts +8 -2
- package/dist/components/chat/entity-cards/design-doc-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/design-doc-card.js +37 -43
- package/dist/components/chat/entity-cards/dispatch.d.ts +2 -5
- package/dist/components/chat/entity-cards/dispatch.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/dispatch.js +6 -6
- package/dist/components/chat/entity-cards/employee-entry-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/employee-entry-card.js +5 -5
- package/dist/components/chat/entity-cards/entity-author-card.d.ts +33 -6
- package/dist/components/chat/entity-cards/entity-author-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/entity-author-card.js +98 -32
- package/dist/components/chat/entity-cards/entity-portrait-card.d.ts +9 -0
- package/dist/components/chat/entity-cards/entity-portrait-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/entity-portrait-card.js +46 -18
- package/dist/components/chat/entity-cards/generic-entity-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/generic-entity-card.js +14 -17
- package/dist/components/chat/entity-cards/github-activity-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/github-activity-card.js +15 -20
- package/dist/components/chat/entity-cards/hubspot-ticket-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/hubspot-ticket-card.js +14 -19
- package/dist/components/chat/entity-cards/index.d.ts +8 -7
- package/dist/components/chat/entity-cards/index.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/index.js +21 -8
- package/dist/components/chat/entity-cards/investor-update-card.d.ts +9 -3
- package/dist/components/chat/entity-cards/investor-update-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/investor-update-card.js +28 -28
- package/dist/components/chat/entity-cards/onboarding-guide-card.d.ts +11 -2
- package/dist/components/chat/entity-cards/onboarding-guide-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/onboarding-guide-card.js +66 -63
- package/dist/components/chat/entity-cards/program-card.d.ts +9 -2
- package/dist/components/chat/entity-cards/program-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/program-card.js +69 -58
- package/dist/components/chat/entity-cards/roadmap-card.d.ts +10 -1
- package/dist/components/chat/entity-cards/roadmap-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/roadmap-card.js +148 -156
- package/dist/components/chat/entity-cards/roadmap-vote-button.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/roadmap-vote-button.js +5 -1
- package/dist/components/chat/entity-cards/slack-message-card.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/slack-message-card.js +23 -18
- package/dist/components/chat/hooks/index.d.ts +7 -1
- package/dist/components/chat/hooks/index.d.ts.map +1 -1
- package/dist/components/chat/hooks/index.js +8 -1
- package/dist/components/chat/hooks/use-ask-prompts.d.ts.map +1 -1
- package/dist/components/chat/hooks/use-ask-prompts.js +3 -1
- package/dist/components/chat/hooks/use-chat-dialog-manager.d.ts +1 -1
- package/dist/components/chat/hooks/use-chat-dialog-manager.d.ts.map +1 -1
- package/dist/components/chat/hooks/use-chat-history-hydration.d.ts +1 -1
- package/dist/components/chat/hooks/use-chat-history-hydration.d.ts.map +1 -1
- package/dist/components/chat/hooks/use-chat.d.ts +1 -2
- package/dist/components/chat/hooks/use-chat.d.ts.map +1 -1
- package/dist/components/chat/hooks/use-nats-chat-adapter.d.ts +0 -2
- package/dist/components/chat/hooks/use-nats-chat-adapter.d.ts.map +1 -1
- package/dist/components/chat/hooks/use-nats-chat-adapter.js +0 -8
- package/dist/components/chat/hooks/use-proxied-image-url.d.ts +17 -13
- package/dist/components/chat/hooks/use-proxied-image-url.d.ts.map +1 -1
- package/dist/components/chat/hooks/use-proxied-image-url.js +10 -8
- package/dist/components/chat/hooks/use-slash-commands.d.ts +1 -2
- package/dist/components/chat/hooks/use-slash-commands.d.ts.map +1 -1
- package/dist/components/chat/hooks/use-sse-chat-adapter.d.ts +1 -8
- package/dist/components/chat/hooks/use-sse-chat-adapter.d.ts.map +1 -1
- package/dist/components/chat/hooks/use-sse-chat-adapter.js +1 -1
- package/dist/components/chat/index.cjs +44 -29
- package/dist/components/chat/stream/chat-stream-reducer.d.ts +1 -1
- package/dist/components/chat/stream/chat-stream-reducer.d.ts.map +1 -1
- package/dist/components/chat/stream/chat-stream-reducer.js +1 -1
- package/dist/components/chat/types/entities/index.d.ts +6 -4
- package/dist/components/chat/types/entities/index.d.ts.map +1 -1
- package/dist/components/chat/types/entities/index.js +4 -4
- package/dist/components/chat/types/entities/investor-update.d.ts +1 -1
- package/dist/components/chat/types/entities/investor-update.d.ts.map +1 -1
- package/dist/components/chat/types/entities/program-types.d.ts +2 -1
- package/dist/components/chat/types/entities/program-types.d.ts.map +1 -1
- package/dist/components/chat/types/entities/program-types.js +1 -4
- package/dist/components/chat/utils/compact-card-classes.d.ts +9 -1
- package/dist/components/chat/utils/compact-card-classes.d.ts.map +1 -1
- package/dist/components/chat/utils/compact-card-classes.js +11 -2
- package/dist/components/chat/utils/compact-card-skeleton.d.ts +40 -0
- package/dist/components/chat/utils/compact-card-skeleton.d.ts.map +1 -0
- package/dist/components/chat/utils/compact-card-skeleton.js +61 -0
- package/dist/components/chat/utils/icon-library.d.ts +0 -1
- package/dist/components/chat/utils/icon-library.d.ts.map +1 -1
- package/dist/components/chat/utils/index.d.ts +5 -3
- package/dist/components/chat/utils/index.d.ts.map +1 -1
- package/dist/components/chat/utils/index.js +3 -2
- package/dist/components/chat/utils/scroll-anchor.d.ts +1 -2
- package/dist/components/chat/utils/scroll-anchor.d.ts.map +1 -1
- package/dist/components/chat/utils/scroll-anchor.js +0 -1
- package/dist/components/chat/utils/source-row-cta.d.ts +0 -2
- package/dist/components/chat/utils/source-row-cta.d.ts.map +1 -1
- package/dist/components/chat/utils/source-row-cta.js +1 -2
- package/dist/components/comment-card.d.ts +15 -0
- package/dist/components/comment-card.d.ts.map +1 -1
- package/dist/components/comment-card.js +178 -119
- package/dist/components/comment-thread.d.ts +29 -0
- package/dist/components/comment-thread.d.ts.map +1 -1
- package/dist/components/comment-thread.js +76 -18
- package/dist/components/contact/index.cjs +36 -40
- package/dist/components/content-loading-container.d.ts +1 -1
- package/dist/components/docs/doc-viewer.d.ts.map +1 -1
- package/dist/components/docs/doc-viewer.js +10 -9
- package/dist/components/docs/index.cjs +39 -43
- package/dist/components/docs/skeletons.d.ts +0 -5
- package/dist/components/docs/skeletons.d.ts.map +1 -1
- package/dist/components/docs/skeletons.js +30 -50
- package/dist/components/docs/use-document-tree.d.ts +0 -1
- package/dist/components/docs/use-document-tree.d.ts.map +1 -1
- package/dist/components/docs/use-document-tree.js +6 -1
- package/dist/components/embeds/embed-iframe.d.ts.map +1 -1
- package/dist/components/embeds/embed-iframe.js +3 -0
- package/dist/components/embeds/index.cjs +38 -40
- package/dist/components/embeds/index.d.ts +1 -1
- package/dist/components/embeds/index.d.ts.map +1 -1
- package/dist/components/embeds/index.js +2 -1
- package/dist/components/embeds/markdown-image.d.ts.map +1 -1
- package/dist/components/embeds/markdown-image.js +5 -2
- package/dist/components/embeds/og-link-preview.d.ts +7 -3
- package/dist/components/embeds/og-link-preview.d.ts.map +1 -1
- package/dist/components/embeds/og-link-preview.js +106 -62
- package/dist/components/faq/faq-document-page.d.ts +5 -1
- package/dist/components/faq/faq-document-page.d.ts.map +1 -1
- package/dist/components/faq/faq-document-page.js +5 -1
- package/dist/components/faq/faq-section.d.ts +34 -1
- package/dist/components/faq/faq-section.d.ts.map +1 -1
- package/dist/components/faq/faq-section.js +146 -59
- package/dist/components/faq/index.cjs +41 -41
- package/dist/components/faq/index.d.ts +1 -1
- package/dist/components/faq/index.d.ts.map +1 -1
- package/dist/components/faq/index.js +9 -1
- package/dist/components/faq-accordion.d.ts +15 -0
- package/dist/components/faq-accordion.d.ts.map +1 -1
- package/dist/components/faq-accordion.js +37 -9
- package/dist/components/features/ai-enrich/AIStatusIndicator.d.ts.map +1 -1
- package/dist/components/features/ai-enrich/AIStatusIndicator.js +2 -1
- package/dist/components/features/approval-level.d.ts +15 -1
- package/dist/components/features/approval-level.d.ts.map +1 -1
- package/dist/components/features/approval-level.js +42 -6
- package/dist/components/features/capability-explorer.d.ts +5 -1
- package/dist/components/features/capability-explorer.d.ts.map +1 -1
- package/dist/components/features/capability-explorer.js +42 -37
- package/dist/components/features/cards-strip.d.ts +9 -0
- package/dist/components/features/cards-strip.d.ts.map +1 -1
- package/dist/components/features/cards-strip.js +35 -11
- package/dist/components/features/command-box.d.ts +19 -0
- package/dist/components/features/command-box.d.ts.map +1 -1
- package/dist/components/features/command-box.js +103 -11
- package/dist/components/features/conversation-card.d.ts +70 -5
- package/dist/components/features/conversation-card.d.ts.map +1 -1
- package/dist/components/features/conversation-card.js +146 -13
- package/dist/components/features/devices/device-selector/device-selector.d.ts.map +1 -1
- package/dist/components/features/devices/device-selector/device-selector.js +1 -0
- package/dist/components/features/devices/devices-panel-view.d.ts +1 -1
- package/dist/components/features/devices/devices-panel-view.js +1 -1
- package/dist/components/features/entity-tag-badges.d.ts +32 -7
- package/dist/components/features/entity-tag-badges.d.ts.map +1 -1
- package/dist/components/features/entity-tag-badges.js +73 -9
- package/dist/components/features/entity-video-section.d.ts +14 -14
- package/dist/components/features/entity-video-section.d.ts.map +1 -1
- package/dist/components/features/entity-video-section.js +29 -22
- package/dist/components/features/figma-prototype-viewer.d.ts.map +1 -1
- package/dist/components/features/figma-prototype-viewer.js +3 -10
- package/dist/components/features/index.cjs +77 -39
- package/dist/components/features/index.d.ts +3 -0
- package/dist/components/features/index.d.ts.map +1 -1
- package/dist/components/features/index.js +5 -0
- package/dist/components/features/knowledge-base/index.d.ts +2 -1
- package/dist/components/features/knowledge-base/index.d.ts.map +1 -1
- package/dist/components/features/knowledge-base/knowledge-base-article-view.d.ts +0 -1
- package/dist/components/features/knowledge-base/knowledge-base-article-view.d.ts.map +1 -1
- package/dist/components/features/model-token-rates.d.ts.map +1 -1
- package/dist/components/features/model-token-rates.js +50 -78
- package/dist/components/features/notifications/approval-request-notification-tile.d.ts.map +1 -1
- package/dist/components/features/notifications/approval-request-notification-tile.js +9 -5
- package/dist/components/features/notifications/notification-tile.d.ts +22 -7
- package/dist/components/features/notifications/notification-tile.d.ts.map +1 -1
- package/dist/components/features/notifications/notification-tile.js +42 -15
- package/dist/components/features/paths-display.d.ts +9 -0
- package/dist/components/features/paths-display.d.ts.map +1 -1
- package/dist/components/features/paths-display.js +50 -5
- package/dist/components/features/platform-badge.d.ts +2 -0
- package/dist/components/features/platform-badge.d.ts.map +1 -1
- package/dist/components/features/platform-badge.js +33 -2
- package/dist/components/features/push-button-selector.d.ts +23 -1
- package/dist/components/features/push-button-selector.d.ts.map +1 -1
- package/dist/components/features/push-button-selector.js +114 -41
- package/dist/components/features/remote-session/index.d.ts +2 -2
- package/dist/components/features/remote-session/index.d.ts.map +1 -1
- package/dist/components/features/remote-session/index.js +3 -3
- package/dist/components/features/remote-session/remote-desktop-chat-message-row.d.ts +2 -0
- package/dist/components/features/remote-session/remote-desktop-chat-message-row.d.ts.map +1 -1
- package/dist/components/features/remote-session/remote-desktop-chat-message-row.js +18 -4
- package/dist/components/features/remote-session/remote-desktop-chat-panel.d.ts.map +1 -1
- package/dist/components/features/remote-session/remote-desktop-chat-panel.js +11 -2
- package/dist/components/features/remote-session/remote-desktop-view.d.ts +6 -6
- package/dist/components/features/remote-session/remote-desktop-view.d.ts.map +1 -1
- package/dist/components/features/remote-session/remote-desktop-view.js +27 -27
- package/dist/components/features/remote-session/remote-session-chat-panel.js +1 -1
- package/dist/components/features/status-filter-component.d.ts +19 -1
- package/dist/components/features/status-filter-component.d.ts.map +1 -1
- package/dist/components/features/status-filter-component.js +106 -43
- package/dist/components/features/use-video-warmup.d.ts +1 -1
- package/dist/components/features/use-video-warmup.d.ts.map +1 -1
- package/dist/components/features/use-video-warmup.js +2 -5
- package/dist/components/features/use-walkthrough-video.d.ts.map +1 -1
- package/dist/components/features/use-walkthrough-video.js +4 -1
- package/dist/components/features/video-bites-strip.d.ts +42 -1
- package/dist/components/features/video-bites-strip.d.ts.map +1 -1
- package/dist/components/features/video-bites-strip.js +100 -21
- package/dist/components/features/video-hover-preview.d.ts +1 -1
- package/dist/components/features/video-hover-preview.d.ts.map +1 -1
- package/dist/components/features/video.d.ts +9 -2
- package/dist/components/features/video.d.ts.map +1 -1
- package/dist/components/features/video.js +10 -5
- package/dist/components/features/walkthrough-video.d.ts.map +1 -1
- package/dist/components/features/walkthrough-video.js +5 -1
- package/dist/components/help-center-pages/download-apps-page.d.ts.map +1 -1
- package/dist/components/help-center-pages/download-apps-page.js +65 -33
- package/dist/components/help-center-pages/index.cjs +410 -316
- package/dist/components/help-center-pages/trust-center-page.d.ts +21 -9
- package/dist/components/help-center-pages/trust-center-page.d.ts.map +1 -1
- package/dist/components/help-center-pages/trust-center-page.js +100 -67
- package/dist/components/help-center-pages/trust-center-sections.d.ts +19 -14
- package/dist/components/help-center-pages/trust-center-sections.d.ts.map +1 -1
- package/dist/components/help-center-pages/trust-center-sections.js +124 -97
- package/dist/components/icon-display.d.ts.map +1 -1
- package/dist/components/icon-display.js +6 -0
- package/dist/components/index.cjs +1505 -380
- package/dist/components/index.d.ts +5 -2
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +12 -2
- package/dist/components/interactive-wrapper.d.ts.map +1 -1
- package/dist/components/interactive-wrapper.js +2 -1
- package/dist/components/layout/list-page-layout.d.ts +3 -3
- package/dist/components/layout/list-page-layout.d.ts.map +1 -1
- package/dist/components/layout/page-container.d.ts +8 -1
- package/dist/components/layout/page-container.d.ts.map +1 -1
- package/dist/components/layout/page-container.js +25 -10
- package/dist/components/layout/page-data-sync.d.ts +7 -1
- package/dist/components/layout/page-data-sync.d.ts.map +1 -1
- package/dist/components/layout/page-data-sync.js +13 -4
- package/dist/components/layout/page-heading.d.ts +31 -0
- package/dist/components/layout/page-heading.d.ts.map +1 -1
- package/dist/components/layout/page-heading.js +44 -1
- package/dist/components/layout/page-layout.d.ts +4 -4
- package/dist/components/layout/page-layout.d.ts.map +1 -1
- package/dist/components/layout/page-layout.js +4 -5
- package/dist/components/layout/title-block.d.ts +12 -1
- package/dist/components/layout/title-block.d.ts.map +1 -1
- package/dist/components/layout/title-block.js +50 -12
- package/dist/components/loading/category-vendor-selector-skeleton.d.ts +3 -0
- package/dist/components/loading/category-vendor-selector-skeleton.d.ts.map +1 -1
- package/dist/components/loading/deprecated-layout-skeletons.d.ts +25 -0
- package/dist/components/loading/deprecated-layout-skeletons.d.ts.map +1 -0
- package/dist/components/loading/deprecated-layout-skeletons.js +78 -0
- package/dist/components/loading/device-card-skeleton.js +4 -4
- package/dist/components/loading/index.d.ts +4 -3
- package/dist/components/loading/index.d.ts.map +1 -1
- package/dist/components/loading/index.js +10 -16
- package/dist/components/loading/loading-region.d.ts +10 -9
- package/dist/components/loading/loading-region.d.ts.map +1 -1
- package/dist/components/loading/loading-region.js +4 -1
- package/dist/components/loading/msp-profile-form-skeleton.d.ts +2 -0
- package/dist/components/loading/msp-profile-form-skeleton.d.ts.map +1 -1
- package/dist/components/loading/organization-card-skeleton.d.ts +14 -10
- package/dist/components/loading/organization-card-skeleton.d.ts.map +1 -1
- package/dist/components/loading/organization-card-skeleton.js +38 -40
- package/dist/components/loading/page-layout-skeleton.d.ts +7 -51
- package/dist/components/loading/page-layout-skeleton.d.ts.map +1 -1
- package/dist/components/loading/page-layout-skeleton.js +2 -411
- package/dist/components/loading/settings-form-skeleton.d.ts +2 -0
- package/dist/components/loading/settings-form-skeleton.d.ts.map +1 -1
- package/dist/components/loading/unified-skeleton.d.ts +57 -9
- package/dist/components/loading/unified-skeleton.d.ts.map +1 -1
- package/dist/components/loading/unified-skeleton.js +57 -8
- package/dist/components/log-severity-dot.d.ts +2 -0
- package/dist/components/log-severity-dot.d.ts.map +1 -1
- package/dist/components/log-severity-dot.js +11 -13
- package/dist/components/logs-list.d.ts.map +1 -1
- package/dist/components/logs-list.js +34 -43
- package/dist/components/media-carousel.d.ts +0 -1
- package/dist/components/media-carousel.d.ts.map +1 -1
- package/dist/components/meeting-scheduler/booking-form.d.ts +52 -8
- package/dist/components/meeting-scheduler/booking-form.d.ts.map +1 -1
- package/dist/components/meeting-scheduler/booking-form.js +150 -30
- package/dist/components/meeting-scheduler/context-panel.d.ts +18 -2
- package/dist/components/meeting-scheduler/context-panel.d.ts.map +1 -1
- package/dist/components/meeting-scheduler/context-panel.js +61 -23
- package/dist/components/meeting-scheduler/directory.d.ts +11 -1
- package/dist/components/meeting-scheduler/directory.d.ts.map +1 -1
- package/dist/components/meeting-scheduler/directory.js +47 -27
- package/dist/components/meeting-scheduler/index.cjs +556 -344
- package/dist/components/meeting-scheduler/index.d.ts +5 -4
- package/dist/components/meeting-scheduler/index.d.ts.map +1 -1
- package/dist/components/meeting-scheduler/index.js +127 -102
- package/dist/components/meeting-scheduler/modal-header.d.ts +7 -3
- package/dist/components/meeting-scheduler/modal-header.d.ts.map +1 -1
- package/dist/components/meeting-scheduler/modal-header.js +29 -18
- package/dist/components/meeting-scheduler/slot-picker.d.ts +11 -4
- package/dist/components/meeting-scheduler/slot-picker.d.ts.map +1 -1
- package/dist/components/meeting-scheduler/slot-picker.js +12 -7
- package/dist/components/metric-value.d.ts +5 -0
- package/dist/components/metric-value.d.ts.map +1 -1
- package/dist/components/metric-value.js +15 -3
- package/dist/components/msp-display.d.ts +5 -0
- package/dist/components/msp-display.d.ts.map +1 -1
- package/dist/components/msp-display.js +19 -14
- package/dist/components/navigation/app-layout.d.ts +0 -2
- package/dist/components/navigation/app-layout.d.ts.map +1 -1
- package/dist/components/navigation/app-layout.js +1 -4
- package/dist/components/navigation/index.cjs +48 -42
- package/dist/components/navigation/index.d.ts +8 -3
- package/dist/components/navigation/index.d.ts.map +1 -1
- package/dist/components/navigation/index.js +18 -3
- package/dist/components/navigation/mingo-ai-button.d.ts +0 -2
- package/dist/components/navigation/mingo-ai-button.d.ts.map +1 -1
- package/dist/components/navigation/mingo-ai-button.js +2 -4
- package/dist/components/navigation/mobile-nav-sheet.d.ts +0 -1
- package/dist/components/navigation/mobile-nav-sheet.d.ts.map +1 -1
- package/dist/components/navigation/mobile-nav-sheet.js +0 -2
- package/dist/components/navigation/multi-level-navigation.d.ts +21 -0
- package/dist/components/navigation/multi-level-navigation.d.ts.map +1 -1
- package/dist/components/navigation/multi-level-navigation.js +98 -24
- package/dist/components/navigation/page-section-bar.d.ts +50 -0
- package/dist/components/navigation/page-section-bar.d.ts.map +1 -0
- package/dist/components/navigation/page-section-bar.js +85 -0
- package/dist/components/navigation/sticky-section-nav.d.ts +12 -0
- package/dist/components/navigation/sticky-section-nav.d.ts.map +1 -1
- package/dist/components/navigation/sticky-section-nav.js +87 -20
- package/dist/components/navigation/ticket-alerts-button.js +1 -1
- package/dist/components/onboarding-guides/hooks/use-onboarding-guides.d.ts.map +1 -1
- package/dist/components/onboarding-guides/hooks/use-onboarding-guides.js +7 -1
- package/dist/components/onboarding-guides/index.cjs +38 -42
- package/dist/components/onboarding-guides/index.d.ts +1 -2
- package/dist/components/onboarding-guides/index.d.ts.map +1 -1
- package/dist/components/onboarding-guides/index.js +5 -3
- package/dist/components/onboarding-guides/onboarding-guide-detail-view.d.ts +8 -0
- package/dist/components/onboarding-guides/onboarding-guide-detail-view.d.ts.map +1 -1
- package/dist/components/onboarding-guides/onboarding-guide-detail-view.js +142 -84
- package/dist/components/onboarding-guides/onboarding-guides-catalog-skeleton.d.ts +18 -17
- package/dist/components/onboarding-guides/onboarding-guides-catalog-skeleton.d.ts.map +1 -1
- package/dist/components/onboarding-guides/onboarding-guides-catalog-skeleton.js +28 -21
- package/dist/components/onboarding-guides/onboarding-guides-catalog-view.d.ts.map +1 -1
- package/dist/components/onboarding-guides/onboarding-guides-catalog-view.js +57 -18
- package/dist/components/pagination.d.ts +26 -2
- package/dist/components/pagination.d.ts.map +1 -1
- package/dist/components/pagination.js +61 -38
- package/dist/components/persistent-filter-controls.d.ts.map +1 -1
- package/dist/components/persistent-filter-controls.js +1 -2
- package/dist/components/persistent-pagination.d.ts.map +1 -1
- package/dist/components/persistent-pagination.js +3 -1
- package/dist/components/platform/ToolBadge.d.ts +13 -1
- package/dist/components/platform/ToolBadge.d.ts.map +1 -1
- package/dist/components/platform/ToolBadge.js +38 -9
- package/dist/components/platform/index.d.ts +2 -2
- package/dist/components/platform/index.d.ts.map +1 -1
- package/dist/components/platform/index.js +4 -2
- package/dist/components/platform/tool-badge-mark.d.ts +6 -0
- package/dist/components/platform/tool-badge-mark.d.ts.map +1 -0
- package/dist/components/platform/tool-badge-mark.js +6 -0
- package/dist/components/product-demo/fixtures/devices.d.ts +0 -2
- package/dist/components/product-demo/fixtures/devices.d.ts.map +1 -1
- package/dist/components/product-demo/fixtures/devices.js +0 -2
- package/dist/components/product-demo/index.cjs +1889 -32
- package/dist/components/product-demo/product-screen.d.ts +5 -5
- package/dist/components/product-demo/product-screen.d.ts.map +1 -1
- package/dist/components/product-demo/product-screen.js +19 -15
- package/dist/components/product-demo/screen-loading.d.ts +10 -0
- package/dist/components/product-demo/screen-loading.d.ts.map +1 -0
- package/dist/components/product-demo/screen-loading.js +12 -0
- package/dist/components/product-demo/screens/devices-view.d.ts +22 -0
- package/dist/components/product-demo/screens/devices-view.d.ts.map +1 -0
- package/dist/components/product-demo/screens/devices-view.js +35 -0
- package/dist/components/product-demo/screens/devices.d.ts +1 -7
- package/dist/components/product-demo/screens/devices.d.ts.map +1 -1
- package/dist/components/product-demo/screens/devices.js +8 -15
- package/dist/components/related-content/card-registry.d.ts +3 -2
- package/dist/components/related-content/card-registry.d.ts.map +1 -1
- package/dist/components/related-content/card-registry.js +15 -3
- package/dist/components/related-content/index.cjs +19 -18
- package/dist/components/related-content/index.d.ts +2 -1
- package/dist/components/related-content/index.d.ts.map +1 -1
- package/dist/components/related-content/index.js +3 -1
- package/dist/components/related-content/related-content-section.d.ts +14 -1
- package/dist/components/related-content/related-content-section.d.ts.map +1 -1
- package/dist/components/related-content/related-content-section.js +144 -32
- package/dist/components/results-count.d.ts +5 -0
- package/dist/components/results-count.d.ts.map +1 -1
- package/dist/components/results-count.js +30 -6
- package/dist/components/shared/article-author-byline.d.ts +8 -0
- package/dist/components/shared/article-author-byline.d.ts.map +1 -1
- package/dist/components/shared/article-author-byline.js +54 -52
- package/dist/components/shared/delivery/delivery-lists.d.ts.map +1 -1
- package/dist/components/shared/delivery/delivery-lists.js +14 -2
- package/dist/components/shared/delivery/delivery-row.d.ts +5 -0
- package/dist/components/shared/delivery/delivery-row.d.ts.map +1 -1
- package/dist/components/shared/delivery/delivery-row.js +37 -10
- package/dist/components/shared/delivery/delivery-table.d.ts +4 -0
- package/dist/components/shared/delivery/delivery-table.d.ts.map +1 -1
- package/dist/components/shared/delivery/delivery-table.js +14 -26
- package/dist/components/shared/detail-page-skeleton.d.ts +3 -0
- package/dist/components/shared/detail-page-skeleton.d.ts.map +1 -1
- package/dist/components/shared/detail-page-skeleton.js +9 -1
- package/dist/components/shared/dev-section/dev-card-row.d.ts +2 -0
- package/dist/components/shared/dev-section/dev-card-row.d.ts.map +1 -1
- package/dist/components/shared/dev-section/dev-card-row.js +31 -21
- package/dist/components/shared/dev-section/dev-section-view.js +1 -1
- package/dist/components/shared/legal-document/index.d.ts +1 -1
- package/dist/components/shared/legal-document/index.d.ts.map +1 -1
- package/dist/components/shared/legal-document/index.js +5 -1
- package/dist/components/shared/legal-document/legal-document-page.d.ts +14 -0
- package/dist/components/shared/legal-document/legal-document-page.d.ts.map +1 -1
- package/dist/components/shared/legal-document/legal-document-page.js +47 -42
- package/dist/components/shared/legal-document/use-legal-docs.d.ts.map +1 -1
- package/dist/components/shared/legal-document/use-legal-docs.js +4 -1
- package/dist/components/shared/legal-document/use-legal-documents.d.ts.map +1 -1
- package/dist/components/shared/legal-document/use-legal-documents.js +3 -1
- package/dist/components/shared/media-gallery-strip.d.ts +7 -0
- package/dist/components/shared/media-gallery-strip.d.ts.map +1 -1
- package/dist/components/shared/media-gallery-strip.js +22 -3
- package/dist/components/shared/onboarding/index.d.ts +2 -1
- package/dist/components/shared/onboarding/index.d.ts.map +1 -1
- package/dist/components/shared/onboarding/index.js +1 -3
- package/dist/components/shared/product-release/index.d.ts +2 -1
- package/dist/components/shared/product-release/index.d.ts.map +1 -1
- package/dist/components/shared/product-release/product-release-card-classes.d.ts +26 -0
- package/dist/components/shared/product-release/product-release-card-classes.d.ts.map +1 -0
- package/dist/components/shared/product-release/product-release-card-classes.js +40 -0
- package/dist/components/shared/product-release/product-release-card-skeleton.d.ts.map +1 -1
- package/dist/components/shared/product-release/product-release-card-skeleton.js +37 -35
- package/dist/components/shared/product-release/product-release-card.d.ts +3 -1
- package/dist/components/shared/product-release/product-release-card.d.ts.map +1 -1
- package/dist/components/shared/product-release/product-release-card.js +86 -73
- package/dist/components/shared/product-release/product-releases-view.d.ts.map +1 -1
- package/dist/components/shared/product-release/product-releases-view.js +26 -13
- package/dist/components/shared/product-release/release-detail-page.d.ts +0 -1
- package/dist/components/shared/product-release/release-detail-page.d.ts.map +1 -1
- package/dist/components/shared/product-release/release-detail-page.js +281 -215
- package/dist/components/shared/roadmap/roadmap-grid-skeleton.d.ts +9 -1
- package/dist/components/shared/roadmap/roadmap-grid-skeleton.d.ts.map +1 -1
- package/dist/components/shared/roadmap/roadmap-grid-skeleton.js +12 -11
- package/dist/components/shared/roadmap/roadmap-grid.d.ts +13 -1
- package/dist/components/shared/roadmap/roadmap-grid.d.ts.map +1 -1
- package/dist/components/shared/roadmap/roadmap-grid.js +45 -29
- package/dist/components/shared/roadmap/roadmap-view.d.ts.map +1 -1
- package/dist/components/shared/roadmap/roadmap-view.js +2 -3
- package/dist/components/social-icon-row.d.ts +9 -2
- package/dist/components/social-icon-row.d.ts.map +1 -1
- package/dist/components/social-icon-row.js +12 -6
- package/dist/components/tickets/help-center-list.d.ts.map +1 -1
- package/dist/components/tickets/help-center-list.js +6 -2
- package/dist/components/tickets/hooks/use-ticket-actions.d.ts +2 -2
- package/dist/components/tickets/hooks/use-ticket-actions.d.ts.map +1 -1
- package/dist/components/tickets/index.cjs +42 -46
- package/dist/components/tickets/index.d.ts +2 -1
- package/dist/components/tickets/index.d.ts.map +1 -1
- package/dist/components/tickets/index.js +2 -3
- package/dist/components/tickets/ticket-center.d.ts.map +1 -1
- package/dist/components/tickets/ticket-center.js +117 -58
- package/dist/components/tickets/types.d.ts +0 -8
- package/dist/components/tickets/types.d.ts.map +1 -1
- package/dist/components/tickets/types.js +0 -3
- package/dist/components/toggle-group.d.ts +4 -2
- package/dist/components/toggle-group.d.ts.map +1 -1
- package/dist/components/toggle-group.js +3 -1
- package/dist/components/tool-icon.d.ts.map +1 -1
- package/dist/components/ui/analyzing-state.d.ts +3 -2
- package/dist/components/ui/analyzing-state.d.ts.map +1 -1
- package/dist/components/ui/analyzing-state.js +7 -4
- package/dist/components/ui/announcement-bar-view.d.ts +5 -0
- package/dist/components/ui/announcement-bar-view.d.ts.map +1 -1
- package/dist/components/ui/announcement-bar-view.js +3 -1
- package/dist/components/ui/autocomplete.d.ts +13 -0
- package/dist/components/ui/autocomplete.d.ts.map +1 -1
- package/dist/components/ui/autocomplete.js +30 -6
- package/dist/components/ui/avatar-stack.d.ts +7 -0
- package/dist/components/ui/avatar-stack.d.ts.map +1 -1
- package/dist/components/ui/avatar-stack.js +29 -4
- package/dist/components/ui/badge.d.ts +9 -1
- package/dist/components/ui/badge.d.ts.map +1 -1
- package/dist/components/ui/badge.js +11 -0
- package/dist/components/ui/benefit-list.d.ts +8 -0
- package/dist/components/ui/benefit-list.d.ts.map +1 -1
- package/dist/components/ui/benefit-list.js +20 -11
- package/dist/components/ui/button/button-styles.d.ts +16 -0
- package/dist/components/ui/button/button-styles.d.ts.map +1 -1
- package/dist/components/ui/button/button-styles.js +42 -0
- package/dist/components/ui/button/button.d.ts +3 -1
- package/dist/components/ui/button/button.d.ts.map +1 -1
- package/dist/components/ui/button/button.js +4 -40
- package/dist/components/ui/button/index.d.ts +1 -0
- package/dist/components/ui/button/index.d.ts.map +1 -1
- package/dist/components/ui/button/index.js +4 -0
- package/dist/components/ui/card.d.ts +13 -1
- package/dist/components/ui/card.d.ts.map +1 -1
- package/dist/components/ui/card.js +21 -14
- package/dist/components/ui/checkbox.d.ts +2 -0
- package/dist/components/ui/checkbox.d.ts.map +1 -1
- package/dist/components/ui/checkbox.js +5 -1
- package/dist/components/ui/compliance-badge.d.ts +2 -0
- package/dist/components/ui/compliance-badge.d.ts.map +1 -1
- package/dist/components/ui/compliance-badge.js +5 -2
- package/dist/components/ui/cursor-pagination.d.ts +8 -1
- package/dist/components/ui/cursor-pagination.d.ts.map +1 -1
- package/dist/components/ui/cursor-pagination.js +10 -4
- package/dist/components/ui/dashboard-info-card.d.ts +6 -1
- package/dist/components/ui/dashboard-info-card.d.ts.map +1 -1
- package/dist/components/ui/dashboard-info-card.js +19 -10
- package/dist/components/ui/data-attribution.d.ts +10 -5
- package/dist/components/ui/data-attribution.d.ts.map +1 -1
- package/dist/components/ui/data-attribution.js +27 -9
- package/dist/components/ui/data-table/data-table-body.d.ts +1 -1
- package/dist/components/ui/data-table/data-table-body.d.ts.map +1 -1
- package/dist/components/ui/data-table/data-table-body.js +18 -7
- package/dist/components/ui/data-table/data-table-row-count.d.ts +5 -0
- package/dist/components/ui/data-table/data-table-row-count.d.ts.map +1 -1
- package/dist/components/ui/data-table/data-table-row-count.js +18 -3
- package/dist/components/ui/data-table/data-table-row.d.ts.map +1 -1
- package/dist/components/ui/data-table/data-table-row.js +2 -6
- package/dist/components/ui/data-table/data-table-skeleton.js +5 -5
- package/dist/components/ui/data-table/index.d.ts +2 -2
- package/dist/components/ui/data-table/index.d.ts.map +1 -1
- package/dist/components/ui/data-table/index.js +2 -1
- package/dist/components/ui/date-picker.d.ts +0 -1
- package/dist/components/ui/date-picker.d.ts.map +1 -1
- package/dist/components/ui/entity-image.d.ts +4 -0
- package/dist/components/ui/entity-image.d.ts.map +1 -1
- package/dist/components/ui/entity-image.js +27 -5
- package/dist/components/ui/error-state.d.ts.map +1 -1
- package/dist/components/ui/error-state.js +4 -1
- package/dist/components/ui/feature-card.d.ts +31 -1
- package/dist/components/ui/feature-card.d.ts.map +1 -1
- package/dist/components/ui/feature-card.js +40 -11
- package/dist/components/ui/feature-list.d.ts +15 -1
- package/dist/components/ui/feature-list.d.ts.map +1 -1
- package/dist/components/ui/feature-list.js +43 -8
- package/dist/components/ui/field-wrapper.d.ts +6 -0
- package/dist/components/ui/field-wrapper.d.ts.map +1 -1
- package/dist/components/ui/field-wrapper.js +16 -5
- package/dist/components/ui/file-manager/index.cjs +63 -64
- package/dist/components/ui/filter-checkbox-item.d.ts +9 -0
- package/dist/components/ui/filter-checkbox-item.d.ts.map +1 -1
- package/dist/components/ui/filter-checkbox-item.js +36 -6
- package/dist/components/ui/filter-modal.d.ts +2 -3
- package/dist/components/ui/filter-modal.d.ts.map +1 -1
- package/dist/components/ui/filter-pill-row.d.ts +10 -5
- package/dist/components/ui/filter-pill-row.d.ts.map +1 -1
- package/dist/components/ui/filter-pill-row.js +56 -19
- package/dist/components/ui/incident-feed.d.ts +1 -1
- package/dist/components/ui/incident-feed.d.ts.map +1 -1
- package/dist/components/ui/incident-feed.js +57 -56
- package/dist/components/ui/index.cjs +219 -39
- package/dist/components/ui/index.d.ts +10 -1
- package/dist/components/ui/index.d.ts.map +1 -1
- package/dist/components/ui/index.js +29 -1
- package/dist/components/ui/info-card-row.d.ts +12 -0
- package/dist/components/ui/info-card-row.d.ts.map +1 -1
- package/dist/components/ui/info-card-row.js +56 -30
- package/dist/components/ui/info-card.d.ts +24 -1
- package/dist/components/ui/info-card.d.ts.map +1 -1
- package/dist/components/ui/info-card.js +87 -52
- package/dist/components/ui/input-styles.d.ts +7 -0
- package/dist/components/ui/input-styles.d.ts.map +1 -0
- package/dist/components/ui/input-styles.js +7 -0
- package/dist/components/ui/input.d.ts.map +1 -1
- package/dist/components/ui/input.js +4 -1
- package/dist/components/ui/layout-hold.d.ts +9 -7
- package/dist/components/ui/layout-hold.d.ts.map +1 -1
- package/dist/components/ui/leader-row.d.ts +11 -4
- package/dist/components/ui/leader-row.d.ts.map +1 -1
- package/dist/components/ui/leader-row.js +29 -5
- package/dist/components/ui/loading-scope.d.ts +26 -0
- package/dist/components/ui/loading-scope.d.ts.map +1 -0
- package/dist/components/ui/loading-scope.js +31 -0
- package/dist/components/ui/markdown/base-components.d.ts +25 -0
- package/dist/components/ui/markdown/base-components.d.ts.map +1 -1
- package/dist/components/ui/markdown/base-components.js +13 -7
- package/dist/components/ui/markdown/engine.d.ts +26 -1
- package/dist/components/ui/markdown/engine.d.ts.map +1 -1
- package/dist/components/ui/markdown/engine.js +63 -4
- package/dist/components/ui/markdown/index.d.ts +5 -3
- package/dist/components/ui/markdown/index.d.ts.map +1 -1
- package/dist/components/ui/markdown/index.js +12 -4
- package/dist/components/ui/markdown/mermaid-diagram.d.ts.map +1 -1
- package/dist/components/ui/markdown/mermaid-diagram.js +8 -2
- package/dist/components/ui/markdown/rich/rich-markdown-renderer.d.ts +10 -0
- package/dist/components/ui/markdown/rich/rich-markdown-renderer.d.ts.map +1 -1
- package/dist/components/ui/markdown/rich/rich-markdown-renderer.js +21 -5
- package/dist/components/ui/markdown/simple-markdown-renderer.d.ts +0 -2
- package/dist/components/ui/markdown/simple-markdown-renderer.d.ts.map +1 -1
- package/dist/components/ui/markdown-editor.d.ts +10 -0
- package/dist/components/ui/markdown-editor.d.ts.map +1 -1
- package/dist/components/ui/markdown-editor.js +23 -7
- package/dist/components/ui/numbered-step.d.ts +10 -0
- package/dist/components/ui/numbered-step.d.ts.map +1 -1
- package/dist/components/ui/numbered-step.js +19 -2
- package/dist/components/ui/organization-card.d.ts.map +1 -1
- package/dist/components/ui/organization-card.js +30 -5
- package/dist/components/ui/page-actions.d.ts +2 -1
- package/dist/components/ui/page-actions.d.ts.map +1 -1
- package/dist/components/ui/page-actions.js +26 -21
- package/dist/components/ui/page-loader.d.ts.map +1 -1
- package/dist/components/ui/page-loader.js +2 -1
- package/dist/components/ui/people-cell.d.ts +4 -0
- package/dist/components/ui/people-cell.d.ts.map +1 -1
- package/dist/components/ui/people-cell.js +19 -3
- package/dist/components/ui/photo-wall.d.ts +1 -1
- package/dist/components/ui/photo-wall.d.ts.map +1 -1
- package/dist/components/ui/photo-wall.js +13 -3
- package/dist/components/ui/product-screen-frame.d.ts.map +1 -1
- package/dist/components/ui/product-screen-frame.js +3 -2
- package/dist/components/ui/progress-bar.d.ts +9 -0
- package/dist/components/ui/progress-bar.d.ts.map +1 -1
- package/dist/components/ui/progress-bar.js +34 -14
- package/dist/components/ui/progress.d.ts +15 -0
- package/dist/components/ui/progress.d.ts.map +1 -1
- package/dist/components/ui/progress.js +8 -3
- package/dist/components/ui/release-changelog-section.d.ts +22 -1
- package/dist/components/ui/release-changelog-section.d.ts.map +1 -1
- package/dist/components/ui/release-changelog-section.js +96 -28
- package/dist/components/ui/search-input.d.ts.map +1 -1
- package/dist/components/ui/search-input.js +11 -3
- package/dist/components/ui/searchable-select.d.ts.map +1 -1
- package/dist/components/ui/searchable-select.js +17 -4
- package/dist/components/ui/skeleton-surface.d.ts +12 -4
- package/dist/components/ui/skeleton-surface.d.ts.map +1 -1
- package/dist/components/ui/skeleton-surface.js +6 -2
- package/dist/components/ui/slack-channel-chip.d.ts +5 -1
- package/dist/components/ui/slack-channel-chip.d.ts.map +1 -1
- package/dist/components/ui/slack-channel-chip.js +16 -3
- package/dist/components/ui/snap-carousel.d.ts +4 -1
- package/dist/components/ui/snap-carousel.d.ts.map +1 -1
- package/dist/components/ui/snap-carousel.js +2 -0
- package/dist/components/ui/square-avatar.d.ts +3 -0
- package/dist/components/ui/square-avatar.d.ts.map +1 -1
- package/dist/components/ui/square-avatar.js +38 -23
- package/dist/components/ui/stacked-rows-panel.d.ts +24 -1
- package/dist/components/ui/stacked-rows-panel.d.ts.map +1 -1
- package/dist/components/ui/stacked-rows-panel.js +50 -13
- package/dist/components/ui/status-badge.d.ts +10 -2
- package/dist/components/ui/status-badge.d.ts.map +1 -1
- package/dist/components/ui/status-badge.js +14 -0
- package/dist/components/ui/status-indicator.d.ts +4 -0
- package/dist/components/ui/status-indicator.d.ts.map +1 -1
- package/dist/components/ui/status-indicator.js +16 -3
- package/dist/components/ui/status-line.d.ts.map +1 -1
- package/dist/components/ui/status-line.js +2 -1
- package/dist/components/ui/strip-card.d.ts +9 -0
- package/dist/components/ui/strip-card.d.ts.map +1 -1
- package/dist/components/ui/strip-card.js +57 -39
- package/dist/components/ui/tab-navigation.d.ts +26 -2
- package/dist/components/ui/tab-navigation.d.ts.map +1 -1
- package/dist/components/ui/tab-navigation.js +182 -115
- package/dist/components/ui/table/table-header.js +2 -2
- package/dist/components/ui/table/table-row.d.ts.map +1 -1
- package/dist/components/ui/table/table-row.js +2 -4
- package/dist/components/ui/table/table-skeleton.d.ts +6 -1
- package/dist/components/ui/table/table-skeleton.d.ts.map +1 -1
- package/dist/components/ui/table/table-skeleton.js +38 -50
- package/dist/components/ui/table/table.d.ts +1 -1
- package/dist/components/ui/table/table.d.ts.map +1 -1
- package/dist/components/ui/table/table.js +30 -25
- package/dist/components/ui/table/types.d.ts +14 -4
- package/dist/components/ui/table/types.d.ts.map +1 -1
- package/dist/components/ui/table/utils.d.ts +4 -0
- package/dist/components/ui/table/utils.d.ts.map +1 -1
- package/dist/components/ui/table/utils.js +4 -0
- package/dist/components/ui/tabs.d.ts +22 -1
- package/dist/components/ui/tabs.d.ts.map +1 -1
- package/dist/components/ui/tabs.js +33 -2
- package/dist/components/ui/tag.d.ts +21 -1
- package/dist/components/ui/tag.d.ts.map +1 -1
- package/dist/components/ui/tag.js +17 -12
- package/dist/components/ui/tags-input.d.ts +9 -0
- package/dist/components/ui/tags-input.d.ts.map +1 -1
- package/dist/components/ui/tags-input.js +41 -10
- package/dist/components/ui/textarea.d.ts +17 -1
- package/dist/components/ui/textarea.d.ts.map +1 -1
- package/dist/components/ui/textarea.js +22 -3
- package/dist/components/ui/ticket-info-section.d.ts +0 -1
- package/dist/components/ui/ticket-info-section.d.ts.map +1 -1
- package/dist/components/ui/timezone-select.d.ts +3 -1
- package/dist/components/ui/timezone-select.d.ts.map +1 -1
- package/dist/components/ui/timezone-select.js +3 -1
- package/dist/components/ui/toggle.d.ts +8 -2
- package/dist/components/ui/toggle.d.ts.map +1 -1
- package/dist/components/ui/toggle.js +10 -6
- package/dist/components/unified-pagination.d.ts +3 -1
- package/dist/components/unified-pagination.d.ts.map +1 -1
- package/dist/components/unified-pagination.js +7 -1
- package/dist/components/user-display.d.ts +11 -0
- package/dist/components/user-display.d.ts.map +1 -1
- package/dist/components/user-display.js +38 -14
- package/dist/components/user-summary-stub.d.ts.map +1 -1
- package/dist/components/user-summary-stub.js +7 -14
- package/dist/components/vendor-display-button.d.ts +4 -0
- package/dist/components/vendor-display-button.d.ts.map +1 -1
- package/dist/components/vendor-display-button.js +11 -13
- package/dist/components/vendor-icon.d.ts +5 -0
- package/dist/components/vendor-icon.d.ts.map +1 -1
- package/dist/components/vendor-icon.js +12 -3
- package/dist/components/vendor-tag.d.ts +5 -0
- package/dist/components/vendor-tag.d.ts.map +1 -1
- package/dist/components/vendor-tag.js +13 -5
- package/dist/{devices-557PMFDC.cjs → devices-2D3XSIIE.cjs} +43 -55
- package/dist/embed-shims/index.cjs +4 -2
- package/dist/embed-shims/next-image.cjs +4 -2
- package/dist/embed-shims/next-image.d.ts.map +1 -1
- package/dist/embed-shims/next-image.js +24 -0
- package/dist/{embeddable-chat-YFUCVDMV.cjs → embeddable-chat-YL6ZSTDJ.cjs} +117 -119
- package/dist/hooks/index.cjs +12 -12
- package/dist/hooks/state/flatten-schema.d.ts +0 -1
- package/dist/hooks/state/flatten-schema.d.ts.map +1 -1
- package/dist/hooks/state/flatten-schema.js +0 -2
- package/dist/hooks/state/index.d.ts +6 -3
- package/dist/hooks/state/index.d.ts.map +1 -1
- package/dist/hooks/state/index.js +4 -3
- package/dist/hooks/state/url-converter.d.ts +1 -1
- package/dist/hooks/state/url-converter.d.ts.map +1 -1
- package/dist/hooks/state/url-converter.js +1 -2
- package/dist/hooks/state/use-api-params.d.ts +1 -3
- package/dist/hooks/state/use-api-params.d.ts.map +1 -1
- package/dist/hooks/state/use-api-params.js +1 -5
- package/dist/hooks/ui/index.d.ts +1 -0
- package/dist/hooks/ui/index.d.ts.map +1 -1
- package/dist/hooks/ui/use-image-edge-color.d.ts +1 -1
- package/dist/hooks/ui/use-image-edge-color.d.ts.map +1 -1
- package/dist/hooks/ui/use-image-edge-color.js +3 -1
- package/dist/hooks/ui/use-onboarding-state.d.ts +0 -1
- package/dist/hooks/ui/use-onboarding-state.d.ts.map +1 -1
- package/dist/hooks/use-downloads.d.ts +1 -1
- package/dist/hooks/use-downloads.d.ts.map +1 -1
- package/dist/hooks/use-downloads.js +8 -1
- package/dist/hooks/use-meeting-booking.d.ts.map +1 -1
- package/dist/hooks/use-meeting-booking.js +3 -0
- package/dist/hooks/use-self-fetch.d.ts +1 -1
- package/dist/hooks/use-self-fetch.d.ts.map +1 -1
- package/dist/hooks/use-self-fetch.js +7 -4
- package/dist/hooks/use-toast.d.ts +1 -1
- package/dist/index.cjs +329 -103
- package/dist/{knowledge-4JTOUDAR.cjs → knowledge-AJ36PMK2.cjs} +36 -40
- package/dist/{logs-7YWAOPZ2.cjs → logs-DNE44ACE.cjs} +44 -48
- package/dist/nats/index.d.ts +1 -0
- package/dist/nats/index.d.ts.map +1 -1
- package/dist/nats/nats-provider.d.ts +0 -1
- package/dist/nats/nats-provider.d.ts.map +1 -1
- package/dist/nats/nats.d.ts +0 -1
- package/dist/nats/nats.d.ts.map +1 -1
- package/dist/nats/use-nats-subscription.d.ts +2 -1
- package/dist/nats/use-nats-subscription.d.ts.map +1 -1
- package/dist/{policies-W5JEPQTA.cjs → policies-AJHSP6ZY.cjs} +39 -43
- package/dist/{remote-session-F72S6I7J.cjs → remote-session-PPA5SXX7.cjs} +18 -21
- package/dist/schemas/meeting-booking-schema.cjs +4 -0
- package/dist/schemas/meeting-booking-schema.d.ts +8 -0
- package/dist/schemas/meeting-booking-schema.d.ts.map +1 -1
- package/dist/schemas/meeting-booking-schema.js +4 -0
- package/dist/{scripts-FY5IPOIM.cjs → scripts-4YO2QL36.cjs} +42 -46
- package/dist/{software-update-5BOGZOHG.cjs → software-update-KMI2EOO3.cjs} +41 -45
- package/dist/styles/component-sizes.d.ts +96 -0
- package/dist/styles/component-sizes.d.ts.map +1 -0
- package/dist/styles/component-sizes.js +77 -0
- package/dist/{tickets-board-DXMF7IKL.cjs → tickets-board-G3WBH4SV.cjs} +18 -20
- package/dist/types/announcement.d.ts +0 -1
- package/dist/types/announcement.d.ts.map +1 -1
- package/dist/types/blog.d.ts +0 -1
- package/dist/types/blog.d.ts.map +1 -1
- package/dist/types/case-study.d.ts +2 -2
- package/dist/types/case-study.d.ts.map +1 -1
- package/dist/types/customer-interview-ai.types.d.ts +1 -2
- package/dist/types/customer-interview-ai.types.d.ts.map +1 -1
- package/dist/types/customer-interview.d.ts +0 -1
- package/dist/types/customer-interview.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/product-release.d.ts +3 -0
- package/dist/types/product-release.d.ts.map +1 -1
- package/dist/types/stack.d.ts +0 -2
- package/dist/types/stack.d.ts.map +1 -1
- package/dist/utils/announcement-storage.d.ts +0 -3
- package/dist/utils/announcement-storage.d.ts.map +1 -1
- package/dist/utils/announcement-storage.js +1 -3
- package/dist/utils/dev-sections/openframe-dev-sections.d.ts +11 -0
- package/dist/utils/dev-sections/openframe-dev-sections.d.ts.map +1 -1
- package/dist/utils/dev-sections/openframe-dev-sections.js +5 -0
- package/dist/utils/index.cjs +19 -0
- package/dist/utils/index.d.ts +7 -2
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +8 -6
- package/dist/utils/markdown-heading-id.d.ts +0 -19
- package/dist/utils/markdown-heading-id.d.ts.map +1 -1
- package/dist/utils/markdown-heading-id.js +2 -5
- package/dist/utils/ods-color-utils.d.ts +0 -1
- package/dist/utils/ods-color-utils.d.ts.map +1 -1
- package/dist/utils/ods-color-utils.js +0 -2
- package/dist/utils/own-click.d.ts +4 -0
- package/dist/utils/own-click.d.ts.map +1 -0
- package/dist/utils/own-click.js +14 -0
- package/dist/utils/platform-config.d.ts +0 -1
- package/dist/utils/platform-config.d.ts.map +1 -1
- package/dist/utils/platform-config.js +0 -26
- package/dist/utils/source-icons.d.ts +2 -2
- package/dist/{video-file-player-QZ3YOLHO.cjs → video-file-player-COXRF4M5.cjs} +13 -13
- package/eslint-config/base.js +2 -0
- package/eslint-config/re-exports.js +56 -0
- package/package.json +1 -1
- package/src/ODS_TOKEN_RULES.md +2 -2
- package/src/chat-protocol/decode.ts +0 -5
- package/src/chat-protocol/index.ts +1 -0
- package/src/components/agent-identity.tsx +0 -2
- package/src/components/agent-mark.tsx +13 -4
- package/src/components/authors/author-detail-view.tsx +90 -44
- package/src/components/case-studies/entity-quotes-panel.tsx +50 -3
- package/src/components/case-studies/index.ts +2 -2
- package/src/components/case-studies/quote-cards-strip.tsx +75 -10
- package/src/components/categories-cart.tsx +82 -38
- package/src/components/category-card.tsx +1 -1
- package/src/components/chat/chat-attachment-bar.tsx +1 -1
- package/src/components/chat/chat-container.tsx +2 -1
- package/src/components/chat/chat-ticket-list.tsx +0 -1
- package/src/components/chat/chat-turn.tsx +124 -18
- package/src/components/chat/embeddable-chat.tsx +5 -5
- package/src/components/chat/entity-cards/admin-content-card-grid.tsx +1 -51
- package/src/components/chat/entity-cards/admin-content-card.tsx +80 -15
- package/src/components/chat/entity-cards/blog-card.tsx +71 -41
- package/src/components/chat/entity-cards/campaign-card-admin.tsx +4 -17
- package/src/components/chat/entity-cards/case-study-card.tsx +129 -68
- package/src/components/chat/entity-cards/chat-ticket-item.tsx +34 -29
- package/src/components/chat/entity-cards/customer-interview-card.tsx +61 -45
- package/src/components/chat/entity-cards/data-room-doc-card.tsx +11 -18
- package/src/components/chat/entity-cards/design-doc-card.tsx +48 -34
- package/src/components/chat/entity-cards/dispatch.tsx +9 -13
- package/src/components/chat/entity-cards/employee-entry-card.tsx +5 -5
- package/src/components/chat/entity-cards/entity-author-card.tsx +138 -32
- package/src/components/chat/entity-cards/entity-portrait-card.tsx +61 -16
- package/src/components/chat/entity-cards/generic-entity-card.tsx +11 -19
- package/src/components/chat/entity-cards/github-activity-card.tsx +14 -30
- package/src/components/chat/entity-cards/hubspot-ticket-card.tsx +11 -23
- package/src/components/chat/entity-cards/index.ts +20 -7
- package/src/components/chat/entity-cards/investor-update-card.tsx +42 -35
- package/src/components/chat/entity-cards/onboarding-guide-card.tsx +78 -64
- package/src/components/chat/entity-cards/program-card.tsx +96 -66
- package/src/components/chat/entity-cards/roadmap-card.tsx +85 -65
- package/src/components/chat/entity-cards/roadmap-vote-button.tsx +12 -1
- package/src/components/chat/entity-cards/slack-message-card.tsx +19 -26
- package/src/components/chat/hooks/index.ts +12 -2
- package/src/components/chat/hooks/use-ask-prompts.ts +5 -1
- package/src/components/chat/hooks/use-chat-dialog-manager.ts +1 -1
- package/src/components/chat/hooks/use-chat-history-hydration.ts +1 -1
- package/src/components/chat/hooks/use-chat.ts +0 -3
- package/src/components/chat/hooks/use-nats-chat-adapter.ts +0 -20
- package/src/components/chat/hooks/use-proxied-image-url.ts +27 -20
- package/src/components/chat/hooks/use-slash-commands.ts +1 -7
- package/src/components/chat/hooks/use-sse-chat-adapter.ts +4 -18
- package/src/components/chat/stream/chat-stream-reducer.ts +3 -2
- package/src/components/chat/types/entities/index.ts +24 -4
- package/src/components/chat/types/entities/investor-update.ts +1 -1
- package/src/components/chat/types/entities/program-types.ts +2 -5
- package/src/components/chat/utils/compact-card-classes.ts +15 -2
- package/src/components/chat/utils/compact-card-skeleton.tsx +111 -0
- package/src/components/chat/utils/icon-library.tsx +0 -2
- package/src/components/chat/utils/index.ts +5 -3
- package/src/components/chat/utils/scroll-anchor.ts +0 -2
- package/src/components/chat/utils/source-row-cta.ts +1 -5
- package/src/components/comment-card.tsx +118 -19
- package/src/components/comment-thread.tsx +130 -17
- package/src/components/docs/doc-viewer.tsx +33 -31
- package/src/components/docs/skeletons.tsx +37 -49
- package/src/components/docs/use-document-tree.ts +11 -7
- package/src/components/embeds/embed-iframe.tsx +5 -0
- package/src/components/embeds/index.ts +1 -1
- package/src/components/embeds/markdown-image.tsx +6 -2
- package/src/components/embeds/og-link-preview.tsx +155 -81
- package/src/components/faq/faq-document-page.tsx +8 -0
- package/src/components/faq/faq-section.tsx +249 -70
- package/src/components/faq/index.ts +12 -1
- package/src/components/faq-accordion.tsx +67 -7
- package/src/components/features/ai-enrich/AIStatusIndicator.tsx +2 -1
- package/src/components/features/approval-level.tsx +71 -8
- package/src/components/features/capability-explorer.tsx +59 -61
- package/src/components/features/cards-strip.tsx +54 -12
- package/src/components/features/command-box.tsx +139 -10
- package/src/components/features/conversation-card.tsx +242 -16
- package/src/components/features/devices/device-selector/device-selector.tsx +1 -0
- package/src/components/features/devices/devices-panel-view.tsx +2 -2
- package/src/components/features/entity-tag-badges.tsx +143 -10
- package/src/components/features/entity-video-section.tsx +52 -14
- package/src/components/features/figma-prototype-viewer.tsx +4 -8
- package/src/components/features/index.ts +11 -0
- package/src/components/features/knowledge-base/index.ts +2 -5
- package/src/components/features/knowledge-base/knowledge-base-article-view.tsx +0 -2
- package/src/components/features/model-token-rates.tsx +64 -84
- package/src/components/features/notifications/approval-request-notification-tile.tsx +9 -11
- package/src/components/features/notifications/notification-tile.tsx +58 -23
- package/src/components/features/paths-display.tsx +73 -6
- package/src/components/features/platform-badge.tsx +41 -1
- package/src/components/features/push-button-selector.tsx +167 -64
- package/src/components/features/remote-session/index.ts +2 -2
- package/src/components/features/remote-session/remote-desktop-chat-message-row.tsx +24 -3
- package/src/components/features/remote-session/remote-desktop-chat-panel.tsx +19 -5
- package/src/components/features/remote-session/remote-desktop-view.tsx +47 -38
- package/src/components/features/remote-session/remote-session-chat-panel.tsx +1 -1
- package/src/components/features/status-filter-component.tsx +105 -11
- package/src/components/features/use-video-warmup.ts +0 -7
- package/src/components/features/use-walkthrough-video.ts +5 -1
- package/src/components/features/video-bites-strip.tsx +137 -22
- package/src/components/features/video-hover-preview.tsx +2 -1
- package/src/components/features/video.tsx +16 -12
- package/src/components/features/walkthrough-video.tsx +9 -2
- package/src/components/help-center-pages/download-apps-page.tsx +86 -32
- package/src/components/help-center-pages/trust-center-page.tsx +132 -66
- package/src/components/help-center-pages/trust-center-sections.tsx +205 -148
- package/src/components/icon-display.tsx +9 -0
- package/src/components/index.ts +11 -2
- package/src/components/interactive-wrapper.tsx +2 -1
- package/src/components/layout/list-page-layout.tsx +4 -5
- package/src/components/layout/page-container.tsx +59 -29
- package/src/components/layout/page-data-sync.tsx +40 -5
- package/src/components/layout/page-heading.tsx +84 -1
- package/src/components/layout/page-layout.tsx +5 -5
- package/src/components/layout/title-block.tsx +72 -17
- package/src/components/loading/category-vendor-selector-skeleton.tsx +4 -0
- package/src/components/loading/deprecated-layout-skeletons.tsx +133 -0
- package/src/components/loading/device-card-skeleton.tsx +4 -4
- package/src/components/loading/index.ts +11 -13
- package/src/components/loading/loading-region.tsx +16 -9
- package/src/components/loading/msp-profile-form-skeleton.tsx +3 -0
- package/src/components/loading/organization-card-skeleton.tsx +45 -71
- package/src/components/loading/page-layout-skeleton.tsx +1 -641
- package/src/components/loading/settings-form-skeleton.tsx +3 -0
- package/src/components/loading/unified-skeleton.tsx +101 -11
- package/src/components/log-severity-dot.tsx +17 -14
- package/src/components/logs-list.tsx +43 -29
- package/src/components/media-carousel.tsx +0 -4
- package/src/components/meeting-scheduler/booking-form.tsx +245 -35
- package/src/components/meeting-scheduler/context-panel.tsx +96 -30
- package/src/components/meeting-scheduler/directory.tsx +70 -37
- package/src/components/meeting-scheduler/index.tsx +136 -132
- package/src/components/meeting-scheduler/modal-header.tsx +45 -31
- package/src/components/meeting-scheduler/slot-picker.tsx +20 -8
- package/src/components/metric-value.tsx +19 -2
- package/src/components/msp-display.tsx +25 -10
- package/src/components/navigation/app-layout.tsx +0 -3
- package/src/components/navigation/index.ts +15 -3
- package/src/components/navigation/mingo-ai-button.tsx +3 -4
- package/src/components/navigation/mobile-nav-sheet.tsx +0 -2
- package/src/components/navigation/multi-level-navigation.tsx +152 -35
- package/src/components/navigation/page-section-bar.tsx +132 -0
- package/src/components/navigation/sticky-section-nav.tsx +109 -18
- package/src/components/navigation/ticket-alerts-button.tsx +1 -1
- package/src/components/onboarding-guides/hooks/use-onboarding-guides.ts +8 -1
- package/src/components/onboarding-guides/index.ts +5 -2
- package/src/components/onboarding-guides/onboarding-guide-detail-view.tsx +166 -67
- package/src/components/onboarding-guides/onboarding-guides-catalog-skeleton.tsx +38 -51
- package/src/components/onboarding-guides/onboarding-guides-catalog-view.tsx +91 -45
- package/src/components/pagination.tsx +103 -48
- package/src/components/persistent-filter-controls.tsx +0 -7
- package/src/components/persistent-pagination.tsx +6 -1
- package/src/components/platform/ToolBadge.tsx +57 -10
- package/src/components/platform/index.ts +2 -2
- package/src/components/platform/tool-badge-mark.ts +6 -0
- package/src/components/product-demo/fixtures/devices.ts +0 -3
- package/src/components/product-demo/product-screen.tsx +42 -23
- package/src/components/product-demo/screen-loading.tsx +20 -0
- package/src/components/product-demo/screens/devices-view.tsx +58 -0
- package/src/components/product-demo/screens/devices.tsx +9 -29
- package/src/components/related-content/card-registry.tsx +20 -6
- package/src/components/related-content/index.ts +3 -1
- package/src/components/related-content/related-content-section.tsx +222 -46
- package/src/components/results-count.tsx +37 -6
- package/src/components/shared/article-author-byline.tsx +65 -41
- package/src/components/shared/delivery/delivery-lists.tsx +15 -2
- package/src/components/shared/delivery/delivery-row.tsx +55 -9
- package/src/components/shared/delivery/delivery-table.tsx +19 -46
- package/src/components/shared/detail-page-skeleton.tsx +15 -1
- package/src/components/shared/dev-section/dev-card-row.tsx +45 -28
- package/src/components/shared/dev-section/dev-section-view.tsx +1 -1
- package/src/components/shared/doc-search/use-doc-search.ts +1 -1
- package/src/components/shared/legal-document/index.ts +2 -0
- package/src/components/shared/legal-document/legal-document-page.tsx +41 -21
- package/src/components/shared/legal-document/use-legal-docs.ts +5 -1
- package/src/components/shared/legal-document/use-legal-documents.ts +4 -1
- package/src/components/shared/media-gallery-strip.tsx +35 -3
- package/src/components/shared/onboarding/index.ts +2 -5
- package/src/components/shared/product-release/index.ts +1 -1
- package/src/components/shared/product-release/product-release-card-classes.ts +28 -0
- package/src/components/shared/product-release/product-release-card-skeleton.tsx +62 -56
- package/src/components/shared/product-release/product-release-card.tsx +62 -44
- package/src/components/shared/product-release/product-releases-view.tsx +32 -24
- package/src/components/shared/product-release/release-detail-page.tsx +229 -134
- package/src/components/shared/roadmap/roadmap-grid-skeleton.tsx +20 -6
- package/src/components/shared/roadmap/roadmap-grid.tsx +59 -9
- package/src/components/shared/roadmap/roadmap-view.tsx +3 -3
- package/src/components/social-icon-row.tsx +14 -8
- package/src/components/tickets/help-center-list.tsx +6 -2
- package/src/components/tickets/hooks/use-ticket-actions.ts +0 -4
- package/src/components/tickets/index.ts +1 -2
- package/src/components/tickets/ticket-center.tsx +189 -75
- package/src/components/tickets/types.ts +0 -9
- package/src/components/toggle-group.tsx +4 -1
- package/src/components/tool-icon.tsx +2 -1
- package/src/components/ui/analyzing-state.tsx +11 -6
- package/src/components/ui/announcement-bar-view.tsx +7 -1
- package/src/components/ui/autocomplete.tsx +58 -6
- package/src/components/ui/avatar-stack.tsx +42 -3
- package/src/components/ui/badge.tsx +16 -1
- package/src/components/ui/benefit-list.tsx +41 -6
- package/src/components/ui/button/button-styles.ts +48 -0
- package/src/components/ui/button/button.tsx +5 -39
- package/src/components/ui/button/index.ts +1 -0
- package/src/components/ui/card.tsx +28 -13
- package/src/components/ui/checkbox.tsx +6 -1
- package/src/components/ui/compliance-badge.tsx +6 -2
- package/src/components/ui/cursor-pagination.tsx +28 -3
- package/src/components/ui/dashboard-info-card.tsx +29 -11
- package/src/components/ui/data-attribution.tsx +42 -12
- package/src/components/ui/data-table/data-table-body.tsx +11 -2
- package/src/components/ui/data-table/data-table-row-count.tsx +19 -1
- package/src/components/ui/data-table/data-table-row.tsx +4 -9
- package/src/components/ui/data-table/data-table-skeleton.tsx +7 -7
- package/src/components/ui/data-table/index.ts +2 -1
- package/src/components/ui/date-picker.tsx +0 -6
- package/src/components/ui/entity-image.tsx +27 -4
- package/src/components/ui/error-state.tsx +8 -1
- package/src/components/ui/feature-card.tsx +77 -12
- package/src/components/ui/feature-list.tsx +72 -8
- package/src/components/ui/field-wrapper.tsx +13 -1
- package/src/components/ui/filter-checkbox-item.tsx +57 -6
- package/src/components/ui/filter-modal.tsx +2 -6
- package/src/components/ui/filter-pill-row.tsx +81 -27
- package/src/components/ui/incident-feed.tsx +20 -11
- package/src/components/ui/index.ts +21 -1
- package/src/components/ui/info-card-row.tsx +74 -19
- package/src/components/ui/info-card.tsx +87 -13
- package/src/components/ui/input-styles.ts +6 -0
- package/src/components/ui/input.tsx +4 -1
- package/src/components/ui/layout-hold.tsx +9 -7
- package/src/components/ui/leader-row.tsx +58 -4
- package/src/components/ui/loading-scope.tsx +54 -0
- package/src/components/ui/markdown/base-components.tsx +18 -9
- package/src/components/ui/markdown/engine.tsx +131 -7
- package/src/components/ui/markdown/index.ts +8 -6
- package/src/components/ui/markdown/mermaid-diagram.tsx +7 -4
- package/src/components/ui/markdown/rich/rich-markdown-renderer.tsx +26 -1
- package/src/components/ui/markdown/simple-markdown-renderer.tsx +0 -3
- package/src/components/ui/markdown-editor.tsx +83 -50
- package/src/components/ui/numbered-step.tsx +32 -2
- package/src/components/ui/organization-card.tsx +32 -7
- package/src/components/ui/page-actions.tsx +51 -31
- package/src/components/ui/page-loader.tsx +2 -1
- package/src/components/ui/people-cell.tsx +25 -2
- package/src/components/ui/photo-wall.tsx +14 -3
- package/src/components/ui/product-screen-frame.tsx +14 -3
- package/src/components/ui/progress-bar.tsx +26 -3
- package/src/components/ui/progress.tsx +14 -3
- package/src/components/ui/release-changelog-section.tsx +153 -20
- package/src/components/ui/search-input.tsx +23 -3
- package/src/components/ui/searchable-select.tsx +26 -6
- package/src/components/ui/skeleton-surface.ts +16 -4
- package/src/components/ui/slack-channel-chip.tsx +23 -3
- package/src/components/ui/snap-carousel.tsx +5 -0
- package/src/components/ui/square-avatar.tsx +41 -23
- package/src/components/ui/stacked-rows-panel.tsx +88 -15
- package/src/components/ui/status-badge.tsx +18 -1
- package/src/components/ui/status-indicator.tsx +21 -2
- package/src/components/ui/status-line.tsx +2 -1
- package/src/components/ui/strip-card.tsx +73 -23
- package/src/components/ui/tab-navigation.tsx +141 -28
- package/src/components/ui/table/table-header.tsx +2 -2
- package/src/components/ui/table/table-row.tsx +2 -4
- package/src/components/ui/table/table-skeleton.tsx +48 -54
- package/src/components/ui/table/table.tsx +36 -19
- package/src/components/ui/table/types.ts +12 -4
- package/src/components/ui/table/utils.ts +5 -0
- package/src/components/ui/tabs.tsx +64 -4
- package/src/components/ui/tag.tsx +33 -13
- package/src/components/ui/tags-input.tsx +48 -10
- package/src/components/ui/textarea.tsx +33 -3
- package/src/components/ui/ticket-info-section.tsx +0 -2
- package/src/components/ui/timezone-select.tsx +4 -0
- package/src/components/ui/toggle.tsx +11 -5
- package/src/components/unified-pagination.tsx +15 -0
- package/src/components/user-display.tsx +53 -12
- package/src/components/user-summary-stub.tsx +7 -11
- package/src/components/vendor-display-button.tsx +15 -12
- package/src/components/vendor-icon.tsx +13 -2
- package/src/components/vendor-tag.tsx +18 -4
- package/src/embed-shims/next-image.tsx +36 -1
- package/src/hooks/state/flatten-schema.ts +0 -4
- package/src/hooks/state/index.ts +5 -3
- package/src/hooks/state/url-converter.ts +2 -2
- package/src/hooks/state/use-api-params.ts +2 -10
- package/src/hooks/ui/index.ts +1 -0
- package/src/hooks/ui/use-image-edge-color.ts +4 -1
- package/src/hooks/ui/use-onboarding-state.ts +0 -2
- package/src/hooks/use-downloads.ts +9 -1
- package/src/hooks/use-meeting-booking.ts +4 -0
- package/src/hooks/use-self-fetch.ts +12 -4
- package/src/nats/index.ts +1 -0
- package/src/nats/nats-provider.tsx +0 -2
- package/src/nats/nats.ts +0 -2
- package/src/nats/use-nats-subscription.ts +2 -1
- package/src/schemas/meeting-booking-schema.ts +11 -0
- package/src/styles/component-sizes.ts +105 -0
- package/src/types/announcement.ts +0 -3
- package/src/types/blog.ts +0 -4
- package/src/types/case-study.ts +2 -2
- package/src/types/customer-interview-ai.types.ts +1 -4
- package/src/types/customer-interview.ts +0 -11
- package/src/types/index.ts +2 -0
- package/src/types/product-release.ts +4 -2
- package/src/types/stack.ts +0 -4
- package/src/utils/announcement-storage.ts +0 -7
- package/src/utils/dev-sections/openframe-dev-sections.ts +11 -0
- package/src/utils/index.ts +6 -9
- package/src/utils/markdown-heading-id.ts +0 -28
- package/src/utils/ods-color-utils.ts +0 -4
- package/src/utils/own-click.ts +25 -0
- package/src/utils/platform-config.tsx +0 -17
- package/src/utils/source-icons.ts +2 -2
- package/dist/chunk-3ATAYP36.cjs +0 -19
- package/dist/chunk-3LU4UFPS.cjs +0 -14
- package/dist/chunk-FQWBIKF4.cjs +0 -404
- package/dist/chunk-H3RYUTND.cjs +0 -142
- package/dist/chunk-L4UI63K6.cjs +0 -103
- package/dist/chunk-NS64LMVE.cjs +0 -470
- package/dist/chunk-OF336YWG.cjs +0 -20
- package/dist/chunk-RB6BSE3O.cjs +0 -21
- package/dist/chunk-RM6AHNM4.cjs +0 -163
- package/dist/components/chat/entity-cards/product-release-card.d.ts +0 -12
- package/dist/components/chat/entity-cards/product-release-card.d.ts.map +0 -1
- package/dist/components/chat/entity-cards/product-release-card.js +0 -8
- package/dist/components/chat/hooks/use-embedded-chat.d.ts +0 -15
- package/dist/components/chat/hooks/use-embedded-chat.d.ts.map +0 -1
- package/dist/components/chat/hooks/use-embedded-chat.js +0 -6
- package/dist/components/chat/types/entities/blog.d.ts +0 -14
- package/dist/components/chat/types/entities/blog.d.ts.map +0 -1
- package/dist/components/chat/types/entities/blog.js +0 -1
- package/dist/components/chat/types/entities/case-study.d.ts +0 -10
- package/dist/components/chat/types/entities/case-study.d.ts.map +0 -1
- package/dist/components/chat/types/entities/case-study.js +0 -1
- package/dist/components/chat/types/entities/content-ref.d.ts +0 -8
- package/dist/components/chat/types/entities/content-ref.d.ts.map +0 -1
- package/dist/components/chat/types/entities/content-ref.js +0 -1
- package/dist/components/chat/types/entities/customer-interview.d.ts +0 -10
- package/dist/components/chat/types/entities/customer-interview.d.ts.map +0 -1
- package/dist/components/chat/types/entities/customer-interview.js +0 -1
- package/dist/components/chat/utils/source-icons.d.ts +0 -8
- package/dist/components/chat/utils/source-icons.d.ts.map +0 -1
- package/dist/components/chat/utils/source-icons.js +0 -16
- package/dist/utils/image-proxy-stub.d.ts +0 -14
- package/dist/utils/image-proxy-stub.d.ts.map +0 -1
- package/dist/utils/image-proxy-stub.js +0 -22
- package/src/components/chat/entity-cards/product-release-card.tsx +0 -19
- package/src/components/chat/hooks/use-embedded-chat.ts +0 -25
- package/src/components/chat/types/entities/blog.ts +0 -27
- package/src/components/chat/types/entities/case-study.ts +0 -10
- package/src/components/chat/types/entities/content-ref.ts +0 -7
- package/src/components/chat/types/entities/customer-interview.ts +0 -15
- package/src/components/chat/utils/source-icons.ts +0 -14
- package/src/utils/image-proxy-stub.ts +0 -40
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
"use client";
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var _chunkNBVZIHGScjs = require('../../chunk-NBVZIHGS.cjs');
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _chunkYRFWOJF4cjs = require('../../chunk-YRFWOJF4.cjs');
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
|
|
@@ -16,17 +16,21 @@ var _chunkTSJUL6IHcjs = require('../../chunk-TSJUL6IH.cjs');
|
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
var _chunkVL6IXTAIcjs = require('../../chunk-VL6IXTAI.cjs');
|
|
20
|
-
require('../../chunk-ZCU2PYCW.cjs');
|
|
21
|
-
require('../../chunk-GY2JESOC.cjs');
|
|
22
19
|
|
|
23
20
|
|
|
24
21
|
|
|
22
|
+
var _chunkVRDHAR3Xcjs = require('../../chunk-VRDHAR3X.cjs');
|
|
23
|
+
require('../../chunk-MPTMT773.cjs');
|
|
24
|
+
require('../../chunk-RB7VLVMD.cjs');
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
|
|
29
|
-
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
var _chunkZV45VS6Kcjs = require('../../chunk-ZV45VS6K.cjs');
|
|
30
34
|
require('../../chunk-HQQE74RO.cjs');
|
|
31
35
|
require('../../chunk-DEY6XXGO.cjs');
|
|
32
36
|
|
|
@@ -34,26 +38,28 @@ require('../../chunk-DEY6XXGO.cjs');
|
|
|
34
38
|
|
|
35
39
|
|
|
36
40
|
|
|
37
|
-
var
|
|
38
|
-
require('../../chunk-
|
|
41
|
+
var _chunkXVFM6SJAcjs = require('../../chunk-XVFM6SJA.cjs');
|
|
42
|
+
require('../../chunk-2JRSYWFP.cjs');
|
|
39
43
|
require('../../chunk-24I6RFVU.cjs');
|
|
40
44
|
require('../../chunk-A6P6DHEZ.cjs');
|
|
41
45
|
require('../../chunk-MZ4KBSH7.cjs');
|
|
42
|
-
require('../../chunk-RO72PRQI.cjs');
|
|
43
46
|
|
|
44
47
|
|
|
45
|
-
var
|
|
48
|
+
var _chunkZRDMGMY7cjs = require('../../chunk-ZRDMGMY7.cjs');
|
|
49
|
+
|
|
46
50
|
|
|
51
|
+
var _chunkC42WIUH6cjs = require('../../chunk-C42WIUH6.cjs');
|
|
47
52
|
|
|
48
53
|
|
|
49
|
-
var _chunkT5FRANE6cjs = require('../../chunk-T5FRANE6.cjs');
|
|
50
54
|
|
|
55
|
+
var _chunk7VI7TOGIcjs = require('../../chunk-7VI7TOGI.cjs');
|
|
51
56
|
|
|
52
|
-
|
|
53
|
-
require('../../chunk-
|
|
54
|
-
require('../../chunk-
|
|
55
|
-
require('../../chunk-
|
|
56
|
-
require('../../chunk-
|
|
57
|
+
|
|
58
|
+
var _chunkYL6ZB2SRcjs = require('../../chunk-YL6ZB2SR.cjs');
|
|
59
|
+
require('../../chunk-GTONIRJU.cjs');
|
|
60
|
+
require('../../chunk-RNLRS4ID.cjs');
|
|
61
|
+
require('../../chunk-XZ6DKGT4.cjs');
|
|
62
|
+
require('../../chunk-LELS4XMX.cjs');
|
|
57
63
|
require('../../chunk-ZOZR3QI2.cjs');
|
|
58
64
|
require('../../chunk-OMV5S5PI.cjs');
|
|
59
65
|
require('../../chunk-KHPX3KU4.cjs');
|
|
@@ -1844,30 +1850,31 @@ require('../../chunk-IYHH5EIO.cjs');
|
|
|
1844
1850
|
require('../../chunk-XIBCMGBW.cjs');
|
|
1845
1851
|
|
|
1846
1852
|
|
|
1847
|
-
var
|
|
1848
|
-
require('../../chunk-
|
|
1849
|
-
require('../../chunk-
|
|
1853
|
+
var _chunkTZ4GKUO2cjs = require('../../chunk-TZ4GKUO2.cjs');
|
|
1854
|
+
require('../../chunk-XXJL5GY3.cjs');
|
|
1855
|
+
require('../../chunk-57B5RUYD.cjs');
|
|
1850
1856
|
require('../../chunk-JKX2C3I2.cjs');
|
|
1851
1857
|
require('../../chunk-7DNL734S.cjs');
|
|
1852
1858
|
require('../../chunk-WWUSFOJ7.cjs');
|
|
1853
1859
|
require('../../chunk-SKI6NKOE.cjs');
|
|
1854
1860
|
require('../../chunk-EWPR7662.cjs');
|
|
1855
|
-
require('../../chunk-
|
|
1861
|
+
require('../../chunk-FZB4RMRK.cjs');
|
|
1862
|
+
|
|
1856
1863
|
|
|
1864
|
+
var _chunkDGNBXZXTcjs = require('../../chunk-DGNBXZXT.cjs');
|
|
1865
|
+
require('../../chunk-R3JX4MXD.cjs');
|
|
1866
|
+
require('../../chunk-SETFUCZA.cjs');
|
|
1857
1867
|
|
|
1858
|
-
var _chunk22XAPV6Ncjs = require('../../chunk-22XAPV6N.cjs');
|
|
1859
|
-
require('../../chunk-OJJ4RL2T.cjs');
|
|
1860
|
-
require('../../chunk-63N4FN5V.cjs');
|
|
1861
1868
|
|
|
1869
|
+
var _chunkAAECWUNVcjs = require('../../chunk-AAECWUNV.cjs');
|
|
1862
1870
|
|
|
1863
|
-
var _chunkM7YZGRAVcjs = require('../../chunk-M7YZGRAV.cjs');
|
|
1864
1871
|
|
|
1865
1872
|
|
|
1866
1873
|
|
|
1867
1874
|
|
|
1868
1875
|
|
|
1869
1876
|
|
|
1870
|
-
var
|
|
1877
|
+
var _chunkJTSUAHDLcjs = require('../../chunk-JTSUAHDL.cjs');
|
|
1871
1878
|
require('../../chunk-S5C3OZCO.cjs');
|
|
1872
1879
|
require('../../chunk-32ASZMTV.cjs');
|
|
1873
1880
|
require('../../chunk-OOYBIS7D.cjs');
|
|
@@ -1878,46 +1885,46 @@ require('../../chunk-RUHKTWGB.cjs');
|
|
|
1878
1885
|
|
|
1879
1886
|
|
|
1880
1887
|
var _chunkBLH2SFOOcjs = require('../../chunk-BLH2SFOO.cjs');
|
|
1881
|
-
require('../../chunk-
|
|
1888
|
+
require('../../chunk-3LW5TD54.cjs');
|
|
1882
1889
|
|
|
1883
1890
|
|
|
1884
1891
|
var _chunkASMNNSUQcjs = require('../../chunk-ASMNNSUQ.cjs');
|
|
1885
1892
|
require('../../chunk-CW3ML76U.cjs');
|
|
1886
|
-
require('../../chunk-
|
|
1887
|
-
require('../../chunk-
|
|
1893
|
+
require('../../chunk-VFZFCRAL.cjs');
|
|
1894
|
+
require('../../chunk-5P4TDV7V.cjs');
|
|
1888
1895
|
require('../../chunk-DGFDBPO7.cjs');
|
|
1889
|
-
require('../../chunk-
|
|
1896
|
+
require('../../chunk-E76ONBKF.cjs');
|
|
1890
1897
|
require('../../chunk-UJ7AXHRZ.cjs');
|
|
1891
1898
|
|
|
1892
1899
|
|
|
1893
1900
|
|
|
1894
|
-
|
|
1901
|
+
|
|
1902
|
+
var _chunkYXDHVHB2cjs = require('../../chunk-YXDHVHB2.cjs');
|
|
1895
1903
|
|
|
1896
1904
|
|
|
1897
|
-
var
|
|
1898
|
-
require('../../chunk-
|
|
1905
|
+
var _chunkFL2RMEDXcjs = require('../../chunk-FL2RMEDX.cjs');
|
|
1906
|
+
require('../../chunk-XIFEZ2JT.cjs');
|
|
1899
1907
|
require('../../chunk-Z74QE57T.cjs');
|
|
1900
1908
|
require('../../chunk-XZJCBIYR.cjs');
|
|
1901
1909
|
|
|
1902
1910
|
|
|
1903
|
-
var
|
|
1911
|
+
var _chunkWEANWBJHcjs = require('../../chunk-WEANWBJH.cjs');
|
|
1904
1912
|
|
|
1905
1913
|
|
|
1906
|
-
var _chunk2QMBXGMQcjs = require('../../chunk-2QMBXGMQ.cjs');
|
|
1907
1914
|
|
|
1908
1915
|
|
|
1909
|
-
var _chunkV45KLJQPcjs = require('../../chunk-V45KLJQP.cjs');
|
|
1910
|
-
require('../../chunk-KHKPLOU4.cjs');
|
|
1911
|
-
require('../../chunk-L4UI63K6.cjs');
|
|
1912
|
-
require('../../chunk-OF336YWG.cjs');
|
|
1913
|
-
require('../../chunk-3LU4UFPS.cjs');
|
|
1914
|
-
require('../../chunk-RB6BSE3O.cjs');
|
|
1915
1916
|
|
|
1917
|
+
var _chunkXFRBEXQNcjs = require('../../chunk-XFRBEXQN.cjs');
|
|
1916
1918
|
|
|
1917
|
-
var _chunkH3RYUTNDcjs = require('../../chunk-H3RYUTND.cjs');
|
|
1918
1919
|
|
|
1920
|
+
var _chunkTF5D5MNOcjs = require('../../chunk-TF5D5MNO.cjs');
|
|
1919
1921
|
|
|
1920
|
-
|
|
1922
|
+
|
|
1923
|
+
var _chunkV45KLJQPcjs = require('../../chunk-V45KLJQP.cjs');
|
|
1924
|
+
|
|
1925
|
+
|
|
1926
|
+
var _chunk65VVJSQZcjs = require('../../chunk-65VVJSQZ.cjs');
|
|
1927
|
+
require('../../chunk-KHKPLOU4.cjs');
|
|
1921
1928
|
|
|
1922
1929
|
// src/components/meeting-scheduler/index.tsx
|
|
1923
1930
|
var _react = require('react');
|
|
@@ -2049,6 +2056,9 @@ function normalizeFormField(field) {
|
|
|
2049
2056
|
}
|
|
2050
2057
|
return normalized;
|
|
2051
2058
|
}
|
|
2059
|
+
function bookingFormAsks(field, optionalFields) {
|
|
2060
|
+
return Boolean(field.required) || !optionalFields || optionalFields.includes(field.name);
|
|
2061
|
+
}
|
|
2052
2062
|
function normalizeFormFields(fields) {
|
|
2053
2063
|
return fields.flatMap((f) => _nullishCoalesce(normalizeFormField(f), () => ( [])));
|
|
2054
2064
|
}
|
|
@@ -2194,7 +2204,7 @@ function useMeetingBooking(options) {
|
|
|
2194
2204
|
const seededOffset = _optionalChain([initialAvailability, 'optionalAccess', _12 => _12.meetingId]) === meetingId ? initialAvailability.monthOffset : void 0;
|
|
2195
2205
|
const [monthOffset, setMonthOffsetState] = _react.useState.call(void 0, _nullishCoalesce(seededOffset, () => ( 0)));
|
|
2196
2206
|
const setMonthOffset = _react.useCallback.call(void 0, (offset) => {
|
|
2197
|
-
setMonthOffsetState(Math.max(0, Math.min(
|
|
2207
|
+
setMonthOffsetState(Math.max(0, Math.min(_chunk7VI7TOGIcjs.MAX_MONTH_OFFSET, offset)));
|
|
2198
2208
|
}, []);
|
|
2199
2209
|
const prevMeetingIdRef = _react.useRef.call(void 0, meetingId);
|
|
2200
2210
|
_react.useLayoutEffect.call(void 0, () => {
|
|
@@ -2202,6 +2212,7 @@ function useMeetingBooking(options) {
|
|
|
2202
2212
|
prevMeetingIdRef.current = meetingId;
|
|
2203
2213
|
setMonthOffsetState(0);
|
|
2204
2214
|
}, [meetingId]);
|
|
2215
|
+
const inScope = _chunkXFRBEXQNcjs.useLoadingScope.call(void 0, );
|
|
2205
2216
|
const seed = _optionalChain([initialAvailability, 'optionalAccess', _13 => _13.meetingId]) === meetingId && initialAvailability.monthOffset === monthOffset ? initialAvailability : void 0;
|
|
2206
2217
|
const availabilityQuery = _reactquery.useQuery.call(void 0, {
|
|
2207
2218
|
queryKey: meetingAvailabilityKey(apiBaseUrl, meetingId, monthOffset),
|
|
@@ -2212,6 +2223,7 @@ function useMeetingBooking(options) {
|
|
|
2212
2223
|
return await res.json();
|
|
2213
2224
|
},
|
|
2214
2225
|
staleTime: AVAILABILITY_STALE_MS,
|
|
2226
|
+
enabled: !inScope,
|
|
2215
2227
|
initialData: seed,
|
|
2216
2228
|
// Stamped as infinitely old on purpose: the seed is first-paint
|
|
2217
2229
|
// scaffolding for a 60-second-volatile resource, not truth, so it paints
|
|
@@ -2286,7 +2298,6 @@ var SPAN_CLASS = {
|
|
|
2286
2298
|
3: "content-md:col-span-3",
|
|
2287
2299
|
4: "content-md:col-span-4"
|
|
2288
2300
|
};
|
|
2289
|
-
var FIELD_SKELETON_CLASS = "h-[4.75rem] w-full";
|
|
2290
2301
|
var DEFAULT_SUBMIT_LABEL = "Confirm Booking";
|
|
2291
2302
|
var FOOTER_ROW_CLASS = "flex flex-wrap items-center justify-between gap-[var(--spacing-system-m)]";
|
|
2292
2303
|
var FOOTER_BARE_CLASS = "flex";
|
|
@@ -2297,9 +2308,9 @@ var evenSpan = (count, index) => {
|
|
|
2297
2308
|
const extra = GRID_COLUMNS - base * count;
|
|
2298
2309
|
return Math.min(GRID_COLUMNS, Math.max(1, index < extra ? base + 1 : base));
|
|
2299
2310
|
};
|
|
2300
|
-
var slotColumnClass = (row, slot, index) =>
|
|
2311
|
+
var slotColumnClass = (row, slot, index) => _chunk65VVJSQZcjs.cn.call(void 0, row.length === 2 ? "col-span-1" : "col-span-2", SPAN_CLASS[_nullishCoalesce(slot.span, () => ( evenSpan(row.length, index)))]);
|
|
2301
2312
|
var placeholderFor = (field) => _nullishCoalesce(field.placeholder, () => ( _optionalChain([fieldTypeSpec, 'call', _14 => _14(field.type), 'access', _15 => _15.placeholder, 'optionalCall', _16 => _16(field)])));
|
|
2302
|
-
var
|
|
2313
|
+
var formFieldOptionLabel = (field, value) => _nullishCoalesce(_optionalChain([field, 'access', _17 => _17.optionLabels, 'optionalAccess', _18 => _18[value]]), () => ( value));
|
|
2303
2314
|
var trimmed = (v) => String(_nullishCoalesce(v, () => ( ""))).trim();
|
|
2304
2315
|
var canonicalNumber = (v) => {
|
|
2305
2316
|
const s = String(_nullishCoalesce(v, () => ( ""))).trim();
|
|
@@ -2311,7 +2322,7 @@ var canonicalNumber = (v) => {
|
|
|
2311
2322
|
};
|
|
2312
2323
|
var FIELD_CONTROLS = {
|
|
2313
2324
|
text: ({ field, id, registerName, error, register }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2314
|
-
|
|
2325
|
+
_chunkYXDHVHB2cjs.Input,
|
|
2315
2326
|
{
|
|
2316
2327
|
id,
|
|
2317
2328
|
type: _nullishCoalesce(field.inputType, () => ( "text")),
|
|
@@ -2324,7 +2335,7 @@ var FIELD_CONTROLS = {
|
|
|
2324
2335
|
}
|
|
2325
2336
|
),
|
|
2326
2337
|
textarea: ({ field, id, registerName, error, register }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2327
|
-
|
|
2338
|
+
_chunkVRDHAR3Xcjs.Textarea,
|
|
2328
2339
|
{
|
|
2329
2340
|
id,
|
|
2330
2341
|
required: field.required,
|
|
@@ -2335,7 +2346,7 @@ var FIELD_CONTROLS = {
|
|
|
2335
2346
|
}
|
|
2336
2347
|
),
|
|
2337
2348
|
number: ({ field, id, registerName, error, register }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2338
|
-
|
|
2349
|
+
_chunkYXDHVHB2cjs.Input,
|
|
2339
2350
|
{
|
|
2340
2351
|
id,
|
|
2341
2352
|
type: "number",
|
|
@@ -2348,7 +2359,7 @@ var FIELD_CONTROLS = {
|
|
|
2348
2359
|
}
|
|
2349
2360
|
),
|
|
2350
2361
|
phone: ({ field, id, registerName, error, register }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2351
|
-
|
|
2362
|
+
_chunkYXDHVHB2cjs.Input,
|
|
2352
2363
|
{
|
|
2353
2364
|
id,
|
|
2354
2365
|
type: "tel",
|
|
@@ -2364,7 +2375,7 @@ var FIELD_CONTROLS = {
|
|
|
2364
2375
|
date: ({ field, id, registerName, error, register }) => (
|
|
2365
2376
|
// The native picker emits exactly the wire shape (`YYYY-MM-DD`).
|
|
2366
2377
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2367
|
-
|
|
2378
|
+
_chunkYXDHVHB2cjs.Input,
|
|
2368
2379
|
{
|
|
2369
2380
|
id,
|
|
2370
2381
|
type: "date",
|
|
@@ -2380,18 +2391,18 @@ var FIELD_CONTROLS = {
|
|
|
2380
2391
|
{
|
|
2381
2392
|
control,
|
|
2382
2393
|
name: registerName,
|
|
2383
|
-
render: ({ field: rhf }) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
2394
|
+
render: ({ field: rhf }) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkZV45VS6Kcjs.Select, { value: _nullishCoalesce(rhf.value, () => ( "")), onValueChange: rhf.onChange, children: [
|
|
2384
2395
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2385
|
-
|
|
2396
|
+
_chunkZV45VS6Kcjs.SelectTrigger,
|
|
2386
2397
|
{
|
|
2387
2398
|
id,
|
|
2388
2399
|
"aria-required": field.required || void 0,
|
|
2389
2400
|
"aria-invalid": Boolean(error),
|
|
2390
2401
|
invalid: Boolean(error),
|
|
2391
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2402
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZV45VS6Kcjs.SelectValue, { placeholder: "Select\u2026" })
|
|
2392
2403
|
}
|
|
2393
2404
|
),
|
|
2394
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2405
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZV45VS6Kcjs.SelectContent, { children: (_nullishCoalesce(field.options, () => ( []))).map((opt) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZV45VS6Kcjs.SelectItem, { value: opt, children: formFieldOptionLabel(field, opt) }, opt)) })
|
|
2395
2406
|
] })
|
|
2396
2407
|
}
|
|
2397
2408
|
),
|
|
@@ -2401,15 +2412,15 @@ var FIELD_CONTROLS = {
|
|
|
2401
2412
|
control,
|
|
2402
2413
|
name: registerName,
|
|
2403
2414
|
render: ({ field: rhf }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2404
|
-
|
|
2415
|
+
_chunkVRDHAR3Xcjs.RadioGroup,
|
|
2405
2416
|
{
|
|
2406
2417
|
value: _nullishCoalesce(rhf.value, () => ( "")),
|
|
2407
2418
|
onValueChange: rhf.onChange,
|
|
2408
2419
|
"aria-required": field.required || void 0,
|
|
2409
2420
|
"aria-invalid": Boolean(error),
|
|
2410
2421
|
children: (_nullishCoalesce(field.options, () => ( []))).map((opt) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xs)]", children: [
|
|
2411
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2412
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2422
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVRDHAR3Xcjs.RadioGroupItem, { id: `${id}-${opt}`, value: opt }),
|
|
2423
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFL2RMEDXcjs.Label, { htmlFor: `${id}-${opt}`, children: formFieldOptionLabel(field, opt) })
|
|
2413
2424
|
] }, opt))
|
|
2414
2425
|
}
|
|
2415
2426
|
)
|
|
@@ -2431,7 +2442,7 @@ var FIELD_CONTROLS = {
|
|
|
2431
2442
|
};
|
|
2432
2443
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { id, role: "group", className: "flex flex-col gap-[var(--spacing-system-xs)]", children: (_nullishCoalesce(field.options, () => ( []))).map((opt) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xs)]", children: [
|
|
2433
2444
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2434
|
-
|
|
2445
|
+
_chunkC42WIUH6cjs.Checkbox,
|
|
2435
2446
|
{
|
|
2436
2447
|
id: `${id}-${opt}`,
|
|
2437
2448
|
checked: selected.includes(opt),
|
|
@@ -2439,7 +2450,7 @@ var FIELD_CONTROLS = {
|
|
|
2439
2450
|
"aria-invalid": Boolean(error)
|
|
2440
2451
|
}
|
|
2441
2452
|
),
|
|
2442
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2453
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFL2RMEDXcjs.Label, { htmlFor: `${id}-${opt}`, children: formFieldOptionLabel(field, opt) })
|
|
2443
2454
|
] }, opt)) });
|
|
2444
2455
|
}
|
|
2445
2456
|
}
|
|
@@ -2455,7 +2466,7 @@ var FIELD_CONTROLS = {
|
|
|
2455
2466
|
// this id — a second inline label would double the visible text AND
|
|
2456
2467
|
// the accessible name.
|
|
2457
2468
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xs)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2458
|
-
|
|
2469
|
+
_chunkC42WIUH6cjs.Checkbox,
|
|
2459
2470
|
{
|
|
2460
2471
|
id,
|
|
2461
2472
|
checked: Boolean(rhf.value),
|
|
@@ -2468,8 +2479,60 @@ var FIELD_CONTROLS = {
|
|
|
2468
2479
|
}
|
|
2469
2480
|
)
|
|
2470
2481
|
};
|
|
2482
|
+
var CHIP_FIELD_TYPES = /* @__PURE__ */ new Set(["select", "radio"]);
|
|
2483
|
+
var CHIP_MAX_OPTIONS = 6;
|
|
2484
|
+
function drawnAsChips(field, display) {
|
|
2485
|
+
if (display !== "chips" || !CHIP_FIELD_TYPES.has(field.type)) return false;
|
|
2486
|
+
const count = _nullishCoalesce(_optionalChain([field, 'access', _19 => _19.options, 'optionalAccess', _20 => _20.length]), () => ( 0));
|
|
2487
|
+
return count > 0 && count <= CHIP_MAX_OPTIONS;
|
|
2488
|
+
}
|
|
2489
|
+
var CHIP_ROW_CLASS = "flex flex-wrap justify-start gap-[var(--spacing-system-xsf)]";
|
|
2490
|
+
var chipsControl = ({ field, id, registerName, error, control }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2491
|
+
_reacthookform.Controller,
|
|
2492
|
+
{
|
|
2493
|
+
control,
|
|
2494
|
+
name: registerName,
|
|
2495
|
+
render: ({ field: rhf }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2496
|
+
_chunkVRDHAR3Xcjs.ToggleGroup,
|
|
2497
|
+
{
|
|
2498
|
+
id,
|
|
2499
|
+
type: "single",
|
|
2500
|
+
variant: "choice",
|
|
2501
|
+
value: _nullishCoalesce(rhf.value, () => ( "")),
|
|
2502
|
+
onValueChange: (value) => {
|
|
2503
|
+
if (value) rhf.onChange(value);
|
|
2504
|
+
},
|
|
2505
|
+
ref: (group) => rhf.ref(group && { focus: () => _optionalChain([group, 'access', _21 => _21.querySelector, 'call', _22 => _22("button"), 'optionalAccess', _23 => _23.focus, 'call', _24 => _24()]) }),
|
|
2506
|
+
onBlur: rhf.onBlur,
|
|
2507
|
+
"aria-labelledby": _chunkYXDHVHB2cjs.fieldLabelId.call(void 0, id),
|
|
2508
|
+
"aria-required": field.required || void 0,
|
|
2509
|
+
"aria-invalid": Boolean(error),
|
|
2510
|
+
className: CHIP_ROW_CLASS,
|
|
2511
|
+
children: (_nullishCoalesce(field.options, () => ( []))).map((opt) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVRDHAR3Xcjs.ToggleGroupItem, { value: opt, className: _chunk65VVJSQZcjs.cn.call(void 0, error && "data-[state=off]:border-ods-error"), children: formFieldOptionLabel(field, opt) }, opt))
|
|
2512
|
+
}
|
|
2513
|
+
)
|
|
2514
|
+
}
|
|
2515
|
+
);
|
|
2471
2516
|
var builtInId = (name) => `ms-${name.replace(/[A-Z]/g, (m) => `-${m.toLowerCase()}`)}`;
|
|
2472
|
-
function BookingForm({
|
|
2517
|
+
function BookingForm(props) {
|
|
2518
|
+
const inScope = _chunkXFRBEXQNcjs.useLoadingScope.call(void 0, );
|
|
2519
|
+
const { availability } = props;
|
|
2520
|
+
if (inScope || props.loading || !availability) {
|
|
2521
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2522
|
+
BookingFormSkeleton,
|
|
2523
|
+
{
|
|
2524
|
+
fieldRows: props.fieldRows,
|
|
2525
|
+
optionalFields: props.optionalFields,
|
|
2526
|
+
fieldCopy: props.fieldCopy,
|
|
2527
|
+
consent: props.consent,
|
|
2528
|
+
footerNote: props.footerNote,
|
|
2529
|
+
submitLabel: props.submitLabel
|
|
2530
|
+
}
|
|
2531
|
+
);
|
|
2532
|
+
}
|
|
2533
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BookingFormBody, { ...props, availability });
|
|
2534
|
+
}
|
|
2535
|
+
function BookingFormBody({
|
|
2473
2536
|
availability,
|
|
2474
2537
|
meetingId,
|
|
2475
2538
|
startTimeMs,
|
|
@@ -2477,9 +2540,11 @@ function BookingForm({
|
|
|
2477
2540
|
timezone,
|
|
2478
2541
|
deferSlot = false,
|
|
2479
2542
|
initialValues,
|
|
2543
|
+
answers,
|
|
2480
2544
|
submitLabel,
|
|
2481
2545
|
footerNote,
|
|
2482
2546
|
fieldRows,
|
|
2547
|
+
optionalFields,
|
|
2483
2548
|
formId,
|
|
2484
2549
|
hideSubmit = false,
|
|
2485
2550
|
onValidityChange,
|
|
@@ -2493,13 +2558,16 @@ function BookingForm({
|
|
|
2493
2558
|
rescue = null
|
|
2494
2559
|
}) {
|
|
2495
2560
|
const { formFields, legalConsent } = availability;
|
|
2496
|
-
const supportedFields = _react.useMemo.call(void 0,
|
|
2561
|
+
const supportedFields = _react.useMemo.call(void 0,
|
|
2562
|
+
() => normalizeFormFields(formFields).filter((field) => bookingFormAsks(field, optionalFields)),
|
|
2563
|
+
[formFields, optionalFields]
|
|
2564
|
+
);
|
|
2497
2565
|
const schema = _react.useMemo.call(void 0,
|
|
2498
2566
|
() => withDeniedEmailDomains(makeDeferredBookingSchema(supportedFields, legalConsent), deniedEmailDomains),
|
|
2499
2567
|
[supportedFields, legalConsent, deniedEmailDomains]
|
|
2500
2568
|
);
|
|
2501
2569
|
const consentDefaults = _react.useMemo.call(void 0,
|
|
2502
|
-
() => (_nullishCoalesce(_optionalChain([legalConsent, 'optionalAccess',
|
|
2570
|
+
() => (_nullishCoalesce(_optionalChain([legalConsent, 'optionalAccess', _25 => _25.communicationConsentCheckboxes]), () => ( []))).map((c) => ({
|
|
2503
2571
|
communicationTypeId: c.communicationTypeId,
|
|
2504
2572
|
consented: false
|
|
2505
2573
|
})),
|
|
@@ -2531,8 +2599,8 @@ function BookingForm({
|
|
|
2531
2599
|
..._nullishCoalesce(initialValues, () => ( {}))
|
|
2532
2600
|
}
|
|
2533
2601
|
});
|
|
2534
|
-
const priorConsents = _optionalChain([initialValues, 'optionalAccess',
|
|
2535
|
-
const [consented, setConsented] = _react.useState.call(void 0, _optionalChain([initialValues, 'optionalAccess',
|
|
2602
|
+
const priorConsents = _optionalChain([initialValues, 'optionalAccess', _26 => _26.legalConsentResponses]);
|
|
2603
|
+
const [consented, setConsented] = _react.useState.call(void 0, _optionalChain([initialValues, 'optionalAccess', _27 => _27[HOST_CONSENT_KEY]]) === true);
|
|
2536
2604
|
const [consentError, setConsentError] = _react.useState.call(void 0, null);
|
|
2537
2605
|
const consentMissing = Boolean(consent) && !consented;
|
|
2538
2606
|
const watchedValues = watch();
|
|
@@ -2550,16 +2618,30 @@ function BookingForm({
|
|
|
2550
2618
|
"legalConsentResponses",
|
|
2551
2619
|
consentDefaults.map((next) => ({
|
|
2552
2620
|
...next,
|
|
2553
|
-
consented: _nullishCoalesce(_optionalChain([current, 'access',
|
|
2621
|
+
consented: _nullishCoalesce(_optionalChain([current, 'access', _28 => _28.find, 'call', _29 => _29((r) => r.communicationTypeId === next.communicationTypeId), 'optionalAccess', _30 => _30.consented]), () => ( false))
|
|
2554
2622
|
})),
|
|
2555
2623
|
{ shouldDirty: false }
|
|
2556
2624
|
);
|
|
2557
2625
|
}, [consentDefaults, priorConsents, getValues, setValue]);
|
|
2626
|
+
const written = _react.useRef.call(void 0, {});
|
|
2627
|
+
_react.useEffect.call(void 0, () => {
|
|
2628
|
+
const names = /* @__PURE__ */ new Set([...Object.keys(_nullishCoalesce(answers, () => ( {}))), ...Object.keys(written.current)]);
|
|
2629
|
+
for (const name of names) {
|
|
2630
|
+
if (!supportedFields.some((field) => field.name === name)) continue;
|
|
2631
|
+
const next = _nullishCoalesce(_optionalChain([answers, 'optionalAccess', _31 => _31[name]]), () => ( ""));
|
|
2632
|
+
const current = _nullishCoalesce(_optionalChain([getValues, 'call', _32 => _32("formFields"), 'optionalAccess', _33 => _33[name]]), () => ( ""));
|
|
2633
|
+
if (current !== "" && current !== written.current[name]) continue;
|
|
2634
|
+
if (next) written.current[name] = next;
|
|
2635
|
+
else delete written.current[name];
|
|
2636
|
+
if (current === next) continue;
|
|
2637
|
+
setValue(`formFields.${name}`, next, { shouldValidate: next !== "" });
|
|
2638
|
+
}
|
|
2639
|
+
}, [answers, supportedFields, getValues, setValue]);
|
|
2558
2640
|
const rescueFields = _react.useMemo.call(void 0,
|
|
2559
2641
|
() => [...BUILT_IN_BOOKING_FIELDS.map((field) => field.name), ...supportedFields.map((field) => field.name)],
|
|
2560
2642
|
[supportedFields]
|
|
2561
2643
|
);
|
|
2562
|
-
const formRescue =
|
|
2644
|
+
const formRescue = _chunkXVFM6SJAcjs.useRescuedForm.call(void 0,
|
|
2563
2645
|
{ watch, getValues, setValue },
|
|
2564
2646
|
{
|
|
2565
2647
|
rescue,
|
|
@@ -2568,7 +2650,7 @@ function BookingForm({
|
|
|
2568
2650
|
fieldPath: (name) => BUILT_IN_BOOKING_FIELDS.some((field) => field.name === name) ? name : `formFields.${name}`
|
|
2569
2651
|
}
|
|
2570
2652
|
);
|
|
2571
|
-
const { toast } =
|
|
2653
|
+
const { toast } = _chunkXVFM6SJAcjs.useToast.call(void 0, );
|
|
2572
2654
|
const onInvalid = () => {
|
|
2573
2655
|
if (deniedEmailDomains && emailDomainDenied(getValues("email"), deniedEmailDomains)) {
|
|
2574
2656
|
toast({
|
|
@@ -2596,24 +2678,24 @@ function BookingForm({
|
|
|
2596
2678
|
});
|
|
2597
2679
|
}, onInvalid);
|
|
2598
2680
|
const submit = (event) => {
|
|
2599
|
-
if (consentMissing) setConsentError(_nullishCoalesce(_optionalChain([consent, 'optionalAccess',
|
|
2681
|
+
if (consentMissing) setConsentError(_nullishCoalesce(_optionalChain([consent, 'optionalAccess', _34 => _34.errorMessage]), () => ( "Please agree to continue.")));
|
|
2600
2682
|
return submitValid(event);
|
|
2601
2683
|
};
|
|
2602
2684
|
const fieldError = (name) => {
|
|
2603
|
-
const err = _optionalChain([errors, 'access',
|
|
2604
|
-
return _optionalChain([err, 'optionalAccess',
|
|
2685
|
+
const err = _optionalChain([errors, 'access', _35 => _35.formFields, 'optionalAccess', _36 => _36[name]]);
|
|
2686
|
+
return _optionalChain([err, 'optionalAccess', _37 => _37.message]);
|
|
2605
2687
|
};
|
|
2606
2688
|
const renderField = (field, where) => {
|
|
2607
|
-
const copy = _optionalChain([fieldCopy, 'optionalAccess',
|
|
2689
|
+
const copy = _optionalChain([fieldCopy, 'optionalAccess', _38 => _38[field.name]]);
|
|
2608
2690
|
const shown = copy ? { ...field, label: _nullishCoalesce(copy.label, () => ( field.label)), placeholder: _nullishCoalesce(copy.placeholder, () => ( field.placeholder)) } : field;
|
|
2609
2691
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2610
|
-
|
|
2692
|
+
_chunkYXDHVHB2cjs.FieldWrapper,
|
|
2611
2693
|
{
|
|
2612
2694
|
label: shown.label,
|
|
2613
2695
|
htmlFor: where.id,
|
|
2614
2696
|
required: shown.required,
|
|
2615
2697
|
error: where.error,
|
|
2616
|
-
children: FIELD_CONTROLS[shown.type]({
|
|
2698
|
+
children: (drawnAsChips(shown, _optionalChain([copy, 'optionalAccess', _39 => _39.display])) ? chipsControl : FIELD_CONTROLS[shown.type])({
|
|
2617
2699
|
field: shown,
|
|
2618
2700
|
id: where.id,
|
|
2619
2701
|
registerName: where.registerName,
|
|
@@ -2628,7 +2710,7 @@ function BookingForm({
|
|
|
2628
2710
|
const builtInFields = Object.fromEntries(
|
|
2629
2711
|
BUILT_IN_BOOKING_FIELDS.map((field) => [
|
|
2630
2712
|
field.name,
|
|
2631
|
-
renderField(field, { id: builtInId(field.name), registerName: field.name, error: _optionalChain([errors, 'access',
|
|
2713
|
+
renderField(field, { id: builtInId(field.name), registerName: field.name, error: _optionalChain([errors, 'access', _40 => _40[field.name], 'optionalAccess', _41 => _41.message]) })
|
|
2632
2714
|
])
|
|
2633
2715
|
);
|
|
2634
2716
|
const renderDeclaredField = (field) => renderField(field, {
|
|
@@ -2647,7 +2729,7 @@ function BookingForm({
|
|
|
2647
2729
|
const { rows: placedRows, unplacedBuiltIns, named: placedNames } = normalizeFieldRows(_nullishCoalesce(fieldRows, () => ( [])), slotResolves);
|
|
2648
2730
|
const unplacedFields = fieldRows ? supportedFields.filter((f) => !placedNames.has(f.name)) : [];
|
|
2649
2731
|
const submitButton = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2650
|
-
|
|
2732
|
+
_chunkTF5D5MNOcjs.Button,
|
|
2651
2733
|
{
|
|
2652
2734
|
type: "submit",
|
|
2653
2735
|
loading: isSubmitting,
|
|
@@ -2656,8 +2738,8 @@ function BookingForm({
|
|
|
2656
2738
|
children: _nullishCoalesce(submitLabel, () => ( DEFAULT_SUBMIT_LABEL))
|
|
2657
2739
|
}
|
|
2658
2740
|
);
|
|
2659
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "form", { id: formId, onSubmit: submit, className: FORM_STACK, noValidate: true, ...
|
|
2660
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2741
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "form", { id: formId, onSubmit: submit, className: FORM_STACK, noValidate: true, ..._chunk7VI7TOGIcjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS, children: [
|
|
2742
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVRDHAR3Xcjs.HoneypotField, { ...honeypotInputProps }),
|
|
2661
2743
|
fieldRows ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
2662
2744
|
placedRows.map((row) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: ROW_GRID, children: row.map((slot, slotIndex) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: slotColumnClass(row, slot, slotIndex), children: slotNode(slot.name) }, slot.name)) }, row.map((s) => s.name).join("|"))),
|
|
2663
2745
|
[...unplacedBuiltIns, ...unplacedFields].map((field) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react.Fragment, { children: slotNode(field.name) }, field.name))
|
|
@@ -2670,7 +2752,7 @@ function BookingForm({
|
|
|
2670
2752
|
supportedFields.map((field) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react.Fragment, { children: renderDeclaredField(field) }, field.name))
|
|
2671
2753
|
] }),
|
|
2672
2754
|
consent && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2673
|
-
|
|
2755
|
+
_chunkVRDHAR3Xcjs.CheckboxBlock,
|
|
2674
2756
|
{
|
|
2675
2757
|
id: "ms-host-consent",
|
|
2676
2758
|
checked: consented,
|
|
@@ -2689,7 +2771,7 @@ function BookingForm({
|
|
|
2689
2771
|
// box doesn't shove the submit button down the card. With no error the
|
|
2690
2772
|
// wrapper is `display:contents` and the panel below is the flex item,
|
|
2691
2773
|
// exactly as it was.
|
|
2692
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2774
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYXDHVHB2cjs.FieldWrapper, { error: _optionalChain([errors, 'access', _42 => _42.legalConsentResponses, 'optionalAccess', _43 => _43.message]), children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-xs)]", children: [
|
|
2693
2775
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: legalConsent.processingConsentText }),
|
|
2694
2776
|
legalConsent.communicationConsentText && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: legalConsent.communicationConsentText }),
|
|
2695
2777
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -2705,10 +2787,10 @@ function BookingForm({
|
|
|
2705
2787
|
// same block the waitlist form uses): box + label in one
|
|
2706
2788
|
// bordered row.
|
|
2707
2789
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2708
|
-
|
|
2790
|
+
_chunkVRDHAR3Xcjs.CheckboxBlock,
|
|
2709
2791
|
{
|
|
2710
2792
|
id: `ms-consent-${box.communicationTypeId}`,
|
|
2711
|
-
checked: _nullishCoalesce(_optionalChain([current, 'optionalAccess',
|
|
2793
|
+
checked: _nullishCoalesce(_optionalChain([current, 'optionalAccess', _44 => _44.consented]), () => ( false)),
|
|
2712
2794
|
onCheckedChange: (v) => rhf.onChange(
|
|
2713
2795
|
responses.map(
|
|
2714
2796
|
(r) => r.communicationTypeId === box.communicationTypeId ? { ...r, consented: v } : r
|
|
@@ -2733,24 +2815,49 @@ function BookingForm({
|
|
|
2733
2815
|
}
|
|
2734
2816
|
function BookingFormSkeleton({
|
|
2735
2817
|
fieldRows,
|
|
2818
|
+
optionalFields,
|
|
2819
|
+
fieldCopy,
|
|
2736
2820
|
consent,
|
|
2737
|
-
footerNote
|
|
2821
|
+
footerNote,
|
|
2822
|
+
submitLabel = DEFAULT_SUBMIT_LABEL
|
|
2738
2823
|
}) {
|
|
2739
|
-
|
|
2740
|
-
|
|
2741
|
-
|
|
2742
|
-
|
|
2743
|
-
|
|
2744
|
-
|
|
2745
|
-
|
|
2746
|
-
|
|
2747
|
-
|
|
2748
|
-
|
|
2749
|
-
|
|
2750
|
-
|
|
2751
|
-
|
|
2752
|
-
|
|
2753
|
-
|
|
2824
|
+
const consentId = _react.useId.call(void 0, );
|
|
2825
|
+
const submitButton = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTF5D5MNOcjs.Button, { type: "button", tabIndex: -1, className: footerNote ? SUBMIT_WIDE_CLASS : void 0, children: submitLabel });
|
|
2826
|
+
return (
|
|
2827
|
+
// Inert: the fields are the form's own controls, drawn so each is its loaded size; none takes focus.
|
|
2828
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, "flex-1", FORM_STACK), "aria-hidden": true, inert: true, children: [
|
|
2829
|
+
skeletonRows(_nullishCoalesce(fieldRows, () => ( DEFAULT_FIELD_ROWS)), optionalFields).map((row) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: ROW_GRID, children: row.map((slot, slotIndex) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2830
|
+
FieldSkeleton,
|
|
2831
|
+
{
|
|
2832
|
+
name: slot.name,
|
|
2833
|
+
fieldCopy,
|
|
2834
|
+
className: slotColumnClass(row, slot, slotIndex)
|
|
2835
|
+
},
|
|
2836
|
+
slot.name
|
|
2837
|
+
)) }, row.map((s) => s.name).join("|"))),
|
|
2838
|
+
!fieldRows && // An empty label keeps the field's own frame (`FieldWrapper` draws no label for it); the bar stands for it.
|
|
2839
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYXDHVHB2cjs.FieldWrapper, { label: "", children: [
|
|
2840
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "h6", className: "mb-1 w-40" }),
|
|
2841
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVRDHAR3Xcjs.Textarea, { tabIndex: -1 })
|
|
2842
|
+
] }),
|
|
2843
|
+
consent && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2844
|
+
_chunkVRDHAR3Xcjs.CheckboxBlock,
|
|
2845
|
+
{
|
|
2846
|
+
id: consentId,
|
|
2847
|
+
checked: false,
|
|
2848
|
+
onCheckedChange: () => {
|
|
2849
|
+
},
|
|
2850
|
+
required: true,
|
|
2851
|
+
label: consent === true ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-64 max-w-full" }) : consent.label,
|
|
2852
|
+
description: consent === true ? void 0 : consent.description
|
|
2853
|
+
}
|
|
2854
|
+
),
|
|
2855
|
+
footerNote ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: FOOTER_ROW_CLASS, children: [
|
|
2856
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: footerNote }),
|
|
2857
|
+
submitButton
|
|
2858
|
+
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: FOOTER_BARE_CLASS, children: submitButton })
|
|
2859
|
+
] })
|
|
2860
|
+
);
|
|
2754
2861
|
}
|
|
2755
2862
|
function normalizeFieldRows(fieldRows, resolves = () => true) {
|
|
2756
2863
|
const seen = /* @__PURE__ */ new Set();
|
|
@@ -2769,15 +2876,32 @@ function normalizeFieldRows(fieldRows, resolves = () => true) {
|
|
|
2769
2876
|
const unplacedBuiltIns = BUILT_IN_BOOKING_FIELDS.filter((f) => !named.has(f.name));
|
|
2770
2877
|
return { rows, unplacedBuiltIns, named };
|
|
2771
2878
|
}
|
|
2772
|
-
function skeletonRows(fieldRows) {
|
|
2773
|
-
const
|
|
2879
|
+
function skeletonRows(fieldRows, optionalFields) {
|
|
2880
|
+
const asks = (name) => !optionalFields || BUILT_IN_BOOKING_FIELDS.some((f) => f.name === name) || optionalFields.includes(name);
|
|
2881
|
+
const { rows, unplacedBuiltIns } = normalizeFieldRows(fieldRows, asks);
|
|
2774
2882
|
return [...rows, ...unplacedBuiltIns.map((f) => [{ name: f.name }])];
|
|
2775
2883
|
}
|
|
2884
|
+
function FieldSkeleton({
|
|
2885
|
+
name,
|
|
2886
|
+
fieldCopy,
|
|
2887
|
+
className
|
|
2888
|
+
}) {
|
|
2889
|
+
const builtIn = BUILT_IN_BOOKING_FIELDS.find((f) => f.name === name);
|
|
2890
|
+
const copy = _optionalChain([fieldCopy, 'optionalAccess', _45 => _45[name]]);
|
|
2891
|
+
const label = builtIn ? _nullishCoalesce(_optionalChain([copy, 'optionalAccess', _46 => _46.label]), () => ( builtIn.label)) : _optionalChain([copy, 'optionalAccess', _47 => _47.label]);
|
|
2892
|
+
return (
|
|
2893
|
+
// An empty label keeps the field's own frame; a read label is the bar under it.
|
|
2894
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYXDHVHB2cjs.FieldWrapper, { label: _nullishCoalesce(label, () => ( "")), required: _optionalChain([builtIn, 'optionalAccess', _48 => _48.required]), className, children: [
|
|
2895
|
+
label === void 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "h6", className: "mb-1 w-32" }),
|
|
2896
|
+
!builtIn && _optionalChain([copy, 'optionalAccess', _49 => _49.display]) === "chips" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: CHIP_ROW_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.UnifiedSkeleton, { variant: "default", className: _chunk65VVJSQZcjs.cn.call(void 0, _chunkVRDHAR3Xcjs.TOGGLE_SIZE_CLASS.default, "w-24 rounded-md") }) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYXDHVHB2cjs.Input, { tabIndex: -1 })
|
|
2897
|
+
] })
|
|
2898
|
+
);
|
|
2899
|
+
}
|
|
2776
2900
|
|
|
2777
2901
|
// src/components/meeting-scheduler/confirmation.tsx
|
|
2778
2902
|
|
|
2779
2903
|
function Confirmation({ confirmation, timezone }) {
|
|
2780
|
-
const when =
|
|
2904
|
+
const when = _chunkJTSUAHDLcjs.formatDateWithTimezone.call(void 0, confirmation.startTimeMs, timezone, "weekdayDateTimeZoned", {
|
|
2781
2905
|
viewerLocale: true
|
|
2782
2906
|
});
|
|
2783
2907
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-1 flex-col items-center justify-center gap-[var(--spacing-system-m)] text-center", children: [
|
|
@@ -2787,7 +2911,7 @@ function Confirmation({ confirmation, timezone }) {
|
|
|
2787
2911
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: [
|
|
2788
2912
|
when,
|
|
2789
2913
|
" \xB7 ",
|
|
2790
|
-
|
|
2914
|
+
_chunkJTSUAHDLcjs.formatDurationCompact.call(void 0, confirmation.durationMs / 1e3)
|
|
2791
2915
|
] }),
|
|
2792
2916
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: "A calendar invite is on its way to your email." })
|
|
2793
2917
|
] });
|
|
@@ -2802,31 +2926,50 @@ var STRIP_MAIN = "flex min-w-0 flex-col gap-[var(--spacing-system-l)] content-md
|
|
|
2802
2926
|
var STRIP_ASIDE = "flex flex-col gap-[var(--spacing-system-xxs)] content-md:w-[280px] content-md:shrink-0 content-lg:w-full";
|
|
2803
2927
|
var BACK_BUTTON_CLASS = "py-0";
|
|
2804
2928
|
var FIELD_LABEL_CLASS = "text-h4 text-ods-text-primary";
|
|
2929
|
+
var HOST_ROW_CLASS = "flex items-center gap-[var(--spacing-system-xs)]";
|
|
2930
|
+
var HOST_TEXT_CLASS = "flex min-w-0 flex-col";
|
|
2931
|
+
var DURATION_LINE_CLASS = "shrink-0 text-ods-text-secondary text-h6";
|
|
2932
|
+
var DURATION_FIELD_CLASS = "flex flex-col gap-[var(--spacing-system-xxs)]";
|
|
2933
|
+
var DURATION_CHIPS_CLASS = "flex flex-wrap gap-[var(--spacing-system-xs)]";
|
|
2934
|
+
var TIMEZONE_WIDE_ONLY_CLASS = "content-max-lg:hidden";
|
|
2805
2935
|
function ContextPanelSkeleton({
|
|
2806
2936
|
className,
|
|
2807
2937
|
onBack,
|
|
2808
|
-
backLabel = "Back"
|
|
2938
|
+
backLabel = "Back",
|
|
2939
|
+
title = true,
|
|
2940
|
+
description = true,
|
|
2941
|
+
durations = 0,
|
|
2942
|
+
timezone = "shown"
|
|
2809
2943
|
}) {
|
|
2810
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
2811
|
-
onBack && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2944
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, PANEL_STACK, className), children: [
|
|
2945
|
+
onBack && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZV45VS6Kcjs.BackButton, { label: backLabel, onClick: onBack, className: BACK_BUTTON_CLASS }),
|
|
2812
2946
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: STRIP_BODY, children: [
|
|
2813
|
-
/* @__PURE__ */ _jsxruntime.
|
|
2814
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
2815
|
-
/* @__PURE__ */ _jsxruntime.
|
|
2816
|
-
|
|
2817
|
-
/* @__PURE__ */ _jsxruntime.
|
|
2818
|
-
|
|
2819
|
-
|
|
2947
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: STRIP_MAIN, children: [
|
|
2948
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: IDENTITY_ROW, children: [
|
|
2949
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: HOST_ROW_CLASS, children: [
|
|
2950
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJTSUAHDLcjs.SquareAvatarSkeleton, { variant: "round", size: "sm" }),
|
|
2951
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: HOST_TEXT_CLASS, children: [
|
|
2952
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "h4", className: "w-32" }),
|
|
2953
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "h6", className: "w-24" })
|
|
2954
|
+
] })
|
|
2955
|
+
] }),
|
|
2956
|
+
durations <= 1 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "h6", className: "w-20 shrink-0" })
|
|
2820
2957
|
] }),
|
|
2821
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2822
|
-
|
|
2823
|
-
|
|
2958
|
+
title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "h3", className: "w-3/5" }),
|
|
2959
|
+
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "h6", className: "w-4/5" }),
|
|
2960
|
+
durations > 1 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: DURATION_FIELD_CLASS, children: [
|
|
2961
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: FIELD_LABEL_CLASS, children: "Duration" }),
|
|
2962
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: DURATION_CHIPS_CLASS, children: Array.from({ length: durations }, (_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.InteractiveSkeleton.Button, { size: "small-legacy", className: "w-16" }, i)) })
|
|
2963
|
+
] })
|
|
2964
|
+
] }),
|
|
2965
|
+
timezone !== "hidden" && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, STRIP_ASIDE, timezone === "wide" && TIMEZONE_WIDE_ONLY_CLASS), children: [
|
|
2824
2966
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: FIELD_LABEL_CLASS, children: "Timezone" }),
|
|
2825
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2967
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZV45VS6Kcjs.AutocompleteSkeleton, {})
|
|
2826
2968
|
] })
|
|
2827
2969
|
] })
|
|
2828
2970
|
] });
|
|
2829
2971
|
}
|
|
2972
|
+
var CONTEXT_PANEL_TYPICAL_DURATIONS = 2;
|
|
2830
2973
|
function SchedulerContextPanel({
|
|
2831
2974
|
hosts,
|
|
2832
2975
|
title,
|
|
@@ -2841,16 +2984,31 @@ function SchedulerContextPanel({
|
|
|
2841
2984
|
locked = false,
|
|
2842
2985
|
disabled = false,
|
|
2843
2986
|
showTimezone = true,
|
|
2844
|
-
className
|
|
2987
|
+
className,
|
|
2988
|
+
loading = false
|
|
2845
2989
|
}) {
|
|
2846
|
-
|
|
2847
|
-
|
|
2990
|
+
if (_chunkXFRBEXQNcjs.useLoadingScope.call(void 0, ) || loading) {
|
|
2991
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2992
|
+
ContextPanelSkeleton,
|
|
2993
|
+
{
|
|
2994
|
+
onBack,
|
|
2995
|
+
backLabel,
|
|
2996
|
+
title: title !== void 0,
|
|
2997
|
+
description: description !== void 0 && description !== null,
|
|
2998
|
+
durations: locked ? 0 : durationsMs.length || CONTEXT_PANEL_TYPICAL_DURATIONS,
|
|
2999
|
+
timezone: showTimezone ? locked ? "wide" : "shown" : "hidden",
|
|
3000
|
+
className
|
|
3001
|
+
}
|
|
3002
|
+
);
|
|
3003
|
+
}
|
|
3004
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, PANEL_STACK, className), children: [
|
|
3005
|
+
onBack && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZV45VS6Kcjs.BackButton, { label: backLabel, onClick: onBack, className: BACK_BUTTON_CLASS }),
|
|
2848
3006
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: STRIP_BODY, children: [
|
|
2849
3007
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: STRIP_MAIN, children: [
|
|
2850
3008
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: IDENTITY_ROW, children: [
|
|
2851
|
-
hosts.length > 0 && hosts.length <= 3 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-s)]", children: hosts.map((host) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
3009
|
+
hosts.length > 0 && hosts.length <= 3 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-s)]", children: hosts.map((host) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: HOST_ROW_CLASS, children: [
|
|
2852
3010
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2853
|
-
|
|
3011
|
+
_chunkJTSUAHDLcjs.SquareAvatar,
|
|
2854
3012
|
{
|
|
2855
3013
|
variant: "round",
|
|
2856
3014
|
size: "sm",
|
|
@@ -2859,13 +3017,13 @@ function SchedulerContextPanel({
|
|
|
2859
3017
|
fallback: host.name
|
|
2860
3018
|
}
|
|
2861
3019
|
),
|
|
2862
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
3020
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: HOST_TEXT_CLASS, children: [
|
|
2863
3021
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-ods-text-primary text-h4", children: host.name }),
|
|
2864
3022
|
host.title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-ods-text-secondary text-h6", children: host.title })
|
|
2865
3023
|
] })
|
|
2866
3024
|
] }, host.name)) }),
|
|
2867
3025
|
hosts.length > 3 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-xs)]", children: [
|
|
2868
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3026
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAAECWUNVcjs.AvatarStack, { people: hosts, max: 4, size: "lg", label: "Hosts" }),
|
|
2869
3027
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: [
|
|
2870
3028
|
hosts.length,
|
|
2871
3029
|
" hosts on this calendar"
|
|
@@ -2874,24 +3032,24 @@ function SchedulerContextPanel({
|
|
|
2874
3032
|
locked || durationsMs.length <= 1 ? (
|
|
2875
3033
|
// Post-selection, or a link that offers one length: a static line,
|
|
2876
3034
|
// which is what sits beside the host on the header-strip layouts.
|
|
2877
|
-
selectedDurationMs != null && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className:
|
|
2878
|
-
|
|
3035
|
+
selectedDurationMs != null && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: DURATION_LINE_CLASS, children: [
|
|
3036
|
+
_chunkJTSUAHDLcjs.formatDurationCompact.call(void 0, selectedDurationMs / 1e3),
|
|
2879
3037
|
" call"
|
|
2880
3038
|
] })
|
|
2881
3039
|
) : null
|
|
2882
3040
|
] }),
|
|
2883
3041
|
title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-primary text-h3", children: title }),
|
|
2884
3042
|
description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: description }),
|
|
2885
|
-
!locked && durationsMs.length > 1 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
3043
|
+
!locked && durationsMs.length > 1 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: DURATION_FIELD_CLASS, children: [
|
|
2886
3044
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: FIELD_LABEL_CLASS, children: "Duration" }),
|
|
2887
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className:
|
|
2888
|
-
|
|
3045
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: DURATION_CHIPS_CLASS, children: durationsMs.map((ms) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3046
|
+
_chunkTF5D5MNOcjs.Button,
|
|
2889
3047
|
{
|
|
2890
3048
|
variant: selectedDurationMs === ms ? void 0 : "outline",
|
|
2891
3049
|
size: "small-legacy",
|
|
2892
3050
|
disabled,
|
|
2893
3051
|
onClick: () => onSelectDuration(ms),
|
|
2894
|
-
children:
|
|
3052
|
+
children: _chunkJTSUAHDLcjs.formatDurationCompact.call(void 0, ms / 1e3)
|
|
2895
3053
|
},
|
|
2896
3054
|
ms
|
|
2897
3055
|
)) })
|
|
@@ -2903,18 +3061,19 @@ function SchedulerContextPanel({
|
|
|
2903
3061
|
// summary line states the zone one row below — so the fact survives,
|
|
2904
3062
|
// only the control steps aside. The 280px sidebar has the room, so
|
|
2905
3063
|
// there it stays.
|
|
2906
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
3064
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, STRIP_ASIDE, locked && TIMEZONE_WIDE_ONLY_CLASS), children: [
|
|
2907
3065
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: FIELD_LABEL_CLASS, children: "Timezone" }),
|
|
2908
|
-
|
|
2909
|
-
|
|
3066
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3067
|
+
_chunkVRDHAR3Xcjs.TimezoneSelect,
|
|
2910
3068
|
{
|
|
2911
|
-
value: timezone,
|
|
3069
|
+
value: _nullishCoalesce(timezone, () => ( null)),
|
|
3070
|
+
loading: !timezone,
|
|
2912
3071
|
disabled,
|
|
2913
3072
|
onChange: (tz) => {
|
|
2914
|
-
if (tz) _optionalChain([onTimezoneChange, 'optionalCall',
|
|
3073
|
+
if (tz) _optionalChain([onTimezoneChange, 'optionalCall', _50 => _50(tz)]);
|
|
2915
3074
|
}
|
|
2916
3075
|
}
|
|
2917
|
-
)
|
|
3076
|
+
)
|
|
2918
3077
|
] })
|
|
2919
3078
|
] })
|
|
2920
3079
|
] });
|
|
@@ -2923,22 +3082,27 @@ function SchedulerContextPanel({
|
|
|
2923
3082
|
// src/components/meeting-scheduler/modal-header.tsx
|
|
2924
3083
|
|
|
2925
3084
|
var ROW_CLASS = "border-b border-ods-border p-[var(--spacing-system-m)]";
|
|
2926
|
-
var STRIP_CLASS =
|
|
3085
|
+
var STRIP_CLASS = _chunk65VVJSQZcjs.cn.call(void 0, ROW_CLASS, "flex items-center justify-between gap-[var(--spacing-system-m)]");
|
|
2927
3086
|
var FIELD_LABEL_CLASS2 = "text-h4 text-ods-text-primary";
|
|
3087
|
+
var TIMEZONE_ROW_CLASS = _chunk65VVJSQZcjs.cn.call(void 0, ROW_CLASS, "flex flex-col gap-[var(--spacing-system-xxs)]");
|
|
3088
|
+
var HOST_LIST_CLASS = "flex min-w-0 flex-col gap-[var(--spacing-system-s)]";
|
|
3089
|
+
var HOST_ROW_CLASS2 = "flex items-center gap-[var(--spacing-system-xs)]";
|
|
3090
|
+
var HOST_TEXT_CLASS2 = "flex min-w-0 flex-col";
|
|
3091
|
+
var DURATION_LINE_CLASS2 = "shrink-0 text-ods-text-secondary text-h6";
|
|
2928
3092
|
function HostIdentity({ hosts }) {
|
|
2929
3093
|
if (hosts.length === 0) return null;
|
|
2930
3094
|
if (hosts.length > 3) {
|
|
2931
3095
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col gap-[var(--spacing-system-xxs)]", children: [
|
|
2932
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3096
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAAECWUNVcjs.AvatarStack, { people: hosts, max: 4, size: "lg", label: "Hosts" }),
|
|
2933
3097
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: [
|
|
2934
3098
|
hosts.length,
|
|
2935
3099
|
" hosts on this calendar"
|
|
2936
3100
|
] })
|
|
2937
3101
|
] });
|
|
2938
3102
|
}
|
|
2939
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className:
|
|
3103
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: HOST_LIST_CLASS, children: hosts.map((host) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: HOST_ROW_CLASS2, children: [
|
|
2940
3104
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2941
|
-
|
|
3105
|
+
_chunkJTSUAHDLcjs.SquareAvatar,
|
|
2942
3106
|
{
|
|
2943
3107
|
variant: "round",
|
|
2944
3108
|
size: "sm",
|
|
@@ -2947,7 +3111,7 @@ function HostIdentity({ hosts }) {
|
|
|
2947
3111
|
fallback: host.name
|
|
2948
3112
|
}
|
|
2949
3113
|
),
|
|
2950
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
3114
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: HOST_TEXT_CLASS2, children: [
|
|
2951
3115
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-ods-text-primary text-h4", children: host.name }),
|
|
2952
3116
|
host.title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-ods-text-secondary text-h6", children: host.title })
|
|
2953
3117
|
] })
|
|
@@ -2962,57 +3126,60 @@ function SchedulerModalHeader({
|
|
|
2962
3126
|
onTimezoneChange,
|
|
2963
3127
|
locked = false,
|
|
2964
3128
|
disabled = false,
|
|
2965
|
-
showTimezone = true
|
|
3129
|
+
showTimezone = true,
|
|
3130
|
+
loading = false
|
|
2966
3131
|
}) {
|
|
2967
3132
|
const chips = !locked && durationsMs.length > 1;
|
|
3133
|
+
if (_chunkXFRBEXQNcjs.useLoadingScope.call(void 0, ) || loading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SchedulerModalHeaderSkeleton, { showTimezone });
|
|
2968
3134
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
2969
3135
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: STRIP_CLASS, children: [
|
|
2970
3136
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, HostIdentity, { hosts }),
|
|
2971
3137
|
chips ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex shrink-0 flex-wrap justify-end gap-[var(--spacing-system-xs)]", children: durationsMs.map((ms) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2972
|
-
|
|
3138
|
+
_chunkTF5D5MNOcjs.Button,
|
|
2973
3139
|
{
|
|
2974
3140
|
variant: selectedDurationMs === ms ? void 0 : "outline",
|
|
2975
3141
|
size: "small-legacy",
|
|
2976
3142
|
disabled,
|
|
2977
3143
|
onClick: () => onSelectDuration(ms),
|
|
2978
|
-
children:
|
|
3144
|
+
children: _chunkJTSUAHDLcjs.formatDurationCompact.call(void 0, ms / 1e3)
|
|
2979
3145
|
},
|
|
2980
3146
|
ms
|
|
2981
|
-
)) }) : selectedDurationMs != null && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className:
|
|
2982
|
-
|
|
3147
|
+
)) }) : selectedDurationMs != null && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: DURATION_LINE_CLASS2, children: [
|
|
3148
|
+
_chunkJTSUAHDLcjs.formatDurationCompact.call(void 0, selectedDurationMs / 1e3),
|
|
2983
3149
|
" call"
|
|
2984
3150
|
] })
|
|
2985
3151
|
] }),
|
|
2986
|
-
showTimezone && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
3152
|
+
showTimezone && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: TIMEZONE_ROW_CLASS, children: [
|
|
2987
3153
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: FIELD_LABEL_CLASS2, children: "Timezone" }),
|
|
2988
|
-
|
|
2989
|
-
|
|
3154
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3155
|
+
_chunkVRDHAR3Xcjs.TimezoneSelect,
|
|
2990
3156
|
{
|
|
2991
3157
|
value: timezone,
|
|
3158
|
+
loading: !timezone,
|
|
2992
3159
|
disabled,
|
|
2993
3160
|
onChange: (tz) => {
|
|
2994
|
-
if (tz) _optionalChain([onTimezoneChange, 'optionalCall',
|
|
3161
|
+
if (tz) _optionalChain([onTimezoneChange, 'optionalCall', _51 => _51(tz)]);
|
|
2995
3162
|
}
|
|
2996
3163
|
}
|
|
2997
|
-
)
|
|
3164
|
+
)
|
|
2998
3165
|
] })
|
|
2999
3166
|
] });
|
|
3000
3167
|
}
|
|
3001
|
-
function SchedulerModalHeaderSkeleton() {
|
|
3168
|
+
function SchedulerModalHeaderSkeleton({ showTimezone = true } = {}) {
|
|
3002
3169
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
3003
3170
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: STRIP_CLASS, children: [
|
|
3004
|
-
/* @__PURE__ */ _jsxruntime.
|
|
3005
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3006
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
3007
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3008
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3171
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: HOST_LIST_CLASS, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: HOST_ROW_CLASS2, children: [
|
|
3172
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJTSUAHDLcjs.SquareAvatarSkeleton, { variant: "round", size: "sm" }),
|
|
3173
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: HOST_TEXT_CLASS2, children: [
|
|
3174
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "h4", className: "w-32" }),
|
|
3175
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "h6", className: "w-24" })
|
|
3009
3176
|
] })
|
|
3010
|
-
] }),
|
|
3011
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3177
|
+
] }) }),
|
|
3178
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "h6", className: _chunk65VVJSQZcjs.cn.call(void 0, DURATION_LINE_CLASS2, "w-20") })
|
|
3012
3179
|
] }),
|
|
3013
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
3180
|
+
showTimezone && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: TIMEZONE_ROW_CLASS, children: [
|
|
3014
3181
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: FIELD_LABEL_CLASS2, children: "Timezone" }),
|
|
3015
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3182
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZV45VS6Kcjs.AutocompleteSkeleton, {})
|
|
3016
3183
|
] })
|
|
3017
3184
|
] });
|
|
3018
3185
|
}
|
|
@@ -3035,13 +3202,13 @@ function dateFromDayKey(key) {
|
|
|
3035
3202
|
return new Date(y, m - 1, d, 12);
|
|
3036
3203
|
}
|
|
3037
3204
|
function timeLabelInZone(ms, timeZone) {
|
|
3038
|
-
return
|
|
3205
|
+
return _chunkJTSUAHDLcjs.formatTimeWithTimezone.call(void 0, ms, timeZone, { viewerLocale: true });
|
|
3039
3206
|
}
|
|
3040
3207
|
var CALENDAR_W = "content-md:w-[19rem] content-md:shrink-0 content-lg:w-[16rem]";
|
|
3041
3208
|
var COLUMN_HEADING_CLASS = "shrink-0 text-h4 text-ods-text-primary";
|
|
3042
3209
|
var COLUMN_STACK = "flex min-h-0 flex-col gap-[var(--spacing-system-xxs)]";
|
|
3043
3210
|
var SLOT_PICKER_HEADING = "Select Date & Time";
|
|
3044
|
-
var CHIP_GRID_CLASS =
|
|
3211
|
+
var CHIP_GRID_CLASS = _chunk65VVJSQZcjs.cn.call(void 0,
|
|
3045
3212
|
"grid grid-cols-[repeat(auto-fill,minmax(5.5rem,1fr))] content-start gap-[var(--spacing-system-xs)]",
|
|
3046
3213
|
"overflow-y-auto",
|
|
3047
3214
|
// PHONE: a stated window (~3 rows, the mock's 156px) that scrolls, rather
|
|
@@ -3064,7 +3231,7 @@ var CHIP_GRID_CLASS = _chunk3ATAYP36cjs.cn.call(void 0,
|
|
|
3064
3231
|
"min-h-0 flex-1"
|
|
3065
3232
|
);
|
|
3066
3233
|
var CHIP_CLASS = "w-full px-[var(--spacing-system-xxs)]";
|
|
3067
|
-
var SLOT_ROW_CLASS =
|
|
3234
|
+
var SLOT_ROW_CLASS = _chunk65VVJSQZcjs.cn.call(void 0,
|
|
3068
3235
|
"flex min-w-0 flex-col content-md:flex-row",
|
|
3069
3236
|
// Default `stretch` at every width, deliberately. Stacked, that is what
|
|
3070
3237
|
// makes each section span the card — an `items-start` here (it was here, to
|
|
@@ -3081,32 +3248,32 @@ var MODAL_CALENDAR_W = "content-md:w-[19rem] content-md:shrink-0";
|
|
|
3081
3248
|
var MODAL_COLUMN_BOX = "p-[var(--spacing-system-m)]";
|
|
3082
3249
|
var MODAL_COLUMN_DIVIDER = "border-b border-ods-border content-md:border-b-0 content-md:border-r";
|
|
3083
3250
|
var MODAL_TIMES_H = "content-md:h-[21.5rem]";
|
|
3084
|
-
var MODAL_CHIP_GRID_CLASS =
|
|
3251
|
+
var MODAL_CHIP_GRID_CLASS = _chunk65VVJSQZcjs.cn.call(void 0,
|
|
3085
3252
|
"grid grid-cols-4 content-start gap-[var(--spacing-system-xs)] overflow-y-auto content-md:grid-cols-1",
|
|
3086
3253
|
"max-h-[9.75rem] min-h-0 flex-1 content-md:max-h-none"
|
|
3087
3254
|
);
|
|
3088
3255
|
function monthLabelFor(offset) {
|
|
3089
3256
|
const now = /* @__PURE__ */ new Date();
|
|
3090
3257
|
const month = new Date(now.getFullYear(), now.getMonth() + offset, 1);
|
|
3091
|
-
return
|
|
3258
|
+
return _chunkJTSUAHDLcjs.formatDateWithTimezone.call(void 0, month, _chunkJTSUAHDLcjs.VIEWER_TIMEZONE, "monthYear");
|
|
3092
3259
|
}
|
|
3093
3260
|
var DISABLE_EVERY_DAY = () => true;
|
|
3094
3261
|
var NOOP = () => void 0;
|
|
3095
3262
|
function DayCalendar({ monthOffset, onMonthOffsetChange, selectedDay, onSelectDay, slotsByDay }) {
|
|
3096
3263
|
const now = /* @__PURE__ */ new Date();
|
|
3097
3264
|
const startMonth = new Date(now.getFullYear(), now.getMonth(), 1);
|
|
3098
|
-
const endMonth = new Date(now.getFullYear(), now.getMonth() +
|
|
3265
|
+
const endMonth = new Date(now.getFullYear(), now.getMonth() + _chunk7VI7TOGIcjs.MAX_MONTH_OFFSET + 1, 0);
|
|
3099
3266
|
const visibleMonth = new Date(now.getFullYear(), now.getMonth() + monthOffset, 1);
|
|
3100
|
-
const dayHasNoSlots = _react.useCallback.call(void 0, (day) => !_optionalChain([slotsByDay, 'optionalAccess',
|
|
3267
|
+
const dayHasNoSlots = _react.useCallback.call(void 0, (day) => !_optionalChain([slotsByDay, 'optionalAccess', _52 => _52.has, 'call', _53 => _53(calendarDayKey(day))]), [slotsByDay]);
|
|
3101
3268
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-h-0 flex-1 flex-col", "aria-busy": slotsByDay === null, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3102
|
-
|
|
3269
|
+
_chunkVRDHAR3Xcjs.DatePickerCalendar,
|
|
3103
3270
|
{
|
|
3104
3271
|
mode: "single",
|
|
3105
3272
|
bare: true,
|
|
3106
3273
|
month: visibleMonth,
|
|
3107
3274
|
onMonthChange: (month) => {
|
|
3108
3275
|
const offset = (month.getFullYear() - now.getFullYear()) * 12 + (month.getMonth() - now.getMonth());
|
|
3109
|
-
onMonthOffsetChange(Math.max(0, Math.min(
|
|
3276
|
+
onMonthOffsetChange(Math.max(0, Math.min(_chunk7VI7TOGIcjs.MAX_MONTH_OFFSET, offset)));
|
|
3110
3277
|
},
|
|
3111
3278
|
fromDate: startMonth,
|
|
3112
3279
|
toDate: endMonth,
|
|
@@ -3115,7 +3282,7 @@ function DayCalendar({ monthOffset, onMonthOffsetChange, selectedDay, onSelectDa
|
|
|
3115
3282
|
const day = value;
|
|
3116
3283
|
if (!day) return;
|
|
3117
3284
|
const key = calendarDayKey(day);
|
|
3118
|
-
if (_optionalChain([slotsByDay, 'optionalAccess',
|
|
3285
|
+
if (_optionalChain([slotsByDay, 'optionalAccess', _54 => _54.has, 'call', _55 => _55(key)])) onSelectDay(key);
|
|
3119
3286
|
},
|
|
3120
3287
|
disabledDays: slotsByDay === null ? DISABLE_EVERY_DAY : dayHasNoSlots
|
|
3121
3288
|
}
|
|
@@ -3130,7 +3297,7 @@ function SlotPickerSkeleton({
|
|
|
3130
3297
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
3131
3298
|
"div",
|
|
3132
3299
|
{
|
|
3133
|
-
className: modal ?
|
|
3300
|
+
className: modal ? _chunk65VVJSQZcjs.cn.call(void 0, COLUMN_STACK, MODAL_COLUMN_BOX, MODAL_COLUMN_DIVIDER, MODAL_CALENDAR_W) : _chunk65VVJSQZcjs.cn.call(void 0, COLUMN_STACK, COLUMN_BOX, COLUMN_DIVIDER, CALENDAR_W, "content-md:overflow-y-auto"),
|
|
3134
3301
|
children: [
|
|
3135
3302
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: COLUMN_HEADING_CLASS, children: SLOT_PICKER_HEADING }),
|
|
3136
3303
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -3149,18 +3316,18 @@ function SlotPickerSkeleton({
|
|
|
3149
3316
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3150
3317
|
"div",
|
|
3151
3318
|
{
|
|
3152
|
-
className: modal ?
|
|
3153
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TimeChipsSkeleton, {})
|
|
3319
|
+
className: modal ? _chunk65VVJSQZcjs.cn.call(void 0, COLUMN_STACK, MODAL_COLUMN_BOX, MODAL_TIMES_H, "min-w-0 content-md:flex-1") : _chunk65VVJSQZcjs.cn.call(void 0, COLUMN_STACK, COLUMN_BOX, "min-w-0 content-md:flex-1"),
|
|
3320
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TimeChipsSkeleton, { layout })
|
|
3154
3321
|
}
|
|
3155
3322
|
)
|
|
3156
3323
|
] });
|
|
3157
3324
|
}
|
|
3158
|
-
function TimeChipsSkeleton() {
|
|
3325
|
+
function TimeChipsSkeleton({ layout = "card" } = {}) {
|
|
3159
3326
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
3160
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: COLUMN_HEADING_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3161
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: CHIP_GRID_CLASS, children: Array.from({ length: 16 }, (_, i) => (
|
|
3327
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: COLUMN_HEADING_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "h4", className: "w-40" }) }),
|
|
3328
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: layout === "modal" ? MODAL_CHIP_GRID_CLASS : CHIP_GRID_CLASS, children: Array.from({ length: 16 }, (_, i) => (
|
|
3162
3329
|
// h-11 content-md:h-12 — the loaded chip's own default-size height.
|
|
3163
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3330
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.UnifiedSkeleton, { className: _chunk65VVJSQZcjs.cn.call(void 0, CHIP_CLASS, "h-11 content-md:h-12") }, i)
|
|
3164
3331
|
)) })
|
|
3165
3332
|
] });
|
|
3166
3333
|
}
|
|
@@ -3175,10 +3342,13 @@ function SlotPicker({
|
|
|
3175
3342
|
selectedDay,
|
|
3176
3343
|
onSelectDay,
|
|
3177
3344
|
isLoading = false,
|
|
3178
|
-
isSubmitting = false
|
|
3345
|
+
isSubmitting = false,
|
|
3346
|
+
loading = false
|
|
3179
3347
|
}) {
|
|
3348
|
+
const inScope = _chunkXFRBEXQNcjs.useLoadingScope.call(void 0, ) || loading;
|
|
3180
3349
|
const slotsByDay = _react.useMemo.call(void 0, () => {
|
|
3181
3350
|
const map = /* @__PURE__ */ new Map();
|
|
3351
|
+
if (timezone == null) return map;
|
|
3182
3352
|
for (const ms of slots) {
|
|
3183
3353
|
const key = dayKeyInZone(ms, timezone);
|
|
3184
3354
|
const list = _nullishCoalesce(map.get(key), () => ( []));
|
|
@@ -3196,11 +3366,12 @@ function SlotPicker({
|
|
|
3196
3366
|
const monthPrefix = `${visibleMonth.getFullYear()}-${String(visibleMonth.getMonth() + 1).padStart(2, "0")}`;
|
|
3197
3367
|
const monthHasSlots = [...slotsByDay.keys()].some((key) => key.startsWith(monthPrefix));
|
|
3198
3368
|
const modal = layout === "modal";
|
|
3369
|
+
if (inScope || timezone == null) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SlotPickerSkeleton, { monthOffset, layout });
|
|
3199
3370
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: modal ? MODAL_ROW_CLASS : SLOT_ROW_CLASS, children: [
|
|
3200
3371
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
3201
3372
|
"div",
|
|
3202
3373
|
{
|
|
3203
|
-
className: modal ?
|
|
3374
|
+
className: modal ? _chunk65VVJSQZcjs.cn.call(void 0, COLUMN_STACK, MODAL_COLUMN_BOX, MODAL_COLUMN_DIVIDER, MODAL_CALENDAR_W) : _chunk65VVJSQZcjs.cn.call(void 0, COLUMN_STACK, COLUMN_BOX, COLUMN_DIVIDER, CALENDAR_W, "content-md:overflow-y-auto"),
|
|
3204
3375
|
children: [
|
|
3205
3376
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: COLUMN_HEADING_CLASS, children: SLOT_PICKER_HEADING }),
|
|
3206
3377
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -3219,13 +3390,13 @@ function SlotPicker({
|
|
|
3219
3390
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3220
3391
|
"div",
|
|
3221
3392
|
{
|
|
3222
|
-
className: modal ?
|
|
3223
|
-
children: isLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TimeChipsSkeleton, {}) : selectedDay ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
3224
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: COLUMN_HEADING_CLASS, children:
|
|
3393
|
+
className: modal ? _chunk65VVJSQZcjs.cn.call(void 0, COLUMN_STACK, MODAL_COLUMN_BOX, MODAL_TIMES_H, "min-w-0 content-md:flex-1") : _chunk65VVJSQZcjs.cn.call(void 0, COLUMN_STACK, COLUMN_BOX, "min-w-0 content-md:flex-1"),
|
|
3394
|
+
children: isLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TimeChipsSkeleton, { layout }) : selectedDay ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
3395
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: COLUMN_HEADING_CLASS, children: _chunkJTSUAHDLcjs.formatDateWithTimezone.call(void 0, dateFromDayKey(selectedDay), _chunkJTSUAHDLcjs.VIEWER_TIMEZONE, "weekday", { viewerLocale: true }) }),
|
|
3225
3396
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: modal ? MODAL_CHIP_GRID_CLASS : CHIP_GRID_CLASS, children: daySlots.map((ms) => {
|
|
3226
3397
|
const isSelected = selectedSlot === ms;
|
|
3227
3398
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3228
|
-
|
|
3399
|
+
_chunkTF5D5MNOcjs.Button,
|
|
3229
3400
|
{
|
|
3230
3401
|
variant: isSelected ? void 0 : "outline",
|
|
3231
3402
|
disabled: isSubmitting,
|
|
@@ -3250,8 +3421,8 @@ function SlotPicker({
|
|
|
3250
3421
|
monthLabelFor(monthOffset),
|
|
3251
3422
|
"."
|
|
3252
3423
|
] }),
|
|
3253
|
-
monthOffset <
|
|
3254
|
-
|
|
3424
|
+
monthOffset < _chunk7VI7TOGIcjs.MAX_MONTH_OFFSET && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
3425
|
+
_chunkTF5D5MNOcjs.Button,
|
|
3255
3426
|
{
|
|
3256
3427
|
variant: "outline",
|
|
3257
3428
|
onClick: () => onMonthOffsetChange(monthOffset + 1),
|
|
@@ -3274,12 +3445,22 @@ function SlotPicker({
|
|
|
3274
3445
|
|
|
3275
3446
|
|
|
3276
3447
|
function useNextAvailableLabel(ms) {
|
|
3277
|
-
const hydrated =
|
|
3448
|
+
const hydrated = _chunkYL6ZB2SRcjs.useIsHydrated.call(void 0, );
|
|
3278
3449
|
return _react.useMemo.call(void 0, () => {
|
|
3279
3450
|
if (!hydrated || ms == null) return null;
|
|
3280
|
-
return
|
|
3451
|
+
return _chunkJTSUAHDLcjs.formatDateWithTimezone.call(void 0, ms, _chunkJTSUAHDLcjs.VIEWER_TIMEZONE, "shortWeekdayDateTime", { viewerLocale: true }) || null;
|
|
3281
3452
|
}, [hydrated, ms]);
|
|
3282
3453
|
}
|
|
3454
|
+
var PAGINATION_SLOT_H = "h-[4.5rem]";
|
|
3455
|
+
var MEETING_DIRECTORY_PAGE_SIZE = 6;
|
|
3456
|
+
var directoryRowsMinHeight = (pageSize) => pageSize * 80 + (pageSize - 1) * 16;
|
|
3457
|
+
var ROW_FRAME_CLASS = "flex min-h-20 w-full items-center gap-4 rounded-lg border border-ods-border bg-ods-card px-4 py-3";
|
|
3458
|
+
var ROW_TITLE_COLUMN_CLASS = "flex min-w-0 flex-1 flex-col justify-center text-left";
|
|
3459
|
+
var ROW_NEXT_COLUMN_CLASS = "hidden w-44 shrink-0 flex-col items-end justify-center content-md:flex";
|
|
3460
|
+
var ROW_NEXT_LABEL_CLASS = "text-ods-text-secondary text-h6";
|
|
3461
|
+
var ROW_CHEVRON_CLASS = "flex size-12 shrink-0 items-center justify-center rounded-md border border-ods-border bg-ods-card";
|
|
3462
|
+
var ROWS_CLASS = "flex w-full flex-col gap-4";
|
|
3463
|
+
var PAGINATION_SLOT_CLASS = "mt-8 flex w-full items-center justify-center";
|
|
3283
3464
|
function DirectoryRow({
|
|
3284
3465
|
link,
|
|
3285
3466
|
audienceLabel,
|
|
@@ -3288,7 +3469,7 @@ function DirectoryRow({
|
|
|
3288
3469
|
const nextLabel = useNextAvailableLabel(link.nextAvailableMs);
|
|
3289
3470
|
const subtitle = [
|
|
3290
3471
|
link.description,
|
|
3291
|
-
link.durationsMinutes.length > 0 ? link.durationsMinutes.map((m) =>
|
|
3472
|
+
link.durationsMinutes.length > 0 ? link.durationsMinutes.map((m) => _chunkJTSUAHDLcjs.formatDurationCompact.call(void 0, m * 60)).join(" / ") : null,
|
|
3292
3473
|
link.kind === "team" ? "Team" : null
|
|
3293
3474
|
].filter(Boolean).join(" \u2022 ");
|
|
3294
3475
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -3297,43 +3478,51 @@ function DirectoryRow({
|
|
|
3297
3478
|
href: `${bookingBasePath}/${link.slug}`,
|
|
3298
3479
|
prefetch: false,
|
|
3299
3480
|
className: "block rounded-lg text-inherit no-underline focus:outline-none focus-visible:ring-2 focus-visible:ring-ods-accent",
|
|
3300
|
-
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
3301
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
3481
|
+
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, ROW_FRAME_CLASS, "transition-colors duration-150 hover:bg-ods-bg-hover"), children: [
|
|
3482
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: ROW_TITLE_COLUMN_CLASS, children: [
|
|
3302
3483
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-ods-text-primary text-h3", children: link.title }),
|
|
3303
3484
|
subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-ods-text-secondary text-h6", children: subtitle })
|
|
3304
3485
|
] }),
|
|
3305
|
-
audienceLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3306
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3307
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
3308
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className:
|
|
3486
|
+
audienceLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDGNBXZXTcjs.StatusBadge, { text: `For ${audienceLabel}`, singleLine: true, className: "hidden shrink-0 content-sm:inline-flex" }),
|
|
3487
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAAECWUNVcjs.AvatarStack, { people: link.hosts, max: 3, size: "md", label: "Hosts", className: "flex shrink-0" }),
|
|
3488
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: ROW_NEXT_COLUMN_CLASS, children: [
|
|
3489
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: ROW_NEXT_LABEL_CLASS, children: "Next available" }),
|
|
3309
3490
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "min-h-5 text-ods-text-primary text-h6", children: link.nextAvailableMs == null ? "No times published" : _nullishCoalesce(nextLabel, () => ( " ")) })
|
|
3310
3491
|
] }),
|
|
3311
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
3492
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: ROW_CHEVRON_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRight, { className: "size-6 text-ods-text-secondary" }) })
|
|
3312
3493
|
] })
|
|
3313
3494
|
}
|
|
3314
3495
|
);
|
|
3315
3496
|
}
|
|
3316
3497
|
function MeetingSchedulerDirectoryRowSkeleton() {
|
|
3317
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "
|
|
3318
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
3319
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3320
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3498
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: ROW_FRAME_CLASS, "aria-hidden": true, children: [
|
|
3499
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: ROW_TITLE_COLUMN_CLASS, children: [
|
|
3500
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "h3", className: "w-1/2" }),
|
|
3501
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "h6", className: "w-1/3" })
|
|
3321
3502
|
] }),
|
|
3322
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3323
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3324
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
3325
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3326
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3503
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.UnifiedSkeleton, { className: "hidden h-6 w-28 shrink-0 content-sm:block" }),
|
|
3504
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.UnifiedSkeleton, { className: "h-10 w-10 shrink-0 rounded-full" }),
|
|
3505
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: ROW_NEXT_COLUMN_CLASS, children: [
|
|
3506
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: ROW_NEXT_LABEL_CLASS, children: "Next available" }),
|
|
3507
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "h6", className: "w-32" })
|
|
3327
3508
|
] }),
|
|
3328
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3509
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: ROW_CHEVRON_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRight, { className: "size-6 text-ods-text-secondary" }) })
|
|
3510
|
+
] });
|
|
3511
|
+
}
|
|
3512
|
+
function MeetingSchedulerDirectorySkeleton({
|
|
3513
|
+
pageSize = MEETING_DIRECTORY_PAGE_SIZE,
|
|
3514
|
+
className
|
|
3515
|
+
}) {
|
|
3516
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, "flex flex-col", className), "aria-hidden": true, children: [
|
|
3517
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: ROWS_CLASS, style: { minHeight: directoryRowsMinHeight(pageSize) }, children: Array.from({ length: pageSize }, (_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MeetingSchedulerDirectoryRowSkeleton, {}, i)) }),
|
|
3518
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, PAGINATION_SLOT_CLASS, PAGINATION_SLOT_H), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZRDMGMY7cjs.PaginationSkeleton, {}) })
|
|
3329
3519
|
] });
|
|
3330
3520
|
}
|
|
3331
|
-
var PAGINATION_SLOT_H = "h-[4.5rem]";
|
|
3332
3521
|
function MeetingSchedulerDirectory({
|
|
3333
3522
|
apiBaseUrl = "",
|
|
3334
3523
|
initialData = null,
|
|
3335
3524
|
includeAll = false,
|
|
3336
|
-
pageSize =
|
|
3525
|
+
pageSize = MEETING_DIRECTORY_PAGE_SIZE,
|
|
3337
3526
|
bookingBasePath = "/schedule-a-call",
|
|
3338
3527
|
contactHref,
|
|
3339
3528
|
className
|
|
@@ -3342,8 +3531,9 @@ function MeetingSchedulerDirectory({
|
|
|
3342
3531
|
const [isLoading, setIsLoading] = _react.useState.call(void 0, initialData === null);
|
|
3343
3532
|
const [error, setError] = _react.useState.call(void 0, null);
|
|
3344
3533
|
const [page, setPage] = _react.useState.call(void 0, 1);
|
|
3534
|
+
const inScope = _chunkXFRBEXQNcjs.useLoadingScope.call(void 0, );
|
|
3345
3535
|
_react.useEffect.call(void 0, () => {
|
|
3346
|
-
if (initialData !== null) return void 0;
|
|
3536
|
+
if (initialData !== null || inScope) return void 0;
|
|
3347
3537
|
const controller = new AbortController();
|
|
3348
3538
|
let active = true;
|
|
3349
3539
|
const load = async () => {
|
|
@@ -3367,23 +3557,20 @@ function MeetingSchedulerDirectory({
|
|
|
3367
3557
|
active = false;
|
|
3368
3558
|
controller.abort();
|
|
3369
3559
|
};
|
|
3370
|
-
}, [initialData, includeAll, apiBaseUrl]);
|
|
3560
|
+
}, [initialData, inScope, includeAll, apiBaseUrl]);
|
|
3371
3561
|
const rows = _react.useMemo.call(void 0, () => {
|
|
3372
|
-
const purposes = _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
3562
|
+
const purposes = _nullishCoalesce(_optionalChain([data, 'optionalAccess', _56 => _56.purposes]), () => ( []));
|
|
3373
3563
|
return purposes.flatMap((p) => p.links.map((link) => ({ link, audienceLabel: p.label })));
|
|
3374
3564
|
}, [data]);
|
|
3375
3565
|
const totalPages = _chunkBLH2SFOOcjs.pageCount.call(void 0, rows.length, pageSize);
|
|
3376
3566
|
const pageRows = rows.slice((page - 1) * pageSize, page * pageSize);
|
|
3377
|
-
const rowsMinHeight =
|
|
3378
|
-
if (isLoading && !data) {
|
|
3379
|
-
return /* @__PURE__ */ _jsxruntime.
|
|
3380
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full flex-col gap-4", style: { minHeight: rowsMinHeight }, children: Array.from({ length: pageSize }, (_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MeetingSchedulerDirectoryRowSkeleton, {}, i)) }),
|
|
3381
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "mt-8 flex w-full items-center justify-center", PAGINATION_SLOT_H), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { className: "h-10 w-64" }) })
|
|
3382
|
-
] });
|
|
3567
|
+
const rowsMinHeight = directoryRowsMinHeight(pageSize);
|
|
3568
|
+
if (inScope || isLoading && !data) {
|
|
3569
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MeetingSchedulerDirectorySkeleton, { pageSize, className });
|
|
3383
3570
|
}
|
|
3384
3571
|
if (error) {
|
|
3385
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className:
|
|
3386
|
-
|
|
3572
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, "flex flex-col justify-center", className), style: { minHeight: rowsMinHeight + 104 }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3573
|
+
_chunkYRFWOJF4cjs.EmptyState,
|
|
3387
3574
|
{
|
|
3388
3575
|
type: "generic",
|
|
3389
3576
|
title: "We couldn't load available call times",
|
|
@@ -3393,8 +3580,8 @@ function MeetingSchedulerDirectory({
|
|
|
3393
3580
|
) });
|
|
3394
3581
|
}
|
|
3395
3582
|
if (rows.length === 0) {
|
|
3396
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className:
|
|
3397
|
-
|
|
3583
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, "flex flex-col justify-center", className), style: { minHeight: rowsMinHeight + 104 }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3584
|
+
_chunkYRFWOJF4cjs.EmptyState,
|
|
3398
3585
|
{
|
|
3399
3586
|
type: "generic",
|
|
3400
3587
|
title: "No call times are published right now",
|
|
@@ -3403,10 +3590,10 @@ function MeetingSchedulerDirectory({
|
|
|
3403
3590
|
}
|
|
3404
3591
|
) });
|
|
3405
3592
|
}
|
|
3406
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
3407
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className:
|
|
3408
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className:
|
|
3409
|
-
|
|
3593
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, "flex flex-col", className), children: [
|
|
3594
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: ROWS_CLASS, style: { minHeight: rowsMinHeight }, children: pageRows.map(({ link, audienceLabel }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DirectoryRow, { link, audienceLabel, bookingBasePath }, link.id)) }),
|
|
3595
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, PAGINATION_SLOT_CLASS, PAGINATION_SLOT_H), children: totalPages > 1 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3596
|
+
_chunkNBVZIHGScjs.PersistentPaginationWrapper,
|
|
3410
3597
|
{
|
|
3411
3598
|
isLoading,
|
|
3412
3599
|
currentPage: page,
|
|
@@ -3430,7 +3617,7 @@ var BOOKING_ERROR_COPY = {
|
|
|
3430
3617
|
var CONTEXT_PANEL_CLASS = "p-[var(--spacing-system-l)] shrink-0 content-lg:w-[280px] border-b content-lg:border-b-0 content-lg:border-r border-ods-border content-lg:min-h-0 content-lg:overflow-y-auto";
|
|
3431
3618
|
var ACTION_PANEL_CLASS = "flex-1 min-w-0 flex flex-col content-md:min-h-0 content-lg:p-[var(--spacing-system-l)]";
|
|
3432
3619
|
var PANEL_STEP_CLASS = "p-[var(--spacing-system-l)] content-md:min-h-0 content-md:overflow-y-auto content-lg:p-0";
|
|
3433
|
-
var STEP_PANEL_CLASS =
|
|
3620
|
+
var STEP_PANEL_CLASS = _chunk65VVJSQZcjs.cn.call(void 0, "flex flex-1 flex-col", PANEL_STEP_CLASS);
|
|
3434
3621
|
var MEETING_SCHEDULER_H = "content-md:h-[34.375rem] content-lg:h-[23.75rem]";
|
|
3435
3622
|
var MEETING_SCHEDULER_DETAILS_FIRST_H = "h-[50.75rem] content-md:h-[39.875rem]";
|
|
3436
3623
|
var DEFAULT_SCHEDULER_FLOW = "slot-first";
|
|
@@ -3443,7 +3630,7 @@ var SCHEDULER_FLOW_PRESETS = {
|
|
|
3443
3630
|
footerNote: "Next step: pick a slot that works. Calendar invite lands right after."
|
|
3444
3631
|
}
|
|
3445
3632
|
};
|
|
3446
|
-
var CARD_CLASS =
|
|
3633
|
+
var CARD_CLASS = _chunk65VVJSQZcjs.cn.call(void 0,
|
|
3447
3634
|
"overflow-hidden rounded-md border border-ods-border bg-ods-card",
|
|
3448
3635
|
"content-md:flex content-md:flex-col"
|
|
3449
3636
|
// The height is NOT baked in any more: it is chosen per flow at each render
|
|
@@ -3451,7 +3638,7 @@ var CARD_CLASS = _chunk3ATAYP36cjs.cn.call(void 0,
|
|
|
3451
3638
|
// constants are module scope.
|
|
3452
3639
|
);
|
|
3453
3640
|
var CARD_INNER_CLASS = "flex flex-col content-md:min-h-0 content-md:flex-1 content-lg:h-full content-lg:flex-row";
|
|
3454
|
-
var CARD_DEGRADED_CLASS =
|
|
3641
|
+
var CARD_DEGRADED_CLASS = _chunk65VVJSQZcjs.cn.call(void 0,
|
|
3455
3642
|
"flex flex-col items-start gap-[var(--spacing-system-m)] rounded-md border border-ods-border bg-ods-card p-[var(--spacing-system-lf)]",
|
|
3456
3643
|
"content-md:justify-center content-md:overflow-y-auto"
|
|
3457
3644
|
);
|
|
@@ -3462,7 +3649,7 @@ function SchedulerDegradedCard({
|
|
|
3462
3649
|
action,
|
|
3463
3650
|
children
|
|
3464
3651
|
}) {
|
|
3465
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
3652
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, CARD_DEGRADED_CLASS, SCHEDULER_FLOW_PRESETS[flow].height, className), children: [
|
|
3466
3653
|
message && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: message }),
|
|
3467
3654
|
action,
|
|
3468
3655
|
children
|
|
@@ -3481,14 +3668,35 @@ var MODAL_STACK_CLASS = "flex flex-col gap-[var(--spacing-system-l)]";
|
|
|
3481
3668
|
var MODAL_CARD_CLASS = "flex flex-col overflow-hidden rounded-md border border-ods-border bg-ods-card";
|
|
3482
3669
|
var MODAL_STEP_CLASS = "flex flex-col p-[var(--spacing-system-m)]";
|
|
3483
3670
|
var NOOP2 = () => void 0;
|
|
3671
|
+
var NOOP_SUBMIT = () => Promise.resolve();
|
|
3484
3672
|
var MODAL_FIELD_ROWS = [[{ name: "firstName" }, { name: "lastName" }], [{ name: "email" }]];
|
|
3485
3673
|
var MODAL_PRIMARY_CLASS = "flex-1 content-md:min-w-[15.5rem] content-md:flex-none";
|
|
3486
3674
|
function ModalFooter({ onCancel, primary }) {
|
|
3487
3675
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-[var(--spacing-system-l)] content-md:justify-end", children: [
|
|
3488
|
-
onCancel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3676
|
+
onCancel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTF5D5MNOcjs.Button, { variant: "outline", onClick: onCancel, className: "flex-1 content-md:hidden", children: "Cancel" }),
|
|
3489
3677
|
primary
|
|
3490
3678
|
] });
|
|
3491
3679
|
}
|
|
3680
|
+
function schedulerCardClasses(flow, step, className) {
|
|
3681
|
+
const detailsFirst = flow === "details-first";
|
|
3682
|
+
const formOnly = detailsFirst && step === "details";
|
|
3683
|
+
const boxed = !formOnly;
|
|
3684
|
+
return {
|
|
3685
|
+
formOnly,
|
|
3686
|
+
cardClass: _chunk65VVJSQZcjs.cn.call(void 0,
|
|
3687
|
+
CARD_CLASS,
|
|
3688
|
+
boxed ? SCHEDULER_FLOW_PRESETS[flow].height : "content-md:h-auto",
|
|
3689
|
+
detailsFirst && "flex flex-col",
|
|
3690
|
+
formOnly && "bg-ods-bg",
|
|
3691
|
+
className
|
|
3692
|
+
),
|
|
3693
|
+
/** details-first states a height on phones too (see MEETING_SCHEDULER_DETAILS_FIRST_H), so
|
|
3694
|
+
* the wrappers that let content shrink into a stated height run at every width there. */
|
|
3695
|
+
innerClass: _chunk65VVJSQZcjs.cn.call(void 0, CARD_INNER_CLASS, detailsFirst && boxed && "min-h-0 flex-1"),
|
|
3696
|
+
actionPanelClass: _chunk65VVJSQZcjs.cn.call(void 0, ACTION_PANEL_CLASS, detailsFirst && boxed && "min-h-0 overflow-y-auto"),
|
|
3697
|
+
stepPanelClass: _chunk65VVJSQZcjs.cn.call(void 0, STEP_PANEL_CLASS, detailsFirst && boxed && "min-h-0 overflow-y-auto")
|
|
3698
|
+
};
|
|
3699
|
+
}
|
|
3492
3700
|
function HubSpotMeetingScheduler({
|
|
3493
3701
|
meetingId,
|
|
3494
3702
|
apiBaseUrl = "",
|
|
@@ -3519,11 +3727,13 @@ function HubSpotMeetingScheduler({
|
|
|
3519
3727
|
book,
|
|
3520
3728
|
isSubmitting
|
|
3521
3729
|
} = useMeetingBooking({ meetingId, apiBaseUrl, initialAvailability });
|
|
3730
|
+
const inScope = _chunkXFRBEXQNcjs.useLoadingScope.call(void 0, );
|
|
3731
|
+
const coldStart = inScope || isLoadingAvailability && !availability;
|
|
3522
3732
|
const detailsFirst = flow === "details-first";
|
|
3523
3733
|
const modal = layout === "modal" && !detailsFirst;
|
|
3524
3734
|
const modalFormId = _react.useId.call(void 0, );
|
|
3525
3735
|
const [modalFormValid, setModalFormValid] = _react.useState.call(void 0, false);
|
|
3526
|
-
const hydrated =
|
|
3736
|
+
const hydrated = _chunkYL6ZB2SRcjs.useIsHydrated.call(void 0, );
|
|
3527
3737
|
const [pickedTimezone, setTimezone] = _react.useState.call(void 0, null);
|
|
3528
3738
|
const resolvedLocalTimezone = _react.useMemo.call(void 0, () => {
|
|
3529
3739
|
if (!hydrated) return null;
|
|
@@ -3536,14 +3746,15 @@ function HubSpotMeetingScheduler({
|
|
|
3536
3746
|
const timezone = _nullishCoalesce(_nullishCoalesce(pickedTimezone, () => ( displayTimezone)), () => ( resolvedLocalTimezone));
|
|
3537
3747
|
const preset = SCHEDULER_FLOW_PRESETS[flow];
|
|
3538
3748
|
const [step, setStep] = _react.useState.call(void 0, preset.initialStep);
|
|
3539
|
-
const stage = !
|
|
3749
|
+
const stage = !coldStart && (Boolean(availabilityError) || !availability || !isNativelyBookable(availability)) ? "unavailable" : step;
|
|
3540
3750
|
const onStageChangeRef = _react.useRef.call(void 0, onStageChange);
|
|
3541
3751
|
_react.useEffect.call(void 0, () => {
|
|
3542
3752
|
onStageChangeRef.current = onStageChange;
|
|
3543
3753
|
});
|
|
3544
3754
|
_react.useEffect.call(void 0, () => {
|
|
3545
|
-
|
|
3546
|
-
|
|
3755
|
+
if (inScope) return;
|
|
3756
|
+
_optionalChain([onStageChangeRef, 'access', _57 => _57.current, 'optionalCall', _58 => _58(stage)]);
|
|
3757
|
+
}, [stage, inScope]);
|
|
3547
3758
|
const [stash, setStash] = _react.useState.call(void 0, null);
|
|
3548
3759
|
const inFlightRef = _react.useRef.call(void 0, false);
|
|
3549
3760
|
const postInFlight = _react.useCallback.call(void 0,
|
|
@@ -3556,8 +3767,8 @@ function HubSpotMeetingScheduler({
|
|
|
3556
3767
|
const [selectedSlot, setSelectedSlot] = _react.useState.call(void 0, null);
|
|
3557
3768
|
const [confirmation, setConfirmation] = _react.useState.call(void 0, null);
|
|
3558
3769
|
const [bookingError, setBookingError] = _react.useState.call(void 0, null);
|
|
3559
|
-
const { honeypotInputProps, getSignals, resetSignals } =
|
|
3560
|
-
const { toast } =
|
|
3770
|
+
const { honeypotInputProps, getSignals, resetSignals } = _chunkXVFM6SJAcjs.useHumanitySignals.call(void 0, );
|
|
3771
|
+
const { toast } = _chunkXVFM6SJAcjs.useToast.call(void 0, );
|
|
3561
3772
|
const autoAdvanceCount = _react.useRef.call(void 0, 0);
|
|
3562
3773
|
const [machineFor, setMachineFor] = _react.useState.call(void 0, meetingId);
|
|
3563
3774
|
if (machineFor !== meetingId) {
|
|
@@ -3573,8 +3784,8 @@ function HubSpotMeetingScheduler({
|
|
|
3573
3784
|
_react.useEffect.call(void 0, () => {
|
|
3574
3785
|
autoAdvanceCount.current = 0;
|
|
3575
3786
|
}, [meetingId]);
|
|
3576
|
-
const durations = _react.useMemo.call(void 0, () => _nullishCoalesce(_optionalChain([availability, 'optionalAccess',
|
|
3577
|
-
const shownHosts = _nullishCoalesce(_nullishCoalesce(hosts, () => ( _optionalChain([availability, 'optionalAccess',
|
|
3787
|
+
const durations = _react.useMemo.call(void 0, () => _nullishCoalesce(_optionalChain([availability, 'optionalAccess', _59 => _59.durationsMs]), () => ( [])), [_optionalChain([availability, 'optionalAccess', _60 => _60.durationsMs])]);
|
|
3788
|
+
const shownHosts = _nullishCoalesce(_nullishCoalesce(hosts, () => ( _optionalChain([availability, 'optionalAccess', _61 => _61.hosts]))), () => ( []));
|
|
3578
3789
|
const durationMs = _nullishCoalesce(_nullishCoalesce(pickedDurationMs, () => ( durations[0])), () => ( null));
|
|
3579
3790
|
const slots = _react.useMemo.call(void 0, () => {
|
|
3580
3791
|
if (!availability || durationMs == null) return [];
|
|
@@ -3631,10 +3842,10 @@ function HubSpotMeetingScheduler({
|
|
|
3631
3842
|
return;
|
|
3632
3843
|
}
|
|
3633
3844
|
if (result.ok && result.confirmation) {
|
|
3634
|
-
|
|
3845
|
+
_chunkXVFM6SJAcjs.completeFormRescue.call(void 0, rescue, payload[_chunkTZ4GKUO2cjs.FORM_RESCUE_ATTEMPT_FIELD]);
|
|
3635
3846
|
setConfirmation(result.confirmation);
|
|
3636
3847
|
setStep("confirmed");
|
|
3637
|
-
_optionalChain([onBooked, 'optionalCall',
|
|
3848
|
+
_optionalChain([onBooked, 'optionalCall', _62 => _62(result.confirmation)]);
|
|
3638
3849
|
return;
|
|
3639
3850
|
}
|
|
3640
3851
|
const code = _nullishCoalesce(result.code, () => ( "TEMPORARILY_UNAVAILABLE"));
|
|
@@ -3658,56 +3869,16 @@ function HubSpotMeetingScheduler({
|
|
|
3658
3869
|
},
|
|
3659
3870
|
[book, bookingError, detailsFirst, onBooked, refetchAvailability, rescue, resetSignals, toast]
|
|
3660
3871
|
);
|
|
3661
|
-
const escapeHatch = fallbackUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3872
|
+
const escapeHatch = fallbackUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTF5D5MNOcjs.Button, { variant: "outline", size: "small-legacy", href: fallbackUrl, openInNewTab: true, children: "Open in HubSpot" }) : null;
|
|
3662
3873
|
const backEdge = detailsFirst ? step === "slot" ? backToDetails : onBack : step === "details" ? backToSlot : onBack;
|
|
3663
|
-
const
|
|
3664
|
-
const cardClass = _chunk3ATAYP36cjs.cn.call(void 0,
|
|
3665
|
-
CARD_CLASS,
|
|
3666
|
-
boxed ? preset.height : "content-md:h-auto",
|
|
3667
|
-
detailsFirst && "flex flex-col",
|
|
3668
|
-
formOnly && "bg-ods-bg",
|
|
3669
|
-
className
|
|
3670
|
-
);
|
|
3671
|
-
const innerClass = _chunk3ATAYP36cjs.cn.call(void 0, CARD_INNER_CLASS, detailsFirst && boxed && "min-h-0 flex-1");
|
|
3672
|
-
const actionPanelClass = _chunk3ATAYP36cjs.cn.call(void 0, ACTION_PANEL_CLASS, detailsFirst && boxed && "min-h-0 overflow-y-auto");
|
|
3673
|
-
const stepPanelClass = _chunk3ATAYP36cjs.cn.call(void 0, STEP_PANEL_CLASS, detailsFirst && boxed && "min-h-0 overflow-y-auto");
|
|
3874
|
+
const { cardClass, innerClass, actionPanelClass, stepPanelClass } = schedulerCardClasses(flow, step, className);
|
|
3674
3875
|
const degraded = (message) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SchedulerDegradedCard, { flow, className, message, action: escapeHatch });
|
|
3675
3876
|
const degradedCard = degraded("We couldn't load available call times. Please try again shortly.");
|
|
3676
|
-
if (
|
|
3677
|
-
|
|
3678
|
-
|
|
3679
|
-
|
|
3680
|
-
|
|
3681
|
-
] }),
|
|
3682
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3683
|
-
ModalFooter,
|
|
3684
|
-
{
|
|
3685
|
-
onCancel: onBack,
|
|
3686
|
-
primary: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2QMBXGMQcjs.Button, { disabled: true, onClick: NOOP2, className: MODAL_PRIMARY_CLASS, children: "Continue" })
|
|
3687
|
-
}
|
|
3688
|
-
)
|
|
3689
|
-
] });
|
|
3690
|
-
}
|
|
3691
|
-
if (isLoadingAvailability && !availability) {
|
|
3692
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: cardClass, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkNO5UJLLQcjs.LoadingRegion, { label: "Loading available times", className: innerClass, children: [
|
|
3693
|
-
!formOnly && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ContextPanelSkeleton, { onBack: backEdge, className: CONTEXT_PANEL_CLASS }),
|
|
3694
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: actionPanelClass, children: formOnly ? (
|
|
3695
|
-
// The SAME wrapper the loaded form gets, so the skeleton never
|
|
3696
|
-
// states its own inset.
|
|
3697
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: stepPanelClass, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3698
|
-
BookingFormSkeleton,
|
|
3699
|
-
{
|
|
3700
|
-
fieldRows: _optionalChain([detailsFormProps, 'optionalAccess', _48 => _48.fieldRows]),
|
|
3701
|
-
consent: Boolean(_optionalChain([detailsFormProps, 'optionalAccess', _49 => _49.consent])),
|
|
3702
|
-
footerNote: preset.footerNote
|
|
3703
|
-
}
|
|
3704
|
-
) })
|
|
3705
|
-
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SlotPickerSkeleton, { monthOffset }) })
|
|
3706
|
-
] }) });
|
|
3707
|
-
}
|
|
3708
|
-
if (availabilityError || !availability) return degradedCard;
|
|
3709
|
-
if (!isNativelyBookable(availability)) {
|
|
3710
|
-
return degraded("This meeting type is booked directly on HubSpot.");
|
|
3877
|
+
if (!coldStart) {
|
|
3878
|
+
if (availabilityError || !availability) return degradedCard;
|
|
3879
|
+
if (!isNativelyBookable(availability)) {
|
|
3880
|
+
return degraded("This meeting type is booked directly on HubSpot.");
|
|
3881
|
+
}
|
|
3711
3882
|
}
|
|
3712
3883
|
if (modal) {
|
|
3713
3884
|
const modalBack = step === "details" ? backToSlot : onBack;
|
|
@@ -3716,14 +3887,14 @@ function HubSpotMeetingScheduler({
|
|
|
3716
3887
|
setSelectedDay(null);
|
|
3717
3888
|
setSelectedSlot(null);
|
|
3718
3889
|
};
|
|
3719
|
-
const summary = selectedSlot != null && durationMs != null && timezone != null ? `${
|
|
3720
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
3721
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "
|
|
3890
|
+
const summary = selectedSlot != null && durationMs != null && timezone != null ? `${_chunkJTSUAHDLcjs.formatDateWithTimezone.call(void 0, selectedSlot, timezone, "weekdayDateTimeZoned", { viewerLocale: true })} \xB7 ${_chunkJTSUAHDLcjs.formatDurationCompact.call(void 0, durationMs / 1e3)}` : null;
|
|
3891
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, MODAL_STACK_CLASS, className), children: [
|
|
3892
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkWEANWBJHcjs.LoadingRegion, { label: "Loading available times", announce: coldStart, className: MODAL_CARD_CLASS, children: [
|
|
3722
3893
|
modalBack && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3723
|
-
|
|
3894
|
+
_chunkZV45VS6Kcjs.BackButton,
|
|
3724
3895
|
{
|
|
3725
3896
|
onClick: modalBack,
|
|
3726
|
-
className:
|
|
3897
|
+
className: _chunk65VVJSQZcjs.cn.call(void 0,
|
|
3727
3898
|
"px-[var(--spacing-system-m)] pt-[var(--spacing-system-m)]",
|
|
3728
3899
|
step === "slot" && "content-md:hidden"
|
|
3729
3900
|
)
|
|
@@ -3732,6 +3903,7 @@ function HubSpotMeetingScheduler({
|
|
|
3732
3903
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3733
3904
|
SchedulerModalHeader,
|
|
3734
3905
|
{
|
|
3906
|
+
loading: coldStart,
|
|
3735
3907
|
hosts: shownHosts,
|
|
3736
3908
|
durationsMs: durations,
|
|
3737
3909
|
selectedDurationMs: durationMs,
|
|
@@ -3742,7 +3914,7 @@ function HubSpotMeetingScheduler({
|
|
|
3742
3914
|
showTimezone: step === "slot"
|
|
3743
3915
|
}
|
|
3744
3916
|
),
|
|
3745
|
-
step === "confirmed" && confirmation && timezone ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: MODAL_STEP_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Confirmation, { confirmation, timezone }) }) : step === "details" && durationMs != null && selectedSlot != null && timezone ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
3917
|
+
step === "confirmed" && confirmation && timezone ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: MODAL_STEP_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Confirmation, { confirmation, timezone }) }) : step === "details" && durationMs != null && selectedSlot != null && timezone ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, MODAL_STEP_CLASS, "gap-[var(--spacing-system-m)]"), children: [
|
|
3746
3918
|
summary && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: summary }),
|
|
3747
3919
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3748
3920
|
DetailsForm,
|
|
@@ -3765,29 +3937,33 @@ function HubSpotMeetingScheduler({
|
|
|
3765
3937
|
}
|
|
3766
3938
|
)
|
|
3767
3939
|
] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
3768
|
-
bookingError === "SLOT_TAKEN" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3769
|
-
|
|
3770
|
-
SlotPicker,
|
|
3771
|
-
{
|
|
3772
|
-
layout: "modal",
|
|
3773
|
-
slots,
|
|
3774
|
-
timezone,
|
|
3775
|
-
monthOffset,
|
|
3776
|
-
onMonthOffsetChange: (o) => {
|
|
3777
|
-
setSelectedDay(null);
|
|
3778
|
-
setSelectedSlot(null);
|
|
3779
|
-
setMonthOffset(o);
|
|
3780
|
-
},
|
|
3781
|
-
selectedSlot,
|
|
3782
|
-
onSelectSlot: setSelectedSlot,
|
|
3783
|
-
selectedDay,
|
|
3784
|
-
onSelectDay: setSelectedDay,
|
|
3785
|
-
isLoading: isLoadingAvailability
|
|
3786
|
-
}
|
|
3787
|
-
) : durations.length === 0 && !isFetchingAvailability ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, MODAL_STEP_CLASS, "items-start gap-[var(--spacing-system-m)]"), children: [
|
|
3940
|
+
bookingError === "SLOT_TAKEN" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVRDHAR3Xcjs.Alert, { variant: "warning", className: "mx-[var(--spacing-system-m)] mt-[var(--spacing-system-m)] w-auto", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVRDHAR3Xcjs.AlertDescription, { children: "That time was just taken \u2014 pick another slot below. (If you already submitted, check your email for a confirmation before rebooking.)" }) }),
|
|
3941
|
+
!coldStart && (!timezone || durationMs == null) && durations.length === 0 && !isFetchingAvailability ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, MODAL_STEP_CLASS, "items-start gap-[var(--spacing-system-m)]"), children: [
|
|
3788
3942
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: "No call times are published right now." }),
|
|
3789
3943
|
escapeHatch
|
|
3790
|
-
] }) :
|
|
3944
|
+
] }) : (
|
|
3945
|
+
// On a cold start, or waiting for the zone or the length, the picker draws its own skeleton (`loading`).
|
|
3946
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3947
|
+
SlotPicker,
|
|
3948
|
+
{
|
|
3949
|
+
loading: coldStart || !timezone || durationMs == null,
|
|
3950
|
+
layout: "modal",
|
|
3951
|
+
slots,
|
|
3952
|
+
timezone,
|
|
3953
|
+
monthOffset,
|
|
3954
|
+
onMonthOffsetChange: (o) => {
|
|
3955
|
+
setSelectedDay(null);
|
|
3956
|
+
setSelectedSlot(null);
|
|
3957
|
+
setMonthOffset(o);
|
|
3958
|
+
},
|
|
3959
|
+
selectedSlot,
|
|
3960
|
+
onSelectSlot: setSelectedSlot,
|
|
3961
|
+
selectedDay,
|
|
3962
|
+
onSelectDay: setSelectedDay,
|
|
3963
|
+
isLoading: isLoadingAvailability
|
|
3964
|
+
}
|
|
3965
|
+
)
|
|
3966
|
+
)
|
|
3791
3967
|
] })
|
|
3792
3968
|
] }),
|
|
3793
3969
|
step === "slot" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -3795,7 +3971,7 @@ function HubSpotMeetingScheduler({
|
|
|
3795
3971
|
{
|
|
3796
3972
|
onCancel: onBack,
|
|
3797
3973
|
primary: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3798
|
-
|
|
3974
|
+
_chunkTF5D5MNOcjs.Button,
|
|
3799
3975
|
{
|
|
3800
3976
|
disabled: selectedSlot == null || durationMs == null,
|
|
3801
3977
|
onClick: () => setStep("details"),
|
|
@@ -3810,7 +3986,7 @@ function HubSpotMeetingScheduler({
|
|
|
3810
3986
|
{
|
|
3811
3987
|
onCancel: onBack,
|
|
3812
3988
|
primary: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3813
|
-
|
|
3989
|
+
_chunkTF5D5MNOcjs.Button,
|
|
3814
3990
|
{
|
|
3815
3991
|
type: "submit",
|
|
3816
3992
|
form: modalFormId,
|
|
@@ -3824,10 +4000,11 @@ function HubSpotMeetingScheduler({
|
|
|
3824
4000
|
)
|
|
3825
4001
|
] });
|
|
3826
4002
|
}
|
|
3827
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: cardClass, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "
|
|
4003
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: cardClass, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkWEANWBJHcjs.LoadingRegion, { label: "Loading available times", announce: coldStart, className: innerClass, children: [
|
|
3828
4004
|
!formOnly && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3829
4005
|
SchedulerContextPanel,
|
|
3830
4006
|
{
|
|
4007
|
+
loading: coldStart,
|
|
3831
4008
|
hosts: shownHosts,
|
|
3832
4009
|
title,
|
|
3833
4010
|
description,
|
|
@@ -3848,19 +4025,53 @@ function HubSpotMeetingScheduler({
|
|
|
3848
4025
|
className: CONTEXT_PANEL_CLASS
|
|
3849
4026
|
}
|
|
3850
4027
|
),
|
|
3851
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: actionPanelClass, children:
|
|
4028
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: actionPanelClass, children: coldStart ? (
|
|
4029
|
+
// The month is not here yet: the step's own part draws its skeleton in the loaded wrapper. Both terms
|
|
4030
|
+
// matter: without `formOnly` this would be a calendar where the form belongs; paging a month AFTER
|
|
4031
|
+
// Continue (at `step === 'slot'`) keeps the calendar.
|
|
4032
|
+
formOnly ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: stepPanelClass, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4033
|
+
DetailsForm,
|
|
4034
|
+
{
|
|
4035
|
+
loading: true,
|
|
4036
|
+
...detailsFormProps,
|
|
4037
|
+
availability,
|
|
4038
|
+
meetingId,
|
|
4039
|
+
timezone,
|
|
4040
|
+
deferSlot: detailsFirst,
|
|
4041
|
+
submitLabel: preset.submitLabel,
|
|
4042
|
+
footerNote: preset.footerNote,
|
|
4043
|
+
isSubmitting: false,
|
|
4044
|
+
onSubmit: NOOP_SUBMIT,
|
|
4045
|
+
honeypotInputProps,
|
|
4046
|
+
getSignals
|
|
4047
|
+
}
|
|
4048
|
+
) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-m)] content-md:min-h-0 content-md:flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4049
|
+
SlotPicker,
|
|
4050
|
+
{
|
|
4051
|
+
loading: true,
|
|
4052
|
+
slots,
|
|
4053
|
+
timezone,
|
|
4054
|
+
monthOffset,
|
|
4055
|
+
onMonthOffsetChange: NOOP2,
|
|
4056
|
+
selectedSlot: null,
|
|
4057
|
+
onSelectSlot: NOOP2,
|
|
4058
|
+
selectedDay: null,
|
|
4059
|
+
onSelectDay: NOOP2
|
|
4060
|
+
}
|
|
4061
|
+
) })
|
|
4062
|
+
) : step === "confirmed" && confirmation && timezone ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: stepPanelClass, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Confirmation, { confirmation, timezone }) }) : step === "details" && (detailsFirst ? (
|
|
3852
4063
|
// The form is step ONE here: no slot yet, and `timezone` is null
|
|
3853
4064
|
// on the server render, so neither may gate the PANEL. A link
|
|
3854
4065
|
// publishing no durations has no form worth showing; it gets the
|
|
3855
4066
|
// "nothing published" message below at every moment, refetch or
|
|
3856
4067
|
// not — never a calendar skeleton in the form-only layout.
|
|
3857
4068
|
durations.length > 0
|
|
3858
|
-
) : durationMs != null && selectedSlot != null && timezone) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
4069
|
+
) : durationMs != null && selectedSlot != null && timezone) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, stepPanelClass, "gap-[var(--spacing-system-m)]"), children: [
|
|
3859
4070
|
selectedSlot != null && durationMs != null && timezone != null && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: [
|
|
3860
|
-
|
|
4071
|
+
_chunkJTSUAHDLcjs.formatDateWithTimezone.call(void 0, selectedSlot, timezone, "weekdayDateTimeZoned", { viewerLocale: true }),
|
|
3861
4072
|
" \xB7",
|
|
3862
4073
|
" ",
|
|
3863
|
-
|
|
4074
|
+
_chunkJTSUAHDLcjs.formatDurationCompact.call(void 0, durationMs / 1e3)
|
|
3864
4075
|
] }),
|
|
3865
4076
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3866
4077
|
DetailsForm,
|
|
@@ -3874,7 +4085,7 @@ function HubSpotMeetingScheduler({
|
|
|
3874
4085
|
deferSlot: detailsFirst,
|
|
3875
4086
|
submitLabel: preset.submitLabel,
|
|
3876
4087
|
footerNote: preset.footerNote,
|
|
3877
|
-
initialValues: detailsFirst ? _optionalChain([stash, 'optionalAccess',
|
|
4088
|
+
initialValues: detailsFirst ? _optionalChain([stash, 'optionalAccess', _63 => _63.payload]) : void 0,
|
|
3878
4089
|
isSubmitting,
|
|
3879
4090
|
onSubmit: detailsFirst ? stashDetails : handleSubmit,
|
|
3880
4091
|
honeypotInputProps,
|
|
@@ -3884,20 +4095,33 @@ function HubSpotMeetingScheduler({
|
|
|
3884
4095
|
)
|
|
3885
4096
|
] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-m)] content-md:min-h-0 content-md:flex-1", children: [
|
|
3886
4097
|
bookingError === "SLOT_TAKEN" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3887
|
-
|
|
4098
|
+
_chunkVRDHAR3Xcjs.Alert,
|
|
3888
4099
|
{
|
|
3889
4100
|
variant: "warning",
|
|
3890
4101
|
className: "mx-[var(--spacing-system-l)] mt-[var(--spacing-system-l)] w-auto content-lg:m-0 content-lg:w-full",
|
|
3891
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4102
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVRDHAR3Xcjs.AlertDescription, { children: "That time was just taken \u2014 pick another slot below. (If you already submitted, check your email for a confirmation before rebooking.)" })
|
|
3892
4103
|
}
|
|
3893
4104
|
),
|
|
3894
|
-
timezone
|
|
3895
|
-
// The
|
|
3896
|
-
//
|
|
3897
|
-
//
|
|
4105
|
+
(!timezone || durationMs == null) && durations.length === 0 && (!isFetchingAvailability || formOnly) ? (
|
|
4106
|
+
// The LINK publishes nothing at all — a different thing from a
|
|
4107
|
+
// fully-booked month, and the only case the escape hatch is
|
|
4108
|
+
// the right answer to. In the form-only layout it holds through
|
|
4109
|
+
// a refetch too: the alternative frame is a calendar skeleton
|
|
4110
|
+
// where a form belongs.
|
|
4111
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col items-start gap-[var(--spacing-system-m)]", children: [
|
|
4112
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: "No call times are published right now." }),
|
|
4113
|
+
escapeHatch
|
|
4114
|
+
] })
|
|
4115
|
+
) : (
|
|
4116
|
+
// The picker owns the loading and the empty month — it keeps
|
|
4117
|
+
// the calendar up either way, so there is no branch here that
|
|
4118
|
+
// can take it off screen mid-flow. In the pre-mount
|
|
4119
|
+
// timezone-resolution window (every SSR load hits it for one
|
|
4120
|
+
// frame-batch) it draws its own skeleton (`loading`).
|
|
3898
4121
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3899
4122
|
SlotPicker,
|
|
3900
4123
|
{
|
|
4124
|
+
loading: !timezone || durationMs == null,
|
|
3901
4125
|
slots,
|
|
3902
4126
|
timezone,
|
|
3903
4127
|
monthOffset,
|
|
@@ -3942,21 +4166,6 @@ function HubSpotMeetingScheduler({
|
|
|
3942
4166
|
isSubmitting: detailsFirst ? isSubmitting : void 0
|
|
3943
4167
|
}
|
|
3944
4168
|
)
|
|
3945
|
-
) : durations.length === 0 && (!isFetchingAvailability || formOnly) ? (
|
|
3946
|
-
// The LINK publishes nothing at all — a different thing from a
|
|
3947
|
-
// fully-booked month, and the only case the escape hatch is
|
|
3948
|
-
// the right answer to. In the form-only layout it holds through
|
|
3949
|
-
// a refetch too: the alternative frame is a calendar skeleton
|
|
3950
|
-
// where a form belongs.
|
|
3951
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col items-start gap-[var(--spacing-system-m)]", children: [
|
|
3952
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: "No call times are published right now." }),
|
|
3953
|
-
escapeHatch
|
|
3954
|
-
] })
|
|
3955
|
-
) : (
|
|
3956
|
-
// Pre-mount timezone-resolution window (every SSR load hits
|
|
3957
|
-
// this for one frame-batch) — same layout, real calendar, so
|
|
3958
|
-
// nothing shifts when the picker takes over.
|
|
3959
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, SlotPickerSkeleton, { monthOffset })
|
|
3960
4169
|
)
|
|
3961
4170
|
] }) })
|
|
3962
4171
|
] }) });
|
|
@@ -3972,4 +4181,7 @@ function HubSpotMeetingScheduler({
|
|
|
3972
4181
|
|
|
3973
4182
|
|
|
3974
4183
|
|
|
3975
|
-
|
|
4184
|
+
|
|
4185
|
+
|
|
4186
|
+
|
|
4187
|
+
exports.BookingForm = BookingForm; exports.BookingFormSkeleton = BookingFormSkeleton; exports.DEFAULT_SCHEDULER_FLOW = DEFAULT_SCHEDULER_FLOW; exports.HubSpotMeetingScheduler = HubSpotMeetingScheduler; exports.MEETING_DIRECTORY_PAGE_SIZE = MEETING_DIRECTORY_PAGE_SIZE; exports.MEETING_SCHEDULER_DETAILS_FIRST_H = MEETING_SCHEDULER_DETAILS_FIRST_H; exports.MEETING_SCHEDULER_H = MEETING_SCHEDULER_H; exports.MeetingSchedulerDirectory = MeetingSchedulerDirectory; exports.MeetingSchedulerDirectoryRowSkeleton = MeetingSchedulerDirectoryRowSkeleton; exports.MeetingSchedulerDirectorySkeleton = MeetingSchedulerDirectorySkeleton; exports.SCHEDULER_FLOW_PRESETS = SCHEDULER_FLOW_PRESETS; exports.SchedulerDegradedCard = SchedulerDegradedCard; exports.formFieldOptionLabel = formFieldOptionLabel;
|