Module 36310

1,325 characters · in no known chunk
Dependencies
Required by (3)
Lazily required by (0)none
Requires (3)
Lazily requires (0)none
Source Raw
function(e,t,n){"use strict";n.d(t,{R:()=>o});var r=n(198768),i=n(492313),s=n(64700);function a(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function o(e){let{selectionMode:t="none",disallowEmptySelection:n=!1,allowDuplicateSelectionEvents:o,selectionBehavior:u="toggle",disabledBehavior:c="all"}=e,d=(0,s.useRef)(!1),[,_]=(0,s.useState)(!1),f=(0,s.useRef)(null),p=(0,s.useRef)(null),[,h]=(0,s.useState)(null),m=(0,s.useMemo)(()=>l(e.selectedKeys),[e.selectedKeys]),E=(0,s.useMemo)(()=>l(e.defaultSelectedKeys,new(0,r.L)),[e.defaultSelectedKeys]),[g,A]=(0,i.P)(m,E,e.onSelectionChange),I=(0,s.useMemo)(()=>e.disabledKeys?new Set(e.disabledKeys):new Set,[e.disabledKeys]),[T,S]=(0,s.useState)(u);"replace"===u&&"toggle"===T&&"object"==typeof g&&0===g.size&&S("replace");let y=(0,s.useRef)(u);return(0,s.useEffect)(()=>{u!==y.current&&(S(u),y.current=u)},[u]),{selectionMode:t,disallowEmptySelection:n,selectionBehavior:T,setSelectionBehavior:S,get isFocused(){return d.current},setFocused(e){d.current=e,_(e)},get focusedKey(){return f.current},get childFocusStrategy(){return p.current},setFocusedKey(e,t="first"){f.current=e,p.current=t,h(e)},selectedKeys:g,setSelectedKeys(e){(o||!a(e,g))&&A(e)},disabledKeys:I,disabledBehavior:c}}function l(e,t){return e?"all"===e?"all":new(0,r.L)(e):t}}