@flamingo-stack/openframe-frontend-core 0.0.524 → 0.0.525-1675.4424.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 (126) hide show
  1. package/dist/{chunk-LAQXIOKO.js → chunk-3TFFD2DF.js} +6 -6
  2. package/dist/{chunk-JC2UARDN.cjs → chunk-45BJHYMZ.cjs} +31 -31
  3. package/dist/{chunk-JC2UARDN.cjs.map → chunk-45BJHYMZ.cjs.map} +1 -1
  4. package/dist/{chunk-Y53BXHK2.cjs → chunk-4F6PM3PZ.cjs} +1316 -1079
  5. package/dist/chunk-4F6PM3PZ.cjs.map +1 -0
  6. package/dist/{chunk-6A4Q54YT.js → chunk-4MHFBAWI.js} +2 -2
  7. package/dist/{chunk-CPGFDMXS.js → chunk-4YLOTTXF.js} +5 -5
  8. package/dist/{chunk-XXXONWLE.cjs → chunk-5WLQP2TA.cjs} +61 -61
  9. package/dist/{chunk-XXXONWLE.cjs.map → chunk-5WLQP2TA.cjs.map} +1 -1
  10. package/dist/{chunk-D65WB4OJ.cjs → chunk-6UQWG5I3.cjs} +5 -5
  11. package/dist/{chunk-D65WB4OJ.cjs.map → chunk-6UQWG5I3.cjs.map} +1 -1
  12. package/dist/{chunk-ZKMDCEML.js → chunk-7VBPGRVN.js} +4979 -4742
  13. package/dist/chunk-7VBPGRVN.js.map +1 -0
  14. package/dist/{chunk-ZICOTVNH.cjs → chunk-AAUR5R54.cjs} +9 -9
  15. package/dist/{chunk-ZICOTVNH.cjs.map → chunk-AAUR5R54.cjs.map} +1 -1
  16. package/dist/{chunk-BPJI4IO6.js → chunk-BTO3EDRL.js} +2 -2
  17. package/dist/{chunk-W3YNZ3ZS.cjs → chunk-DIPOEVUM.cjs} +3 -3
  18. package/dist/{chunk-W3YNZ3ZS.cjs.map → chunk-DIPOEVUM.cjs.map} +1 -1
  19. package/dist/{chunk-FDIYSQNO.cjs → chunk-EJYTNLS3.cjs} +4 -4
  20. package/dist/{chunk-FDIYSQNO.cjs.map → chunk-EJYTNLS3.cjs.map} +1 -1
  21. package/dist/{chunk-PGSUFJ5X.js → chunk-EZRCK5UW.js} +2 -2
  22. package/dist/{chunk-VP24YWHP.js → chunk-H7A76OL4.js} +2 -2
  23. package/dist/{chunk-7EVH77ZK.js → chunk-I56UVAQU.js} +4 -4
  24. package/dist/{chunk-IRVTRJVV.js → chunk-IK3EES6I.js} +2 -2
  25. package/dist/{chunk-DMYUV5NS.cjs → chunk-JHJR4LW3.cjs} +14 -14
  26. package/dist/{chunk-DMYUV5NS.cjs.map → chunk-JHJR4LW3.cjs.map} +1 -1
  27. package/dist/{chunk-GJACMJS3.cjs → chunk-JWZ6BY72.cjs} +26 -26
  28. package/dist/{chunk-GJACMJS3.cjs.map → chunk-JWZ6BY72.cjs.map} +1 -1
  29. package/dist/{chunk-CHMR77XI.js → chunk-KPSTBHVJ.js} +2 -2
  30. package/dist/{chunk-SJVNTV4V.cjs → chunk-LGXE2AEV.cjs} +26 -26
  31. package/dist/{chunk-SJVNTV4V.cjs.map → chunk-LGXE2AEV.cjs.map} +1 -1
  32. package/dist/{chunk-XZZ7V5AA.cjs → chunk-OPPURTBM.cjs} +11 -11
  33. package/dist/{chunk-XZZ7V5AA.cjs.map → chunk-OPPURTBM.cjs.map} +1 -1
  34. package/dist/{chunk-Q2X6HBRM.js → chunk-QKQSCSDG.js} +2 -2
  35. package/dist/{chunk-YNLTPZGW.js → chunk-SDO4UX2O.js} +4 -4
  36. package/dist/{chunk-RKM7BOLW.cjs → chunk-TZ4DGS4Q.cjs} +87 -87
  37. package/dist/{chunk-RKM7BOLW.cjs.map → chunk-TZ4DGS4Q.cjs.map} +1 -1
  38. package/dist/{chunk-FDU22CUY.cjs → chunk-UFXN4XQU.cjs} +7 -7
  39. package/dist/{chunk-FDU22CUY.cjs.map → chunk-UFXN4XQU.cjs.map} +1 -1
  40. package/dist/{chunk-RHQ3JCW4.js → chunk-VRZNLFUN.js} +2 -2
  41. package/dist/{chunk-I7GS3XJ2.cjs → chunk-YIMLAERD.cjs} +37 -37
  42. package/dist/{chunk-I7GS3XJ2.cjs.map → chunk-YIMLAERD.cjs.map} +1 -1
  43. package/dist/{chunk-K6MT67YI.js → chunk-YJ4HQMTZ.js} +2 -2
  44. package/dist/components/case-studies/index.cjs +8 -8
  45. package/dist/components/case-studies/index.js +2 -2
  46. package/dist/components/chat/index.cjs +2 -2
  47. package/dist/components/chat/index.js +1 -1
  48. package/dist/components/contact/index.cjs +3 -3
  49. package/dist/components/contact/index.js +2 -2
  50. package/dist/components/docs/index.cjs +5 -5
  51. package/dist/components/docs/index.js +4 -4
  52. package/dist/components/embeds/index.cjs +3 -3
  53. package/dist/components/embeds/index.js +2 -2
  54. package/dist/components/faq/index.cjs +3 -3
  55. package/dist/components/faq/index.js +2 -2
  56. package/dist/components/features/index.cjs +2 -2
  57. package/dist/components/features/index.js +1 -1
  58. package/dist/components/form.d.ts +1 -1
  59. package/dist/components/help-center-pages/index.cjs +22 -22
  60. package/dist/components/help-center-pages/index.js +13 -13
  61. package/dist/components/index.cjs +144 -132
  62. package/dist/components/index.cjs.map +1 -1
  63. package/dist/components/index.js +23 -11
  64. package/dist/components/index.js.map +1 -1
  65. package/dist/components/meeting-scheduler/index.cjs +34 -34
  66. package/dist/components/meeting-scheduler/index.js +3 -3
  67. package/dist/components/navigation/index.cjs +2 -2
  68. package/dist/components/navigation/index.js +1 -1
  69. package/dist/components/onboarding-guides/index.cjs +5 -5
  70. package/dist/components/onboarding-guides/index.js +4 -4
  71. package/dist/components/related-content/index.cjs +3 -3
  72. package/dist/components/related-content/index.js +2 -2
  73. package/dist/components/tickets/index.cjs +6 -6
  74. package/dist/components/tickets/index.js +5 -5
  75. package/dist/components/ui/dropdown-button.d.ts +42 -11
  76. package/dist/components/ui/dropdown-button.d.ts.map +1 -1
  77. package/dist/components/ui/field.d.ts +38 -0
  78. package/dist/components/ui/field.d.ts.map +1 -0
  79. package/dist/components/ui/index.cjs +14 -2
  80. package/dist/components/ui/index.cjs.map +1 -1
  81. package/dist/components/ui/index.d.ts +4 -0
  82. package/dist/components/ui/index.d.ts.map +1 -1
  83. package/dist/components/ui/index.js +13 -1
  84. package/dist/components/ui/info-hint.d.ts +23 -0
  85. package/dist/components/ui/info-hint.d.ts.map +1 -0
  86. package/dist/components/ui/json-detail-list.d.ts +9 -0
  87. package/dist/components/ui/json-detail-list.d.ts.map +1 -0
  88. package/dist/components/ui/modal-guarded-close.d.ts +50 -0
  89. package/dist/components/ui/modal-guarded-close.d.ts.map +1 -0
  90. package/dist/components/ui/modal-v2.d.ts.map +1 -1
  91. package/dist/components/ui/tabs.d.ts +19 -5
  92. package/dist/components/ui/tabs.d.ts.map +1 -1
  93. package/dist/index.cjs +14 -2
  94. package/dist/index.cjs.map +1 -1
  95. package/dist/index.js +13 -1
  96. package/package.json +3 -2
  97. package/src/components/ui/dropdown-button.tsx +109 -46
  98. package/src/components/ui/field.tsx +74 -0
  99. package/src/components/ui/index.ts +4 -0
  100. package/src/components/ui/info-hint.tsx +74 -0
  101. package/src/components/ui/json-detail-list.tsx +112 -0
  102. package/src/components/ui/modal-guarded-close.tsx +133 -0
  103. package/src/components/ui/modal-v2.tsx +12 -5
  104. package/src/components/ui/tabs.tsx +75 -20
  105. package/src/stories/DropdownButton.stories.tsx +109 -0
  106. package/src/stories/Field.stories.tsx +70 -0
  107. package/src/stories/InfoHint.stories.tsx +65 -0
  108. package/src/stories/JsonDetailList.stories.tsx +73 -0
  109. package/src/stories/ModalGuardedClose.stories.tsx +82 -0
  110. package/src/stories/Tabs.stories.tsx +101 -0
  111. package/src/styles/ods-colors.css +22 -0
  112. package/dist/chunk-Y53BXHK2.cjs.map +0 -1
  113. package/dist/chunk-ZKMDCEML.js.map +0 -1
  114. /package/dist/{chunk-LAQXIOKO.js.map → chunk-3TFFD2DF.js.map} +0 -0
  115. /package/dist/{chunk-6A4Q54YT.js.map → chunk-4MHFBAWI.js.map} +0 -0
  116. /package/dist/{chunk-CPGFDMXS.js.map → chunk-4YLOTTXF.js.map} +0 -0
  117. /package/dist/{chunk-BPJI4IO6.js.map → chunk-BTO3EDRL.js.map} +0 -0
  118. /package/dist/{chunk-PGSUFJ5X.js.map → chunk-EZRCK5UW.js.map} +0 -0
  119. /package/dist/{chunk-VP24YWHP.js.map → chunk-H7A76OL4.js.map} +0 -0
  120. /package/dist/{chunk-7EVH77ZK.js.map → chunk-I56UVAQU.js.map} +0 -0
  121. /package/dist/{chunk-IRVTRJVV.js.map → chunk-IK3EES6I.js.map} +0 -0
  122. /package/dist/{chunk-CHMR77XI.js.map → chunk-KPSTBHVJ.js.map} +0 -0
  123. /package/dist/{chunk-Q2X6HBRM.js.map → chunk-QKQSCSDG.js.map} +0 -0
  124. /package/dist/{chunk-YNLTPZGW.js.map → chunk-SDO4UX2O.js.map} +0 -0
  125. /package/dist/{chunk-RHQ3JCW4.js.map → chunk-VRZNLFUN.js.map} +0 -0
  126. /package/dist/{chunk-K6MT67YI.js.map → chunk-YJ4HQMTZ.js.map} +0 -0
