티스토리 수익 글 보기
“use strict”;(self.webpackChunksubstack=self.webpackChunksubstack||[]).push([[“3063″],{13808:function(e,t,n){n.d(t,{bL:()=>D,RG:()=>R,q7:()=>P});var r=n(17402);function o(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),!1===n||!r.defaultPrevented)return t?.(r)}}”undefined”!=typeof window&&window.document&&window.document.createElement;var i=n(6218);function a(e,t){if(“function”==typeof e)return e(t);null!=e&&(e.current=t)}function l(…e){return t=>{let n=!1,r=e.map(e=>{let r=a(e,t);return n||”function”!=typeof r||(n=!0),r});if(n)return()=>{for(let t=0;t{var n,o;let i,a,s,c=(o=n=`Primitive.${t}`,(i=r.forwardRef((e,t)=>{let{children:n,…o}=e;if(r.isValidElement(n)){var i;let e,a,u=(i=n,(a=(e=Object.getOwnPropertyDescriptor(i.props,”ref”)?.get)&&”isReactWarning”in e&&e.isReactWarning)?i.ref:(a=(e=Object.getOwnPropertyDescriptor(i,”ref”)?.get)&&”isReactWarning”in e&&e.isReactWarning)?i.props.ref:i.props.ref||i.ref),s=function(e,t){let n={…t};for(let r in t){let o=e[r],i=t[r];/^on[A-Z]/.test(r)?o&&i?n[r]=(…e)=>{let t=i(…e);return o(…e),t}:o&&(n[r]=o):”style”===r?n[r]={…o,…i}:”className”===r&&(n[r]=[o,i].filter(Boolean).join(” “))}return{…e,…n}}(o,n.props);return n.type!==r.Fragment&&(s.ref=t?l(t,u):u),r.cloneElement(n,s)}return r.Children.count(n)>1?r.Children.only(null):null})).displayName=`${o}.SlotClone`,a=i,(s=r.forwardRef((e,t)=>{let{children:n,…o}=e,i=r.Children.toArray(n),l=i.find(f);if(l){let e=l.props.children,n=i.map(t=>t!==l?t:r.Children.count(e)>1?r.Children.only(null):r.isValidElement(e)?e.props.children:null);return(0,u.Y)(a,{…o,ref:t,children:r.isValidElement(e)?r.cloneElement(e,void 0,n):null})}return(0,u.Y)(a,{…o,ref:t,children:n})})).displayName=`${n}.Slot`,s),d=r.forwardRef((e,n)=>{let{asChild:r,…o}=e;return”undefined”!=typeof window&&(window[Symbol.for(“radix-ui”)]=!0),(0,u.Y)(r?c:t,{…o,ref:n})});return d.displayName=`Primitive.${t}`,{…e,[t]:d}},{}),p=n(97372),m=r.createContext(void 0),v=”rovingFocusGroup.onEntryFocus”,y={bubbles:!1,cancelable:!0},w=”RovingFocusGroup”,[b,g,h]=(0,i.N)(w),[N,R]=function(e,t=[]){let n=[],o=()=>{let t=n.map(e=>r.createContext(e));return function(n){let o=n?.[e]||t;return r.useMemo(()=>({[`__scope${e}`]:{…n,[e]:o}}),[n,o])}};return o.scopeName=e,[function(t,o){let i=r.createContext(o),a=n.length;n=[…n,o];let l=t=>{let{scope:n,children:o,…l}=t,s=n?.[e]?.[a]||i,c=r.useMemo(()=>l,Object.values(l));return(0,u.Y)(s.Provider,{value:c,children:o})};return l.displayName=t+”Provider”,[l,function(n,l){let u=l?.[e]?.[a]||i,s=r.useContext(u);if(s)return s;if(void 0!==o)return o;throw Error(`\`${n}\` must be used within \`${t}\“)}]},function(…e){let t=e[0];if(1===e.length)return t;let n=()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let o=n.reduce((t,{useScope:n,scopeName:r})=>{let o=n(e)[`__scope${r}`];return{…t,…o}},{});return r.useMemo(()=>({[`__scope${t.scopeName}`]:o}),[o])}};return n.scopeName=t.scopeName,n}(o,…t)]}(w,[h]),[C,E]=N(w),I=r.forwardRef((e,t)=>(0,u.Y)(b.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,u.Y)(b.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,u.Y)(T,{…e,ref:t})})}));I.displayName=w;var T=r.forwardRef((e,t)=>{let n,i,{__scopeRovingFocusGroup:a,orientation:s,loop:c=!1,dir:f,currentTabStopId:b,defaultCurrentTabStopId:h,onCurrentTabStopIdChange:N,onEntryFocus:R,preventScrollOnEntryFocus:E=!1,…I}=e,T=r.useRef(null),A=function(…e){return r.useCallback(l(…e),e)}(t,T),M=(n=r.useContext(m),f||n||”ltr”),[_,D]=(0,p.i)({prop:b,defaultProp:h??null,onChange:N,caller:w}),[P,S]=r.useState(!1),x=(i=r.useRef(R),r.useEffect(()=>{i.current=R}),r.useMemo(()=>(…e)=>i.current?.(…e),[])),F=g(a),Y=r.useRef(!1),[$,L]=r.useState(0);return r.useEffect(()=>{let e=T.current;if(e)return e.addEventListener(v,x),()=>e.removeEventListener(v,x)},[x]),(0,u.Y)(C,{scope:a,orientation:s,dir:M,loop:c,currentTabStopId:_,onItemFocus:r.useCallback(e=>D(e),[D]),onItemShiftTab:r.useCallback(()=>S(!0),[]),onFocusableItemAdd:r.useCallback(()=>L(e=>e+1),[]),onFocusableItemRemove:r.useCallback(()=>L(e=>e-1),[]),children:(0,u.Y)(d.div,{tabIndex:P||0===$?-1:0,”data-orientation”:s,…I,ref:A,style:{outline:”none”,…e.style},onMouseDown:o(e.onMouseDown,()=>{Y.current=!0}),onFocus:o(e.onFocus,e=>{let t=!Y.current;if(e.target===e.currentTarget&&t&&!P){let t=new CustomEvent(v,y);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=F().filter(e=>e.focusable);O([e.find(e=>e.active),e.find(e=>e.id===_),…e].filter(Boolean).map(e=>e.ref.current),E)}}Y.current=!1}),onBlur:o(e.onBlur,()=>S(!1))})})}),A=”RovingFocusGroupItem”,M=r.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,focusable:i=!0,active:a=!1,tabStopId:l,children:c,…f}=e,p=(0,s.B)(),m=l||p,v=E(A,n),y=v.currentTabStopId===m,w=g(n),{onFocusableItemAdd:h,onFocusableItemRemove:N,currentTabStopId:R}=v;return r.useEffect(()=>{if(i)return h(),()=>N()},[i,h,N]),(0,u.Y)(b.ItemSlot,{scope:n,id:m,focusable:i,active:a,children:(0,u.Y)(d.span,{tabIndex:y?0:-1,”data-orientation”:v.orientation,…f,ref:t,onMouseDown:o(e.onMouseDown,e=>{i?v.onItemFocus(m):e.preventDefault()}),onFocus:o(e.onFocus,()=>v.onItemFocus(m)),onKeyDown:o(e.onKeyDown,e=>{if(“Tab”===e.key&&e.shiftKey)return void v.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=function(e,t,n){var r;let o=(r=e.key,”rtl”!==n?r:”ArrowLeft”===r?”ArrowRight”:”ArrowRight”===r?”ArrowLeft”:r);if(!(“vertical”===t&&[“ArrowLeft”,”ArrowRight”].includes(o))&&!(“horizontal”===t&&[“ArrowUp”,”ArrowDown”].includes(o)))return _[o]}(e,v.orientation,v.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let o=w().filter(e=>e.focusable).map(e=>e.ref.current);if(“last”===t)o.reverse();else if(“prev”===t||”next”===t){var n,r;”prev”===t&&o.reverse();let i=o.indexOf(e.currentTarget);o=v.loop?(n=o,r=i+1,n.map((e,t)=>n[(r+t)%n.length])):o.slice(i+1)}setTimeout(()=>O(o))}}),children:”function”==typeof c?c({isCurrentTabStop:y,hasTabStop:null!=R}):c})})});M.displayName=A;var _={ArrowLeft:”prev”,ArrowUp:”prev”,ArrowRight:”next”,ArrowDown:”next”,PageUp:”first”,Home:”first”,PageDown:”last”,End:”last”};function O(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}var D=I,P=M},51290:function(e,t,n){n.d(t,{bL:()=>P,B8:()=>S,l9:()=>x});var r=n(17402);function o(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),!1===n||!r.defaultPrevented)return t?.(r)}}”undefined”!=typeof window&&window.document&&window.document.createElement;var i=n(4006),a=n(13808);function l(e,t){if(“function”==typeof e)return e(t);null!=e&&(e.current=t)}function u(…e){return t=>{let n=!1,r=e.map(e=>{let r=l(e,t);return n||”function”!=typeof r||(n=!0),r});if(n)return()=>{for(let t=0;t{},c=e=>{var t;let n,o,{present:i,children:a}=e,l=function(e){var t,n;let[o,i]=r.useState(),a=r.useRef(null),l=r.useRef(e),u=r.useRef(“none”),[c,d]=(t=e?”mounted”:”unmounted”,n={mounted:{UNMOUNT:”unmounted”,ANIMATION_OUT:”unmountSuspended”},unmountSuspended:{MOUNT:”mounted”,ANIMATION_END:”unmounted”},unmounted:{MOUNT:”mounted”}},r.useReducer((e,t)=>n[e][t]??e,t));return r.useEffect(()=>{let e=f(a.current);u.current=”mounted”===c?e:”none”},[c]),s(()=>{let t=a.current,n=l.current;if(n!==e){let r=u.current,o=f(t);e?d(“MOUNT”):”none”===o||t?.display===”none”?d(“UNMOUNT”):n&&r!==o?d(“ANIMATION_OUT”):d(“UNMOUNT”),l.current=e}},[e,d]),s(()=>{if(o){let e,t=o.ownerDocument.defaultView??window,n=n=>{let r=f(a.current).includes(CSS.escape(n.animationName));if(n.target===o&&r&&(d(“ANIMATION_END”),!l.current)){let n=o.style.animationFillMode;o.style.animationFillMode=”forwards”,e=t.setTimeout(()=>{“forwards”===o.style.animationFillMode&&(o.style.animationFillMode=n)})}},r=e=>{e.target===o&&(u.current=f(a.current))};return o.addEventListener(“animationstart”,r),o.addEventListener(“animationcancel”,n),o.addEventListener(“animationend”,n),()=>{t.clearTimeout(e),o.removeEventListener(“animationstart”,r),o.removeEventListener(“animationcancel”,n),o.removeEventListener(“animationend”,n)}}d(“ANIMATION_END”)},[o,d]),{isPresent:[“mounted”,”unmountSuspended”].includes(c),ref:r.useCallback(e=>{a.current=e?getComputedStyle(e):null,i(e)},[])}}(i),c=”function”==typeof a?a({present:l.isPresent}):r.Children.only(a),d=function(…e){return r.useCallback(u(…e),e)}(l.ref,(t=c,(o=(n=Object.getOwnPropertyDescriptor(t.props,”ref”)?.get)&&”isReactWarning”in n&&n.isReactWarning)?t.ref:(o=(n=Object.getOwnPropertyDescriptor(t,”ref”)?.get)&&”isReactWarning”in n&&n.isReactWarning)?t.props.ref:t.props.ref||t.ref));return”function”==typeof a||l.isPresent?r.cloneElement(c,{ref:d}):null};function f(e){return e?.animationName||”none”}c.displayName=”Presence”;var d=Symbol(“radix.slottable”);function p(e){return r.isValidElement(e)&&”function”==typeof e.type&&”__radixId”in e.type&&e.type.__radixId===d}var m=[“a”,”button”,”div”,”form”,”h2″,”h3″,”img”,”input”,”label”,”li”,”nav”,”ol”,”p”,”select”,”span”,”svg”,”ul”].reduce((e,t)=>{var n,o;let a,l,s,c=(o=n=`Primitive.${t}`,(a=r.forwardRef((e,t)=>{let{children:n,…o}=e;if(r.isValidElement(n)){var i;let e,a,l=(i=n,(a=(e=Object.getOwnPropertyDescriptor(i.props,”ref”)?.get)&&”isReactWarning”in e&&e.isReactWarning)?i.ref:(a=(e=Object.getOwnPropertyDescriptor(i,”ref”)?.get)&&”isReactWarning”in e&&e.isReactWarning)?i.props.ref:i.props.ref||i.ref),s=function(e,t){let n={…t};for(let r in t){let o=e[r],i=t[r];/^on[A-Z]/.test(r)?o&&i?n[r]=(…e)=>{let t=i(…e);return o(…e),t}:o&&(n[r]=o):”style”===r?n[r]={…o,…i}:”className”===r&&(n[r]=[o,i].filter(Boolean).join(” “))}return{…e,…n}}(o,n.props);return n.type!==r.Fragment&&(s.ref=t?u(t,l):l),r.cloneElement(n,s)}return r.Children.count(n)>1?r.Children.only(null):null})).displayName=`${o}.SlotClone`,l=a,(s=r.forwardRef((e,t)=>{let{children:n,…o}=e,a=r.Children.toArray(n),u=a.find(p);if(u){let e=u.props.children,n=a.map(t=>t!==u?t:r.Children.count(e)>1?r.Children.only(null):r.isValidElement(e)?e.props.children:null);return(0,i.Y)(l,{…o,ref:t,children:r.isValidElement(e)?r.cloneElement(e,void 0,n):null})}return(0,i.Y)(l,{…o,ref:t,children:n})})).displayName=`${n}.Slot`,s),f=r.forwardRef((e,n)=>{let{asChild:r,…o}=e;return”undefined”!=typeof window&&(window[Symbol.for(“radix-ui”)]=!0),(0,i.Y)(r?c:t,{…o,ref:n})});return f.displayName=`Primitive.${t}`,{…e,[t]:f}},{}),v=r.createContext(void 0),y=n(97372),w=n(39627),b=”Tabs”,[g,h]=function(e,t=[]){let n=[],o=()=>{let t=n.map(e=>r.createContext(e));return function(n){let o=n?.[e]||t;return r.useMemo(()=>({[`__scope${e}`]:{…n,[e]:o}}),[n,o])}};return o.scopeName=e,[function(t,o){let a=r.createContext(o),l=n.length;n=[…n,o];let u=t=>{let{scope:n,children:o,…u}=t,s=n?.[e]?.[l]||a,c=r.useMemo(()=>u,Object.values(u));return(0,i.Y)(s.Provider,{value:c,children:o})};return u.displayName=t+”Provider”,[u,function(n,i){let u=i?.[e]?.[l]||a,s=r.useContext(u);if(s)return s;if(void 0!==o)return o;throw Error(`\`${n}\` must be used within \`${t}\“)}]},function(…e){let t=e[0];if(1===e.length)return t;let n=()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let o=n.reduce((t,{useScope:n,scopeName:r})=>{let o=n(e)[`__scope${r}`];return{…t,…o}},{});return r.useMemo(()=>({[`__scope${t.scopeName}`]:o}),[o])}};return n.scopeName=t.scopeName,n}(o,…t)]}(b,[a.RG]),N=(0,a.RG)(),[R,C]=g(b),E=r.forwardRef((e,t)=>{let n,{__scopeTabs:o,value:a,onValueChange:l,defaultValue:u,orientation:s=”horizontal”,dir:c,activationMode:f=”automatic”,…d}=e,p=(n=r.useContext(v),c||n||”ltr”),[g,h]=(0,y.i)({prop:a,onChange:l,defaultProp:u??””,caller:b});return(0,i.Y)(R,{scope:o,baseId:(0,w.B)(),value:g,onValueChange:h,orientation:s,dir:p,activationMode:f,children:(0,i.Y)(m.div,{dir:p,”data-orientation”:s,…d,ref:t})})});E.displayName=b;var I=”TabsList”,T=r.forwardRef((e,t)=>{let{__scopeTabs:n,loop:r=!0,…o}=e,l=C(I,n),u=N(n);return(0,i.Y)(a.bL,{asChild:!0,…u,orientation:l.orientation,dir:l.dir,loop:r,children:(0,i.Y)(m.div,{role:”tablist”,”aria-orientation”:l.orientation,…o,ref:t})})});T.displayName=I;var A=”TabsTrigger”,M=r.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,disabled:l=!1,…u}=e,s=C(A,n),c=N(n),f=O(s.baseId,r),d=D(s.baseId,r),p=r===s.value;return(0,i.Y)(a.q7,{asChild:!0,…c,focusable:!l,active:p,children:(0,i.Y)(m.button,{type:”button”,role:”tab”,”aria-selected”:p,”aria-controls”:d,”data-state”:p?”active”:”inactive”,”data-disabled”:l?””:void 0,disabled:l,id:f,…u,ref:t,onMouseDown:o(e.onMouseDown,e=>{l||0!==e.button||!1!==e.ctrlKey?e.preventDefault():s.onValueChange(r)}),onKeyDown:o(e.onKeyDown,e=>{[” “,”Enter”].includes(e.key)&&s.onValueChange(r)}),onFocus:o(e.onFocus,()=>{let e=”manual”!==s.activationMode;p||l||!e||s.onValueChange(r)})})})});M.displayName=A;var _=”TabsContent”;function O(e,t){return`${e}-trigger-${t}`}function D(e,t){return`${e}-content-${t}`}r.forwardRef((e,t)=>{let{__scopeTabs:n,value:o,forceMount:a,children:l,…u}=e,s=C(_,n),f=O(s.baseId,o),d=D(s.baseId,o),p=o===s.value,v=r.useRef(p);return r.useEffect(()=>{let e=requestAnimationFrame(()=>v.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,i.Y)(c,{present:a||p,children:({present:n})=>(0,i.Y)(m.div,{“data-state”:p?”active”:”inactive”,”data-orientation”:s.orientation,role:”tabpanel”,”aria-labelledby”:f,hidden:!n,id:d,tabIndex:0,…u,ref:t,style:{…e.style,animationDuration:v.current?”0s”:void 0},children:n&&l})})}).displayName=_;var P=E,S=T,x=M}}]);