{"version":3,"file":"combobox-options.cjs","names":[],"sources":["../../../src/inputs/combobox/combobox-options.ts"],"sourcesContent":["import type { ComboboxOptionItem } from './combobox.types';\n\nexport function parseSlottedOptions(elements: Element[]): ComboboxOptionItem[] {\n  return elements\n    .filter((el) => el.localName === 'ore-combobox-option')\n    .map((el) => ({\n      disabled: el.hasAttribute('disabled'),\n      iconEl: el.querySelector('[slot=\"icon\"]'),\n      label:\n        el.getAttribute('label') ||\n        [...el.childNodes]\n          .filter((node) => node.nodeType === Node.TEXT_NODE)\n          .map((node) => node.textContent?.trim())\n          .filter(Boolean)\n          .join(' ') ||\n        '',\n      value: el.getAttribute('value') ?? '',\n    }));\n}\n\nexport function filterOptions(options: ComboboxOptionItem[], query: string, noFilter: boolean): ComboboxOptionItem[] {\n  if (noFilter) return options;\n\n  const normalizedQuery = query.toLowerCase().trim();\n\n  if (!normalizedQuery) return options;\n\n  return options.filter(\n    (option) =>\n      option.label.toLowerCase().includes(normalizedQuery) || option.value.toLowerCase().includes(normalizedQuery),\n  );\n}\n\nexport function getCreatableLabel(query: string, creatable: boolean, filteredOptions: ComboboxOptionItem[]): string {\n  if (!creatable) return '';\n\n  const trimmedQuery = query.trim();\n\n  if (!trimmedQuery) return '';\n\n  const exactMatch = filteredOptions.some((option) => option.label.toLowerCase() === trimmedQuery.toLowerCase());\n\n  return exactMatch ? '' : `Create \"${trimmedQuery}\"`;\n}\n\nexport function makeCreatableValue(query: string): string {\n  return `__new__:${query.trim()}`;\n}\n"],"mappings":"AAEA,SAAgB,EAAoB,EAA2C,CAC7E,OAAO,EACJ,OAAQ,GAAO,EAAG,YAAc,qBAAqB,CAAC,CACtD,IAAK,IAAQ,CACZ,SAAU,EAAG,aAAa,UAAU,EACpC,OAAQ,EAAG,cAAc,eAAe,EACxC,MACE,EAAG,aAAa,OAAO,GACvB,CAAC,GAAG,EAAG,UAAU,CAAC,CACf,OAAQ,GAAS,EAAK,WAAa,KAAK,SAAS,CAAC,CAClD,IAAK,GAAS,EAAK,aAAa,KAAK,CAAC,CAAC,CACvC,OAAO,OAAO,CAAC,CACf,KAAK,GAAG,GACX,GACF,MAAO,EAAG,aAAa,OAAO,GAAK,EACrC,EAAE,CACN,CAEA,SAAgB,EAAc,EAA+B,EAAe,EAAyC,CACnH,GAAI,EAAU,OAAO,EAErB,IAAM,EAAkB,EAAM,YAAY,CAAC,CAAC,KAAK,EAIjD,OAFK,EAEE,EAAQ,OACZ,GACC,EAAO,MAAM,YAAY,CAAC,CAAC,SAAS,CAAe,GAAK,EAAO,MAAM,YAAY,CAAC,CAAC,SAAS,CAAe,CAC/G,EAL6B,CAM/B,CAEA,SAAgB,EAAkB,EAAe,EAAoB,EAA+C,CAClH,GAAI,CAAC,EAAW,MAAO,GAEvB,IAAM,EAAe,EAAM,KAAK,EAMhC,OAJK,EAEc,EAAgB,KAAM,GAAW,EAAO,MAAM,YAAY,IAAM,EAAa,YAAY,CAErG,EAAa,GAAK,WAAW,EAAa,GAJvB,EAK5B,CAEA,SAAgB,EAAmB,EAAuB,CACxD,MAAO,WAAW,EAAM,KAAK,GAC/B"}