You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1 lines
2.2 KiB

{"ast":null,"code":"import { provide } from 'vue';\nconst FORWARD_REF_INJECTION_KEY = Symbol(\"elForwardRef\");\nconst useForwardRef = forwardRef => {\n const setForwardRef = el => {\n forwardRef.value = el;\n };\n provide(FORWARD_REF_INJECTION_KEY, {\n setForwardRef\n });\n};\nconst useForwardRefDirective = setForwardRef => {\n return {\n mounted(el) {\n setForwardRef(el);\n },\n updated(el) {\n setForwardRef(el);\n },\n unmounted() {\n setForwardRef(null);\n }\n };\n};\nexport { FORWARD_REF_INJECTION_KEY, useForwardRef, useForwardRefDirective };","map":{"version":3,"names":["FORWARD_REF_INJECTION_KEY","Symbol","useForwardRef","forwardRef","setForwardRef","el","value","provide","useForwardRefDirective","mounted","updated","unmounted"],"sources":["../../../../../packages/hooks/use-forward-ref/index.ts"],"sourcesContent":["import { provide } from 'vue'\n\nimport type { InjectionKey, ObjectDirective, Ref } from 'vue'\n\ntype ForwardRefSetter = <T>(el: T) => void\n\nexport type ForwardRefInjectionContext = {\n setForwardRef: ForwardRefSetter\n}\n\nexport const FORWARD_REF_INJECTION_KEY: InjectionKey<ForwardRefInjectionContext> =\n Symbol('elForwardRef')\n\nexport const useForwardRef = <T>(forwardRef: Ref<T | null>) => {\n const setForwardRef = (el: T) => {\n forwardRef.value = el\n }\n\n provide(FORWARD_REF_INJECTION_KEY, {\n setForwardRef,\n })\n}\n\nexport const useForwardRefDirective = (\n setForwardRef: ForwardRefSetter\n): ObjectDirective => {\n return {\n mounted(el) {\n setForwardRef(el)\n },\n updated(el) {\n setForwardRef(el)\n },\n unmounted() {\n setForwardRef(null)\n },\n }\n}\n"],"mappings":";AACY,MAACA,yBAAyB,GAAGC,MAAM,CAAC,cAAc;AAClD,MAACC,aAAa,GAAIC,UAAU,IAAK;EAC3C,MAAMC,aAAa,GAAIC,EAAE,IAAK;IAC5BF,UAAU,CAACG,KAAK,GAAGD,EAAE;EACzB,CAAG;EACDE,OAAO,CAACP,yBAAyB,EAAE;IACjCI;EACJ,CAAG,CAAC;AACJ;AACY,MAACI,sBAAsB,GAAIJ,aAAa,IAAK;EACvD,OAAO;IACLK,OAAOA,CAACJ,EAAE,EAAE;MACVD,aAAa,CAACC,EAAE,CAAC;IACvB,CAAK;IACDK,OAAOA,CAACL,EAAE,EAAE;MACVD,aAAa,CAACC,EAAE,CAAC;IACvB,CAAK;IACDM,SAASA,CAAA,EAAG;MACVP,aAAa,CAAC,IAAI,CAAC;IACzB;EACA,CAAG;AACH","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}