@limonify/zest-ui 0.1.4 → 0.2.0

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 (150) hide show
  1. package/lib/accordion/root/AccordionRoot.d.ts +4 -2
  2. package/lib/accordion/root/AccordionRoot.d.ts.map +1 -1
  3. package/lib/accordion/root/AccordionRoot.js +12 -3
  4. package/lib/accordion/root/AccordionRoot.js.map +1 -1
  5. package/lib/avatar/root/AvatarRoot.d.ts.map +1 -1
  6. package/lib/avatar/root/AvatarRoot.js +1 -1
  7. package/lib/avatar/root/AvatarRoot.js.map +1 -1
  8. package/lib/button/Button.d.ts.map +1 -1
  9. package/lib/button/Button.js +1 -1
  10. package/lib/button/Button.js.map +1 -1
  11. package/lib/checkbox-group/CheckboxGroup.d.ts.map +1 -1
  12. package/lib/checkbox-group/CheckboxGroup.js +1 -1
  13. package/lib/checkbox-group/CheckboxGroup.js.map +1 -1
  14. package/lib/collapsible/panel/useCollapsiblePanel.d.ts.map +1 -1
  15. package/lib/collapsible/panel/useCollapsiblePanel.js +2 -0
  16. package/lib/collapsible/panel/useCollapsiblePanel.js.map +1 -1
  17. package/lib/dialog/popup/DialogPopup.d.ts +6 -0
  18. package/lib/dialog/popup/DialogPopup.d.ts.map +1 -1
  19. package/lib/dialog/popup/DialogPopup.js +2 -2
  20. package/lib/dialog/popup/DialogPopup.js.map +1 -1
  21. package/lib/dialog/popup/useDialogPopupProps.d.ts +1 -0
  22. package/lib/dialog/popup/useDialogPopupProps.d.ts.map +1 -1
  23. package/lib/dialog/popup/useDialogPopupProps.js +3 -0
  24. package/lib/dialog/popup/useDialogPopupProps.js.map +1 -1
  25. package/lib/dialog/root/DialogTransitionContext.d.ts +8 -0
  26. package/lib/dialog/root/DialogTransitionContext.d.ts.map +1 -0
  27. package/lib/dialog/root/DialogTransitionContext.js +44 -0
  28. package/lib/dialog/root/DialogTransitionContext.js.map +1 -0
  29. package/lib/dialog/root/useRenderDialogRoot.d.ts.map +1 -1
  30. package/lib/dialog/root/useRenderDialogRoot.js +40 -1
  31. package/lib/dialog/root/useRenderDialogRoot.js.map +1 -1
  32. package/lib/drawer/popup/DrawerPopup.d.ts +6 -0
  33. package/lib/drawer/popup/DrawerPopup.d.ts.map +1 -1
  34. package/lib/drawer/popup/DrawerPopup.js +2 -1
  35. package/lib/drawer/popup/DrawerPopup.js.map +1 -1
  36. package/lib/input/Input.d.ts +2 -1
  37. package/lib/input/Input.d.ts.map +1 -1
  38. package/lib/input/Input.js +35 -2
  39. package/lib/input/Input.js.map +1 -1
  40. package/lib/internals/useTransitionStatus.d.ts.map +1 -1
  41. package/lib/internals/useTransitionStatus.js +11 -13
  42. package/lib/internals/useTransitionStatus.js.map +1 -1
  43. package/lib/menu/item/MenuItem.d.ts.map +1 -1
  44. package/lib/menu/item/MenuItem.js +1 -1
  45. package/lib/menu/item/MenuItem.js.map +1 -1
  46. package/lib/menu/popup/MenuPopup.d.ts +15 -0
  47. package/lib/menu/popup/MenuPopup.d.ts.map +1 -1
  48. package/lib/menu/popup/MenuPopup.js +4 -1
  49. package/lib/menu/popup/MenuPopup.js.map +1 -1
  50. package/lib/menu/root/MenuRoot.d.ts +1 -1
  51. package/lib/menu/root/MenuRoot.d.ts.map +1 -1
  52. package/lib/menu/root/MenuRoot.js +40 -1
  53. package/lib/menu/root/MenuRoot.js.map +1 -1
  54. package/lib/menu/root/MenuTransitionContext.d.ts +8 -0
  55. package/lib/menu/root/MenuTransitionContext.d.ts.map +1 -0
  56. package/lib/menu/root/MenuTransitionContext.js +44 -0
  57. package/lib/menu/root/MenuTransitionContext.js.map +1 -0
  58. package/lib/popover/popup/PopoverPopup.d.ts +6 -0
  59. package/lib/popover/popup/PopoverPopup.d.ts.map +1 -1
  60. package/lib/popover/popup/PopoverPopup.js +4 -1
  61. package/lib/popover/popup/PopoverPopup.js.map +1 -1
  62. package/lib/popover/root/PopoverRoot.d.ts +1 -1
  63. package/lib/popover/root/PopoverRoot.d.ts.map +1 -1
  64. package/lib/popover/root/PopoverRoot.js +40 -1
  65. package/lib/popover/root/PopoverRoot.js.map +1 -1
  66. package/lib/popover/root/PopoverTransitionContext.d.ts +8 -0
  67. package/lib/popover/root/PopoverTransitionContext.d.ts.map +1 -0
  68. package/lib/popover/root/PopoverTransitionContext.js +44 -0
  69. package/lib/popover/root/PopoverTransitionContext.js.map +1 -0
  70. package/lib/radio-group/RadioGroup.d.ts.map +1 -1
  71. package/lib/radio-group/RadioGroup.js +1 -1
  72. package/lib/radio-group/RadioGroup.js.map +1 -1
  73. package/lib/select/list/SelectList.d.ts.map +1 -1
  74. package/lib/select/list/SelectList.js +9 -1
  75. package/lib/select/list/SelectList.js.map +1 -1
  76. package/lib/select/popup/SelectPopup.d.ts +15 -0
  77. package/lib/select/popup/SelectPopup.d.ts.map +1 -1
  78. package/lib/select/popup/SelectPopup.js +4 -1
  79. package/lib/select/popup/SelectPopup.js.map +1 -1
  80. package/lib/select/root/SelectRoot.d.ts +1 -1
  81. package/lib/select/root/SelectRoot.d.ts.map +1 -1
  82. package/lib/select/root/SelectRoot.js +40 -1
  83. package/lib/select/root/SelectRoot.js.map +1 -1
  84. package/lib/select/root/SelectTransitionContext.d.ts +8 -0
  85. package/lib/select/root/SelectTransitionContext.d.ts.map +1 -0
  86. package/lib/select/root/SelectTransitionContext.js +44 -0
  87. package/lib/select/root/SelectTransitionContext.js.map +1 -0
  88. package/lib/separator/Separator.d.ts +2 -1
  89. package/lib/separator/Separator.d.ts.map +1 -1
  90. package/lib/separator/Separator.js +35 -1
  91. package/lib/separator/Separator.js.map +1 -1
  92. package/lib/slider/thumb/SliderThumb.d.ts +4 -0
  93. package/lib/slider/thumb/SliderThumb.d.ts.map +1 -1
  94. package/lib/slider/thumb/SliderThumb.js +1 -1
  95. package/lib/slider/thumb/SliderThumb.js.map +1 -1
  96. package/lib/tabs/tab/TabsTab.d.ts.map +1 -1
  97. package/lib/tabs/tab/TabsTab.js +1 -1
  98. package/lib/tabs/tab/TabsTab.js.map +1 -1
  99. package/lib/toggle/Toggle.d.ts +2 -1
  100. package/lib/toggle/Toggle.d.ts.map +1 -1
  101. package/lib/toggle/Toggle.js +35 -1
  102. package/lib/toggle/Toggle.js.map +1 -1
  103. package/lib/toggle-group/ToggleGroup.d.ts.map +1 -1
  104. package/lib/toggle-group/ToggleGroup.js +1 -1
  105. package/lib/toggle-group/ToggleGroup.js.map +1 -1
  106. package/lib/tooltip/popup/TooltipPopup.d.ts +15 -0
  107. package/lib/tooltip/popup/TooltipPopup.d.ts.map +1 -1
  108. package/lib/tooltip/popup/TooltipPopup.js +5 -1
  109. package/lib/tooltip/popup/TooltipPopup.js.map +1 -1
  110. package/lib/tooltip/root/TooltipRoot.d.ts +1 -1
  111. package/lib/tooltip/root/TooltipRoot.d.ts.map +1 -1
  112. package/lib/tooltip/root/TooltipRoot.js +40 -1
  113. package/lib/tooltip/root/TooltipRoot.js.map +1 -1
  114. package/lib/tooltip/root/TooltipTransitionContext.d.ts +8 -0
  115. package/lib/tooltip/root/TooltipTransitionContext.d.ts.map +1 -0
  116. package/lib/tooltip/root/TooltipTransitionContext.js +44 -0
  117. package/lib/tooltip/root/TooltipTransitionContext.js.map +1 -0
  118. package/package.json +182 -2
  119. package/src/accordion/root/AccordionRoot.tsx +22 -5
  120. package/src/avatar/root/AvatarRoot.tsx +4 -1
  121. package/src/button/Button.tsx +4 -1
  122. package/src/checkbox-group/CheckboxGroup.tsx +4 -1
  123. package/src/collapsible/panel/useCollapsiblePanel.tsx +1 -0
  124. package/src/dialog/popup/DialogPopup.tsx +8 -2
  125. package/src/dialog/popup/useDialogPopupProps.ts +3 -0
  126. package/src/dialog/root/DialogTransitionContext.ts +15 -0
  127. package/src/dialog/root/useRenderDialogRoot.tsx +13 -1
  128. package/src/drawer/popup/DrawerPopup.tsx +8 -1
  129. package/src/input/Input.tsx +5 -1
  130. package/src/internals/useTransitionStatus.ts +13 -11
  131. package/src/menu/item/MenuItem.tsx +4 -1
  132. package/src/menu/popup/MenuPopup.tsx +18 -1
  133. package/src/menu/root/MenuRoot.tsx +14 -2
  134. package/src/menu/root/MenuTransitionContext.ts +15 -0
  135. package/src/popover/popup/PopoverPopup.tsx +9 -1
  136. package/src/popover/root/PopoverRoot.tsx +14 -2
  137. package/src/popover/root/PopoverTransitionContext.ts +15 -0
  138. package/src/radio-group/RadioGroup.tsx +4 -1
  139. package/src/select/list/SelectList.tsx +9 -1
  140. package/src/select/popup/SelectPopup.tsx +18 -1
  141. package/src/select/root/SelectRoot.tsx +18 -2
  142. package/src/select/root/SelectTransitionContext.ts +15 -0
  143. package/src/separator/Separator.tsx +5 -1
  144. package/src/slider/thumb/SliderThumb.tsx +5 -1
  145. package/src/tabs/tab/TabsTab.tsx +4 -1
  146. package/src/toggle/Toggle.tsx +5 -1
  147. package/src/toggle-group/ToggleGroup.tsx +4 -1
  148. package/src/tooltip/popup/TooltipPopup.tsx +19 -1
  149. package/src/tooltip/root/TooltipRoot.tsx +18 -2
  150. package/src/tooltip/root/TooltipTransitionContext.ts +15 -0