@@ -5,10 +5,10 @@
5
5
  var _chunkMKPJYEORcjs = require('../../chunk-MKPJYEOR.cjs');
6
6
 
7
7
 
8
- var _chunkW3YNZ3ZScjs = require('../../chunk-W3YNZ3ZS.cjs');
8
+ var _chunkDIPOEVUMcjs = require('../../chunk-DIPOEVUM.cjs');
9
9
 
10
10
 
11
- var _chunkFDIYSQNOcjs = require('../../chunk-FDIYSQNO.cjs');
11
+ var _chunkEJYTNLS3cjs = require('../../chunk-EJYTNLS3.cjs');
12
12
 
13
13
 
14
14
 
@@ -27,7 +27,7 @@ var _chunkFDIYSQNOcjs = require('../../chunk-FDIYSQNO.cjs');
27
27
 
28
28
 
29
29
 
30
- var _chunkY53BXHK2cjs = require('../../chunk-Y53BXHK2.cjs');
30
+ var _chunk4F6PM3PZcjs = require('../../chunk-4F6PM3PZ.cjs');
31
31
  require('../../chunk-C5RS3QLV.cjs');
32
32
  require('../../chunk-XL4V2PYG.cjs');
33
33
  require('../../chunk-BZFW3FOF.cjs');
@@ -85,7 +85,7 @@ function useMeetingBooking(options) {
85
85
  const [isSubmitting, setIsSubmitting] = _react.useState.call(void 0, false);
86
86
  const submittingRef = _react.useRef.call(void 0, false);
87
87
  const setMonthOffset = _react.useCallback.call(void 0, (offset) => {
88
- setMonthOffsetState(Math.max(0, Math.min(_chunkY53BXHK2cjs.MAX_MONTH_OFFSET, offset)));
88
+ setMonthOffsetState(Math.max(0, Math.min(_chunk4F6PM3PZcjs.MAX_MONTH_OFFSET, offset)));
89
89
  }, []);
90
90
  const prevMeetingIdRef = _react.useRef.call(void 0, meetingId);
91
91
  _react.useLayoutEffect.call(void 0, () => {
@@ -319,14 +319,14 @@ function SchedulerContextPanel({
319
319
  }, [timezone]);
320
320
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkKI4EGKNVcjs.cn.call(void 0, "flex flex-col gap-[var(--spacing-system-mf)]", className), children: [
321
321
  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: "flex items-center gap-[var(--spacing-system-s)]", children: [
322
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY53BXHK2cjs.SquareAvatar, { variant: "round", size: "lg", src: _nullishCoalesce(host.avatarUrl, () => ( void 0)), alt: host.name, fallback: host.name }),
322
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4F6PM3PZcjs.SquareAvatar, { variant: "round", size: "lg", src: _nullishCoalesce(host.avatarUrl, () => ( void 0)), alt: host.name, fallback: host.name }),
323
323
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col min-w-0", children: [
324
324
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h4 text-ods-text-primary truncate", children: host.name }),
325
325
  host.title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h6 text-ods-text-secondary truncate", children: host.title })
326
326
  ] })
327
327
  ] }, host.name)) }),
328
328
  hosts.length > 3 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-xs)]", children: [
329
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY53BXHK2cjs.AvatarStack, { people: hosts, max: 4, size: "lg" }),
329
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4F6PM3PZcjs.AvatarStack, { people: hosts, max: 4, size: "lg" }),
330
330
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-h6 text-ods-text-secondary", children: [
331
331
  hosts.length,
