@flamingo-stack/openframe-frontend-core 0.0.595 → 0.0.596-2034.5670.1

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.
Files changed (156) hide show
  1. package/dist/{chunk-U4QRK4MX.js → chunk-27U3NNFR.js} +4 -4
  2. package/dist/{chunk-OGE4GSLZ.cjs → chunk-2EPDTX4M.cjs} +84 -84
  3. package/dist/{chunk-OGE4GSLZ.cjs.map → chunk-2EPDTX4M.cjs.map} +1 -1
  4. package/dist/{chunk-BKMSI2AW.js → chunk-2KQO7OMB.js} +2 -2
  5. package/dist/{chunk-A57HKYLY.js → chunk-2NZKBKO6.js} +6 -6
  6. package/dist/{chunk-CPWX46TL.cjs → chunk-53HSPYKM.cjs} +6 -6
  7. package/dist/{chunk-CPWX46TL.cjs.map → chunk-53HSPYKM.cjs.map} +1 -1
  8. package/dist/{chunk-FHEN27GM.cjs → chunk-5K6GZANU.cjs} +11 -11
  9. package/dist/{chunk-FHEN27GM.cjs.map → chunk-5K6GZANU.cjs.map} +1 -1
  10. package/dist/{chunk-23UJ4EBJ.cjs → chunk-7CKSLZT6.cjs} +12 -12
  11. package/dist/{chunk-23UJ4EBJ.cjs.map → chunk-7CKSLZT6.cjs.map} +1 -1
  12. package/dist/{chunk-T2JAJ7MR.js → chunk-7YUFH47E.js} +26 -13
  13. package/dist/chunk-7YUFH47E.js.map +1 -0
  14. package/dist/{chunk-OWWICTQR.cjs → chunk-AN4CB7U3.cjs} +24 -24
  15. package/dist/{chunk-OWWICTQR.cjs.map → chunk-AN4CB7U3.cjs.map} +1 -1
  16. package/dist/{chunk-3WZLPCJ7.js → chunk-BDLFPDAW.js} +4 -4
  17. package/dist/{chunk-QLJMXCB5.js → chunk-BHIJ5OGK.js} +5 -5
  18. package/dist/{chunk-AQ65NLGJ.js → chunk-E7MTTLKC.js} +3 -3
  19. package/dist/{chunk-MUNVPRT2.js → chunk-EVMHJB6X.js} +2 -2
  20. package/dist/{chunk-MOHSA65M.js → chunk-EZM5DNII.js} +2 -2
  21. package/dist/{chunk-7N2NJPUK.js → chunk-FPG4S3X4.js} +4 -4
  22. package/dist/{chunk-HGWC7ABT.cjs → chunk-FUHYCQLO.cjs} +63 -63
  23. package/dist/{chunk-HGWC7ABT.cjs.map → chunk-FUHYCQLO.cjs.map} +1 -1
  24. package/dist/{chunk-MHORK6KM.cjs → chunk-IIWB7VEC.cjs} +3 -3
  25. package/dist/{chunk-MHORK6KM.cjs.map → chunk-IIWB7VEC.cjs.map} +1 -1
  26. package/dist/{chunk-ZY3Z3F4X.cjs → chunk-IJY6E2YO.cjs} +49 -49
  27. package/dist/{chunk-ZY3Z3F4X.cjs.map → chunk-IJY6E2YO.cjs.map} +1 -1
  28. package/dist/{chunk-5EM6NGBK.cjs → chunk-KOQCA5X5.cjs} +17 -27
  29. package/dist/chunk-KOQCA5X5.cjs.map +1 -0
  30. package/dist/{chunk-YYHYCQD6.cjs → chunk-L7GNBUXF.cjs} +168 -168
  31. package/dist/{chunk-YYHYCQD6.cjs.map → chunk-L7GNBUXF.cjs.map} +1 -1
  32. package/dist/{chunk-A5AKGC4S.js → chunk-LPMDCQLL.js} +17 -27
  33. package/dist/chunk-LPMDCQLL.js.map +1 -0
  34. package/dist/{chunk-4ZY5MP46.cjs → chunk-LPWTGNNP.cjs} +15 -15
  35. package/dist/{chunk-4ZY5MP46.cjs.map → chunk-LPWTGNNP.cjs.map} +1 -1
  36. package/dist/{chunk-FKXDDJEQ.cjs → chunk-M4YQUHOR.cjs} +5 -5
  37. package/dist/{chunk-FKXDDJEQ.cjs.map → chunk-M4YQUHOR.cjs.map} +1 -1
  38. package/dist/{chunk-PYEJL2UG.js → chunk-MOKMFLKB.js} +3 -3
  39. package/dist/{chunk-ZRXJX3JK.js → chunk-NRGBR3SN.js} +6 -6
  40. package/dist/{chunk-DYXVQ24Q.js → chunk-ONZCED5F.js} +3 -3
  41. package/dist/{chunk-UPKN5CYH.js → chunk-P367JZLK.js} +8 -8
  42. package/dist/{chunk-63PXZXCT.js → chunk-PPY2IRJP.js} +4 -4
  43. package/dist/{chunk-CZM2H5F5.cjs → chunk-QBXD4KOR.cjs} +5 -5
  44. package/dist/{chunk-CZM2H5F5.cjs.map → chunk-QBXD4KOR.cjs.map} +1 -1
  45. package/dist/{chunk-JGDDPNSC.cjs → chunk-QW663C35.cjs} +298 -285
  46. package/dist/chunk-QW663C35.cjs.map +1 -0
  47. package/dist/{chunk-6PEFK4UH.cjs → chunk-QX6GS6Y3.cjs} +9 -9
  48. package/dist/{chunk-6PEFK4UH.cjs.map → chunk-QX6GS6Y3.cjs.map} +1 -1
  49. package/dist/{chunk-SEVD4AST.js → chunk-RY2MDY6G.js} +7 -7
  50. package/dist/{chunk-4R6AZFNU.cjs → chunk-SAEJGTCI.cjs} +30 -30
  51. package/dist/{chunk-4R6AZFNU.cjs.map → chunk-SAEJGTCI.cjs.map} +1 -1
  52. package/dist/{chunk-TDEQ26A2.js → chunk-UAAXUFK6.js} +1 -1
  53. package/dist/chunk-UAAXUFK6.js.map +1 -0
  54. package/dist/{chunk-EO5GYWIX.cjs → chunk-V7SYWH7D.cjs} +40 -40
  55. package/dist/{chunk-EO5GYWIX.cjs.map → chunk-V7SYWH7D.cjs.map} +1 -1
  56. package/dist/{chunk-MX7DNV7X.cjs → chunk-VZMA3IUV.cjs} +33 -33
  57. package/dist/{chunk-MX7DNV7X.cjs.map → chunk-VZMA3IUV.cjs.map} +1 -1
  58. package/dist/{chunk-NNMAMTA5.js → chunk-WC3M4XJ2.js} +3 -3
  59. package/dist/{chunk-SK4IVCSI.cjs → chunk-WCBRZCU4.cjs} +1 -1
  60. package/dist/chunk-WCBRZCU4.cjs.map +1 -0
  61. package/dist/{chunk-2WLW5HDU.js → chunk-WE4OW4XP.js} +8 -8
  62. package/dist/{chunk-MDUAU74C.cjs → chunk-WKZ3JYMP.cjs} +28 -28
  63. package/dist/{chunk-MDUAU74C.cjs.map → chunk-WKZ3JYMP.cjs.map} +1 -1
  64. package/dist/components/case-studies/index.cjs +16 -16
  65. package/dist/components/case-studies/index.js +6 -6
  66. package/dist/components/chat/index.cjs +4 -4
  67. package/dist/components/chat/index.js +3 -3
  68. package/dist/components/contact/index.cjs +7 -7
  69. package/dist/components/contact/index.js +6 -6
  70. package/dist/components/docs/index.cjs +10 -10
  71. package/dist/components/docs/index.js +9 -9
  72. package/dist/components/embeds/index.cjs +7 -7
  73. package/dist/components/embeds/index.js +6 -6
  74. package/dist/components/faq/index.cjs +7 -7
  75. package/dist/components/faq/index.js +6 -6
  76. package/dist/components/features/index.cjs +6 -6
  77. package/dist/components/features/index.js +5 -5
  78. package/dist/components/help-center-pages/index.cjs +26 -26
  79. package/dist/components/help-center-pages/index.js +17 -17
  80. package/dist/components/icons/index.cjs +2 -2
  81. package/dist/components/icons/index.js +1 -1
  82. package/dist/components/icons/mlg-logo.d.ts.map +1 -1
  83. package/dist/components/index.cjs +56 -56
  84. package/dist/components/index.js +17 -17
  85. package/dist/components/meeting-scheduler/booking-form.d.ts +70 -6
  86. package/dist/components/meeting-scheduler/booking-form.d.ts.map +1 -1
  87. package/dist/components/meeting-scheduler/context-panel.d.ts +9 -1
  88. package/dist/components/meeting-scheduler/context-panel.d.ts.map +1 -1
  89. package/dist/components/meeting-scheduler/index.cjs +395 -188
  90. package/dist/components/meeting-scheduler/index.cjs.map +1 -1
  91. package/dist/components/meeting-scheduler/index.d.ts +55 -1
  92. package/dist/components/meeting-scheduler/index.d.ts.map +1 -1
  93. package/dist/components/meeting-scheduler/index.js +381 -174
  94. package/dist/components/meeting-scheduler/index.js.map +1 -1
  95. package/dist/components/meeting-scheduler/slot-picker.d.ts +8 -1
  96. package/dist/components/meeting-scheduler/slot-picker.d.ts.map +1 -1
  97. package/dist/components/navigation/index.cjs +9 -9
  98. package/dist/components/navigation/index.js +8 -8
  99. package/dist/components/onboarding-guides/index.cjs +9 -9
  100. package/dist/components/onboarding-guides/index.js +8 -8
  101. package/dist/components/related-content/index.cjs +3 -3
  102. package/dist/components/related-content/index.js +2 -2
  103. package/dist/components/tickets/index.cjs +10 -10
  104. package/dist/components/tickets/index.js +9 -9
  105. package/dist/components/ui/benefit-card.d.ts.map +1 -1
  106. package/dist/components/ui/index.cjs +6 -6
  107. package/dist/components/ui/index.js +5 -5
  108. package/dist/hooks/index.cjs +3 -3
  109. package/dist/hooks/index.js +2 -2
  110. package/dist/index.cjs +10 -10
  111. package/dist/index.js +9 -9
  112. package/dist/schemas/meeting-booking-schema.cjs +19 -4
  113. package/dist/schemas/meeting-booking-schema.cjs.map +1 -1
  114. package/dist/schemas/meeting-booking-schema.d.ts +41 -16
  115. package/dist/schemas/meeting-booking-schema.d.ts.map +1 -1
  116. package/dist/schemas/meeting-booking-schema.js +19 -5
  117. package/dist/schemas/meeting-booking-schema.js.map +1 -1
  118. package/dist/types/index.cjs.map +1 -1
  119. package/dist/types/index.js.map +1 -1
  120. package/dist/utils/index.cjs +16 -26
  121. package/dist/utils/index.cjs.map +1 -1
  122. package/dist/utils/index.js +16 -26
  123. package/dist/utils/index.js.map +1 -1
  124. package/package.json +1 -1
  125. package/src/components/icons/mlg-logo.tsx +1 -7
  126. package/src/components/meeting-scheduler/booking-form.tsx +425 -154
  127. package/src/components/meeting-scheduler/context-panel.tsx +13 -3
  128. package/src/components/meeting-scheduler/index.tsx +317 -69
  129. package/src/components/meeting-scheduler/slot-picker.tsx +17 -1
  130. package/src/components/ui/benefit-card.tsx +30 -9
  131. package/src/schemas/meeting-booking-schema.ts +58 -4
  132. package/src/types/tmcg.ts +0 -2
  133. package/src/utils/format.ts +1 -1
  134. package/dist/chunk-5EM6NGBK.cjs.map +0 -1
  135. package/dist/chunk-A5AKGC4S.js.map +0 -1
  136. package/dist/chunk-JGDDPNSC.cjs.map +0 -1
  137. package/dist/chunk-SK4IVCSI.cjs.map +0 -1
  138. package/dist/chunk-T2JAJ7MR.js.map +0 -1
  139. package/dist/chunk-TDEQ26A2.js.map +0 -1
  140. /package/dist/{chunk-U4QRK4MX.js.map → chunk-27U3NNFR.js.map} +0 -0
  141. /package/dist/{chunk-BKMSI2AW.js.map → chunk-2KQO7OMB.js.map} +0 -0
  142. /package/dist/{chunk-A57HKYLY.js.map → chunk-2NZKBKO6.js.map} +0 -0
  143. /package/dist/{chunk-3WZLPCJ7.js.map → chunk-BDLFPDAW.js.map} +0 -0
  144. /package/dist/{chunk-QLJMXCB5.js.map → chunk-BHIJ5OGK.js.map} +0 -0
  145. /package/dist/{chunk-AQ65NLGJ.js.map → chunk-E7MTTLKC.js.map} +0 -0
  146. /package/dist/{chunk-MUNVPRT2.js.map → chunk-EVMHJB6X.js.map} +0 -0
  147. /package/dist/{chunk-MOHSA65M.js.map → chunk-EZM5DNII.js.map} +0 -0
  148. /package/dist/{chunk-7N2NJPUK.js.map → chunk-FPG4S3X4.js.map} +0 -0
  149. /package/dist/{chunk-PYEJL2UG.js.map → chunk-MOKMFLKB.js.map} +0 -0
  150. /package/dist/{chunk-ZRXJX3JK.js.map → chunk-NRGBR3SN.js.map} +0 -0
  151. /package/dist/{chunk-DYXVQ24Q.js.map → chunk-ONZCED5F.js.map} +0 -0
  152. /package/dist/{chunk-UPKN5CYH.js.map → chunk-P367JZLK.js.map} +0 -0
  153. /package/dist/{chunk-63PXZXCT.js.map → chunk-PPY2IRJP.js.map} +0 -0
  154. /package/dist/{chunk-SEVD4AST.js.map → chunk-RY2MDY6G.js.map} +0 -0
  155. /package/dist/{chunk-NNMAMTA5.js.map → chunk-WC3M4XJ2.js.map} +0 -0
  156. /package/dist/{chunk-2WLW5HDU.js.map → chunk-WE4OW4XP.js.map} +0 -0
