@flamingo-stack/openframe-frontend-core 0.0.528-1696.4455.1 → 0.0.528

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 (97) hide show
  1. package/dist/{chunk-M4GZVMXN.js → chunk-2BJE6RJL.js} +2 -2
  2. package/dist/{chunk-OEQJ3MU5.js → chunk-2CINL7LX.js} +2 -2
  3. package/dist/{chunk-V4SEL4AV.cjs → chunk-A4L6WECD.cjs} +87 -87
  4. package/dist/{chunk-V4SEL4AV.cjs.map → chunk-A4L6WECD.cjs.map} +1 -1
  5. package/dist/{chunk-UK6W7FZ2.cjs → chunk-BNZZW22T.cjs} +4 -4
  6. package/dist/{chunk-UK6W7FZ2.cjs.map → chunk-BNZZW22T.cjs.map} +1 -1
  7. package/dist/{chunk-WAJR5NQH.js → chunk-CEW75UG3.js} +6 -6
  8. package/dist/{chunk-WD7HOP7E.js → chunk-DMZEPDVA.js} +2 -2
  9. package/dist/{chunk-XZ7EYGF4.cjs → chunk-GXHLS4BG.cjs} +26 -26
  10. package/dist/{chunk-XZ7EYGF4.cjs.map → chunk-GXHLS4BG.cjs.map} +1 -1
  11. package/dist/{chunk-GNKQR7F5.js → chunk-HPD7C5HN.js} +2 -2
  12. package/dist/{chunk-MH4CJO6T.js → chunk-ILAQ6JAP.js} +101 -59
  13. package/dist/chunk-ILAQ6JAP.js.map +1 -0
  14. package/dist/{chunk-XCJAYIBG.cjs → chunk-J3F2MKEN.cjs} +101 -59
  15. package/dist/chunk-J3F2MKEN.cjs.map +1 -0
  16. package/dist/{chunk-JXUGR5YY.js → chunk-JNCGKJAQ.js} +2 -2
  17. package/dist/{chunk-7T364QDF.cjs → chunk-JUYDVY52.cjs} +7 -7
  18. package/dist/{chunk-7T364QDF.cjs.map → chunk-JUYDVY52.cjs.map} +1 -1
  19. package/dist/{chunk-MFX2BVYC.js → chunk-L5FCJQV5.js} +4 -4
  20. package/dist/{chunk-2MESK2PA.cjs → chunk-LHIHJY7R.cjs} +37 -37
  21. package/dist/{chunk-2MESK2PA.cjs.map → chunk-LHIHJY7R.cjs.map} +1 -1
  22. package/dist/{chunk-G2UNFOUQ.cjs → chunk-M2FDNO7X.cjs} +31 -31
  23. package/dist/{chunk-G2UNFOUQ.cjs.map → chunk-M2FDNO7X.cjs.map} +1 -1
  24. package/dist/{chunk-DCC4JOHA.js → chunk-M776O7UE.js} +2 -2
  25. package/dist/{chunk-UUXH7BUH.cjs → chunk-NKS47IL3.cjs} +26 -26
  26. package/dist/{chunk-UUXH7BUH.cjs.map → chunk-NKS47IL3.cjs.map} +1 -1
  27. package/dist/{chunk-5FIOGJYY.js → chunk-PIVTJ6ON.js} +2 -2
  28. package/dist/{chunk-ZK5R2ETI.cjs → chunk-Q5VC7YZB.cjs} +5 -5
  29. package/dist/{chunk-ZK5R2ETI.cjs.map → chunk-Q5VC7YZB.cjs.map} +1 -1
  30. package/dist/{chunk-L7QFCN7X.cjs → chunk-QIDOKHTY.cjs} +9 -9
  31. package/dist/{chunk-L7QFCN7X.cjs.map → chunk-QIDOKHTY.cjs.map} +1 -1
  32. package/dist/{chunk-JEGQYX3Q.js → chunk-R36QWZH7.js} +4 -4
  33. package/dist/{chunk-5IFYGGPY.cjs → chunk-RAPSFNOB.cjs} +11 -11
  34. package/dist/{chunk-5IFYGGPY.cjs.map → chunk-RAPSFNOB.cjs.map} +1 -1
  35. package/dist/{chunk-Q24J6PBQ.js → chunk-RNSH2XXF.js} +5 -5
  36. package/dist/{chunk-ZQHTNIVM.js → chunk-UPNHXQCV.js} +2 -2
  37. package/dist/{chunk-ZRLVYZZC.cjs → chunk-VTQMYRTR.cjs} +3 -3
  38. package/dist/{chunk-ZRLVYZZC.cjs.map → chunk-VTQMYRTR.cjs.map} +1 -1
  39. package/dist/{chunk-YCCIFVKW.js → chunk-Y22BJ35V.js} +2 -2
  40. package/dist/{chunk-HDWVZMQN.cjs → chunk-Y667ZH35.cjs} +14 -14
  41. package/dist/{chunk-HDWVZMQN.cjs.map → chunk-Y667ZH35.cjs.map} +1 -1
  42. package/dist/{chunk-4XPLNCH3.cjs → chunk-ZDKZA5SX.cjs} +61 -61
  43. package/dist/{chunk-4XPLNCH3.cjs.map → chunk-ZDKZA5SX.cjs.map} +1 -1
  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/help-center-pages/index.cjs +22 -22
  59. package/dist/components/help-center-pages/index.js +13 -13
  60. package/dist/components/index.cjs +132 -132
  61. package/dist/components/index.js +11 -11
  62. package/dist/components/meeting-scheduler/index.cjs +34 -34
  63. package/dist/components/meeting-scheduler/index.js +3 -3
  64. package/dist/components/navigation/index.cjs +2 -2
  65. package/dist/components/navigation/index.js +1 -1
  66. package/dist/components/onboarding-guides/index.cjs +5 -5
  67. package/dist/components/onboarding-guides/index.js +4 -4
  68. package/dist/components/related-content/index.cjs +3 -3
  69. package/dist/components/related-content/index.js +2 -2
  70. package/dist/components/tickets/index.cjs +6 -6
  71. package/dist/components/tickets/index.js +5 -5
  72. package/dist/components/ui/alert-dialog.d.ts.map +1 -1
  73. package/dist/components/ui/dialog.d.ts.map +1 -1
  74. package/dist/components/ui/index.cjs +2 -2
  75. package/dist/components/ui/index.js +1 -1
  76. package/dist/components/ui/modal-v2.d.ts.map +1 -1
  77. package/dist/index.cjs +2 -2
  78. package/dist/index.js +1 -1
  79. package/package.json +1 -1
  80. package/src/components/ui/alert-dialog.tsx +10 -1
  81. package/src/components/ui/dialog.tsx +24 -2
  82. package/src/components/ui/modal-v2.tsx +24 -2
  83. package/dist/chunk-MH4CJO6T.js.map +0 -1
  84. package/dist/chunk-XCJAYIBG.cjs.map +0 -1
  85. /package/dist/{chunk-M4GZVMXN.js.map → chunk-2BJE6RJL.js.map} +0 -0
  86. /package/dist/{chunk-OEQJ3MU5.js.map → chunk-2CINL7LX.js.map} +0 -0
  87. /package/dist/{chunk-WAJR5NQH.js.map → chunk-CEW75UG3.js.map} +0 -0
  88. /package/dist/{chunk-WD7HOP7E.js.map → chunk-DMZEPDVA.js.map} +0 -0
  89. /package/dist/{chunk-GNKQR7F5.js.map → chunk-HPD7C5HN.js.map} +0 -0
  90. /package/dist/{chunk-JXUGR5YY.js.map → chunk-JNCGKJAQ.js.map} +0 -0
  91. /package/dist/{chunk-MFX2BVYC.js.map → chunk-L5FCJQV5.js.map} +0 -0
  92. /package/dist/{chunk-DCC4JOHA.js.map → chunk-M776O7UE.js.map} +0 -0
  93. /package/dist/{chunk-5FIOGJYY.js.map → chunk-PIVTJ6ON.js.map} +0 -0
  94. /package/dist/{chunk-JEGQYX3Q.js.map → chunk-R36QWZH7.js.map} +0 -0
  95. /package/dist/{chunk-Q24J6PBQ.js.map → chunk-RNSH2XXF.js.map} +0 -0
  96. /package/dist/{chunk-ZQHTNIVM.js.map → chunk-UPNHXQCV.js.map} +0 -0
  97. /package/dist/{chunk-YCCIFVKW.js.map → chunk-Y22BJ35V.js.map} +0 -0
