{"version":3,"file":"options-extract.mjs","sources":["../../../../../../packages/components/select/src/options-extract.tsx"],"sourcesContent":["import { createCommentVNode, defineComponent } from 'vue'\nimport { getAllElements, isComponent } from '../../../utils/vue-utils'\nimport { isSameArray } from '../../../utils/is'\n\nexport default defineComponent({\n  name: 'OptionsExtract',\n  emits: ['update-options'],\n  setup(props, { slots, emit }) {\n    let cacheValues: any[] = []\n    return () => {\n      const optionsVns = getAllElements(slots.default?.()).filter(\n        (vn) => isComponent(vn, vn.type) && vn.type.name === 'BnOption'\n      )\n      const values = optionsVns.map((vn) => {\n        const value = vn.props?.value\n        const label = vn.props?.label ?? ''\n        return `value:${value}_label:${label}`\n      })\n      if (!isSameArray(cacheValues, values)) {\n        emit('update-options', optionsVns)\n        cacheValues = values\n      }\n      return createCommentVNode('options extract')\n    }\n  }\n})\n"],"names":["name","emits","setup","props","slots","emit","cacheValues","optionsVns","getAllElements","default","filter","vn","isComponent","type","values","map","_a","value","label","isSameArray","createCommentVNode"],"mappings":";;;;AAIA,qCAA+B,eAAA,CAAA;AAAA,EAC7BA,IAAM,EAAA,gBAAA;AAAA,EACNC,KAAAA,EAAO,CAAC,gBAAgB,CAAA;AAAA,EACxBC,MAAMC,KAAO,EAAA;AAAA,IAAEC,KAAAA;AAAAA,IAAOC,IAAAA;AAAAA,GAAQ,EAAA;AAC5B,IAAA,IAAIC,cAAqB,EAAE,CAAA;AAC3B,IAAA,OAAO,MAAM;AATjB,MAAA,IAAA,EAAA,CAAA;AAUM,MAAA,MAAMC,aAAaC,cAAeJ,CAAAA,CAAAA,EAAAA,GAAAA,KAAAA,CAAMK,OAANL,KAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,EAAAA,CAAAA,IAAAA,CAAAA,KAAAA,CAAiB,EAAEM,MAClDC,CAAAA,CAAAA,EAAAA,KAAOC,WAAYD,CAAAA,EAAAA,EAAIA,GAAGE,IAAI,CAAA,IAAKF,EAAGE,CAAAA,IAAAA,CAAKb,SAAS,UACvD,CAAA,CAAA;AACA,MAAMc,MAAAA,MAAAA,GAASP,UAAWQ,CAAAA,GAAAA,CAAKJ,CAAO,EAAA,KAAA;AAb5C,QAAA,IAAAK,GAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AAcQ,QAAA,MAAMC,KAAQN,GAAAA,CAAAA,GAAAA,GAAAA,EAAGR,CAAAA,KAAAA,KAAHQ,gBAAAA,GAAUM,CAAAA,KAAAA,CAAAA;AACxB,QAAA,MAAMC,KAAQP,GAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,GAAAA,EAAAA,CAAGR,KAAHQ,KAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,EAAAA,CAAUO,UAAVP,IAAmB,GAAA,EAAA,GAAA,EAAA,CAAA;AACjC,QAAA,OAAO,SAASM,KAAeC,CAAAA,OAAAA,EAAAA,KAAAA,CAAAA,CAAAA,CAAAA;AAAAA,OAChC,CAAA,CAAA;AACD,MAAA,IAAI,CAACC,WAAAA,CAAYb,WAAaQ,EAAAA,MAAM,CAAG,EAAA;AACrCT,QAAAA,IAAAA,CAAK,kBAAkBE,UAAU,CAAA,CAAA;AACjCD,QAAcQ,WAAAA,GAAAA,MAAAA,CAAAA;AAAAA,OAChB;AACA,MAAA,OAAOM,mBAAmB,iBAAiB,CAAA,CAAA;AAAA,KAC7C,CAAA;AAAA,GACF;AACF,CAAC,CAAA;;;;"}