{"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-group-provide/index.ts"],"sourcesContent":["import { provide, reactive } from 'vue'\nimport type { ParentProvide } from '@vuesax-alpha/tokens'\nimport type { ComponentInternalInstance, InjectionKey } from '@vue/runtime-core'\n\nexport const useGroupProvide = <T extends Record<string, unknown>>(\n  key: InjectionKey<ParentProvide<T>>,\n  data: T\n) => {\n  const children: ComponentInternalInstance[] = reactive([])\n\n  const insert = (child: ComponentInternalInstance) => {\n    children.push(child)\n  }\n  const remove = (child: ComponentInternalInstance) => {\n    const index = children.indexOf(child)\n    children.splice(index, 1)\n  }\n\n  provide(key, {\n    ...data,\n    children,\n    insert,\n    remove,\n  })\n\n  return {\n    children,\n    insert,\n    remove,\n  }\n}\n"],"names":[],"mappings":";;AAIa,MAAA,eAAA,GAAkB,CAC7B,GAAA,EACA,IACG,KAAA;AACH,EAAM,MAAA,QAAA,GAAwC,QAAS,CAAA,EAAE,CAAA,CAAA;AAEzD,EAAM,MAAA,MAAA,GAAS,CAAC,KAAqC,KAAA;AACnD,IAAA,QAAA,CAAS,KAAK,KAAK,CAAA,CAAA;AAAA,GACrB,CAAA;AACA,EAAM,MAAA,MAAA,GAAS,CAAC,KAAqC,KAAA;AACnD,IAAM,MAAA,KAAA,GAAQ,QAAS,CAAA,OAAA,CAAQ,KAAK,CAAA,CAAA;AACpC,IAAS,QAAA,CAAA,MAAA,CAAO,OAAO,CAAC,CAAA,CAAA;AAAA,GAC1B,CAAA;AAEA,EAAA,OAAA,CAAQ,GAAK,EAAA;AAAA,IACX,GAAG,IAAA;AAAA,IACH,QAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAA;AAAA,GACD,CAAA,CAAA;AAED,EAAO,OAAA;AAAA,IACL,QAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAA;AAAA,GACF,CAAA;AACF;;;;"}