{"version":3,"file":"grid.mjs","sources":["../../../../../../../packages/components/grid/src/grid.tsx"],"sourcesContent":["import {\n  type ExtractPropTypes,\n  type InjectionKey,\n  type PropType,\n  defineComponent,\n} from 'vue'\nimport {\n  BORDER_TOP,\n  addUnit,\n  createNamespace,\n  makeNumericProp,\n  numericProp,\n  truthProp,\n} from '@xzx-design/utils'\nimport { useChildren } from '@xzx-design/hooks'\n\nconst [name, bem] = createNamespace('grid')\n\nexport type GridDirection = 'horizontal' | 'vertical'\n\nexport const gridProps = {\n  square: Boolean,\n  center: truthProp,\n  border: truthProp,\n  gutter: numericProp,\n  reverse: Boolean,\n  iconSize: numericProp,\n  direction: String as PropType<GridDirection>,\n  clickable: Boolean,\n  columnNum: makeNumericProp(4),\n}\n\nexport type GridProps = ExtractPropTypes<typeof gridProps>\n\nexport type GridProvide = {\n  props: GridProps\n}\n\nexport const GRID_KEY: InjectionKey<GridProvide> = Symbol(name)\n\nexport default defineComponent({\n  name,\n\n  props: gridProps,\n\n  setup(props, { slots }) {\n    const { linkChildren } = useChildren(GRID_KEY)\n\n    linkChildren({ props })\n\n    return () => (\n      <div\n        style={{ paddingLeft: addUnit(props.gutter) }}\n        class={[bem(), { [BORDER_TOP]: props.border && !props.gutter }]}\n      >\n        {slots.default?.()}\n      </div>\n    )\n  },\n})\n"],"names":["name","bem","createNamespace","gridProps","square","Boolean","center","truthProp","border","gutter","numericProp","reverse","iconSize","direction","String","clickable","columnNum","makeNumericProp","GRID_KEY","Symbol","defineComponent","props","setup","slots","linkChildren","useChildren","_createVNode","paddingLeft","addUnit","BORDER_TOP","default"],"mappings":";;;;;;;;;AAgBA,MAAM,CAACA,IAAAA,EAAMC,GAAG,CAAA,GAAIC,gBAAgB,MAAM,CAAA,CAAA;AAInC,MAAMC,SAAY,GAAA;AAAA,EACvBC,MAAQC,EAAAA,OAAAA;AAAAA,EACRC,MAAQC,EAAAA,SAAAA;AAAAA,EACRC,MAAQD,EAAAA,SAAAA;AAAAA,EACRE,MAAQC,EAAAA,WAAAA;AAAAA,EACRC,OAASN,EAAAA,OAAAA;AAAAA,EACTO,QAAUF,EAAAA,WAAAA;AAAAA,EACVG,SAAWC,EAAAA,MAAAA;AAAAA,EACXC,SAAWV,EAAAA,OAAAA;AAAAA,EACXW,SAAAA,EAAWC,gBAAgB,CAAC,CAAA;AAC9B,EAAA;AAQaC,MAAAA,QAAAA,GAAsCC,OAAOnB,IAAI,EAAA;AAE9D,YAAeoB,eAAgB,CAAA;AAAA,EAC7BpB,IAAAA;AAAAA,EAEAqB,KAAOlB,EAAAA,SAAAA;AAAAA,EAEPmB,MAAMD,KAAO,EAAA;AAAA,IAAEE,KAAAA;AAAAA,GAAS,EAAA;AACtB,IAAM,MAAA;AAAA,MAAEC,YAAAA;AAAAA,KAAa,GAAIC,YAAYP,QAAQ,CAAA,CAAA;AAE7CM,IAAa,YAAA,CAAA;AAAA,MAAEH,KAAAA;AAAAA,KAAO,CAAA,CAAA;AAEtB,IAAA,OAAO;AAlDX,MAAA,IAAA,EAAA,CAAA;AAkDWK,MAAAA,OAAAA,WAAAA,CAAA,KAAA,EAAA;AAAA,QAAA,OAEI,EAAA;AAAA,UAAEC,WAAAA,EAAaC,OAAQP,CAAAA,KAAAA,CAAMZ,MAAM,CAAA;AAAA,SAAE;AAAA,QAAC,OAAA,EACtC,CAACR,GAAAA,EAAO,EAAA;AAAA,UAAE,CAAC4B,UAAAA,GAAaR,KAAMb,CAAAA,MAAAA,IAAU,CAACa,KAAMZ,CAAAA,MAAAA;AAAAA,SAAQ,CAAA;AAAA,OAAC,EAAA,CAAA,CAE9Dc,EAAMO,GAAAA,KAAAA,CAAAA,OAAAA,KAANP,8BAAiB,CAErB,CAAA,CAAA;AAAA,KAAA,CAAA;AAAA,GACH;AACF,CAAC,CAAA;;;;"}