{"version":3,"file":"index.mjs","sources":["../../../../../../packages/hooks/use-size/index.ts"],"sourcesContent":["import { computed, inject, unref } from 'vue'\r\nimport { buildProp } from '@m-eleplus-crud/utils'\r\nimport { componentSizes } from '@m-eleplus-crud/constants'\r\n\r\nimport type { InjectionKey, Ref } from 'vue'\r\nimport type { ComponentSize } from '@m-eleplus-crud/constants'\r\n\r\nexport const useSizeProp = buildProp({\r\n  type: String,\r\n  values: componentSizes,\r\n  required: false,\r\n} as const)\r\n\r\nexport const useSizeProps = {\r\n  size: useSizeProp,\r\n}\r\n\r\nexport interface SizeContext {\r\n  size: Ref<ComponentSize>\r\n}\r\n\r\nexport const SIZE_INJECTION_KEY: InjectionKey<SizeContext> = Symbol('size')\r\n\r\nexport const useGlobalSize = () => {\r\n  const injectedSize = inject(SIZE_INJECTION_KEY, {} as SizeContext)\r\n\r\n  return computed<ComponentSize>(() => {\r\n    return unref(injectedSize.size) || ''\r\n  })\r\n}\r\n"],"names":[],"mappings":";;;;AAOO,MAAM,cAAc,SAAU,CAAA;AAAA,EACnC,IAAM,EAAA,MAAA;AAAA,EACN,MAAQ,EAAA,cAAA;AAAA,EACR,QAAU,EAAA,KAAA;AACZ,CAAU,EAAA;AAEH,MAAM,YAAe,GAAA;AAAA,EAC1B,IAAM,EAAA,WAAA;AACR,EAAA;AAMa,MAAA,kBAAA,GAAgD,OAAO,MAAM,EAAA;AAEnE,MAAM,gBAAgB,MAAM;AACjC,EAAA,MAAM,YAAe,GAAA,MAAA,CAAO,kBAAoB,EAAA,EAAiB,CAAA,CAAA;AAEjE,EAAA,OAAO,SAAwB,MAAM;AACnC,IAAO,OAAA,KAAA,CAAM,YAAa,CAAA,IAAI,CAAK,IAAA,EAAA,CAAA;AAAA,GACpC,CAAA,CAAA;AACH;;;;"}