@okam/stack-ui 1.42.3 → 1.42.4

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 (177) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/components/Menu/interface.d.ts +7 -1
  3. package/index153.js +1 -1
  4. package/index153.mjs +4 -4
  5. package/index154.js +1 -1
  6. package/index154.mjs +2 -2
  7. package/index155.js +1 -1
  8. package/index155.mjs +1 -1
  9. package/index156.js +1 -1
  10. package/index156.mjs +1 -1
  11. package/index161.js +1 -1
  12. package/index161.mjs +2 -2
  13. package/index162.js +1 -1
  14. package/index162.mjs +15 -14
  15. package/index163.js +1 -1
  16. package/index163.mjs +2 -2
  17. package/index164.js +1 -1
  18. package/index164.mjs +5 -5
  19. package/index165.js +1 -1
  20. package/index165.mjs +3 -3
  21. package/index172.js +1 -1
  22. package/index172.mjs +2 -2
  23. package/index176.js +1 -1
  24. package/index176.mjs +4 -4
  25. package/index177.js +1 -1
  26. package/index177.mjs +1 -1
  27. package/index178.js +1 -1
  28. package/index178.mjs +2 -2
  29. package/index179.js +1 -1
  30. package/index179.mjs +3 -3
  31. package/index181.js +1 -1
  32. package/index181.mjs +3 -3
  33. package/index232.js +1 -1
  34. package/index232.mjs +117 -132
  35. package/index233.js +1 -1
  36. package/index233.mjs +65 -189
  37. package/index234.js +1 -1
  38. package/index234.mjs +378 -19
  39. package/index235.js +1 -1
  40. package/index235.mjs +47 -4
  41. package/index236.js +1 -1
  42. package/index236.mjs +4 -29
  43. package/index237.js +1 -1
  44. package/index237.mjs +23 -48
  45. package/index238.js +1 -1
  46. package/index238.mjs +45 -52
  47. package/index239.js +1 -1
  48. package/index239.mjs +5 -48
  49. package/index240.js +1 -1
  50. package/index240.mjs +22 -95
  51. package/index241.js +1 -1
  52. package/index241.mjs +12 -5
  53. package/index242.js +1 -1
  54. package/index242.mjs +4 -6
  55. package/index243.js +1 -1
  56. package/index243.mjs +13 -40
  57. package/index244.js +1 -1
  58. package/index244.mjs +43 -72
  59. package/index245.js +1 -1
  60. package/index245.mjs +56 -13
  61. package/index246.js +1 -1
  62. package/index246.mjs +40 -67
  63. package/index247.js +1 -1
  64. package/index247.mjs +28 -7
  65. package/index248.js +1 -1
  66. package/index248.mjs +31 -11
  67. package/index249.js +1 -1
  68. package/index249.mjs +13 -46
  69. package/index250.js +1 -1
  70. package/index250.mjs +10 -125
  71. package/index251.js +1 -1
  72. package/index251.mjs +24 -69
  73. package/index252.js +1 -1
  74. package/index252.mjs +8 -380
  75. package/index253.js +1 -1
  76. package/index253.mjs +6 -46
  77. package/index254.js +1 -1
  78. package/index254.mjs +5 -24
  79. package/index255.js +1 -1
  80. package/index255.mjs +7 -24
  81. package/index256.js +1 -1
  82. package/index256.mjs +29 -12
  83. package/index257.js +1 -1
  84. package/index257.mjs +18 -4
  85. package/index258.js +1 -1
  86. package/index258.mjs +13 -14
  87. package/index259.js +1 -1
  88. package/index259.mjs +38 -37
  89. package/index260.js +1 -1
  90. package/index260.mjs +7 -56
  91. package/index261.js +1 -1
  92. package/index261.mjs +16 -27
  93. package/index262.js +1 -1
  94. package/index262.mjs +3 -32
  95. package/index263.js +1 -1
  96. package/index263.mjs +4 -10
  97. package/index264.js +1 -1
  98. package/index264.mjs +19 -9
  99. package/index265.js +1 -1
  100. package/index265.mjs +54 -5
  101. package/index266.js +1 -1
  102. package/index266.mjs +27 -7
  103. package/index267.js +1 -1
  104. package/index267.mjs +136 -25
  105. package/index268.js +1 -1
  106. package/index268.mjs +196 -17
  107. package/index269.js +1 -1
  108. package/index269.mjs +21 -12
  109. package/index270.js +1 -1
  110. package/index270.mjs +47 -41
  111. package/index271.js +1 -1
  112. package/index271.mjs +47 -7
  113. package/index272.js +1 -1
  114. package/index272.mjs +95 -15
  115. package/index273.js +1 -1
  116. package/index273.mjs +72 -3
  117. package/index274.js +1 -1
  118. package/index274.mjs +68 -4
  119. package/index275.js +1 -1
  120. package/index275.mjs +7 -19
  121. package/index276.js +1 -1
  122. package/index276.mjs +11 -27
  123. package/index277.js +1 -1
  124. package/index277.mjs +5 -31
  125. package/index278.js +1 -1
  126. package/index278.mjs +121 -5
  127. package/index279.js +1 -1
  128. package/index279.mjs +43 -121
  129. package/index280.js +1 -1
  130. package/index280.mjs +230 -43
  131. package/index281.js +1 -1
  132. package/index281.mjs +27 -226
  133. package/index324.js +1 -1
  134. package/index324.mjs +63 -7
  135. package/index325.js +1 -1
  136. package/index325.mjs +25 -23
  137. package/index326.js +1 -1
  138. package/index326.mjs +7 -93
  139. package/index327.js +1 -1
  140. package/index327.mjs +27 -62
  141. package/index328.js +1 -1
  142. package/index328.mjs +90 -7
  143. package/index329.js +1 -1
  144. package/index329.mjs +8 -24
  145. package/index330.js +1 -1
  146. package/index330.mjs +25 -33
  147. package/index331.js +1 -1
  148. package/index331.mjs +33 -6
  149. package/index332.js +1 -1
  150. package/index332.mjs +6 -6
  151. package/index333.js +1 -1
  152. package/index333.mjs +6 -50
  153. package/index334.js +1 -1
  154. package/index334.mjs +49 -28
  155. package/index335.js +1 -1
  156. package/index335.mjs +5 -5
  157. package/index336.js +1 -1
  158. package/index336.mjs +20 -65
  159. package/index337.js +1 -1
  160. package/index337.mjs +29 -53
  161. package/index338.js +1 -1
  162. package/index338.mjs +63 -51
  163. package/index339.js +1 -1
  164. package/index339.mjs +43 -271
  165. package/index340.js +1 -1
  166. package/index340.mjs +52 -18
  167. package/index341.js +1 -1
  168. package/index341.mjs +281 -21
  169. package/index342.js +1 -1
  170. package/index342.mjs +20 -29
  171. package/index346.js +1 -1
  172. package/index346.mjs +166 -4
  173. package/index348.js +1 -1
  174. package/index348.mjs +4 -166
  175. package/index45.js +1 -1
  176. package/index45.mjs +68 -63
  177. package/package.json +1 -1