@@ -4,7 +4,7 @@ import "../chunk-5I3BSQ6D.js";
4
4
  import {
5
5
  GROUP_PAGE_SIZE,
6
6
  RelatedContentSection
7
- } from "../chunk-MUNVPRT2.js";
7
+ } from "../chunk-EVMHJB6X.js";
8
8
  import {
9
9
  CveLink,
10
10
  OnboardingStepCard,
@@ -15,7 +15,7 @@ import {
15
15
  SoftwareInfo,
16
16
  SoftwareSourceBadge,
17
17
  ToolBadge
18
- } from "../chunk-ZRXJX3JK.js";
18
+ } from "../chunk-NRGBR3SN.js";
19
19
  import {
20
20
  AppHeader,
21
21
  AppLayout,
@@ -34,7 +34,7 @@ import {
34
34
  SlidingSidebar,
35
35
  TicketAlertsButton,
36
36
  TopNavigation
37
- } from "../chunk-SEVD4AST.js";
37
+ } from "../chunk-RY2MDY6G.js";
38
38
  import {
39
39
  DeliveryLists,
40
40
  DeliveryTable,
@@ -48,7 +48,7 @@ import {
48
48
  RoadmapView,
49
49
  useLegalDocs,
50
50
  useRoadmapVoting
51
- } from "../chunk-UPKN5CYH.js";
51
+ } from "../chunk-P367JZLK.js";
52
52
  import {
53
53
  DocNavigationProvider,
54
54
  DocViewer,
@@ -62,12 +62,12 @@ import {
62
62
  useDocNavigation,
63
63
  useDocumentTree,
64
64
  useScrollSpy
65
- } from "../chunk-QLJMXCB5.js";
65
+ } from "../chunk-BHIJ5OGK.js";
66
66
  import {
67
67
  FileDownloadCard,
68
68
  GoogleSheetsViewer,
69
69
  PdfViewer
70
- } from "../chunk-7N2NJPUK.js";
70
+ } from "../chunk-FPG4S3X4.js";
71
71
  import {
72
72
  PersistentPagination,
73
73
  PersistentPaginationWrapper,
@@ -77,13 +77,13 @@ import {
77
77
  FaqAccordion,
78
78
  FaqDocumentPage,
79
79
  FaqSection
80
- } from "../chunk-3WZLPCJ7.js";
80
+ } from "../chunk-BDLFPDAW.js";
81
81
  import {
82
82
  MobileNavigationDropdown,
83
83
  MultiLevelNavigation,
84
84
  StickySectionNav,
85
85
  useSectionNavigation
86
- } from "../chunk-BKMSI2AW.js";
86
+ } from "../chunk-2KQO7OMB.js";
87
87
  import {
88
88
  DeliveryRow,
89
89
  DevCardRowContent,
@@ -91,16 +91,16 @@ import {
91
91
  DevCardRowSkeletonList,
92
92
  DevSectionPage,
93
93
  DevSectionView
94
- } from "../chunk-NNMAMTA5.js";
94
+ } from "../chunk-WC3M4XJ2.js";
95
95
  import {
96
96
  EmptyState,
97
97
  UnifiedPagination
98
98
  } from "../chunk-2JNCZDJR.js";
