@lisn.js/react
Version:
LISN.js for React.
1 lines • 5.77 kB
Source Map (JSON)
{"version":3,"file":"ModalComponent.cjs","names":["_react","require","_lisn","_excluded","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","n","indexOf","propertyIsEnumerable","hasOwnProperty","ModalComponent","_ref","as","children","triggers","config","widgetRef","props","elementRef","useRef","widgetRefInternal","useEffect","triggerElements","map","current","HTMLElement","Modal","assign","_widgetRefInternal$cu","destroy","useImperativeHandle","getWidget","createElement","ref","exports"],"sources":["../../src/ModalComponent.tsx"],"sourcesContent":["import {\n createElement,\n useRef,\n useEffect,\n useImperativeHandle,\n ComponentRef,\n ElementType,\n RefObject,\n} from \"react\";\n\nimport { Modal, ModalConfig } from \"lisn.js\";\nimport { WidgetComponentRef, WidgetComponentProps } from \"./types\";\n\nexport type ModalComponentRef = WidgetComponentRef<Modal>;\n\nexport type ModalComponentProps<T extends ElementType> = WidgetComponentProps<\n T,\n ModalComponentRef,\n Omit<ModalConfig, \"triggers\">\n> & {\n triggers?: RefObject<Element | null>[];\n};\n\nexport const ModalComponent = <T extends ElementType = \"div\">({\n as,\n children,\n triggers,\n config,\n widgetRef,\n ...props\n}: ModalComponentProps<T>) => {\n const elementRef = useRef<ComponentRef<T>>(null);\n const widgetRefInternal = useRef<Modal>(null);\n\n useEffect(() => {\n const triggerElements = triggers\n ?.map((r) => r.current)\n .filter((e) => e !== null);\n\n if (elementRef.current instanceof HTMLElement) {\n widgetRefInternal.current = new Modal(\n elementRef.current,\n Object.assign(\n {\n triggers: triggerElements,\n },\n config,\n ),\n );\n }\n\n return () => {\n widgetRefInternal.current?.destroy();\n };\n }, [triggers, config]);\n\n useImperativeHandle(widgetRef, () => {\n return {\n getWidget: () => widgetRefInternal.current,\n };\n });\n\n return (\n <>{createElement(as || \"div\", { ref: elementRef, ...props }, children)}</>\n );\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAUA,IAAAC,KAAA,GAAAD,OAAA;AAA6C,MAAAE,SAAA;AAAA,SAAAC,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAJ,CAAA,OAAAG,MAAA,CAAAE,qBAAA,QAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAL,CAAA,GAAAC,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAN,CAAA,WAAAE,MAAA,CAAAK,wBAAA,CAAAR,CAAA,EAAAC,CAAA,EAAAQ,UAAA,OAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAU,cAAAZ,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,UAAAC,CAAA,WAAAW,SAAA,CAAAZ,CAAA,IAAAY,SAAA,CAAAZ,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAI,MAAA,CAAAD,CAAA,OAAAa,OAAA,WAAAd,CAAA,IAAAe,eAAA,CAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAc,yBAAA,GAAAd,MAAA,CAAAe,gBAAA,CAAAlB,CAAA,EAAAG,MAAA,CAAAc,yBAAA,CAAAf,CAAA,KAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAE,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAAA,SAAAgB,gBAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAmB,cAAA,CAAAnB,CAAA,MAAAD,CAAA,GAAAG,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,IAAAoB,KAAA,EAAAnB,CAAA,EAAAO,UAAA,MAAAa,YAAA,MAAAC,QAAA,UAAAvB,CAAA,CAAAC,CAAA,IAAAC,CAAA,EAAAF,CAAA;AAAA,SAAAoB,eAAAlB,CAAA,QAAAsB,CAAA,GAAAC,YAAA,CAAAvB,CAAA,uCAAAsB,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAvB,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAAwB,MAAA,CAAAC,WAAA,kBAAA3B,CAAA,QAAAwB,CAAA,GAAAxB,CAAA,CAAA4B,IAAA,CAAA1B,CAAA,EAAAD,CAAA,uCAAAuB,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAA5B,CAAA,GAAA6B,MAAA,GAAAC,MAAA,EAAA7B,CAAA;AAAA,SAAA8B,yBAAAhC,CAAA,EAAAE,CAAA,gBAAAF,CAAA,iBAAAM,CAAA,EAAAL,CAAA,EAAAuB,CAAA,GAAAS,6BAAA,CAAAjC,CAAA,EAAAE,CAAA,OAAAC,MAAA,CAAAE,qBAAA,QAAA6B,CAAA,GAAA/B,MAAA,CAAAE,qBAAA,CAAAL,CAAA,QAAAC,CAAA,MAAAA,CAAA,GAAAiC,CAAA,CAAApB,MAAA,EAAAb,CAAA,IAAAK,CAAA,GAAA4B,CAAA,CAAAjC,CAAA,UAAAC,CAAA,CAAAiC,OAAA,CAAA7B,CAAA,QAAA8B,oBAAA,CAAAR,IAAA,CAAA5B,CAAA,EAAAM,CAAA,MAAAkB,CAAA,CAAAlB,CAAA,IAAAN,CAAA,CAAAM,CAAA,aAAAkB,CAAA;AAAA,SAAAS,8BAAAhC,CAAA,EAAAD,CAAA,gBAAAC,CAAA,iBAAAC,CAAA,gBAAAgC,CAAA,IAAAjC,CAAA,SAAAoC,cAAA,CAAAT,IAAA,CAAA3B,CAAA,EAAAiC,CAAA,gBAAAlC,CAAA,CAAAmC,OAAA,CAAAD,CAAA,aAAAhC,CAAA,CAAAgC,CAAA,IAAAjC,CAAA,CAAAiC,CAAA,YAAAhC,CAAA;AAatC,MAAMoC,cAAc,GAAGC,IAAA,IAOA;EAAA,IAPgC;MAC5DC,EAAE;MACFC,QAAQ;MACRC,QAAQ;MACRC,MAAM;MACNC;IAEsB,CAAC,GAAAL,IAAA;IADpBM,KAAK,GAAAb,wBAAA,CAAAO,IAAA,EAAAzC,SAAA;EAER,MAAMgD,UAAU,GAAG,IAAAC,aAAM,EAAkB,IAAI,CAAC;EAChD,MAAMC,iBAAiB,GAAG,IAAAD,aAAM,EAAQ,IAAI,CAAC;EAE7C,IAAAE,gBAAS,EAAC,MAAM;IACd,MAAMC,eAAe,GAAGR,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAC5BS,GAAG,CAAElD,CAAC,IAAKA,CAAC,CAACmD,OAAO,CAAC,CACtB7C,MAAM,CAAEP,CAAC,IAAKA,CAAC,KAAK,IAAI,CAAC;IAE5B,IAAI8C,UAAU,CAACM,OAAO,YAAYC,WAAW,EAAE;MAC7CL,iBAAiB,CAACI,OAAO,GAAG,IAAIE,WAAK,CACnCR,UAAU,CAACM,OAAO,EAClBjD,MAAM,CAACoD,MAAM,CACX;QACEb,QAAQ,EAAEQ;MACZ,CAAC,EACDP,MACF,CACF,CAAC;IACH;IAEA,OAAO,MAAM;MAAA,IAAAa,qBAAA;MACX,CAAAA,qBAAA,GAAAR,iBAAiB,CAACI,OAAO,cAAAI,qBAAA,eAAzBA,qBAAA,CAA2BC,OAAO,CAAC,CAAC;IACtC,CAAC;EACH,CAAC,EAAE,CAACf,QAAQ,EAAEC,MAAM,CAAC,CAAC;EAEtB,IAAAe,0BAAmB,EAACd,SAAS,EAAE,MAAM;IACnC,OAAO;MACLe,SAAS,EAAEA,CAAA,KAAMX,iBAAiB,CAACI;IACrC,CAAC;EACH,CAAC,CAAC;EAEF,OACE,EAAE,CAAC,IAAAQ,oBAAa,EAACpB,EAAE,IAAI,KAAK,EAAA5B,aAAA;MAAIiD,GAAG,EAAEf;IAAU,GAAKD,KAAK,GAAIJ,QAAQ,CAAC,CAAC,GAAG;AAE9E,CAAC;AAACqB,OAAA,CAAAxB,cAAA,GAAAA,cAAA","ignoreList":[]}