{"version":3,"file":"option-group.mjs","sources":["../../../../../../packages/components/select/src/option-group.vue"],"sourcesContent":["<template>\n  <ul\n    v-show=\"visible\"\n    :class=\"ns.be('group', 'wrap')\"\n    data-test-name=\"option-group\"\n    data-test-variant=\"\"\n    data-test-state=\"\"\n  >\n    <li :class=\"ns.be('group', 'title')\">{{ label }}</li>\n    <li>\n      <ul :class=\"ns.b('group')\">\n        <slot />\n      </ul>\n    </li>\n  </ul>\n</template>\n\n<script lang=\"ts\">\n// @ts-nocheck\nimport {\n  defineComponent,\n  getCurrentInstance,\n  inject,\n  onMounted,\n  provide,\n  reactive,\n  ref,\n  toRaw,\n  toRefs,\n  watch,\n} from 'vue'\nimport { useNamespace } from '@bigin/hooks'\nimport { selectGroupKey, selectKey } from './token'\n\nexport default defineComponent({\n  name: 'BOptionGroup',\n  componentName: 'BOptionGroup',\n\n  props: {\n    label: String,\n    disabled: {\n      type: Boolean,\n      default: false,\n    },\n  },\n  setup(props) {\n    const ns = useNamespace('select')\n    const visible = ref(true)\n    const instance = getCurrentInstance()\n    const children = ref([])\n\n    provide(\n      selectGroupKey,\n      reactive({\n        ...toRefs(props),\n      })\n    )\n\n    const select = inject(selectKey)\n\n    onMounted(() => {\n      children.value = flattedChildren(instance.subTree)\n    })\n\n    // get all instances of options\n    const flattedChildren = (node) => {\n      const children = []\n      if (Array.isArray(node.children)) {\n        node.children.forEach((child) => {\n          if (\n            child.type &&\n            child.type.name === 'BOption' &&\n            child.component &&\n            child.component.proxy\n          ) {\n            children.push(child.component.proxy)\n          } else if (child.children?.length) {\n            children.push(...flattedChildren(child))\n          }\n        })\n      }\n      return children\n    }\n\n    const { groupQueryChange } = toRaw(select)\n    watch(\n      groupQueryChange,\n      () => {\n        visible.value = children.value.some((option) => option.visible === true)\n      },\n      { flush: 'post' }\n    )\n\n    return {\n      visible,\n      ns,\n    }\n  },\n})\n</script>\n"],"names":["children","_createElementBlock","_normalizeClass","_createElementVNode","_toDisplayString","_renderSlot"],"mappings":"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"}