99
- import "../chunk-DYXVQ24Q.js";
99
+ import "../chunk-ONZCED5F.js";
100
100
  import {
101
101
  ArticleAuthorByline,
102
102
  DetailPageSkeleton
103
- } from "../chunk-PYEJL2UG.js";
103
+ } from "../chunk-MOKMFLKB.js";
104
104
  import {
105
105
  DocSearchBar,
106
106
  DocSearchResultRow,
@@ -108,7 +108,7 @@ import {
108
108
  mapDocSearchResults,
109
109
  resolveSearchResultAction,
110
110
  useDocSearch
111
- } from "../chunk-63PXZXCT.js";
111
+ } from "../chunk-PPY2IRJP.js";
112
112
  import {
113
113
  useSelfFetch
114
114
  } from "../chunk-WZJOILPU.js";
@@ -611,7 +611,7 @@ import {
611
611
  useTimeTracker,
612
612
  useTrackerClock,
613
613
  useWalkthroughVideo
614
- } from "../chunk-T2JAJ7MR.js";
614
+ } from "../chunk-7YUFH47E.js";
615
615
  import "../chunk-L2SLFCXP.js";
616
616
  import "../chunk-BJXDHKUX.js";
617
617
  import {
@@ -624,7 +624,7 @@ import {
624
624
  showToast,
625
625
  useOnboardingState,
626
626
  useToast
627
- } from "../chunk-MOHSA65M.js";
627
+ } from "../chunk-EZM5DNII.js";
628
628
  import {
629
629
  useEndpointsRuntime
630
630
  } from "../chunk-ZRIVCLPR.js";
