{
  "version": 3,
  "sources": ["../../src/Icon.tsx", "../../../shared/src/utils.ts"],
  "sourcesContent": ["import { For, splitProps } from 'solid-js';\nimport { Dynamic } from 'solid-js/web';\nimport defaultAttributes from './defaultAttributes';\nimport { IconNode, LucideProps } from './types';\nimport { mergeClasses, toKebabCase, toPascalCase } from '@lucide/shared';\n\ninterface IconProps {\n  name?: string;\n  iconNode: IconNode;\n}\n\nconst Icon = (props: LucideProps & IconProps) => {\n  const [localProps, rest] = splitProps(props, [\n    'color',\n    'size',\n    'strokeWidth',\n    'children',\n    'class',\n    'name',\n    'iconNode',\n    'absoluteStrokeWidth',\n  ]);\n\n  return (\n    <svg\n      {...defaultAttributes}\n      width={localProps.size ?? defaultAttributes.width}\n      height={localProps.size ?? defaultAttributes.height}\n      stroke={localProps.color ?? defaultAttributes.stroke}\n      stroke-width={\n        localProps.absoluteStrokeWidth\n          ? (Number(localProps.strokeWidth ?? defaultAttributes['stroke-width']) * 24) /\n            Number(localProps.size)\n          : Number(localProps.strokeWidth ?? defaultAttributes['stroke-width'])\n      }\n      class={mergeClasses(\n        'lucide',\n        'lucide-icon',\n        ...(localProps.name != null\n          ? [\n              `lucide-${toKebabCase(toPascalCase(localProps.name))}`,\n              `lucide-${toKebabCase(localProps.name)}`,\n            ]\n          : []),\n        localProps.class != null ? localProps.class : '',\n      )}\n      {...rest}\n    >\n      <For each={localProps.iconNode}>\n        {([elementName, attrs]) => {\n          return (\n            <Dynamic\n              component={elementName}\n              {...attrs}\n            />\n          );\n        }}\n      </For>\n    </svg>\n  );\n};\n\nexport default Icon;\n", "import { CamelToPascal } from './utility-types';\n\n/**\n * Converts string to kebab case\n *\n * @param {string} string\n * @returns {string} A kebabized string\n */\nexport const toKebabCase = (string: string) =>\n  string.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();\n\n/**\n * Converts string to camel case\n *\n * @param {string} string\n * @returns {string} A camelized string\n */\nexport const toCamelCase = <T extends string>(string: T) =>\n  string.replace(/^([A-Z])|[\\s-_]+(\\w)/g, (match, p1, p2) =>\n    p2 ? p2.toUpperCase() : p1.toLowerCase(),\n  );\n\n/**\n * Converts string to pascal case\n *\n * @param {string} string\n * @returns {string} A pascalized string\n */\nexport const toPascalCase = <T extends string>(string: T): CamelToPascal<T> => {\n  const camelCase = toCamelCase(string);\n\n  return (camelCase.charAt(0).toUpperCase() + camelCase.slice(1)) as CamelToPascal<T>;\n};\n\n/**\n * Merges classes into a single string\n *\n * @param {array} classes\n * @returns {string} A string of classes\n */\nexport const mergeClasses = <ClassType = string | undefined | null>(...classes: ClassType[]) =>\n  classes\n    .filter((className, index, array) => {\n      return (\n        Boolean(className) &&\n        (className as string).trim() !== '' &&\n        array.indexOf(className) === index\n      );\n    })\n    .join(' ')\n    .trim();\n"],
  "mappings": ";;;;;;;;AAAA,SAAS,KAAK,kBAAkB;AAChC,SAAS,eAAe;AACxB,OAAO,uBAAuB;;;ACMvB,IAAM,cAAc,CAAC,WAC1B,OAAO,QAAQ,sBAAsB,OAAO,EAAE,YAAY;AAQrD,IAAM,cAAc,CAAmB,WAC5C,OAAO;AAAA,EAAQ;AAAA,EAAyB,CAAC,OAAO,IAAI,OAClD,KAAK,GAAG,YAAY,IAAI,GAAG,YAAY;AACzC;AAQK,IAAM,eAAe,CAAmB,WAAgC;AAC7E,QAAM,YAAY,YAAY,MAAM;AAEpC,SAAQ,UAAU,OAAO,CAAC,EAAE,YAAY,IAAI,UAAU,MAAM,CAAC;AAC/D;AAQO,IAAM,eAAe,IAA2C,YACrE,QACG,OAAO,CAAC,WAAW,OAAO,UAAU;AACnC,SACE,QAAQ,SAAS,KAChB,UAAqB,KAAK,MAAM,MACjC,MAAM,QAAQ,SAAS,MAAM;AAEjC,CAAC,EACA,KAAK,GAAG,EACR,KAAK;;;ADvCV,IAAM,OAAO,CAAC,UAAmC;AAC/C,QAAM,CAAC,YAAY,IAAI,IAAI,WAAW,OAAO;AAAA,IAC3C;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAED,SACE,CAAC;AAAA,QACK;AAAA,IACJ,OAAO,WAAW,QAAQ,kBAAkB;AAAA,IAC5C,QAAQ,WAAW,QAAQ,kBAAkB;AAAA,IAC7C,QAAQ,WAAW,SAAS,kBAAkB;AAAA,IAC9C,cACE,WAAW,sBACN,OAAO,WAAW,eAAe,kBAAkB,cAAc,CAAC,IAAI,KACvE,OAAO,WAAW,IAAI,IACtB,OAAO,WAAW,eAAe,kBAAkB,cAAc,CAAC;AAAA,IAExE,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA,GAAI,WAAW,QAAQ,OACnB;AAAA,QACE,UAAU,YAAY,aAAa,WAAW,IAAI,CAAC,CAAC;AAAA,QACpD,UAAU,YAAY,WAAW,IAAI,CAAC;AAAA,MACxC,IACA,CAAC;AAAA,MACL,WAAW,SAAS,OAAO,WAAW,QAAQ;AAAA,IAChD;AAAA,QACI;AAAA,GACL;AAAA,MACC,CAAC,IAAI,MAAM,WAAW,UAAU;AAAA,SAC7B,CAAC,CAAC,aAAa,KAAK,MAAM;AACzB,WACE,CAAC;AAAA,MACC,WAAW;AAAA,UACP;AAAA,IACN;AAAA,EAEJ,EAAE;AAAA,MACJ,EATC,IASK;AAAA,IACR,EAlCC;AAoCL;AAEA,IAAO,eAAQ;",
  "names": []
}