@@ -52,18 +52,16 @@ const useAnimationFrame_1 = require("../hooks/useAnimationFrame");
52
52
  function useTransitionStatus(open, enableIdleState = false, deferEndingState = false) {
53
53
  const [transitionStatus, setTransitionStatus] = React.useState(open && enableIdleState ? 'idle' : undefined);
54
54
  const [mounted, setMounted] = React.useState(open);
55
- (0, useIsoLayoutEffect_1.useIsoLayoutEffect)(() => {
56
- if (open && !mounted) {
57
- setMounted(true);
58
- setTransitionStatus('starting');
59
- }
60
- else if (!open && mounted && transitionStatus !== 'ending' && !deferEndingState) {
61
- setTransitionStatus('ending');
62
- }
63
- else if (!open && !mounted && transitionStatus === 'ending') {
64
- setTransitionStatus(undefined);
65
- }
66
- }, [open, mounted, transitionStatus, deferEndingState]);
55
+ if (open && !mounted) {
56
+ setMounted(true);
57
+ setTransitionStatus('starting');
58
+ }
59
+ if (!open && mounted && transitionStatus !== 'ending' && !deferEndingState) {
60
+ setTransitionStatus('ending');
61
+ }
62
+ if (!open && !mounted && transitionStatus === 'ending') {
63
+ setTransitionStatus(undefined);
64
+ }
67
65
  (0, useIsoLayoutEffect_1.useIsoLayoutEffect)(() => {
68
66
  if (!open && mounted && transitionStatus !== 'ending' && deferEndingState) {
69
67
  const frame = useAnimationFrame_1.AnimationFrame.request(() => {
@@ -85,7 +83,7 @@ function useTransitionStatus(open, enableIdleState = false, deferEndingState = f
85
83
  return () => {
86
84
  useAnimationFrame_1.AnimationFrame.cancel(frame);
87
85
  };
88
- }, [enableIdleState, open]);
86
+ }, [enableIdleState, open, transitionStatus]);
89
87
  (0, useIsoLayoutEffect_1.useIsoLayoutEffect)(() => {
90
88
  if (!open || !enableIdleState) {
91
89
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"useTransitionStatus.js","sourceRoot":"","sources":["../../src/internals/useTransitionStatus.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useTransitionStatus.js","sourceRoot":"","sources":["../../src/internals/useTransitionStatus.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItem.d.ts","sourceRoot":"","sources":["../../../src/menu/item/MenuItem.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,EAA8B,MAAM,cAAc,CAAC;AAMrE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAIxD;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,KAAK,0EA6DtD;AAED,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAc,SAAQ,oBAAoB,CAAC,OAAO,SAAS,EAAE,aAAa,CAAC;IAC1F;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACpC;AAED,yBAAiB,QAAQ,CAAC;IACxB,KAAY,KAAK,GAAG,aAAa,CAAC;IAClC,KAAY,KAAK,GAAG,aAAa,CAAC;CACnC"}
1
+ {"version":3,"file":"MenuItem.d.ts","sourceRoot":"","sources":["../../../src/menu/item/MenuItem.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,EAA8B,MAAM,cAAc,CAAC;AAMrE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAIxD;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,KAAK,0EAgEtD;AAED,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAc,SAAQ,oBAAoB,CAAC,OAAO,SAAS,EAAE,aAAa,CAAC;IAC1F;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACpC;AAED,yBAAiB,QAAQ,CAAC;IACxB,KAAY,KAAK,GAAG,aAAa,CAAC;IAClC,KAAY,KAAK,GAAG,aAAa,CAAC;CACnC"}
@@ -62,7 +62,7 @@ function MenuItem(componentProps) {
62
62
  const { index, onLayout } = (0, useCompositeListItem_1.useCompositeListItem)();
63
63
  const [pressed, setPressed] = React.useState(false);
64
64
  const { getButtonProps } = (0, useButton_1.useButton)({ disabled });
65
- const state = { disabled, pressed, index };
65
+ const state = React.useMemo(() => ({ disabled, pressed, index }), [disabled, pressed, index]);
66
66
  return (0, useRenderElement_1.useRenderElement)(react_native_1.Pressable, componentProps, {
67
67
  state,
68
68
  ref,
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItem.js","sourceRoot":"","sources":["../../../src/menu/item/MenuItem.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBb,4BA6DC;AA/ED,6CAA+B;AAC/B,+CAAqE;AACrE,6DAA6D;AAC7D,mFAAmF;AACnF,wEAAqE;AACrE,oEAAiE;AACjE,8FAA2F;AAE3F,mFAAgF;AAChF,iDAA8C;AAE9C;;;;;;GAMG;AACH,SAAgB,QAAQ,CAAC,cAA8B;;IACrD,MAAM,EACJ,SAAS,EACT,YAAY,EAAE,gBAAgB,EAC9B,YAAY,EAAE,gBAAgB,EAC9B,QAAQ,GAAG,KAAK,EAChB,OAAO,EAAE,WAAW,EACpB,MAAM,EACN,KAAK,EACL,GAAG,EACH,GAAG,YAAY,EAChB,GAAG,cAAc,CAAC;IAEnB,0EAA0E;IAC1E,iCAAiC;IACjC,MAAM,YAAY,GAAG,MAAA,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,gBAAgB,mCAAI,IAAI,CAAC;IAElE,MAAM,KAAK,GAAG,IAAA,oCAAkB,GAAE,CAAC;IACnC,MAAM,kBAAkB,GAAG,IAAA,kDAAyB,GAAE,CAAC;IAEvD,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAA,2CAAoB,GAAE,CAAC;IAEnD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEpD,MAAM,EAAE,cAAc,EAAE,GAAG,IAAA,qBAAS,EAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IAEnD,MAAM,KAAK,GAAkB,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAE1D,OAAO,IAAA,mCAAgB,EAAC,wBAAS,EAAE,cAAc,EAAE;QACjD,KAAK;QACL,GAAG;QACH,KAAK,EAAE;YACL;gBACE,QAAQ;gBACR,iBAAiB,EAAE,UAAmB;gBACtC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,QAAQ,IAAI,SAAS,EAAE;gBACvD,OAAO,CAAC,KAA4B;oBAClC,IAAI,QAAQ,EAAE,CAAC;wBACb,OAAO;oBACT,CAAC;oBAED,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAG,KAAK,CAAC,CAAC;oBAErB,IAAI,YAAY,EAAE,CAAC;wBACjB,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,IAAA,mDAAwB,EAAC,iBAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;wBACzE,qEAAqE;wBACrE,qBAAqB;wBACrB,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,cAAc,CAAC,iBAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;oBAC/D,CAAC;gBACH,CAAC;gBACD,SAAS;oBACP,UAAU,CAAC,IAAI,CAAC,CAAC;gBACnB,CAAC;gBACD,UAAU;oBACR,UAAU,CAAC,KAAK,CAAC,CAAC;gBACpB,CAAC;aACF;YACD,YAAY;YACZ,cAAc;SACf;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"MenuItem.js","sourceRoot":"","sources":["../../../src/menu/item/MenuItem.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBb,4BAgEC;AAlFD,6CAA+B;AAC/B,+CAAqE;AACrE,6DAA6D;AAC7D,mFAAmF;AACnF,wEAAqE;AACrE,oEAAiE;AACjE,8FAA2F;AAE3F,mFAAgF;AAChF,iDAA8C;AAE9C;;;;;;GAMG;AACH,SAAgB,QAAQ,CAAC,cAA8B;;IACrD,MAAM,EACJ,SAAS,EACT,YAAY,EAAE,gBAAgB,EAC9B,YAAY,EAAE,gBAAgB,EAC9B,QAAQ,GAAG,KAAK,EAChB,OAAO,EAAE,WAAW,EACpB,MAAM,EACN,KAAK,EACL,GAAG,EACH,GAAG,YAAY,EAChB,GAAG,cAAc,CAAC;IAEnB,0EAA0E;IAC1E,iCAAiC;IACjC,MAAM,YAAY,GAAG,MAAA,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,gBAAgB,mCAAI,IAAI,CAAC;IAElE,MAAM,KAAK,GAAG,IAAA,oCAAkB,GAAE,CAAC;IACnC,MAAM,kBAAkB,GAAG,IAAA,kDAAyB,GAAE,CAAC;IAEvD,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAA,2CAAoB,GAAE,CAAC;IAEnD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEpD,MAAM,EAAE,cAAc,EAAE,GAAG,IAAA,qBAAS,EAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IAEnD,MAAM,KAAK,GAAkB,KAAK,CAAC,OAAO,CACxC,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EACpC,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAC3B,CAAC;IAEF,OAAO,IAAA,mCAAgB,EAAC,wBAAS,EAAE,cAAc,EAAE;QACjD,KAAK;QACL,GAAG;QACH,KAAK,EAAE;YACL;gBACE,QAAQ;gBACR,iBAAiB,EAAE,UAAmB;gBACtC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,QAAQ,IAAI,SAAS,EAAE;gBACvD,OAAO,CAAC,KAA4B;oBAClC,IAAI,QAAQ,EAAE,CAAC;wBACb,OAAO;oBACT,CAAC;oBAED,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAG,KAAK,CAAC,CAAC;oBAErB,IAAI,YAAY,EAAE,CAAC;wBACjB,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,IAAA,mDAAwB,EAAC,iBAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;wBACzE,qEAAqE;wBACrE,qBAAqB;wBACrB,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,cAAc,CAAC,iBAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;oBAC/D,CAAC;gBACH,CAAC;gBACD,SAAS;oBACP,UAAU,CAAC,IAAI,CAAC,CAAC;gBACnB,CAAC;gBACD,UAAU;oBACR,UAAU,CAAC,KAAK,CAAC,CAAC;gBACpB,CAAC;aACF;YACD,YAAY;YACZ,cAAc;SACf;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { View } from 'react-native';
2
2
  import type { Align, Side } from '../../utils/useAnchorPositioning';
3
+ import type { TransitionStatus } from '../../internals/useTransitionStatus';
3
4
  import type { ZestUIComponentProps } from '../../types';
4
5
  /**
5
6
  * A container for the menu items.
@@ -7,8 +8,22 @@ import type { ZestUIComponentProps } from '../../types';
7
8
  */
8
9
  export declare function MenuPopup(componentProps: MenuPopup.Props): import("react").JSX.Element;
9
10
  export interface MenuPopupState {
11
+ /**
12
+ * Whether the menu is currently open.
13
+ */
10
14
  open: boolean;
15
+ /**
16
+ * The transition status of the menu: `'starting'` as it opens (auto-clears
17
+ * to `undefined` after one frame), `'ending'` once it is closing.
18
+ */
19
+ transitionStatus: TransitionStatus;
20
+ /**
21
+ * The side the popup was actually placed on, after collision handling.
22
+ */
11
23
  side: Side;
24
+ /**
25
+ * The alignment the popup was actually placed with.
26
+ */
12
27
  align: Align;
13
28
  }
14
29
  export interface MenuPopupProps extends ZestUIComponentProps<typeof View, MenuPopupState> {
@@ -1 +1 @@
1
- {"version":3,"file":"MenuPopup.d.ts","sourceRoot":"","sources":["../../../src/menu/popup/MenuPopup.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAKpC,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,cAAc,EAAE,SAAS,CAAC,KAAK,+BA0BxD;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,KAAK,CAAC;CACd;AAED,MAAM,WAAW,cAAe,SAAQ,oBAAoB,CAAC,OAAO,IAAI,EAAE,cAAc,CAAC;CAAG;AAE5F,yBAAiB,SAAS,CAAC;IACzB,KAAY,KAAK,GAAG,cAAc,CAAC;IACnC,KAAY,KAAK,GAAG,cAAc,CAAC;CACpC"}
1
+ {"version":3,"file":"MenuPopup.d.ts","sourceRoot":"","sources":["../../../src/menu/popup/MenuPopup.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAMpC,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,cAAc,EAAE,SAAS,CAAC,KAAK,+BA2BxD;AAED,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,IAAI,EAAE,OAAO,CAAC;IACd;;;OAGG;IACH,gBAAgB,EAAE,gBAAgB,CAAC;IACnC;;OAEG;IACH,IAAI,EAAE,IAAI,CAAC;IACX;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;CACd;AAED,MAAM,WAAW,cAAe,SAAQ,oBAAoB,CAAC,OAAO,IAAI,EAAE,cAAc,CAAC;CAAG;AAE5F,yBAAiB,SAAS,CAAC;IACzB,KAAY,KAAK,GAAG,cAAc,CAAC;IACnC,KAAY,KAAK,GAAG,cAAc,CAAC;CACpC"}
@@ -6,6 +6,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
6
6
  const react_native_1 = require("react-native");
7
7
  const MenuRootContext_1 = require("../root/MenuRootContext");
8
8
  const MenuPositionerContext_1 = require("../positioner/MenuPositionerContext");
9
+ const MenuTransitionContext_1 = require("../root/MenuTransitionContext");
9
10
  const useRenderElement_1 = require("../../use-render/useRenderElement");
10
11
  const CompositeList_1 = require("../../internals/composite/list/CompositeList");
11
12
  /**
@@ -13,11 +14,13 @@ const CompositeList_1 = require("../../internals/composite/list/CompositeList");
13
14
  * Renders a `<View>`.
14
15
  */
15
16
  function MenuPopup(componentProps) {
17
+ var _a;
16
18
  const { render, className, style, ref, ...elementProps } = componentProps;
17
19
  const store = (0, MenuRootContext_1.useMenuRootContext)();
18
20
  const { side, align } = (0, MenuPositionerContext_1.useMenuPositionerContext)();
21
+ const { transitionStatus } = (_a = (0, MenuTransitionContext_1.useMenuTransitionContext)()) !== null && _a !== void 0 ? _a : { transitionStatus: undefined };
19
22
  const open = store.useState('open');
20
- const state = { open, side, align };
23
+ const state = { open, transitionStatus, side, align };
21
24
  const element = (0, useRenderElement_1.useRenderElement)(react_native_1.View, componentProps, {
22
25
  state,
23
26
  ref,
@@ -1 +1 @@
1
- {"version":3,"file":"MenuPopup.js","sourceRoot":"","sources":["../../../src/menu/popup/MenuPopup.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;AAab,8BA0BC;;AAtCD,+CAAoC;AACpC,6DAA6D;AAC7D,+EAA+E;AAC/E,wEAAqE;AACrE,gFAA6E;AAI7E;;;GAGG;AACH,SAAgB,SAAS,CAAC,cAA+B;IACvD,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,YAAY,EAAE,GAAG,cAAc,CAAC;IAE1E,MAAM,KAAK,GAAG,IAAA,oCAAkB,GAAE,CAAC;IACnC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAA,gDAAwB,GAAE,CAAC;IAEnD,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEpC,MAAM,KAAK,GAAmB,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IAEpD,MAAM,OAAO,GAAG,IAAA,mCAAgB,EAAC,mBAAI,EAAE,cAAc,EAAE;QACrD,KAAK;QACL,GAAG;QACH,KAAK,EAAE;YACL;gBACE,iBAAiB,EAAE,MAAe;gBAClC,wEAAwE;gBACxE,oCAAoC;gBACpC,yBAAyB,EAAE,GAAG,EAAE,CAAC,IAAI;aACtC;YACD,YAAY;SACb;KACF,CAAC,CAAC;IAEH,8DAA8D;IAC9D,OAAO,uBAAC,6BAAa,cAAE,OAAO,GAAiB,CAAC;AAClD,CAAC"}
1
+ {"version":3,"file":"MenuPopup.js","sourceRoot":"","sources":["../../../src/menu/popup/MenuPopup.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;AAeb,8BA2BC;;AAzCD,+CAAoC;AACpC,6DAA6D;AAC7D,+EAA+E;AAC/E,yEAAyE;AACzE,wEAAqE;AACrE,gFAA6E;AAK7E;;;GAGG;AACH,SAAgB,SAAS,CAAC,cAA+B;;IACvD,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,YAAY,EAAE,GAAG,cAAc,CAAC;IAE1E,MAAM,KAAK,GAAG,IAAA,oCAAkB,GAAE,CAAC;IACnC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAA,gDAAwB,GAAE,CAAC;IACnD,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAA,IAAA,gDAAwB,GAAE,mCAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,CAAC;IAE3F,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEpC,MAAM,KAAK,GAAmB,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IAEtE,MAAM,OAAO,GAAG,IAAA,mCAAgB,EAAC,mBAAI,EAAE,cAAc,EAAE;QACrD,KAAK;QACL,GAAG;QACH,KAAK,EAAE;YACL;gBACE,iBAAiB,EAAE,MAAe;gBAClC,wEAAwE;gBACxE,oCAAoC;gBACpC,yBAAyB,EAAE,GAAG,EAAE,CAAC,IAAI;aACtC;YACD,YAAY;SACb;KACF,CAAC,CAAC;IAEH,8DAA8D;IAC9D,OAAO,uBAAC,6BAAa,cAAE,OAAO,GAAiB,CAAC;AAClD,CAAC"}
@@ -1,4 +1,4 @@
1
- import type * as React from 'react';
1
+ import * as React from 'react';
2
2
  import type { ZestChangeEventDetails } from '../../utils/createChangeEventDetails';
3
3
  import type { REASONS } from '../../utils/reasons';
4
4
  import type { MenuHandle } from '../store/MenuHandle';
@@ -1 +1 @@
1
- {"version":3,"file":"MenuRoot.d.ts","sourceRoot":"","sources":["../../../src/menu/root/MenuRoot.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAGpC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGtD;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,OAAO,GAAG,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,qBAsCzE;AAED,MAAM,WAAW,aAAa;CAAG;AAEjC,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;OAEG;IACH,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,aAAa,CAAC,OAAO,GAAG,OAAO;IAC9C;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAClC;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,CAAC,kBAAkB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAChG;;;OAGG;IACH,uBAAuB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9C;;OAEG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;IAClE;;;OAGG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;IACzC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACtC;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC7C;;;;OAIG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;CACtE;AAED,MAAM,MAAM,yBAAyB,GACjC,OAAO,OAAO,CAAC,YAAY,GAC3B,OAAO,OAAO,CAAC,YAAY,GAC3B,OAAO,OAAO,CAAC,SAAS,GACxB,OAAO,OAAO,CAAC,SAAS,GACxB,OAAO,OAAO,CAAC,SAAS,GACxB,OAAO,OAAO,CAAC,UAAU,GACzB,OAAO,OAAO,CAAC,gBAAgB,GAC/B,OAAO,OAAO,CAAC,IAAI,CAAC;AAExB,MAAM,MAAM,0BAA0B,GAAG,sBAAsB,CAAC,yBAAyB,CAAC,CAAC;AAE3F,yBAAiB,QAAQ,CAAC;IACxB,KAAY,KAAK,GAAG,aAAa,CAAC;IAClC,KAAY,KAAK,CAAC,OAAO,GAAG,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9D,KAAY,OAAO,GAAG,eAAe,CAAC;IACtC,KAAY,iBAAiB,GAAG,yBAAyB,CAAC;IAC1D,KAAY,kBAAkB,GAAG,0BAA0B,CAAC;CAC7D"}
1
+ {"version":3,"file":"MenuRoot.d.ts","sourceRoot":"","sources":["../../../src/menu/root/MenuRoot.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAItD;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,OAAO,GAAG,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,qBAgDzE;AAED,MAAM,WAAW,aAAa;CAAG;AAEjC,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;OAEG;IACH,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,aAAa,CAAC,OAAO,GAAG,OAAO;IAC9C;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAClC;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,CAAC,kBAAkB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAChG;;;OAGG;IACH,uBAAuB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9C;;OAEG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;IAClE;;;OAGG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;IACzC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACtC;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC7C;;;;OAIG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;CACtE;AAED,MAAM,MAAM,yBAAyB,GACjC,OAAO,OAAO,CAAC,YAAY,GAC3B,OAAO,OAAO,CAAC,YAAY,GAC3B,OAAO,OAAO,CAAC,SAAS,GACxB,OAAO,OAAO,CAAC,SAAS,GACxB,OAAO,OAAO,CAAC,SAAS,GACxB,OAAO,OAAO,CAAC,UAAU,GACzB,OAAO,OAAO,CAAC,gBAAgB,GAC/B,OAAO,OAAO,CAAC,IAAI,CAAC;AAExB,MAAM,MAAM,0BAA0B,GAAG,sBAAsB,CAAC,yBAAyB,CAAC,CAAC;AAE3F,yBAAiB,QAAQ,CAAC;IACxB,KAAY,KAAK,GAAG,aAAa,CAAC;IAClC,KAAY,KAAK,CAAC,OAAO,GAAG,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9D,KAAY,OAAO,GAAG,eAAe,CAAC;IACtC,KAAY,iBAAiB,GAAG,yBAAyB,CAAC;IAC1D,KAAY,kBAAkB,GAAG,0BAA0B,CAAC;CAC7D"}
@@ -1,12 +1,48 @@
1
1
  "use strict";
2
2
  'use client';
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
3
36
  Object.defineProperty(exports, "__esModule", { value: true });
4
37
  exports.MenuRoot = MenuRoot;
5
38
  const jsx_runtime_1 = require("react/jsx-runtime");
39
+ const React = __importStar(require("react"));
6
40
  const useRefWithInit_1 = require("../../hooks/useRefWithInit");
41
+ const useTransitionStatus_1 = require("../../internals/useTransitionStatus");
7
42
  const usePopupRootHandle_1 = require("../../utils/popups/usePopupRootHandle");
8
43
  const MenuStore_1 = require("../store/MenuStore");
9
44
  const MenuRootContext_1 = require("./MenuRootContext");
45
+ const MenuTransitionContext_1 = require("./MenuTransitionContext");
10
46
  /**
11
47
  * Groups all parts of the menu.
12
48
  * Doesn't render its own element.
@@ -31,7 +67,10 @@ function MenuRoot(props) {
31
67
  store.useContextCallback('onOpenChange', onOpenChange);
32
68
  store.useSyncedValues({ disablePointerDismissal });
33
69
  (0, usePopupRootHandle_1.usePopupRootHandle)({ store, handle, actionsRef });
70
+ const resolvedOpen = store.useState('open');
71
+ const { transitionStatus } = (0, useTransitionStatus_1.useTransitionStatus)(resolvedOpen, false, true);
34
72
  const payload = store.useState('payload');
35
- return ((0, jsx_runtime_1.jsx)(MenuRootContext_1.MenuRootContext.Provider, { value: store, children: typeof children === 'function' ? children(payload) : children }));
73
+ const transitionContextValue = React.useMemo(() => ({ transitionStatus }), [transitionStatus]);
74
+ return ((0, jsx_runtime_1.jsx)(MenuRootContext_1.MenuRootContext.Provider, { value: store, children: (0, jsx_runtime_1.jsx)(MenuTransitionContext_1.MenuTransitionContext.Provider, { value: transitionContextValue, children: typeof children === 'function' ? children(payload) : children }) }));
36
75
  }
37
76
  //# sourceMappingURL=MenuRoot.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuRoot.js","sourceRoot":"","sources":["../../../src/menu/root/MenuRoot.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;AAoBb,4BAsCC;;AAxDD,+DAA4D;AAC5D,8EAA2E;AAG3E,kDAA+C;AAE/C,uDAAoD;AAEpD;;;;;;;;;GASG;AACH,SAAgB,QAAQ,CAAoB,KAA8B;IACxE,MAAM,EACJ,UAAU,EACV,QAAQ,EACR,WAAW,GAAG,KAAK,EACnB,gBAAgB,GAAG,IAAI,EACvB,uBAAuB,GAAG,KAAK,EAC/B,MAAM,EACN,YAAY,EACZ,IAAI,EACJ,SAAS,GACV,GAAG,KAAK,CAAC;IAEV,MAAM,KAAK,GAAG,IAAA,+BAAc,EAC1B,GAAG,EAAE,CACH,IAAI,qBAAS,CAAC;QACZ,IAAI,EAAE,WAAW;QACjB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,gBAAgB;QAC3B,aAAa,EAAE,SAAS;QACxB,uBAAuB;KACxB,CAAC,CACL,CAAC,OAAO,CAAC;IAEV,KAAK,CAAC,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC1C,KAAK,CAAC,iBAAiB,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;IACpD,KAAK,CAAC,kBAAkB,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IACvD,KAAK,CAAC,eAAe,CAAC,EAAE,uBAAuB,EAAE,CAAC,CAAC;IAEnD,IAAA,uCAAkB,EAAC,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;IAElD,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAY,CAAC;IAErD,OAAO,CACL,uBAAC,iCAAe,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YACnC,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,GACrC,CAC5B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"MenuRoot.js","sourceRoot":"","sources":["../../../src/menu/root/MenuRoot.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBb,4BAgDC;;AArED,6CAA+B;AAC/B,+DAA4D;AAC5D,6EAA0E;AAC1E,8EAA2E;AAG3E,kDAA+C;AAE/C,uDAAoD;AACpD,mEAAgE;AAEhE;;;;;;;;;GASG;AACH,SAAgB,QAAQ,CAAoB,KAA8B;IACxE,MAAM,EACJ,UAAU,EACV,QAAQ,EACR,WAAW,GAAG,KAAK,EACnB,gBAAgB,GAAG,IAAI,EACvB,uBAAuB,GAAG,KAAK,EAC/B,MAAM,EACN,YAAY,EACZ,IAAI,EACJ,SAAS,GACV,GAAG,KAAK,CAAC;IAEV,MAAM,KAAK,GAAG,IAAA,+BAAc,EAC1B,GAAG,EAAE,CACH,IAAI,qBAAS,CAAC;QACZ,IAAI,EAAE,WAAW;QACjB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,gBAAgB;QAC3B,aAAa,EAAE,SAAS;QACxB,uBAAuB;KACxB,CAAC,CACL,CAAC,OAAO,CAAC;IAEV,KAAK,CAAC,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC1C,KAAK,CAAC,iBAAiB,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;IACpD,KAAK,CAAC,kBAAkB,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IACvD,KAAK,CAAC,eAAe,CAAC,EAAE,uBAAuB,EAAE,CAAC,CAAC;IAEnD,IAAA,uCAAkB,EAAC,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;IAElD,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAA,yCAAmB,EAAC,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAE5E,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAY,CAAC;IAErD,MAAM,sBAAsB,GAAG,KAAK,CAAC,OAAO,CAC1C,GAAG,EAAE,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAC5B,CAAC,gBAAgB,CAAC,CACnB,CAAC;IAEF,OAAO,CACL,uBAAC,iCAAe,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YACpC,uBAAC,6CAAqB,CAAC,QAAQ,IAAC,KAAK,EAAE,sBAAsB,YAC1D,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,GAC/B,GACR,CAC5B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,8 @@
1
+ import * as React from 'react';
2
+ import type { TransitionStatus } from '../../internals/useTransitionStatus';
3
+ export interface MenuTransitionContext {
4
+ transitionStatus: TransitionStatus;
5
+ }
6
+ export declare const MenuTransitionContext: React.Context<MenuTransitionContext | undefined>;
7
+ export declare function useMenuTransitionContext(): MenuTransitionContext | undefined;
8
+ //# sourceMappingURL=MenuTransitionContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuTransitionContext.d.ts","sourceRoot":"","sources":["../../../src/menu/root/MenuTransitionContext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAE5E,MAAM,WAAW,qBAAqB;IACpC,gBAAgB,EAAE,gBAAgB,CAAC;CACpC;AAED,eAAO,MAAM,qBAAqB,kDAEjC,CAAC;AAEF,wBAAgB,wBAAwB,sCAEvC"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ 'use client';
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ exports.MenuTransitionContext = void 0;
38
+ exports.useMenuTransitionContext = useMenuTransitionContext;
39
+ const React = __importStar(require("react"));
40
+ exports.MenuTransitionContext = React.createContext(undefined);
41
+ function useMenuTransitionContext() {
42
+ return React.useContext(exports.MenuTransitionContext);
43
+ }
44
+ //# sourceMappingURL=MenuTransitionContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuTransitionContext.js","sourceRoot":"","sources":["../../../src/menu/root/MenuTransitionContext.ts"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYb,4DAEC;AAbD,6CAA+B;AAOlB,QAAA,qBAAqB,GAAG,KAAK,CAAC,aAAa,CACtD,SAAS,CACV,CAAC;AAEF,SAAgB,wBAAwB;IACtC,OAAO,KAAK,CAAC,UAAU,CAAC,6BAAqB,CAAC,CAAC;AACjD,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { View } from 'react-native';
2
2
  import type { Align, Side } from '../../utils/useAnchorPositioning';
3
+ import type { TransitionStatus } from '../../internals/useTransitionStatus';
3
4
  import type { ZestUIComponentProps } from '../../types';
4
5
  /**
5
6
  * A container for the popover contents.
@@ -11,6 +12,11 @@ export interface PopoverPopupState {
11
12
  * Whether the popover is currently open.
12
13
  */
13
14
  open: boolean;
15
+ /**
16
+ * The transition status of the popover: `'starting'` as it opens (auto-clears
17
+ * to `undefined` after one frame), `'ending'` once it is closing.
18
+ */
19
+ transitionStatus: TransitionStatus;
14
20
  /**
15
21
  * The side the popup was actually placed on, after collision handling.
16
22
  */
@@ -1 +1 @@
1
- {"version":3,"file":"PopoverPopup.d.ts","sourceRoot":"","sources":["../../../src/popover/popup/PopoverPopup.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAIpC,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,cAAc,EAAE,YAAY,CAAC,KAAK,8FA4B9D;AAED,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,IAAI,EAAE,OAAO,CAAC;IACd;;OAEG;IACH,IAAI,EAAE,IAAI,CAAC;IACX;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;CACd;AAED,MAAM,WAAW,iBAAkB,SAAQ,oBAAoB,CAAC,OAAO,IAAI,EAAE,iBAAiB,CAAC;CAAG;AAElG,yBAAiB,YAAY,CAAC;IAC5B,KAAY,KAAK,GAAG,iBAAiB,CAAC;IACtC,KAAY,KAAK,GAAG,iBAAiB,CAAC;CACvC"}
1
+ {"version":3,"file":"PopoverPopup.d.ts","sourceRoot":"","sources":["../../../src/popover/popup/PopoverPopup.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAKpC,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,cAAc,EAAE,YAAY,CAAC,KAAK,8FA6B9D;AAED,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,IAAI,EAAE,OAAO,CAAC;IACd;;;OAGG;IACH,gBAAgB,EAAE,gBAAgB,CAAC;IACnC;;OAEG;IACH,IAAI,EAAE,IAAI,CAAC;IACX;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;CACd;AAED,MAAM,WAAW,iBAAkB,SAAQ,oBAAoB,CAAC,OAAO,IAAI,EAAE,iBAAiB,CAAC;CAAG;AAElG,yBAAiB,YAAY,CAAC;IAC5B,KAAY,KAAK,GAAG,iBAAiB,CAAC;IACtC,KAAY,KAAK,GAAG,iBAAiB,CAAC;CACvC"}
@@ -5,19 +5,22 @@ exports.PopoverPopup = PopoverPopup;
5
5
  const react_native_1 = require("react-native");
6
6
  const PopoverRootContext_1 = require("../root/PopoverRootContext");
7
7
  const PopoverPositionerContext_1 = require("../positioner/PopoverPositionerContext");
8
+ const PopoverTransitionContext_1 = require("../root/PopoverTransitionContext");
8
9
  const useRenderElement_1 = require("../../use-render/useRenderElement");
9
10
  /**
10
11
  * A container for the popover contents.
11
12
  * Renders a `<View>`.
12
13
  */
13
14
  function PopoverPopup(componentProps) {
15
+ var _a;
14
16
  const { render, className, style, ref, ...elementProps } = componentProps;
15
17
  const store = (0, PopoverRootContext_1.usePopoverRootContext)();
16
18
  const { side, align } = (0, PopoverPositionerContext_1.usePopoverPositionerContext)();
19
+ const { transitionStatus } = (_a = (0, PopoverTransitionContext_1.usePopoverTransitionContext)()) !== null && _a !== void 0 ? _a : { transitionStatus: undefined };
17
20
  const open = store.useState('open');
18
21
  const titleElementId = store.useState('titleElementId');
19
22
  const descriptionElementId = store.useState('descriptionElementId');
20
- const state = { open, side, align };
23
+ const state = { open, transitionStatus, side, align };
21
24
  return (0, useRenderElement_1.useRenderElement)(react_native_1.View, componentProps, {
22
25
  state,
23
26
  ref,
@@ -1 +1 @@
1
- {"version":3,"file":"PopoverPopup.js","sourceRoot":"","sources":["../../../src/popover/popup/PopoverPopup.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;AAYb,oCA4BC;AAvCD,+CAAoC;AACpC,mEAAmE;AACnE,qFAAqF;AACrF,wEAAqE;AAIrE;;;GAGG;AACH,SAAgB,YAAY,CAAC,cAAkC;IAC7D,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,YAAY,EAAE,GAAG,cAAc,CAAC;IAE1E,MAAM,KAAK,GAAG,IAAA,0CAAqB,GAAE,CAAC;IACtC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAA,sDAA2B,GAAE,CAAC;IAEtD,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,cAAc,GAAG,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IACxD,MAAM,oBAAoB,GAAG,KAAK,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;IAEpE,MAAM,KAAK,GAAsB,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IAEvD,OAAO,IAAA,mCAAgB,EAAC,mBAAI,EAAE,cAAc,EAAE;QAC5C,KAAK;QACL,GAAG;QACH,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,QAAiB;gBACvB,uBAAuB,EAAE,cAAc;gBACvC,iBAAiB,EAAE,cAAc;gBACjC,kBAAkB,EAAE,oBAAoB;gBACxC,wEAAwE;gBACxE,oCAAoC;gBACpC,yBAAyB,EAAE,GAAG,EAAE,CAAC,IAAI;aACtC;YACD,YAAY;SACb;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"PopoverPopup.js","sourceRoot":"","sources":["../../../src/popover/popup/PopoverPopup.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;AAcb,oCA6BC;AA1CD,+CAAoC;AACpC,mEAAmE;AACnE,qFAAqF;AACrF,+EAA+E;AAC/E,wEAAqE;AAKrE;;;GAGG;AACH,SAAgB,YAAY,CAAC,cAAkC;;IAC7D,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,YAAY,EAAE,GAAG,cAAc,CAAC;IAE1E,MAAM,KAAK,GAAG,IAAA,0CAAqB,GAAE,CAAC;IACtC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAA,sDAA2B,GAAE,CAAC;IACtD,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAA,IAAA,sDAA2B,GAAE,mCAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,CAAC;IAE9F,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,cAAc,GAAG,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IACxD,MAAM,oBAAoB,GAAG,KAAK,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;IAEpE,MAAM,KAAK,GAAsB,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IAEzE,OAAO,IAAA,mCAAgB,EAAC,mBAAI,EAAE,cAAc,EAAE;QAC5C,KAAK;QACL,GAAG;QACH,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,QAAiB;gBACvB,uBAAuB,EAAE,cAAc;gBACvC,iBAAiB,EAAE,cAAc;gBACjC,kBAAkB,EAAE,oBAAoB;gBACxC,wEAAwE;gBACxE,oCAAoC;gBACpC,yBAAyB,EAAE,GAAG,EAAE,CAAC,IAAI;aACtC;YACD,YAAY;SACb;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -1,4 +1,4 @@
1
- import type * as React from 'react';
1
+ import * as React from 'react';
2
2
  import type { ZestChangeEventDetails } from '../../utils/createChangeEventDetails';
3
3
  import type { REASONS } from '../../utils/reasons';
4
4
  import type { PopoverHandle } from '../store/PopoverHandle';
@@ -1 +1 @@
1
- {"version":3,"file":"PopoverRoot.d.ts","sourceRoot":"","sources":["../../../src/popover/root/PopoverRoot.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAGpC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAG5D;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,GAAG,OAAO,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,qBAsC/E;AAED,MAAM,WAAW,gBAAgB;CAAG;AAEpC,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;OAEG;IACH,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB,CAAC,OAAO,GAAG,OAAO;IACjD;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAClC;;OAEG;IACH,YAAY,CAAC,EACT,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,CAAC,kBAAkB,KAAK,IAAI,CAAC,GACvE,SAAS,CAAC;IACd;;;OAGG;IACH,uBAAuB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9C;;OAEG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;IACrE;;;OAGG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;IAC5C;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACtC;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC7C;;;;OAIG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;CACtE;AAED,MAAM,MAAM,4BAA4B,GACpC,OAAO,OAAO,CAAC,YAAY,GAC3B,OAAO,OAAO,CAAC,YAAY,GAC3B,OAAO,OAAO,CAAC,SAAS,GACxB,OAAO,OAAO,CAAC,UAAU,GACzB,OAAO,OAAO,CAAC,gBAAgB,GAC/B,OAAO,OAAO,CAAC,IAAI,CAAC;AAExB,MAAM,MAAM,6BAA6B,GAAG,sBAAsB,CAAC,4BAA4B,CAAC,CAAC;AAEjG,yBAAiB,WAAW,CAAC;IAC3B,KAAY,KAAK,GAAG,gBAAgB,CAAC;IACrC,KAAY,KAAK,CAAC,OAAO,GAAG,OAAO,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACjE,KAAY,OAAO,GAAG,kBAAkB,CAAC;IACzC,KAAY,iBAAiB,GAAG,4BAA4B,CAAC;IAC7D,KAAY,kBAAkB,GAAG,6BAA6B,CAAC;CAChE"}
1
+ {"version":3,"file":"PopoverRoot.d.ts","sourceRoot":"","sources":["../../../src/popover/root/PopoverRoot.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAI5D;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,GAAG,OAAO,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,qBAgD/E;AAED,MAAM,WAAW,gBAAgB;CAAG;AAEpC,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;OAEG;IACH,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB,CAAC,OAAO,GAAG,OAAO;IACjD;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAClC;;OAEG;IACH,YAAY,CAAC,EACT,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,CAAC,kBAAkB,KAAK,IAAI,CAAC,GACvE,SAAS,CAAC;IACd;;;OAGG;IACH,uBAAuB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9C;;OAEG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;IACrE;;;OAGG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;IAC5C;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACtC;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC7C;;;;OAIG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;CACtE;AAED,MAAM,MAAM,4BAA4B,GACpC,OAAO,OAAO,CAAC,YAAY,GAC3B,OAAO,OAAO,CAAC,YAAY,GAC3B,OAAO,OAAO,CAAC,SAAS,GACxB,OAAO,OAAO,CAAC,UAAU,GACzB,OAAO,OAAO,CAAC,gBAAgB,GAC/B,OAAO,OAAO,CAAC,IAAI,CAAC;AAExB,MAAM,MAAM,6BAA6B,GAAG,sBAAsB,CAAC,4BAA4B,CAAC,CAAC;AAEjG,yBAAiB,WAAW,CAAC;IAC3B,KAAY,KAAK,GAAG,gBAAgB,CAAC;IACrC,KAAY,KAAK,CAAC,OAAO,GAAG,OAAO,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACjE,KAAY,OAAO,GAAG,kBAAkB,CAAC;IACzC,KAAY,iBAAiB,GAAG,4BAA4B,CAAC;IAC7D,KAAY,kBAAkB,GAAG,6BAA6B,CAAC;CAChE"}
@@ -1,12 +1,48 @@
1
1
  "use strict";
2
2
  'use client';
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
3
36
  Object.defineProperty(exports, "__esModule", { value: true });
4
37
  exports.PopoverRoot = PopoverRoot;
5
38
  const jsx_runtime_1 = require("react/jsx-runtime");
39
+ const React = __importStar(require("react"));
6
40
  const useRefWithInit_1 = require("../../hooks/useRefWithInit");
41
+ const useTransitionStatus_1 = require("../../internals/useTransitionStatus");
7
42
  const usePopupRootHandle_1 = require("../../utils/popups/usePopupRootHandle");
8
43
  const PopoverStore_1 = require("../store/PopoverStore");
9
44
  const PopoverRootContext_1 = require("./PopoverRootContext");
45
+ const PopoverTransitionContext_1 = require("./PopoverTransitionContext");
10
46
  /**
11
47
  * Groups all parts of the popover.
12
48
  * Doesn't render its own element.
@@ -25,7 +61,10 @@ function PopoverRoot(props) {
25
61
  store.useContextCallback('onOpenChange', onOpenChange);
26
62
  store.useSyncedValues({ disablePointerDismissal });
27
63
  (0, usePopupRootHandle_1.usePopupRootHandle)({ store, handle, actionsRef });
64
+ const resolvedOpen = store.useState('open');
65
+ const { transitionStatus } = (0, useTransitionStatus_1.useTransitionStatus)(resolvedOpen, false, true);
28
66
  const payload = store.useState('payload');
29
- return ((0, jsx_runtime_1.jsx)(PopoverRootContext_1.PopoverRootContext.Provider, { value: store, children: typeof children === 'function' ? children(payload) : children }));
67
+ const transitionContextValue = React.useMemo(() => ({ transitionStatus }), [transitionStatus]);
68
+ return ((0, jsx_runtime_1.jsx)(PopoverRootContext_1.PopoverRootContext.Provider, { value: store, children: (0, jsx_runtime_1.jsx)(PopoverTransitionContext_1.PopoverTransitionContext.Provider, { value: transitionContextValue, children: typeof children === 'function' ? children(payload) : children }) }));
30
69
  }
31
70
  //# sourceMappingURL=PopoverRoot.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PopoverRoot.js","sourceRoot":"","sources":["../../../src/popover/root/PopoverRoot.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;AAcb,kCAsCC;;AAlDD,+DAA4D;AAC5D,8EAA2E;AAG3E,wDAAqD;AAErD,6DAA0D;AAE1D;;;GAGG;AACH,SAAgB,WAAW,CAAoB,KAAiC;IAC9E,MAAM,EACJ,UAAU,EACV,QAAQ,EACR,WAAW,GAAG,KAAK,EACnB,gBAAgB,GAAG,IAAI,EACvB,uBAAuB,GAAG,KAAK,EAC/B,MAAM,EACN,YAAY,EACZ,IAAI,EACJ,SAAS,GACV,GAAG,KAAK,CAAC;IAEV,MAAM,KAAK,GAAG,IAAA,+BAAc,EAC1B,GAAG,EAAE,CACH,IAAI,2BAAY,CAAC;QACf,IAAI,EAAE,WAAW;QACjB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,gBAAgB;QAC3B,aAAa,EAAE,SAAS;QACxB,uBAAuB;KACxB,CAAC,CACL,CAAC,OAAO,CAAC;IAEV,KAAK,CAAC,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC1C,KAAK,CAAC,iBAAiB,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;IACpD,KAAK,CAAC,kBAAkB,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IACvD,KAAK,CAAC,eAAe,CAAC,EAAE,uBAAuB,EAAE,CAAC,CAAC;IAEnD,IAAA,uCAAkB,EAAC,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;IAElD,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAY,CAAC;IAErD,OAAO,CACL,uBAAC,uCAAkB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YACtC,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,GAClC,CAC/B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"PopoverRoot.js","sourceRoot":"","sources":["../../../src/popover/root/PopoverRoot.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBb,kCAgDC;;AA/DD,6CAA+B;AAC/B,+DAA4D;AAC5D,6EAA0E;AAC1E,8EAA2E;AAG3E,wDAAqD;AAErD,6DAA0D;AAC1D,yEAAsE;AAEtE;;;GAGG;AACH,SAAgB,WAAW,CAAoB,KAAiC;IAC9E,MAAM,EACJ,UAAU,EACV,QAAQ,EACR,WAAW,GAAG,KAAK,EACnB,gBAAgB,GAAG,IAAI,EACvB,uBAAuB,GAAG,KAAK,EAC/B,MAAM,EACN,YAAY,EACZ,IAAI,EACJ,SAAS,GACV,GAAG,KAAK,CAAC;IAEV,MAAM,KAAK,GAAG,IAAA,+BAAc,EAC1B,GAAG,EAAE,CACH,IAAI,2BAAY,CAAC;QACf,IAAI,EAAE,WAAW;QACjB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,gBAAgB;QAC3B,aAAa,EAAE,SAAS;QACxB,uBAAuB;KACxB,CAAC,CACL,CAAC,OAAO,CAAC;IAEV,KAAK,CAAC,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC1C,KAAK,CAAC,iBAAiB,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;IACpD,KAAK,CAAC,kBAAkB,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IACvD,KAAK,CAAC,eAAe,CAAC,EAAE,uBAAuB,EAAE,CAAC,CAAC;IAEnD,IAAA,uCAAkB,EAAC,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;IAElD,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAA,yCAAmB,EAAC,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAE5E,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAY,CAAC;IAErD,MAAM,sBAAsB,GAAG,KAAK,CAAC,OAAO,CAC1C,GAAG,EAAE,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAC5B,CAAC,gBAAgB,CAAC,CACnB,CAAC;IAEF,OAAO,CACL,uBAAC,uCAAkB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YACvC,uBAAC,mDAAwB,CAAC,QAAQ,IAAC,KAAK,EAAE,sBAAsB,YAC7D,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,GAC5B,GACR,CAC/B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,8 @@
1
+ import * as React from 'react';
2
+ import type { TransitionStatus } from '../../internals/useTransitionStatus';
3
+ export interface PopoverTransitionContext {
4
+ transitionStatus: TransitionStatus;
5
+ }
6
+ export declare const PopoverTransitionContext: React.Context<PopoverTransitionContext | undefined>;
7
+ export declare function usePopoverTransitionContext(): PopoverTransitionContext | undefined;
8
+ //# sourceMappingURL=PopoverTransitionContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PopoverTransitionContext.d.ts","sourceRoot":"","sources":["../../../src/popover/root/PopoverTransitionContext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAE5E,MAAM,WAAW,wBAAwB;IACvC,gBAAgB,EAAE,gBAAgB,CAAC;CACpC;AAED,eAAO,MAAM,wBAAwB,qDAEpC,CAAC;AAEF,wBAAgB,2BAA2B,yCAE1C"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ 'use client';
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ exports.PopoverTransitionContext = void 0;
38
+ exports.usePopoverTransitionContext = usePopoverTransitionContext;
39
+ const React = __importStar(require("react"));
40
+ exports.PopoverTransitionContext = React.createContext(undefined);
41
+ function usePopoverTransitionContext() {
42
+ return React.useContext(exports.PopoverTransitionContext);
43
+ }
44
+ //# sourceMappingURL=PopoverTransitionContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PopoverTransitionContext.js","sourceRoot":"","sources":["../../../src/popover/root/PopoverTransitionContext.ts"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYb,kEAEC;AAbD,6CAA+B;AAOlB,QAAA,wBAAwB,GAAG,KAAK,CAAC,aAAa,CACzD,SAAS,CACV,CAAC;AAEF,SAAgB,2BAA2B;IACzC,OAAO,KAAK,CAAC,UAAU,CAAC,gCAAwB,CAAC,CAAC;AACpD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"RadioGroup.d.ts","sourceRoot":"","sources":["../../src/radio-group/RadioGroup.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAKpC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAChF,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAG3C;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,GAAG,GAAG,EAAE,cAAc,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,qBAoE9E;AAED,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,eAAe,CAAC,KAAK,GAAG,GAAG,CAC1C,SAAQ,IAAI,CAAC,oBAAoB,CAAC,OAAO,IAAI,EAAE,eAAe,CAAC,EAAE,OAAO,CAAC;IACzE;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B;;;;OAIG;IACH,KAAK,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;IAC1B;;;;OAIG;IACH,YAAY,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;IACjC;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,CAAC,kBAAkB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CACnG;AAED,MAAM,MAAM,2BAA2B,GAAG,OAAO,OAAO,CAAC,IAAI,CAAC;AAE9D,MAAM,MAAM,4BAA4B,GAAG,sBAAsB,CAAC,2BAA2B,CAAC,CAAC;AAE/F,yBAAiB,UAAU,CAAC;IAC1B,KAAY,KAAK,GAAG,eAAe,CAAC;IACpC,KAAY,KAAK,CAAC,KAAK,GAAG,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;IACxD,KAAY,iBAAiB,GAAG,2BAA2B,CAAC;IAC5D,KAAY,kBAAkB,GAAG,4BAA4B,CAAC;CAC/D"}
1
+ {"version":3,"file":"RadioGroup.d.ts","sourceRoot":"","sources":["../../src/radio-group/RadioGroup.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAKpC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAChF,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAG3C;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,GAAG,GAAG,EAAE,cAAc,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,qBAuE9E;AAED,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,eAAe,CAAC,KAAK,GAAG,GAAG,CAC1C,SAAQ,IAAI,CAAC,oBAAoB,CAAC,OAAO,IAAI,EAAE,eAAe,CAAC,EAAE,OAAO,CAAC;IACzE;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B;;;;OAIG;IACH,KAAK,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;IAC1B;;;;OAIG;IACH,YAAY,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;IACjC;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,CAAC,kBAAkB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CACnG;AAED,MAAM,MAAM,2BAA2B,GAAG,OAAO,OAAO,CAAC,IAAI,CAAC;AAE9D,MAAM,MAAM,4BAA4B,GAAG,sBAAsB,CAAC,2BAA2B,CAAC,CAAC;AAE/F,yBAAiB,UAAU,CAAC;IAC1B,KAAY,KAAK,GAAG,eAAe,CAAC;IACpC,KAAY,KAAK,CAAC,KAAK,GAAG,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;IACxD,KAAY,iBAAiB,GAAG,2BAA2B,CAAC;IAC5D,KAAY,kBAAkB,GAAG,4BAA4B,CAAC;CAC/D"}
@@ -65,7 +65,7 @@ function RadioGroup(componentProps) {
65
65
  setCheckedValueUnwrapped(value);
66
66
  validateField(value);
67
67
  });
68
- const state = { disabled, readOnly, required };
68
+ const state = React.useMemo(() => ({ disabled, readOnly, required }), [disabled, readOnly, required]);
69
69
  const contextValue = React.useMemo(() => ({
70
70
  checkedValue,
71
71
  setCheckedValue,
@@ -1 +1 @@
1
- {"version":3,"file":"RadioGroup.js","sourceRoot":"","sources":["../../src/radio-group/RadioGroup.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBb,gCAoEC;;AAnFD,6CAA+B;AAC/B,+CAAoC;AACpC,0DAAuD;AACvD,kEAA+D;AAC/D,qEAAkE;AAClE,gGAA6F;AAI7F,2DAAwD;AAExD;;;GAGG;AACH,SAAgB,UAAU,CAAc,cAAuC;IAC7E,MAAM,EACJ,SAAS,EACT,YAAY,EACZ,QAAQ,EAAE,YAAY,GAAG,KAAK,EAC9B,aAAa,EACb,QAAQ,GAAG,KAAK,EAChB,MAAM,EACN,QAAQ,GAAG,KAAK,EAChB,KAAK,EACL,KAAK,EAAE,SAAS,EAChB,GAAG,EACH,GAAG,YAAY,EAChB,GAAG,cAAc,CAAC;IAEnB,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,IAAA,yDAA2B,GAAE,CAAC;IAEnF,MAAM,QAAQ,GAAG,YAAY,IAAI,aAAa,CAAC;IAE/C,MAAM,CAAC,YAAY,EAAE,wBAAwB,CAAC,GAAG,IAAA,6BAAa,EAAoB;QAChF,UAAU,EAAE,SAAS;QACrB,OAAO,EAAE,YAAY;QACrB,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,OAAO;KACf,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,IAAA,qCAAiB,EACvC,CAAC,KAAY,EAAE,YAA2C,EAAE,EAAE;QAC5D,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAG,KAAK,EAAE,YAAY,CAAC,CAAC;QAErC,IAAI,YAAY,CAAC,UAAU,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAChC,aAAa,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC,CACF,CAAC;IAEF,MAAM,KAAK,GAAoB,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;IAEhE,MAAM,YAAY,GAA6B,KAAK,CAAC,OAAO,CAC1D,GAAG,EAAE,CAAC,CAAC;QACL,YAAY;QACZ,eAAe;QACf,QAAQ;QACR,QAAQ;QACR,QAAQ;KACT,CAAC,EACF,CAAC,YAAY,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAC9D,CAAC;IAEF,MAAM,OAAO,GAAG,IAAA,mCAAgB,EAAC,mBAAI,EAAE,cAAc,EAAE;QACrD,KAAK;QACL,GAAG;QACH,KAAK,EAAE;YACL;gBACE,iBAAiB,EAAE,YAAqB;gBACxC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,QAAQ,IAAI,SAAS,EAAE;gBACvD,eAAe,EAAE,QAAQ,IAAI,SAAS;gBACtC,eAAe,EAAE,QAAQ,IAAI,SAAS;gBACtC,GAAG,UAAU;aACd;YACD,YAAY;SACb;KACF,CAAC,CAAC;IAEH,OAAO,uBAAC,qCAAiB,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,YAAG,OAAO,GAA8B,CAAC;AACjG,CAAC"}
1
+ {"version":3,"file":"RadioGroup.js","sourceRoot":"","sources":["../../src/radio-group/RadioGroup.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBb,gCAuEC;;AAtFD,6CAA+B;AAC/B,+CAAoC;AACpC,0DAAuD;AACvD,kEAA+D;AAC/D,qEAAkE;AAClE,gGAA6F;AAI7F,2DAAwD;AAExD;;;GAGG;AACH,SAAgB,UAAU,CAAc,cAAuC;IAC7E,MAAM,EACJ,SAAS,EACT,YAAY,EACZ,QAAQ,EAAE,YAAY,GAAG,KAAK,EAC9B,aAAa,EACb,QAAQ,GAAG,KAAK,EAChB,MAAM,EACN,QAAQ,GAAG,KAAK,EAChB,KAAK,EACL,KAAK,EAAE,SAAS,EAChB,GAAG,EACH,GAAG,YAAY,EAChB,GAAG,cAAc,CAAC;IAEnB,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,IAAA,yDAA2B,GAAE,CAAC;IAEnF,MAAM,QAAQ,GAAG,YAAY,IAAI,aAAa,CAAC;IAE/C,MAAM,CAAC,YAAY,EAAE,wBAAwB,CAAC,GAAG,IAAA,6BAAa,EAAoB;QAChF,UAAU,EAAE,SAAS;QACrB,OAAO,EAAE,YAAY;QACrB,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,OAAO;KACf,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,IAAA,qCAAiB,EACvC,CAAC,KAAY,EAAE,YAA2C,EAAE,EAAE;QAC5D,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAG,KAAK,EAAE,YAAY,CAAC,CAAC;QAErC,IAAI,YAAY,CAAC,UAAU,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAChC,aAAa,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC,CACF,CAAC;IAEF,MAAM,KAAK,GAAoB,KAAK,CAAC,OAAO,CAC1C,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,EACxC,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAC/B,CAAC;IAEF,MAAM,YAAY,GAA6B,KAAK,CAAC,OAAO,CAC1D,GAAG,EAAE,CAAC,CAAC;QACL,YAAY;QACZ,eAAe;QACf,QAAQ;QACR,QAAQ;QACR,QAAQ;KACT,CAAC,EACF,CAAC,YAAY,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAC9D,CAAC;IAEF,MAAM,OAAO,GAAG,IAAA,mCAAgB,EAAC,mBAAI,EAAE,cAAc,EAAE;QACrD,KAAK;QACL,GAAG;QACH,KAAK,EAAE;YACL;gBACE,iBAAiB,EAAE,YAAqB;gBACxC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,QAAQ,IAAI,SAAS,EAAE;gBACvD,eAAe,EAAE,QAAQ,IAAI,SAAS;gBACtC,eAAe,EAAE,QAAQ,IAAI,SAAS;gBACtC,GAAG,UAAU;aACd;YACD,YAAY;SACb;KACF,CAAC,CAAC;IAEH,OAAO,uBAAC,qCAAiB,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,YAAG,OAAO,GAA8B,CAAC;AACjG,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"SelectList.d.ts","sourceRoot":"","sources":["../../../src/select/list/SelectList.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,cAAc,EAAE,UAAU,CAAC,KAAK,8FAU1D;AAED,MAAM,WAAW,eAAe;CAAG;AAEnC,MAAM,WAAW,eAAgB,SAAQ,oBAAoB,CAAC,OAAO,UAAU,EAAE,eAAe,CAAC;CAAG;AAEpG,yBAAiB,UAAU,CAAC;IAC1B,KAAY,KAAK,GAAG,eAAe,CAAC;IACpC,KAAY,KAAK,GAAG,eAAe,CAAC;CACrC"}
1
+ {"version":3,"file":"SelectList.d.ts","sourceRoot":"","sources":["../../../src/select/list/SelectList.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,cAAc,EAAE,UAAU,CAAC,KAAK,8FAkB1D;AAED,MAAM,WAAW,eAAe;CAAG;AAEnC,MAAM,WAAW,eAAgB,SAAQ,oBAAoB,CAAC,OAAO,UAAU,EAAE,eAAe,CAAC;CAAG;AAEpG,yBAAiB,UAAU,CAAC;IAC1B,KAAY,KAAK,GAAG,eAAe,CAAC;IACpC,KAAY,KAAK,GAAG,eAAe,CAAC;CACrC"}
@@ -17,7 +17,15 @@ function SelectList(componentProps) {
17
17
  return (0, useRenderElement_1.useRenderElement)(react_native_1.ScrollView, componentProps, {
18
18
  state,
19
19
  ref,
20
- props: [{ accessibilityRole: 'list', role: 'listbox' }, elementProps],
20
+ props: [
21
+ {
22
+ accessibilityRole: 'list',
23
+ role: 'listbox',
24
+ keyboardShouldPersistTaps: 'handled',
25
+ keyboardDismissMode: 'on-drag',
26
+ },
27
+ elementProps,
28
+ ],
21
29
  });
22
30
  }
23
31
  //# sourceMappingURL=SelectList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectList.js","sourceRoot":"","sources":["../../../src/select/list/SelectList.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;AAYb,gCAUC;AArBD,+CAA0C;AAC1C,wEAAqE;AAGrE;;;;;;GAMG;AACH,SAAgB,UAAU,CAAC,cAAgC;IACzD,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,YAAY,EAAE,GAAG,cAAc,CAAC;IAE1E,MAAM,KAAK,GAAoB,EAAE,CAAC;IAElC,OAAO,IAAA,mCAAgB,EAAC,yBAAU,EAAE,cAAc,EAAE;QAClD,KAAK;QACL,GAAG;QACH,KAAK,EAAE,CAAC,EAAE,iBAAiB,EAAE,MAAe,EAAE,IAAI,EAAE,SAAkB,EAAE,EAAE,YAAY,CAAC;KACxF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"SelectList.js","sourceRoot":"","sources":["../../../src/select/list/SelectList.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;AAYb,gCAkBC;AA7BD,+CAA0C;AAC1C,wEAAqE;AAGrE;;;;;;GAMG;AACH,SAAgB,UAAU,CAAC,cAAgC;IACzD,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,YAAY,EAAE,GAAG,cAAc,CAAC;IAE1E,MAAM,KAAK,GAAoB,EAAE,CAAC;IAElC,OAAO,IAAA,mCAAgB,EAAC,yBAAU,EAAE,cAAc,EAAE;QAClD,KAAK;QACL,GAAG;QACH,KAAK,EAAE;YACL;gBACE,iBAAiB,EAAE,MAAe;gBAClC,IAAI,EAAE,SAAkB;gBACxB,yBAAyB,EAAE,SAAkB;gBAC7C,mBAAmB,EAAE,SAAkB;aACxC;YACD,YAAY;SACb;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { View } from 'react-native';
2
2
  import type { Align, Side } from '../../utils/useAnchorPositioning';
3
+ import type { TransitionStatus } from '../../internals/useTransitionStatus';
3
4
  import type { ZestUIComponentProps } from '../../types';
4
5
  /**
5
6
  * A container for the select items.
@@ -7,8 +8,22 @@ import type { ZestUIComponentProps } from '../../types';
7
8
  */
8
9
  export declare function SelectPopup(componentProps: SelectPopup.Props): import("react").JSX.Element;
9
10
  export interface SelectPopupState {
11
+ /**
12
+ * Whether the select is currently open.
13
+ */
10
14
  open: boolean;
15
+ /**
16
+ * The transition status of the select: `'starting'` as it opens (auto-clears
17
+ * to `undefined` after one frame), `'ending'` once it is closing.
18
+ */
19
+ transitionStatus: TransitionStatus;
20
+ /**
21
+ * The side the popup was actually placed on, after collision handling.
22
+ */
11
23
  side: Side;
24
+ /**
25
+ * The alignment the popup was actually placed with.
26
+ */
12
27
  align: Align;
13
28
  }
14
29
  export interface SelectPopupProps extends ZestUIComponentProps<typeof View, SelectPopupState> {