@@ -976,7 +976,7 @@ import {
976
976
  useVideoOriginPreconnect,
977
977
  useVideoWarmup,
978
978
  usesCanonicalStatusStyle
979
- } from "../chunk-AQ65NLGJ.js";
979
+ } from "../chunk-E7MTTLKC.js";
980
980
  import {
981
981
  errorMessage,
982
982
  scrollElementIntoView
@@ -1133,7 +1133,7 @@ import {
1133
1133
  YouTubeIcon,
1134
1134
  getDeviceTypeIcon,
1135
1135
  renderSvgIcon
1136
- } from "../chunk-A5AKGC4S.js";
1136
+ } from "../chunk-LPMDCQLL.js";
1137
1137
  import "../chunk-IMDG23LW.js";
1138
1138
  import "../chunk-W72U7OU7.js";
1139
1139
  import {
@@ -1230,7 +1230,7 @@ import {
1230
1230
  transformPodcastToProgram,
1231
1231
  transformWebinarToProgram,
1232
1232
  useCoverImageFallback
1233
- } from "../chunk-TDEQ26A2.js";
1233
+ } from "../chunk-UAAXUFK6.js";
1234
1234
  import {
1235
1235
  next_image_default
1236
1236
  } from "../chunk-MDKCTSDS.js";
