@szum-tech/design-system
Version:
Szum-Tech design system with tailwindcss support
1 lines • 5.15 kB
JavaScript
;var chunkD5PAWOAZ_cjs=require('./chunk-D5PAWOAZ.cjs'),e=require('react'),radixUi=require('radix-ui'),reactDom=require('react-dom'),core=require('@dnd-kit/core'),sortable=require('@dnd-kit/sortable'),jsxRuntime=require('react/jsx-runtime'),utilities=require('@dnd-kit/utilities');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var e__namespace=/*#__PURE__*/_interopNamespace(e);var h="Sortable",w="SortableItem",B="SortableItemHandle",q="SortableOverlay",z=t=>sortable.defaultAnimateLayoutChanges({...t,wasDragging:true}),y={sideEffects:core.defaultDropAnimationSideEffects({styles:{active:{opacity:"0.4"}}})};var R=e__namespace.createContext(null);function M(t){let o=e__namespace.useContext(R);if(!o)throw new Error(`\`${t}\` must be used within \`${w}\``);return o}var b=e__namespace.createContext(false),N=e__namespace.createContext(null);function H(t){let o=e__namespace.useContext(N);if(!o)throw new Error(`\`${t}\` must be used within \`${h}\``);return o}function _t({value:t,onValueChange:o,getItemValue:r,className:a,asChild:m=false,onMove:s,strategy:l="vertical",onDragStart:d,onDragEnd:f,modifiers:g,children:S,...D}){let[n,v]=e__namespace.useState(null),[A,O]=e__namespace.useState(false);e__namespace.useLayoutEffect(()=>O(true),[]);let K=core.useSensors(core.useSensor(core.MouseSensor,{activationConstraint:{distance:10}}),core.useSensor(core.TouchSensor,{activationConstraint:{delay:250,tolerance:5}}),core.useSensor(core.KeyboardSensor,{coordinateGetter:sortable.sortableKeyboardCoordinates})),Y=e__namespace.useCallback(c=>{v(c.active.id),d?.(c);},[d]),G=e__namespace.useCallback(c=>{let{active:p,over:_}=c;if(v(null),f?.(c),!_)return;let P=t.findIndex(C=>r(C)===p.id),T=t.findIndex(C=>r(C)===_.id);if(P!==T)if(s)s({event:c,activeIndex:P,overIndex:T});else {let C=sortable.arrayMove(t,P,T);o(C);}},[t,r,o,s,f]),F=e__namespace.useCallback(()=>{v(null);},[]),J=()=>{switch(l){case "horizontal":return sortable.rectSortingStrategy;case "grid":return sortable.rectSortingStrategy;default:return sortable.verticalListSortingStrategy}},Q=e__namespace.useMemo(()=>t.map(r),[t,r]),W=e__namespace.useMemo(()=>({activeId:n,modifiers:g}),[n,g]),X=e__namespace.useMemo(()=>{if(!n)return null;let c=null;return e__namespace.Children.forEach(S,p=>{e__namespace.isValidElement(p)&&p.props.value===n&&(c=e__namespace.cloneElement(p,{...p.props,className:chunkD5PAWOAZ_cjs.a(p.props.className,"z-50")}));}),c},[n,S]),Z=m?radixUi.Slot.Root:"div";return jsxRuntime.jsx(N.Provider,{value:W,children:jsxRuntime.jsxs(core.DndContext,{sensors:K,modifiers:g,measuring:{droppable:{strategy:core.MeasuringStrategy.Always}},onDragStart:Y,onDragEnd:G,onDragCancel:F,children:[jsxRuntime.jsx(sortable.SortableContext,{items:Q,strategy:J(),children:jsxRuntime.jsx(Z,{"data-slot":"sortable","data-dragging":n!==null,className:chunkD5PAWOAZ_cjs.a(n!==null&&"cursor-grabbing!",a),...D,children:S})}),A&&reactDom.createPortal(jsxRuntime.jsx(core.DragOverlay,{dropAnimation:y,modifiers:g,className:chunkD5PAWOAZ_cjs.a("z-50",n&&"cursor-grabbing"),children:jsxRuntime.jsx(b.Provider,{value:true,children:X})}),document.body)]})})}function $t({value:t,className:o,asChild:r=false,disabled:a,children:m,...s}){let l=e__namespace.useContext(b),{setNodeRef:d,transform:f,transition:g,attributes:S,listeners:D,isDragging:n}=sortable.useSortable({id:t,disabled:a||l,animateLayoutChanges:z});if(l){let O=r?radixUi.Slot.Root:"div";return jsxRuntime.jsx(R.Provider,{value:{listeners:void 0,isDragging:true,disabled:false},children:jsxRuntime.jsx(O,{"data-slot":"sortable-item","data-value":t,"data-dragging":true,className:chunkD5PAWOAZ_cjs.a(o),...s,children:m})})}let v={transition:g,transform:utilities.CSS.Transform.toString(f)},A=r?radixUi.Slot.Root:"div";return jsxRuntime.jsx(R.Provider,{value:{listeners:D,isDragging:n,disabled:a},children:jsxRuntime.jsx(A,{"data-slot":"sortable-item","data-value":t,"data-dragging":n,"data-disabled":a,ref:d,style:v,...S,className:chunkD5PAWOAZ_cjs.a(n&&"z-50 opacity-50",a&&"opacity-50",o),...s,children:m})})}function Qt({className:t,asChild:o=false,cursor:r=true,children:a,...m}){let{listeners:s,isDragging:l,disabled:d}=M(B),f=o?radixUi.Slot.Root:"div";return jsxRuntime.jsx(f,{"data-slot":"sortable-item-handle","data-dragging":l,"data-disabled":d,...s,className:chunkD5PAWOAZ_cjs.a(r&&(l?"cursor-grabbing!":"cursor-grab!"),t),...m,children:a})}function re({children:t,className:o,...r}){let{activeId:a,modifiers:m}=H(q),[s,l]=e__namespace.useState(false);e__namespace.useLayoutEffect(()=>l(true),[]);let d=a&&t?typeof t=="function"?t({value:a}):t:null;return s?reactDom.createPortal(jsxRuntime.jsx(core.DragOverlay,{dropAnimation:y,modifiers:m,className:chunkD5PAWOAZ_cjs.a("z-50",a&&"cursor-grabbing",o),...r,children:jsxRuntime.jsx(b.Provider,{value:true,children:d})}),document.body):null}exports.a=M;exports.b=_t;exports.c=$t;exports.d=Qt;exports.e=re;