@@ -10868,62 +10868,76 @@ var Modal = React26.forwardRef(
10868
10868
  }, [isOpen, onClose]);
10869
10869
  if (!isMounted) return null;
10870
10870
  const state = isOpen ? "open" : "closed";
10871
- return /* @__PURE__ */ jsx57(RemoveScroll, { enabled: isOpen, removeScrollBar: false, children: /* @__PURE__ */ jsxs46("div", { className: "fixed inset-0 z-[1300] flex items-end md:items-center justify-center", children: [
10872
- /* @__PURE__ */ jsx57(
10873
- "div",
10874
- {
10875
- "data-state": state,
10876
- className: cn(
10877
- "absolute inset-0 bg-ods-overlay backdrop-blur-[2px] md:backdrop-blur-none",
10878
- "duration-200 fill-mode-forwards",
10879
- "data-[state=open]:animate-in data-[state=open]:fade-in-0",
10880
- "data-[state=closed]:animate-out data-[state=closed]:fade-out-0",
10881
- // Hold the hidden end-state until unmount so the backdrop doesn't
10882
- // flash back to full opacity when the animation finishes a frame
10883
- // before the unmount timeout fires.
10884
- "data-[state=closed]:fill-mode-forwards"
10885
- ),
10886
- onClick: onClose,
10887
- "aria-hidden": "true"
10888
- }
10889
- ),
10890
- /* @__PURE__ */ jsx57(
10891
- "div",
10892
- {
10893
- ref: (node) => {
10894
- panelRef.current = node;
10895
- if (typeof ref === "function") ref(node);
10896
- else if (ref) ref.current = node;
10897
- },
10898
- tabIndex: -1,
10899
- "data-state": state,
10900
- className: cn(
10901
- // min() keeps the desktop cap at 28rem while never letting content
10902
- // stretch the panel past the viewport (minus the mx-4 margins) on
10903
- // narrow screens. A single base utility (not md:max-w-md) so consumer
10904
- // max-w-* overrides via className still win at every breakpoint.
10905
- "relative z-10 w-full min-w-0 max-w-[min(28rem,calc(100vw-2rem))] flex flex-col",
10906
- "mx-4 mb-4 md:mb-0",
10907
- "max-h-[90vh]",
10908
- "bg-ods-bg md:bg-ods-card",
10909
- "border border-ods-border rounded-md shadow-xl",
10910
- "p-[var(--spacing-system-xl)] gap-[var(--spacing-system-l)]",
10911
- "duration-200 fill-mode-forwards",
10912
- "data-[state=open]:animate-in data-[state=open]:fade-in-0",
10913
- "data-[state=open]:slide-in-from-bottom-4 md:data-[state=open]:slide-in-from-bottom-0 md:data-[state=open]:zoom-in-95",
10914
- "data-[state=closed]:animate-out data-[state=closed]:fade-out-0",
10915
- "data-[state=closed]:slide-out-to-bottom-4 md:data-[state=closed]:slide-out-to-bottom-0 md:data-[state=closed]:zoom-out-95",
10916
- // Hold the hidden end-state until unmount so the panel doesn't snap
10917
- // back to opacity/scale 1 for a frame before it unmounts.
10918
- "data-[state=closed]:fill-mode-forwards",
10919
- className
10871
+ return /* @__PURE__ */ jsx57(RemoveScroll, { enabled: isOpen, removeScrollBar: false, children: /* @__PURE__ */ jsxs46(
10872
+ "div",
10873
+ {
10874
+ className: "fixed inset-0 z-[1300] flex items-end md:items-center justify-center transition-[padding] duration-200",
10875
+ style: { paddingBottom: "var(--of-keyboard-inset, 0px)" },
10876
+ children: [
10877
+ /* @__PURE__ */ jsx57(
10878
+ "div",
10879
+ {
10880
+ "data-state": state,
10881
+ className: cn(
10882
+ "absolute inset-0 bg-ods-overlay backdrop-blur-[2px] md:backdrop-blur-none",
10883
+ "duration-200 fill-mode-forwards",
10884
+ "data-[state=open]:animate-in data-[state=open]:fade-in-0",
10885
+ "data-[state=closed]:animate-out data-[state=closed]:fade-out-0",
10886
+ // Hold the hidden end-state until unmount so the backdrop doesn't
10887
+ // flash back to full opacity when the animation finishes a frame
10888
+ // before the unmount timeout fires.
10889
+ "data-[state=closed]:fill-mode-forwards"
10890
+ ),
10891
+ onClick: onClose,
10892
+ "aria-hidden": "true"
10893
+ }
10920
10894
  ),
10921
- role: "dialog",
10922
- "aria-modal": "true",
10923
- children: /* @__PURE__ */ jsx57(ModalContext.Provider, { value: { onClose }, children })
10924
- }
10925
- )
10926
- ] }) });
10895
+ /* @__PURE__ */ jsx57(
10896
+ "div",
10897
+ {
10898
+ ref: (node) => {
10899
+ panelRef.current = node;
10900
+ if (typeof ref === "function") ref(node);
10901
+ else if (ref) ref.current = node;
10902
+ },
10903
+ tabIndex: -1,
10904
+ "data-state": state,
10905
+ className: cn(
10906
+ // min() keeps the desktop cap at 28rem while never letting content
10907
+ // stretch the panel past the viewport (minus the mx-4 margins) on
10908
+ // narrow screens. A single base utility (not md:max-w-md) so consumer
10909
+ // max-w-* overrides via className still win at every breakpoint.
10910
+ "relative z-10 w-full min-w-0 max-w-[min(28rem,calc(100vw-2rem))] flex flex-col",
10911
+ "mx-4 mb-4 md:mb-0",
10912
+ // dvh, not vh: vh ignores a mobile browser's retracting URL bar, so
10913
+ // 90vh already overflowed behind Safari's toolbar. The `100%-2rem`
10914
+ // arm resolves against the keyboard-padded wrapper above and caps
10915
+ // the panel to what's left of it, less the 1rem `mb-4` and a
10916
+ // matching 1rem of breathing room at the top — header and footer
10917
+ // stay pinned, ModalV2Content scrolls. min() picks 90dvh on any
10918
+ // viewport over 320px tall, so desktop is untouched.
10919
+ "max-h-[min(90dvh,100%-2rem)]",
10920
+ "bg-ods-bg md:bg-ods-card",
10921
+ "border border-ods-border rounded-md shadow-xl",
10922
+ "p-[var(--spacing-system-xl)] gap-[var(--spacing-system-l)]",
10923
+ "duration-200 fill-mode-forwards",
10924
+ "data-[state=open]:animate-in data-[state=open]:fade-in-0",
10925
+ "data-[state=open]:slide-in-from-bottom-4 md:data-[state=open]:slide-in-from-bottom-0 md:data-[state=open]:zoom-in-95",
10926
+ "data-[state=closed]:animate-out data-[state=closed]:fade-out-0",
10927
+ "data-[state=closed]:slide-out-to-bottom-4 md:data-[state=closed]:slide-out-to-bottom-0 md:data-[state=closed]:zoom-out-95",
10928
+ // Hold the hidden end-state until unmount so the panel doesn't snap
10929
+ // back to opacity/scale 1 for a frame before it unmounts.
10930
+ "data-[state=closed]:fill-mode-forwards",
10931
+ className
10932
+ ),
10933
+ role: "dialog",
10934
+ "aria-modal": "true",
10935
+ children: /* @__PURE__ */ jsx57(ModalContext.Provider, { value: { onClose }, children })
10936
+ }
10937
+ )
10938
+ ]
10939
+ }
10940
+ ) });
10927
10941
  }
