{"version":3,"file":"group.mjs","sources":["../../../../../../packages/components/group/src/group.ts"],"sourcesContent":["import { defineComponent, h } from 'vue'\nimport { useNamespace } from '@hongluan-ui/hooks'\nimport { groupProps } from './group-props'\n\nimport type { Slots, VNode } from 'vue'\n\nconst Group = defineComponent({\n  name: 'Group',\n  props: groupProps,\n  setup(props, { slots }) {\n    const { namespace } = useNamespace('group')\n    const handleGroupItem = (internalSlots: Slots) => {\n      const children = internalSlots.default?.() || []\n      addClazz(children)\n      return children\n    }\n    const addClazz = (children: VNode[]) => {\n      children.forEach(c => {\n        // (ARRAY_CHILDREN && not html element array) / TELEPORT / SUSPENSE\n        if (((c.shapeFlag & 16) && !(c.shapeFlag & 1))\n          || c.shapeFlag & 64\n          || c.shapeFlag & 128\n        ) {\n          addClazz((c.children || []) as VNode[])\n        }\n        const clazz = c.props?.class || ''\n        // if (clazz.indexOf(namespace.value) === -1 &&\n        //   clazz.indexOf('group-item') === -1 &&\n        //   (c.type as any).name !== 'Group'\n        // ) {\n        if (clazz.indexOf('group-item') === -1) {\n          if (!c.props) {\n            c.props = {}\n          }\n          c.props.class = clazz + ' group-item'\n        }\n      })\n    }\n    return () => h(\n      'div',\n      {\n        class: [\n          namespace.value,\n          props.dir,\n          props.align,\n          typeof props.full === 'boolean' && props.full ? 'full' : props.full,\n          props.indent ? 'indent' : '',\n          props.merge ? 'merge' : '',\n          props.deepMerge ? 'deep-merge' : '',\n          props.wrap ? 'wrap' : '',\n          props.block ? 'block' : '',\n        ],\n        style: [\n          typeof props.indent === 'string' ? `--indent:${props.indent}` : '',\n          props.gap ? `--group-gap-x: ${props.gap}; --group-gap-y: ${props.gap}` : '',\n          props.gapX ? `--group-gap-x: ${props.gapX}` : '',\n          props.gapY ? `--group-gap-y: ${props.gapY}` : '',\n        ],\n      },\n      handleGroupItem(slots),\n    )\n  },\n})\n\nexport default Group\n"],"names":[],"mappings":"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"}