package/index280.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});class s{getKeyLeftOf(e){return this.flipDirection?this.getNextKey(e):this.getPreviousKey(e)}getKeyRightOf(e){return this.flipDirection?this.getPreviousKey(e):this.getNextKey(e)}isDisabled(e){var t,i;return this.disabledKeys.has(e)||!!(!((i=this.collection.getItem(e))===null||i===void 0||(t=i.props)===null||t===void 0)&&t.isDisabled)}getFirstKey(){let e=this.collection.getFirstKey();return e!=null&&this.isDisabled(e)&&(e=this.getNextKey(e)),e}getLastKey(){let e=this.collection.getLastKey();return e!=null&&this.isDisabled(e)&&(e=this.getPreviousKey(e)),e}getKeyAbove(e){return this.tabDirection?null:this.getPreviousKey(e)}getKeyBelow(e){return this.tabDirection?null:this.getNextKey(e)}getNextKey(e){let t=e;do t=this.collection.getKeyAfter(t),t==null&&(t=this.collection.getFirstKey());while(t!=null&&this.isDisabled(t));return t}getPreviousKey(e){let t=e;do t=this.collection.getKeyBefore(t),t==null&&(t=this.collection.getLastKey());while(t!=null&&this.isDisabled(t));return t}constructor(e,t,i,l=new Set){this.collection=e,this.flipDirection=t==="rtl"&&i==="horizontal",this.disabledKeys=l,this.tabDirection=i==="horizontal"}}exports.TabsKeyboardDelegate=s;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const F=require("./index336.js"),fe=require("./index337.js"),$=require("./index154.js"),H=require("./index244.js"),ae=require("./index245.js"),j=require("./index250.js"),w=require("./index257.js"),O=require("./index259.js"),G=require("./index258.js"),J=require("./index262.js"),b=require("./index263.js"),de=require("react-dom"),p=require("react"),Q=require("./index324.js"),X=require("./index335.js"),Y=require("@react-aria/focus"),ve=require("@react-aria/i18n");function ye(Z){let{selectionManager:e,keyboardDelegate:t,ref:i,autoFocus:P=!1,shouldFocusWrap:S=!1,disallowEmptySelection:_=!1,disallowSelectAll:ee=!1,escapeKeyBehavior:le="clearSelection",selectOnFocus:m=e.selectionBehavior==="replace",disallowTypeAhead:te=!1,shouldUseVirtualFocus:K,allowsTabNavigation:oe=!1,isVirtualized:L,scrollRef:f=i,linkBehavior:N="action"}=Z,{direction:T}=ve.useLocale(),re=ae.useRouter(),ue=l=>{var r;if(l.altKey&&l.key==="Tab"&&l.preventDefault(),!(!((r=i.current)===null||r===void 0)&&r.contains(l.target)))return;const u=(o,v)=>{if(o!=null){if(e.isLink(o)&&N==="selection"&&m&&!F.isNonContiguousSelectionModifier(l)){de.flushSync(()=>{e.setFocusedKey(o,v)});let y=F.getItemElement(i,o),W=e.getItemProps(o);y&&re.open(y,l,W.href,W.routerOptions);return}if(e.setFocusedKey(o,v),e.isLink(o)&&N==="override")return;l.shiftKey&&e.selectionMode==="multiple"?e.extendSelection(o):m&&!F.isNonContiguousSelectionModifier(l)&&e.replaceSelection(o)}};switch(l.key){case"ArrowDown":if(t.getKeyBelow){var n,s,c;let o=e.focusedKey!=null?(n=t.getKeyBelow)===null||n===void 0?void 0:n.call(t,e.focusedKey):(s=t.getFirstKey)===null||s===void 0?void 0:s.call(t);o==null&&S&&(o=(c=t.getFirstKey)===null||c===void 0?void 0:c.call(t,e.focusedKey)),o!=null&&(l.preventDefault(),u(o))}break;case"ArrowUp":if(t.getKeyAbove){var a,d,k;let o=e.focusedKey!=null?(a=t.getKeyAbove)===null||a===void 0?void 0:a.call(t,e.focusedKey):(d=t.getLastKey)===null||d===void 0?void 0:d.call(t);o==null&&S&&(o=(k=t.getLastKey)===null||k===void 0?void 0:k.call(t,e.focusedKey)),o!=null&&(l.preventDefault(),u(o))}break;case"ArrowLeft":if(t.getKeyLeftOf){var q,A,M;let o=e.focusedKey!=null?(q=t.getKeyLeftOf)===null||q===void 0?void 0:q.call(t,e.focusedKey):null;o==null&&S&&(o=T==="rtl"?(A=t.getFirstKey)===null||A===void 0?void 0:A.call(t,e.focusedKey):(M=t.getLastKey)===null||M===void 0?void 0:M.call(t,e.focusedKey)),o!=null&&(l.preventDefault(),u(o,T==="rtl"?"first":"last"))}break;case"ArrowRight":if(t.getKeyRightOf){var C,x,V;let o=e.focusedKey!=null?(C=t.getKeyRightOf)===null||C===void 0?void 0:C.call(t,e.focusedKey):null;o==null&&S&&(o=T==="rtl"?(x=t.getLastKey)===null||x===void 0?void 0:x.call(t,e.focusedKey):(V=t.getFirstKey)===null||V===void 0?void 0:V.call(t,e.focusedKey)),o!=null&&(l.preventDefault(),u(o,T==="rtl"?"last":"first"))}break;case"Home":if(t.getFirstKey){if(e.focusedKey===null&&l.shiftKey)return;l.preventDefault();let o=t.getFirstKey(e.focusedKey,b.isCtrlKeyPressed(l));e.setFocusedKey(o),o!=null&&(b.isCtrlKeyPressed(l)&&l.shiftKey&&e.selectionMode==="multiple"?e.extendSelection(o):m&&e.replaceSelection(o))}break;case"End":if(t.getLastKey){if(e.focusedKey===null&&l.shiftKey)return;l.preventDefault();let o=t.getLastKey(e.focusedKey,b.isCtrlKeyPressed(l));e.setFocusedKey(o),o!=null&&(b.isCtrlKeyPressed(l)&&l.shiftKey&&e.selectionMode==="multiple"?e.extendSelection(o):m&&e.replaceSelection(o))}break;case"PageDown":if(t.getKeyPageBelow&&e.focusedKey!=null){let o=t.getKeyPageBelow(e.focusedKey);o!=null&&(l.preventDefault(),u(o))}break;case"PageUp":if(t.getKeyPageAbove&&e.focusedKey!=null){let o=t.getKeyPageAbove(e.focusedKey);o!=null&&(l.preventDefault(),u(o))}break;case"a":b.isCtrlKeyPressed(l)&&e.selectionMode==="multiple"&&ee!==!0&&(l.preventDefault(),e.selectAll());break;case"Escape":le==="clearSelection"&&!_&&e.selectedKeys.size!==0&&(l.stopPropagation(),l.preventDefault(),e.clearSelection());break;case"Tab":if(!oe){if(l.shiftKey)i.current.focus();else{let o=Y.getFocusableTreeWalker(i.current,{tabbable:!0}),v,y;do y=o.lastChild(),y&&(v=y);while(y);v&&!v.contains(document.activeElement)&&H.focusWithoutScrolling(v)}break}}},D=p.useRef({top:0,left:0});w.useEvent(f,"scroll",L?void 0:()=>{var l,r,u,n;D.current={top:(u=(l=f.current)===null||l===void 0?void 0:l.scrollTop)!==null&&u!==void 0?u:0,left:(n=(r=f.current)===null||r===void 0?void 0:r.scrollLeft)!==null&&n!==void 0?n:0}});let ie=l=>{if(e.isFocused){l.currentTarget.contains(l.target)||e.setFocused(!1);return}if(l.currentTarget.contains(l.target)){if(e.setFocused(!0),e.focusedKey==null){var r,u;let c=d=>{d!=null&&(e.setFocusedKey(d),m&&!e.isSelected(d)&&e.replaceSelection(d))},a=l.relatedTarget;var n,s;a&&l.currentTarget.compareDocumentPosition(a)&Node.DOCUMENT_POSITION_FOLLOWING?c((n=e.lastSelectedKey)!==null&&n!==void 0?n:(r=t.getLastKey)===null||r===void 0?void 0:r.call(t)):c((s=e.firstSelectedKey)!==null&&s!==void 0?s:(u=t.getFirstKey)===null||u===void 0?void 0:u.call(t))}else!L&&f.current&&(f.current.scrollTop=D.current.top,f.current.scrollLeft=D.current.left);if(e.focusedKey!=null&&f.current){let c=F.getItemElement(i,e.focusedKey);c instanceof HTMLElement&&(!c.contains(document.activeElement)&&!K&&H.focusWithoutScrolling(c),Q.getInteractionModality()==="keyboard"&&O.scrollIntoViewport(c,{containingElement:i.current}))}}},ne=l=>{l.currentTarget.contains(l.relatedTarget)||e.setFocused(!1)},E=p.useRef(!1);w.useEvent(i,J.FOCUS_EVENT,K?l=>{let{detail:r}=l;l.stopPropagation(),e.setFocused(!0),(r==null?void 0:r.focusStrategy)==="first"&&(E.current=!0)}:void 0);let U=G.useEffectEvent(()=>{var l,r;let u=(r=(l=t.getFirstKey)===null||l===void 0?void 0:l.call(t))!==null&&r!==void 0?r:null;u==null?(Y.moveVirtualFocus(i.current),e.collection.size>0&&(E.current=!1)):(e.setFocusedKey(u),E.current=!1)});j.useUpdateLayoutEffect(()=>{E.current&&U()},[e.collection,U]);let g=G.useEffectEvent(()=>{e.collection.size>0&&(E.current=!1)});j.useUpdateLayoutEffect(()=>{g()},[e.focusedKey,g]),w.useEvent(i,J.CLEAR_FOCUS_EVENT,K?l=>{var r;l.stopPropagation(),e.setFocused(!1),!((r=l.detail)===null||r===void 0)&&r.clearFocusKey&&e.setFocusedKey(null)}:void 0);const B=p.useRef(P),h=p.useRef(!1);p.useEffect(()=>{if(B.current){var l,r;let s=null;var u;P==="first"&&(s=(u=(l=t.getFirstKey)===null||l===void 0?void 0:l.call(t))!==null&&u!==void 0?u:null);var n;P==="last"&&(s=(n=(r=t.getLastKey)===null||r===void 0?void 0:r.call(t))!==null&&n!==void 0?n:null);let c=e.selectedKeys;if(c.size){for(let a of c)if(e.canSelectItem(a)){s=a;break}}e.setFocused(!0),e.setFocusedKey(s),s==null&&!K&&i.current&&X.focusSafely(i.current),e.collection.size>0&&(B.current=!1,h.current=!0)}});let I=p.useRef(e.focusedKey);p.useEffect(()=>{if(e.isFocused&&e.focusedKey!=null&&(e.focusedKey!==I.current||h.current)&&f.current&&i.current){let l=Q.getInteractionModality(),r=F.getItemElement(i,e.focusedKey);if(!(r instanceof HTMLElement))return;(l==="keyboard"||h.current)&&(O.scrollIntoView(f.current,r),l!=="virtual"&&O.scrollIntoViewport(r,{containingElement:i.current}))}!K&&e.isFocused&&e.focusedKey==null&&I.current!=null&&i.current&&X.focusSafely(i.current),I.current=e.focusedKey,h.current=!1}),w.useEvent(i,"react-aria-focus-scope-restore",l=>{l.preventDefault(),e.setFocused(!0)});let R={onKeyDown:ue,onFocus:ie,onBlur:ne,onMouseDown(l){f.current===l.target&&l.preventDefault()}},{typeSelectProps:ce}=fe.useTypeSelect({keyboardDelegate:t,selectionManager:e});te||(R=$.mergeProps(ce,R));let z;K||(z=e.focusedKey==null?0:-1);let se=F.useCollectionId(e.collection);return{collectionProps:$.mergeProps(R,{tabIndex:z,"data-collection":se})}}exports.useSelectableCollection=ye;
package/index280.mjs CHANGED
@@ -1,46 +1,233 @@
1
- class r {
2
- getKeyLeftOf(e) {
3
- return this.flipDirection ? this.getNextKey(e) : this.getPreviousKey(e);
4
- }
5
- getKeyRightOf(e) {
6
- return this.flipDirection ? this.getPreviousKey(e) : this.getNextKey(e);
7
- }
8
- isDisabled(e) {
9
- var t, i;
10
- return this.disabledKeys.has(e) || !!(!((i = this.collection.getItem(e)) === null || i === void 0 || (t = i.props) === null || t === void 0) && t.isDisabled);
11
- }
12
- getFirstKey() {
13
- let e = this.collection.getFirstKey();
14
- return e != null && this.isDisabled(e) && (e = this.getNextKey(e)), e;
15
- }
16
- getLastKey() {
17
- let e = this.collection.getLastKey();
18
- return e != null && this.isDisabled(e) && (e = this.getPreviousKey(e)), e;
19
- }
20
- getKeyAbove(e) {
21
- return this.tabDirection ? null : this.getPreviousKey(e);
22
- }
23
- getKeyBelow(e) {
24
- return this.tabDirection ? null : this.getNextKey(e);
25
- }
26
- getNextKey(e) {
27
- let t = e;
28
- do
29
- t = this.collection.getKeyAfter(t), t == null && (t = this.collection.getFirstKey());
30
- while (t != null && this.isDisabled(t));
31
- return t;
32
- }
33
- getPreviousKey(e) {
34
- let t = e;
35
- do
36
- t = this.collection.getKeyBefore(t), t == null && (t = this.collection.getLastKey());
37
- while (t != null && this.isDisabled(t));
38
- return t;
39
- }
40
- constructor(e, t, i, s = /* @__PURE__ */ new Set()) {
41
- this.collection = e, this.flipDirection = t === "rtl" && i === "horizontal", this.disabledKeys = s, this.tabDirection = i === "horizontal";
42
- }
1
+ import { getItemElement as V, useCollectionId as fe, isNonContiguousSelectionModifier as H } from "./index336.mjs";
2
+ import { useTypeSelect as ae } from "./index337.mjs";
3
+ import { mergeProps as G } from "./index154.mjs";
4
+ import { focusWithoutScrolling as j } from "./index244.mjs";
5
+ import { useRouter as de } from "./index245.mjs";
6
+ import { useUpdateLayoutEffect as q } from "./index250.mjs";
7
+ import { useEvent as S } from "./index257.mjs";
8
+ import { scrollIntoView as ve, scrollIntoViewport as J } from "./index259.mjs";
9
+ import { useEffectEvent as Q } from "./index258.mjs";
10
+ import { FOCUS_EVENT as pe, CLEAR_FOCUS_EVENT as ye } from "./index262.mjs";
11
+ import { isCtrlKeyPressed as m } from "./index263.mjs";
12
+ import { flushSync as be } from "react-dom";
13
+ import { useRef as $, useEffect as X } from "react";
14
+ import { getInteractionModality as Y } from "./index324.mjs";
15
+ import { focusSafely as Z } from "./index335.mjs";
16
+ import { moveVirtualFocus as Ke, getFocusableTreeWalker as me } from "@react-aria/focus";
17
+ import { useLocale as $e } from "@react-aria/i18n";
18
+ function Ce(g) {
19
+ let { selectionManager: e, keyboardDelegate: o, ref: i, autoFocus: h = !1, shouldFocusWrap: F = !1, disallowEmptySelection: _ = !1, disallowSelectAll: ee = !1, escapeKeyBehavior: le = "clearSelection", selectOnFocus: b = e.selectionBehavior === "replace", disallowTypeAhead: oe = !1, shouldUseVirtualFocus: y, allowsTabNavigation: te = !1, isVirtualized: B, scrollRef: f = i, linkBehavior: C = "action" } = g, { direction: x } = $e(), re = de(), ce = (l) => {
20
+ var r;
21
+ if (l.altKey && l.key === "Tab" && l.preventDefault(), !(!((r = i.current) === null || r === void 0) && r.contains(l.target))) return;
22
+ const c = (t, v) => {
23
+ if (t != null) {
24
+ if (e.isLink(t) && C === "selection" && b && !H(l)) {
25
+ be(() => {
26
+ e.setFocusedKey(t, v);
27
+ });
28
+ let p = V(i, t), W = e.getItemProps(t);
29
+ p && re.open(p, l, W.href, W.routerOptions);
30
+ return;
31
+ }
32
+ if (e.setFocusedKey(t, v), e.isLink(t) && C === "override") return;
33
+ l.shiftKey && e.selectionMode === "multiple" ? e.extendSelection(t) : b && !H(l) && e.replaceSelection(t);
34
+ }
35
+ };
36
+ switch (l.key) {
37
+ case "ArrowDown":
38
+ if (o.getKeyBelow) {
39
+ var n, s, u;
40
+ let t = e.focusedKey != null ? (n = o.getKeyBelow) === null || n === void 0 ? void 0 : n.call(o, e.focusedKey) : (s = o.getFirstKey) === null || s === void 0 ? void 0 : s.call(o);
41
+ t == null && F && (t = (u = o.getFirstKey) === null || u === void 0 ? void 0 : u.call(o, e.focusedKey)), t != null && (l.preventDefault(), c(t));
42
+ }
43
+ break;
44
+ case "ArrowUp":
45
+ if (o.getKeyAbove) {
46
+ var a, d, P;
47
+ let t = e.focusedKey != null ? (a = o.getKeyAbove) === null || a === void 0 ? void 0 : a.call(o, e.focusedKey) : (d = o.getLastKey) === null || d === void 0 ? void 0 : d.call(o);
48
+ t == null && F && (t = (P = o.getLastKey) === null || P === void 0 ? void 0 : P.call(o, e.focusedKey)), t != null && (l.preventDefault(), c(t));
49
+ }
50
+ break;
51
+ case "ArrowLeft":
52
+ if (o.getKeyLeftOf) {
53
+ var k, A, I;
54
+ let t = e.focusedKey != null ? (k = o.getKeyLeftOf) === null || k === void 0 ? void 0 : k.call(o, e.focusedKey) : null;
55
+ t == null && F && (t = x === "rtl" ? (A = o.getFirstKey) === null || A === void 0 ? void 0 : A.call(o, e.focusedKey) : (I = o.getLastKey) === null || I === void 0 ? void 0 : I.call(o, e.focusedKey)), t != null && (l.preventDefault(), c(t, x === "rtl" ? "first" : "last"));
56
+ }
57
+ break;
58
+ case "ArrowRight":
59
+ if (o.getKeyRightOf) {
60
+ var M, R, O;
61
+ let t = e.focusedKey != null ? (M = o.getKeyRightOf) === null || M === void 0 ? void 0 : M.call(o, e.focusedKey) : null;
62
+ t == null && F && (t = x === "rtl" ? (R = o.getLastKey) === null || R === void 0 ? void 0 : R.call(o, e.focusedKey) : (O = o.getFirstKey) === null || O === void 0 ? void 0 : O.call(o, e.focusedKey)), t != null && (l.preventDefault(), c(t, x === "rtl" ? "last" : "first"));
63
+ }
64
+ break;
65
+ case "Home":
66
+ if (o.getFirstKey) {
67
+ if (e.focusedKey === null && l.shiftKey) return;
68
+ l.preventDefault();
69
+ let t = o.getFirstKey(e.focusedKey, m(l));
70
+ e.setFocusedKey(t), t != null && (m(l) && l.shiftKey && e.selectionMode === "multiple" ? e.extendSelection(t) : b && e.replaceSelection(t));
71
+ }
72
+ break;
73
+ case "End":
74
+ if (o.getLastKey) {
75
+ if (e.focusedKey === null && l.shiftKey) return;
76
+ l.preventDefault();
77
+ let t = o.getLastKey(e.focusedKey, m(l));
78
+ e.setFocusedKey(t), t != null && (m(l) && l.shiftKey && e.selectionMode === "multiple" ? e.extendSelection(t) : b && e.replaceSelection(t));
79
+ }
80
+ break;
81
+ case "PageDown":
82
+ if (o.getKeyPageBelow && e.focusedKey != null) {
83
+ let t = o.getKeyPageBelow(e.focusedKey);
84
+ t != null && (l.preventDefault(), c(t));
85
+ }
86
+ break;
87
+ case "PageUp":
88
+ if (o.getKeyPageAbove && e.focusedKey != null) {
89
+ let t = o.getKeyPageAbove(e.focusedKey);
90
+ t != null && (l.preventDefault(), c(t));
91
+ }
92
+ break;
93
+ case "a":
94
+ m(l) && e.selectionMode === "multiple" && ee !== !0 && (l.preventDefault(), e.selectAll());
95
+ break;
96
+ case "Escape":
97
+ le === "clearSelection" && !_ && e.selectedKeys.size !== 0 && (l.stopPropagation(), l.preventDefault(), e.clearSelection());
98
+ break;
99
+ case "Tab":
100
+ if (!te) {
101
+ if (l.shiftKey) i.current.focus();
102
+ else {
103
+ let t = me(i.current, {
104
+ tabbable: !0
105
+ }), v, p;
106
+ do
107
+ p = t.lastChild(), p && (v = p);
108
+ while (p);
109
+ v && !v.contains(document.activeElement) && j(v);
110
+ }
111
+ break;
112
+ }
113
+ }
114
+ }, w = $({
115
+ top: 0,
116
+ left: 0
117
+ });
118
+ S(f, "scroll", B ? void 0 : () => {
119
+ var l, r, c, n;
120
+ w.current = {
121
+ top: (c = (l = f.current) === null || l === void 0 ? void 0 : l.scrollTop) !== null && c !== void 0 ? c : 0,
122
+ left: (n = (r = f.current) === null || r === void 0 ? void 0 : r.scrollLeft) !== null && n !== void 0 ? n : 0
123
+ };
124
+ });
125
+ let ie = (l) => {
126
+ if (e.isFocused) {
127
+ l.currentTarget.contains(l.target) || e.setFocused(!1);
128
+ return;
129
+ }
130
+ if (l.currentTarget.contains(l.target)) {
131
+ if (e.setFocused(!0), e.focusedKey == null) {
132
+ var r, c;
133
+ let u = (d) => {
134
+ d != null && (e.setFocusedKey(d), b && !e.isSelected(d) && e.replaceSelection(d));
135
+ }, a = l.relatedTarget;
136
+ var n, s;
137
+ a && l.currentTarget.compareDocumentPosition(a) & Node.DOCUMENT_POSITION_FOLLOWING ? u((n = e.lastSelectedKey) !== null && n !== void 0 ? n : (r = o.getLastKey) === null || r === void 0 ? void 0 : r.call(o)) : u((s = e.firstSelectedKey) !== null && s !== void 0 ? s : (c = o.getFirstKey) === null || c === void 0 ? void 0 : c.call(o));
138
+ } else !B && f.current && (f.current.scrollTop = w.current.top, f.current.scrollLeft = w.current.left);
139
+ if (e.focusedKey != null && f.current) {
140
+ let u = V(i, e.focusedKey);
141
+ u instanceof HTMLElement && (!u.contains(document.activeElement) && !y && j(u), Y() === "keyboard" && J(u, {
142
+ containingElement: i.current
143
+ }));
144
+ }
145
+ }
146
+ }, ne = (l) => {
147
+ l.currentTarget.contains(l.relatedTarget) || e.setFocused(!1);
148
+ }, K = $(!1);
149
+ S(i, pe, y ? (l) => {
150
+ let { detail: r } = l;
151
+ l.stopPropagation(), e.setFocused(!0), (r == null ? void 0 : r.focusStrategy) === "first" && (K.current = !0);
152
+ } : void 0);
153
+ let N = Q(() => {
154
+ var l, r;
155
+ let c = (r = (l = o.getFirstKey) === null || l === void 0 ? void 0 : l.call(o)) !== null && r !== void 0 ? r : null;
156
+ c == null ? (Ke(i.current), e.collection.size > 0 && (K.current = !1)) : (e.setFocusedKey(c), K.current = !1);
157
+ });
158
+ q(() => {
159
+ K.current && N();
160
+ }, [
161
+ e.collection,
162
+ N
163
+ ]);
164
+ let U = Q(() => {
165
+ e.collection.size > 0 && (K.current = !1);
166
+ });
167
+ q(() => {
168
+ U();
169
+ }, [
170
+ e.focusedKey,
171
+ U
172
+ ]), S(i, ye, y ? (l) => {
173
+ var r;
174
+ l.stopPropagation(), e.setFocused(!1), !((r = l.detail) === null || r === void 0) && r.clearFocusKey && e.setFocusedKey(null);
175
+ } : void 0);
176
+ const z = $(h), T = $(!1);
177
+ X(() => {
178
+ if (z.current) {
179
+ var l, r;
180
+ let s = null;
181
+ var c;
182
+ h === "first" && (s = (c = (l = o.getFirstKey) === null || l === void 0 ? void 0 : l.call(o)) !== null && c !== void 0 ? c : null);
183
+ var n;
184
+ h === "last" && (s = (n = (r = o.getLastKey) === null || r === void 0 ? void 0 : r.call(o)) !== null && n !== void 0 ? n : null);
185
+ let u = e.selectedKeys;
186
+ if (u.size) {
187
+ for (let a of u) if (e.canSelectItem(a)) {
188
+ s = a;
189
+ break;
190
+ }
191
+ }
192
+ e.setFocused(!0), e.setFocusedKey(s), s == null && !y && i.current && Z(i.current), e.collection.size > 0 && (z.current = !1, T.current = !0);
193
+ }
194
+ });
195
+ let D = $(e.focusedKey);
196
+ X(() => {
197
+ if (e.isFocused && e.focusedKey != null && (e.focusedKey !== D.current || T.current) && f.current && i.current) {
198
+ let l = Y(), r = V(i, e.focusedKey);
199
+ if (!(r instanceof HTMLElement))
200
+ return;
201
+ (l === "keyboard" || T.current) && (ve(f.current, r), l !== "virtual" && J(r, {
202
+ containingElement: i.current
203
+ }));
204
+ }
205
+ !y && e.isFocused && e.focusedKey == null && D.current != null && i.current && Z(i.current), D.current = e.focusedKey, T.current = !1;
206
+ }), S(i, "react-aria-focus-scope-restore", (l) => {
207
+ l.preventDefault(), e.setFocused(!0);
208
+ });
209
+ let E = {
210
+ onKeyDown: ce,
211
+ onFocus: ie,
212
+ onBlur: ne,
213
+ onMouseDown(l) {
214
+ f.current === l.target && l.preventDefault();
215
+ }
216
+ }, { typeSelectProps: ue } = ae({
217
+ keyboardDelegate: o,
218
+ selectionManager: e
219
+ });
220
+ oe || (E = G(ue, E));
221
+ let L;
222
+ y || (L = e.focusedKey == null ? 0 : -1);
223
+ let se = fe(e.collection);
224
+ return {
225
+ collectionProps: G(E, {
226
+ tabIndex: L,
227
+ "data-collection": se
228
+ })
229
+ };
43
230
  }
44
231
  export {
45
- r as TabsKeyboardDelegate
232
+ Ce as useSelectableCollection
46
233
  };
package/index281.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const F=require("./index341.js"),fe=require("./index342.js"),$=require("./index154.js"),H=require("./index259.js"),ae=require("./index260.js"),j=require("./index263.js"),w=require("./index268.js"),O=require("./index270.js"),G=require("./index269.js"),J=require("./index273.js"),b=require("./index274.js"),de=require("react-dom"),p=require("react"),Q=require("./index327.js"),X=require("./index335.js"),Y=require("@react-aria/focus"),ve=require("@react-aria/i18n");function ye(Z){let{selectionManager:e,keyboardDelegate:t,ref:i,autoFocus:P=!1,shouldFocusWrap:S=!1,disallowEmptySelection:_=!1,disallowSelectAll:ee=!1,escapeKeyBehavior:le="clearSelection",selectOnFocus:m=e.selectionBehavior==="replace",disallowTypeAhead:te=!1,shouldUseVirtualFocus:K,allowsTabNavigation:oe=!1,isVirtualized:L,scrollRef:f=i,linkBehavior:N="action"}=Z,{direction:T}=ve.useLocale(),re=ae.useRouter(),ue=l=>{var r;if(l.altKey&&l.key==="Tab"&&l.preventDefault(),!(!((r=i.current)===null||r===void 0)&&r.contains(l.target)))return;const u=(o,v)=>{if(o!=null){if(e.isLink(o)&&N==="selection"&&m&&!F.isNonContiguousSelectionModifier(l)){de.flushSync(()=>{e.setFocusedKey(o,v)});let y=F.getItemElement(i,o),W=e.getItemProps(o);y&&re.open(y,l,W.href,W.routerOptions);return}if(e.setFocusedKey(o,v),e.isLink(o)&&N==="override")return;l.shiftKey&&e.selectionMode==="multiple"?e.extendSelection(o):m&&!F.isNonContiguousSelectionModifier(l)&&e.replaceSelection(o)}};switch(l.key){case"ArrowDown":if(t.getKeyBelow){var n,s,c;let o=e.focusedKey!=null?(n=t.getKeyBelow)===null||n===void 0?void 0:n.call(t,e.focusedKey):(s=t.getFirstKey)===null||s===void 0?void 0:s.call(t);o==null&&S&&(o=(c=t.getFirstKey)===null||c===void 0?void 0:c.call(t,e.focusedKey)),o!=null&&(l.preventDefault(),u(o))}break;case"ArrowUp":if(t.getKeyAbove){var a,d,k;let o=e.focusedKey!=null?(a=t.getKeyAbove)===null||a===void 0?void 0:a.call(t,e.focusedKey):(d=t.getLastKey)===null||d===void 0?void 0:d.call(t);o==null&&S&&(o=(k=t.getLastKey)===null||k===void 0?void 0:k.call(t,e.focusedKey)),o!=null&&(l.preventDefault(),u(o))}break;case"ArrowLeft":if(t.getKeyLeftOf){var q,A,M;let o=e.focusedKey!=null?(q=t.getKeyLeftOf)===null||q===void 0?void 0:q.call(t,e.focusedKey):null;o==null&&S&&(o=T==="rtl"?(A=t.getFirstKey)===null||A===void 0?void 0:A.call(t,e.focusedKey):(M=t.getLastKey)===null||M===void 0?void 0:M.call(t,e.focusedKey)),o!=null&&(l.preventDefault(),u(o,T==="rtl"?"first":"last"))}break;case"ArrowRight":if(t.getKeyRightOf){var C,x,V;let o=e.focusedKey!=null?(C=t.getKeyRightOf)===null||C===void 0?void 0:C.call(t,e.focusedKey):null;o==null&&S&&(o=T==="rtl"?(x=t.getLastKey)===null||x===void 0?void 0:x.call(t,e.focusedKey):(V=t.getFirstKey)===null||V===void 0?void 0:V.call(t,e.focusedKey)),o!=null&&(l.preventDefault(),u(o,T==="rtl"?"last":"first"))}break;case"Home":if(t.getFirstKey){if(e.focusedKey===null&&l.shiftKey)return;l.preventDefault();let o=t.getFirstKey(e.focusedKey,b.isCtrlKeyPressed(l));e.setFocusedKey(o),o!=null&&(b.isCtrlKeyPressed(l)&&l.shiftKey&&e.selectionMode==="multiple"?e.extendSelection(o):m&&e.replaceSelection(o))}break;case"End":if(t.getLastKey){if(e.focusedKey===null&&l.shiftKey)return;l.preventDefault();let o=t.getLastKey(e.focusedKey,b.isCtrlKeyPressed(l));e.setFocusedKey(o),o!=null&&(b.isCtrlKeyPressed(l)&&l.shiftKey&&e.selectionMode==="multiple"?e.extendSelection(o):m&&e.replaceSelection(o))}break;case"PageDown":if(t.getKeyPageBelow&&e.focusedKey!=null){let o=t.getKeyPageBelow(e.focusedKey);o!=null&&(l.preventDefault(),u(o))}break;case"PageUp":if(t.getKeyPageAbove&&e.focusedKey!=null){let o=t.getKeyPageAbove(e.focusedKey);o!=null&&(l.preventDefault(),u(o))}break;case"a":b.isCtrlKeyPressed(l)&&e.selectionMode==="multiple"&&ee!==!0&&(l.preventDefault(),e.selectAll());break;case"Escape":le==="clearSelection"&&!_&&e.selectedKeys.size!==0&&(l.stopPropagation(),l.preventDefault(),e.clearSelection());break;case"Tab":if(!oe){if(l.shiftKey)i.current.focus();else{let o=Y.getFocusableTreeWalker(i.current,{tabbable:!0}),v,y;do y=o.lastChild(),y&&(v=y);while(y);v&&!v.contains(document.activeElement)&&H.focusWithoutScrolling(v)}break}}},D=p.useRef({top:0,left:0});w.useEvent(f,"scroll",L?void 0:()=>{var l,r,u,n;D.current={top:(u=(l=f.current)===null||l===void 0?void 0:l.scrollTop)!==null&&u!==void 0?u:0,left:(n=(r=f.current)===null||r===void 0?void 0:r.scrollLeft)!==null&&n!==void 0?n:0}});let ie=l=>{if(e.isFocused){l.currentTarget.contains(l.target)||e.setFocused(!1);return}if(l.currentTarget.contains(l.target)){if(e.setFocused(!0),e.focusedKey==null){var r,u;let c=d=>{d!=null&&(e.setFocusedKey(d),m&&!e.isSelected(d)&&e.replaceSelection(d))},a=l.relatedTarget;var n,s;a&&l.currentTarget.compareDocumentPosition(a)&Node.DOCUMENT_POSITION_FOLLOWING?c((n=e.lastSelectedKey)!==null&&n!==void 0?n:(r=t.getLastKey)===null||r===void 0?void 0:r.call(t)):c((s=e.firstSelectedKey)!==null&&s!==void 0?s:(u=t.getFirstKey)===null||u===void 0?void 0:u.call(t))}else!L&&f.current&&(f.current.scrollTop=D.current.top,f.current.scrollLeft=D.current.left);if(e.focusedKey!=null&&f.current){let c=F.getItemElement(i,e.focusedKey);c instanceof HTMLElement&&(!c.contains(document.activeElement)&&!K&&H.focusWithoutScrolling(c),Q.getInteractionModality()==="keyboard"&&O.scrollIntoViewport(c,{containingElement:i.current}))}}},ne=l=>{l.currentTarget.contains(l.relatedTarget)||e.setFocused(!1)},E=p.useRef(!1);w.useEvent(i,J.FOCUS_EVENT,K?l=>{let{detail:r}=l;l.stopPropagation(),e.setFocused(!0),(r==null?void 0:r.focusStrategy)==="first"&&(E.current=!0)}:void 0);let U=G.useEffectEvent(()=>{var l,r;let u=(r=(l=t.getFirstKey)===null||l===void 0?void 0:l.call(t))!==null&&r!==void 0?r:null;u==null?(Y.moveVirtualFocus(i.current),e.collection.size>0&&(E.current=!1)):(e.setFocusedKey(u),E.current=!1)});j.useUpdateLayoutEffect(()=>{E.current&&U()},[e.collection,U]);let g=G.useEffectEvent(()=>{e.collection.size>0&&(E.current=!1)});j.useUpdateLayoutEffect(()=>{g()},[e.focusedKey,g]),w.useEvent(i,J.CLEAR_FOCUS_EVENT,K?l=>{var r;l.stopPropagation(),e.setFocused(!1),!((r=l.detail)===null||r===void 0)&&r.clearFocusKey&&e.setFocusedKey(null)}:void 0);const B=p.useRef(P),h=p.useRef(!1);p.useEffect(()=>{if(B.current){var l,r;let s=null;var u;P==="first"&&(s=(u=(l=t.getFirstKey)===null||l===void 0?void 0:l.call(t))!==null&&u!==void 0?u:null);var n;P==="last"&&(s=(n=(r=t.getLastKey)===null||r===void 0?void 0:r.call(t))!==null&&n!==void 0?n:null);let c=e.selectedKeys;if(c.size){for(let a of c)if(e.canSelectItem(a)){s=a;break}}e.setFocused(!0),e.setFocusedKey(s),s==null&&!K&&i.current&&X.focusSafely(i.current),e.collection.size>0&&(B.current=!1,h.current=!0)}});let I=p.useRef(e.focusedKey);p.useEffect(()=>{if(e.isFocused&&e.focusedKey!=null&&(e.focusedKey!==I.current||h.current)&&f.current&&i.current){let l=Q.getInteractionModality(),r=F.getItemElement(i,e.focusedKey);if(!(r instanceof HTMLElement))return;(l==="keyboard"||h.current)&&(O.scrollIntoView(f.current,r),l!=="virtual"&&O.scrollIntoViewport(r,{containingElement:i.current}))}!K&&e.isFocused&&e.focusedKey==null&&I.current!=null&&i.current&&X.focusSafely(i.current),I.current=e.focusedKey,h.current=!1}),w.useEvent(i,"react-aria-focus-scope-restore",l=>{l.preventDefault(),e.setFocused(!0)});let R={onKeyDown:ue,onFocus:ie,onBlur:ne,onMouseDown(l){f.current===l.target&&l.preventDefault()}},{typeSelectProps:ce}=fe.useTypeSelect({keyboardDelegate:t,selectionManager:e});te||(R=$.mergeProps(ce,R));let z;K||(z=e.focusedKey==null?0:-1);let se=F.useCollectionId(e.collection);return{collectionProps:$.mergeProps(R,{tabIndex:z,"data-collection":se})}}exports.useSelectableCollection=ye;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const S=require("./index338.js"),y=require("./index266.js"),g=require("react");function K(t){var l;let[e,s]=y.useControlledState(t.selectedKey,(l=t.defaultSelectedKey)!==null&&l!==void 0?l:null,t.onSelectionChange),i=g.useMemo(()=>e!=null?[e]:[],[e]),{collection:a,disabledKeys:u,selectionManager:d}=S.useListState({...t,selectionMode:"single",disallowEmptySelection:!0,allowDuplicateSelectionEvents:!0,selectedKeys:i,onSelectionChange:o=>{if(o==="all")return;var n;let c=(n=o.values().next().value)!==null&&n!==void 0?n:null;c===e&&t.onSelectionChange&&t.onSelectionChange(c),s(c)}}),r=e!=null?a.getItem(e):null;return{collection:a,disabledKeys:u,selectionManager:d,selectedKey:e,setSelectedKey:s,selectedItem:r}}exports.useSingleSelectListState=K;
package/index281.mjs CHANGED
@@ -1,233 +1,34 @@
1
- import { getItemElement as V, useCollectionId as fe, isNonContiguousSelectionModifier as H } from "./index341.mjs";
2
- import { useTypeSelect as ae } from "./index342.mjs";
3
- import { mergeProps as G } from "./index154.mjs";
4
- import { focusWithoutScrolling as j } from "./index259.mjs";
5
- import { useRouter as de } from "./index260.mjs";
6
- import { useUpdateLayoutEffect as q } from "./index263.mjs";
7
- import { useEvent as S } from "./index268.mjs";
8
- import { scrollIntoView as ve, scrollIntoViewport as J } from "./index270.mjs";
9
- import { useEffectEvent as Q } from "./index269.mjs";
10
- import { FOCUS_EVENT as pe, CLEAR_FOCUS_EVENT as ye } from "./index273.mjs";
11
- import { isCtrlKeyPressed as m } from "./index274.mjs";
12
- import { flushSync as be } from "react-dom";
13
- import { useRef as $, useEffect as X } from "react";
14
- import { getInteractionModality as Y } from "./index327.mjs";
15
- import { focusSafely as Z } from "./index335.mjs";
16
- import { moveVirtualFocus as Ke, getFocusableTreeWalker as me } from "@react-aria/focus";
17
- import { useLocale as $e } from "@react-aria/i18n";
18
- function Ce(g) {
19
- let { selectionManager: e, keyboardDelegate: o, ref: i, autoFocus: h = !1, shouldFocusWrap: F = !1, disallowEmptySelection: _ = !1, disallowSelectAll: ee = !1, escapeKeyBehavior: le = "clearSelection", selectOnFocus: b = e.selectionBehavior === "replace", disallowTypeAhead: oe = !1, shouldUseVirtualFocus: y, allowsTabNavigation: te = !1, isVirtualized: B, scrollRef: f = i, linkBehavior: C = "action" } = g, { direction: x } = $e(), re = de(), ce = (l) => {
20
- var r;
21
- if (l.altKey && l.key === "Tab" && l.preventDefault(), !(!((r = i.current) === null || r === void 0) && r.contains(l.target))) return;
22
- const c = (t, v) => {
23
- if (t != null) {
24
- if (e.isLink(t) && C === "selection" && b && !H(l)) {
25
- be(() => {
26
- e.setFocusedKey(t, v);
27
- });
28
- let p = V(i, t), W = e.getItemProps(t);
29
- p && re.open(p, l, W.href, W.routerOptions);
30
- return;
31
- }
32
- if (e.setFocusedKey(t, v), e.isLink(t) && C === "override") return;
33
- l.shiftKey && e.selectionMode === "multiple" ? e.extendSelection(t) : b && !H(l) && e.replaceSelection(t);
34
- }
35
- };
36
- switch (l.key) {
37
- case "ArrowDown":
38
- if (o.getKeyBelow) {
39
- var n, s, u;
40
- let t = e.focusedKey != null ? (n = o.getKeyBelow) === null || n === void 0 ? void 0 : n.call(o, e.focusedKey) : (s = o.getFirstKey) === null || s === void 0 ? void 0 : s.call(o);
41
- t == null && F && (t = (u = o.getFirstKey) === null || u === void 0 ? void 0 : u.call(o, e.focusedKey)), t != null && (l.preventDefault(), c(t));
42
- }
43
- break;
44
- case "ArrowUp":
45
- if (o.getKeyAbove) {
46
- var a, d, P;
47
- let t = e.focusedKey != null ? (a = o.getKeyAbove) === null || a === void 0 ? void 0 : a.call(o, e.focusedKey) : (d = o.getLastKey) === null || d === void 0 ? void 0 : d.call(o);
48
- t == null && F && (t = (P = o.getLastKey) === null || P === void 0 ? void 0 : P.call(o, e.focusedKey)), t != null && (l.preventDefault(), c(t));
49
- }
50
- break;
51
- case "ArrowLeft":
52
- if (o.getKeyLeftOf) {
53
- var k, A, I;
54
- let t = e.focusedKey != null ? (k = o.getKeyLeftOf) === null || k === void 0 ? void 0 : k.call(o, e.focusedKey) : null;
55
- t == null && F && (t = x === "rtl" ? (A = o.getFirstKey) === null || A === void 0 ? void 0 : A.call(o, e.focusedKey) : (I = o.getLastKey) === null || I === void 0 ? void 0 : I.call(o, e.focusedKey)), t != null && (l.preventDefault(), c(t, x === "rtl" ? "first" : "last"));
56
- }
57
- break;
58
- case "ArrowRight":
59
- if (o.getKeyRightOf) {
60
- var M, R, O;
61
- let t = e.focusedKey != null ? (M = o.getKeyRightOf) === null || M === void 0 ? void 0 : M.call(o, e.focusedKey) : null;
62
- t == null && F && (t = x === "rtl" ? (R = o.getLastKey) === null || R === void 0 ? void 0 : R.call(o, e.focusedKey) : (O = o.getFirstKey) === null || O === void 0 ? void 0 : O.call(o, e.focusedKey)), t != null && (l.preventDefault(), c(t, x === "rtl" ? "last" : "first"));
63
- }
64
- break;
65
- case "Home":
66
- if (o.getFirstKey) {
67
- if (e.focusedKey === null && l.shiftKey) return;
68
- l.preventDefault();
69
- let t = o.getFirstKey(e.focusedKey, m(l));
70
- e.setFocusedKey(t), t != null && (m(l) && l.shiftKey && e.selectionMode === "multiple" ? e.extendSelection(t) : b && e.replaceSelection(t));
71
- }
72
- break;
73
- case "End":
74
- if (o.getLastKey) {
75
- if (e.focusedKey === null && l.shiftKey) return;
76
- l.preventDefault();
77
- let t = o.getLastKey(e.focusedKey, m(l));
78
- e.setFocusedKey(t), t != null && (m(l) && l.shiftKey && e.selectionMode === "multiple" ? e.extendSelection(t) : b && e.replaceSelection(t));
79
- }
80
- break;
81
- case "PageDown":
82
- if (o.getKeyPageBelow && e.focusedKey != null) {
83
- let t = o.getKeyPageBelow(e.focusedKey);
84
- t != null && (l.preventDefault(), c(t));
85
- }
86
- break;
87
- case "PageUp":
88
- if (o.getKeyPageAbove && e.focusedKey != null) {
89
- let t = o.getKeyPageAbove(e.focusedKey);
90
- t != null && (l.preventDefault(), c(t));
91
- }
92
- break;
93
- case "a":
94
- m(l) && e.selectionMode === "multiple" && ee !== !0 && (l.preventDefault(), e.selectAll());
95
- break;
96
- case "Escape":
97
- le === "clearSelection" && !_ && e.selectedKeys.size !== 0 && (l.stopPropagation(), l.preventDefault(), e.clearSelection());
98
- break;
99
- case "Tab":
100
- if (!te) {
101
- if (l.shiftKey) i.current.focus();
102
- else {
103
- let t = me(i.current, {
104
- tabbable: !0
105
- }), v, p;
106
- do
107
- p = t.lastChild(), p && (v = p);
108
- while (p);
109
- v && !v.contains(document.activeElement) && j(v);
110
- }
111
- break;
112
- }
113
- }
114
- }, w = $({
115
- top: 0,
116
- left: 0
117
- });
118
- S(f, "scroll", B ? void 0 : () => {
119
- var l, r, c, n;
120
- w.current = {
121
- top: (c = (l = f.current) === null || l === void 0 ? void 0 : l.scrollTop) !== null && c !== void 0 ? c : 0,
122
- left: (n = (r = f.current) === null || r === void 0 ? void 0 : r.scrollLeft) !== null && n !== void 0 ? n : 0
123
- };
124
- });
125
- let ie = (l) => {
126
- if (e.isFocused) {
127
- l.currentTarget.contains(l.target) || e.setFocused(!1);
128
- return;
129
- }
130
- if (l.currentTarget.contains(l.target)) {
131
- if (e.setFocused(!0), e.focusedKey == null) {
132
- var r, c;
133
- let u = (d) => {
134
- d != null && (e.setFocusedKey(d), b && !e.isSelected(d) && e.replaceSelection(d));
135
- }, a = l.relatedTarget;
136
- var n, s;
137
- a && l.currentTarget.compareDocumentPosition(a) & Node.DOCUMENT_POSITION_FOLLOWING ? u((n = e.lastSelectedKey) !== null && n !== void 0 ? n : (r = o.getLastKey) === null || r === void 0 ? void 0 : r.call(o)) : u((s = e.firstSelectedKey) !== null && s !== void 0 ? s : (c = o.getFirstKey) === null || c === void 0 ? void 0 : c.call(o));
138
- } else !B && f.current && (f.current.scrollTop = w.current.top, f.current.scrollLeft = w.current.left);
139
- if (e.focusedKey != null && f.current) {
140
- let u = V(i, e.focusedKey);
141
- u instanceof HTMLElement && (!u.contains(document.activeElement) && !y && j(u), Y() === "keyboard" && J(u, {
142
- containingElement: i.current
143
- }));
144
- }
145
- }
146
- }, ne = (l) => {
147
- l.currentTarget.contains(l.relatedTarget) || e.setFocused(!1);
148
- }, K = $(!1);
149
- S(i, pe, y ? (l) => {
150
- let { detail: r } = l;
151
- l.stopPropagation(), e.setFocused(!0), (r == null ? void 0 : r.focusStrategy) === "first" && (K.current = !0);
152
- } : void 0);
153
- let N = Q(() => {
154
- var l, r;
155
- let c = (r = (l = o.getFirstKey) === null || l === void 0 ? void 0 : l.call(o)) !== null && r !== void 0 ? r : null;
156
- c == null ? (Ke(i.current), e.collection.size > 0 && (K.current = !1)) : (e.setFocusedKey(c), K.current = !1);
157
- });
158
- q(() => {
159
- K.current && N();
160
- }, [
161
- e.collection,
162
- N
163
- ]);
164
- let U = Q(() => {
165
- e.collection.size > 0 && (K.current = !1);
166
- });
167
- q(() => {
168
- U();
169
- }, [
170
- e.focusedKey,
171
- U
172
- ]), S(i, ye, y ? (l) => {
173
- var r;
174
- l.stopPropagation(), e.setFocused(!1), !((r = l.detail) === null || r === void 0) && r.clearFocusKey && e.setFocusedKey(null);
175
- } : void 0);
176
- const z = $(h), T = $(!1);
177
- X(() => {
178
- if (z.current) {
179
- var l, r;
180
- let s = null;
181
- var c;
182
- h === "first" && (s = (c = (l = o.getFirstKey) === null || l === void 0 ? void 0 : l.call(o)) !== null && c !== void 0 ? c : null);
1
+ import { useListState as f } from "./index338.mjs";
2
+ import { useControlledState as S } from "./index266.mjs";
3
+ import { useMemo as y } from "react";
4
+ function g(l) {
5
+ var t;
6
+ let [e, c] = S(l.selectedKey, (t = l.defaultSelectedKey) !== null && t !== void 0 ? t : null, l.onSelectionChange), i = y(() => e != null ? [
7
+ e
8
+ ] : [], [
9
+ e
10
+ ]), { collection: o, disabledKeys: d, selectionManager: u } = f({
11
+ ...l,
12
+ selectionMode: "single",
13
+ disallowEmptySelection: !0,
14
+ allowDuplicateSelectionEvents: !0,
15
+ selectedKeys: i,
16
+ onSelectionChange: (s) => {
17
+ if (s === "all") return;
183
18
  var n;
184
- h === "last" && (s = (n = (r = o.getLastKey) === null || r === void 0 ? void 0 : r.call(o)) !== null && n !== void 0 ? n : null);
185
- let u = e.selectedKeys;
186
- if (u.size) {
187
- for (let a of u) if (e.canSelectItem(a)) {
188
- s = a;
189
- break;
190
- }
191
- }
192
- e.setFocused(!0), e.setFocusedKey(s), s == null && !y && i.current && Z(i.current), e.collection.size > 0 && (z.current = !1, T.current = !0);
193
- }
194
- });
195
- let D = $(e.focusedKey);
196
- X(() => {
197
- if (e.isFocused && e.focusedKey != null && (e.focusedKey !== D.current || T.current) && f.current && i.current) {
198
- let l = Y(), r = V(i, e.focusedKey);
199
- if (!(r instanceof HTMLElement))
200
- return;
201
- (l === "keyboard" || T.current) && (ve(f.current, r), l !== "virtual" && J(r, {
202
- containingElement: i.current
203
- }));
204
- }
205
- !y && e.isFocused && e.focusedKey == null && D.current != null && i.current && Z(i.current), D.current = e.focusedKey, T.current = !1;
206
- }), S(i, "react-aria-focus-scope-restore", (l) => {
207
- l.preventDefault(), e.setFocused(!0);
208
- });
209
- let E = {
210
- onKeyDown: ce,
211
- onFocus: ie,
212
- onBlur: ne,
213
- onMouseDown(l) {
214
- f.current === l.target && l.preventDefault();
19
+ let a = (n = s.values().next().value) !== null && n !== void 0 ? n : null;
20
+ a === e && l.onSelectionChange && l.onSelectionChange(a), c(a);
215
21
  }
216
- }, { typeSelectProps: ue } = ae({
217
- keyboardDelegate: o,
218
- selectionManager: e
219
- });
220
- oe || (E = G(ue, E));
221
- let L;
222
- y || (L = e.focusedKey == null ? 0 : -1);
223
- let se = fe(e.collection);
22
+ }), r = e != null ? o.getItem(e) : null;
224
23
  return {
225
- collectionProps: G(E, {
226
- tabIndex: L,
227
- "data-collection": se
228
- })
24
+ collection: o,
25
+ disabledKeys: d,
26
+ selectionManager: u,
27
+ selectedKey: e,
28
+ setSelectedKey: c,
29
+ selectedItem: r
229
30
  };
230
31
  }
231
32
  export {
232
- Ce as useSelectableCollection
33
+ g as useSingleSelectListState
233
34
  };
package/index324.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react"),e=t.createContext({register:()=>{}});e.displayName="PressResponderContext";exports.PressResponderContext=e;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("./index328.js"),u=require("./index241.js"),m=require("./index246.js"),L=require("./index260.js");require("react");let f=null,y=new Set,a=new Map,i=!1,c=!1;function d(e,n){for(let t of y)t(e,n)}function g(e){return!(e.metaKey||!m.isMac()&&e.altKey||e.ctrlKey||e.key==="Control"||e.key==="Shift"||e.key==="Meta")}function s(e){i=!0,g(e)&&(f="keyboard",d("keyboard",e))}function o(e){f="pointer",(e.type==="mousedown"||e.type==="pointerdown")&&(i=!0,d("pointer",e))}function b(e){L.isVirtualClick(e)&&(i=!0,f="virtual")}function $(e){e.target===window||e.target===document||l.ignoreFocusEvent||!e.isTrusted||(!i&&!c&&(f="virtual",d("virtual",e)),i=!1,c=!1)}function E(){l.ignoreFocusEvent||(i=!1,c=!0)}function v(e){if(typeof window>"u"||a.get(u.getOwnerWindow(e)))return;const n=u.getOwnerWindow(e),t=u.getOwnerDocument(e);let r=n.HTMLElement.prototype.focus;n.HTMLElement.prototype.focus=function(){i=!0,r.apply(this,arguments)},t.addEventListener("keydown",s,!0),t.addEventListener("keyup",s,!0),t.addEventListener("click",b,!0),n.addEventListener("focus",$,!0),n.addEventListener("blur",E,!1),typeof PointerEvent<"u"?(t.addEventListener("pointerdown",o,!0),t.addEventListener("pointermove",o,!0),t.addEventListener("pointerup",o,!0)):process.env.NODE_ENV==="test"&&(t.addEventListener("mousedown",o,!0),t.addEventListener("mousemove",o,!0),t.addEventListener("mouseup",o,!0)),n.addEventListener("beforeunload",()=>{p(e)},{once:!0}),a.set(n,{focus:r})}const p=(e,n)=>{const t=u.getOwnerWindow(e),r=u.getOwnerDocument(e);n&&r.removeEventListener("DOMContentLoaded",n),a.has(t)&&(t.HTMLElement.prototype.focus=a.get(t).focus,r.removeEventListener("keydown",s,!0),r.removeEventListener("keyup",s,!0),r.removeEventListener("click",b,!0),t.removeEventListener("focus",$,!0),t.removeEventListener("blur",E,!1),typeof PointerEvent<"u"?(r.removeEventListener("pointerdown",o,!0),r.removeEventListener("pointermove",o,!0),r.removeEventListener("pointerup",o,!0)):process.env.NODE_ENV==="test"&&(r.removeEventListener("mousedown",o,!0),r.removeEventListener("mousemove",o,!0),r.removeEventListener("mouseup",o,!0)),a.delete(t))};function w(e){const n=u.getOwnerDocument(e);let t;return n.readyState!=="loading"?v(e):(t=()=>{v(e)},n.addEventListener("DOMContentLoaded",t)),()=>p(e,t)}typeof document<"u"&&w();function O(){return f}function k(e){f=e,d(e,null)}exports.addWindowFocusTracking=w;exports.getInteractionModality=O;exports.hasSetupGlobalListeners=a;exports.setInteractionModality=k;