twico-ui 1.22.0 → 1.22.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.
package/dist/index.mjs CHANGED
@@ -5324,9 +5324,16 @@ function ColorPicker({
5324
5324
  const onMove = () => place();
5325
5325
  window.addEventListener("scroll", onMove, true);
5326
5326
  window.addEventListener("resize", onMove);
5327
+ let ro;
5328
+ const rt = triggerRef.current;
5329
+ if (rt && typeof ResizeObserver !== "undefined") {
5330
+ ro = new ResizeObserver(onMove);
5331
+ ro.observe(rt);
5332
+ }
5327
5333
  return () => {
5328
5334
  window.removeEventListener("scroll", onMove, true);
5329
5335
  window.removeEventListener("resize", onMove);
5336
+ ro?.disconnect();
5330
5337
  };
5331
5338
  }, [open, place]);
5332
5339
  const labelId = React51__default.useId();
@@ -5786,9 +5793,16 @@ function Combobox({
5786
5793
  const onMove = () => place();
5787
5794
  window.addEventListener("scroll", onMove, true);
5788
5795
  window.addEventListener("resize", onMove);
5796
+ let ro;
5797
+ const rt = controlRef.current;
5798
+ if (rt && typeof ResizeObserver !== "undefined") {
5799
+ ro = new ResizeObserver(onMove);
5800
+ ro.observe(rt);
5801
+ }
5789
5802
  return () => {
5790
5803
  window.removeEventListener("scroll", onMove, true);
5791
5804
  window.removeEventListener("resize", onMove);
5805
+ ro?.disconnect();
5792
5806
  };
5793
5807
  }, [open, portal, place]);
5794
5808
  React51__default.useEffect(() => {
@@ -6613,9 +6627,16 @@ function Select({
6613
6627
  const onMove = () => place();
6614
6628
  window.addEventListener("scroll", onMove, true);
6615
6629
  window.addEventListener("resize", onMove);
6630
+ let ro;
6631
+ const rt = triggerRef.current;
6632
+ if (rt && typeof ResizeObserver !== "undefined") {
6633
+ ro = new ResizeObserver(onMove);
6634
+ ro.observe(rt);
6635
+ }
6616
6636
  return () => {
6617
6637
  window.removeEventListener("scroll", onMove, true);
6618
6638
  window.removeEventListener("resize", onMove);
6639
+ ro?.disconnect();
6619
6640
  };
6620
6641
  }, [open, portal, place]);
6621
6642
  React51__default.useEffect(() => {
@@ -7442,9 +7463,16 @@ function MultiSelect({
7442
7463
  const onMove = () => place();
7443
7464
  window.addEventListener("scroll", onMove, true);
7444
7465
  window.addEventListener("resize", onMove);
7466
+ let ro;
7467
+ const rt = controlRef.current;
7468
+ if (rt && typeof ResizeObserver !== "undefined") {
7469
+ ro = new ResizeObserver(onMove);
7470
+ ro.observe(rt);
7471
+ }
7445
7472
  return () => {
7446
7473
  window.removeEventListener("scroll", onMove, true);
7447
7474
  window.removeEventListener("resize", onMove);
7475
+ ro?.disconnect();
7448
7476
  };
7449
7477
  }, [open, portal, place]);
7450
7478
  React51__default.useEffect(() => {
@@ -8508,7 +8536,10 @@ th.twc-dt__rownum .twc-dt__th-inner { padding-inline: 8px; gap: 2px; justify-con
8508
8536
  cascade \u2014 user drag (-usr) > #289 measured auto-fit (-fit) > 118px fallback \u2014 entirely in clamp(), so
8509
8537
  neither writer reads the other (reset = remove the -usr var and auto-fit instantly re-wins). */
8510
8538
  .twc-dt__filters {
8511
- position: relative;
8539
+ /* #294: do NOT set 'position' here \u2014 this element also carries .twc-dt__pop (position: fixed), and an
8540
+ equal-specificity 'position: relative' defined later would clobber it, dropping the popover into normal
8541
+ flow below the table. The panel stays position: fixed, which already anchors the absolutely-positioned
8542
+ .twc-dt__pop-grip; per-field handles anchor to their own position: relative .twc-dt__f-* fields. */
8512
8543
  width: var(--twc-dt-panel-w, 580px); max-width: calc(100vw - 32px);
8513
8544
  height: var(--twc-dt-panel-h, auto); max-height: calc(100vh - 32px);
8514
8545
  display: flex; flex-direction: column;
@@ -12585,9 +12616,16 @@ function DatePicker({
12585
12616
  const onMove = () => place();
12586
12617
  window.addEventListener("scroll", onMove, true);
12587
12618
  window.addEventListener("resize", onMove);
12619
+ let ro;
12620
+ const rt = triggerRef.current;
12621
+ if (rt && typeof ResizeObserver !== "undefined") {
12622
+ ro = new ResizeObserver(onMove);
12623
+ ro.observe(rt);
12624
+ }
12588
12625
  return () => {
12589
12626
  window.removeEventListener("scroll", onMove, true);
12590
12627
  window.removeEventListener("resize", onMove);
12628
+ ro?.disconnect();
12591
12629
  };
12592
12630
  }, [open, place]);
12593
12631
  React51__default.useEffect(() => {
@@ -13129,9 +13167,16 @@ function DateRangePicker({
13129
13167
  const onMove = () => place();
13130
13168
  window.addEventListener("scroll", onMove, true);
13131
13169
  window.addEventListener("resize", onMove);
13170
+ let ro;
13171
+ const rt = triggerRef.current;
13172
+ if (rt && typeof ResizeObserver !== "undefined") {
13173
+ ro = new ResizeObserver(onMove);
13174
+ ro.observe(rt);
13175
+ }
13132
13176
  return () => {
13133
13177
  window.removeEventListener("scroll", onMove, true);
13134
13178
  window.removeEventListener("resize", onMove);
13179
+ ro?.disconnect();
13135
13180
  };
13136
13181
  }, [open, place]);
13137
13182
  React51__default.useEffect(() => {
@@ -13682,9 +13727,16 @@ function TimePicker({
13682
13727
  const onMove = () => place();
13683
13728
  window.addEventListener("scroll", onMove, true);
13684
13729
  window.addEventListener("resize", onMove);
13730
+ let ro;
13731
+ const rt = triggerRef.current;
13732
+ if (rt && typeof ResizeObserver !== "undefined") {
13733
+ ro = new ResizeObserver(onMove);
13734
+ ro.observe(rt);
13735
+ }
13685
13736
  return () => {
13686
13737
  window.removeEventListener("scroll", onMove, true);
13687
13738
  window.removeEventListener("resize", onMove);
13739
+ ro?.disconnect();
13688
13740
  };
13689
13741
  }, [open, place]);
13690
13742
  React51__default.useEffect(() => {