332
332
  " hosts on this calendar"
@@ -338,7 +338,7 @@ function SchedulerContextPanel({
338
338
  // Post-selection: selectors are GONE, not disabled — the step summary
339
339
  // owns the chosen time/zone; the panel keeps a single static line.
340
340
  selectedDurationMs != null && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-h6 text-ods-text-secondary", children: [
341
- _chunkY53BXHK2cjs.formatDurationCompact.call(void 0, selectedDurationMs / 1e3),
341
+ _chunk4F6PM3PZcjs.formatDurationCompact.call(void 0, selectedDurationMs / 1e3),
342
342
  " call"
343
343
  ] })
344
344
  ) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -350,18 +350,18 @@ function SchedulerContextPanel({
350
350
  variant: selectedDurationMs === ms ? void 0 : "outline",
351
351
  size: "small-legacy",
352
352
  onClick: () => onSelectDuration(ms),
353
- children: _chunkY53BXHK2cjs.formatDurationCompact.call(void 0, ms / 1e3)
353
+ children: _chunk4F6PM3PZcjs.formatDurationCompact.call(void 0, ms / 1e3)
354
354
  },
355
355
  ms
356
356
  )) })
357
357
  ] }) : selectedDurationMs != null && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-h6 text-ods-text-secondary", children: [
358
- _chunkY53BXHK2cjs.formatDurationCompact.call(void 0, selectedDurationMs / 1e3),
358
+ _chunk4F6PM3PZcjs.formatDurationCompact.call(void 0, selectedDurationMs / 1e3),
359
359
  " call"
360
360
  ] }),
361
361
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-xs)]", children: [
362
362
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h5 text-ods-text-secondary", children: "Timezone" }),
363
363
  timezone ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
364
- _chunkY53BXHK2cjs.Autocomplete,
364
+ _chunk4F6PM3PZcjs.Autocomplete,
365
365
  {
366
366
  value: timezone,
367
367
  onChange: (tz) => {
@@ -458,7 +458,7 @@ function SlotPicker({
458
458
  }, [slots, timezone]);
459
459
  const now = /* @__PURE__ */ new Date();
460
460
  const startMonth = new Date(now.getFullYear(), now.getMonth(), 1);
461
- const endMonth = new Date(now.getFullYear(), now.getMonth() + _chunkY53BXHK2cjs.MAX_MONTH_OFFSET, 1);
461
+ const endMonth = new Date(now.getFullYear(), now.getMonth() + _chunk4F6PM3PZcjs.MAX_MONTH_OFFSET, 1);
462
462
  const visibleMonth = new Date(now.getFullYear(), now.getMonth() + monthOffset, 1);
463
463
  const daySlots = selectedDay ? _nullishCoalesce(slotsByDay.get(selectedDay), () => ( [])) : [];
464
464
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col md:flex-row gap-[var(--spacing-system-lf)]", children: [
@@ -470,7 +470,7 @@ function SlotPicker({
470
470
  endMonth,
471
471
  onMonthChange: (month) => {
472
472
  const offset = (month.getFullYear() - now.getFullYear()) * 12 + (month.getMonth() - now.getMonth());
473
- onMonthOffsetChange(Math.max(0, Math.min(_chunkY53BXHK2cjs.MAX_MONTH_OFFSET, offset)));
473
+ onMonthOffsetChange(Math.max(0, Math.min(_chunk4F6PM3PZcjs.MAX_MONTH_OFFSET, offset)));
474
474
  },
475
475
  mode: "single",
476
476
  required: true,
@@ -562,10 +562,10 @@ function BookingForm({
562
562
  };
563
563
  const inputClass = "bg-ods-card border-ods-border text-ods-text-primary placeholder-ods-text-secondary px-3 h-12";
564
564
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "form", { onSubmit: submit, className: "flex flex-col space-y-4 md:space-y-6", noValidate: true, children: [
565
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY53BXHK2cjs.HoneypotField, { ...honeypotInputProps }),
565
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4F6PM3PZcjs.HoneypotField, { ...honeypotInputProps }),
566
566
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4 md:gap-6", children: [
567
567
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
568
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkY53BXHK2cjs.Label, { htmlFor: "ms-first-name", children: [
568
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk4F6PM3PZcjs.Label, { htmlFor: "ms-first-name", children: [
569
569
  "First name",
570
570
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: "*" })
571
571
  ] }),
@@ -583,7 +583,7 @@ function BookingForm({
583
583
  errors.firstName && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-error text-h6 mt-1", children: errors.firstName.message })
584
584
  ] }),
585
585
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
586
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkY53BXHK2cjs.Label, { htmlFor: "ms-last-name", children: [
586
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk4F6PM3PZcjs.Label, { htmlFor: "ms-last-name", children: [
587
587
  "Last name",
588
588
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: "*" })
589
589
  ] }),
@@ -602,7 +602,7 @@ function BookingForm({
602
602
  ] })
603
603
  ] }),
604
604
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
605
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkY53BXHK2cjs.Label, { htmlFor: "ms-email", children: [
605
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk4F6PM3PZcjs.Label, { htmlFor: "ms-email", children: [
606
606
  "Email",
607
607
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: "*" })
608
608
  ] }),
@@ -621,12 +621,12 @@ function BookingForm({
621
621
  errors.email && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-error text-h6 mt-1", children: errors.email.message })
622
622
  ] }),
623
623
  supportedFields.map((field) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
624
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkY53BXHK2cjs.Label, { htmlFor: `ms-q-${field.name}`, children: [
624
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk4F6PM3PZcjs.Label, { htmlFor: `ms-q-${field.name}`, children: [
625
625
  field.label,
626
626
  field.required && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: "*" })
627
627
  ] }),
628
628
  field.type === "textarea" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
629
- _chunkY53BXHK2cjs.Textarea,
629
+ _chunk4F6PM3PZcjs.Textarea,
630
630
  {
631
631
  id: `ms-q-${field.name}`,
632
632
  className: "bg-ods-card border-ods-border text-ods-text-primary placeholder-ods-text-secondary px-3",
@@ -646,12 +646,12 @@ function BookingForm({
646
646
  {
647
647
  control,
648
648
  name: `formFields.${field.name}`,
649
- render: ({ field: rhf }) => field.type === "select" ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkY53BXHK2cjs.Select, { value: _nullishCoalesce(rhf.value, () => ( "")), onValueChange: rhf.onChange, children: [
650
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY53BXHK2cjs.SelectTrigger, { id: `ms-q-${field.name}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY53BXHK2cjs.SelectValue, { placeholder: "Select\u2026" }) }),
651
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY53BXHK2cjs.SelectContent, { children: (_nullishCoalesce(field.options, () => ( []))).map((opt) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY53BXHK2cjs.SelectItem, { value: opt, children: opt }, opt)) })
652
- ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY53BXHK2cjs.RadioGroup, { value: _nullishCoalesce(rhf.value, () => ( "")), onValueChange: rhf.onChange, children: (_nullishCoalesce(field.options, () => ( []))).map((opt) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xs)]", children: [
653
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY53BXHK2cjs.RadioGroupItem, { id: `ms-q-${field.name}-${opt}`, value: opt }),
654
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY53BXHK2cjs.Label, { htmlFor: `ms-q-${field.name}-${opt}`, children: opt })
649
+ render: ({ field: rhf }) => field.type === "select" ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk4F6PM3PZcjs.Select, { value: _nullishCoalesce(rhf.value, () => ( "")), onValueChange: rhf.onChange, children: [
650
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4F6PM3PZcjs.SelectTrigger, { id: `ms-q-${field.name}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4F6PM3PZcjs.SelectValue, { placeholder: "Select\u2026" }) }),
651
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4F6PM3PZcjs.SelectContent, { children: (_nullishCoalesce(field.options, () => ( []))).map((opt) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4F6PM3PZcjs.SelectItem, { value: opt, children: opt }, opt)) })
652
+ ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4F6PM3PZcjs.RadioGroup, { value: _nullishCoalesce(rhf.value, () => ( "")), onValueChange: rhf.onChange, children: (_nullishCoalesce(field.options, () => ( []))).map((opt) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xs)]", children: [
653
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4F6PM3PZcjs.RadioGroupItem, { id: `ms-q-${field.name}-${opt}`, value: opt }),
654
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4F6PM3PZcjs.Label, { htmlFor: `ms-q-${field.name}-${opt}`, children: opt })
655
655
  ] }, opt)) })
