@flamingo-stack/openframe-frontend-core 0.0.535-1762.4618.1 → 0.0.535

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 (122) hide show
  1. package/dist/{chunk-GF5A23J3.cjs → chunk-2P4J2YLI.cjs} +98 -98
  2. package/dist/{chunk-GF5A23J3.cjs.map → chunk-2P4J2YLI.cjs.map} +1 -1
  3. package/dist/{chunk-GS4HJA2G.js → chunk-4A736Z6S.js} +74 -20
  4. package/dist/chunk-4A736Z6S.js.map +1 -0
  5. package/dist/{chunk-GBWS62LR.js → chunk-4DTUUM5V.js} +45 -25
  6. package/dist/{chunk-GBWS62LR.js.map → chunk-4DTUUM5V.js.map} +1 -1
  7. package/dist/{chunk-JW4BTXVH.cjs → chunk-4HQFV4PK.cjs} +14 -14
  8. package/dist/{chunk-JW4BTXVH.cjs.map → chunk-4HQFV4PK.cjs.map} +1 -1
  9. package/dist/{chunk-GYONSC3U.cjs → chunk-4QYUNDS3.cjs} +3 -3
  10. package/dist/{chunk-GYONSC3U.cjs.map → chunk-4QYUNDS3.cjs.map} +1 -1
  11. package/dist/{chunk-T743Z3KN.cjs → chunk-5OLF6WXF.cjs} +40 -40
  12. package/dist/{chunk-T743Z3KN.cjs.map → chunk-5OLF6WXF.cjs.map} +1 -1
  13. package/dist/{chunk-SXLEPNY2.cjs → chunk-5RJUHUCI.cjs} +106 -52
  14. package/dist/chunk-5RJUHUCI.cjs.map +1 -0
  15. package/dist/{chunk-ZUVBTDLG.cjs → chunk-7MHYRBBQ.cjs} +5 -5
  16. package/dist/{chunk-ZUVBTDLG.cjs.map → chunk-7MHYRBBQ.cjs.map} +1 -1
  17. package/dist/{chunk-T4GNFVT3.cjs → chunk-E3YB55RR.cjs} +173 -153
  18. package/dist/chunk-E3YB55RR.cjs.map +1 -0
  19. package/dist/{chunk-JWWZFEFI.js → chunk-EHPQKXXW.js} +3 -3
  20. package/dist/{chunk-JZMQQBUC.cjs → chunk-GV4FDDFV.cjs} +18 -18
  21. package/dist/{chunk-JZMQQBUC.cjs.map → chunk-GV4FDDFV.cjs.map} +1 -1
  22. package/dist/{chunk-XPKCOZQE.js → chunk-JVO5CYMK.js} +8 -8
  23. package/dist/{chunk-6OZWDOP5.js → chunk-K6566PEB.js} +3 -3
  24. package/dist/{chunk-WXRQYGE5.js → chunk-KLFGP6PR.js} +2 -2
  25. package/dist/{chunk-7TQDW3PE.js → chunk-LIQJAC6Z.js} +2 -2
  26. package/dist/{chunk-GS4R5UQ7.js → chunk-LIX5OUHH.js} +2 -2
  27. package/dist/{chunk-RCBRCZUF.js → chunk-LQPHB2YF.js} +2 -2
  28. package/dist/{chunk-5OPVJBHQ.js → chunk-MZVFZMQ6.js} +6 -6
  29. package/dist/{chunk-URBYMQ4Z.js → chunk-N3AEJTCK.js} +5 -5
  30. package/dist/{chunk-DRJC7TTW.js → chunk-NB6BP6JB.js} +3 -3
  31. package/dist/{chunk-DK6IYFLD.cjs → chunk-P65EZEBW.cjs} +12 -12
  32. package/dist/{chunk-DK6IYFLD.cjs.map → chunk-P65EZEBW.cjs.map} +1 -1
  33. package/dist/{chunk-JWJQHURJ.js → chunk-PLGITXT7.js} +2 -2
  34. package/dist/{chunk-HSRHPF32.cjs → chunk-PSBL3S2B.cjs} +7 -7
  35. package/dist/{chunk-HSRHPF32.cjs.map → chunk-PSBL3S2B.cjs.map} +1 -1
  36. package/dist/{chunk-A5EA3YO7.js → chunk-QUVIT4JP.js} +6 -6
  37. package/dist/{chunk-GRGFMXNO.cjs → chunk-RO67OOKJ.cjs} +40 -40
  38. package/dist/{chunk-GRGFMXNO.cjs.map → chunk-RO67OOKJ.cjs.map} +1 -1
  39. package/dist/{chunk-2AMYXNQ2.cjs → chunk-TS2EHMEX.cjs} +29 -29
  40. package/dist/{chunk-2AMYXNQ2.cjs.map → chunk-TS2EHMEX.cjs.map} +1 -1
  41. package/dist/{chunk-WL3PP4D6.cjs → chunk-U2Q7GEX2.cjs} +32 -32
  42. package/dist/{chunk-WL3PP4D6.cjs.map → chunk-U2Q7GEX2.cjs.map} +1 -1
  43. package/dist/{chunk-QHOVACZK.js → chunk-VPDTDKO5.js} +2 -2
  44. package/dist/{chunk-ENOER2QA.cjs → chunk-Y55XQFJK.cjs} +75 -75
  45. package/dist/{chunk-ENOER2QA.cjs.map → chunk-Y55XQFJK.cjs.map} +1 -1
  46. package/dist/{chunk-HNZDQ4SH.js → chunk-Y72MXG5N.js} +4 -4
  47. package/dist/{chunk-CMIHA6TT.cjs → chunk-ZKKEKG73.cjs} +3 -3
  48. package/dist/{chunk-CMIHA6TT.cjs.map → chunk-ZKKEKG73.cjs.map} +1 -1
  49. package/dist/{chunk-TOWXHZF5.cjs → chunk-ZR5CJTNR.cjs} +4 -4
  50. package/dist/{chunk-TOWXHZF5.cjs.map → chunk-ZR5CJTNR.cjs.map} +1 -1
  51. package/dist/components/case-studies/index.cjs +9 -9
  52. package/dist/components/case-studies/index.js +3 -3
  53. package/dist/components/chat/index.cjs +3 -3
  54. package/dist/components/chat/index.js +2 -2
  55. package/dist/components/contact/index.cjs +4 -4
  56. package/dist/components/contact/index.js +3 -3
  57. package/dist/components/docs/index.cjs +6 -6
  58. package/dist/components/docs/index.js +5 -5
  59. package/dist/components/embeds/index.cjs +4 -4
  60. package/dist/components/embeds/index.js +3 -3
  61. package/dist/components/faq/index.cjs +5 -5
  62. package/dist/components/faq/index.js +4 -4
  63. package/dist/components/features/index.cjs +3 -3
  64. package/dist/components/features/index.js +2 -2
  65. package/dist/components/help-center-pages/index.cjs +24 -24
  66. package/dist/components/help-center-pages/index.js +15 -15
  67. package/dist/components/index.cjs +138 -138
  68. package/dist/components/index.js +13 -13
  69. package/dist/components/meeting-scheduler/index.cjs +40 -40
  70. package/dist/components/meeting-scheduler/index.js +4 -4
  71. package/dist/components/navigation/index.cjs +3 -3
  72. package/dist/components/navigation/index.js +2 -2
  73. package/dist/components/onboarding-guides/index.cjs +7 -7
  74. package/dist/components/onboarding-guides/index.js +6 -6
  75. package/dist/components/popover.d.ts.map +1 -1
  76. package/dist/components/related-content/index.cjs +5 -5
  77. package/dist/components/related-content/index.js +4 -4
  78. package/dist/components/tickets/index.cjs +7 -7
  79. package/dist/components/tickets/index.js +6 -6
  80. package/dist/components/ui/autocomplete.d.ts.map +1 -1
  81. package/dist/components/ui/index.cjs +3 -3
  82. package/dist/components/ui/index.js +2 -2
  83. package/dist/components/ui/search-input.d.ts.map +1 -1
  84. package/dist/components/ui/searchable-select.d.ts.map +1 -1
  85. package/dist/components/ui/tag-select-dropdown.d.ts.map +1 -1
  86. package/dist/components/ui/tags-manager.d.ts.map +1 -1
  87. package/dist/hooks/index.cjs +4 -2
  88. package/dist/hooks/index.cjs.map +1 -1
  89. package/dist/hooks/index.js +3 -1
  90. package/dist/hooks/ui/index.d.ts +1 -0
  91. package/dist/hooks/ui/index.d.ts.map +1 -1
  92. package/dist/hooks/ui/use-keyboard-collision-padding.d.ts +2 -0
  93. package/dist/hooks/ui/use-keyboard-collision-padding.d.ts.map +1 -0
  94. package/dist/index.cjs +5 -3
  95. package/dist/index.cjs.map +1 -1
  96. package/dist/index.js +4 -2
  97. package/package.json +1 -1
  98. package/src/components/popover.tsx +22 -14
  99. package/src/components/ui/autocomplete.tsx +9 -2
  100. package/src/components/ui/search-input.tsx +9 -2
  101. package/src/components/ui/searchable-select.tsx +9 -2
  102. package/src/components/ui/tag-select-dropdown.tsx +8 -2
  103. package/src/components/ui/tags-manager.tsx +9 -2
  104. package/src/hooks/ui/index.ts +1 -0
  105. package/src/hooks/ui/use-keyboard-collision-padding.ts +101 -0
  106. package/dist/chunk-GS4HJA2G.js.map +0 -1
  107. package/dist/chunk-SXLEPNY2.cjs.map +0 -1
  108. package/dist/chunk-T4GNFVT3.cjs.map +0 -1
  109. /package/dist/{chunk-JWWZFEFI.js.map → chunk-EHPQKXXW.js.map} +0 -0
  110. /package/dist/{chunk-XPKCOZQE.js.map → chunk-JVO5CYMK.js.map} +0 -0
  111. /package/dist/{chunk-6OZWDOP5.js.map → chunk-K6566PEB.js.map} +0 -0
  112. /package/dist/{chunk-WXRQYGE5.js.map → chunk-KLFGP6PR.js.map} +0 -0
  113. /package/dist/{chunk-7TQDW3PE.js.map → chunk-LIQJAC6Z.js.map} +0 -0
  114. /package/dist/{chunk-GS4R5UQ7.js.map → chunk-LIX5OUHH.js.map} +0 -0
  115. /package/dist/{chunk-RCBRCZUF.js.map → chunk-LQPHB2YF.js.map} +0 -0
  116. /package/dist/{chunk-5OPVJBHQ.js.map → chunk-MZVFZMQ6.js.map} +0 -0
  117. /package/dist/{chunk-URBYMQ4Z.js.map → chunk-N3AEJTCK.js.map} +0 -0
  118. /package/dist/{chunk-DRJC7TTW.js.map → chunk-NB6BP6JB.js.map} +0 -0
  119. /package/dist/{chunk-JWJQHURJ.js.map → chunk-PLGITXT7.js.map} +0 -0
  120. /package/dist/{chunk-A5EA3YO7.js.map → chunk-QUVIT4JP.js.map} +0 -0
  121. /package/dist/{chunk-QHOVACZK.js.map → chunk-VPDTDKO5.js.map} +0 -0
  122. /package/dist/{chunk-HNZDQ4SH.js.map → chunk-Y72MXG5N.js.map} +0 -0
