reka-ui 2.9.0 → 2.9.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 (101) hide show
  1. package/dist/Calendar/CalendarGrid.cjs +3 -3
  2. package/dist/Calendar/CalendarGrid.cjs.map +1 -1
  3. package/dist/Calendar/CalendarGrid.js +4 -4
  4. package/dist/Calendar/CalendarGrid.js.map +1 -1
  5. package/dist/Combobox/ComboboxInput.cjs +10 -1
  6. package/dist/Combobox/ComboboxInput.cjs.map +1 -1
  7. package/dist/Combobox/ComboboxInput.js +10 -1
  8. package/dist/Combobox/ComboboxInput.js.map +1 -1
  9. package/dist/DismissableLayer/utils.cjs +1 -0
  10. package/dist/DismissableLayer/utils.cjs.map +1 -1
  11. package/dist/DismissableLayer/utils.js +1 -0
  12. package/dist/DismissableLayer/utils.js.map +1 -1
  13. package/dist/Menu/MenuGroup.cjs +13 -2
  14. package/dist/Menu/MenuGroup.cjs.map +1 -1
  15. package/dist/Menu/MenuGroup.js +8 -3
  16. package/dist/Menu/MenuGroup.js.map +1 -1
  17. package/dist/Menu/MenuItemImpl.cjs +3 -2
  18. package/dist/Menu/MenuItemImpl.cjs.map +1 -1
  19. package/dist/Menu/MenuItemImpl.js +3 -2
  20. package/dist/Menu/MenuItemImpl.js.map +1 -1
  21. package/dist/Menu/MenuLabel.cjs +4 -2
  22. package/dist/Menu/MenuLabel.cjs.map +1 -1
  23. package/dist/Menu/MenuLabel.js +5 -3
  24. package/dist/Menu/MenuLabel.js.map +1 -1
  25. package/dist/MonthPicker/MonthPickerGrid.cjs +3 -3
  26. package/dist/MonthPicker/MonthPickerGrid.cjs.map +1 -1
  27. package/dist/MonthPicker/MonthPickerGrid.js +4 -4
  28. package/dist/MonthPicker/MonthPickerGrid.js.map +1 -1
  29. package/dist/MonthRangePicker/MonthRangePickerGrid.cjs +3 -3
  30. package/dist/MonthRangePicker/MonthRangePickerGrid.cjs.map +1 -1
  31. package/dist/MonthRangePicker/MonthRangePickerGrid.js +4 -4
  32. package/dist/MonthRangePicker/MonthRangePickerGrid.js.map +1 -1
  33. package/dist/RangeCalendar/RangeCalendarGrid.cjs +3 -3
  34. package/dist/RangeCalendar/RangeCalendarGrid.cjs.map +1 -1
  35. package/dist/RangeCalendar/RangeCalendarGrid.js +4 -4
  36. package/dist/RangeCalendar/RangeCalendarGrid.js.map +1 -1
  37. package/dist/Splitter/SplitterGroup.cjs +23 -13
  38. package/dist/Splitter/SplitterGroup.cjs.map +1 -1
  39. package/dist/Splitter/SplitterGroup.js +23 -13
  40. package/dist/Splitter/SplitterGroup.js.map +1 -1
  41. package/dist/Toast/FocusProxy.cjs +0 -1
  42. package/dist/Toast/FocusProxy.cjs.map +1 -1
  43. package/dist/Toast/FocusProxy.js +0 -1
  44. package/dist/Toast/FocusProxy.js.map +1 -1
  45. package/dist/Toast/ToastRootImpl.cjs +1 -5
  46. package/dist/Toast/ToastRootImpl.cjs.map +1 -1
  47. package/dist/Toast/ToastRootImpl.js +1 -5
  48. package/dist/Toast/ToastRootImpl.js.map +1 -1
  49. package/dist/YearPicker/YearPickerGrid.cjs +3 -3
  50. package/dist/YearPicker/YearPickerGrid.cjs.map +1 -1
  51. package/dist/YearPicker/YearPickerGrid.js +4 -4
  52. package/dist/YearPicker/YearPickerGrid.js.map +1 -1
  53. package/dist/YearRangePicker/YearRangePickerGrid.cjs +3 -3
  54. package/dist/YearRangePicker/YearRangePickerGrid.cjs.map +1 -1
  55. package/dist/YearRangePicker/YearRangePickerGrid.js +4 -4
  56. package/dist/YearRangePicker/YearRangePickerGrid.js.map +1 -1
  57. package/dist/constant.d.cts.map +1 -1
  58. package/dist/date/useDateField.cjs +1 -0
  59. package/dist/date/useDateField.cjs.map +1 -1
  60. package/dist/date/useDateField.js +1 -0
  61. package/dist/date/useDateField.js.map +1 -1
  62. package/dist/index.cjs +1 -1
  63. package/dist/index.js +1 -1
  64. package/dist/index3.d.cts +1007 -1006
  65. package/dist/index3.d.cts.map +1 -1
  66. package/dist/index3.d.ts +83 -82
  67. package/dist/index3.d.ts.map +1 -1
  68. package/dist/internal.d.cts +2 -4
  69. package/dist/internal.d.cts.map +1 -1
  70. package/dist/internal.d.ts +2 -4
  71. package/dist/shared/useBodyScrollLock.cjs +1 -0
  72. package/dist/shared/useBodyScrollLock.cjs.map +1 -1
  73. package/dist/shared/useBodyScrollLock.js +1 -0
  74. package/dist/shared/useBodyScrollLock.js.map +1 -1
  75. package/dist/shared/useHideOthers.cjs +1 -1
  76. package/dist/shared/useHideOthers.cjs.map +1 -1
  77. package/dist/shared/useHideOthers.js +1 -1
  78. package/dist/shared/useHideOthers.js.map +1 -1
  79. package/dist/utils/callPanelCallbacks.cjs +10 -7
  80. package/dist/utils/callPanelCallbacks.cjs.map +1 -1
  81. package/dist/utils/callPanelCallbacks.js +10 -7
  82. package/dist/utils/callPanelCallbacks.js.map +1 -1
  83. package/package.json +2 -2
  84. package/src/Calendar/CalendarGrid.vue +6 -1
  85. package/src/Combobox/ComboboxInput.vue +19 -0
  86. package/src/DismissableLayer/utils.ts +4 -1
  87. package/src/Menu/MenuGroup.vue +12 -0
  88. package/src/Menu/MenuItemImpl.vue +4 -4
  89. package/src/Menu/MenuLabel.vue +7 -1
  90. package/src/MonthPicker/MonthPickerGrid.vue +6 -1
  91. package/src/MonthRangePicker/MonthRangePickerGrid.vue +6 -1
  92. package/src/RangeCalendar/RangeCalendarGrid.vue +6 -1
  93. package/src/Splitter/SplitterGroup.vue +26 -6
  94. package/src/Splitter/utils/callPanelCallbacks.ts +16 -8
  95. package/src/Toast/FocusProxy.vue +0 -1
  96. package/src/Toast/ToastRootImpl.vue +0 -4
  97. package/src/YearPicker/YearPickerGrid.vue +6 -1
  98. package/src/YearRangePicker/YearRangePickerGrid.vue +6 -1
  99. package/src/shared/date/useDateField.ts +2 -1
  100. package/src/shared/useBodyScrollLock.ts +2 -0
  101. package/src/shared/useHideOthers.ts +2 -1
