[{"data":1,"prerenderedAt":731},["ShallowReactive",2],{"navigation_docs":3,"-utilities-composables-use-service-permission":385,"-utilities-composables-use-service-permission-surround":726},[4,110,322],{"title":5,"path":6,"stem":7,"children":8,"page":34},"Documentation","\u002Fdocumentation","1.documentation",[9,35,56,89],{"title":10,"path":11,"stem":12,"children":13,"page":34},"Getting Started","\u002Fdocumentation\u002Fgetting-started","1.documentation\u002F1.getting-started",[14,18,22,26,30],{"title":15,"path":16,"stem":17},"Installation","\u002Fdocumentation\u002Fgetting-started\u002Finstallation","1.documentation\u002F1.getting-started\u002F1.installation",{"title":19,"path":20,"stem":21},"Agents","\u002Fdocumentation\u002Fgetting-started\u002Fagents","1.documentation\u002F1.getting-started\u002F2.agents",{"title":23,"path":24,"stem":25},"Migration","\u002Fdocumentation\u002Fgetting-started\u002Fmigration","1.documentation\u002F1.getting-started\u002F3.migration",{"title":27,"path":28,"stem":29},"Contributing","\u002Fdocumentation\u002Fgetting-started\u002Fcontributing","1.documentation\u002F1.getting-started\u002F4.contributing",{"title":31,"path":32,"stem":33},"What's new","\u002Fdocumentation\u002Fgetting-started\u002Fwhats-new","1.documentation\u002F1.getting-started\u002F5.whats-new",false,{"title":36,"path":37,"stem":38,"children":39,"page":34},"Guidelines","\u002Fdocumentation\u002Fguidelines","1.documentation\u002F2.guidelines",[40,44,48,52],{"title":41,"path":42,"stem":43},"Design Principles","\u002Fdocumentation\u002Fguidelines\u002Fdesign-principles","1.documentation\u002F2.guidelines\u002F1.design-principles",{"title":45,"path":46,"stem":47},"Accessibility","\u002Fdocumentation\u002Fguidelines\u002Faccessibility","1.documentation\u002F2.guidelines\u002F2.accessibility",{"title":49,"path":50,"stem":51},"Interactions","\u002Fdocumentation\u002Fguidelines\u002Finteractions","1.documentation\u002F2.guidelines\u002F3.interactions",{"title":53,"path":54,"stem":55},"Components","\u002Fdocumentation\u002Fguidelines\u002Fcomponents","1.documentation\u002F2.guidelines\u002F4.components",{"title":57,"path":58,"stem":59,"children":60,"page":34},"Design","\u002Fdocumentation\u002Fdesign","1.documentation\u002F3.design",[61,65,69,73,77,81,85],{"title":62,"path":63,"stem":64},"Tokens","\u002Fdocumentation\u002Fdesign\u002Ftokens","1.documentation\u002F3.design\u002F1.tokens",{"title":66,"path":67,"stem":68},"Color Palette","\u002Fdocumentation\u002Fdesign\u002Fcolor-palette","1.documentation\u002F3.design\u002F2.color-palette",{"title":70,"path":71,"stem":72},"Elevation","\u002Fdocumentation\u002Fdesign\u002Felevation","1.documentation\u002F3.design\u002F3.elevation",{"title":74,"path":75,"stem":76},"Spacing","\u002Fdocumentation\u002Fdesign\u002Fspacing","1.documentation\u002F3.design\u002F4.spacing",{"title":78,"path":79,"stem":80},"Border Radius","\u002Fdocumentation\u002Fdesign\u002Fborder-radius","1.documentation\u002F3.design\u002F5.border-radius",{"title":82,"path":83,"stem":84},"Typography","\u002Fdocumentation\u002Fdesign\u002Ftypography","1.documentation\u002F3.design\u002F6.typography",{"title":86,"path":87,"stem":88},"Icons","\u002Fdocumentation\u002Fdesign\u002Ficons","1.documentation\u002F3.design\u002F7.icons",{"title":90,"path":91,"stem":92,"children":93,"page":34},"Content","\u002Fdocumentation\u002Fcontent","1.documentation\u002F4.content",[94,98,102,106],{"title":95,"path":96,"stem":97},"Wording","\u002Fdocumentation\u002Fcontent\u002Fwording","1.documentation\u002F4.content\u002F1.wording",{"title":99,"path":100,"stem":101},"Messaging","\u002Fdocumentation\u002Fcontent\u002Fmessaging","1.documentation\u002F4.content\u002F2.messaging",{"title":103,"path":104,"stem":105},"Glossary","\u002Fdocumentation\u002Fcontent\u002Fglossary","1.documentation\u002F4.content\u002F3.glossary",{"title":107,"path":108,"stem":109},"Artificial Intelligence","\u002Fdocumentation\u002Fcontent\u002Fartificial-intelligence","1.documentation\u002F4.content\u002F4.artificial-intelligence",{"title":53,"path":111,"stem":112,"children":113,"page":34},"\u002Fcomponents","2.components",[114,118,122,126,130,134,138,142,146,150,154,158,162,166,170,174,178,182,186,190,194,198,202,206,210,214,218,222,226,230,234,238,242,246,250,254,258,262,266,270,274,278,282,286,290,294,298,302,306,310,314,318],{"title":115,"path":116,"stem":117},"Action Menu","\u002Fcomponents\u002Faction-menu","2.components\u002Faction-menu",{"title":119,"path":120,"stem":121},"App","\u002Fcomponents\u002Fapp","2.components\u002Fapp",{"title":123,"path":124,"stem":125},"Avatar","\u002Fcomponents\u002Favatar","2.components\u002Favatar",{"title":127,"path":128,"stem":129},"Badge","\u002Fcomponents\u002Fbadge","2.components\u002Fbadge",{"title":131,"path":132,"stem":133},"Banner","\u002Fcomponents\u002Fbanner","2.components\u002Fbanner",{"title":135,"path":136,"stem":137},"Breadcrumb","\u002Fcomponents\u002Fbreadcrumb","2.components\u002Fbreadcrumb",{"title":139,"path":140,"stem":141},"Button","\u002Fcomponents\u002Fbutton","2.components\u002Fbutton",{"title":143,"path":144,"stem":145},"Card","\u002Fcomponents\u002Fcard","2.components\u002Fcard",{"title":147,"path":148,"stem":149},"Chart","\u002Fcomponents\u002Fchart","2.components\u002Fchart",{"title":151,"path":152,"stem":153},"Checkbox","\u002Fcomponents\u002Fcheckbox","2.components\u002Fcheckbox",{"title":155,"path":156,"stem":157},"Collapsible","\u002Fcomponents\u002Fcollapsible","2.components\u002Fcollapsible",{"title":159,"path":160,"stem":161},"Colorpicker","\u002Fcomponents\u002Fcolorpicker","2.components\u002Fcolorpicker",{"title":163,"path":164,"stem":165},"Container","\u002Fcomponents\u002Fcontainer","2.components\u002Fcontainer",{"title":167,"path":168,"stem":169},"Data Table","\u002Fcomponents\u002Fdata-table","2.components\u002Fdata-table",{"title":171,"path":172,"stem":173},"Datepicker","\u002Fcomponents\u002Fdatepicker","2.components\u002Fdatepicker",{"title":175,"path":176,"stem":177},"Divider","\u002Fcomponents\u002Fdivider","2.components\u002Fdivider",{"title":179,"path":180,"stem":181},"Drawer","\u002Fcomponents\u002Fdrawer","2.components\u002Fdrawer",{"title":183,"path":184,"stem":185},"Email Field","\u002Fcomponents\u002Femail-field","2.components\u002Femail-field",{"title":187,"path":188,"stem":189},"Empty State","\u002Fcomponents\u002Fempty-state","2.components\u002Fempty-state",{"title":191,"path":192,"stem":193},"Entity Data Table","\u002Fcomponents\u002Fentity-data-table","2.components\u002Fentity-data-table",{"title":195,"path":196,"stem":197},"Entity Select","\u002Fcomponents\u002Fentity-select","2.components\u002Fentity-select",{"title":199,"path":200,"stem":201},"Floating UI","\u002Fcomponents\u002Ffloating-ui","2.components\u002Ffloating-ui",{"title":203,"path":204,"stem":205},"Help Text","\u002Fcomponents\u002Fhelp-text","2.components\u002Fhelp-text",{"title":207,"path":208,"stem":209},"Icon","\u002Fcomponents\u002Ficon","2.components\u002Ficon",{"title":211,"path":212,"stem":213},"Link","\u002Fcomponents\u002Flink","2.components\u002Flink",{"title":215,"path":216,"stem":217},"Loader","\u002Fcomponents\u002Floader","2.components\u002Floader",{"title":219,"path":220,"stem":221},"Modal","\u002Fcomponents\u002Fmodal","2.components\u002Fmodal",{"title":223,"path":224,"stem":225},"Number Field","\u002Fcomponents\u002Fnumber-field","2.components\u002Fnumber-field",{"title":227,"path":228,"stem":229},"Pagination","\u002Fcomponents\u002Fpagination","2.components\u002Fpagination",{"title":231,"path":232,"stem":233},"Password Field","\u002Fcomponents\u002Fpassword-field","2.components\u002Fpassword-field",{"title":235,"path":236,"stem":237},"Popover","\u002Fcomponents\u002Fpopover","2.components\u002Fpopover",{"title":239,"path":240,"stem":241},"Progress Bar","\u002Fcomponents\u002Fprogress-bar","2.components\u002Fprogress-bar",{"title":243,"path":244,"stem":245},"Promo Badge","\u002Fcomponents\u002Fpromo-badge","2.components\u002Fpromo-badge",{"title":247,"path":248,"stem":249},"Radio Group","\u002Fcomponents\u002Fradio-group","2.components\u002Fradio-group",{"title":251,"path":252,"stem":253},"Search","\u002Fcomponents\u002Fsearch","2.components\u002Fsearch",{"title":255,"path":256,"stem":257},"Select","\u002Fcomponents\u002Fselect","2.components\u002Fselect",{"title":259,"path":260,"stem":261},"Skeleton Bar","\u002Fcomponents\u002Fskeleton-bar","2.components\u002Fskeleton-bar",{"title":263,"path":264,"stem":265},"Slider","\u002Fcomponents\u002Fslider","2.components\u002Fslider",{"title":267,"path":268,"stem":269},"Snackbar","\u002Fcomponents\u002Fsnackbar","2.components\u002Fsnackbar",{"title":271,"path":272,"stem":273},"Status Dot","\u002Fcomponents\u002Fstatus-dot","2.components\u002Fstatus-dot",{"title":275,"path":276,"stem":277},"Switch","\u002Fcomponents\u002Fswitch","2.components\u002Fswitch",{"title":279,"path":280,"stem":281},"Tabs","\u002Fcomponents\u002Ftabs","2.components\u002Ftabs",{"title":283,"path":284,"stem":285},"Text","\u002Fcomponents\u002Ftext","2.components\u002Ftext",{"title":287,"path":288,"stem":289},"Text Editor","\u002Fcomponents\u002Ftext-editor","2.components\u002Ftext-editor",{"title":291,"path":292,"stem":293},"Text Field","\u002Fcomponents\u002Ftext-field","2.components\u002Ftext-field",{"title":295,"path":296,"stem":297},"Textarea","\u002Fcomponents\u002Ftextarea","2.components\u002Ftextarea",{"title":299,"path":300,"stem":301},"Theme Select","\u002Fcomponents\u002Ftheme-select","2.components\u002Ftheme-select",{"title":303,"path":304,"stem":305},"Toast","\u002Fcomponents\u002Ftoast","2.components\u002Ftoast",{"title":307,"path":308,"stem":309},"Tooltip","\u002Fcomponents\u002Ftooltip","2.components\u002Ftooltip",{"title":311,"path":312,"stem":313},"Unit Field","\u002Fcomponents\u002Funit-field","2.components\u002Funit-field",{"title":315,"path":316,"stem":317},"URL Field","\u002Fcomponents\u002Furl-field","2.components\u002Furl-field",{"title":319,"path":320,"stem":321},"User","\u002Fcomponents\u002Fuser","2.components\u002Fuser",{"title":323,"path":324,"stem":325,"children":326,"page":34},"Utilities","\u002Futilities","3.utilities",[327,339,368,376],{"title":53,"path":328,"stem":329,"children":330,"page":34},"\u002Futilities\u002Fcomponents","3.utilities\u002Fcomponents",[331,335],{"title":332,"path":333,"stem":334},"Inset","\u002Futilities\u002Fcomponents\u002Finset","3.utilities\u002Fcomponents\u002Finset",{"title":336,"path":337,"stem":338},"Theme Provider","\u002Futilities\u002Fcomponents\u002Ftheme-provider","3.utilities\u002Fcomponents\u002Ftheme-provider",{"title":340,"path":341,"stem":342,"children":343,"page":34},"Composables","\u002Futilities\u002Fcomposables","3.utilities\u002Fcomposables",[344,348,352,356,360,364],{"title":345,"path":346,"stem":347},"useFutureFlags","\u002Futilities\u002Fcomposables\u002Fuse-future-flags","3.utilities\u002Fcomposables\u002Fuse-future-flags",{"title":349,"path":350,"stem":351},"useMtApp","\u002Futilities\u002Fcomposables\u002Fuse-mt-app","3.utilities\u002Fcomposables\u002Fuse-mt-app",{"title":353,"path":354,"stem":355},"useMtAppRegions","\u002Futilities\u002Fcomposables\u002Fuse-mt-app-regions","3.utilities\u002Fcomposables\u002Fuse-mt-app-regions",{"title":357,"path":358,"stem":359},"useServicePermission","\u002Futilities\u002Fcomposables\u002Fuse-service-permission","3.utilities\u002Fcomposables\u002Fuse-service-permission",{"title":361,"path":362,"stem":363},"useSnackbar","\u002Futilities\u002Fcomposables\u002Fuse-snackbar","3.utilities\u002Fcomposables\u002Fuse-snackbar",{"title":365,"path":366,"stem":367},"useTheme","\u002Futilities\u002Fcomposables\u002Fuse-theme","3.utilities\u002Fcomposables\u002Fuse-theme",{"title":369,"path":370,"stem":371,"children":372,"page":34},"Directives","\u002Futilities\u002Fdirectives","3.utilities\u002Fdirectives",[373],{"title":307,"path":374,"stem":375},"\u002Futilities\u002Fdirectives\u002Ftooltip","3.utilities\u002Fdirectives\u002Ftooltip",{"title":377,"path":378,"stem":379,"children":380,"page":34},"Plugins","\u002Futilities\u002Fplugins","3.utilities\u002Fplugins",[381],{"title":382,"path":383,"stem":384},"Device helper","\u002Futilities\u002Fplugins\u002Fdevice-helper","3.utilities\u002Fplugins\u002Fdevice-helper",{"id":386,"title":357,"body":387,"description":720,"extension":721,"links":722,"meta":723,"navigation":439,"path":358,"seo":724,"stem":359,"__hash__":725},"docs\u002F3.utilities\u002Fcomposables\u002Fuse-service-permission.md",{"type":388,"value":389,"toc":715},"minimark",[390,395,402,531,535,541,673,677,711],[391,392,394],"h2",{"id":393},"usage","Usage",[396,397,398,401],"p",{},[399,400,357],"code",{}," resolves whether the current extension is a Shopware Service and whether the required Shopware Services consent has been granted. Use it when building a custom permission UI.",[403,404,409],"pre",{"className":405,"code":406,"language":407,"meta":408,"style":408},"language-ts shiki shiki-themes github-light github-dark-default github-dark-default","import { useServicePermission } from \"@shopware-ag\u002Fmeteor-component-library\";\n\nconst {\n  isService,\n  permissionGranted,\n  isShowPermissionUI,\n  grant,\n} = useServicePermission();\n\nif (isShowPermissionUI.value) {\n  await grant();\n}\n","ts","",[399,410,411,434,441,450,460,468,476,484,500,505,514,525],{"__ignoreMap":408},[412,413,416,420,424,427,431],"span",{"class":414,"line":415},"line",1,[412,417,419],{"class":418},"sLfaJ","import",[412,421,423],{"class":422},"sSgjj"," { useServicePermission } ",[412,425,426],{"class":418},"from",[412,428,430],{"class":429},"sL1yV"," \"@shopware-ag\u002Fmeteor-component-library\"",[412,432,433],{"class":422},";\n",[412,435,437],{"class":414,"line":436},2,[412,438,440],{"emptyLinePlaceholder":439},true,"\n",[412,442,444,447],{"class":414,"line":443},3,[412,445,446],{"class":418},"const",[412,448,449],{"class":422}," {\n",[412,451,453,457],{"class":414,"line":452},4,[412,454,456],{"class":455},"sfxXV","  isService",[412,458,459],{"class":422},",\n",[412,461,463,466],{"class":414,"line":462},5,[412,464,465],{"class":455},"  permissionGranted",[412,467,459],{"class":422},[412,469,471,474],{"class":414,"line":470},6,[412,472,473],{"class":455},"  isShowPermissionUI",[412,475,459],{"class":422},[412,477,479,482],{"class":414,"line":478},7,[412,480,481],{"class":455},"  grant",[412,483,459],{"class":422},[412,485,487,490,493,497],{"class":414,"line":486},8,[412,488,489],{"class":422},"} ",[412,491,492],{"class":418},"=",[412,494,496],{"class":495},"s71ug"," useServicePermission",[412,498,499],{"class":422},"();\n",[412,501,503],{"class":414,"line":502},9,[412,504,440],{"emptyLinePlaceholder":439},[412,506,508,511],{"class":414,"line":507},10,[412,509,510],{"class":418},"if",[412,512,513],{"class":422}," (isShowPermissionUI.value) {\n",[412,515,517,520,523],{"class":414,"line":516},11,[412,518,519],{"class":418},"  await",[412,521,522],{"class":495}," grant",[412,524,499],{"class":422},[412,526,528],{"class":414,"line":527},12,[412,529,530],{"class":422},"}\n",[391,532,534],{"id":533},"api","API",[396,536,537,540],{},[399,538,539],{},"useServicePermission()"," returns:",[542,543,544,560],"table",{},[545,546,547],"thead",{},[548,549,550,554,557],"tr",{},[551,552,553],"th",{},"Member",[551,555,556],{},"Type",[551,558,559],{},"Description",[561,562,563,583,598,612,626,643,658],"tbody",{},[548,564,565,571,576],{},[566,567,568],"td",{},[399,569,570],{},"isLegacySWVersion",[566,572,573],{},[399,574,575],{},"Ref\u003Cboolean | null>",[566,577,578,579,582],{},"Whether the Administration predates the native service-permission API. ",[399,580,581],{},"null"," means the version could not be resolved.",[548,584,585,590,595],{},[566,586,587],{},[399,588,589],{},"isLegacySWVersionEvaluating",[566,591,592],{},[399,593,594],{},"Ref\u003Cboolean>",[566,596,597],{},"Whether the Administration version check is still running.",[548,599,600,605,609],{},[566,601,602],{},[399,603,604],{},"isGranting",[566,606,607],{},[399,608,594],{},[566,610,611],{},"Whether a native permission request is currently running.",[548,613,614,619,623],{},[566,615,616],{},[399,617,618],{},"isService",[566,620,621],{},[399,622,594],{},[566,624,625],{},"Whether the current extension is running as a Shopware Service.",[548,627,628,633,637],{},[566,629,630],{},[399,631,632],{},"permissionGranted",[566,634,635],{},[399,636,575],{},[566,638,639,640,642],{},"Whether Shopware Services consent is granted. ",[399,641,581],{}," means the state could not be resolved.",[548,644,645,650,655],{},[566,646,647],{},[399,648,649],{},"isShowPermissionUI",[566,651,652],{},[399,653,654],{},"ComputedRef\u003Cboolean>",[566,656,657],{},"Whether permission UI should be shown.",[548,659,660,665,670],{},[566,661,662],{},[399,663,664],{},"grant",[566,666,667],{},[399,668,669],{},"() => Promise\u003Cvoid>",[566,671,672],{},"Requests Shopware Services consent or opens the Services settings page on legacy Administrations. Rejects when the grant flow fails.",[391,674,676],{"id":675},"behavior","Behavior",[678,679,680,684,695,700],"ul",{},[681,682,683],"li",{},"On Shopware 6.7.14.0 and later, consent is resolved and requested through the native service-permission API.",[681,685,686,687,690,691,694],{},"On older Administrations, ",[399,688,689],{},"system_config:read"," is used as the legacy signal for Shopware Services consent, and ",[399,692,693],{},"grant()"," opens the Services settings page.",[681,696,697,699],{},[399,698,693],{}," rejects after logging an error, so callers can show their own error state or emit an error event.",[681,701,702,703,706,707,710],{},"The permission UI should only be rendered when ",[399,704,705],{},"isShowPermissionUI.value"," is ",[399,708,709],{},"true",".",[712,713,714],"style",{},"html pre.shiki code .sLfaJ, html code.shiki .sLfaJ{--shiki-light:#D73A49;--shiki-default:#FF7B72;--shiki-dark:#FF7B72}html pre.shiki code .sSgjj, html code.shiki .sSgjj{--shiki-light:#24292E;--shiki-default:#E6EDF3;--shiki-dark:#E6EDF3}html pre.shiki code .sL1yV, html code.shiki .sL1yV{--shiki-light:#032F62;--shiki-default:#A5D6FF;--shiki-dark:#A5D6FF}html pre.shiki code .sfxXV, html code.shiki .sfxXV{--shiki-light:#005CC5;--shiki-default:#79C0FF;--shiki-dark:#79C0FF}html pre.shiki code .s71ug, html code.shiki .s71ug{--shiki-light:#6F42C1;--shiki-default:#D2A8FF;--shiki-dark:#D2A8FF}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);}",{"title":408,"searchDepth":436,"depth":436,"links":716},[717,718,719],{"id":393,"depth":436,"text":394},{"id":533,"depth":436,"text":534},{"id":675,"depth":436,"text":676},"Manages Shopware Services consent and permission state for service extensions.","md",null,{},{"title":357,"description":720},"MpoMx93PwZ2OKxe82LFPVbBw5PeJm22dMQq7lipNuzQ",[727,729],{"title":353,"path":354,"stem":355,"description":728,"children":-1},"A composable that hides the header or sidebars of the surrounding App shell while a view is shown.",{"title":361,"path":362,"stem":363,"description":730,"children":-1},"A composable for publishing snackbar notifications from anywhere in your app.",1790684624498]