{"version":3,"file":"symbol.mjs","sources":["../../../components/radio/symbol.ts"],"sourcesContent":["import type { InjectionKey, Ref } from 'vue'\r\nimport type { IconEffect } from '@/components/icon'\r\nimport type { ComponentSize, ComponentState } from '@vexip-ui/config'\r\n\r\nexport type RadioShape = 'default' | 'border' | 'button'\r\nexport type RadioGroupShape = RadioShape | 'button-group'\r\n\r\nexport type RadioRawOption =\r\n  | string\r\n  | {\r\n    label: string | number | boolean,\r\n    content?: string,\r\n    disabled?: boolean,\r\n  }\r\n\r\nexport interface GroupState {\r\n  currentValue: string | number | boolean,\r\n  size: ComponentSize,\r\n  state: ComponentState,\r\n  disabled: boolean,\r\n  loading: boolean,\r\n  loadingIcon: Record<string, any>,\r\n  loadingLock: boolean,\r\n  loadingEffect: IconEffect,\r\n  shape: RadioGroupShape,\r\n  updateValue(value: string | number | boolean): void,\r\n  registerInput(input: Ref<HTMLElement | null | undefined>): void,\r\n  unregisterInput(input: Ref<HTMLElement | null | undefined>): void,\r\n}\r\n\r\nexport type ChangeEvent = (value: string | number | boolean) => void\r\n\r\nexport const GROUP_STATE = '__VXP_RADIO_GROUP_STATE' as unknown as InjectionKey<GroupState>\r\n\r\nexport const radioShapes = Object.freeze<RadioShape[]>(['default', 'border', 'button'])\r\nexport const radioGroupShapes = Object.freeze<RadioGroupShape[]>([...radioShapes, 'button-group'])\r\n"],"names":["GROUP_STATE","radioShapes","radioGroupShapes"],"mappings":"AAgCO,MAAMA,IAAc,2BAEdC,IAAc,OAAO,OAAqB,CAAC,WAAW,UAAU,QAAQ,CAAC,GACzEC,IAAmB,OAAO,OAA0B,CAAC,GAAGD,GAAa,cAAc,CAAC;"}