@@ -1,5 +1,33 @@
1
- import type { Ref } from 'react';
1
+ import type { ReactNode, Ref } from 'react';
2
2
  import { type MeetingAvailability } from '../../schemas/meeting-booking-schema';
3
+ /**
4
+ * One field in a host-supplied row. `name` is a built-in (`email`, `firstName`,
5
+ * `lastName`) or a HubSpot-declared question's `name`.
6
+ */
7
+ export interface BookingFieldSlot {
8
+ name: string;
9
+ /** Columns out of four at `md` and up. Defaults to an even split of the row. */
10
+ span?: 1 | 2 | 3 | 4;
11
+ }
12
+ export type BookingFieldRow = BookingFieldSlot[];
13
+ /**
14
+ * A HOST-supplied consent row — the block the waitlist form draws for its SMS
15
+ * consent, here for "I agree to the Privacy Policy and to be contacted". It is
16
+ * the host's copy and the host's link, so it is a prop, not HubSpot metadata;
17
+ * HubSpot's own `legalConsent` block (verbatim, declared on the link) renders
18
+ * alongside when the link carries one.
19
+ *
20
+ * A client-side gate, exactly like the waitlist's: Continue is refused until it
21
+ * is ticked, and the tick rides in the payload as `hostConsent` — which the
22
+ * host's book route strips as an undeclared key. It is not a HubSpot consent
23
+ * record; declare `legalConsent` on the link when one is required.
24
+ */
25
+ export interface BookingFormConsent {
26
+ label: ReactNode;
27
+ description?: ReactNode;
28
+ /** Shown under the row when Continue is pressed unticked. */
29
+ errorMessage?: string;
30
+ }
3
31
  /**
4
32
  * BookingForm — attendee details + the link's declared custom questions +
5
33
  * verbatim legal-consent copy. ContactForm's scaffolding (react-hook-form +
@@ -17,10 +45,36 @@ import { type MeetingAvailability } from '../../schemas/meeting-booking-schema';
17
45
  export interface BookingFormProps {
18
46
  availability: MeetingAvailability;
19
47
  meetingId: string;
20
- startTimeMs: number;
21
- durationMs: number;
22
- /** IANA zone the confirmation/invite should render in (parent-resolved). */
23
- timezone: string;
48
+ /** Absent in `deferSlot` mode — the slot is chosen AFTER these answers. */
49
+ startTimeMs?: number;
50
+ durationMs?: number;
51
+ /** IANA zone the confirmation/invite should render in (parent-resolved).
52
+ * Null until hydration, which is why `deferSlot` relaxes it. */
53
+ timezone: string | null;
54
+ /**
55
+ * Collect-only mode (`flow="details-first"`): validate against the deferred
56
+ * schema, and hand the values up instead of POSTing. The parent re-attaches
57
+ * the authoritative slot/duration/timezone when it submits.
58
+ */
59
+ deferSlot?: boolean;
60
+ /** Repopulates the form on a remount — the back edge, or an error return. */
61
+ initialValues?: Record<string, unknown>;
62
+ /** Defaults to "Confirm Booking"; details-first says "Continue". */
63
+ submitLabel?: string;
64
+ /** Small print beside the submit (details-first sets expectations). */
65
+ footerNote?: string;
66
+ /**
67
+ * Re-arrange the fields into rows instead of the built-in order (email, the
68
+ * name pair, then each declared question full width). Reuse, not a fork: the
69
+ * SAME controls, validation, consent block and honeypot — only their grouping
70
+ * changes, so a host can match a mock without owning the machine.
71
+ *
72
+ * A slot naming nothing is skipped; a declared question no row claims is
73
+ * appended full width. Both are deliberate — see `slotNode`/`unplacedFields`.
74
+ */
75
+ fieldRows?: BookingFieldRow[];
76
+ /** Host-supplied consent row, rendered after the fields — see `BookingFormConsent`. */
77
+ consent?: BookingFormConsent;
24
78
  isSubmitting: boolean;
