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