@@ -1,6 +1,6 @@
1
1
  import "./index2.cjs";
2
2
  import { MenuArrowProps, MenuCheckboxItemEmits, MenuCheckboxItemProps, MenuContentEmits, MenuContentProps, MenuEmits, MenuGroupProps, MenuItemEmits, MenuItemIndicatorProps, MenuItemProps, MenuLabelProps, MenuPortalProps, MenuProps, MenuRadioGroupEmits, MenuRadioGroupProps, MenuRadioItemEmits, MenuRadioItemProps, MenuSeparatorProps, MenuSubContentEmits, MenuSubContentProps, MenuSubEmits, MenuSubProps, MenuSubTriggerProps, PopperAnchorProps, _default$277 as _default$13, _default$278 as _default$8, _default$279 as _default, _default$280 as _default$6, _default$281 as _default$10, _default$282 as _default$3, _default$283 as _default$14, _default$284 as _default$12, _default$285 as _default$2, _default$286 as _default$1, _default$287 as _default$11, _default$288 as _default$7, _default$290 as _default$9, _default$291 as _default$4, _default$292 as _default$5, injectMenuContext, injectMenuRootContext } from "./index3.cjs";
3
- import * as vue0 from "vue";
3
+ import * as vue13 from "vue";
4
4
 
5
5
  //#region src/Menu/MenuAnchor.vue.d.ts
6
6
  interface MenuAnchorProps extends PopperAnchorProps {}
@@ -8,15 +8,13 @@ declare var __VLS_6: {};
8
8
  type __VLS_Slots = {} & {
9
9
  default?: (props: typeof __VLS_6) => any;
10
10
  };
11
- declare const __VLS_component: vue0.DefineComponent<MenuAnchorProps, {}, {}, {}, {}, vue0.ComponentOptionsMixin, vue0.ComponentOptionsMixin, {}, string, vue0.PublicProps, Readonly<MenuAnchorProps> & Readonly<{}>, {}, {}, {}, {}, string, vue0.ComponentProvideOptions, false, {}, any>;
11
+ declare const __VLS_component: vue13.DefineComponent<MenuAnchorProps, {}, {}, {}, {}, vue13.ComponentOptionsMixin, vue13.ComponentOptionsMixin, {}, string, vue13.PublicProps, Readonly<MenuAnchorProps> & Readonly<{}>, {}, {}, {}, {}, string, vue13.ComponentProvideOptions, false, {}, any>;
12
12
  declare const _default$15: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
13
13
  type __VLS_WithSlots<T, S> = T & {
14
14
  new (): {
15
15
  $slots: S;
16
16
  };
17
17
  };
18
- //# sourceMappingURL=MenuAnchor.vue.d.ts.map
19
-
20
18
  //#endregion
21
19
  export { _default$15 as MenuAnchor, _default$5 as MenuArrow, MenuArrowProps, _default$9 as MenuCheckboxItem, MenuCheckboxItemEmits, MenuCheckboxItemProps, _default$7 as MenuContent, MenuContentEmits, MenuContentProps, MenuEmits, _default$11 as MenuGroup, MenuGroupProps, _default$4 as MenuItem, MenuItemEmits, _default$1 as MenuItemIndicator, MenuItemIndicatorProps, MenuItemProps, _default$2 as MenuLabel, MenuLabelProps, _default$12 as MenuPortal, MenuPortalProps, MenuProps, _default$14 as MenuRadioGroup, MenuRadioGroupEmits, MenuRadioGroupProps, _default$3 as MenuRadioItem, MenuRadioItemEmits, MenuRadioItemProps, _default$10 as MenuRoot, _default$6 as MenuSeparator, MenuSeparatorProps, _default as MenuSub, _default$8 as MenuSubContent, MenuSubContentEmits, MenuSubContentProps, MenuSubEmits, MenuSubProps, _default$13 as MenuSubTrigger, MenuSubTriggerProps, injectMenuContext, injectMenuRootContext };
22
20
  //# sourceMappingURL=internal.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal.d.cts","names":[],"sources":["../src/Menu/MenuAnchor.vue"],"sourcesContent":[],"mappings":";;;;;UAkBU,eAAA,SAAwB;YA4B9B;KACC,WAAA;EA7BK,OAAA,CAAA,EAAA,CAAA,KAAA,EAAgB,OA8BG,OA9BK,EAAA,GAAA,GAAA;AAAiB,CAAA;AA4B7B,cAsBhB,eApBuB,EAoBR,IAAA,CAAA,eApBe,CAoBf,eApBe,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAoBf,IAAA,CAAA,qBAAA,EAAA,IAAA,CAAA,qBAAA,EApBe,CAAA,CAAA,EAAA,MAAA,EAoBf,IAAA,CAAA,WAAA,EAAA,QApBe,CAoBf,eApBe,CAAA,GAoBf,QApBe,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,MAAA,EAoBf,IAAA,CAAA,uBAAA,EApBe,KAAA,EAAA,CAAA,CAAA,EAAA,GAAA,CAAA;AAAA,cAoBf,WAMnB,EACmB,eADnB,CAAA,OAC0C,eAD1C,EAC2D,WAD3D,CAAA;KASG,eAfgB,CAAA,CAAA,EAAA,CAAA,CAAA,GAeQ,CAfR,GAAA;EAAA,MAAA,EAAA;IAAA,MAAA,EAiBX,CAjBW;EAAA,CAAA;CAAA"}