656
656
  }
657
657
  ),
@@ -701,7 +701,7 @@ function BookingForm({
701
701
  )
702
702
  }
703
703
  ),
704
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkY53BXHK2cjs.Label, { htmlFor: `ms-consent-${box.communicationTypeId}`, children: [
704
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk4F6PM3PZcjs.Label, { htmlFor: `ms-consent-${box.communicationTypeId}`, children: [
705
705
  box.label,
706
706
  box.required ? " *" : ""
707
707
  ] })
@@ -735,7 +735,7 @@ function Confirmation({ confirmation, timezone }) {
735
735
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-h6 text-ods-text-secondary", children: [
736
736
  when,
737
737
  " \xB7 ",
738
- _chunkY53BXHK2cjs.formatDurationCompact.call(void 0, confirmation.durationMs / 1e3)
738
+ _chunk4F6PM3PZcjs.formatDurationCompact.call(void 0, confirmation.durationMs / 1e3)
739
739
  ] }),
740
740
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h6 text-ods-text-secondary", children: "A calendar invite is on its way to your email." })
741
741
  ] });
@@ -775,7 +775,7 @@ function DirectoryRow({
775
775
  const nextLabel = useNextAvailableLabel(link.nextAvailableMs);
776
776
  const subtitle = [
777
777
  link.description,
778
- link.durationsMinutes.length > 0 ? link.durationsMinutes.map((m) => _chunkY53BXHK2cjs.formatDurationCompact.call(void 0, m * 60)).join(" / ") : null,
778
+ link.durationsMinutes.length > 0 ? link.durationsMinutes.map((m) => _chunk4F6PM3PZcjs.formatDurationCompact.call(void 0, m * 60)).join(" / ") : null,
779
779
  link.kind === "team" ? "Team" : null
780
780
  ].filter(Boolean).join(" \u2022 ");
781
781
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -789,8 +789,8 @@ function DirectoryRow({
789
789
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h3 text-ods-text-primary truncate", children: link.title }),
790
790
  subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h6 text-ods-text-secondary truncate", children: subtitle })
791
791
  ] }),
792
- audienceLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY53BXHK2cjs.StatusBadge, { text: `For ${audienceLabel}`, singleLine: true, className: "shrink-0 hidden sm:inline-flex" }),
793
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY53BXHK2cjs.AvatarStack, { people: link.hosts, max: 3, size: "md", className: "flex shrink-0" }),
792
+ audienceLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4F6PM3PZcjs.StatusBadge, { text: `For ${audienceLabel}`, singleLine: true, className: "shrink-0 hidden sm:inline-flex" }),
793
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4F6PM3PZcjs.AvatarStack, { people: link.hosts, max: 3, size: "md", className: "flex shrink-0" }),
794
794
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "hidden md:flex w-44 shrink-0 flex-col items-end justify-center", children: [
795
795
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h6 text-ods-text-secondary", children: "Next available" }),
796
796
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h6 text-ods-text-primary min-h-5", children: link.nextAvailableMs == null ? "No times published" : _nullishCoalesce(nextLabel, () => ( " ")) })
@@ -870,7 +870,7 @@ function MeetingSchedulerDirectory({
870
870
  }
871
871
  if (error) {
872
872
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkKI4EGKNVcjs.cn.call(void 0, "flex flex-col justify-center", className), style: { minHeight: rowsMinHeight + 104 }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
873
- _chunkFDIYSQNOcjs.EmptyState,
873
+ _chunkEJYTNLS3cjs.EmptyState,
874
874
  {
875
875
  type: "generic",
876
876
  title: "We couldn't load available call times",
@@ -881,7 +881,7 @@ function MeetingSchedulerDirectory({
881
881
  }
882
882
  if (rows.length === 0) {
883
883
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkKI4EGKNVcjs.cn.call(void 0, "flex flex-col justify-center", className), style: { minHeight: rowsMinHeight + 104 }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
884
- _chunkFDIYSQNOcjs.EmptyState,
884
+ _chunkEJYTNLS3cjs.EmptyState,
885
885
  {
886
886
  type: "generic",
887
887
  title: "No call times are published right now",
@@ -893,7 +893,7 @@ function MeetingSchedulerDirectory({
893
893
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkKI4EGKNVcjs.cn.call(void 0, "flex flex-col", className), children: [
894
894
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full flex-col gap-4", style: { minHeight: rowsMinHeight }, children: pageRows.map(({ link, audienceLabel }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DirectoryRow, { link, audienceLabel, bookingBasePath }, link.id)) }),
895
895
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkKI4EGKNVcjs.cn.call(void 0, "mt-8 flex w-full items-center justify-center", PAGINATION_SLOT_H), children: totalPages > 1 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
896
- _chunkW3YNZ3ZScjs.PersistentPaginationWrapper,
896
+ _chunkDIPOEVUMcjs.PersistentPaginationWrapper,
897
897
  {
898
898
  isLoading,
899
899
  currentPage: page,
@@ -1077,7 +1077,7 @@ function HubSpotMeetingScheduler({
1077
1077
  ),
1078
1078
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1 min-w-0 p-[var(--spacing-system-lf)] md:min-h-[32rem] flex flex-col", children: step === "confirmed" && confirmation && timezone ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Confirmation, { confirmation, timezone }) : step === "details" && durationMs != null && selectedSlot != null && timezone ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-1 flex-col gap-[var(--spacing-system-md)]", children: [
1079
1079
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1080
- _chunkY53BXHK2cjs.BackButton,
1080
+ _chunk4F6PM3PZcjs.BackButton,
1081
1081
  {
1082
1082
  label: "Back",
1083
1083
  onClick: () => {
@@ -1099,7 +1099,7 @@ function HubSpotMeetingScheduler({
1099
1099
  }).format(new Date(selectedSlot)),
1100
1100
  " ",
1101
1101
  "\xB7 ",
1102
- _chunkY53BXHK2cjs.formatDurationCompact.call(void 0, durationMs / 1e3)
1102
+ _chunk4F6PM3PZcjs.formatDurationCompact.call(void 0, durationMs / 1e3)
1103
1103
  ] }),
1104
1104
  bookingError && bookingError !== "SLOT_TAKEN" && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col items-start gap-[var(--spacing-system-xs)]", children: [
1105
1105
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h6 text-ods-error", children: bookingError === "TEMPORARILY_UNAVAILABLE" ? "Scheduling is briefly unavailable \u2014 please try again in a minute." : bookingError === "MEETING_UNAVAILABLE" ? "This meeting type has reached its booking limit for today \u2014 try another time or contact us." : bookingError === "LINK_GONE" ? "This meeting type is no longer available." : "Please double-check your details and try again." }),
@@ -5,10 +5,10 @@ import {
5
5
  } from "../../chunk-7J4DGFHZ.js";
6
6
  import {
7
7
  PersistentPaginationWrapper
8
- } from "../../chunk-Q2X6HBRM.js";
8
+ } from "../../chunk-QKQSCSDG.js";
9
9
  import {
10
10
  EmptyState
11
- } from "../../chunk-PGSUFJ5X.js";
11
+ } from "../../chunk-EZRCK5UW.js";
12
12
  import {
13
13
  Autocomplete,
14
14
  AvatarStack,
@@ -27,7 +27,7 @@ import {
27
27
  StatusBadge,
28
28
  Textarea,
29
29
  formatDurationCompact
30
- } from "../../chunk-ZKMDCEML.js";
30
+ } from "../../chunk-7VBPGRVN.js";
31
31
  import "../../chunk-7EUIW46X.js";
32
32
  import "../../chunk-LXC6P2EO.js";
33
33
  import "../../chunk-EL5YVPD5.js";
@@ -35,7 +35,7 @@
35
35
 
36
36
 
37
37
 
38
- var _chunkY53BXHK2cjs = require('../../chunk-Y53BXHK2.cjs');
38
+ var _chunk4F6PM3PZcjs = require('../../chunk-4F6PM3PZ.cjs');
39
39
  require('../../chunk-C5RS3QLV.cjs');
40
40
  require('../../chunk-XL4V2PYG.cjs');
41
41
  require('../../chunk-BZFW3FOF.cjs');
@@ -87,5 +87,5 @@ require('../../chunk-VRHGVLSL.cjs');
87
87
 
88
88
 
89
89
 
90
- exports.AppHeader = _chunkY53BXHK2cjs.AppHeader; exports.AppLayout = _chunkY53BXHK2cjs.AppLayout; exports.AppLayoutDrawer = _chunkY53BXHK2cjs.AppLayoutDrawerRoot; exports.AppLayoutDrawerBody = _chunkY53BXHK2cjs.AppLayoutDrawerBody; exports.AppLayoutDrawerClose = _chunkY53BXHK2cjs.AppLayoutDrawerClose; exports.AppLayoutDrawerContent = _chunkY53BXHK2cjs.AppLayoutDrawerContent; exports.AppLayoutDrawerDescription = _chunkY53BXHK2cjs.AppLayoutDrawerDescription; exports.AppLayoutDrawerFooter = _chunkY53BXHK2cjs.AppLayoutDrawerFooter; exports.AppLayoutDrawerHeader = _chunkY53BXHK2cjs.AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = _chunkY53BXHK2cjs.AppLayoutDrawerTitle; exports.AppLayoutDrawerTrigger = _chunkY53BXHK2cjs.AppLayoutDrawerTrigger; exports.ClientOnlyHeader = _chunkY53BXHK2cjs.ClientOnlyHeader; exports.Header = _chunkY53BXHK2cjs.Header; exports.HeaderButton = _chunkY53BXHK2cjs.HeaderButton; exports.HeaderGlobalSearch = _chunkY53BXHK2cjs.HeaderGlobalSearch; exports.HeaderMingoButton = _chunkY53BXHK2cjs.HeaderMingoButton; exports.HeaderOrganizationFilter = _chunkY53BXHK2cjs.HeaderOrganizationFilter; exports.HeaderSkeleton = _chunkY53BXHK2cjs.HeaderSkeleton; exports.MOBILE_NAV_PANEL_ID = _chunkY53BXHK2cjs.MOBILE_NAV_PANEL_ID; exports.MingoAiButton = _chunkY53BXHK2cjs.MingoAiButton; exports.MobileBurgerMenu = _chunkY53BXHK2cjs.MobileBurgerMenu; exports.MobileNavPanel = _chunkY53BXHK2cjs.MobileNavPanel; exports.MobileNavigationDropdown = _chunkY53BXHK2cjs.MobileNavigationDropdown; exports.MultiLevelNavigation = _chunkY53BXHK2cjs.MultiLevelNavigation; exports.NAVIGATION_SIDEBAR_WIDTH_VAR = _chunkY53BXHK2cjs.NAVIGATION_SIDEBAR_WIDTH_VAR; exports.NavigationSidebar = _chunkY53BXHK2cjs.NavigationSidebar; exports.SlidingSidebar = _chunkY53BXHK2cjs.SlidingSidebar; exports.StickySectionNav = _chunkY53BXHK2cjs.StickySectionNav; exports.TicketAlertsButton = _chunkY53BXHK2cjs.TicketAlertsButton; exports.TopNavigation = _chunkY53BXHK2cjs.TopNavigation; exports.UnreadCountBadge = _chunkY53BXHK2cjs.UnreadCountBadge; exports.UnreadDot = _chunkY53BXHK2cjs.UnreadDot; exports.useAppLayoutDrawerContainer = _chunkY53BXHK2cjs.useAppLayoutDrawerContainer; exports.useSectionNavigation = _chunkY53BXHK2cjs.useSectionNavigation;
90
+ exports.AppHeader = _chunk4F6PM3PZcjs.AppHeader; exports.AppLayout = _chunk4F6PM3PZcjs.AppLayout; exports.AppLayoutDrawer = _chunk4F6PM3PZcjs.AppLayoutDrawerRoot; exports.AppLayoutDrawerBody = _chunk4F6PM3PZcjs.AppLayoutDrawerBody; exports.AppLayoutDrawerClose = _chunk4F6PM3PZcjs.AppLayoutDrawerClose; exports.AppLayoutDrawerContent = _chunk4F6PM3PZcjs.AppLayoutDrawerContent; exports.AppLayoutDrawerDescription = _chunk4F6PM3PZcjs.AppLayoutDrawerDescription; exports.AppLayoutDrawerFooter = _chunk4F6PM3PZcjs.AppLayoutDrawerFooter; exports.AppLayoutDrawerHeader = _chunk4F6PM3PZcjs.AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = _chunk4F6PM3PZcjs.AppLayoutDrawerTitle; exports.AppLayoutDrawerTrigger = _chunk4F6PM3PZcjs.AppLayoutDrawerTrigger; exports.ClientOnlyHeader = _chunk4F6PM3PZcjs.ClientOnlyHeader; exports.Header = _chunk4F6PM3PZcjs.Header; exports.HeaderButton = _chunk4F6PM3PZcjs.HeaderButton; exports.HeaderGlobalSearch = _chunk4F6PM3PZcjs.HeaderGlobalSearch; exports.HeaderMingoButton = _chunk4F6PM3PZcjs.HeaderMingoButton; exports.HeaderOrganizationFilter = _chunk4F6PM3PZcjs.HeaderOrganizationFilter; exports.HeaderSkeleton = _chunk4F6PM3PZcjs.HeaderSkeleton; exports.MOBILE_NAV_PANEL_ID = _chunk4F6PM3PZcjs.MOBILE_NAV_PANEL_ID; exports.MingoAiButton = _chunk4F6PM3PZcjs.MingoAiButton; exports.MobileBurgerMenu = _chunk4F6PM3PZcjs.MobileBurgerMenu; exports.MobileNavPanel = _chunk4F6PM3PZcjs.MobileNavPanel; exports.MobileNavigationDropdown = _chunk4F6PM3PZcjs.MobileNavigationDropdown; exports.MultiLevelNavigation = _chunk4F6PM3PZcjs.MultiLevelNavigation; exports.NAVIGATION_SIDEBAR_WIDTH_VAR = _chunk4F6PM3PZcjs.NAVIGATION_SIDEBAR_WIDTH_VAR; exports.NavigationSidebar = _chunk4F6PM3PZcjs.NavigationSidebar; exports.SlidingSidebar = _chunk4F6PM3PZcjs.SlidingSidebar; exports.StickySectionNav = _chunk4F6PM3PZcjs.StickySectionNav; exports.TicketAlertsButton = _chunk4F6PM3PZcjs.TicketAlertsButton; exports.TopNavigation = _chunk4F6PM3PZcjs.TopNavigation; exports.UnreadCountBadge = _chunk4F6PM3PZcjs.UnreadCountBadge; exports.UnreadDot = _chunk4F6PM3PZcjs.UnreadDot; exports.useAppLayoutDrawerContainer = _chunk4F6PM3PZcjs.useAppLayoutDrawerContainer; exports.useSectionNavigation = _chunk4F6PM3PZcjs.useSectionNavigation;
91
91
  //# sourceMappingURL=index.cjs.map
@@ -35,7 +35,7 @@ import {
35
35
  UnreadDot,
36
36
  useAppLayoutDrawerContainer,
37
37
  useSectionNavigation
38
- } from "../../chunk-ZKMDCEML.js";
38
+ } from "../../chunk-7VBPGRVN.js";
39
39
  import "../../chunk-7EUIW46X.js";
40
40
  import "../../chunk-LXC6P2EO.js";
41
41
  import "../../chunk-EL5YVPD5.js";
@@ -7,11 +7,11 @@
7
7
 
8
8
 
9
9
 
10
- var _chunkSJVNTV4Vcjs = require('../../chunk-SJVNTV4V.cjs');
11
- require('../../chunk-D65WB4OJ.cjs');
12
- require('../../chunk-ZICOTVNH.cjs');
10
+ var _chunkLGXE2AEVcjs = require('../../chunk-LGXE2AEV.cjs');
11
+ require('../../chunk-6UQWG5I3.cjs');
12
+ require('../../chunk-AAUR5R54.cjs');
13
13
  require('../../chunk-GYONSC3U.cjs');
14
- require('../../chunk-Y53BXHK2.cjs');
14
+ require('../../chunk-4F6PM3PZ.cjs');
15
15
  require('../../chunk-C5RS3QLV.cjs');
16
16
  require('../../chunk-XL4V2PYG.cjs');
17
17
  require('../../chunk-BZFW3FOF.cjs');
@@ -36,5 +36,5 @@ require('../../chunk-VRHGVLSL.cjs');
36
36
 
37
37
 
38
38
 
39
- exports.OnboardingGuideDetailView = _chunkSJVNTV4Vcjs.OnboardingGuideDetailView; exports.OnboardingGuidesCatalogSkeleton = _chunkSJVNTV4Vcjs.OnboardingGuidesCatalogSkeleton; exports.OnboardingGuidesCatalogView = _chunkSJVNTV4Vcjs.OnboardingGuidesCatalogView; exports.onboardingGuideKeys = _chunkSJVNTV4Vcjs.onboardingGuideKeys; exports.useOnboardingGuide = _chunkSJVNTV4Vcjs.useOnboardingGuide; exports.useOnboardingGuideSections = _chunkSJVNTV4Vcjs.useOnboardingGuideSections; exports.useOnboardingGuides = _chunkSJVNTV4Vcjs.useOnboardingGuides;
39
+ exports.OnboardingGuideDetailView = _chunkLGXE2AEVcjs.OnboardingGuideDetailView; exports.OnboardingGuidesCatalogSkeleton = _chunkLGXE2AEVcjs.OnboardingGuidesCatalogSkeleton; exports.OnboardingGuidesCatalogView = _chunkLGXE2AEVcjs.OnboardingGuidesCatalogView; exports.onboardingGuideKeys = _chunkLGXE2AEVcjs.onboardingGuideKeys; exports.useOnboardingGuide = _chunkLGXE2AEVcjs.useOnboardingGuide; exports.useOnboardingGuideSections = _chunkLGXE2AEVcjs.useOnboardingGuideSections; exports.useOnboardingGuides = _chunkLGXE2AEVcjs.useOnboardingGuides;
40
40
  //# sourceMappingURL=index.cjs.map
@@ -7,11 +7,11 @@ import {
7
7
  useOnboardingGuide,
8
8
  useOnboardingGuideSections,
9
9
  useOnboardingGuides
10
- } from "../../chunk-YNLTPZGW.js";
11
- import "../../chunk-K6MT67YI.js";
12
- import "../../chunk-6A4Q54YT.js";
10
+ } from "../../chunk-SDO4UX2O.js";
11
+ import "../../chunk-YJ4HQMTZ.js";
12
+ import "../../chunk-4MHFBAWI.js";
13
13
  import "../../chunk-RCBRCZUF.js";
14
- import "../../chunk-ZKMDCEML.js";
14
+ import "../../chunk-7VBPGRVN.js";
15
15
  import "../../chunk-7EUIW46X.js";
16
16
  import "../../chunk-LXC6P2EO.js";
17
17
  import "../../chunk-EL5YVPD5.js";
@@ -2,9 +2,9 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkI7GS3XJ2cjs = require('../../chunk-I7GS3XJ2.cjs');
5
+ var _chunkYIMLAERDcjs = require('../../chunk-YIMLAERD.cjs');
6
6
  require('../../chunk-GYONSC3U.cjs');
7
- require('../../chunk-Y53BXHK2.cjs');
7
+ require('../../chunk-4F6PM3PZ.cjs');
8
8
  require('../../chunk-C5RS3QLV.cjs');
9
9
  require('../../chunk-XL4V2PYG.cjs');
10
10
  require('../../chunk-BZFW3FOF.cjs');
@@ -24,5 +24,5 @@ require('../../chunk-VRHGVLSL.cjs');
24
24
 
25
25
 
26
26
 
27
- exports.GROUP_PAGE_SIZE = _chunkI7GS3XJ2cjs.GROUP_PAGE_SIZE; exports.RelatedContentSection = _chunkI7GS3XJ2cjs.RelatedContentSection;
27
+ exports.GROUP_PAGE_SIZE = _chunkYIMLAERDcjs.GROUP_PAGE_SIZE; exports.RelatedContentSection = _chunkYIMLAERDcjs.RelatedContentSection;
28
28
  //# sourceMappingURL=index.cjs.map
@@ -2,9 +2,9 @@
2
2
  import {
3
3
  GROUP_PAGE_SIZE,
4
4
  RelatedContentSection
5
- } from "../../chunk-VP24YWHP.js";
5
+ } from "../../chunk-H7A76OL4.js";
6
6
  import "../../chunk-RCBRCZUF.js";
7
- import "../../chunk-ZKMDCEML.js";
7
+ import "../../chunk-7VBPGRVN.js";
8
8
  import "../../chunk-7EUIW46X.js";
9
9
  import "../../chunk-LXC6P2EO.js";
10
10
  import "../../chunk-EL5YVPD5.js";
@@ -14,10 +14,10 @@
14
14
 
15
15
 
16
16
 
17
- var _chunkRKM7BOLWcjs = require('../../chunk-RKM7BOLW.cjs');
18
- require('../../chunk-GJACMJS3.cjs');
19
- require('../../chunk-DMYUV5NS.cjs');
20
- require('../../chunk-FDIYSQNO.cjs');
17
+ var _chunkTZ4DGS4Qcjs = require('../../chunk-TZ4DGS4Q.cjs');
18
+ require('../../chunk-JWZ6BY72.cjs');
19
+ require('../../chunk-JHJR4LW3.cjs');
20
+ require('../../chunk-EJYTNLS3.cjs');
21
21
 
22
22
 
23
23
 
@@ -26,7 +26,7 @@ require('../../chunk-FDIYSQNO.cjs');
26
26
 
27
27
 
28
28
 
29
- var _chunkY53BXHK2cjs = require('../../chunk-Y53BXHK2.cjs');
29
+ var _chunk4F6PM3PZcjs = require('../../chunk-4F6PM3PZ.cjs');
30
30
  require('../../chunk-C5RS3QLV.cjs');
31
31
  require('../../chunk-XL4V2PYG.cjs');
32
32
  require('../../chunk-BZFW3FOF.cjs');
@@ -65,5 +65,5 @@ require('../../chunk-VRHGVLSL.cjs');
65
65
 
66
66
 
67
67
 
68
- exports.HelpCenterCard = _chunkRKM7BOLWcjs.HelpCenterCard; exports.HelpCenterCreateForm = _chunkRKM7BOLWcjs.HelpCenterCreateForm; exports.HelpCenterCreateFormSkeleton = _chunkRKM7BOLWcjs.HelpCenterCreateFormSkeleton; exports.HelpCenterList = _chunkRKM7BOLWcjs.HelpCenterList; exports.TICKET_OPEN_PARAM = _chunkY53BXHK2cjs.TICKET_OPEN_PARAM; exports.TICKET_TOAST_COPY = _chunkY53BXHK2cjs.TOAST_COPY; exports.TicketCenter = _chunkRKM7BOLWcjs.TicketCenter; exports.TicketDetailDrawer = _chunkRKM7BOLWcjs.TicketDetailDrawer; exports.TicketLinkedDeliveryCard = _chunkRKM7BOLWcjs.TicketLinkedDeliveryCard; exports.TicketLiveProvider = _chunkY53BXHK2cjs.TicketLiveProvider; exports.TicketOpenForm = _chunkRKM7BOLWcjs.TicketOpenForm; exports.TicketReplyComposer = _chunkRKM7BOLWcjs.TicketReplyComposer; exports.TicketRow = _chunkRKM7BOLWcjs.TicketRow; exports.buildTicketOpenHref = _chunkY53BXHK2cjs.buildTicketOpenHref; exports.isOptimistic = _chunkY53BXHK2cjs.isOptimistic; exports.mapTicketActionError = _chunkRKM7BOLWcjs.mapTicketActionError; exports.useOptionalTicketLive = _chunkY53BXHK2cjs.useOptionalTicketLive; exports.useTicketActions = _chunkRKM7BOLWcjs.useTicketActions; exports.useTicketEngagements = _chunkRKM7BOLWcjs.useTicketEngagements; exports.useTicketLive = _chunkY53BXHK2cjs.useTicketLive; exports.useTicketsList = _chunkRKM7BOLWcjs.useTicketsList;
68
+ exports.HelpCenterCard = _chunkTZ4DGS4Qcjs.HelpCenterCard; exports.HelpCenterCreateForm = _chunkTZ4DGS4Qcjs.HelpCenterCreateForm; exports.HelpCenterCreateFormSkeleton = _chunkTZ4DGS4Qcjs.HelpCenterCreateFormSkeleton; exports.HelpCenterList = _chunkTZ4DGS4Qcjs.HelpCenterList; exports.TICKET_OPEN_PARAM = _chunk4F6PM3PZcjs.TICKET_OPEN_PARAM; exports.TICKET_TOAST_COPY = _chunk4F6PM3PZcjs.TOAST_COPY; exports.TicketCenter = _chunkTZ4DGS4Qcjs.TicketCenter; exports.TicketDetailDrawer = _chunkTZ4DGS4Qcjs.TicketDetailDrawer; exports.TicketLinkedDeliveryCard = _chunkTZ4DGS4Qcjs.TicketLinkedDeliveryCard; exports.TicketLiveProvider = _chunk4F6PM3PZcjs.TicketLiveProvider; exports.TicketOpenForm = _chunkTZ4DGS4Qcjs.TicketOpenForm; exports.TicketReplyComposer = _chunkTZ4DGS4Qcjs.TicketReplyComposer; exports.TicketRow = _chunkTZ4DGS4Qcjs.TicketRow; exports.buildTicketOpenHref = _chunk4F6PM3PZcjs.buildTicketOpenHref; exports.isOptimistic = _chunk4F6PM3PZcjs.isOptimistic; exports.mapTicketActionError = _chunkTZ4DGS4Qcjs.mapTicketActionError; exports.useOptionalTicketLive = _chunk4F6PM3PZcjs.useOptionalTicketLive; exports.useTicketActions = _chunkTZ4DGS4Qcjs.useTicketActions; exports.useTicketEngagements = _chunkTZ4DGS4Qcjs.useTicketEngagements; exports.useTicketLive = _chunk4F6PM3PZcjs.useTicketLive; exports.useTicketsList = _chunkTZ4DGS4Qcjs.useTicketsList;
69
69
  //# sourceMappingURL=index.cjs.map
@@ -14,10 +14,10 @@ import {
14
14
  useTicketActions,
15
15
  useTicketEngagements,
16
16
  useTicketsList
17
- } from "../../chunk-CPGFDMXS.js";
18
- import "../../chunk-BPJI4IO6.js";
19
- import "../../chunk-IRVTRJVV.js";
20
- import "../../chunk-PGSUFJ5X.js";
17
+ } from "../../chunk-4YLOTTXF.js";
18
+ import "../../chunk-BTO3EDRL.js";
19
+ import "../../chunk-IK3EES6I.js";
20
+ import "../../chunk-EZRCK5UW.js";
21
21
  import {
22
22
  TICKET_OPEN_PARAM,
23
23
  TOAST_COPY,
@@ -26,7 +26,7 @@ import {
26
26
  isOptimistic,
27
27
  useOptionalTicketLive,
28
28
  useTicketLive
29
- } from "../../chunk-ZKMDCEML.js";
29
+ } from "../../chunk-7VBPGRVN.js";
30
30
  import "../../chunk-7EUIW46X.js";
31
31
  import "../../chunk-LXC6P2EO.js";
32
32
  import "../../chunk-EL5YVPD5.js";
@@ -1,26 +1,57 @@
1
1
  import React from 'react';
2
- import { type ActionsMenuItem } from './actions-menu';
2
+ import { type ButtonProps } from './button';
3
+ import { type ActionsMenuGroup, type ActionsMenuItem } from './actions-menu';
3
4
  export interface DropdownButtonProps {
4
5
  /** Button label rendered next to the chevron. */
5
- label: string;
6
+ label: React.ReactNode;
6
7
  /** Optional leading icon rendered before the label. */
7
8
  icon?: React.ReactNode;
8
- /** Items shown in the dropdown. */
9
- items: ActionsMenuItem[];
9
+ /**
10
+ * Items shown in the dropdown (single flat group). For grouped menus with
11
+ * separators pass `groups` instead — exactly one of the two is required.
12
+ */
13
+ items?: ActionsMenuItem[];
14
+ /** Grouped items (with optional separators). Takes precedence over `items`. */
15
+ groups?: ActionsMenuGroup[];
16
+ /**
17
+ * Render the trigger as a standard `Button` of this variant (`outline`,
18
+ * `accent`, …) instead of the default card-colored seam trigger. Use this
19
+ * when the dropdown sits in a row of ordinary buttons and must match them.
20
+ */
21
+ variant?: ButtonProps['variant'];
22
+ /** Button size for the `variant` trigger. Ignored without `variant`. */
23
+ size?: ButtonProps['size'];
24
+ /** Spinner state for the `variant` trigger. Ignored without `variant`. */
25
+ loading?: boolean;
10
26
  disabled?: boolean;
11
27
  className?: string;
12
28
  ariaLabel?: string;
13
29
  align?: 'start' | 'center' | 'end';
14
30
  side?: 'top' | 'right' | 'bottom' | 'left';
31
+ /**
32
+ * Forwarded to the dropdown content. The standard Radix dropdown→dialog
33
+ * recipe: pass `(e) => e.preventDefault()` when a menu item opens a modal,
34
+ * otherwise closing the menu refocuses its trigger AFTER the dialog has
35
+ * taken focus, yanking focus back OUT of the modal the action just opened.
36
+ */
37
+ onCloseAutoFocus?: (event: Event) => void;
15
38
  }
16
39
  /**
17
- * A card-colored trigger button that opens a dropdown of actions. The button
18
- * has a visual seam between the label and the trailing chevron, but the
19
- * entire surface is a single click target. The wrapper lightens on hover and
20
- * while the dropdown is open; the chevron rotates 180° to point up when open.
40
+ * THE multi-action button — a labeled trigger with a chevron opening an
41
+ * `ActionsMenu`. One component, so the trigger styling, chevron, and menu
42
+ * chrome cannot drift between surfaces.
21
43
  *
22
- * Used standalone or via `PageActions` when a `PageActionButton` has
23
- * `dropdownItems` set.
44
+ * Two trigger looks:
45
+ * - default (no `variant`): the card-colored seam trigger — label and chevron
46
+ * separated by a divider, whole surface one click target, chevron rotates
47
+ * while open. Used standalone or via `PageActions` when a `PageActionButton`
48
+ * has `dropdownItems` set.
49
+ * - `variant="outline"` (or any Button variant): a standard `Button` with the
50
+ * chevron as its right icon, so the trigger matches sibling buttons in the
51
+ * same row — including `loading` and `leftIcon` support.
52
+ *
53
+ * Item clicks close the menu (ActionsMenuDropdown's default; opt out per item
54
+ * with `closeOnSelect: false`).
24
55
  */
25
- export declare function DropdownButton({ label, icon, items, disabled, className, ariaLabel, align, side }: DropdownButtonProps): React.JSX.Element;
56
+ export declare function DropdownButton({ label, icon, items, groups, variant, size, loading, disabled, className, ariaLabel, align, side, onCloseAutoFocus }: DropdownButtonProps): React.JSX.Element;
26
57
  //# sourceMappingURL=dropdown-button.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-button.d.ts","sourceRoot":"","sources":["../../../src/components/ui/dropdown-button.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAuB,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAE1E,MAAM,WAAW,mBAAmB;IAClC,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAA;IACb,uDAAuD;IACvD,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,mCAAmC;IACnC,KAAK,EAAE,eAAe,EAAE,CAAA;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAA;IAClC,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAA;CAC3C;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,SAAS,EACT,SAAS,EACT,KAAa,EACb,IAAe,EAChB,EAAE,mBAAmB,qBAoDrB"}
1
+ {"version":3,"file":"dropdown-button.d.ts","sourceRoot":"","sources":["../../../src/components/ui/dropdown-button.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,UAAU,CAAA;AACnD,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACrB,MAAM,gBAAgB,CAAA;AAEvB,MAAM,WAAW,mBAAmB;IAClC,iDAAiD;IACjD,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,uDAAuD;IACvD,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB;;;OAGG;IACH,KAAK,CAAC,EAAE,eAAe,EAAE,CAAA;IACzB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC3B;;;;OAIG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAA;IAChC,wEAAwE;IACxE,IAAI,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC1B,0EAA0E;IAC1E,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAA;IAClC,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAA;IAC1C;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;CAC1C;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,IAAI,EACJ,KAAK,EACL,MAAM,EACN,OAAO,EACP,IAAqB,EACrB,OAAe,EACf,QAAQ,EACR,SAAS,EACT,SAAS,EACT,KAAa,EACb,IAAe,EACf,gBAAgB,EACjB,EAAE,mBAAmB,qBA2ErB"}
@@ -0,0 +1,38 @@
1
+ import * as React from 'react';
2
+ /**
3
+ * Accessibility props handed to the control by the `Field` render-prop.
4
+ * Spread them onto the input/select/textarea so the label, required flag and
5
+ * error message are all announced.
6
+ */
7
+ export interface FieldRenderProps {
8
+ id: string;
9
+ 'aria-required'?: boolean;
10
+ 'aria-invalid'?: boolean;
11
+ 'aria-describedby'?: string;
12
+ }
13
+ export interface FieldProps {
14
+ label: string;
15
+ /** Definition shown in a hover `InfoHint` next to the label. */
16
+ hint?: React.ReactNode;
17
+ required?: boolean;
18
+ children: React.ReactNode | ((props: FieldRenderProps) => React.ReactNode);
19
+ error?: string | null;
20
+ }
21
+ /**
22
+ * One form field: label, optional hint, control, optional error.
23
+ *
24
+ * Labels are a single line (hints live in the hover InfoHint icon, never in
25
+ * flow), so cells top-align naturally and controls land on the same baseline.
26
+ * Do NOT reintroduce `h-full` + `mt-auto` here: in a grid row it stretches the
27
+ * cell to the tallest sibling and shoves this cell's control down to align with
28
+ * the bottom of the sibling's ERROR text, detaching it from its own label.
29
+ *
30
+ * The label is tied to its control with a generated id, so clicking the label
31
+ * focuses the input and assistive tech announces the field by name. ALWAYS use
32
+ * the render-prop form — `{(f) => <Input {...f} />}` — and spread what it gives
33
+ * you onto the control. Passing a plain node leaves `htmlFor` pointing at an id
34
+ * that exists on no element, which is worse than no association at all: the
35
+ * label looks wired up and announces nothing.
36
+ */
37
+ export declare function Field({ label, hint, required, children, error }: FieldProps): React.JSX.Element;
38
+ //# sourceMappingURL=field.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../../src/components/ui/field.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,gEAAgE;IAChE,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,EAAE,gBAAgB,KAAK,KAAK,CAAC,SAAS,CAAC,CAAA;IAC1E,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACtB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,UAAU,qBA8B3E"}