@lisn.js/react
Version:
LISN.js for React.
1 lines • 5.73 kB
Source Map (JSON)
{"version":3,"file":"SortableComponent.cjs","names":["Object","defineProperty","exports","value","SortableItemComponent","SortableComponent","_react","require","_lisn","_useWidget","_util","_excluded","_excluded2","ownKeys","e","r","t","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","n","indexOf","propertyIsEnumerable","hasOwnProperty","_ref","as","children","config","widgetRef","props","elementRef","useWidget","newSortable","createElement","ref","_ref2","element","Sortable","assign","items","getElementsFromRefs"],"sources":["../../src/SortableComponent.tsx"],"sourcesContent":["\"use client\";\nimport { createElement, ElementType, RefObject } from \"react\";\n\nimport { Sortable, SortableConfig } from \"lisn.js\";\n\nimport { useWidget } from \"./useWidget\";\nimport { getElementsFromRefs } from \"./util\";\nimport {\n WidgetComponentRef,\n WidgetComponentProps,\n GenericComponentProps,\n} from \"./types\";\n\nexport type SortableComponentRef = WidgetComponentRef<Sortable>;\n\nexport type SortableComponentConfig = Omit<SortableConfig, \"items\"> & {\n items?: RefObject<Element | null>[];\n};\n\nexport type SortableComponentProps<T extends ElementType> =\n WidgetComponentProps<T, Sortable, SortableComponentConfig>;\n\nexport const SortableComponent = <T extends ElementType = \"div\">({\n as,\n children,\n config,\n widgetRef,\n ...props\n}: SortableComponentProps<T>) => {\n const elementRef = useWidget<T, Sortable, SortableComponentConfig>(\n newSortable,\n config,\n widgetRef,\n );\n\n return createElement(as || \"div\", { ref: elementRef, ...props }, children);\n};\n\nexport const SortableItemComponent = <T extends ElementType = \"div\">({\n as,\n children,\n ...props\n}: GenericComponentProps<T>) => {\n return createElement(\n as || \"div\",\n { [\"data-lisn-sortable-item\"]: \"\", ...props },\n children,\n );\n};\n\n// --------------------\n\nconst newSortable = (element: Element, config?: SortableComponentConfig) =>\n new Sortable(\n element,\n Object.assign({}, config, {\n items: getElementsFromRefs(config?.items),\n }),\n );\n"],"mappings":";AAAA,YAAY;;AAACA,MAAA,CAAAC,cAAA,CAAAC,OAAA;EAAAC,KAAA;AAAA;AAAAD,OAAA,CAAAE,qBAAA,GAAAF,OAAA,CAAAG,iBAAA;AACb,IAAAC,MAAA,GAAAC,OAAA;AAEA,IAAAC,KAAA,GAAAD,OAAA;AAEA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AAA6C,MAAAI,SAAA;EAAAC,UAAA;AAAA,SAAAC,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAhB,MAAA,CAAAiB,IAAA,CAAAH,CAAA,OAAAd,MAAA,CAAAkB,qBAAA,QAAAC,CAAA,GAAAnB,MAAA,CAAAkB,qBAAA,CAAAJ,CAAA,GAAAC,CAAA,KAAAI,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAL,CAAA,WAAAf,MAAA,CAAAqB,wBAAA,CAAAP,CAAA,EAAAC,CAAA,EAAAO,UAAA,OAAAN,CAAA,CAAAO,IAAA,CAAAC,KAAA,CAAAR,CAAA,EAAAG,CAAA,YAAAH,CAAA;AAAA,SAAAS,cAAAX,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAW,SAAA,CAAAC,MAAA,EAAAZ,CAAA,UAAAC,CAAA,WAAAU,SAAA,CAAAX,CAAA,IAAAW,SAAA,CAAAX,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAb,MAAA,CAAAgB,CAAA,OAAAY,OAAA,WAAAb,CAAA,IAAAc,eAAA,CAAAf,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAf,MAAA,CAAA8B,yBAAA,GAAA9B,MAAA,CAAA+B,gBAAA,CAAAjB,CAAA,EAAAd,MAAA,CAAA8B,yBAAA,CAAAd,CAAA,KAAAH,OAAA,CAAAb,MAAA,CAAAgB,CAAA,GAAAY,OAAA,WAAAb,CAAA,IAAAf,MAAA,CAAAC,cAAA,CAAAa,CAAA,EAAAC,CAAA,EAAAf,MAAA,CAAAqB,wBAAA,CAAAL,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAAA,SAAAe,gBAAAf,CAAA,EAAAC,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAiB,cAAA,CAAAjB,CAAA,MAAAD,CAAA,GAAAd,MAAA,CAAAC,cAAA,CAAAa,CAAA,EAAAC,CAAA,IAAAZ,KAAA,EAAAa,CAAA,EAAAM,UAAA,MAAAW,YAAA,MAAAC,QAAA,UAAApB,CAAA,CAAAC,CAAA,IAAAC,CAAA,EAAAF,CAAA;AAAA,SAAAkB,eAAAhB,CAAA,QAAAmB,CAAA,GAAAC,YAAA,CAAApB,CAAA,uCAAAmB,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAApB,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAAqB,MAAA,CAAAC,WAAA,kBAAAxB,CAAA,QAAAqB,CAAA,GAAArB,CAAA,CAAAyB,IAAA,CAAAvB,CAAA,EAAAD,CAAA,uCAAAoB,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAzB,CAAA,GAAA0B,MAAA,GAAAC,MAAA,EAAA1B,CAAA;AAAA,SAAA2B,yBAAA7B,CAAA,EAAAE,CAAA,gBAAAF,CAAA,iBAAAK,CAAA,EAAAJ,CAAA,EAAAoB,CAAA,GAAAS,6BAAA,CAAA9B,CAAA,EAAAE,CAAA,OAAAhB,MAAA,CAAAkB,qBAAA,QAAA2B,CAAA,GAAA7C,MAAA,CAAAkB,qBAAA,CAAAJ,CAAA,QAAAC,CAAA,MAAAA,CAAA,GAAA8B,CAAA,CAAAlB,MAAA,EAAAZ,CAAA,IAAAI,CAAA,GAAA0B,CAAA,CAAA9B,CAAA,UAAAC,CAAA,CAAA8B,OAAA,CAAA3B,CAAA,QAAA4B,oBAAA,CAAAR,IAAA,CAAAzB,CAAA,EAAAK,CAAA,MAAAgB,CAAA,CAAAhB,CAAA,IAAAL,CAAA,CAAAK,CAAA,aAAAgB,CAAA;AAAA,SAAAS,8BAAA7B,CAAA,EAAAD,CAAA,gBAAAC,CAAA,iBAAAC,CAAA,gBAAA6B,CAAA,IAAA9B,CAAA,SAAAiC,cAAA,CAAAT,IAAA,CAAAxB,CAAA,EAAA8B,CAAA,gBAAA/B,CAAA,CAAAgC,OAAA,CAAAD,CAAA,aAAA7B,CAAA,CAAA6B,CAAA,IAAA9B,CAAA,CAAA8B,CAAA,YAAA7B,CAAA;AAgBtC,MAAMX,iBAAiB,GAAG4C,IAAA,IAMA;EAAA,IANgC;MAC/DC,EAAE;MACFC,QAAQ;MACRC,MAAM;MACNC;IAEyB,CAAC,GAAAJ,IAAA;IADvBK,KAAK,GAAAX,wBAAA,CAAAM,IAAA,EAAAtC,SAAA;EAER,MAAM4C,UAAU,GAAG,IAAAC,oBAAS,EAC1BC,WAAW,EACXL,MAAM,EACNC,SACF,CAAC;EAED,OAAO,IAAAK,oBAAa,EAACR,EAAE,IAAI,KAAK,EAAAzB,aAAA;IAAIkC,GAAG,EAAEJ;EAAU,GAAKD,KAAK,GAAIH,QAAQ,CAAC;AAC5E,CAAC;AAACjD,OAAA,CAAAG,iBAAA,GAAAA,iBAAA;AAEK,MAAMD,qBAAqB,GAAGwD,KAAA,IAIL;EAAA,IAJqC;MACnEV,EAAE;MACFC;IAEwB,CAAC,GAAAS,KAAA;IADtBN,KAAK,GAAAX,wBAAA,CAAAiB,KAAA,EAAAhD,UAAA;EAER,OAAO,IAAA8C,oBAAa,EAClBR,EAAE,IAAI,KAAK,EAAAzB,aAAA;IACT,CAAC,yBAAyB,GAAG;EAAE,GAAK6B,KAAK,GAC3CH,QACF,CAAC;AACH,CAAC;;AAED;AAAAjD,OAAA,CAAAE,qBAAA,GAAAA,qBAAA;AAEA,MAAMqD,WAAW,GAAGA,CAACI,OAAgB,EAAET,MAAgC,KACrE,IAAIU,cAAQ,CACVD,OAAO,EACP7D,MAAM,CAAC+D,MAAM,CAAC,CAAC,CAAC,EAAEX,MAAM,EAAE;EACxBY,KAAK,EAAE,IAAAC,yBAAmB,EAACb,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEY,KAAK;AAC1C,CAAC,CACH,CAAC","ignoreList":[]}