1
+ {"version":3,"file":"internal.d.cts","names":[],"sources":["../src/Menu/MenuAnchor.vue"],"sourcesContent":[],"mappings":";;;;;UAkBU,eAAA,SAAwB;YA4B9B;KACC,WAAA;EA7BK,OAAA,CAAA,EAAA,CAAA,KAAA,EAAgB,OA8BG,OA9BK,EAAA,GAAA,GAAA;AAAiB,CAAA;AA4B7B,cAsBhB,eApBuB,EAoBR,KAAA,CAAA,eApBe,CAoBf,eApBe,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAoBf,KAAA,CAAA,qBAAA,EAAA,KAAA,CAAA,qBAAA,EApBe,CAAA,CAAA,EAAA,MAAA,EAoBf,KAAA,CAAA,WAAA,EAAA,QApBe,CAoBf,eApBe,CAAA,GAoBf,QApBe,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,MAAA,EAoBf,KAAA,CAAA,uBAAA,EApBe,KAAA,EAAA,CAAA,CAAA,EAAA,GAAA,CAAA;AAAA,cAoBf,WAMnB,EACmB,eADnB,CAAA,OAC0C,eAD1C,EAC2D,WAD3D,CAAA;KASG,eAfgB,CAAA,CAAA,EAAA,CAAA,CAAA,GAeQ,CAfR,GAAA;EAAA,MAAA,EAAA;IAAA,MAAA,EAiBX,CAjBW;EAAA,CAAA;CAAA"}
@@ -1,6 +1,6 @@
1
1
  import "./index2.js";
2
2
  import { MenuArrowProps, MenuCheckboxItemEmits, MenuCheckboxItemProps, MenuContentEmits, MenuContentProps, MenuEmits, MenuGroupProps, MenuItemEmits, MenuItemIndicatorProps, MenuItemProps, MenuLabelProps, MenuPortalProps, MenuProps, MenuRadioGroupEmits, MenuRadioGroupProps, MenuRadioItemEmits, MenuRadioItemProps, MenuSeparatorProps, MenuSubContentEmits, MenuSubContentProps, MenuSubEmits, MenuSubProps, MenuSubTriggerProps, PopperAnchorProps, _default$277 as _default$13, _default$278 as _default$8, _default$279 as _default, _default$280 as _default$6, _default$281 as _default$10, _default$282 as _default$3, _default$283 as _default$14, _default$284 as _default$12, _default$285 as _default$2, _default$286 as _default$1, _default$287 as _default$11, _default$288 as _default$7, _default$290 as _default$9, _default$291 as _default$4, _default$292 as _default$5, injectMenuContext, injectMenuRootContext } from "./index3.js";
3
- import * as vue619 from "vue";
3
+ import * as vue105 from "vue";
4
4
 
5
5
  //#region src/Menu/MenuAnchor.vue.d.ts
6
6
  interface MenuAnchorProps extends PopperAnchorProps {}
@@ -8,15 +8,13 @@ declare var __VLS_6: {};
8
8
  type __VLS_Slots = {} & {
9
9
  default?: (props: typeof __VLS_6) => any;
10
10
  };
11
- declare const __VLS_component: vue619.DefineComponent<MenuAnchorProps, {}, {}, {}, {}, vue619.ComponentOptionsMixin, vue619.ComponentOptionsMixin, {}, string, vue619.PublicProps, Readonly<MenuAnchorProps> & Readonly<{}>, {}, {}, {}, {}, string, vue619.ComponentProvideOptions, false, {}, any>;
11
+ declare const __VLS_component: vue105.DefineComponent<MenuAnchorProps, {}, {}, {}, {}, vue105.ComponentOptionsMixin, vue105.ComponentOptionsMixin, {}, string, vue105.PublicProps, Readonly<MenuAnchorProps> & Readonly<{}>, {}, {}, {}, {}, string, vue105.ComponentProvideOptions, false, {}, any>;
12
12
  declare const _default$15: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
13
13
  type __VLS_WithSlots<T, S> = T & {
14
14
  new (): {
15
15
  $slots: S;
16
16
  };
17
17
  };
18
- //# sourceMappingURL=MenuAnchor.vue.d.ts.map
19
-
20
18
  //#endregion
21
19
  export { _default$15 as MenuAnchor, _default$5 as MenuArrow, MenuArrowProps, _default$9 as MenuCheckboxItem, MenuCheckboxItemEmits, MenuCheckboxItemProps, _default$7 as MenuContent, MenuContentEmits, MenuContentProps, MenuEmits, _default$11 as MenuGroup, MenuGroupProps, _default$4 as MenuItem, MenuItemEmits, _default$1 as MenuItemIndicator, MenuItemIndicatorProps, MenuItemProps, _default$2 as MenuLabel, MenuLabelProps, _default$12 as MenuPortal, MenuPortalProps, MenuProps, _default$14 as MenuRadioGroup, MenuRadioGroupEmits, MenuRadioGroupProps, _default$3 as MenuRadioItem, MenuRadioItemEmits, MenuRadioItemProps, _default$10 as MenuRoot, _default$6 as MenuSeparator, MenuSeparatorProps, _default as MenuSub, _default$8 as MenuSubContent, MenuSubContentEmits, MenuSubContentProps, MenuSubEmits, MenuSubProps, _default$13 as MenuSubTrigger, MenuSubTriggerProps, injectMenuContext, injectMenuRootContext };
22
20
  //# sourceMappingURL=internal.d.ts.map
