{"version":3,"file":"index.mjs","sources":["../../../../src/plugins/showHide/index.ts"],"sourcesContent":["import {computed, type Plugin, reactive, readonly} from 'vue'\nimport {\n  globalShowHideStorageInjectionKey,\n  type RegisterShowHideFnInput,\n  type RegisterShowHideValue,\n} from '../../utils/keys'\n\nexport const showHidePlugin: Plugin = {\n  install(app) {\n    const values: Record<\n      string,\n      {value: boolean; toggle: () => void; show: () => void; hide: (trigger?: string) => void}\n    > = reactive({})\n\n    const fun = (({id, value, toggle, show, hide}: RegisterShowHideFnInput) => {\n      values[id] = computed(() => ({value: value.value, toggle, show, hide})) as unknown as {\n        value: boolean\n        toggle: () => void\n        show: () => void\n        hide: (trigger?: string) => void\n      }\n      return {\n        unregister() {\n          delete values[id]\n        },\n      }\n    }) as unknown as RegisterShowHideValue\n\n    fun.map = readonly(values)\n    app.provide(globalShowHideStorageInjectionKey, fun)\n  },\n}\n"],"names":[],"mappings":";;AAOO,MAAM,iBAAyB;AAAA,EACpC,QAAQ,KAAK;AACL,UAAA,SAGF,SAAS,EAAE;AAET,UAAA,MAAO,CAAC,EAAC,IAAI,OAAO,QAAQ,MAAM,WAAmC;AAClE,aAAA,EAAE,IAAI,SAAS,OAAO,EAAC,OAAO,MAAM,OAAO,QAAQ,MAAM,KAAM,EAAA;AAM/D,aAAA;AAAA,QACL,aAAa;AACX,iBAAO,OAAO,EAAE;AAAA,QAAA;AAAA,MAEpB;AAAA,IACF;AAEI,QAAA,MAAM,SAAS,MAAM;AACrB,QAAA,QAAQ,mCAAmC,GAAG;AAAA,EAAA;AAEtD;"}