{"version":3,"file":"useSeoTitleUrl-CrM1YzAc.mjs","names":[],"sources":["../src/components/composable/route/useSeoTitleUrl.ts"],"sourcesContent":["import { useGeneralStore } from \"../../../stores/GeneralStore\";\nimport { useRoute, useRouter } from \"vue-router\";\nexport const useSeoTitleUrl = ()=>{\n\n  const router = useRouter();\n  const route = useRoute();\n  const generalStore = useGeneralStore();\n\n  function updatePathParams(text: string) {\n    const seoText = stringUrlEncode(text);\n    if(seoText !== route.params.title){\n      router.replace({ params: { ...route.params, ...{title:seoText}}, query: route.query});\n    }\n    document.title = text + \" - \"+ generalStore.metaTitle;\n  }\n\n  function stringUrlEncode(text: string): string {\n    if(!text.length){\n      return \"\";\n    }\n    const withoutSpecialChar = text.replaceAll(\n      /[!\"`'#%&,:;<>=\\-_@{}~$.()*+/\\\\?[\\]^|]+/gm, ' ');\n    const trimText = withoutSpecialChar.trim();\n    return \"-\"+trimText.replaceAll(/\\s+/gm, '-');\n  }\n\n\treturn {\n      updatePathParams,\n      stringUrlEncode\n\t}\n}\n"],"mappings":";;;AAEA,IAAa,uBAAqB;CAEhC,MAAM,SAAS,UAAU;CACzB,MAAM,QAAQ,SAAS;CACvB,MAAM,eAAe,gBAAgB;CAErC,SAAS,iBAAiB,MAAc;EACtC,MAAM,UAAU,gBAAgB,IAAI;EACpC,IAAG,YAAY,MAAM,OAAO,OAC1B,OAAO,QAAQ;GAAE,QAAQ;IAAE,GAAG,MAAM;IAAY,OAAM;GAAQ;GAAG,OAAO,MAAM;EAAK,CAAC;EAEtF,SAAS,QAAQ,OAAO,QAAO,aAAa;CAC9C;CAEA,SAAS,gBAAgB,MAAsB;EAC7C,IAAG,CAAC,KAAK,QACP,OAAO;EAKT,OAAO,MAHoB,KAAK,WAC9B,4CAA4C,GAC7B,EAAmB,KACzB,EAAS,WAAW,SAAS,GAAG;CAC7C;CAED,OAAO;EACF;EACA;CACL;AACD"}