@@ -51,6 +51,7 @@ const useBodyLockStackCount = (0, __vueuse_core.createSharedComposable)(() => {
51
51
  }
52
52
  if (__vueuse_shared.isIOS) stopTouchMoveListener = (0, __vueuse_core.useEventListener)(document, "touchmove", (e) => preventDefault(e), { passive: false });
53
53
  (0, vue.nextTick)(() => {
54
+ if (!locked.value) return;
54
55
  document.body.style.pointerEvents = "none";
55
56
  document.body.style.overflow = "hidden";
56
57
  });
@@ -1 +1 @@
1
- {"version":3,"file":"useBodyScrollLock.cjs","names":["stopTouchMoveListener: Fn | null","isClient","isIOS","e: TouchEvent","initialState?: boolean | undefined","ele: Element","rawEvent: TouchEvent"],"sources":["../../src/shared/useBodyScrollLock.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"useBodyScrollLock.cjs","names":["stopTouchMoveListener: Fn | null","isClient","isIOS","e: TouchEvent","initialState?: boolean | undefined","ele: Element","rawEvent: TouchEvent"],"sources":["../../src/shared/useBodyScrollLock.ts"],"sourcesContent":[],"mappings":"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"}
@@ -50,6 +50,7 @@ const useBodyLockStackCount = createSharedComposable(() => {
50
50
  }
51
51
  if (isIOS) stopTouchMoveListener = useEventListener(document, "touchmove", (e) => preventDefault(e), { passive: false });
52
52
  nextTick(() => {
53
+ if (!locked.value) return;
53
54
  document.body.style.pointerEvents = "none";
54
55
  document.body.style.overflow = "hidden";
55
56
  });
@@ -1 +1 @@
1
- {"version":3,"file":"useBodyScrollLock.js","names":["stopTouchMoveListener: Fn | null","e: TouchEvent","initialState?: boolean | undefined","ele: Element","rawEvent: TouchEvent"],"sources":["../../src/shared/useBodyScrollLock.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"useBodyScrollLock.js","names":["stopTouchMoveListener: Fn | null","e: TouchEvent","initialState?: boolean | undefined","ele: Element","rawEvent: TouchEvent"],"sources":["../../src/shared/useBodyScrollLock.ts"],"sourcesContent":[],"mappings":"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"}
@@ -14,7 +14,7 @@ const aria_hidden = require_rolldown_runtime.__toESM(require("aria-hidden"));
14
14
  function useHideOthers(target) {
15
15
  let undo;
16
16
  (0, vue.watch)(() => (0, __vueuse_core.unrefElement)(target), (el) => {
17
- if (el) undo = (0, aria_hidden.hideOthers)(el);
17
+ if (el && !el.closest("[popover]:not(:popover-open)")) undo = (0, aria_hidden.hideOthers)(el);
18
18
  else if (undo) undo();
19
19
  });
20
20
  (0, vue.onUnmounted)(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"useHideOthers.cjs","names":["target: MaybeElementRef","undo: ReturnType<typeof hideOthers>"],"sources":["../../src/shared/useHideOthers.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;AAYA,SAAgB,cAAcA,QAAyB;CACrD,IAAIC;AACJ,gBAAM,MAAM,gCAAa,OAAO,EAAE,CAAC,OAAO;AAIxC,MAAI,GACF,QAAO,4BAAW,GAAG;WACd,KACP,OAAM;CACT,EAAC;AAEF,sBAAY,MAAM;AAChB,MAAI,KACF,OAAM;CACT,EAAC;AACH"}
1
+ {"version":3,"file":"useHideOthers.cjs","names":["target: MaybeElementRef","undo: ReturnType<typeof hideOthers>"],"sources":["../../src/shared/useHideOthers.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;AAYA,SAAgB,cAAcA,QAAyB;CACrD,IAAIC;AACJ,gBAAM,MAAM,gCAAa,OAAO,EAAE,CAAC,OAAO;AAKxC,MAAI,OAAO,GAAG,QAAQ,+BAA+B,CACnD,QAAO,4BAAW,GAAG;WACd,KACP,OAAM;CACT,EAAC;AAEF,sBAAY,MAAM;AAChB,MAAI,KACF,OAAM;CACT,EAAC;AACH"}
@@ -13,7 +13,7 @@ import { hideOthers } from "aria-hidden";
13
13
  function useHideOthers(target) {
14
14
  let undo;
15
15
  watch(() => unrefElement(target), (el) => {
16
- if (el) undo = hideOthers(el);
16
+ if (el && !el.closest("[popover]:not(:popover-open)")) undo = hideOthers(el);
17
17
  else if (undo) undo();
18
18
  });
19
19
  onUnmounted(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"useHideOthers.js","names":["target: MaybeElementRef","undo: ReturnType<typeof hideOthers>"],"sources":["../../src/shared/useHideOthers.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;AAYA,SAAgB,cAAcA,QAAyB;CACrD,IAAIC;AACJ,OAAM,MAAM,aAAa,OAAO,EAAE,CAAC,OAAO;AAIxC,MAAI,GACF,QAAO,WAAW,GAAG;WACd,KACP,OAAM;CACT,EAAC;AAEF,aAAY,MAAM;AAChB,MAAI,KACF,OAAM;CACT,EAAC;AACH"}
1
+ {"version":3,"file":"useHideOthers.js","names":["target: MaybeElementRef","undo: ReturnType<typeof hideOthers>"],"sources":["../../src/shared/useHideOthers.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;AAYA,SAAgB,cAAcA,QAAyB;CACrD,IAAIC;AACJ,OAAM,MAAM,aAAa,OAAO,EAAE,CAAC,OAAO;AAKxC,MAAI,OAAO,GAAG,QAAQ,+BAA+B,CACnD,QAAO,WAAW,GAAG;WACd,KACP,OAAM;CACT,EAAC;AAEF,aAAY,MAAM;AAChB,MAAI,KACF,OAAM;CACT,EAAC;AACH"}
@@ -1,20 +1,23 @@
1
1
  const require_utils_assert = require('./assert.cjs');
2
+ const require_utils_compare = require('./compare.cjs');
2
3
 
3
4
  //#region src/Splitter/utils/callPanelCallbacks.ts
4
- function callPanelCallbacks(panelsArray, layout, panelIdToLastNotifiedSizeMap) {
5
+ function callPanelCallbacks(panelsArray, layout, panelIdToLastNotifiedSizeMap, groupSizeInPixels) {
5
6
  layout.forEach((size, index) => {
6
7
  const panelData = panelsArray[index];
7
8
  require_utils_assert.assert(panelData);
8
9
  const { callbacks, constraints, id: panelId } = panelData;
9
- const { collapsedSize = 0, collapsible } = constraints;
10
+ const { collapsedSize = 0, collapsible, sizeUnit } = constraints;
11
+ let displaySize = size;
12
+ if (sizeUnit === "px" && groupSizeInPixels != null) displaySize = size / 100 * groupSizeInPixels;
10
13
  const lastNotifiedSize = panelIdToLastNotifiedSizeMap[panelId];
11
- if (lastNotifiedSize == null || size !== lastNotifiedSize) {
12
- panelIdToLastNotifiedSizeMap[panelId] = size;
14
+ if (lastNotifiedSize == null || !require_utils_compare.fuzzyNumbersEqual(displaySize, lastNotifiedSize)) {
15
+ panelIdToLastNotifiedSizeMap[panelId] = displaySize;
13
16
  const { onCollapse, onExpand, onResize } = callbacks;
14
- if (onResize) onResize(size, lastNotifiedSize);
17
+ if (onResize) onResize(displaySize, lastNotifiedSize);
15
18
  if (collapsible && (onCollapse || onExpand)) {
16
- if (onExpand && (lastNotifiedSize == null || lastNotifiedSize === collapsedSize) && size !== collapsedSize) onExpand();
17
- if (onCollapse && (lastNotifiedSize == null || lastNotifiedSize !== collapsedSize) && size === collapsedSize) onCollapse();
19
+ if (onExpand && (lastNotifiedSize == null || require_utils_compare.fuzzyNumbersEqual(lastNotifiedSize, collapsedSize)) && !require_utils_compare.fuzzyNumbersEqual(displaySize, collapsedSize)) onExpand();
20
+ if (onCollapse && (lastNotifiedSize == null || !require_utils_compare.fuzzyNumbersEqual(lastNotifiedSize, collapsedSize)) && require_utils_compare.fuzzyNumbersEqual(displaySize, collapsedSize)) onCollapse();
18
21
  }
19
22
  }
20
23
  });
@@ -1 +1 @@
1
- {"version":3,"file":"callPanelCallbacks.cjs","names":["panelsArray: PanelData[]","layout: number[]","panelIdToLastNotifiedSizeMap: Record<string, number>"],"sources":["../../src/Splitter/utils/callPanelCallbacks.ts"],"sourcesContent":[],"mappings":";;;AAIA,SAAgB,mBACdA,aACAC,QACAC,8BACA;AACA,QAAO,QAAQ,CAAC,MAAM,UAAU;EAC9B,MAAM,YAAY,YAAY;AAC9B,8BAAO,UAAU;EAEjB,MAAM,EAAE,WAAW,aAAa,IAAI,SAAS,GAAG;EAChD,MAAM,EAAE,gBAAgB,GAAG,aAAa,GAAG;EAE3C,MAAM,mBAAmB,6BAA6B;AACtD,MAAI,oBAAoB,QAAQ,SAAS,kBAAkB;AACzD,gCAA6B,WAAW;GAExC,MAAM,EAAE,YAAY,UAAU,UAAU,GAAG;AAE3C,OAAI,SACF,UAAS,MAAM,iBAAiB;AAElC,OAAI,gBAAgB,cAAc,WAAW;AAC3C,QACE,aACI,oBAAoB,QAAQ,qBAAqB,kBAClD,SAAS,cAEZ,WAAU;AAGZ,QACE,eACI,oBAAoB,QAAQ,qBAAqB,kBAClD,SAAS,cAEZ,aAAY;GAEf;EACF;CACF,EAAC;AACH"}
1
+ {"version":3,"file":"callPanelCallbacks.cjs","names":["panelsArray: PanelData[]","layout: number[]","panelIdToLastNotifiedSizeMap: Record<string, number>","groupSizeInPixels?: number | null"],"sources":["../../src/Splitter/utils/callPanelCallbacks.ts"],"sourcesContent":[],"mappings":";;;;AAKA,SAAgB,mBACdA,aACAC,QACAC,8BACAC,mBACA;AACA,QAAO,QAAQ,CAAC,MAAM,UAAU;EAC9B,MAAM,YAAY,YAAY;AAC9B,8BAAO,UAAU;EAEjB,MAAM,EAAE,WAAW,aAAa,IAAI,SAAS,GAAG;EAChD,MAAM,EAAE,gBAAgB,GAAG,aAAa,UAAU,GAAG;EAGrD,IAAI,cAAc;AAClB,MAAI,aAAa,QAAQ,qBAAqB,KAC5C,eAAe,OAAO,MAAO;EAG/B,MAAM,mBAAmB,6BAA6B;AACtD,MAAI,oBAAoB,SAAS,wCAAkB,aAAa,iBAAiB,EAAE;AACjF,gCAA6B,WAAW;GAExC,MAAM,EAAE,YAAY,UAAU,UAAU,GAAG;AAE3C,OAAI,SACF,UAAS,aAAa,iBAAiB;AAEzC,OAAI,gBAAgB,cAAc,WAAW;AAC3C,QACE,aACI,oBAAoB,QAAQ,wCAAkB,kBAAkB,cAAc,MAC9E,wCAAkB,aAAa,cAAc,CAEjD,WAAU;AAGZ,QACE,eACI,oBAAoB,SAAS,wCAAkB,kBAAkB,cAAc,KAChF,wCAAkB,aAAa,cAAc,CAEhD,aAAY;GAEf;EACF;CACF,EAAC;AACH"}
@@ -1,20 +1,23 @@
1
1
  import { assert } from "./assert.js";
2
+ import { fuzzyNumbersEqual } from "./compare.js";
2
3
 
3
4
  //#region src/Splitter/utils/callPanelCallbacks.ts
4
- function callPanelCallbacks(panelsArray, layout, panelIdToLastNotifiedSizeMap) {
5
+ function callPanelCallbacks(panelsArray, layout, panelIdToLastNotifiedSizeMap, groupSizeInPixels) {
5
6
  layout.forEach((size, index) => {
6
7
  const panelData = panelsArray[index];
7
8
  assert(panelData);
8
9
  const { callbacks, constraints, id: panelId } = panelData;
9
- const { collapsedSize = 0, collapsible } = constraints;
10
+ const { collapsedSize = 0, collapsible, sizeUnit } = constraints;
11
+ let displaySize = size;
12
+ if (sizeUnit === "px" && groupSizeInPixels != null) displaySize = size / 100 * groupSizeInPixels;
10
13
  const lastNotifiedSize = panelIdToLastNotifiedSizeMap[panelId];
11
- if (lastNotifiedSize == null || size !== lastNotifiedSize) {
12
- panelIdToLastNotifiedSizeMap[panelId] = size;
14
+ if (lastNotifiedSize == null || !fuzzyNumbersEqual(displaySize, lastNotifiedSize)) {
15
+ panelIdToLastNotifiedSizeMap[panelId] = displaySize;
13
16
  const { onCollapse, onExpand, onResize } = callbacks;
14
- if (onResize) onResize(size, lastNotifiedSize);
17
+ if (onResize) onResize(displaySize, lastNotifiedSize);
15
18
  if (collapsible && (onCollapse || onExpand)) {
16
- if (onExpand && (lastNotifiedSize == null || lastNotifiedSize === collapsedSize) && size !== collapsedSize) onExpand();
17
- if (onCollapse && (lastNotifiedSize == null || lastNotifiedSize !== collapsedSize) && size === collapsedSize) onCollapse();
19
+ if (onExpand && (lastNotifiedSize == null || fuzzyNumbersEqual(lastNotifiedSize, collapsedSize)) && !fuzzyNumbersEqual(displaySize, collapsedSize)) onExpand();
20
+ if (onCollapse && (lastNotifiedSize == null || !fuzzyNumbersEqual(lastNotifiedSize, collapsedSize)) && fuzzyNumbersEqual(displaySize, collapsedSize)) onCollapse();
18
21
  }
19
22
  }
20
23
  });
@@ -1 +1 @@
1
- {"version":3,"file":"callPanelCallbacks.js","names":["panelsArray: PanelData[]","layout: number[]","panelIdToLastNotifiedSizeMap: Record<string, number>"],"sources":["../../src/Splitter/utils/callPanelCallbacks.ts"],"sourcesContent":[],"mappings":";;;AAIA,SAAgB,mBACdA,aACAC,QACAC,8BACA;AACA,QAAO,QAAQ,CAAC,MAAM,UAAU;EAC9B,MAAM,YAAY,YAAY;AAC9B,SAAO,UAAU;EAEjB,MAAM,EAAE,WAAW,aAAa,IAAI,SAAS,GAAG;EAChD,MAAM,EAAE,gBAAgB,GAAG,aAAa,GAAG;EAE3C,MAAM,mBAAmB,6BAA6B;AACtD,MAAI,oBAAoB,QAAQ,SAAS,kBAAkB;AACzD,gCAA6B,WAAW;GAExC,MAAM,EAAE,YAAY,UAAU,UAAU,GAAG;AAE3C,OAAI,SACF,UAAS,MAAM,iBAAiB;AAElC,OAAI,gBAAgB,cAAc,WAAW;AAC3C,QACE,aACI,oBAAoB,QAAQ,qBAAqB,kBAClD,SAAS,cAEZ,WAAU;AAGZ,QACE,eACI,oBAAoB,QAAQ,qBAAqB,kBAClD,SAAS,cAEZ,aAAY;GAEf;EACF;CACF,EAAC;AACH"}
1
+ {"version":3,"file":"callPanelCallbacks.js","names":["panelsArray: PanelData[]","layout: number[]","panelIdToLastNotifiedSizeMap: Record<string, number>","groupSizeInPixels?: number | null"],"sources":["../../src/Splitter/utils/callPanelCallbacks.ts"],"sourcesContent":[],"mappings":";;;;AAKA,SAAgB,mBACdA,aACAC,QACAC,8BACAC,mBACA;AACA,QAAO,QAAQ,CAAC,MAAM,UAAU;EAC9B,MAAM,YAAY,YAAY;AAC9B,SAAO,UAAU;EAEjB,MAAM,EAAE,WAAW,aAAa,IAAI,SAAS,GAAG;EAChD,MAAM,EAAE,gBAAgB,GAAG,aAAa,UAAU,GAAG;EAGrD,IAAI,cAAc;AAClB,MAAI,aAAa,QAAQ,qBAAqB,KAC5C,eAAe,OAAO,MAAO;EAG/B,MAAM,mBAAmB,6BAA6B;AACtD,MAAI,oBAAoB,SAAS,kBAAkB,aAAa,iBAAiB,EAAE;AACjF,gCAA6B,WAAW;GAExC,MAAM,EAAE,YAAY,UAAU,UAAU,GAAG;AAE3C,OAAI,SACF,UAAS,aAAa,iBAAiB;AAEzC,OAAI,gBAAgB,cAAc,WAAW;AAC3C,QACE,aACI,oBAAoB,QAAQ,kBAAkB,kBAAkB,cAAc,MAC9E,kBAAkB,aAAa,cAAc,CAEjD,WAAU;AAGZ,QACE,eACI,oBAAoB,SAAS,kBAAkB,kBAAkB,cAAc,KAChF,kBAAkB,aAAa,cAAc,CAEhD,aAAY;GAEf;EACF;CACF,EAAC;AACH"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "reka-ui",
3
3
  "type": "module",
4
- "version": "2.9.0",
4
+ "version": "2.9.1",
5
5
  "description": "Vue port for Radix UI Primitives.",
6
6
  "author": "UnoVue Contributors (https://github.com/unovue)",
7
7
  "license": "MIT",
@@ -106,7 +106,7 @@
106
106
  "@testing-library/user-event": "^14.6.1",
107
107
  "@testing-library/vue": "^8.1.0",
108
108
  "@tsconfig/node24": "^24.0.0",
109
- "@types/jsdom": "^27.0.0",
109
+ "@types/jsdom": "^28.0.0",
110
110
  "@types/node": "^24.0.13",
111
111
  "@vitejs/plugin-vue": "^6.0.4",
112
112
  "@vitest/coverage-istanbul": "^3.2.4",
@@ -17,10 +17,15 @@ const readonly = computed(() => rootContext.readonly.value ? true : undefined)
17
17
  </script>
18
18
 
19
19
  <template>
20
+ <!--
21
+ role="application" is intentional: it ensures screen readers like NVDA pass
22
+ keyboard events (arrow keys) to the web app instead of intercepting them
23
+ for virtual cursor navigation. This is the same pattern used by React Aria.
24
+ -->
20
25
  <Primitive
21
26
  v-bind="props"
22
27
  tabindex="-1"
23
- role="grid"
28
+ role="application"
24
29
  :aria-readonly="readonly"
25
30
  :aria-disabled="disabled"
26
31
  :data-readonly="readonly && ''"
@@ -60,6 +60,24 @@ function handleFocus() {
60
60
  rootContext.onOpenChange(true)
61
61
  }
62
62
 
63
+ function handleBlur(ev: FocusEvent) {
64
+ if (!rootContext.open.value)
65
+ return
66
+
67
+ const nextFocus = ev.relatedTarget as Element | null
68
+
69
+ // If focus moves to nothing (e.g. click on non-focusable area), let DismissableLayer handle it
70
+ if (!nextFocus)
71
+ return
72
+
73
+ const isInsideRoot = rootContext.parentElement.value?.contains(nextFocus)
74
+ const isInsideContent = document.getElementById(rootContext.contentId)?.contains(nextFocus)
75
+
76
+ if (!isInsideRoot && !isInsideContent) {
77
+ rootContext.onOpenChange(false)
78
+ }
79
+ }
80
+
63
81
  function handleClick() {
64
82
  if (rootContext.openOnClick.value && !rootContext.open.value)
65
83
  rootContext.onOpenChange(true)
@@ -122,6 +140,7 @@ watch(rootContext.filterState, (_newValue, oldValue) => {
122
140
  @input="handleInput"
123
141
  @keydown.down.up.prevent="handleKeyDown"
124
142
  @focus="handleFocus"
143
+ @blur="handleBlur"
125
144
  >
126
145
  <slot />
127
146
  </ListboxFilter>
@@ -13,7 +13,10 @@ export const CONTEXT_UPDATE = 'dismissableLayer.update'
13
13
  export const POINTER_DOWN_OUTSIDE = 'dismissableLayer.pointerDownOutside'
14
14
  export const FOCUS_OUTSIDE = 'dismissableLayer.focusOutside'
15
15
 
16
- function isLayerExist(layerElement: HTMLElement, targetElement: HTMLElement) {
16
+ export function isLayerExist(layerElement: HTMLElement, targetElement: HTMLElement) {
17
+ if (!(targetElement instanceof Element))
18
+ return false
19
+
17
20
  const targetLayer = targetElement.closest(
18
21
  '[data-dismissable-layer]',
19
22
  )
@@ -1,19 +1,31 @@
1
1
  <script lang="ts">
2
2
  import type { PrimitiveProps } from '@/Primitive'
3
+ import { createContext, useId } from '@/shared'
3
4
 
4
5
  export interface MenuGroupProps extends PrimitiveProps {}
6
+
7
+ interface MenuGroupContext {
8
+ id: string
9
+ }
10
+
11
+ export const [injectMenuGroupContext, provideMenuGroupContext]
12
+ = createContext<MenuGroupContext>('MenuGroup')
5
13
  </script>
6
14
 
7
15
  <script setup lang="ts">
8
16
  import { Primitive } from '@/Primitive'
9
17
 
10
18
  const props = defineProps<MenuGroupProps>()
19
+
20
+ const id = useId(undefined, 'reka-menu-group')
21
+ provideMenuGroupContext({ id })
11
22
  </script>
12
23
 
13
24
  <template>
14
25
  <Primitive
15
26
  role="group"
16
27
  v-bind="props"
28
+ :aria-labelledby="id"
17
29
  >
18
30
  <slot />
19
31
  </Primitive>
@@ -1,5 +1,6 @@
1
1
  <script lang="ts">
2
2
  import type { PrimitiveProps } from '@/Primitive'
3
+ import { injectMenuContext } from './MenuRoot.vue'
3
4
 
4
5
  export interface MenuItemImplProps extends PrimitiveProps {
5
6
  /** When `true`, prevents the user from interacting with the item. */
@@ -28,6 +29,7 @@ defineOptions({
28
29
 
29
30
  const props = defineProps<MenuItemImplProps>()
30
31
 
32
+ const menuContext = injectMenuContext()
31
33
  const contentContext = injectMenuContentContext()
32
34
  const { forwardRef, currentElement } = useForwardExpose()
33
35
  const { CollectionItem } = useCollection()
@@ -36,11 +38,9 @@ const isFocused = ref(false)
36
38
  const isHighlighted = computed(() => isFocused.value || (contentContext.highlightedElement.value === currentElement.value))
37
39
 
38
40
  async function handlePointerMove(event: PointerEvent) {
39
- if (event.defaultPrevented)
40
- return
41
- if (!isMouseEvent(event))
41
+ if (event.defaultPrevented || !isMouseEvent(event) || !menuContext.open.value) {
42
42
  return
43
-
43
+ }
44
44
  if (props.disabled) {
45
45
  contentContext.onItemLeave(event)
46
46
  }
@@ -1,5 +1,6 @@
1
1
  <script lang="ts">
2
2
  import type { PrimitiveProps } from '@/Primitive'
3
+ import { injectMenuGroupContext } from './MenuGroup.vue'
3
4
 
4
5
  export interface MenuLabelProps extends PrimitiveProps {}
5
6
  </script>
@@ -10,10 +11,15 @@ import { Primitive } from '@/Primitive'
10
11
  const props = withDefaults(defineProps<MenuLabelProps>(), {
11
12
  as: 'div',
12
13
  })
14
+
15
+ const groupContext = injectMenuGroupContext({ id: '' })
13
16
  </script>
14
17
 
15
18
  <template>
16
- <Primitive v-bind="props">
19
+ <Primitive
20
+ v-bind="props"
21
+ :id="groupContext.id || undefined"
22
+ >
17
23
  <slot />
18
24
  </Primitive>
19
25
  </template>
@@ -17,10 +17,15 @@ const readonly = computed(() => rootContext.readonly.value ? true : undefined)
17
17
  </script>
18
18
 
19
19
  <template>
20
+ <!--
21
+ role="application" is intentional: it ensures screen readers like NVDA pass
22
+ keyboard events (arrow keys) to the web app instead of intercepting them
23
+ for virtual cursor navigation. This is the same pattern used by React Aria.
24
+ -->
20
25
  <Primitive
21
26
  v-bind="props"
22
27
  tabindex="-1"
23
- role="grid"
28
+ role="application"
24
29
  :aria-labelledby="rootContext.headingId"
25
30
  :aria-readonly="readonly"
26
31
  :aria-disabled="disabled"
@@ -17,10 +17,15 @@ const readonly = computed(() => rootContext.readonly.value ? true : undefined)
17
17
  </script>
18
18
 
19
19
  <template>
20
+ <!--
21
+ role="application" is intentional: it ensures screen readers like NVDA pass
22
+ keyboard events (arrow keys) to the web app instead of intercepting them
23
+ for virtual cursor navigation. This is the same pattern used by React Aria.
24
+ -->
20
25
  <Primitive
21
26
  v-bind="props"
22
27
  tabindex="-1"
23
- role="grid"
28
+ role="application"
24
29
  :aria-labelledby="rootContext.headingId"
25
30
  :aria-readonly="readonly"
26
31
  :aria-disabled="disabled"
@@ -18,10 +18,15 @@ const readonly = computed(() => rootContext.readonly.value ? true : undefined)
18
18
  </script>
19
19
 
20
20
  <template>
21
+ <!--
22
+ role="application" is intentional: it ensures screen readers like NVDA pass
23
+ keyboard events (arrow keys) to the web app instead of intercepting them
24
+ for virtual cursor navigation. This is the same pattern used by React Aria.
25
+ -->
21
26
  <Primitive
22
27
  v-bind="props"
23
28
  tabindex="-1"
24
- role="grid"
29
+ role="application"
25
30
  :aria-readonly="readonly"
26
31
  :aria-disabled="disabled"
27
32
  :data-readonly="readonly && ''"
@@ -193,6 +193,20 @@ function getPanelDataWithPercentConstraints(groupSizeOverride?: number | null) {
193
193
 
194
194
  const setLayout = (val: number[]) => layout.value = val
195
195
 
196
+ /** Convert internal layout (always in %) to native units for each panel */
197
+ function convertLayoutToNativeUnits(internalLayout: number[]): number[] {
198
+ const { panelDataArray } = eagerValuesRef.value
199
+ const groupSize = getGroupSizeInPixels()
200
+
201
+ return internalLayout.map((size, index) => {
202
+ const panelData = panelDataArray[index]
203
+ if (panelData && (panelData.constraints.sizeUnit ?? '%') === 'px' && groupSize != null) {
204
+ return (size / 100) * groupSize
205
+ }
206
+ return size
207
+ })
208
+ }
209
+
196
210
  useWindowSplitterPanelGroupBehavior({
197
211
  eagerValuesRef,
198
212
  groupId,
@@ -347,12 +361,13 @@ watch(() => eagerValuesRef.value.panelDataArrayChanged, () => {
347
361
  setLayout(nextLayout)
348
362
 
349
363
  eagerValuesRef.value.layout = nextLayout
350
- emits('layout', nextLayout)
364
+ emits('layout', convertLayoutToNativeUnits(nextLayout))
351
365
 
352
366
  callPanelCallbacks(
353
367
  panelDataArray,
354
368
  nextLayout,
355
369
  panelIdToLastNotifiedSizeMapRef.value,
370
+ getGroupSizeInPixels(),
356
371
  )
357
372
  }
358
373
  }
@@ -391,12 +406,13 @@ watch(groupSizeInPixels, (nextSize, prevSize) => {
391
406
  setLayout(nextLayout)
392
407
 
393
408
  eagerValuesRef.value.layout = nextLayout
394
- emits('layout', nextLayout)
409
+ emits('layout', convertLayoutToNativeUnits(nextLayout))
395
410
 
396
411
  callPanelCallbacks(
397
412
  panelDataArray,
398
413
  nextLayout,
399
414
  panelIdToLastNotifiedSizeMapRef.value,
415
+ getGroupSizeInPixels(),
400
416
  )
401
417
  }
402
418
  })
@@ -484,12 +500,13 @@ function registerResizeHandle(dragHandleId: string) {
484
500
  setLayout(nextLayout)
485
501
 
486
502
  eagerValuesRef.value.layout = nextLayout
487
- emits('layout', nextLayout)
503
+ emits('layout', convertLayoutToNativeUnits(nextLayout))
488
504
 
489
505
  callPanelCallbacks(
490
506
  panelDataArray,
491
507
  nextLayout,
492
508
  panelIdToLastNotifiedSizeMapRef.value,
509
+ getGroupSizeInPixels(),
493
510
  )
494
511
  }
495
512
  }
@@ -540,12 +557,13 @@ function resizePanel(panelData: PanelData, unsafePanelSize: number) {
540
557
  setLayout(nextLayout)
541
558
 
542
559
  eagerValuesRef.value.layout = nextLayout
543
- emits('layout', nextLayout)
560
+ emits('layout', convertLayoutToNativeUnits(nextLayout))
544
561
 
545
562
  callPanelCallbacks(
546
563
  panelDataArray,
547
564
  nextLayout,
548
565
  panelIdToLastNotifiedSizeMapRef.value,
566
+ getGroupSizeInPixels(),
549
567
  )
550
568
  }
551
569
  }
@@ -682,12 +700,13 @@ function collapsePanel(panelData: PanelData) {
682
700
 
683
701
  eagerValuesRef.value.layout = nextLayout
684
702
 
685
- emits('layout', nextLayout)
703
+ emits('layout', convertLayoutToNativeUnits(nextLayout))
686
704
 
687
705
  callPanelCallbacks(
688
706
  panelDataArray,
689
707
  nextLayout,
690
708
  panelIdToLastNotifiedSizeMapRef.value,
709
+ getGroupSizeInPixels(),
691
710
  )
692
711
  }
693
712
  }
@@ -747,12 +766,13 @@ function expandPanel(panelData: PanelData) {
747
766
 
748
767
  eagerValuesRef.value.layout = nextLayout
749
768
 
750
- emits('layout', nextLayout)
769
+ emits('layout', convertLayoutToNativeUnits(nextLayout))
751
770
 
752
771
  callPanelCallbacks(
753
772
  panelDataArray,
754
773
  nextLayout,
755
774
  panelIdToLastNotifiedSizeMapRef.value,
775
+ getGroupSizeInPixels(),
756
776
  )
757
777
  }
758
778
  }
@@ -1,41 +1,49 @@
1
1
  import type { PanelData } from '../SplitterPanel.vue'
2
2
  import { assert } from './assert'
3
+ import { fuzzyNumbersEqual } from './compare'
3
4
 
4
5
  // Layout should be pre-converted into percentages
5
6
  export function callPanelCallbacks(
6
7
  panelsArray: PanelData[],
7
8
  layout: number[],
8
9
  panelIdToLastNotifiedSizeMap: Record<string, number>,
10
+ groupSizeInPixels?: number | null,
9
11
  ) {
10
12
  layout.forEach((size, index) => {
11
13
  const panelData = panelsArray[index]
12
14
  assert(panelData)
13
15
 
14
16
  const { callbacks, constraints, id: panelId } = panelData
15
- const { collapsedSize = 0, collapsible } = constraints
17
+ const { collapsedSize = 0, collapsible, sizeUnit } = constraints
18
+
19
+ // Convert size to native units for px panels
20
+ let displaySize = size
21
+ if (sizeUnit === 'px' && groupSizeInPixels != null) {
22
+ displaySize = (size / 100) * groupSizeInPixels
23
+ }
16
24
 
17
25
  const lastNotifiedSize = panelIdToLastNotifiedSizeMap[panelId]
18
- if (lastNotifiedSize == null || size !== lastNotifiedSize) {
19
- panelIdToLastNotifiedSizeMap[panelId] = size
26
+ if (lastNotifiedSize == null || !fuzzyNumbersEqual(displaySize, lastNotifiedSize)) {
27
+ panelIdToLastNotifiedSizeMap[panelId] = displaySize
20
28
 
21
29
  const { onCollapse, onExpand, onResize } = callbacks
22
30
 
23
31
  if (onResize)
24
- onResize(size, lastNotifiedSize)
32
+ onResize(displaySize, lastNotifiedSize)
25
33
 
26
34
  if (collapsible && (onCollapse || onExpand)) {
27
35
  if (
28
36
  onExpand
29
- && (lastNotifiedSize == null || lastNotifiedSize === collapsedSize)
30
- && size !== collapsedSize
37
+ && (lastNotifiedSize == null || fuzzyNumbersEqual(lastNotifiedSize, collapsedSize))
38
+ && !fuzzyNumbersEqual(displaySize, collapsedSize)
31
39
  ) {
32
40
  onExpand()
33
41
  }
34
42
 
35
43
  if (
36
44
  onCollapse
37
- && (lastNotifiedSize == null || lastNotifiedSize !== collapsedSize)
38
- && size === collapsedSize
45
+ && (lastNotifiedSize == null || !fuzzyNumbersEqual(lastNotifiedSize, collapsedSize))
46
+ && fuzzyNumbersEqual(displaySize, collapsedSize)
39
47
  ) {
40
48
  onCollapse()
41
49
  }
@@ -11,7 +11,6 @@ const providerContext = injectToastProviderContext()
11
11
 
12
12
  <template>
13
13
  <VisuallyHidden
14
- aria-hidden="true"
15
14
  tabindex="0"
16
15
  style="position: fixed"
17
16
  @focus="(event: FocusEvent) => {