@flamingo-stack/openframe-frontend-core 0.0.595 → 0.0.596-2034.5669.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 +49 -5
  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 +369 -186
  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 +344 -161
  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 +371 -152
  127. package/src/components/meeting-scheduler/context-panel.tsx +13 -3
  128. package/src/components/meeting-scheduler/index.tsx +316 -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
@@ -1,4 +1,7 @@
1
+ import type { ComponentType } from 'react';
1
2
  import { type BookingConfirmation, type MeetingAvailability, type MeetingBookingErrorCode, type MeetingHost } from '../../schemas/meeting-booking-schema';
3
+ import { type BookingFormProps } from './booking-form';
4
+ export { BookingForm, BookingFormSkeleton, type BookingFormProps, type BookingFieldRow, type BookingFieldSlot, } from './booking-form';
2
5
  export interface HubSpotMeetingSchedulerProps {
3
6
  /** Directory id of the meeting link (from the host's `/api/meetings` payload). */
4
7
  meetingId: string;
@@ -26,6 +29,37 @@ export interface HubSpotMeetingSchedulerProps {
26
29
  onBack?: () => void;
27
30
  onBooked?: (b: BookingConfirmation) => void;
28
31
  className?: string;
32
+ /**
33
+ * Panel order.
34
+ *
35
+ * `'slot-first'` (default, unchanged): calendar → details → confirmed.
36
+ * `'details-first'`: the form comes FIRST and the slot click submits the
37
+ * already-validated payload. Campaign landing pages use it, where "tell us
38
+ * about your setup, then pick a time" is the conversion shape.
39
+ *
40
+ * This is not a cosmetic swap — see the flow-dependent branches below. It is
41
+ * opt-in precisely so `slot-first` stays byte-identical.
42
+ */
43
+ flow?: 'slot-first' | 'details-first';
44
+ /**
45
+ * Replace the details panel — step ONE under `flow="details-first"`, step two
46
+ * otherwise — with a host-supplied form. It receives exactly what the built-in
47
+ * one does, so the injected form keeps the widget's contract: the deferred
48
+ * schema, the honeypot and elapsed-ms signals, the verbatim consent block, the
49
+ * `onSubmit` handoff and the `isSubmitting` lock.
50
+ *
51
+ * The intended shape is a THIN wrapper that re-renders `BookingForm` with
52
+ * `fieldRows` (a layout re-arrangement, all machinery reused), not a
53
+ * hand-written form. Anything reimplementing the contract loses the bot
54
+ * protection and the consent guarantees.
55
+ *
56
+ * A COMPONENT type, not a render callback: React then owns its identity, so
57
+ * it reconciles across steps and keeps its own state instead of remounting —
58
+ * and the honeypot `ref` rides through as a normal prop.
59
+ *
60
+ * Defaults to the built-in form, so every existing embed is untouched.
61
+ */
62
+ detailsForm?: ComponentType<BookingFormProps>;
29
63
  }
30
64
  /**
31
65
  * The widget's height on desktop: a FIXED 380px, and the ONLY size the whole
@@ -72,7 +106,27 @@ export interface HubSpotMeetingSchedulerProps {
72
106
  * blocks will overflow the shorter of the two.
73
107
  */
74
108
  export declare const MEETING_SCHEDULER_H = "md:h-[34.375rem] lg:h-[23.75rem]";
75
- export declare function HubSpotMeetingScheduler({ meetingId, apiBaseUrl, initialAvailability, title, description, hosts, displayTimezone, fallbackUrl, onBack, onBooked, className, }: HubSpotMeetingSchedulerProps): import("react").JSX.Element;
109
+ /**
110
+ * The same box for `flow="details-first"`, where the tallest stage is the
111
+ * DETAILS FORM (email + first/last + the link's declared questions + the
112
+ * consent block + Continue) rather than the calendar.
113
+ *
114
+ * Still a fixed pair, not a floor: everything below the card derives a definite
115
+ * height from it, and a floor was already tried here — it pinned the short
116
+ * stages and let the tall one push the wrapper, which is the screen-shake the
117
+ * fixed height exists to remove.
118
+ *
119
+ * ONE number from `md` up, not two: 638px, the card both mocks draw
120
+ * (`4904:117130` form-only, `4904:118213` three columns). The form stage has no
121
+ * sidebar to stack into a header strip, so nothing about it changes between
122
+ * tablet and desktop, and the calendar stage fits the same box at both — the
123
+ * times column scrolls inside it as it always has.
124
+ *
125
+ * A host reserving the box for a details-first card reserves THIS, not the
126
+ * constant above.
127
+ */
128
+ export declare const MEETING_SCHEDULER_DETAILS_FIRST_H = "md:h-[39.875rem]";
129
+ export declare function HubSpotMeetingScheduler({ meetingId, apiBaseUrl, initialAvailability, title, description, hosts, displayTimezone, fallbackUrl, onBack, onBooked, className, flow, detailsForm: DetailsForm, }: HubSpotMeetingSchedulerProps): import("react").JSX.Element;
76
130
  export { MeetingSchedulerDirectory, MeetingSchedulerDirectoryRowSkeleton, type MeetingSchedulerDirectoryProps, } from './directory';
77
131
  export type { MeetingAvailability, BookingConfirmation, MeetingBookingErrorCode, MeetingHost };
78
132
  export type { SchedulingLink, SchedulingLinksPayload } from '../../schemas/meeting-booking-schema';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/meeting-scheduler/index.tsx"],"names":[],"mappings":"AA0CA,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,WAAW,EACjB,MAAM,sCAAsC,CAAC;AA4B9C,MAAM,WAAW,4BAA4B;IAC3C,kFAAkF;IAClF,SAAS,EAAE,MAAM,CAAC;IAClB,2FAA2F;IAC3F,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iFAAiF;IACjF,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,wEAAwE;IACxE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,mEAAmE;IACnE,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;IACtB,sFAAsF;IACtF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,yFAAyF;IACzF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAqCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,eAAO,MAAM,mBAAmB,qCAAqC,CAAC;AAoEtE,wBAAgB,uBAAuB,CAAC,EACtC,SAAS,EACT,UAAe,EACf,mBAAmB,EACnB,KAAK,EACL,WAAW,EACX,KAAK,EACL,eAAe,EACf,WAAW,EACX,MAAM,EACN,QAAQ,EACR,SAAS,GACV,EAAE,4BAA4B,+BAoV9B;AAED,OAAO,EACL,yBAAyB,EACzB,oCAAoC,EACpC,KAAK,8BAA8B,GACpC,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,WAAW,EAAE,CAAC;AAC/F,YAAY,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/meeting-scheduler/index.tsx"],"names":[],"mappings":"AAsCA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAK3C,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,WAAW,EACjB,MAAM,sCAAsC,CAAC;AAI9C,OAAO,EAAoC,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAKzF,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,gBAAgB,GACtB,MAAM,gBAAgB,CAAC;AAwBxB,MAAM,WAAW,4BAA4B;IAC3C,kFAAkF;IAClF,SAAS,EAAE,MAAM,CAAC;IAClB,2FAA2F;IAC3F,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iFAAiF;IACjF,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,wEAAwE;IACxE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,mEAAmE;IACnE,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;IACtB,sFAAsF;IACtF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,yFAAyF;IACzF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;;;OAUG;IACH,IAAI,CAAC,EAAE,YAAY,GAAG,eAAe,CAAC;IACtC;;;;;;;;;;;;;;;;;OAiBG;IACH,WAAW,CAAC,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;CAC/C;AA4CD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,eAAO,MAAM,mBAAmB,qCAAqC,CAAC;AAEtE;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,iCAAiC,qBAAqB,CAAC;AAqEpE,wBAAgB,uBAAuB,CAAC,EACtC,SAAS,EACT,UAAe,EACf,mBAAmB,EACnB,KAAK,EACL,WAAW,EACX,KAAK,EACL,eAAe,EACf,WAAW,EACX,MAAM,EACN,QAAQ,EACR,SAAS,EACT,IAAmB,EACnB,WAAW,EAAE,WAAyB,GACvC,EAAE,4BAA4B,+BAigB9B;AAED,OAAO,EACL,yBAAyB,EACzB,oCAAoC,EACpC,KAAK,8BAA8B,GACpC,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,WAAW,EAAE,CAAC;AAC/F,YAAY,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC"}