{"version":3,"file":"index2.mjs","sources":["../../../../../../../../packages/components/permission/src/Permissions/index.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {\n  provide,\n  reactive,\n  ref,\n  toRefs,\n  useAttrs,\n  // useSlots\n} from 'vue'\nimport { permissionsContextKey } from '../constants'\nimport { DEFAULT_PERMISSIONS_CLASSNAME, DEFAULT_PERMISSIONS_ID } from './constants'\nimport { pagePermissionProps } from './types'\nimport type { PermissionContext, PermissionsContext } from '../types'\n\ndefineOptions({\n  name: 'TaPermissions',\n  // inheritAttrs: false,\n})\n\nconst id = ref(DEFAULT_PERMISSIONS_ID())\nconst type = ref(DEFAULT_PERMISSIONS_CLASSNAME)\nconst props = defineProps(pagePermissionProps)\n// const emits = defineEmits(pagePermissionEmits)\n// const slots = useSlots()\nconst attrs = useAttrs()\n\nconst { disabled } = toRefs(props)\n\nconst permissionsContext: PermissionContext[] = []\n\nconst getPermission: PermissionsContext['getPermission'] = (id) => {\n  return permissionsContext.find((permissionContext) => permissionContext.id === id)\n}\nconst addPermission: PermissionsContext['addPermission'] = (permissionContext) => {\n  permissionsContext.push(permissionContext)\n}\nconst removePermission: PermissionsContext['removePermission'] = (permissionContext) => {\n  if (permissionContext.id) {\n    permissionsContext.splice(permissionsContext.indexOf(permissionContext), 1)\n  }\n}\n\nprovide(\n  permissionsContextKey,\n  reactive({\n    // ...toRefs(props),\n    id,\n    type,\n    disabled,\n    getPermission,\n    addPermission,\n    removePermission,\n  })\n)\n\ndefineExpose({\n  id,\n  permissionsContext,\n  getPermission,\n})\n</script>\n\n<template>\n  <slot v-bind=\"{ ...toRefs(props), ...attrs }\" />\n</template>\n"],"names":["id","_renderSlot","_normalizeProps","_guardReactiveProps","_unref"],"mappings":";;;;;;;;;;;AAmBA,EAAA,MAAA,EAAA,GAAA,GAAA,CAAA,sBAAA,EAAA,CAAA,CAAA;AACA,EAAA,MAAA,IAAA,GAAA,IAAA,6BAAA,CAAA,CAAA;AAIA,EAAA,MAAA,QAAA,QAAA,EAAA,CAAA;AAEA,EAAA,MAAA,EAAA,QAAA,EAAA,GAAA,MAAA,CAAA,KAAA,CAAA,CAAA;AAEA,EAAA,MAAA,qBAAA,EAAA,CAAA;AAEA,EAAA,MAAA,aAAA,GAAA,CAAAA,GAAA,KAAA;AACA,IAAA,OAAA,mBAAA,IAAA,CAAA,CAAA,iBAAA,KAAA,iBAAA,CAAA,OAAAA,GAAA,CAAA,CAAA;AAAA,GACA,CAAA;AACA,EAAA,MAAA,aAAA,GAAA,CAAA,iBAAA,KAAA;AACA,IAAA,kBAAA,CAAA,KAAA,iBAAA,CAAA,CAAA;AAAA,GACA,CAAA;AACA,EAAA,MAAA,gBAAA,GAAA,CAAA,iBAAA,KAAA;AACA,IAAA,IAAA,kBAAA,EAAA,EAAA;AACA,MAAA,kBAAA,CAAA,MAAA,CAAA,kBAAA,CAAA,OAAA,CAAA,iBAAA,GAAA,CAAA,CAAA,CAAA;AAAA,KACA;AAAA,GACA,CAAA;AAEA,EAAA,OAAA,CAAA,qBAAA,EAAA,QAAA,CAAA;AAAA,IACA,EAAA;AAAA,IACA,IAAA;AAAA,IAEA,QAAA;AAAA,IACA,aAAA;AAAA,IACA,aAAA;AAAA,IACA,gBAAA;AAAA,GACA,CAAA,CAAA,CAAA;AAAA,EACA,MAAA,CAAA;AAAA,IACA,EAAA;AAAA,IACA,kBAAA;AAEA,IAAA,aAAA;AAAA,GACA,CAAA,CAAA;AAAA,EACA,OAAA,CAAA,IAAA,EAAA,MAAA,KAAA;AAAA,IACA,OAAAC,UAAA,CAAA,IAAA,CAAA,MAAA,EAAA,SAAA,EAAAC,cAAA,CAAAC,kBAAA,CAAA,EAAA,GAAA,MAAA,CAAA,KAAA,CAAA,EAAA,GAAAC,KAAA,CAAA,KAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;AAAA,GACA,CAAA;;;;;;;;;;;"}