{"version":3,"file":"useGridTemplateArea.mjs","sources":["../../../../../../src/components/va-layout/hooks/useGridTemplateArea.ts"],"sourcesContent":["import { computed } from 'vue'\nimport { type LayoutProps } from './useLayout'\n\nconst areaIndexes = {\n  top: [0, 1, 2],\n  left: [0, 3, 6],\n  right: [2, 5, 8],\n  bottom: [6, 7, 8],\n}\n\nexport type AreaName = 'top' | 'left' | 'right' | 'bottom'\nconst areaElements = (['left', 'right', 'top', 'bottom'] as const)\n\nexport const useGridTemplateArea = (props: LayoutProps) => {\n  const sort = () => {\n    return [...areaElements].sort((a, b) => {\n      return (props[a].order ?? 0) - (props[b].order ?? 0)\n    })\n  }\n\n  const applyTemplate = (template: string[], areaIndexes: number[], areaName: AreaName) => {\n    areaIndexes.forEach((index) => {\n      template[index] = areaName\n    })\n  }\n\n  return computed(() => {\n    const sorted = sort()\n\n    const template = [\n      '.', '.', '.',\n      '.', '.', '.',\n      '.', '.', '.',\n    ].map(() => 'content')\n\n    sorted.forEach((areaName) => {\n      applyTemplate(template, areaIndexes[areaName], areaName)\n    })\n\n    return [\n      '\"' + template.slice(0, 3).join(' ') + '\"',\n      '\"' + template.slice(3, 6).join(' ') + '\"',\n      '\"' + template.slice(6, 9).join(' ') + '\"',\n    ].join(' ')\n  })\n}\n"],"names":["areaIndexes"],"mappings":";AAGA,MAAM,cAAc;AAAA,EAClB,KAAK,CAAC,GAAG,GAAG,CAAC;AAAA,EACb,MAAM,CAAC,GAAG,GAAG,CAAC;AAAA,EACd,OAAO,CAAC,GAAG,GAAG,CAAC;AAAA,EACf,QAAQ,CAAC,GAAG,GAAG,CAAC;AAClB;AAGA,MAAM,eAAgB,CAAC,QAAQ,SAAS,OAAO,QAAQ;AAE1C,MAAA,sBAAsB,CAAC,UAAuB;AACzD,QAAM,OAAO,MAAM;AACjB,WAAO,CAAC,GAAG,YAAY,EAAE,KAAK,CAAC,GAAG,MAAM;AAC9B,cAAA,MAAM,CAAC,EAAE,SAAS,MAAM,MAAM,CAAC,EAAE,SAAS;AAAA,IAAA,CACnD;AAAA,EAAA;AAGH,QAAM,gBAAgB,CAAC,UAAoBA,cAAuB,aAAuB;AACvFA,iBAAY,QAAQ,CAAC,UAAU;AAC7B,eAAS,KAAK,IAAI;AAAA,IAAA,CACnB;AAAA,EAAA;AAGH,SAAO,SAAS,MAAM;AACpB,UAAM,SAAS;AAEf,UAAM,WAAW;AAAA,MACf;AAAA,MAAK;AAAA,MAAK;AAAA,MACV;AAAA,MAAK;AAAA,MAAK;AAAA,MACV;AAAA,MAAK;AAAA,MAAK;AAAA,IAAA,EACV,IAAI,MAAM,SAAS;AAEd,WAAA,QAAQ,CAAC,aAAa;AAC3B,oBAAc,UAAU,YAAY,QAAQ,GAAG,QAAQ;AAAA,IAAA,CACxD;AAEM,WAAA;AAAA,MACL,MAAM,SAAS,MAAM,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI;AAAA,MACvC,MAAM,SAAS,MAAM,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI;AAAA,MACvC,MAAM,SAAS,MAAM,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI;AAAA,IAAA,EACvC,KAAK,GAAG;AAAA,EAAA,CACX;AACH;"}