25
79
  onSubmit: (payload: Record<string, unknown>) => Promise<void>;
26
80
  /** From useHumanitySignals — parent owns the instance so it can resetSignals(). */
@@ -30,5 +84,15 @@ export interface BookingFormProps {
30
84
  };
31
85
  getSignals: () => Record<string, string | number>;
32
86
  }
33
- export declare function BookingForm({ availability, meetingId, startTimeMs, durationMs, timezone, isSubmitting, onSubmit, honeypotInputProps, getSignals, }: BookingFormProps): import("react").JSX.Element;
87
+ export declare function BookingForm({ availability, meetingId, startTimeMs, durationMs, timezone, deferSlot, initialValues, submitLabel, footerNote, fieldRows, consent, isSubmitting, onSubmit, honeypotInputProps, getSignals, }: BookingFormProps): import("react").JSX.Element;
88
+ /**
89
+ * Cold-start placeholder for `flow="details-first"`, where the FORM is the
90
+ * first thing in the action panel.
91
+ *
92
+ * The slot-first skeleton (`SlotPickerSkeleton`) would put a grey calendar
93
+ * where the form belongs — above the fold on a page whose entire content is
94
+ * this card. Same footprint discipline as its sibling: fixed heights, no shift
95
+ * when the real form swaps in.
96
+ */
97
+ export declare function BookingFormSkeleton(): import("react").JSX.Element;
34
98
  //# sourceMappingURL=booking-form.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"booking-form.d.ts","sourceRoot":"","sources":["../../../src/components/meeting-scheduler/booking-form.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAGL,KAAK,mBAAmB,EAEzB,MAAM,sCAAsC,CAAC;AAkB9C;;;;;;;;;;;;;GAaG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,mBAAmB,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,mFAAmF;IACnF,kBAAkB,EAAE;QAAE,GAAG,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACjE,UAAU,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;CACnD;AAED,wBAAgB,WAAW,CAAC,EAC1B,YAAY,EACZ,SAAS,EACT,WAAW,EACX,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,kBAAkB,EAClB,UAAU,GACX,EAAE,gBAAgB,+BA0OlB"}
