@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
@@ -39,6 +39,7 @@ import {
39
39
  useImageEdgeColor,
40
40
  useIsTruncated,
41
41
  useIsomorphicLayoutEffect,
42
+ useKeyboardCollisionPadding,
42
43
  useLgUp,
43
44
  useLocalStorage,
44
45
  useMarqueeEngine,
@@ -51,7 +52,7 @@ import {
51
52
  useResetOnPageHidden,
52
53
  useSuppressCloneFocus,
53
54
  useToast
54
- } from "./chunk-GS4HJA2G.js";
55
+ } from "./chunk-4A736Z6S.js";
55
56
  import {
56
57
  init_next_navigation,
57
58
  usePathname,
@@ -17438,6 +17439,7 @@ function AutocompleteInner(props, ref) {
17438
17439
  };
17439
17440
  const [isOpen, setIsOpen] = useState34(false);
17440
17441
  const [highlightedIndex, setHighlightedIndex] = useState34(-1);
17442
+ const keyboardPadding = useKeyboardCollisionPadding();
17441
17443
  const containerRef = useRef24(null);
17442
17444
  const hiddenTagsPopupRef = useRef24(null);
17443
17445
  const isInvalid = invalid || !!error;
@@ -17744,12 +17746,14 @@ function AutocompleteInner(props, ref) {
17744
17746
  className: cn(
17745
17747
  "z-50 w-[var(--radix-popover-trigger-width)] mt-1",
17746
17748
  "bg-ods-card border border-ods-border rounded-[4px]",
17749
+ "flex flex-col overflow-hidden max-h-[var(--radix-popper-available-height)]",
17747
17750
  "data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",
17748
17751
  "data-[side=bottom]:slide-in-from-top-2 data-[side=top]:slide-in-from-bottom-2",
17749
17752
  dropdownClassName
17750
17753
  ),
17751
17754
  sideOffset: 4,
17752
17755
  align: "start",
17756
+ collisionPadding: { bottom: keyboardPadding },
17753
17757
  onOpenAutoFocus: (e) => {
17754
17758
  e.preventDefault();
17755
17759
  autoLimitTags.inputRef.current?.focus();
@@ -17759,8 +17763,8 @@ function AutocompleteInner(props, ref) {
17759
17763
  e.preventDefault();
17760
17764
  }
17761
17765
  },
17762
- children: /* @__PURE__ */ jsxs84(ScrollAreaPrimitive.Root, { className: "overflow-hidden", children: [
17763
- /* @__PURE__ */ jsx110(ScrollAreaPrimitive.Viewport, { className: "max-h-[240px] w-full [&>div]:!block", children: /* @__PURE__ */ jsx110("div", { role: "listbox", children: loading ? /* @__PURE__ */ jsx110("div", { className: "px-3 py-2 text-ods-text-secondary text-h6", children: loadingText }) : filteredOptions.length === 0 ? showCreateOption ? isCreateTooLong ? /* @__PURE__ */ jsxs84("div", { className: "flex items-center h-11 md:h-12 px-[var(--spacing-system-mf)] text-h5 text-ods-error min-w-0", children: [
17766
+ children: /* @__PURE__ */ jsxs84(ScrollAreaPrimitive.Root, { className: "flex min-h-0 flex-col overflow-hidden", children: [
17767
+ /* @__PURE__ */ jsx110(ScrollAreaPrimitive.Viewport, { className: "min-h-0 max-h-[240px] w-full [&>div]:!block", children: /* @__PURE__ */ jsx110("div", { role: "listbox", children: loading ? /* @__PURE__ */ jsx110("div", { className: "px-3 py-2 text-ods-text-secondary text-h6", children: loadingText }) : filteredOptions.length === 0 ? showCreateOption ? isCreateTooLong ? /* @__PURE__ */ jsxs84("div", { className: "flex items-center h-11 md:h-12 px-[var(--spacing-system-mf)] text-h5 text-ods-error min-w-0", children: [
17764
17768
  "Maximum ",
17765
17769
  maxCreateLength,
17766
17770
  " characters"
@@ -19648,6 +19652,7 @@ function SearchableSelect({
19648
19652
  }) {
19649
19653
  const [isOpen, setIsOpen] = React54.useState(false);
19650
19654
  const [search, setSearch] = React54.useState("");
19655
+ const keyboardPadding = useKeyboardCollisionPadding();
19651
19656
  React54.useEffect(() => {
19652
19657
  if (!isOpen) setSearch("");
19653
19658
  }, [isOpen]);
@@ -19699,8 +19704,10 @@ function SearchableSelect({
19699
19704
  {
19700
19705
  align,
19701
19706
  sideOffset: 6,
19707
+ collisionPadding: { bottom: keyboardPadding },
19702
19708
  className: cn(
19703
19709
  "z-50 min-w-[var(--radix-popover-trigger-width)] bg-ods-card border border-ods-border rounded-md shadow-lg overflow-hidden",
19710
+ "flex flex-col max-h-[var(--radix-popper-available-height)]",
19704
19711
  "data-[state=open]:animate-in data-[state=closed]:animate-out",
19705
19712
  "data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
19706
19713
  "data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
@@ -19708,7 +19715,7 @@ function SearchableSelect({
19708
19715
  contentClassName
19709
19716
  ),
19710
19717
  children: [
19711
- /* @__PURE__ */ jsx124("div", { className: "border-b border-ods-border", children: /* @__PURE__ */ jsx124(
19718
+ /* @__PURE__ */ jsx124("div", { className: "shrink-0 border-b border-ods-border", children: /* @__PURE__ */ jsx124(
19712
19719
  Input,
19713
19720
  {
19714
19721
  autoFocus: true,
@@ -19719,7 +19726,7 @@ function SearchableSelect({
19719
19726
  className: "rounded-none border-0"
19720
19727
  }
19721
19728
  ) }),
19722
- /* @__PURE__ */ jsx124("div", { className: "max-h-80 overflow-y-auto py-[var(--spacing-system-xs)]", role: "listbox", children: isLoading ? /* @__PURE__ */ jsx124("div", { className: "px-[var(--spacing-system-sf)] py-[var(--spacing-system-s)] text-h5 text-ods-text-secondary", children: loadingText }) : filtered.length === 0 ? /* @__PURE__ */ jsx124("div", { className: "px-[var(--spacing-system-sf)] py-[var(--spacing-system-s)] text-h5 text-ods-text-secondary", children: emptyText }) : filtered.map((opt) => {
19729
+ /* @__PURE__ */ jsx124("div", { className: "min-h-0 max-h-80 overflow-y-auto py-[var(--spacing-system-xs)]", role: "listbox", children: isLoading ? /* @__PURE__ */ jsx124("div", { className: "px-[var(--spacing-system-sf)] py-[var(--spacing-system-s)] text-h5 text-ods-text-secondary", children: loadingText }) : filtered.length === 0 ? /* @__PURE__ */ jsx124("div", { className: "px-[var(--spacing-system-sf)] py-[var(--spacing-system-s)] text-h5 text-ods-text-secondary", children: emptyText }) : filtered.map((opt) => {
19723
19730
  const isSelected = value === opt.value;
19724
19731
  return /* @__PURE__ */ jsx124(
19725
19732
  "button",
@@ -20546,6 +20553,7 @@ function TagSelectDropdown({
20546
20553
  }) {
20547
20554
  const [isOpen, setIsOpen] = React63.useState(false);
20548
20555
  const [search, setSearch] = React63.useState("");
20556
+ const keyboardPadding = useKeyboardCollisionPadding();
20549
20557
  React63.useEffect(() => {
20550
20558
  if (!isOpen) setSearch("");
20551
20559
  }, [isOpen]);
@@ -20589,15 +20597,17 @@ function TagSelectDropdown({
20589
20597
  {
20590
20598
  align,
20591
20599
  sideOffset: 6,
20600
+ collisionPadding: { bottom: keyboardPadding },
20592
20601
  className: cn(
20593
20602
  "z-50 w-72 bg-ods-card border border-ods-border rounded-[6px] shadow-lg overflow-hidden",
20603
+ "flex flex-col max-h-[var(--radix-popper-available-height)]",
20594
20604
  "data-[state=open]:animate-in data-[state=closed]:animate-out",
20595
20605
  "data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
20596
20606
  "data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
20597
20607
  "data-[side=bottom]:slide-in-from-top-2 data-[side=top]:slide-in-from-bottom-2"
20598
20608
  ),
20599
20609
  children: [
20600
- /* @__PURE__ */ jsx135("div", { className: "border-b border-ods-border", children: /* @__PURE__ */ jsx135(
20610
+ /* @__PURE__ */ jsx135("div", { className: "shrink-0 border-b border-ods-border", children: /* @__PURE__ */ jsx135(
20601
20611
  Input,
20602
20612
  {
20603
20613
  autoFocus: true,
@@ -20614,7 +20624,7 @@ function TagSelectDropdown({
20614
20624
  className: "rounded-none border-0"
20615
20625
  }
20616
20626
  ) }),
20617
- /* @__PURE__ */ jsxs105("div", { className: "max-h-72 overflow-y-auto py-[var(--spacing-system-xs)]", role: "listbox", children: [
20627
+ /* @__PURE__ */ jsxs105("div", { className: "min-h-0 max-h-72 overflow-y-auto py-[var(--spacing-system-xs)]", role: "listbox", children: [
20618
20628
  ordered.map((opt) => {
20619
20629
  const isSelected = selectedIds.includes(opt.id);
20620
20630
  return /* @__PURE__ */ jsxs105(
@@ -20855,6 +20865,7 @@ function TagsManager({
20855
20865
  }) {
20856
20866
  const [open, setOpen] = React65.useState(false);
20857
20867
  const [search, setSearch] = React65.useState("");
20868
+ const keyboardPadding = useKeyboardCollisionPadding();
20858
20869
  const [editingId, setEditingId] = React65.useState(null);
20859
20870
  const [editingName, setEditingName] = React65.useState("");
20860
20871
  const editInputRef = React65.useRef(null);
@@ -21005,6 +21016,7 @@ function TagsManager({
21005
21016
  className: cn(
21006
21017
  "z-50 w-[var(--radix-popover-trigger-width)] mt-1",
21007
21018
  "bg-ods-card border border-ods-border rounded",
21019
+ "flex flex-col overflow-hidden max-h-[var(--radix-popper-available-height)]",
21008
21020
  "data-[state=open]:animate-in data-[state=closed]:animate-out",
21009
21021
  "data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
21010
21022
  "data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
@@ -21012,6 +21024,7 @@ function TagsManager({
21012
21024
  ),
21013
21025
  sideOffset: 4,
21014
21026
  align: "start",
21027
+ collisionPadding: { bottom: keyboardPadding },
21015
21028
  onOpenAutoFocus: (e) => {
21016
21029
  e.preventDefault();
21017
21030
  inputRef.current?.focus();
@@ -21021,8 +21034,8 @@ function TagsManager({
21021
21034
  e.preventDefault();
21022
21035
  }
21023
21036
  },
21024
- children: /* @__PURE__ */ jsxs107(ScrollAreaPrimitive2.Root, { className: "overflow-hidden", children: [
21025
- /* @__PURE__ */ jsx138(ScrollAreaPrimitive2.Viewport, { className: "max-h-60 w-full", children: /* @__PURE__ */ jsxs107("div", { role: "listbox", children: [
21037
+ children: /* @__PURE__ */ jsxs107(ScrollAreaPrimitive2.Root, { className: "flex min-h-0 flex-col overflow-hidden", children: [
21038
+ /* @__PURE__ */ jsx138(ScrollAreaPrimitive2.Viewport, { className: "min-h-0 max-h-60 w-full", children: /* @__PURE__ */ jsxs107("div", { role: "listbox", children: [
21026
21039
  filtered.map((tag) => {
21027
21040
  const isSelected = selectedIds.includes(tag.id);
21028
21041
  const isEditing = editingId === tag.id;
@@ -46008,6 +46021,7 @@ function SearchInput({
46008
46021
  const debouncedValue = useDebounce(currentValue, debounceMs);
46009
46022
  const [isOpen, setIsOpen] = React132.useState(false);
46010
46023
  const [highlightedIndex, setHighlightedIndex] = React132.useState(-1);
46024
+ const keyboardPadding = useKeyboardCollisionPadding();
46011
46025
  const containerRef = React132.useRef(null);
46012
46026
  const currentPlaceholder = filterChips.length > 0 ? "Add filter..." : placeholder;
46013
46027
  const {
@@ -46267,6 +46281,7 @@ function SearchInput({
46267
46281
  className: cn(
46268
46282
  "z-50 w-[var(--radix-popover-trigger-width)] mt-1",
46269
46283
  "bg-ods-card border border-ods-border rounded-[6px] overflow-hidden shadow-lg",
46284
+ "flex flex-col max-h-[var(--radix-popper-available-height)]",
46270
46285
  "data-[state=open]:animate-in data-[state=closed]:animate-out",
46271
46286
  "data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
46272
46287
  "data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
@@ -46275,6 +46290,7 @@ function SearchInput({
46275
46290
  ),
46276
46291
  sideOffset: 4,
46277
46292
  align: "start",
46293
+ collisionPadding: { bottom: keyboardPadding },
46278
46294
  onOpenAutoFocus: (e) => {
46279
46295
  e.preventDefault();
46280
46296
  inputRef.current?.focus();
@@ -46284,8 +46300,8 @@ function SearchInput({
46284
46300
  e.preventDefault();
46285
46301
  }
46286
46302
  },
46287
- children: /* @__PURE__ */ jsxs281(ScrollAreaPrimitive3.Root, { className: "overflow-hidden", children: [
46288
- /* @__PURE__ */ jsx357(ScrollAreaPrimitive3.Viewport, { className: "max-h-[320px] w-full", children: /* @__PURE__ */ jsx357("div", { role: "listbox", children: renderDropdownContent() }) }),
46303
+ children: /* @__PURE__ */ jsxs281(ScrollAreaPrimitive3.Root, { className: "flex min-h-0 flex-col overflow-hidden", children: [
46304
+ /* @__PURE__ */ jsx357(ScrollAreaPrimitive3.Viewport, { className: "min-h-0 max-h-[320px] w-full", children: /* @__PURE__ */ jsx357("div", { role: "listbox", children: renderDropdownContent() }) }),
46289
46305
  /* @__PURE__ */ jsx357(ScrollAreaPrimitive3.Scrollbar, { className: "hidden", orientation: "vertical", children: /* @__PURE__ */ jsx357(ScrollAreaPrimitive3.Thumb, {}) })
46290
46306
  ] })
46291
46307
  }
@@ -47478,19 +47494,23 @@ import * as PopoverPrimitive7 from "@radix-ui/react-popover";
47478
47494
  import { jsx as jsx363 } from "react/jsx-runtime";
47479
47495
  var Popover2 = PopoverPrimitive7.Root;
47480
47496
  var PopoverTrigger = PopoverPrimitive7.Trigger;
47481
- var PopoverContent = React137.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx363(PopoverPrimitive7.Portal, { children: /* @__PURE__ */ jsx363(
47482
- PopoverPrimitive7.Content,
47483
- {
47484
- ref,
47485
- align,
47486
- sideOffset,
47487
- className: cn(
47488
- "z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none 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-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
47489
- className
47490
- ),
47491
- ...props
47492
- }
47493
- ) }));
47497
+ var PopoverContent = React137.forwardRef(({ className, align = "center", sideOffset = 4, collisionPadding, ...props }, ref) => {
47498
+ const keyboardPadding = useKeyboardCollisionPadding();
47499
+ return /* @__PURE__ */ jsx363(PopoverPrimitive7.Portal, { children: /* @__PURE__ */ jsx363(
47500
+ PopoverPrimitive7.Content,
47501
+ {
47502
+ ref,
47503
+ align,
47504
+ sideOffset,
47505
+ collisionPadding: collisionPadding ?? { bottom: keyboardPadding },
47506
+ className: cn(
47507
+ "z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none 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-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
47508
+ className
47509
+ ),
47510
+ ...props
47511
+ }
47512
+ ) });
47513
+ });
47494
47514
  PopoverContent.displayName = PopoverPrimitive7.Content.displayName;
47495
47515
 
47496
47516
  // src/components/ui/color-preset-select.tsx
@@ -62088,4 +62108,4 @@ export {
62088
62108
  LogsList,
62089
62109
  assets
62090
62110
  };
62091
- //# sourceMappingURL=chunk-GBWS62LR.js.map
62111
+ //# sourceMappingURL=chunk-4DTUUM5V.js.map