10928
10942
  );
10929
10943
  Modal.displayName = "ModalV2";
@@ -21312,7 +21326,16 @@ var AlertDialogContent = React67.forwardRef(({ className, ...props }, ref) => /*
21312
21326
  {
21313
21327
  ref,
21314
21328
  className: cn(
21315
- "fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-1/2 data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-1/2 md:rounded-lg",
21329
+ // Centered on the KEYBOARD-FREE area, not the layout viewport: nothing
21330
+ // resizes the viewport when a mobile software keyboard opens, so a
21331
+ // plain top-[50%] leaves the lower half of the dialog behind it. The
21332
+ // max-height keeps that upward shift from pushing the top off-screen.
21333
+ // See modal-v2.tsx for the full reasoning; --of-keyboard-inset is
21334
+ // published by the app (keyboard-inset.ts) and 0 everywhere else.
21335
+ // Content scrolls directly here, where DialogContent has to hand that
21336
+ // job to a wrapper: this Content has no absolutely-positioned close
21337
+ // button for a scroll container to carry off the top.
21338
+ "fixed left-[50%] top-[calc(50%_-_var(--of-keyboard-inset,0px)/2)] z-50 grid w-full max-w-lg max-h-[calc(100dvh_-_var(--of-keyboard-inset,0px)_-_2rem)] overflow-y-auto translate-x-[-50%] translate-y-[-50%] gap-[var(--spacing-system-mf)] border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-1/2 data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-1/2 md:rounded-lg",
21316
21339
  className
21317
21340
  ),
21318
21341
  ...props
@@ -21422,12 +21445,31 @@ var DialogContent = React68.forwardRef(({ className, children, ...props }, ref)
21422
21445
  {
21423
21446
  ref,
21424
21447
  className: cn(
21425
- "fixed left-[50%] top-[50%] z-[9999] grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-1/2 data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-1/2 md:rounded-lg",
21448
+ // Centered on the KEYBOARD-FREE area, not the layout viewport: nothing
21449
+ // resizes the viewport when a mobile software keyboard opens, so a
21450
+ // plain top-[50%] leaves the lower half of the dialog behind it. See
21451
+ // modal-v2.tsx for the full reasoning; --of-keyboard-inset is published
21452
+ // by the app (keyboard-inset.ts) and 0 everywhere else.
21453
+ //
21454
+ // The cap is on THIS box but the scrolling is not: the close button
21455
+ // below is `absolute` against it, so a scroll container here would
21456
+ // carry the X off the top. The wrapper around `children` scrolls
21457
+ // instead, and carries the section gap that used to sit here so
21458
+ // header/body/footer keep their spacing.
21459
+ //
21460
+ // `grid-rows-[minmax(0,1fr)]` is what makes the cap bite. An implicit
21461
+ // row track is `auto`-sized, so it grows to its content and overflows
21462
+ // the max-height no matter what min-height the wrapper carries —
21463
+ // measured at 1136px of rows inside an 843px box. Constraining the
21464
+ // track is what hands the wrapper a scrollbar; `1fr` still collapses to
21465
+ // max-content when the dialog is shorter than the cap, so short dialogs
21466
+ // keep hugging their content.
21467
+ "fixed left-[50%] top-[calc(50%_-_var(--of-keyboard-inset,0px)/2)] z-[9999] grid grid-rows-[minmax(0,1fr)] w-full max-w-lg max-h-[calc(100dvh_-_var(--of-keyboard-inset,0px)_-_2rem)] translate-x-[-50%] translate-y-[-50%] border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-1/2 data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-1/2 md:rounded-lg",
21426
21468
  className
21427
21469
  ),
21428
21470
  ...props,
21429
21471
  children: [
21430
- children,
21472
+ /* @__PURE__ */ jsx141("div", { className: "grid min-h-0 gap-[var(--spacing-system-mf)] overflow-y-auto", children }),
21431
21473
  /* @__PURE__ */ jsxs110(DialogPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground", children: [
21432
21474
  /* @__PURE__ */ jsx141(X3, { className: "h-4 w-4" }),
21433
21475
  /* @__PURE__ */ jsx141("span", { className: "sr-only", children: "Close" })
@@ -62025,4 +62067,4 @@ export {
62025
62067
  LogsList,
62026
62068
  assets
62027
62069
  };
62028
- //# sourceMappingURL=chunk-MH4CJO6T.js.map
62070
+ //# sourceMappingURL=chunk-ILAQ6JAP.js.map