{"version":3,"file":"types.mjs","sources":["../../../../../src/services/icon/types.ts"],"sourcesContent":["export interface IconProps {\n  attrs?: Record<string, string | ((...args: any[]) => unknown)>\n\n  /** Vue component */\n  component?: any\n  /** Content that will be passed as text inside icon tag or as slot in component */\n  content?: string\n\n  class?: string,\n  tag?: string\n  color?: string\n  rotation?: number | string\n  spin?: 'clockwise' | 'counter-clockwise' | boolean\n  to?: string\n}\n\nexport interface IconConfigurationString<Name extends string = string> extends IconProps {\n  name: Name\n  resolve?: ((dynamicSegments: {[dynamicSegment: string]: string }) => IconProps)\n}\n\nexport interface IconConfigurationRegex extends IconProps {\n  name: RegExp\n  // Need a different resolve method name because ts don't understand types\n  resolveFromRegex?: ((...regexGroupValues: string[]) => IconProps)\n}\n\nexport type IconConfiguration<Name extends string = string> = IconConfigurationString<Name> | IconConfigurationRegex\n\nexport type IconConfig = IconConfiguration[]\n\nexport const isIconConfigurationString = (config: IconConfiguration): config is IconConfigurationString => {\n  return typeof config.name === 'string'\n}\n\nexport const isIconConfigurationRegex = (config: IconConfiguration): config is IconConfigurationRegex => {\n  return config.name instanceof RegExp\n}\n"],"names":[],"mappings":"AA+Ba,MAAA,4BAA4B,CAAC,WAAiE;AAClG,SAAA,OAAO,OAAO,SAAS;AAChC;AAEa,MAAA,2BAA2B,CAAC,WAAgE;AACvG,SAAO,OAAO,gBAAgB;AAChC;"}