1
+ {"version":3,"file":"booking-form.d.ts","sourceRoot":"","sources":["../../../src/components/meeting-scheduler/booking-form.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAa,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAEvD,OAAO,EAGL,KAAK,mBAAmB,EAGzB,MAAM,sCAAsC,CAAC;AAqB9C;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,gFAAgF;IAChF,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CACtB;AAED,MAAM,MAAM,eAAe,GAAG,gBAAgB,EAAE,CAAC;AAEjD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAcD;;;;;;;;;;;;;GAaG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,mBAAmB,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,2EAA2E;IAC3E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;qEACiE;IACjE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,6EAA6E;IAC7E,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,oEAAoE;IACpE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,eAAe,EAAE,CAAC;IAC9B,uFAAuF;IACvF,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,mFAAmF;IACnF,kBAAkB,EAAE;QAAE,GAAG,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACjE,UAAU,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;CACnD;AAED,wBAAgB,WAAW,CAAC,EAC1B,YAAY,EACZ,SAAS,EACT,WAAW,EACX,UAAU,EACV,QAAQ,EACR,SAAiB,EACjB,aAAa,EACb,WAAW,EACX,UAAU,EACV,SAAS,EACT,OAAO,EACP,YAAY,EACZ,QAAQ,EACR,kBAAkB,EAClB,UAAU,GACX,EAAE,gBAAgB,+BAgZlB;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,gCAelC"}
@@ -38,6 +38,14 @@ export interface SchedulerContextPanelProps {
38
38
  * states the length and a live selector beside a filled-in form invites a
39
39
  * change that would throw the form away. Going Back restores them. */
40
40
  locked?: boolean;
41
+ /**
42
+ * The link's length is not the visitor's to choose here: the static duration
43
+ * line renders and the chips never do, at every step. `flow="details-first"`
44
+ * sets it — the mock draws "30 min call" beside the host on the calendar step
45
+ * and offers no selector — and unlike `locked` it has NO effect on the
46
+ * timezone picker, which on that step is the only control the visitor has.
47
+ */
48
+ fixedDuration?: boolean;
41
49
  /** Whether the timezone picker renders. Default true: the zone governs every
42
50
  * time on screen, the form's summary line included, so it stays reachable
43
51
  * right up to the confirmation — where there is nothing left to re-read. */
@@ -54,5 +62,5 @@ export declare function ContextPanelSkeleton({ className, onBack, backLabel, }:
54
62
  onBack?: () => void;
55
63
  backLabel?: string;
56
64
  }): import("react").JSX.Element;
57
- export declare function SchedulerContextPanel({ hosts, title, description, durationsMs, selectedDurationMs, onSelectDuration, timezone, onTimezoneChange, onBack, backLabel, locked, showTimezone, className, }: SchedulerContextPanelProps): import("react").JSX.Element;
65
+ export declare function SchedulerContextPanel({ hosts, title, description, durationsMs, selectedDurationMs, onSelectDuration, timezone, onTimezoneChange, onBack, backLabel, locked, fixedDuration, showTimezone, className, }: SchedulerContextPanelProps): import("react").JSX.Element;
58
66
  //# sourceMappingURL=context-panel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context-panel.d.ts","sourceRoot":"","sources":["../../../src/components/meeting-scheduler/context-panel.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAMxE;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,gBAAgB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC;gFAC4E;IAC5E,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;2EAGuE;IACvE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;iFAE6E;IAC7E,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA0DD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,SAAS,EACT,MAAM,EACN,SAAkB,GACnB,EAAE;IACD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,+BA4BA;AAED,wBAAgB,qBAAqB,CAAC,EACpC,KAAK,EACL,KAAK,EACL,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,QAAQ,EACR,gBAAgB,EAChB,MAAM,EACN,SAAkB,EAClB,MAAc,EACd,YAAmB,EACnB,SAAS,GACV,EAAE,0BAA0B,+BAuH5B"}
1
+ {"version":3,"file":"context-panel.d.ts","sourceRoot":"","sources":["../../../src/components/meeting-scheduler/context-panel.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAMxE;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,gBAAgB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC;gFAC4E;IAC5E,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;2EAGuE;IACvE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;iFAE6E;IAC7E,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA0DD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,SAAS,EACT,MAAM,EACN,SAAkB,GACnB,EAAE;IACD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,+BA4BA;AAED,wBAAgB,qBAAqB,CAAC,EACpC,KAAK,EACL,KAAK,EACL,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,QAAQ,EACR,gBAAgB,EAChB,MAAM,EACN,SAAkB,EAClB,MAAc,EACd,aAAqB,EACrB,YAAmB,EACnB,SAAS,GACV,EAAE,0BAA0B,+BAwH5B"}