[{"data":1,"prerenderedAt":1366},["ShallowReactive",2],{"navigation_docs":3,"-documentation-getting-started-contributing":361,"-documentation-getting-started-contributing-surround":380,"contributing-guide":385},[4,110,306],{"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],{"title":115,"path":116,"stem":117},"Action Menu","\u002Fcomponents\u002Faction-menu","2.components\u002Faction-menu",{"title":119,"path":120,"stem":121},"Avatar","\u002Fcomponents\u002Favatar","2.components\u002Favatar",{"title":123,"path":124,"stem":125},"Badge","\u002Fcomponents\u002Fbadge","2.components\u002Fbadge",{"title":127,"path":128,"stem":129},"Banner","\u002Fcomponents\u002Fbanner","2.components\u002Fbanner",{"title":131,"path":132,"stem":133},"Breadcrumb","\u002Fcomponents\u002Fbreadcrumb","2.components\u002Fbreadcrumb",{"title":135,"path":136,"stem":137},"Button","\u002Fcomponents\u002Fbutton","2.components\u002Fbutton",{"title":139,"path":140,"stem":141},"Card","\u002Fcomponents\u002Fcard","2.components\u002Fcard",{"title":143,"path":144,"stem":145},"Chart","\u002Fcomponents\u002Fchart","2.components\u002Fchart",{"title":147,"path":148,"stem":149},"Checkbox","\u002Fcomponents\u002Fcheckbox","2.components\u002Fcheckbox",{"title":151,"path":152,"stem":153},"Collapsible","\u002Fcomponents\u002Fcollapsible","2.components\u002Fcollapsible",{"title":155,"path":156,"stem":157},"Colorpicker","\u002Fcomponents\u002Fcolorpicker","2.components\u002Fcolorpicker",{"title":159,"path":160,"stem":161},"Data Table","\u002Fcomponents\u002Fdata-table","2.components\u002Fdata-table",{"title":163,"path":164,"stem":165},"Datepicker","\u002Fcomponents\u002Fdatepicker","2.components\u002Fdatepicker",{"title":167,"path":168,"stem":169},"Divider","\u002Fcomponents\u002Fdivider","2.components\u002Fdivider",{"title":171,"path":172,"stem":173},"Email Field","\u002Fcomponents\u002Femail-field","2.components\u002Femail-field",{"title":175,"path":176,"stem":177},"Empty State","\u002Fcomponents\u002Fempty-state","2.components\u002Fempty-state",{"title":179,"path":180,"stem":181},"Entity Data Table","\u002Fcomponents\u002Fentity-data-table","2.components\u002Fentity-data-table",{"title":183,"path":184,"stem":185},"Entity Select","\u002Fcomponents\u002Fentity-select","2.components\u002Fentity-select",{"title":187,"path":188,"stem":189},"Floating UI","\u002Fcomponents\u002Ffloating-ui","2.components\u002Ffloating-ui",{"title":191,"path":192,"stem":193},"Help Text","\u002Fcomponents\u002Fhelp-text","2.components\u002Fhelp-text",{"title":195,"path":196,"stem":197},"Icon","\u002Fcomponents\u002Ficon","2.components\u002Ficon",{"title":199,"path":200,"stem":201},"Link","\u002Fcomponents\u002Flink","2.components\u002Flink",{"title":203,"path":204,"stem":205},"Loader","\u002Fcomponents\u002Floader","2.components\u002Floader",{"title":207,"path":208,"stem":209},"Modal","\u002Fcomponents\u002Fmodal","2.components\u002Fmodal",{"title":211,"path":212,"stem":213},"Number Field","\u002Fcomponents\u002Fnumber-field","2.components\u002Fnumber-field",{"title":215,"path":216,"stem":217},"Pagination","\u002Fcomponents\u002Fpagination","2.components\u002Fpagination",{"title":219,"path":220,"stem":221},"Password Field","\u002Fcomponents\u002Fpassword-field","2.components\u002Fpassword-field",{"title":223,"path":224,"stem":225},"Popover","\u002Fcomponents\u002Fpopover","2.components\u002Fpopover",{"title":227,"path":228,"stem":229},"Progress Bar","\u002Fcomponents\u002Fprogress-bar","2.components\u002Fprogress-bar",{"title":231,"path":232,"stem":233},"Promo Badge","\u002Fcomponents\u002Fpromo-badge","2.components\u002Fpromo-badge",{"title":235,"path":236,"stem":237},"Radio Group","\u002Fcomponents\u002Fradio-group","2.components\u002Fradio-group",{"title":239,"path":240,"stem":241},"Search","\u002Fcomponents\u002Fsearch","2.components\u002Fsearch",{"title":243,"path":244,"stem":245},"Select","\u002Fcomponents\u002Fselect","2.components\u002Fselect",{"title":247,"path":248,"stem":249},"Skeleton Bar","\u002Fcomponents\u002Fskeleton-bar","2.components\u002Fskeleton-bar",{"title":251,"path":252,"stem":253},"Slider","\u002Fcomponents\u002Fslider","2.components\u002Fslider",{"title":255,"path":256,"stem":257},"Snackbar","\u002Fcomponents\u002Fsnackbar","2.components\u002Fsnackbar",{"title":259,"path":260,"stem":261},"Status Dot","\u002Fcomponents\u002Fstatus-dot","2.components\u002Fstatus-dot",{"title":263,"path":264,"stem":265},"Switch","\u002Fcomponents\u002Fswitch","2.components\u002Fswitch",{"title":267,"path":268,"stem":269},"Tabs","\u002Fcomponents\u002Ftabs","2.components\u002Ftabs",{"title":271,"path":272,"stem":273},"Text","\u002Fcomponents\u002Ftext","2.components\u002Ftext",{"title":275,"path":276,"stem":277},"Text Editor","\u002Fcomponents\u002Ftext-editor","2.components\u002Ftext-editor",{"title":279,"path":280,"stem":281},"Text Field","\u002Fcomponents\u002Ftext-field","2.components\u002Ftext-field",{"title":283,"path":284,"stem":285},"Textarea","\u002Fcomponents\u002Ftextarea","2.components\u002Ftextarea",{"title":287,"path":288,"stem":289},"Theme Select","\u002Fcomponents\u002Ftheme-select","2.components\u002Ftheme-select",{"title":291,"path":292,"stem":293},"Toast","\u002Fcomponents\u002Ftoast","2.components\u002Ftoast",{"title":295,"path":296,"stem":297},"Tooltip","\u002Fcomponents\u002Ftooltip","2.components\u002Ftooltip",{"title":299,"path":300,"stem":301},"Unit Field","\u002Fcomponents\u002Funit-field","2.components\u002Funit-field",{"title":303,"path":304,"stem":305},"URL Field","\u002Fcomponents\u002Furl-field","2.components\u002Furl-field",{"title":307,"path":308,"stem":309,"children":310,"page":34},"Utilities","\u002Futilities","3.utilities",[311,323,344,352],{"title":53,"path":312,"stem":313,"children":314,"page":34},"\u002Futilities\u002Fcomponents","3.utilities\u002Fcomponents",[315,319],{"title":316,"path":317,"stem":318},"Inset","\u002Futilities\u002Fcomponents\u002Finset","3.utilities\u002Fcomponents\u002Finset",{"title":320,"path":321,"stem":322},"Theme Provider","\u002Futilities\u002Fcomponents\u002Ftheme-provider","3.utilities\u002Fcomponents\u002Ftheme-provider",{"title":324,"path":325,"stem":326,"children":327,"page":34},"Composables","\u002Futilities\u002Fcomposables","3.utilities\u002Fcomposables",[328,332,336,340],{"title":329,"path":330,"stem":331},"useFutureFlags","\u002Futilities\u002Fcomposables\u002Fuse-future-flags","3.utilities\u002Fcomposables\u002Fuse-future-flags",{"title":333,"path":334,"stem":335},"useServicePermission","\u002Futilities\u002Fcomposables\u002Fuse-service-permission","3.utilities\u002Fcomposables\u002Fuse-service-permission",{"title":337,"path":338,"stem":339},"useSnackbar","\u002Futilities\u002Fcomposables\u002Fuse-snackbar","3.utilities\u002Fcomposables\u002Fuse-snackbar",{"title":341,"path":342,"stem":343},"useTheme","\u002Futilities\u002Fcomposables\u002Fuse-theme","3.utilities\u002Fcomposables\u002Fuse-theme",{"title":345,"path":346,"stem":347,"children":348,"page":34},"Directives","\u002Futilities\u002Fdirectives","3.utilities\u002Fdirectives",[349],{"title":295,"path":350,"stem":351},"\u002Futilities\u002Fdirectives\u002Ftooltip","3.utilities\u002Fdirectives\u002Ftooltip",{"title":353,"path":354,"stem":355,"children":356,"page":34},"Plugins","\u002Futilities\u002Fplugins","3.utilities\u002Fplugins",[357],{"title":358,"path":359,"stem":360},"Device helper","\u002Futilities\u002Fplugins\u002Fdevice-helper","3.utilities\u002Fplugins\u002Fdevice-helper",{"id":362,"title":27,"body":363,"description":373,"extension":374,"links":375,"meta":376,"navigation":377,"path":28,"seo":378,"stem":29,"__hash__":379},"docs\u002F1.documentation\u002F1.getting-started\u002F4.contributing.md",{"type":364,"value":365,"toc":369},"minimark",[366],[367,368],"contributing-guide",{},{"title":370,"searchDepth":371,"depth":371,"links":372},"",2,[],"How to contribute to Meteor, including local development, pull requests, changesets, and releases.","md",null,{},true,{"title":27,"description":373},"IBILHFv1c5FisggBF6y9d6Lghd3ZKZ5h3tCM7WwCo1g",[381,383],{"title":23,"path":24,"stem":25,"description":382,"children":-1},"Guidance for transitioning from older sw- components to Meteor, including a component mapping and gradual migration steps.",{"title":31,"path":32,"stem":33,"description":384,"children":-1},"Release notes for Meteor's documented packages, organized by package and listed newest first.",{"data":386,"body":387,"toc":1349},{"title":370,"description":370},{"type":388,"children":389},"root",[390,399,405,410,426,440,446,460,466,480,494,500,513,526,532,539,544,585,621,642,648,670,675,681,813,818,824,836,907,957,970,996,1030,1036,1041,1059,1072,1077,1107,1112,1125,1130,1179,1184,1190,1195,1228,1242,1248,1253,1258,1263,1269,1343],{"type":391,"tag":392,"props":393,"children":395},"element","h2",{"id":394},"get-involved",[396],{"type":397,"value":398},"text","Get involved",{"type":391,"tag":400,"props":401,"children":402},"p",{},[403],{"type":397,"value":404},"Thank you for taking an interest in making Meteor a better project!",{"type":391,"tag":400,"props":406,"children":407},{},[408],{"type":397,"value":409},"To contribute code (features or bug fixes) open up a pull request.\nIn case you want to make a larger change to the code base, open up\nan issue first before writing any code. That way you don't lose your\nvaluable time in case we might reject the pull request.",{"type":391,"tag":400,"props":411,"children":412},{},[413,415,424],{"type":397,"value":414},"Shopware is available under ",{"type":391,"tag":416,"props":417,"children":421},"a",{"href":418,"rel":419},"https:\u002F\u002Fgithub.com\u002Fshopware\u002Fmeteor\u002Fblob\u002Fmain\u002FLICENSE.md",[420],"nofollow",[422],{"type":397,"value":423},"MIT license",{"type":397,"value":425},".\nContribute your code under MIT license.",{"type":391,"tag":400,"props":427,"children":428},{},[429,431,438],{"type":397,"value":430},"If you've never contributed to an open source project you might\nfind the ",{"type":391,"tag":416,"props":432,"children":435},{"href":433,"rel":434},"https:\u002F\u002Fopensource.guide\u002Fhow-to-contribute\u002F",[420],[436],{"type":397,"value":437},"this guide",{"type":397,"value":439}," helpful.",{"type":391,"tag":392,"props":441,"children":443},{"id":442},"code-of-conduct",[444],{"type":397,"value":445},"Code of conduct",{"type":391,"tag":400,"props":447,"children":448},{},[449,451,458],{"type":397,"value":450},"To understand which action we tolerate we expect you to read\nour ",{"type":391,"tag":416,"props":452,"children":455},{"href":453,"rel":454},"https:\u002F\u002Fgithub.com\u002Fshopware\u002Fmeteor\u002Fblob\u002Fmain\u002FCODE_OF_CONDUCT.md",[420],[456],{"type":397,"value":457},"code of conduct",{"type":397,"value":459},".",{"type":391,"tag":392,"props":461,"children":463},{"id":462},"bugs",[464],{"type":397,"value":465},"Bugs",{"type":391,"tag":400,"props":467,"children":468},{},[469,471,478],{"type":397,"value":470},"Please take a look at the ",{"type":391,"tag":416,"props":472,"children":475},{"href":473,"rel":474},"https:\u002F\u002Fgithub.com\u002Fshopware\u002Fmeteor\u002Fissues",[420],[476],{"type":397,"value":477},"existing issues",{"type":397,"value":479},"\nbefore creating a new one. That way we keep the number of duplicate issues low.\nComplete the issue template as much as possible when creating a new issue.",{"type":391,"tag":400,"props":481,"children":482},{},[483,485,492],{"type":397,"value":484},"To get your bug fixed faster, add a link to a\n",{"type":391,"tag":416,"props":486,"children":489},{"href":487,"rel":488},"https:\u002F\u002Fstackblitz.com\u002Fedit\u002Fmeteor?file=src%2FApp.vue",[420],[490],{"type":397,"value":491},"project with the bug",{"type":397,"value":493},"\nfor us to reproduce in the issue's description.",{"type":391,"tag":392,"props":495,"children":497},{"id":496},"feature-requests",[498],{"type":397,"value":499},"Feature requests",{"type":391,"tag":400,"props":501,"children":502},{},[503,505,511],{"type":397,"value":504},"Search through the ",{"type":391,"tag":416,"props":506,"children":508},{"href":473,"rel":507},[420],[509],{"type":397,"value":510},"list of existing feature requests",{"type":397,"value":512},",\nbefore you create an issue. If somebody already requested your feature you\ncan up-vote that issue. This helps us to see what the community wants the most.",{"type":391,"tag":400,"props":514,"children":515},{},[516,518,525],{"type":397,"value":517},"If there does not already exist a feature request for your idea,\nyou can ",{"type":391,"tag":416,"props":519,"children":522},{"href":520,"rel":521},"https:\u002F\u002Fgithub.com\u002Fshopware\u002Fmeteor\u002Fissues\u002Fnew?template=03-feature.yaml",[420],[523],{"type":397,"value":524},"request a feature",{"type":397,"value":459},{"type":391,"tag":392,"props":527,"children":529},{"id":528},"local-development",[530],{"type":397,"value":531},"Local development",{"type":391,"tag":533,"props":534,"children":536},"h3",{"id":535},"running-storybook-and-the-documentation",[537],{"type":397,"value":538},"Running Storybook and the documentation",{"type":391,"tag":400,"props":540,"children":541},{},[542],{"type":397,"value":543},"To work on the components themselves, start Storybook and the documentation site together from the repository root:",{"type":391,"tag":545,"props":546,"children":550},"pre",{"className":547,"code":548,"language":549,"meta":370,"style":370},"language-sh shiki shiki-themes github-light github-dark-default github-dark-default","pnpm install\npnpm dev\n","sh",[551],{"type":391,"tag":552,"props":553,"children":554},"code",{"__ignoreMap":370},[555,573],{"type":391,"tag":556,"props":557,"children":560},"span",{"class":558,"line":559},"line",1,[561,567],{"type":391,"tag":556,"props":562,"children":564},{"style":563},"--shiki-light:#6F42C1;--shiki-default:#FFA657;--shiki-dark:#FFA657",[565],{"type":397,"value":566},"pnpm",{"type":391,"tag":556,"props":568,"children":570},{"style":569},"--shiki-light:#032F62;--shiki-default:#A5D6FF;--shiki-dark:#A5D6FF",[571],{"type":397,"value":572}," install\n",{"type":391,"tag":556,"props":574,"children":575},{"class":558,"line":371},[576,580],{"type":391,"tag":556,"props":577,"children":578},{"style":563},[579],{"type":397,"value":566},{"type":391,"tag":556,"props":581,"children":582},{"style":569},[583],{"type":397,"value":584}," dev\n",{"type":391,"tag":400,"props":586,"children":587},{},[588,590,596,598,604,606,612,614,619],{"type":397,"value":589},"This runs Storybook on ",{"type":391,"tag":552,"props":591,"children":593},{"className":592},[],[594],{"type":397,"value":595},"http:\u002F\u002Flocalhost:6006",{"type":397,"value":597}," and the documentation on ",{"type":391,"tag":552,"props":599,"children":601},{"className":600},[],[602],{"type":397,"value":603},"http:\u002F\u002Flocalhost:3001",{"type":397,"value":605}," in parallel, each opening in your browser. While both run locally, the ",{"type":391,"tag":552,"props":607,"children":609},{"className":608},[],[610],{"type":397,"value":611},"Storybook",{"type":397,"value":613}," link on a component's documentation page and the ",{"type":391,"tag":552,"props":615,"children":617},{"className":616},[],[618],{"type":397,"value":5},{"type":397,"value":620}," link in Storybook point at these local instances instead of the deployed ones, so you can move between them while developing.",{"type":391,"tag":400,"props":622,"children":623},{},[624,626,632,634,640],{"type":397,"value":625},"To start just one of them, run ",{"type":391,"tag":552,"props":627,"children":629},{"className":628},[],[630],{"type":397,"value":631},"pnpm --filter @shopware-ag\u002Fmeteor-component-library dev",{"type":397,"value":633}," for Storybook or ",{"type":391,"tag":552,"props":635,"children":637},{"className":636},[],[638],{"type":397,"value":639},"pnpm --filter meteor-docs dev",{"type":397,"value":641}," for the documentation.",{"type":391,"tag":533,"props":643,"children":645},{"id":644},"testing-your-changes-in-another-project-with-yalc",[646],{"type":397,"value":647},"Testing your changes in another project with yalc",{"type":391,"tag":400,"props":649,"children":650},{},[651,653,659,661,668],{"type":397,"value":652},"For local development we use ",{"type":391,"tag":552,"props":654,"children":656},{"className":655},[],[657],{"type":397,"value":658},"yalc",{"type":397,"value":660}," to publish packages into a virtual store and consume them from other projects.\nYou can find yalc ",{"type":391,"tag":416,"props":662,"children":665},{"href":663,"rel":664},"https:\u002F\u002Fgithub.com\u002Fwclr\u002Fyalc",[420],[666],{"type":397,"value":667},"here",{"type":397,"value":669}," on GitHub.\nTo use your changes in Shopware and your extensions, you first build and publish the changed package, then add it to your project in a second step.",{"type":391,"tag":400,"props":671,"children":672},{},[673],{"type":397,"value":674},"The walkthrough below uses the component library. Swap the package name and paths if you work on a different package.",{"type":391,"tag":533,"props":676,"children":678},{"id":677},"publish-your-changes-to-the-local-yalc-store",[679],{"type":397,"value":680},"Publish your changes to the local yalc store",{"type":391,"tag":682,"props":683,"children":684},"ol",{},[685,691,739],{"type":391,"tag":686,"props":687,"children":688},"li",{},[689],{"type":397,"value":690},"Make your changes in the desired package(s).",{"type":391,"tag":686,"props":692,"children":693},{},[694,696,726,730,732,738],{"type":397,"value":695},"Build from the meteor root so the published files include your changes:",{"type":391,"tag":545,"props":697,"children":699},{"className":547,"code":698,"language":549,"meta":370,"style":370},"npx turbo run build\n",[700],{"type":391,"tag":552,"props":701,"children":702},{"__ignoreMap":370},[703],{"type":391,"tag":556,"props":704,"children":705},{"class":558,"line":559},[706,711,716,721],{"type":391,"tag":556,"props":707,"children":708},{"style":563},[709],{"type":397,"value":710},"npx",{"type":391,"tag":556,"props":712,"children":713},{"style":569},[714],{"type":397,"value":715}," turbo",{"type":391,"tag":556,"props":717,"children":718},{"style":569},[719],{"type":397,"value":720}," run",{"type":391,"tag":556,"props":722,"children":723},{"style":569},[724],{"type":397,"value":725}," build\n",{"type":391,"tag":727,"props":728,"children":729},"br",{},[],{"type":397,"value":731},"To rebuild only one package, scope the task: ",{"type":391,"tag":552,"props":733,"children":735},{"className":734},[],[736],{"type":397,"value":737},"npx turbo run build --filter=@shopware-ag\u002Fmeteor-component-library",{"type":397,"value":459},{"type":391,"tag":686,"props":740,"children":741},{},[742,744,750,752,800,803,805,811],{"type":397,"value":743},"Publish from the package root, here ",{"type":391,"tag":552,"props":745,"children":747},{"className":746},[],[748],{"type":397,"value":749},"packages\u002Fcomponent-library",{"type":397,"value":751},":",{"type":391,"tag":545,"props":753,"children":755},{"className":547,"code":754,"language":549,"meta":370,"style":370},"cd packages\u002Fcomponent-library\nyalc publish --private --workspace --pure\n",[756],{"type":391,"tag":552,"props":757,"children":758},{"__ignoreMap":370},[759,773],{"type":391,"tag":556,"props":760,"children":761},{"class":558,"line":559},[762,768],{"type":391,"tag":556,"props":763,"children":765},{"style":764},"--shiki-light:#005CC5;--shiki-default:#79C0FF;--shiki-dark:#79C0FF",[766],{"type":397,"value":767},"cd",{"type":391,"tag":556,"props":769,"children":770},{"style":569},[771],{"type":397,"value":772}," packages\u002Fcomponent-library\n",{"type":391,"tag":556,"props":774,"children":775},{"class":558,"line":371},[776,780,785,790,795],{"type":391,"tag":556,"props":777,"children":778},{"style":563},[779],{"type":397,"value":658},{"type":391,"tag":556,"props":781,"children":782},{"style":569},[783],{"type":397,"value":784}," publish",{"type":391,"tag":556,"props":786,"children":787},{"style":764},[788],{"type":397,"value":789}," --private",{"type":391,"tag":556,"props":791,"children":792},{"style":764},[793],{"type":397,"value":794}," --workspace",{"type":391,"tag":556,"props":796,"children":797},{"style":764},[798],{"type":397,"value":799}," --pure\n",{"type":391,"tag":727,"props":801,"children":802},{},[],{"type":397,"value":804},"This copies the built package into the local yalc store, with its ",{"type":391,"tag":552,"props":806,"children":808},{"className":807},[],[809],{"type":397,"value":810},"workspace:",{"type":397,"value":812}," dependencies resolved to concrete versions so they install outside the monorepo.",{"type":391,"tag":400,"props":814,"children":815},{},[816],{"type":397,"value":817},"Repeat the build and publish steps whenever you change the source again.",{"type":391,"tag":533,"props":819,"children":821},{"id":820},"add-your-updated-package-to-shopware-and-your-extensions",[822],{"type":397,"value":823},"Add your updated package to Shopware and your extensions",{"type":391,"tag":400,"props":825,"children":826},{},[827,829,835],{"type":397,"value":828},"Switch to the project that should consume your changes. For the Shopware administration this is ",{"type":391,"tag":552,"props":830,"children":832},{"className":831},[],[833],{"type":397,"value":834},"\u003Cshopware-root-folder>\u002Fsrc\u002FAdministration\u002FResources\u002Fapp\u002Fadministration",{"type":397,"value":751},{"type":391,"tag":545,"props":837,"children":839},{"className":547,"code":838,"language":549,"meta":370,"style":370},"cd \u003Cshopware-root-folder>\u002Fsrc\u002FAdministration\u002FResources\u002Fapp\u002Fadministration\nyalc add @shopware-ag\u002Fmeteor-component-library\nnpm install\n",[840],{"type":391,"tag":552,"props":841,"children":842},{"__ignoreMap":370},[843,877,894],{"type":391,"tag":556,"props":844,"children":845},{"class":558,"line":559},[846,850,856,861,867,872],{"type":391,"tag":556,"props":847,"children":848},{"style":764},[849],{"type":397,"value":767},{"type":391,"tag":556,"props":851,"children":853},{"style":852},"--shiki-light:#D73A49;--shiki-default:#FF7B72;--shiki-dark:#FF7B72",[854],{"type":397,"value":855}," \u003C",{"type":391,"tag":556,"props":857,"children":858},{"style":569},[859],{"type":397,"value":860},"shopware-root-folde",{"type":391,"tag":556,"props":862,"children":864},{"style":863},"--shiki-light:#24292E;--shiki-default:#E6EDF3;--shiki-dark:#E6EDF3",[865],{"type":397,"value":866},"r",{"type":391,"tag":556,"props":868,"children":869},{"style":852},[870],{"type":397,"value":871},">",{"type":391,"tag":556,"props":873,"children":874},{"style":569},[875],{"type":397,"value":876},"\u002Fsrc\u002FAdministration\u002FResources\u002Fapp\u002Fadministration\n",{"type":391,"tag":556,"props":878,"children":879},{"class":558,"line":371},[880,884,889],{"type":391,"tag":556,"props":881,"children":882},{"style":563},[883],{"type":397,"value":658},{"type":391,"tag":556,"props":885,"children":886},{"style":569},[887],{"type":397,"value":888}," add",{"type":391,"tag":556,"props":890,"children":891},{"style":569},[892],{"type":397,"value":893}," @shopware-ag\u002Fmeteor-component-library\n",{"type":391,"tag":556,"props":895,"children":897},{"class":558,"line":896},3,[898,903],{"type":391,"tag":556,"props":899,"children":900},{"style":563},[901],{"type":397,"value":902},"npm",{"type":391,"tag":556,"props":904,"children":905},{"style":569},[906],{"type":397,"value":572},{"type":391,"tag":400,"props":908,"children":909},{},[910,916,918,924,926,932,934,940,942,948,950,955],{"type":391,"tag":552,"props":911,"children":913},{"className":912},[],[914],{"type":397,"value":915},"yalc add",{"type":397,"value":917}," copies the published files into a local ",{"type":391,"tag":552,"props":919,"children":921},{"className":920},[],[922],{"type":397,"value":923},".yalc",{"type":397,"value":925}," folder and points the project's ",{"type":391,"tag":552,"props":927,"children":929},{"className":928},[],[930],{"type":397,"value":931},"package.json",{"type":397,"value":933}," at them; ",{"type":391,"tag":552,"props":935,"children":937},{"className":936},[],[938],{"type":397,"value":939},"npm install",{"type":397,"value":941}," then wires them into ",{"type":391,"tag":552,"props":943,"children":945},{"className":944},[],[946],{"type":397,"value":947},"node_modules",{"type":397,"value":949},".\nBe careful not to commit the ",{"type":391,"tag":552,"props":951,"children":953},{"className":952},[],[954],{"type":397,"value":931},{"type":397,"value":956}," changes.",{"type":391,"tag":400,"props":958,"children":959},{},[960,962,968],{"type":397,"value":961},"To pick up later changes, republish from the package and run ",{"type":391,"tag":552,"props":963,"children":965},{"className":964},[],[966],{"type":397,"value":967},"yalc update",{"type":397,"value":969}," in the consuming project.",{"type":391,"tag":400,"props":971,"children":972},{},[973,975,981,983,988,990,995],{"type":397,"value":974},"Alternatively, run ",{"type":391,"tag":552,"props":976,"children":978},{"className":977},[],[979],{"type":397,"value":980},"yalc link @shopware-ag\u002Fmeteor-component-library",{"type":397,"value":982}," to symlink the files into ",{"type":391,"tag":552,"props":984,"children":986},{"className":985},[],[987],{"type":397,"value":947},{"type":397,"value":989}," without touching ",{"type":391,"tag":552,"props":991,"children":993},{"className":992},[],[994],{"type":397,"value":931},{"type":397,"value":459},{"type":391,"tag":400,"props":997,"children":998},{},[999,1005,1007,1013,1015,1021,1023,1028],{"type":391,"tag":1000,"props":1001,"children":1002},"strong",{},[1003],{"type":397,"value":1004},"Caution",{"type":397,"value":1006},": ",{"type":391,"tag":552,"props":1008,"children":1010},{"className":1009},[],[1011],{"type":397,"value":1012},"yalc link",{"type":397,"value":1014}," creates symlinks with absolute paths. If you run a containerized setup, it will fail to resolve (see: ",{"type":391,"tag":416,"props":1016,"children":1019},{"href":1017,"rel":1018},"https:\u002F\u002Fgithub.com\u002Fwclr\u002Fyalc\u002Fissues\u002F123",[420],[1020],{"type":397,"value":1017},{"type":397,"value":1022},").\nIn that case use ",{"type":391,"tag":552,"props":1024,"children":1026},{"className":1025},[],[1027],{"type":397,"value":915},{"type":397,"value":1029}," as shown above.",{"type":391,"tag":392,"props":1031,"children":1033},{"id":1032},"creating-a-pull-request",[1034],{"type":397,"value":1035},"Creating a pull request",{"type":391,"tag":400,"props":1037,"children":1038},{},[1039],{"type":397,"value":1040},"The first step is to clone your repo. Then, install the dependencies with:",{"type":391,"tag":545,"props":1042,"children":1044},{"className":547,"code":1043,"language":549,"meta":370,"style":370},"pnpm install\n",[1045],{"type":391,"tag":552,"props":1046,"children":1047},{"__ignoreMap":370},[1048],{"type":391,"tag":556,"props":1049,"children":1050},{"class":558,"line":559},[1051,1055],{"type":391,"tag":556,"props":1052,"children":1053},{"style":563},[1054],{"type":397,"value":566},{"type":391,"tag":556,"props":1056,"children":1057},{"style":569},[1058],{"type":397,"value":572},{"type":391,"tag":400,"props":1060,"children":1061},{},[1062,1064,1070],{"type":397,"value":1063},"In case you have not installed pnpm execute ",{"type":391,"tag":552,"props":1065,"children":1067},{"className":1066},[],[1068],{"type":397,"value":1069},"npm install -g pnpm",{"type":397,"value":1071},".\nIf you want to install pnpm through another way take a look at their documentation.",{"type":391,"tag":400,"props":1073,"children":1074},{},[1075],{"type":397,"value":1076},"To execute scripts defined in the packages.json file of each package you have three options:",{"type":391,"tag":682,"props":1078,"children":1079},{},[1080,1091,1102],{"type":391,"tag":686,"props":1081,"children":1082},{},[1083,1085],{"type":397,"value":1084},"You use turbo: ",{"type":391,"tag":552,"props":1086,"children":1088},{"className":1087},[],[1089],{"type":397,"value":1090},"npx turbo run \u003CTASK_NAME>",{"type":391,"tag":686,"props":1092,"children":1093},{},[1094,1096],{"type":397,"value":1095},"You run the script from the root with ",{"type":391,"tag":552,"props":1097,"children":1099},{"className":1098},[],[1100],{"type":397,"value":1101},"pnpm --filter \u003CPACKAGE_NAME> run \u003CSCRIPT_NAME>",{"type":391,"tag":686,"props":1103,"children":1104},{},[1105],{"type":397,"value":1106},"You cd into the package directory and run the script",{"type":391,"tag":400,"props":1108,"children":1109},{},[1110],{"type":397,"value":1111},"You can find the available turbo tasks in the turbo.json file",{"type":391,"tag":400,"props":1113,"children":1114},{},[1115,1117,1124],{"type":397,"value":1116},"Don't know Turborepo? Check out their ",{"type":391,"tag":416,"props":1118,"children":1121},{"href":1119,"rel":1120},"https:\u002F\u002Fturbo.build\u002Frepo\u002Fdocs",[420],[1122],{"type":397,"value":1123},"documentation",{"type":397,"value":459},{"type":391,"tag":400,"props":1126,"children":1127},{},[1128],{"type":397,"value":1129},"Make sure to follow these steps before you push your branch:",{"type":391,"tag":682,"props":1131,"children":1132},{},[1133,1144,1155,1168],{"type":391,"tag":686,"props":1134,"children":1135},{},[1136,1138],{"type":397,"value":1137},"You linted your code with ",{"type":391,"tag":552,"props":1139,"children":1141},{"className":1140},[],[1142],{"type":397,"value":1143},"pnpm run lint:eslint",{"type":391,"tag":686,"props":1145,"children":1146},{},[1147,1149],{"type":397,"value":1148},"There are no type errors, run ",{"type":391,"tag":552,"props":1150,"children":1152},{"className":1151},[],[1153],{"type":397,"value":1154},"pnpm run lint:types",{"type":391,"tag":686,"props":1156,"children":1157},{},[1158,1160,1166],{"type":397,"value":1159},"Run ",{"type":391,"tag":552,"props":1161,"children":1163},{"className":1162},[],[1164],{"type":397,"value":1165},"pnpm run test:unit",{"type":397,"value":1167}," to see if all tests pass",{"type":391,"tag":686,"props":1169,"children":1170},{},[1171,1173],{"type":397,"value":1172},"You generated a changeset with ",{"type":391,"tag":552,"props":1174,"children":1176},{"className":1175},[],[1177],{"type":397,"value":1178},"npx changeset",{"type":391,"tag":400,"props":1180,"children":1181},{},[1182],{"type":397,"value":1183},"After completing all the tests you can submit your pull request.",{"type":391,"tag":533,"props":1185,"children":1187},{"id":1186},"create-a-changelog",[1188],{"type":397,"value":1189},"Create a changelog",{"type":391,"tag":400,"props":1191,"children":1192},{},[1193],{"type":397,"value":1194},"We create and manage our changelogs with changesets. Follow these steps\nto create a changelog:",{"type":391,"tag":682,"props":1196,"children":1197},{},[1198,1208,1213,1218,1223],{"type":391,"tag":686,"props":1199,"children":1200},{},[1201,1202],{"type":397,"value":1159},{"type":391,"tag":552,"props":1203,"children":1205},{"className":1204},[],[1206],{"type":397,"value":1207},"npx changeset add",{"type":391,"tag":686,"props":1209,"children":1210},{},[1211],{"type":397,"value":1212},"Select the package you updated",{"type":391,"tag":686,"props":1214,"children":1215},{},[1216],{"type":397,"value":1217},"Define your version bump for this package",{"type":391,"tag":686,"props":1219,"children":1220},{},[1221],{"type":397,"value":1222},"Write a meaningful changelog message",{"type":391,"tag":686,"props":1224,"children":1225},{},[1226],{"type":397,"value":1227},"Repeat the step for other packages you want to change",{"type":391,"tag":400,"props":1229,"children":1230},{},[1231,1233,1240],{"type":397,"value":1232},"Feel free to check out the ",{"type":391,"tag":416,"props":1234,"children":1237},{"href":1235,"rel":1236},"https:\u002F\u002Fgithub.com\u002Fchangesets\u002Fchangesets?tab=readme-ov-file#documentation",[420],[1238],{"type":397,"value":1239},"changesets documentation",{"type":397,"value":1241},"\nfor more information on how to work with it.",{"type":391,"tag":392,"props":1243,"children":1245},{"id":1244},"managing-releases",[1246],{"type":397,"value":1247},"Managing releases",{"type":391,"tag":400,"props":1249,"children":1250},{},[1251],{"type":397,"value":1252},"When your pull request gets merged a GitHub Action looks at your changes. If it finds a changeset in there it will copy that changeset over to a release branch.",{"type":391,"tag":400,"props":1254,"children":1255},{},[1256],{"type":397,"value":1257},"If you decide to release a new version, merge the release branch. Changesets will now take over. It updates the changelog files, bumps up the version numbers and it publishes the packages to npm.",{"type":391,"tag":400,"props":1259,"children":1260},{},[1261],{"type":397,"value":1262},"That's it there is nothing more you have to do.",{"type":391,"tag":392,"props":1264,"children":1266},{"id":1265},"updating-the-visual-tests",[1267],{"type":397,"value":1268},"Updating the visual tests",{"type":391,"tag":682,"props":1270,"children":1271},{},[1272,1277,1289,1303,1316,1321,1333,1338],{"type":391,"tag":686,"props":1273,"children":1274},{},[1275],{"type":397,"value":1276},"Copy the name of your branch",{"type":391,"tag":686,"props":1278,"children":1279},{},[1280,1282],{"type":397,"value":1281},"Go to the ",{"type":391,"tag":416,"props":1283,"children":1286},{"href":1284,"rel":1285},"https:\u002F\u002Fgithub.com\u002Fshopware\u002Fmeteor\u002Factions",[420],[1287],{"type":397,"value":1288},"actions tab",{"type":391,"tag":686,"props":1290,"children":1291},{},[1292,1294,1301],{"type":397,"value":1293},"Click on ",{"type":391,"tag":416,"props":1295,"children":1298},{"href":1296,"rel":1297},"https:\u002F\u002Fgithub.com\u002Fshopware\u002Fmeteor\u002Factions\u002Fworkflows\u002Fvisual-tests.yml",[420],[1299],{"type":397,"value":1300},"Visual tests",{"type":397,"value":1302}," in the left sidebar",{"type":391,"tag":686,"props":1304,"children":1305},{},[1306,1308,1314],{"type":397,"value":1307},"You then see a blue bar with a button that says ",{"type":391,"tag":552,"props":1309,"children":1311},{"className":1310},[],[1312],{"type":397,"value":1313},"Run workflow",{"type":397,"value":1315},", click on that",{"type":391,"tag":686,"props":1317,"children":1318},{},[1319],{"type":397,"value":1320},"Select your branch from the dropdown menu",{"type":391,"tag":686,"props":1322,"children":1323},{},[1324,1326,1331],{"type":397,"value":1325},"Click on the ",{"type":391,"tag":552,"props":1327,"children":1329},{"className":1328},[],[1330],{"type":397,"value":1313},{"type":397,"value":1332}," button",{"type":391,"tag":686,"props":1334,"children":1335},{},[1336],{"type":397,"value":1337},"Wait...",{"type":391,"tag":686,"props":1339,"children":1340},{},[1341],{"type":397,"value":1342},"Go back to your branch overview",{"type":391,"tag":1344,"props":1345,"children":1346},"style",{},[1347],{"type":397,"value":1348},"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":370,"searchDepth":371,"depth":371,"links":1350},[1351,1352,1353,1354,1355,1361,1364,1365],{"id":394,"depth":371,"text":398},{"id":442,"depth":371,"text":445},{"id":462,"depth":371,"text":465},{"id":496,"depth":371,"text":499},{"id":528,"depth":371,"text":531,"children":1356},[1357,1358,1359,1360],{"id":535,"depth":896,"text":538},{"id":644,"depth":896,"text":647},{"id":677,"depth":896,"text":680},{"id":820,"depth":896,"text":823},{"id":1032,"depth":371,"text":1035,"children":1362},[1363],{"id":1186,"depth":896,"text":1189},{"id":1244,"depth":371,"text":1247},{"id":1265,"depth":371,"text":1268},1790177982262]