@@ -50,8 +50,8 @@ function useAutoLimitTags({
50
50
  return;
51
51
  }
52
52
  const middle = middleRef.current;
53
- const measure = measureRef.current;
54
- if (!middle || !measure) {
53
+ const measure2 = measureRef.current;
54
+ if (!middle || !measure2) {
55
55
  setVisibleCount(count);
56
56
  return;
57
57
  }
@@ -73,7 +73,7 @@ function useAutoLimitTags({
73
73
  trailingGap = gap;
74
74
  }
75
75
  const available = middleW - padL - padR - inputReservedW - trailingGap;
76
- const tagEls = Array.from(measure.children);
76
+ const tagEls = Array.from(measure2.children);
77
77
  const widths = tagEls.map((el) => el.offsetWidth);
78
78
  let total = 0;
79
79
  for (let i = 0; i < widths.length; i++) {
@@ -203,7 +203,7 @@ function useHeaderHeight(defaultHeight = 72, options = {}) {
203
203
  const [height, setHeight] = useState4(defaultHeight);
204
204
  useEffect5(() => {
205
205
  if (!enabled) return;
206
- const measure = () => {
206
+ const measure2 = () => {
207
207
  let total = 0;
208
208
  const header2 = document.querySelector("header");
209
209
  if (header2) total += header2.offsetHeight;
@@ -211,8 +211,8 @@ function useHeaderHeight(defaultHeight = 72, options = {}) {
211
211
  if (bar2 instanceof HTMLElement) total += bar2.offsetHeight;
212
212
  setHeight(total > 0 ? total : defaultHeight);
213
213
  };
214
- measure();
215
- const resizeObserver = new ResizeObserver(measure);
214
+ measure2();
215
+ const resizeObserver = new ResizeObserver(measure2);
216
216
  const header = document.querySelector("header");
217
217
  if (header) resizeObserver.observe(header);
218
218
  const bar = document.querySelector("[data-announcement-bar]");
@@ -220,7 +220,7 @@ function useHeaderHeight(defaultHeight = 72, options = {}) {
220
220
  const mutationObserver = new MutationObserver((mutations) => {
221
221
  for (const mutation of mutations) {
222
222
  if (mutation.type === "childList" || mutation.type === "attributes") {
223
- measure();
223
+ measure2();
224
224
  const newBar = document.querySelector("[data-announcement-bar]");
225
225
  if (newBar) resizeObserver.observe(newBar);
226
226
  }
@@ -297,7 +297,7 @@ function useHorizontalScrollbar() {
297
297
  setCanScrollRight(right);
298
298
  }
299
299
  }, []);
300
- const measure = useCallback3(() => {
300
+ const measure2 = useCallback3(() => {
301
301
  const el = scrollElRef.current;
302
302
  if (!el) return;
303
303
  const ratio = el.clientWidth / el.scrollWidth;
@@ -322,7 +322,7 @@ function useHorizontalScrollbar() {
322
322
  if (node) {
323
323
  const ratio = node.clientWidth / node.scrollWidth;
324
324
  setThumbRatio(ratio >= 1 ? 0 : ratio);
325
- const ro = new ResizeObserver(measure);
325
+ const ro = new ResizeObserver(measure2);
326
326
  roRef.current = ro;
327
327
  const observeAll = () => {
328
328
  ro.disconnect();
@@ -332,7 +332,7 @@ function useHorizontalScrollbar() {
332
332
  observeAll();
333
333
  moRef.current = new MutationObserver(() => {
334
334
  observeAll();
335
- measure();
335
+ measure2();
336
336
  });
337
337
  moRef.current.observe(node, { childList: true });
338
338
  requestAnimationFrame(() => {
@@ -346,7 +346,7 @@ function useHorizontalScrollbar() {
346
346
  setCanScrollLeft(false);
347
347
  setCanScrollRight(false);
348
348
  }
349
- }, [measure, syncThumbToDOM, syncEdgeFades]);
349
+ }, [measure2, syncThumbToDOM, syncEdgeFades]);
350
350
  const onScroll = useCallback3(() => {
351
351
  if (isDraggingRef.current) return;
352
352
  if (rafIdRef.current) cancelAnimationFrame(rafIdRef.current);
@@ -547,6 +547,59 @@ function useIsTruncated(value, options) {
547
547
  import { useEffect as useEffect8, useLayoutEffect } from "react";
548
548
  var useIsomorphicLayoutEffect = typeof window !== "undefined" ? useLayoutEffect : useEffect8;
549
549
 
550
+ // src/hooks/ui/use-keyboard-collision-padding.ts
551
+ import { useSyncExternalStore } from "react";
552
+ var KEYBOARD_INSET_VAR = "--of-keyboard-inset";
553
+ function measure() {
554
+ if (typeof document === "undefined") return 0;
555
+ const inset = Number.parseFloat(
556
+ getComputedStyle(document.documentElement).getPropertyValue(KEYBOARD_INSET_VAR)
557
+ );
558
+ if (!(inset > 0)) return 0;
559
+ const layoutHeight = document.documentElement.clientHeight;
560
+ const viewport = window.visualViewport;
561
+ const viewportBottom = viewport ? viewport.offsetTop + viewport.height : layoutHeight;
562
+ return Math.max(0, Math.round(viewportBottom - (layoutHeight - inset)));
563
+ }
564
+ var listeners = /* @__PURE__ */ new Set();
565
+ var padding = 0;
566
+ var teardown = null;
567
+ function sync() {
568
+ const next = measure();
569
+ if (next === padding) return;
570
+ padding = next;
571
+ for (const notify of listeners) notify();
572
+ }
573
+ function subscribe(onStoreChange) {
574
+ listeners.add(onStoreChange);
575
+ if (listeners.size === 1) {
576
+ padding = measure();
577
+ const observer = new MutationObserver(sync);
578
+ observer.observe(document.documentElement, { attributes: true, attributeFilter: ["style"] });
579
+ const viewport = window.visualViewport;
580
+ viewport?.addEventListener("resize", sync);
581
+ viewport?.addEventListener("scroll", sync);
582
+ teardown = () => {
583
+ observer.disconnect();
584
+ viewport?.removeEventListener("resize", sync);
585
+ viewport?.removeEventListener("scroll", sync);
586
+ };
587
+ }
588
+ return () => {
589
+ listeners.delete(onStoreChange);
590
+ if (listeners.size > 0) return;
591
+ teardown?.();
592
+ teardown = null;
593
+ };
594
+ }
595
+ function useKeyboardCollisionPadding() {
596
+ return useSyncExternalStore(
597
+ subscribe,
598
+ () => padding,
599
+ () => 0
600
+ );
601
+ }
602
+
550
603
  // src/hooks/ui/use-local-storage.ts
551
604
  import { useEffect as useEffect9, useRef as useRef4, useState as useState8 } from "react";
552
605
  function useLocalStorage(key, initialValue) {
@@ -748,22 +801,22 @@ function useNotificationPermission() {
748
801
  useEffect11(() => {
749
802
  if (typeof window === "undefined" || !("Notification" in window)) return;
750
803
  setSupported(true);
751
- const sync = () => setPermission(Notification.permission);
752
- sync();
804
+ const sync2 = () => setPermission(Notification.permission);
805
+ sync2();
753
806
  let cancelled = false;
754
807
  let status;
755
808
  navigator.permissions?.query({ name: "notifications" }).then((s) => {
756
809
  if (cancelled) return;
757
810
  status = s;
758
- s.addEventListener("change", sync);
811
+ s.addEventListener("change", sync2);
759
812
  }).catch(() => void 0);
760
- document.addEventListener("visibilitychange", sync);
761
- window.addEventListener("focus", sync);
813
+ document.addEventListener("visibilitychange", sync2);
814
+ window.addEventListener("focus", sync2);
762
815
  return () => {
763
816
  cancelled = true;
764
- status?.removeEventListener("change", sync);
765
- document.removeEventListener("visibilitychange", sync);
766
- window.removeEventListener("focus", sync);
817
+ status?.removeEventListener("change", sync2);
818
+ document.removeEventListener("visibilitychange", sync2);
819
+ window.removeEventListener("focus", sync2);
767
820
  };
768
821
  }, []);
769
822
  const request = useCallback7(async () => {
@@ -3983,6 +4036,7 @@ function useHumanitySignals() {
3983
4036
  export {
3984
4037
  useIsTruncated,
3985
4038
  useAutoLimitTags,
4039
+ useKeyboardCollisionPadding,
3986
4040
  useDebounce,
3987
4041
  useDeferredError,
3988
4042
  useFocusTrap,
@@ -4116,4 +4170,4 @@ export {
4116
4170
  splitCsvEnv,
4117
4171
  useHumanitySignals
4118
4172
  };
4119
- //# sourceMappingURL=chunk-GS4HJA2G.js.map
4173
+ //# sourceMappingURL=chunk-4A736Z6S.js.map