[{"data":1,"prerenderedAt":1715},["ShallowReactive",2],{"navigation":3,"/getting-started/migration":53,"/getting-started/migration-surround":1710},[4,28],{"title":5,"path":6,"stem":7,"children":8,"icon":27},"Getting Started","/getting-started","1.getting-started/1.index",[9,12,17,22],{"title":10,"path":6,"stem":7,"icon":11},"Introduction","i-lucide-house",{"title":13,"path":14,"stem":15,"icon":16},"Installation","/getting-started/installation","1.getting-started/2.installation","i-lucide-download",{"title":18,"path":19,"stem":20,"icon":21},"Usage","/getting-started/usage","1.getting-started/3.usage","i-lucide-code-2",{"title":23,"path":24,"stem":25,"icon":26},"Migration Guide","/getting-started/migration","1.getting-started/4.migration","i-lucide-arrow-up-circle",false,{"title":29,"path":30,"stem":31,"children":32,"page":27},"Essentials","/essentials","2.essentials",[33,38,43,48],{"title":34,"path":35,"stem":36,"icon":37},"Event Listeners","/essentials/event-listeners","2.essentials/1.event-listeners","i-lucide-bell",{"title":39,"path":40,"stem":41,"icon":42},"Setters","/essentials/setters","2.essentials/2.setters","i-lucide-user-pen",{"title":44,"path":45,"stem":46,"icon":47},"TypeScript","/essentials/typescript","2.essentials/3.typescript","lineicons:typescript",{"title":49,"path":50,"stem":51,"icon":52},"Examples","/essentials/examples","2.essentials/4.examples","i-lucide-layout-template",{"id":54,"title":23,"body":55,"description":1701,"extension":1702,"links":1703,"meta":1704,"navigation":1705,"path":24,"seo":1706,"stem":25,"__hash__":1709},"docs/1.getting-started/4.migration.md",{"type":56,"value":57,"toc":1689},"minimark",[58,75,91,96,207,211,219,229,430,476,480,485,685,690,790,794,798,993,997,1133,1137,1140,1346,1350,1564,1568,1577,1685],[59,60,61,62,66,67,70,71,74],"p",{},"Version 2 is a breaking change. The old Vue ",[63,64,65],"code",{},"provide","/",[63,68,69],{},"inject"," pattern has been removed in favour of the new ",[63,72,73],{},"useTawk()"," composable, which is auto-imported across your entire app.",[76,77,80],"callout",{"color":78,"icon":79},"green","i-lucide-package",[59,81,82,86,87,90],{},[83,84,85],"strong",{},"No changes"," are needed in ",[63,88,89],{},"nuxt.config.ts"," or to your install command. Only your component code needs updating.",[92,93,95],"h2",{"id":94},"what-changed","What Changed",[97,98,99,116],"table",{},[100,101,102],"thead",{},[103,104,105,110,113],"tr",{},[106,107,109],"th",{"align":108},"left","Feature",[106,111,112],{"align":108},"v1",[106,114,115],{"align":108},"v2",[117,118,119,135,162,181,194],"tbody",{},[103,120,121,125,130],{},[122,123,124],"td",{"align":108},"API access",[122,126,127],{"align":108},[63,128,129],{},"inject('toggle')",[122,131,132],{"align":108},[63,133,134],{},"useTawk().toggle",[103,136,137,140,143],{},[122,138,139],{"align":108},"Reactive state",[122,141,142],{"align":108},"❌ Not available",[122,144,145,146,149,150,149,153,149,156,149,159],{"align":108},"✅ ",[63,147,148],{},"isHidden",", ",[63,151,152],{},"isMinimized",[63,154,155],{},"isMaximized",[63,157,158],{},"status",[63,160,161],{},"unreadCount",[103,163,164,167,169],{},[122,165,166],{"align":108},"Event listeners",[122,168,142],{"align":108},[122,170,145,171,149,174,149,177,180],{"align":108},[63,172,173],{},"onLoad",[63,175,176],{},"onStatusChange",[63,178,179],{},"onChatStarted","… (with cleanup)",[103,182,183,185,188],{},[122,184,44],{"align":108},[122,186,187],{"align":108},"Partial",[122,189,190,191],{"align":108},"Full — all types exported via ",[63,192,193],{},"nuxt-tawk-to/types",[103,195,196,199,202],{},[122,197,198],{"align":108},"Auto-import",[122,200,201],{"align":108},"❌",[122,203,145,204,206],{"align":108},[63,205,73],{}," is globally available",[92,208,210],{"id":209},"step-by-step-migration","Step-by-Step Migration",[212,213,215,216,218],"h3",{"id":214},"_1-remove-inject-calls","1. Remove ",[63,217,69],{}," calls",[59,220,221,222,225,226,228],{},"Find all ",[63,223,224],{},"inject(...)"," calls and replace them with ",[63,227,73],{},":",[230,231,236],"pre",{"className":232,"code":233,"language":234,"meta":235,"style":235},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","// ❌ v1 — inject each function manually\nimport { inject } from 'vue'\nconst toggle = inject\u003C() => void>('toggle')\nconst maximize = inject\u003C() => void>('maximize')\nconst minimize = inject\u003C() => void>('minimize')\nconst setAttributes = inject\u003C(...args: any[]) => void>('setAttributes')\n","ts","",[63,237,238,247,278,321,352,383],{"__ignoreMap":235},[239,240,243],"span",{"class":241,"line":242},"line",1,[239,244,246],{"class":245},"sHwdD","// ❌ v1 — inject each function manually\n",[239,248,250,254,258,262,265,268,271,275],{"class":241,"line":249},2,[239,251,253],{"class":252},"s7zQu","import",[239,255,257],{"class":256},"sMK4o"," {",[239,259,261],{"class":260},"sTEyZ"," inject",[239,263,264],{"class":256}," }",[239,266,267],{"class":252}," from",[239,269,270],{"class":256}," '",[239,272,274],{"class":273},"sfazB","vue",[239,276,277],{"class":256},"'\n",[239,279,281,285,288,291,294,297,300,304,307,310,313,316,318],{"class":241,"line":280},3,[239,282,284],{"class":283},"spNyl","const",[239,286,287],{"class":260}," toggle ",[239,289,290],{"class":256},"=",[239,292,261],{"class":293},"s2Zo4",[239,295,296],{"class":256},"\u003C()",[239,298,299],{"class":283}," =>",[239,301,303],{"class":302},"sBMFI"," void",[239,305,306],{"class":256},">",[239,308,309],{"class":260},"(",[239,311,312],{"class":256},"'",[239,314,315],{"class":273},"toggle",[239,317,312],{"class":256},[239,319,320],{"class":260},")\n",[239,322,324,326,329,331,333,335,337,339,341,343,345,348,350],{"class":241,"line":323},4,[239,325,284],{"class":283},[239,327,328],{"class":260}," maximize ",[239,330,290],{"class":256},[239,332,261],{"class":293},[239,334,296],{"class":256},[239,336,299],{"class":283},[239,338,303],{"class":302},[239,340,306],{"class":256},[239,342,309],{"class":260},[239,344,312],{"class":256},[239,346,347],{"class":273},"maximize",[239,349,312],{"class":256},[239,351,320],{"class":260},[239,353,355,357,360,362,364,366,368,370,372,374,376,379,381],{"class":241,"line":354},5,[239,356,284],{"class":283},[239,358,359],{"class":260}," minimize ",[239,361,290],{"class":256},[239,363,261],{"class":293},[239,365,296],{"class":256},[239,367,299],{"class":283},[239,369,303],{"class":302},[239,371,306],{"class":256},[239,373,309],{"class":260},[239,375,312],{"class":256},[239,377,378],{"class":273},"minimize",[239,380,312],{"class":256},[239,382,320],{"class":260},[239,384,386,388,391,393,395,398,402,404,407,410,413,415,417,419,421,423,426,428],{"class":241,"line":385},6,[239,387,284],{"class":283},[239,389,390],{"class":260}," setAttributes ",[239,392,290],{"class":256},[239,394,261],{"class":293},[239,396,397],{"class":256},"\u003C(...",[239,399,401],{"class":400},"sHdIc","args",[239,403,228],{"class":256},[239,405,406],{"class":302}," any",[239,408,409],{"class":260},"[]",[239,411,412],{"class":256},")",[239,414,299],{"class":283},[239,416,303],{"class":302},[239,418,306],{"class":256},[239,420,309],{"class":260},[239,422,312],{"class":256},[239,424,425],{"class":273},"setAttributes",[239,427,312],{"class":256},[239,429,320],{"class":260},[230,431,433],{"className":232,"code":432,"language":234,"meta":235,"style":235},"// ✅ v2 — one destructure, fully typed\nconst { toggle, maximize, minimize, setAttributes } = useTawk()\n",[63,434,435,440],{"__ignoreMap":235},[239,436,437],{"class":241,"line":242},[239,438,439],{"class":245},"// ✅ v2 — one destructure, fully typed\n",[239,441,442,444,446,449,452,455,457,460,462,464,467,470,473],{"class":241,"line":249},[239,443,284],{"class":283},[239,445,257],{"class":256},[239,447,448],{"class":260}," toggle",[239,450,451],{"class":256},",",[239,453,454],{"class":260}," maximize",[239,456,451],{"class":256},[239,458,459],{"class":260}," minimize",[239,461,451],{"class":256},[239,463,390],{"class":260},[239,465,466],{"class":256},"}",[239,468,469],{"class":256}," =",[239,471,472],{"class":293}," useTawk",[239,474,475],{"class":260},"()\n",[212,477,479],{"id":478},"_2-update-component-code","2. Update Component Code",[59,481,482],{},[83,483,484],{},"Before (v1):",[230,486,490],{"className":487,"code":488,"filename":489,"language":274,"meta":235,"style":235},"language-vue shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Cscript setup lang=\"ts\">\nimport { inject } from 'vue'\n\nconst toggle = inject\u003C() => void>('toggle')\n\nconst handleChat = () => {\n  if (toggle) toggle()\n}\n\u003C/script>\n\n\u003Ctemplate>\n  \u003Cbutton @click=\"handleChat\">Chat with us\u003C/button>\n\u003C/template>\n","components/ChatControl.vue",[63,491,492,519,537,543,571,575,592,610,616,626,631,641,676],{"__ignoreMap":235},[239,493,494,497,501,504,507,509,512,514,516],{"class":241,"line":242},[239,495,496],{"class":256},"\u003C",[239,498,500],{"class":499},"swJcz","script",[239,502,503],{"class":283}," setup",[239,505,506],{"class":283}," lang",[239,508,290],{"class":256},[239,510,511],{"class":256},"\"",[239,513,234],{"class":273},[239,515,511],{"class":256},[239,517,518],{"class":256},">\n",[239,520,521,523,525,527,529,531,533,535],{"class":241,"line":249},[239,522,253],{"class":252},[239,524,257],{"class":256},[239,526,261],{"class":260},[239,528,264],{"class":256},[239,530,267],{"class":252},[239,532,270],{"class":256},[239,534,274],{"class":273},[239,536,277],{"class":256},[239,538,539],{"class":241,"line":280},[239,540,542],{"emptyLinePlaceholder":541},true,"\n",[239,544,545,547,549,551,553,555,557,559,561,563,565,567,569],{"class":241,"line":323},[239,546,284],{"class":283},[239,548,287],{"class":260},[239,550,290],{"class":256},[239,552,261],{"class":293},[239,554,296],{"class":256},[239,556,299],{"class":283},[239,558,303],{"class":302},[239,560,306],{"class":256},[239,562,309],{"class":260},[239,564,312],{"class":256},[239,566,315],{"class":273},[239,568,312],{"class":256},[239,570,320],{"class":260},[239,572,573],{"class":241,"line":354},[239,574,542],{"emptyLinePlaceholder":541},[239,576,577,579,582,584,587,589],{"class":241,"line":385},[239,578,284],{"class":283},[239,580,581],{"class":260}," handleChat ",[239,583,290],{"class":256},[239,585,586],{"class":256}," ()",[239,588,299],{"class":283},[239,590,591],{"class":256}," {\n",[239,593,595,598,601,603,606,608],{"class":241,"line":594},7,[239,596,597],{"class":252},"  if",[239,599,600],{"class":499}," (",[239,602,315],{"class":260},[239,604,605],{"class":499},") ",[239,607,315],{"class":293},[239,609,475],{"class":499},[239,611,613],{"class":241,"line":612},8,[239,614,615],{"class":256},"}\n",[239,617,619,622,624],{"class":241,"line":618},9,[239,620,621],{"class":256},"\u003C/",[239,623,500],{"class":499},[239,625,518],{"class":256},[239,627,629],{"class":241,"line":628},10,[239,630,542],{"emptyLinePlaceholder":541},[239,632,634,636,639],{"class":241,"line":633},11,[239,635,496],{"class":256},[239,637,638],{"class":499},"template",[239,640,518],{"class":256},[239,642,644,647,650,653,656,658,660,663,665,667,670,672,674],{"class":241,"line":643},12,[239,645,646],{"class":256},"  \u003C",[239,648,649],{"class":499},"button",[239,651,652],{"class":256}," @",[239,654,655],{"class":283},"click",[239,657,290],{"class":256},[239,659,511],{"class":256},[239,661,662],{"class":260},"handleChat",[239,664,511],{"class":256},[239,666,306],{"class":256},[239,668,669],{"class":260},"Chat with us",[239,671,621],{"class":256},[239,673,649],{"class":499},[239,675,518],{"class":256},[239,677,679,681,683],{"class":241,"line":678},13,[239,680,621],{"class":256},[239,682,638],{"class":499},[239,684,518],{"class":256},[59,686,687],{},[83,688,689],{},"After (v2):",[230,691,693],{"className":487,"code":692,"filename":489,"language":274,"meta":235,"style":235},"\u003Cscript setup lang=\"ts\">\nconst { toggle } = useTawk()\n\u003C/script>\n\n\u003Ctemplate>\n  \u003Cbutton @click=\"toggle()\">Chat with us\u003C/button>\n\u003C/template>\n",[63,694,695,715,731,739,743,751,782],{"__ignoreMap":235},[239,696,697,699,701,703,705,707,709,711,713],{"class":241,"line":242},[239,698,496],{"class":256},[239,700,500],{"class":499},[239,702,503],{"class":283},[239,704,506],{"class":283},[239,706,290],{"class":256},[239,708,511],{"class":256},[239,710,234],{"class":273},[239,712,511],{"class":256},[239,714,518],{"class":256},[239,716,717,719,721,723,725,727,729],{"class":241,"line":249},[239,718,284],{"class":283},[239,720,257],{"class":256},[239,722,287],{"class":260},[239,724,466],{"class":256},[239,726,469],{"class":256},[239,728,472],{"class":293},[239,730,475],{"class":260},[239,732,733,735,737],{"class":241,"line":280},[239,734,621],{"class":256},[239,736,500],{"class":499},[239,738,518],{"class":256},[239,740,741],{"class":241,"line":323},[239,742,542],{"emptyLinePlaceholder":541},[239,744,745,747,749],{"class":241,"line":354},[239,746,496],{"class":256},[239,748,638],{"class":499},[239,750,518],{"class":256},[239,752,753,755,757,759,761,763,765,767,770,772,774,776,778,780],{"class":241,"line":385},[239,754,646],{"class":256},[239,756,649],{"class":499},[239,758,652],{"class":256},[239,760,655],{"class":283},[239,762,290],{"class":256},[239,764,511],{"class":256},[239,766,315],{"class":293},[239,768,769],{"class":256},"()",[239,771,511],{"class":256},[239,773,306],{"class":256},[239,775,669],{"class":260},[239,777,621],{"class":256},[239,779,649],{"class":499},[239,781,518],{"class":256},[239,783,784,786,788],{"class":241,"line":594},[239,785,621],{"class":256},[239,787,638],{"class":499},[239,789,518],{"class":256},[212,791,793],{"id":792},"_3-identify-visitors-update-the-pattern","3. Identify Visitors — Update the Pattern",[59,795,796],{},[83,797,484],{},[230,799,802],{"className":487,"code":800,"filename":801,"language":274,"meta":235,"style":235},"\u003Cscript setup lang=\"ts\">\nimport { inject, onMounted } from 'vue'\n\nconst setAttributes = inject\u003C(attrs: object, cb?: () => void) => void>('setAttributes')\n\nonMounted(() => {\n  if (setAttributes) {\n    setAttributes({ name: 'John Doe', email: 'john@example.com' })\n  }\n})\n\u003C/script>\n","app.vue",[63,803,804,824,847,851,904,908,921,934,974,979,985],{"__ignoreMap":235},[239,805,806,808,810,812,814,816,818,820,822],{"class":241,"line":242},[239,807,496],{"class":256},[239,809,500],{"class":499},[239,811,503],{"class":283},[239,813,506],{"class":283},[239,815,290],{"class":256},[239,817,511],{"class":256},[239,819,234],{"class":273},[239,821,511],{"class":256},[239,823,518],{"class":256},[239,825,826,828,830,832,834,837,839,841,843,845],{"class":241,"line":249},[239,827,253],{"class":252},[239,829,257],{"class":256},[239,831,261],{"class":260},[239,833,451],{"class":256},[239,835,836],{"class":260}," onMounted",[239,838,264],{"class":256},[239,840,267],{"class":252},[239,842,270],{"class":256},[239,844,274],{"class":273},[239,846,277],{"class":256},[239,848,849],{"class":241,"line":280},[239,850,542],{"emptyLinePlaceholder":541},[239,852,853,855,857,859,861,864,867,869,872,874,877,880,882,884,886,888,890,892,894,896,898,900,902],{"class":241,"line":323},[239,854,284],{"class":283},[239,856,390],{"class":260},[239,858,290],{"class":256},[239,860,261],{"class":293},[239,862,863],{"class":256},"\u003C(",[239,865,866],{"class":400},"attrs",[239,868,228],{"class":256},[239,870,871],{"class":302}," object",[239,873,451],{"class":256},[239,875,876],{"class":293}," cb",[239,878,879],{"class":256},"?:",[239,881,586],{"class":256},[239,883,299],{"class":283},[239,885,303],{"class":302},[239,887,412],{"class":256},[239,889,299],{"class":283},[239,891,303],{"class":302},[239,893,306],{"class":256},[239,895,309],{"class":260},[239,897,312],{"class":256},[239,899,425],{"class":273},[239,901,312],{"class":256},[239,903,320],{"class":260},[239,905,906],{"class":241,"line":354},[239,907,542],{"emptyLinePlaceholder":541},[239,909,910,913,915,917,919],{"class":241,"line":385},[239,911,912],{"class":293},"onMounted",[239,914,309],{"class":260},[239,916,769],{"class":256},[239,918,299],{"class":283},[239,920,591],{"class":256},[239,922,923,925,927,929,931],{"class":241,"line":594},[239,924,597],{"class":252},[239,926,600],{"class":499},[239,928,425],{"class":260},[239,930,605],{"class":499},[239,932,933],{"class":256},"{\n",[239,935,936,939,941,944,947,949,951,954,956,958,961,963,965,968,970,972],{"class":241,"line":612},[239,937,938],{"class":293},"    setAttributes",[239,940,309],{"class":499},[239,942,943],{"class":256},"{",[239,945,946],{"class":499}," name",[239,948,228],{"class":256},[239,950,270],{"class":256},[239,952,953],{"class":273},"John Doe",[239,955,312],{"class":256},[239,957,451],{"class":256},[239,959,960],{"class":499}," email",[239,962,228],{"class":256},[239,964,270],{"class":256},[239,966,967],{"class":273},"john@example.com",[239,969,312],{"class":256},[239,971,264],{"class":256},[239,973,320],{"class":499},[239,975,976],{"class":241,"line":618},[239,977,978],{"class":256},"  }\n",[239,980,981,983],{"class":241,"line":628},[239,982,466],{"class":256},[239,984,320],{"class":260},[239,986,987,989,991],{"class":241,"line":633},[239,988,621],{"class":256},[239,990,500],{"class":499},[239,992,518],{"class":256},[59,994,995],{},[83,996,689],{},[230,998,1000],{"className":487,"code":999,"filename":801,"language":274,"meta":235,"style":235},"\u003Cscript setup lang=\"ts\">\nconst { visitor, setAttributes } = useTawk()\n\nonMounted(() => {\n  visitor({ name: 'John Doe', email: 'john@example.com' })\n  setAttributes({ plan: 'Pro' })\n})\n\u003C/script>\n",[63,1001,1002,1022,1043,1047,1059,1094,1119,1125],{"__ignoreMap":235},[239,1003,1004,1006,1008,1010,1012,1014,1016,1018,1020],{"class":241,"line":242},[239,1005,496],{"class":256},[239,1007,500],{"class":499},[239,1009,503],{"class":283},[239,1011,506],{"class":283},[239,1013,290],{"class":256},[239,1015,511],{"class":256},[239,1017,234],{"class":273},[239,1019,511],{"class":256},[239,1021,518],{"class":256},[239,1023,1024,1026,1028,1031,1033,1035,1037,1039,1041],{"class":241,"line":249},[239,1025,284],{"class":283},[239,1027,257],{"class":256},[239,1029,1030],{"class":260}," visitor",[239,1032,451],{"class":256},[239,1034,390],{"class":260},[239,1036,466],{"class":256},[239,1038,469],{"class":256},[239,1040,472],{"class":293},[239,1042,475],{"class":260},[239,1044,1045],{"class":241,"line":280},[239,1046,542],{"emptyLinePlaceholder":541},[239,1048,1049,1051,1053,1055,1057],{"class":241,"line":323},[239,1050,912],{"class":293},[239,1052,309],{"class":260},[239,1054,769],{"class":256},[239,1056,299],{"class":283},[239,1058,591],{"class":256},[239,1060,1061,1064,1066,1068,1070,1072,1074,1076,1078,1080,1082,1084,1086,1088,1090,1092],{"class":241,"line":354},[239,1062,1063],{"class":293},"  visitor",[239,1065,309],{"class":499},[239,1067,943],{"class":256},[239,1069,946],{"class":499},[239,1071,228],{"class":256},[239,1073,270],{"class":256},[239,1075,953],{"class":273},[239,1077,312],{"class":256},[239,1079,451],{"class":256},[239,1081,960],{"class":499},[239,1083,228],{"class":256},[239,1085,270],{"class":256},[239,1087,967],{"class":273},[239,1089,312],{"class":256},[239,1091,264],{"class":256},[239,1093,320],{"class":499},[239,1095,1096,1099,1101,1103,1106,1108,1110,1113,1115,1117],{"class":241,"line":385},[239,1097,1098],{"class":293},"  setAttributes",[239,1100,309],{"class":499},[239,1102,943],{"class":256},[239,1104,1105],{"class":499}," plan",[239,1107,228],{"class":256},[239,1109,270],{"class":256},[239,1111,1112],{"class":273},"Pro",[239,1114,312],{"class":256},[239,1116,264],{"class":256},[239,1118,320],{"class":499},[239,1120,1121,1123],{"class":241,"line":594},[239,1122,466],{"class":256},[239,1124,320],{"class":260},[239,1126,1127,1129,1131],{"class":241,"line":612},[239,1128,621],{"class":256},[239,1130,500],{"class":499},[239,1132,518],{"class":256},[212,1134,1136],{"id":1135},"_4-use-reactive-state-new-in-v2","4. Use Reactive State (New in v2)",[59,1138,1139],{},"v1 had no reactive state — you had to track widget state yourself. v2 provides it out of the box:",[230,1141,1143],{"className":487,"code":1142,"language":274,"meta":235,"style":235},"\u003Cscript setup lang=\"ts\">\n// ✅ v2 — reactive refs, no manual tracking needed\nconst { isHidden, unreadCount, status, showWidget } = useTawk()\n\u003C/script>\n\n\u003Ctemplate>\n  \u003Cbutton v-if=\"isHidden\" @click=\"showWidget()\">\n    Open Chat\n    \u003Cspan v-if=\"unreadCount > 0\">({{ unreadCount }})\u003C/span>\n  \u003C/button>\n  \u003Cspan>Agent status: {{ status }}\u003C/span>\n\u003C/template>\n",[63,1144,1145,1165,1170,1202,1210,1214,1222,1256,1261,1306,1315,1338],{"__ignoreMap":235},[239,1146,1147,1149,1151,1153,1155,1157,1159,1161,1163],{"class":241,"line":242},[239,1148,496],{"class":256},[239,1150,500],{"class":499},[239,1152,503],{"class":283},[239,1154,506],{"class":283},[239,1156,290],{"class":256},[239,1158,511],{"class":256},[239,1160,234],{"class":273},[239,1162,511],{"class":256},[239,1164,518],{"class":256},[239,1166,1167],{"class":241,"line":249},[239,1168,1169],{"class":245},"// ✅ v2 — reactive refs, no manual tracking needed\n",[239,1171,1172,1174,1176,1179,1181,1184,1186,1189,1191,1194,1196,1198,1200],{"class":241,"line":280},[239,1173,284],{"class":283},[239,1175,257],{"class":256},[239,1177,1178],{"class":260}," isHidden",[239,1180,451],{"class":256},[239,1182,1183],{"class":260}," unreadCount",[239,1185,451],{"class":256},[239,1187,1188],{"class":260}," status",[239,1190,451],{"class":256},[239,1192,1193],{"class":260}," showWidget ",[239,1195,466],{"class":256},[239,1197,469],{"class":256},[239,1199,472],{"class":293},[239,1201,475],{"class":260},[239,1203,1204,1206,1208],{"class":241,"line":323},[239,1205,621],{"class":256},[239,1207,500],{"class":499},[239,1209,518],{"class":256},[239,1211,1212],{"class":241,"line":354},[239,1213,542],{"emptyLinePlaceholder":541},[239,1215,1216,1218,1220],{"class":241,"line":385},[239,1217,496],{"class":256},[239,1219,638],{"class":499},[239,1221,518],{"class":256},[239,1223,1224,1226,1228,1231,1233,1235,1237,1239,1241,1243,1245,1247,1250,1252,1254],{"class":241,"line":594},[239,1225,646],{"class":256},[239,1227,649],{"class":499},[239,1229,1230],{"class":252}," v-if",[239,1232,290],{"class":256},[239,1234,511],{"class":256},[239,1236,148],{"class":260},[239,1238,511],{"class":256},[239,1240,652],{"class":256},[239,1242,655],{"class":283},[239,1244,290],{"class":256},[239,1246,511],{"class":256},[239,1248,1249],{"class":293},"showWidget",[239,1251,769],{"class":256},[239,1253,511],{"class":256},[239,1255,518],{"class":256},[239,1257,1258],{"class":241,"line":612},[239,1259,1260],{"class":260},"    Open Chat\n",[239,1262,1263,1266,1268,1270,1272,1274,1276,1279,1283,1285,1287,1289,1292,1295,1298,1300,1302,1304],{"class":241,"line":618},[239,1264,1265],{"class":256},"    \u003C",[239,1267,239],{"class":499},[239,1269,1230],{"class":252},[239,1271,290],{"class":256},[239,1273,511],{"class":256},[239,1275,161],{"class":260},[239,1277,1278],{"class":256}," > ",[239,1280,1282],{"class":1281},"sbssI","0",[239,1284,511],{"class":256},[239,1286,306],{"class":256},[239,1288,309],{"class":260},[239,1290,1291],{"class":256},"{{",[239,1293,1294],{"class":260}," unreadCount ",[239,1296,1297],{"class":256},"}}",[239,1299,412],{"class":260},[239,1301,621],{"class":256},[239,1303,239],{"class":499},[239,1305,518],{"class":256},[239,1307,1308,1311,1313],{"class":241,"line":628},[239,1309,1310],{"class":256},"  \u003C/",[239,1312,649],{"class":499},[239,1314,518],{"class":256},[239,1316,1317,1319,1321,1323,1326,1328,1331,1334,1336],{"class":241,"line":633},[239,1318,646],{"class":256},[239,1320,239],{"class":499},[239,1322,306],{"class":256},[239,1324,1325],{"class":260},"Agent status: ",[239,1327,1291],{"class":256},[239,1329,1330],{"class":260}," status ",[239,1332,1333],{"class":256},"}}\u003C/",[239,1335,239],{"class":499},[239,1337,518],{"class":256},[239,1339,1340,1342,1344],{"class":241,"line":643},[239,1341,621],{"class":256},[239,1343,638],{"class":499},[239,1345,518],{"class":256},[212,1347,1349],{"id":1348},"_5-use-event-listeners-new-in-v2","5. Use Event Listeners (New in v2)",[230,1351,1353],{"className":232,"code":1352,"language":234,"meta":235,"style":235},"// ✅ v2 — subscribe to any event with auto-cleanup\nconst { onLoad, onChatStarted, onStatusChange } = useTawk()\n\nonMounted(() => {\n  const cleanups = [\n    onLoad(() => console.log('Loaded')),\n    onChatStarted(() => console.log('Chat started')),\n    onStatusChange((status) => console.log('Status:', status))\n  ]\n\n  onUnmounted(() => cleanups.forEach(fn => fn()))\n})\n",[63,1354,1355,1360,1387,1391,1403,1416,1451,1481,1518,1523,1527,1558],{"__ignoreMap":235},[239,1356,1357],{"class":241,"line":242},[239,1358,1359],{"class":245},"// ✅ v2 — subscribe to any event with auto-cleanup\n",[239,1361,1362,1364,1366,1369,1371,1374,1376,1379,1381,1383,1385],{"class":241,"line":249},[239,1363,284],{"class":283},[239,1365,257],{"class":256},[239,1367,1368],{"class":260}," onLoad",[239,1370,451],{"class":256},[239,1372,1373],{"class":260}," onChatStarted",[239,1375,451],{"class":256},[239,1377,1378],{"class":260}," onStatusChange ",[239,1380,466],{"class":256},[239,1382,469],{"class":256},[239,1384,472],{"class":293},[239,1386,475],{"class":260},[239,1388,1389],{"class":241,"line":280},[239,1390,542],{"emptyLinePlaceholder":541},[239,1392,1393,1395,1397,1399,1401],{"class":241,"line":323},[239,1394,912],{"class":293},[239,1396,309],{"class":260},[239,1398,769],{"class":256},[239,1400,299],{"class":283},[239,1402,591],{"class":256},[239,1404,1405,1408,1411,1413],{"class":241,"line":354},[239,1406,1407],{"class":283},"  const",[239,1409,1410],{"class":260}," cleanups",[239,1412,469],{"class":256},[239,1414,1415],{"class":499}," [\n",[239,1417,1418,1421,1423,1425,1427,1430,1433,1436,1438,1440,1443,1445,1448],{"class":241,"line":385},[239,1419,1420],{"class":293},"    onLoad",[239,1422,309],{"class":499},[239,1424,769],{"class":256},[239,1426,299],{"class":283},[239,1428,1429],{"class":260}," console",[239,1431,1432],{"class":256},".",[239,1434,1435],{"class":293},"log",[239,1437,309],{"class":499},[239,1439,312],{"class":256},[239,1441,1442],{"class":273},"Loaded",[239,1444,312],{"class":256},[239,1446,1447],{"class":499},"))",[239,1449,1450],{"class":256},",\n",[239,1452,1453,1456,1458,1460,1462,1464,1466,1468,1470,1472,1475,1477,1479],{"class":241,"line":594},[239,1454,1455],{"class":293},"    onChatStarted",[239,1457,309],{"class":499},[239,1459,769],{"class":256},[239,1461,299],{"class":283},[239,1463,1429],{"class":260},[239,1465,1432],{"class":256},[239,1467,1435],{"class":293},[239,1469,309],{"class":499},[239,1471,312],{"class":256},[239,1473,1474],{"class":273},"Chat started",[239,1476,312],{"class":256},[239,1478,1447],{"class":499},[239,1480,1450],{"class":256},[239,1482,1483,1486,1488,1490,1492,1494,1496,1498,1500,1502,1504,1506,1509,1511,1513,1515],{"class":241,"line":612},[239,1484,1485],{"class":293},"    onStatusChange",[239,1487,309],{"class":499},[239,1489,309],{"class":256},[239,1491,158],{"class":400},[239,1493,412],{"class":256},[239,1495,299],{"class":283},[239,1497,1429],{"class":260},[239,1499,1432],{"class":256},[239,1501,1435],{"class":293},[239,1503,309],{"class":499},[239,1505,312],{"class":256},[239,1507,1508],{"class":273},"Status:",[239,1510,312],{"class":256},[239,1512,451],{"class":256},[239,1514,1188],{"class":260},[239,1516,1517],{"class":499},"))\n",[239,1519,1520],{"class":241,"line":618},[239,1521,1522],{"class":499},"  ]\n",[239,1524,1525],{"class":241,"line":628},[239,1526,542],{"emptyLinePlaceholder":541},[239,1528,1529,1532,1534,1536,1538,1540,1542,1545,1547,1550,1552,1555],{"class":241,"line":633},[239,1530,1531],{"class":293},"  onUnmounted",[239,1533,309],{"class":499},[239,1535,769],{"class":256},[239,1537,299],{"class":283},[239,1539,1410],{"class":260},[239,1541,1432],{"class":256},[239,1543,1544],{"class":293},"forEach",[239,1546,309],{"class":499},[239,1548,1549],{"class":400},"fn",[239,1551,299],{"class":283},[239,1553,1554],{"class":293}," fn",[239,1556,1557],{"class":499},"()))\n",[239,1559,1560,1562],{"class":241,"line":643},[239,1561,466],{"class":256},[239,1563,320],{"class":260},[92,1565,1567],{"id":1566},"removed-injection-keys","Removed Injection Keys",[59,1569,1570,1571,1573,1574,1576],{},"The following ",[63,1572,69],{}," keys no longer exist. Use ",[63,1575,73],{}," instead:",[97,1578,1579,1589],{},[100,1580,1581],{},[103,1582,1583,1586],{},[106,1584,1585],{"align":108},"v1 inject key",[106,1587,1588],{"align":108},"v2 equivalent",[117,1590,1591,1601,1613,1625,1637,1649,1661,1673],{},[103,1592,1593,1597],{},[122,1594,1595],{"align":108},[63,1596,129],{},[122,1598,1599],{"align":108},[63,1600,134],{},[103,1602,1603,1608],{},[122,1604,1605],{"align":108},[63,1606,1607],{},"inject('maximize')",[122,1609,1610],{"align":108},[63,1611,1612],{},"useTawk().maximize",[103,1614,1615,1620],{},[122,1616,1617],{"align":108},[63,1618,1619],{},"inject('minimize')",[122,1621,1622],{"align":108},[63,1623,1624],{},"useTawk().minimize",[103,1626,1627,1632],{},[122,1628,1629],{"align":108},[63,1630,1631],{},"inject('hideWidget')",[122,1633,1634],{"align":108},[63,1635,1636],{},"useTawk().hideWidget",[103,1638,1639,1644],{},[122,1640,1641],{"align":108},[63,1642,1643],{},"inject('showWidget')",[122,1645,1646],{"align":108},[63,1647,1648],{},"useTawk().showWidget",[103,1650,1651,1656],{},[122,1652,1653],{"align":108},[63,1654,1655],{},"inject('setAttributes')",[122,1657,1658],{"align":108},[63,1659,1660],{},"useTawk().setAttributes",[103,1662,1663,1668],{},[122,1664,1665],{"align":108},[63,1666,1667],{},"inject('addTags')",[122,1669,1670],{"align":108},[63,1671,1672],{},"useTawk().addTags",[103,1674,1675,1680],{},[122,1676,1677],{"align":108},[63,1678,1679],{},"inject('endChat')",[122,1681,1682],{"align":108},[63,1683,1684],{},"useTawk().endChat",[1686,1687,1688],"style",{},"html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":235,"searchDepth":242,"depth":249,"links":1690},[1691,1692,1700],{"id":94,"depth":249,"text":95},{"id":209,"depth":249,"text":210,"children":1693},[1694,1696,1697,1698,1699],{"id":214,"depth":280,"text":1695},"1. Remove inject calls",{"id":478,"depth":280,"text":479},{"id":792,"depth":280,"text":793},{"id":1135,"depth":280,"text":1136},{"id":1348,"depth":280,"text":1349},{"id":1566,"depth":249,"text":1567},"Upgrade from nuxt-tawk-to v1 to v2. The inject/provide API is gone — use the new useTawk() composable instead.","md",null,{},{"icon":26},{"title":1707,"description":1708},"Migration Guide — Upgrade nuxt-tawk-to v1 to v2","Migrate from nuxt-tawk-to v1 to v2. Replace inject/provide with the new useTawk() composable. Get reactive state, typed event listeners, and a cleaner API.","waWDH5xQwpz9PDdywsQWMF2GMvmry2Y6WbEeMX5Hm5E",[1711,1713],{"title":18,"path":19,"stem":20,"description":1712,"icon":21,"children":-1},"Use the auto-imported useTawk() composable to control the Tawk.to widget with reactive state, actions, and event listeners.",{"title":34,"path":35,"stem":36,"description":1714,"icon":37,"children":-1},"Subscribe to any Tawk.to event in Nuxt using useTawk(). Every listener returns a cleanup function to avoid memory leaks.",1776236415584]